gjy 2 年之前
父節點
當前提交
b7eeda624e

+ 2 - 2
config/index.js

@@ -1,6 +1,6 @@
 const dev = {
 const dev = {
-	baseUrlNew: 'https://apitest.eliangeyun.com',
-	// baseUrlNew: 'http://192.168.110.9:8099',
+	// baseUrlNew: 'https://apitest.eliangeyun.com',
+	baseUrlNew: 'http://192.168.110.9:8099',
 	// baseUrlNew: 'http://192.168.110.82:8999',
 	// baseUrlNew: 'http://192.168.110.82:8999',
 	// baseUrlNew: 'http://192.168.1.119:8999',
 	// baseUrlNew: 'http://192.168.1.119:8999',
 	h5Appid: 'wxb66b599f7f61b46f',
 	h5Appid: 'wxb66b599f7f61b46f',

+ 19 - 0
pages.json

@@ -121,6 +121,25 @@
 		
 		
 			}
 			}
 		},
 		},
+		{
+			"path": "pages/order/cargoOwnerSee",
+			"style": {
+				"navigationBarTitleText": "货主详情",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "white",
+				"app-plus": {
+					"titleNView": {
+						"buttons": [{
+							"text": "\ue7c3",
+							"fontSrc": "/static/addfleet/iconfont.ttf",
+							"fontSize": "22"
+							 // "redDot": "true"
+						}]
+					}
+				}
+		
+			}
+		},
 		{
 		{
 			"path": "pages/riders/myTeam",
 			"path": "pages/riders/myTeam",
 			"style": {
 			"style": {

+ 1 - 1
pages/goodSource/cargoOwnerSee.vue

@@ -9,7 +9,7 @@
 					width='170rpx' height='170rpx' shape="circle">
 					width='170rpx' height='170rpx' shape="circle">
 				</u--image>
 				</u--image>
 				<view class="name">{{objectInfo.cargoOwnerName}}</view>
 				<view class="name">{{objectInfo.cargoOwnerName}}</view>
-				<image src="../../static/qy@2x.png" mode="widthFix" class="title_css" v-show="objectInfo.cargoOwner">
+				<image src="../../static/qy@2x.png" mode="widthFix" class="title_css" v-show="objectInfo.cargoOwner=='企业货主'">
 				</image>
 				</image>
 				<view class="feedback_css"></view>
 				<view class="feedback_css"></view>
 			</view>
 			</view>

+ 1 - 1
pages/goodSource/selectCity.vue

@@ -56,7 +56,7 @@
 				<view class="container" v-if="(type==0?fstatus:sstatus)==0">
 				<view class="container" v-if="(type==0?fstatus:sstatus)==0">
 					<view class="content-item" :class="index ==(type==0?isfprovince:issprovince) ?'active':''"
 					<view class="content-item" :class="index ==(type==0?isfprovince:issprovince) ?'active':''"
 						@click="selectProvince(item, index,(type==0?fstatus:sstatus))"
 						@click="selectProvince(item, index,(type==0?fstatus:sstatus))"
-						v-for="(item,index) in (type==0?fprovincelist:sprovincelist)" :key="index">
+						v-for="(item,index) in (type==0?fprovincelist:sprovincelist)" v-show='type==1||type==0&&item.label!="全国"' :key="index">
 						{{item.label}}
 						{{item.label}}
 					</view>
 					</view>
 				</view>
 				</view>

+ 7 - 0
pages/mine/manageVehicles/addVehicle.vue

@@ -1027,6 +1027,13 @@
 					})
 					})
 					return true
 					return true
 				}
 				}
