Selaa lähdekoodia

Merge branch 'master' of http://git.zthymaoyi.com/gongdecai/wangluohuoyun-huozhuapp

ccjgmwz 3 vuotta sitten
vanhempi
commit
4ecd444391
4 muutettua tiedostoa jossa 483 lisäystä ja 4 poistoa
  1. 8 1
      pages.json
  2. 466 0
      pages/carSource/driverSee.vue
  3. 6 1
      pages/carSource/index.vue
  4. 3 2
      pages/public/register.vue

+ 8 - 1
pages.json

@@ -119,7 +119,14 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
+		},  {
+			"path": "pages/carSource/driverSee",
+			"style": {
+				"navigationBarTitleText": "司机详情",
+				"enablePullDownRefresh": false
+			}
+
+		},{
 			"path": "pages/order/orderDetails",
 			"style": {
 				"navigationStyle": "custom",

+ 466 - 0
pages/carSource/driverSee.vue

@@ -0,0 +1,466 @@
+<template>
+	<view class="content">
+		<view class="item3 flex align-center flex-space-between">
+			<view class="flex align-center flex-space-between row1">
+				<view class="flex align-center">
+					<u--image :showLoading="true" :src="dataObj.avatarUrl" width="100rpx" height="100rpx" @click=""
+						shape='circle'>
+					</u--image>
+					<view class="name">{{dataObj.driverName}}</view>
+				</view>
+
+				<view class="right flex s-row align-center phone">
+					<view class="bgc flex flex-space-between">
+						<u-icon class="phone" name="phone-fill" color="#2772FB" size="20" @click="toPhone"></u-icon>
+						<view class="hz-name">联系司机</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 	<view class="row2 flex">
+			<view class="flex item">
+				<view class="pf-name">评分</view>
+				<view class="pf-number">4.98</view>
+			</view>
+			<view class="flex item">
+				<view class="pf-name">发运次数</view>
+				<view class="pf-number">4.98</view>
+			</view>
+			<view class="flex item">
+				<view class="pf-name">评价</view>
+				<view class="pf-number">4.98</view>
+			</view>
+		</view> -->
+		<view class="row3 flex">
+			<view :class="index==1?'row3-active':''" @click="clickTap(1)">司机信息</view>
+			<view :class="index==2?'row3-active':''" @click="clickTap(2)">评价</view>
+			<!-- <u-tabs :list="list1" @click="click"></u-tabs> -->
+		</view>
+		<view class="carInfo" v-if="index==1">
+			<view class="flex flex-center row4">
+				<view class="title">
+					<text class="item" :class="tabIndex==1?'item-active':1" @click="clickTab(1)">车辆信息</text>
+					<text class="item" :class="tabIndex==2?'item-active':2" @click="clickTab(2)">发运记录</text>
+				</view>
+			</view>
+		</view>
+		<view v-show="index == 2" class="pl-style">
+			<view class="pf flex-space-between flex">
+				<view class="left flex align-center" style="margin-right: 20rpx;">
+					<view class="pf-number1">
+						4.8
+					</view>
+					<view>
+						<!-- 	<view>
+							<start count="5" v-model="zhpf" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'
+								:readonly='true'>
+							</start>
+						</view> -->
+						<view class="gray fontsize-24">累计发运150次</view>
+					</view>
+				</view>
+				<view class="right">
+					<view>98%</view>
+					<view class="gray fontsize-24">好评率</view>
+				</view>
+			</view>
+			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
+				class="mescroll">
+				<view class="flex flex-space-between">
+					<view :class="btnData == '' ? 'btn-active':'btn'" @click="btnChange('')">全部({{list.length}})</view>
+					<!-- <view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">最新(1)</view> -->
+					<view :class="btnData == 1 ? 'btn-active':'btn'" @click="btnChange(1)">好评({{list3.length}})</view>
+					<view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">差评({{list4.length}})</view>
+				</view>
+				<view class="evaluate_css" v-for="(item,index) in list">
+					<view class="flex">
+						<view class="row1 flex">
+							<u--image :src="item.ownerPortrait?item.ownerPortrait:'../../static/images/mine/tx.png'"
+								width='70rpx' height='70rpx' shape="circle">
+							</u--image>
+							<view class="right">
+								<view class="evaluate_name">{{item.ownerName}}</view>
+								<view class="evaluate_date m-top10">
+									{{item.createDate?item.createDate.split(' ')[0]:''}}
+								</view>
+								<view class="flex m-top10">
+									<view class="branch_css ">{{item.count}}</view>
+									<view class="">
+										<start count="5" v-model="item.count" size="35" activeColor="#ffaa00" :size="18"
+											:allowHalf='true' :readonly='true'>
+										</start>
+									</view>
+								</view>
+								<view class="">
+									{{item.driverContent}}
+								</view>
+								<view>
+									<u--image v-for="(item,index) in item.imgList" :src="item" width='170rpx'
+										height='170rpx' class="img-style">
+									</u--image>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</mescroll-body>
+		</view>
+		<view class="row5">
+			<view class="">
+				<view v-if="tabIndex==1&&index==1" v-for="(items,index) in dataObj.driverCarInfoList" :key="index">
+					<view class="">
+						<view>{{items.carNumber}}</view>
+						<view class="flex align-center">{{items.carType}} | 车长{{items.carLong/1000}}米 | 载重{{items.carApprovedWeight/1000}}吨</view>
+					</view>
+				</view>
+				<view class="carInfo" v-if="tabIndex==2&index==1">
+					<view>
+						累计发运150次,好评率90%
+					</view>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast"></u-toast>
+		<u-picker :show="show" :columns="columns" :closeOnClickOverlay='true' @cancel='cancel' @close='cancel'
+			@confirm='confirmBtn'></u-picker>
+	</view>
+</template>
+
+<script>
+	var that
+	import {
+		mapState
+	} from 'vuex';
+	import start from '../../common/components/uni-rate.vue'
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	export default {
+		mixins: [MescrollMixin], // 使用mixin
+		components: {
+			start
+		},
+		data() {
+			return {
+				btnData: '',
+				tabIndex: 1,
+				index: 1,
+				show: false,
+				objectInfo: {},
+				columns: [
+					['反馈', '举报']
+				],
+				list: [],
+				list1: [{
+					name: '司机',
+				}, {
+					name: '评价',
+				}],
+
+				list3: [],
+				list4: [],
+				dataObj: {},
+				commonId: "",
+			};
+		},
+		onNavigationBarButtonTap(e) {
+			console.log("success")
+			this.show = true
+		},
+		onLoad(options) {
+			this.commonId = options.commonId
+			console.log(this.dataObj)
+			that = this
+			this.getList()
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo', 'firstAuthentication'])
+		},
+		methods: {
+			getList() {
+				that.$request.baseRequest('get', '/driverInfo/getDriver', {
+					commonId: this.commonId
+				}).then(res => {
+					this.dataObj = res.data
+				})
+			},
+			confirmBtn(e) {
+				console.log(e.value)
+				if (e.value == '反馈') {
+					uni.$u.route('/pages/order/fk', {
+						val: JSON.stringify(this.dataObj)
+					});
+				} else {
+					uni.$u.route('/pages/order/jb', {
+						val: JSON.stringify(this.dataObj)
+					});
+				}
+				this.show = false
+			},
+			cancel() {
+				this.show = false
+			},
+			clickTap(index) {
+				this.index = index
+			},
+			clickTab(index) {
+				this.tabIndex = index
+			},
+			btnChange(num) {
+				this.btnData = num
+				this.upCallback({
+					size:10,
+					num:1,
+				})
+			},
+			upCallback(page) {
+				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
+					evaluatoredId: this.dataObj.id,
+					flag: 2,
+					pageSize: page.size,
+					// 1好2差
+					haoType: 1,
+					searchType:1,
+					currentPage: page.num
+				}).then(res => {
+					if (page.num == 1) that.list3 = [];
+					that.list3 = that.list3.concat(res.data.records); //追加新数据
+				})
+				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
+					evaluatoredId: this.dataObj.id,
+					flag: 2,
+					pageSize: page.size,
+					haoType: 2,
+					searchType:1,
+					currentPage: page.num
+				}).then(res => {
+					if (page.num == 1) that.list4 = [];
+					that.list4 = that.list4.concat(res.data.records); //追加新数据
+				})
+				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
+						evaluatoredId: this.dataObj.id,
+						flag: 2,
+						searchType:1,
+						pageSize: page.size,
+						currentPage: page.num
+					}).then(res => {
+						if (page.num == 1) that.list = [];
+						that.list = that.list.concat(res.data.records); //追加新数据
+
+						for (let i = 0; i < that.list.length; i++) {
+							if (that.list[i].ownerUrl) {
+								that.list[i].imgList = that.list[i].ownerUrl.split(',')
+							}
+
+							that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
+								.tranEfficiency) + Number(that.list[i].freightPayment) + Number(that.list[i]
+								.serviceQuality) + Number(that.list[i].comprehensiveSatisfaction)) / 15 * 5
+						}
+						that.mescroll.endBySize(res.data.records.length, res.data.total);
+						uni.hideLoading()
+					})
+					.catch(res => {
+						uni.$u.toast(res.message);
+					});
+				that.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
+						commonId: this.userInfo.id,
+						haoType: ''
+					}).then(res => {
+
+					})
+					.catch(res => {
+						uni.$u.toast(res.message);
+					});
+			},
+			// getList() {
+
+			// 		debugger
+			// 	this.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
+			// 			commonId: this.userInfo.id,
+			// 			haoType:''
+			// 		}).then(res => {
+			// 			if (res.code == 200) {
+			// 					this.dataObj = res.data
+
+			// 			} else {
+			// 				this.$refs.uToast.show({
+			// 					type: 'error',
+			// 					message: res.message,
+			// 				})
+			// 			}
+			// 		})
+			// 		.catch(res => {
+			// 			uni.$u.toast(res.message);
+			// 		});
+			// },
+		},
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		height: 100vh;
+	}
+
+	.item3,
+	.row3 {
+		background: white;
+	}
+
+	.name {
+		font-size: 46rpx;
+		font-weight: 500;
+		margin-left: 20rpx;
+	}
+
+	.row1 {
+		width: 100%;
+		padding: 30rpx;
+	}
+
+	.phone {
+		.bgc {
+			background: #E5F0FE;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			border-radius: 50rpx;
+			padding: 10rpx 20rpx;
+			align-items: center;
+		}
+
+		.hz-name {
+			font-size: 26rpx;
+			color: #2772FB;
+		}
+
+	}
+
+	.row2 {
+		padding: 0 20rpx;
+		background: white;
+
+		.item {
+			margin-right: 20rpx;
+		}
+
+		.pf-name {
+			color: #999999;
+			margin-right: 10rpx;
+		}
+
+		.pf-number {
+			color: #2772FB;
+		}
+	}
+
+	.row3 {
+		justify-content: space-around;
+		padding: 40rpx 0;
+	}
+
+	.row3-active {
+		font-weight: 700;
+		position: relative;
+	}
+
+	.row3-active:before {
+		font-weight: 700;
+		content: '';
+		position: absolute;
+		bottom: -10rpx;
+		width: 40rpx;
+		height: 6rpx;
+		background: #2772FB;
+		left: 0;
+		right: 0;
+		margin: auto;
+	}
+
+	.row4 {
+		.title {
+			background: #EFF1F7;
+			border-radius: 20rpx;
+			margin-top: 20rpx;
+
+			.item {
+				display: inline-block;
+				color: #AFB3BF;
+				border-radius: 20rpx;
+				padding: 4rpx 60rpx;
+			}
+
+			.item-active {
+				background: white;
+				color: #363636;
+			}
+		}
+	}
+
+	.row5 {
+		padding: 20rpx;
+	}
+
+	.evaluate_css {
+		margin-top: 30rpx;
+		display: flex;
+		width: 100%;
+		padding-bottom: 40rpx;
+		border-bottom: 1px solid #E6E6E6;
+
+		.evaluate_name {}
+
+		.branch_css {
+			// margin: 0;
+			margin-right: 20rpx;
+		}
+
+		.evaluate_date {}
+
+		.row1 {
+			.right {
+				display: flex;
+				flex-direction: column;
+				margin-left: 40rpx;
+			}
+		}
+	}
+
+	.btn-active {
+		background-color: #2772FB;
+		color: white;
+		border-radius: 50rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		padding: 10rpx 20rpx;
+	}
+
+	.btn {
+		background: #F8F9FB;
+		color: #363636;
+		border-radius: 50rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		padding: 10rpx 20rpx;
+	}
+
+	.pl-style {
+		padding: 40rpx;
+		background: white;
+	}
+
+	.img-style {
+		display: inline-block;
+		margin-right: 20rpx;
+	}
+
+	.pf-number1 {
+		color: #363636;
+		font-size: 60rpx;
+		margin-right: 30rpx;
+	}
+
+	.pf {
+		margin-bottom: 20rpx;
+	}
+</style>

+ 6 - 1
pages/carSource/index.vue

@@ -88,7 +88,7 @@
 										style="width: 18rpx;height: 20rpx;margin-top:14rpx;"></image>
 								</view>
 							</view>
-							<view class="fleet_invite"  @click="">队长</view>
+							<view class="fleet_invite"  @click="driverLook(item)">队长</view>
 							<!-- <view class="fleet_invite" v-else>{{item.fleetMemberStatus}}</view> -->
 						</view>
 
@@ -203,6 +203,11 @@
 		},
 		onLoad() {},
 		methods: {
+			driverLook(item){
+				this.$u.route("/pages/carSource/driverSee",{
+					commonId:item.commonId
+				})
+			},
 			checking(){
 				this.statusVal = uni.getStorageSync("firstAuthentication").authenticationStatus
 				// if (uni.getStorageSync("firstAuthentication")) {

+ 3 - 2
pages/public/register.vue

@@ -14,7 +14,7 @@
 			</view>
 			<view style='width:100%;border-bottom:1px solid #E8E9ED;position:relative;padding:10px;' class="flex">
 				<view style='width:70%;position:relative;'>
-					<u-input border="none" v-model='verifyCode' class="Regular" placeholder="请输入验证码" type="number" />
+					<u-input border="none" v-model='verifyCode' class="Regular" placeholder="请输入验证码" type="number" maxlength="6"/>
 					<!-- <image v-if='verifyCode' @click='verifyCode=""' class='close1' src='../../static/img/login/guanbi@2x.png'></image> -->
 				</view>
 				<button :class='codestatus&&!sendDisabled?"active":""' @click='getcode'
@@ -259,8 +259,9 @@
 										}).then(res1 => {
 											if (res1.code == 200) {
 												uni.setStorageSync('pcUserInfo', res1.data)
-
+												
 												helper.getListByUserId()
+												uni.$u.route("/pages/mine/index")
 											} else {
 												that.$api.doRequest('post',
 													'/commonUser/api/loginQuickly', {