+				if (!uni.$u.test.rangeLength(this.dataDetails.operationCertificateNumber,[0,12])) {
+					this.$refs.uToast.show({
+						type: 'error',
+						message: "道路运输证号输入错误!",
+					})
+					return true
+				}
 				if (uni.$u.test.isEmpty(this.dataDetails.operationCertificateValidityDate)) {
 				if (uni.$u.test.isEmpty(this.dataDetails.operationCertificateValidityDate)) {
 					this.$refs.uToast.show({
 					this.$refs.uToast.show({
 						type: 'error',
 						type: 'error',

+ 423 - 0
pages/order/cargoOwnerSee.vue

@@ -0,0 +1,423 @@
+<template>
+	<view class="center">
+		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
+			class="mescroll">
+		<view class="center_top">
+			<view class="flex">
+				<u--image
+					:src="objectInfo.cargoOwnerPortrait?objectInfo.cargoOwnerPortrait:'../../static/images/mine/tx.png'"
+					width='170rpx' height='170rpx' shape="circle">
+				</u--image>
+				<view class="name">{{objectInfo.cargoOwnerName}}</view>
+				<image src="../../static/qy@2x.png" mode="widthFix" class="title_css" v-show="objectInfo.cargoOwner=='企业货主'">
+				</image>
+				<view class="feedback_css"></view>
+			</view>
+		</view>
+		<view class="pf-row flex">
+			<view class="flex">
+				<view class="text">评分</view>
+				<view class="number">{{dataObj.zong}}</view>
+			</view>
+			<view class="flex">
+				<view class="text">发运次数</view>
+				<view class="number">{{dataObj.countFa}}</view>
+			</view>
+			<!-- <view class="flex">
+				<view class="text">好评率</view>
+				<view class="number">{{dataObj.haoPingLv}}</view>
+			</view> -->
+			<view class="flex">
+				<view class="text">评价</view>
+				<view class="number">{{totalPL}}</view>
+			</view>
+		</view>
+
+		<u-line></u-line>
+		<view class="flex">
+			<view class="switchbtn" @click="switchsubmit(1)" :class="indexBtn == 1 ? 'switchbtn1':''">货主信息</view>
+			<view class="switchbtn" @click="switchsubmit(2)" :class="indexBtn == 2 ? 'switchbtn1':''">评价</view>
+		</view>
+		<!-- 货主信息 -->
+		<view v-if="indexBtn == 1" class="enterprise">
+			<view>
+				<view class="enterprise_title" v-if="companyList.length>0">所属企业:</view>
+				<view class="enterprise_title" v-else>个人货主,暂未代理企业</view>
+				<view v-for='item in companyList'>
+					{{item.company?item.company:item.companyName}}
+				</view>
+			<!-- 	<view class="enterprise_name" v-if="companyList.length>0">{{objectInfo.cargoOwner}}</view> -->
+			</view>
+		</view>
+		<!-- 评价信息 -->
+		<view v-if="indexBtn == 2" class="pl-style">
+			<view class="pf flex-space-between flex">
+				<view class="left flex align-center" style="margin-right: 20rpx;">
+					<view class="pf-number">
+						{{dataObj.zong}}
+					</view>
+					<view>
+						<view>
+							<start count="5" v-model="dataObj.zong" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'
+								:readonly='true'>
+							</start>
+						</view>
+						<view class="gray fontsize-24">累计发运{{dataObj.countFa}}次</view>
+					</view>
+				</view>
+				<view v-if='dataObj.haoPing>20' class="right">
+					<view>{{dataObj.haoPingLv}}%</view>
+					<view class="gray fontsize-24">好评率</view>
+				</view>
+			</view>
+				<view class="flex flex-space-between">
+					<view :class="btnData == '' ? 'btn-active':'btn'" @click="btnChange('')">全部({{totalPL}})</view>
+					<!-- <view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">最新</view> -->
+					<view :class="btnData == 1 ? 'btn-active':'btn'" @click="btnChange(1)">好评({{dataObj.haoPing}})</view>
+					<view :class="btnData == 2 ? 'btn-active':'btn'" @click="btnChange(2)">差评({{dataObj.chaPing}})</view>
+				</view>
+				<view class="evaluate_css" v-for="(item,index) in list">
+					<view class="flex">
+						<view class="row1 flex">
+							<u--image
+								:src="objectInfo.cargoOwnerPortrait?objectInfo.cargoOwnerPortrait:'../../static/images/mine/tx.png'"
+								width='70rpx' height='70rpx' shape="circle">
+							</u--image>
+							<view class="right">
+								<view class="evaluate_name">{{item.driverName}}</view>
+								<view class="evaluate_date m-top10">{{objectInfo.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 style='flex-wrap: wrap;' class='flex'>
+									<u--image style='margin:7rpx;border:1px solid #ccc;' v-for="(item,index) in item.imgList" :src="item" width='170rpx'
+										height='170rpx'>
+									</u--image>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+		</view>
+		<u-picker :show="show" :columns="columns" :closeOnClickOverlay='true' @close='selectTypeClose'
+			@cancel='selectTypeClose' @confirm='confirmBtn'></u-picker>
+		<u-toast ref="uToast"></u-toast>
+		
+		</mescroll-body>
+	</view>
+</template>
+
+<script>
+	var that
+	import start from '../../common/components/uni-rate.vue'
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	import {
+		mapState
+	} from 'vuex';
+	export default {
+		mixins: [MescrollMixin], // 使用mixin
+		components: {
+			start
+		},
+		data() {
+			return {
+				zhpf: '5',
+				list: [],
+				dataObj: {},
+				show: false,
+				columns: [
+					['投诉', '举报']
+				],
+				id: "",
+				objectInfo: {},
+				haoType:'',
+				companyList:[],
+				commonId:'',
+				indexBtn: 1,
+				btnData: '',
+				totalPL:'0'
+			}
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo', 'firstAuthentication'])
+		},
+		onShow() {
+
+		},
+		onLoad(options) {
+			that = this
+			this.commonId=options.cargoCommonId
+			this.objectInfo = options
+			console.log(options)
+
+			this.getList()
+		},
+		onNavigationBarButtonTap(e) {
+			console.log("success")
+			this.show = true
+		},
+		methods: {
+			selectTypeClose() {
+				this.show = false
+			},
+			upCallback(page) {
+				console.log(this.commonId,11111111)
+				this.$request.baseRequest('get', '/cargoOwnerCompInfo/cargoOwnerList', {
+						commonId: this.commonId
+					}).then(res => {
+						console.log(res)
+						// 可用企业货主
+						this.companyList = []
+						// 自己法人
+						// let _self = res.data.companyInfoList
+						let _self = res.data.hyCompanyInfoList
+						//代理货主
+						// let _dlhz = res.data.cargoOwnerCompInfoList
+						let _dlhz = res.data.hyCargoOwnerCompInfoList
+						if (!_dlhz) _dlhz = []
+						if (!_self) _self = []
+						if (_self.length > 0) {
+							for (let i = 0; i < _self.length; i++) {
+								if (_self[i].status == '已认证') {
+									this.companyList.push(_self[i])
+								}
+							}
+						}
+						if (_dlhz.length > 0) {
+							for (let i = 0; i < _dlhz.length; i++) {
+								if (_dlhz[i].status == '已认证') {
+									this.companyList.push(_dlhz[i])
+								}
+							}
+						}
+						console.log(this.companyList)
+						this.$forceUpdate()
+					})
+					.catch(res => {});
+				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
+						evaluatoredId: this.objectInfo.cargoCommonId,
+						flag: 2,
+						haoType:this.haoType,
+						searchType:2,
+						pageSize: page.size,
+						currentPage: page.num
+					}).then(res => {
+						if (page.num == 1) that.list = [];
+						that.list = that.list.concat(res.data.records); //追加新数据
+						if(this.haoType==''){
+							that.totalPL = res.data.total
+						}
+						for (let i = 0; i < that.list.length; i++) {
+							if (that.list[i].driverUrl) {
+								that.list[i].imgList = that.list[i].driverUrl.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);
+					});
+			},
+			getList() {
+				this.$request.baseRequest('get', '/orderInfo/selectHaoPing', {
+						commonId: this.objectInfo.cargoCommonId,
+						evaluateFlag: 2
+					}).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);
+					});
+			},
+			switchsubmit(num) {
+				this.indexBtn = num
+				this.getList()
+			},
+			confirmBtn(e) {
+				console.log(e.value)
+				if (e.value == '投诉') {
+					uni.$u.route('/pages/goodSource/fk', {
+						val: JSON.stringify(this.objectInfo)
+					});
+				} else {
+					uni.$u.route('/pages/goodSource/jb', {
+						val: JSON.stringify(this.objectInfo)
+					});
+				}
+				this.show = false
+			},
+			btnChange(num) {
+				this.haoType=num
+				this.btnData = num
+				this.getList()
+				this.upCallback({size:10,num:1})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.center {
+		padding: 40rpx;
+	}
+
+	.center_top {
+		.name {
+			margin: 40rpx;
+			font-size: 48rpx;
+			font-weight: 600;
+		}
+
+		.title_css {
+			width: 50rpx;
+			height: 50rpx;
+			border-radius: 10rpx;
+			text-align: center;
+			line-height: 50rpx;
+			margin-top: 44rpx;
+		}
+
+		.feedback_css {
+			margin-top: 44rpx;
+			margin-left: 50px;
+		}
+	}
+
+	.switchbtn {
+		margin-right: 40rpx;
+		margin-top: 20rpx;
+		font-weight: 600;
+	}
+
+	.switchbtn1 {
+		color: #2772FB;
+		position: relative;
+	}
+
+	.switchbtn1:before {
+		width: 20px;
+		height: 3px;
+		content: '';
+		position: absolute;
+		bottom: -7px;
+		background: #2772FB;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
+	}
+
+	.enterprise {
+		margin-top: 30rpx;
+
+		.enterprise_title {
+			font-weight: 700;
+			margin-top: 80rpx;
+		}
+
+		.enterprise_name {
+			margin-top: 10rpx;
+		}
+
+		.recordInfo {
+			margin-top: 20rpx;
+			font-weight: 600;
+		}
+	}
+
+	.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;
+			}
+		}
+	}
+
+	.pf-row {
+		margin: 20rpx 0;
+
+		.text {
+			color: #999;
+			margin-right: 20rpx;
+		}
+
+		.number {
+			color: #2772FB;
+		}
+
+		.flex {
+			margin-right: 20rpx;
+		}
+	}
+
+	.pl-style {
+		margin-top: 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;
+	}
+
+	.pf-number {
+		color: #363636;
+		font-size: 60rpx;
+		margin-right: 30rpx;
+	}
+
+	.pf {
+		margin-bottom: 20rpx;
+	}
+</style>

+ 1 - 1
pages/order/index.vue

@@ -33,7 +33,6 @@
 						</view>
 						</view>
 					</view>
 					</view>
 				</u-transition>
 				</u-transition>
-				<view class="modal-black" v-show="showMenu" @click="closeMenu"></view>
 			</view>
 			</view>
 
 
 			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
 			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
@@ -212,6 +211,7 @@
 			           
 			           
 			</u-popup>
 			</u-popup>
 		<u-toast ref="uToast"></u-toast>
 		<u-toast ref="uToast"></u-toast>
+		<view class="modal-black" v-show="showMenu" @click="closeMenu"></view>
 	</view>
 	</view>
 </template>
 </template>
 
 

+ 6 - 1
pages/order/orderDetails.vue

@@ -31,7 +31,7 @@
 				<u-button class="btn" text="完结" @click="closed" v-if="dataObj.orderStatus=='结算中'"></u-button>
 				<u-button class="btn" text="完结" @click="closed" v-if="dataObj.orderStatus=='结算中'"></u-button>
 			</view>
 			</view>
 			<view class="item3 flex flex-space-between align-center">
 			<view class="item3 flex flex-space-between align-center">
-				<view class="left flex align-center">
+				<view @click.stop="cargoOwner(dataObj)" class="left flex align-center">
 					<u--image :showLoading="true" :src="dataObj.cargoOwnerPortrait" width="44px" height="44px" @click="" shape='circle'>
 					<u--image :showLoading="true" :src="dataObj.cargoOwnerPortrait" width="44px" height="44px" @click="" shape='circle'>
 					</u--image>
 					</u--image>
 					<view class="name">{{dataObj.cargoOwner}}</view>
 					<view class="name">{{dataObj.cargoOwner}}</view>
@@ -307,6 +307,11 @@
 				this.show = false
 				this.show = false
 			          // console.log('close');
 			          // console.log('close');
 			},
 			},
+			cargoOwner(_obj){
+				// uni.$u.route('/pages/order/evaluateList');
+				// console.log("查看---------------",_obj)
+				uni.$u.route('/pages/order/cargoOwnerSee',_obj)
+			},
 			moneyclose(){
 			moneyclose(){
 				this.moneyShow=false
 				this.moneyShow=false
 			},
 			},