ccjgmwz 3 년 전
부모
커밋
712a371531
7개의 변경된 파일171개의 추가작업 그리고 333개의 파일을 삭제
  1. 1 16
      manifest.json
  2. 151 294
      pages/mine/evaluate.vue
  3. 2 2
      pages/order/addEvaluation.vue
  4. 5 5
      pages/order/driverDetail.vue
  5. 1 1
      pages/order/evaluationRecord.vue
  6. 3 3
      pages/order/index.vue
  7. 8 12
      pages/release/editRelease.vue

+ 1 - 16
manifest.json

@@ -109,22 +109,7 @@
                 }
             }
         },
-        "nativePlugins" : {
-            "KJ-Camera" : {
-                "__plugin_info__" : {
-                    "name" : "相机自定义拍照录像,可设置相机分辨率、相机焦距、相机无声录像、相机支持横竖屏 - [试用版,仅用于自定义调试基座]",
-                    "description" : "相机自定义拍照录像,可设置相机分辨率、相机焦距、相机无声录像、相机支持横竖屏、相机切换前后摄像头 QQ群:863776189 可接单 离线包:单价*10  源码:单价*15",
-                    "platforms" : "Android,iOS",
-                    "url" : "https://ext.dcloud.net.cn/plugin?id=3404",
-                    "android_package_name" : "",
-                    "ios_bundle_id" : "",
-                    "isCloud" : true,
-                    "bought" : 0,
-                    "pid" : "3404",
-                    "parameters" : {}
-                }
-            }
-        }
+        "nativePlugins" : {}
     },
     /* 快应用特有相关 */
     "quickapp" : {},

+ 151 - 294
pages/mine/evaluate.vue

@@ -1,55 +1,70 @@
 <template>
-	<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
-		class="mescroll">
-	<view class="page_pingjia4">
-		
-		<view class="kuang">
-			<view class="order-row flex flex-space-between">
-				<view class="flex align-center">
-					<view>张先生</view>
-					<view>匿名评价</view>
+	<view class="content">
+			<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" class="mescroll">
+		<view class="content-list" v-for="(item,index) in list" :key='index'>
+			<view class="top flex flex-space-between">
+				<view class="left flex">
+					<view>
+						{{item.orderNumber}}
+					</view>
+					<u-icon name="arrow-right" color="#ccc" size="18"></u-icon>
 				</view>
-				
-				<view class="flex align-center">
-					<!-- <image :src="objData.driverPortrait" mode="widthFix" class="tx-img"></image> -->
-					<!-- <view>{{objData.driverName}}</view> -->
-					<view>2022-04-21</view>
+				<view class="right gray999">
+					{{item.createDate.split(' ')[0]}}
+				</view>
+			</view>
+			<view class="flex align-center name-row">
+				<view v-if="item.driverAnonymous == 0" class="sj-row hz-name">
+					{{item.orderInfo.cargoOwner}}:
+				</view>
+				<view v-else class="sj-row hz-name">
+					匿名评价:
+				</view>
+				<view class="xx">
+					<start :count="count" v-model="item.count" size="35" activeColor="#ffaa00" :size="18" :allowHalf='true'>
+					</start>
+				</view>
+			</view>
+			<view class="gray999 flex xy-row">
+				<view class='item'>
+					信用:{{item.ownerCredit}}星
+				</view>
+				<view class='item'>
+					运费支付:{{item.freightPayment}}星
+				</view>
+				<view class='item'>
+					综合:{{item.comprehensiveSatisfaction}}星
 				</view>
 			</view>
+			<!-- 
 			<view class="xkuang">
-				<view style="display: flex;" class="flex-space-between" v-for="(item,index) in rate"
-					@click="clickStar(index)">
-					<view class="flex" style="margin: 10rpx 0;">
-						<view class="ziti">{{item.name}}</view>
-						<start :count="item.count" style="" size="35" activeIcon="heart-fill" inactiveIcon="heart"
-							activeColor="#ffaa00" v-model="item.value1" @change="getVal" :size="22">
-						</start>
-					</view>
-
-					<view class="">
-						{{item.level}}
-					</view>
+				<view style="display: flex;" class="flex-space-between" v-for="(item,index) in rate">
+					<view class="ziti">{{item.name}}</view>
+					<start :count="item.count" style="margin-top: 15px; margin-left: 50px;" size="35"
+						activeIcon="heart-fill" inactiveIcon="heart" activeColor="#ffaa00" v-model="item.value1">
+					</start>
 				</view>
+			</view> -->
+			<view class="pl-style">
+				{{item.driverContent}}
 			</view>
-			<view>
-				<!-- <u--textarea style="margin-top: 20px;" background-color="#6d6d6d" v-model="value3"
-					placeholder="评价一下这单发运任务~">
-				</u--textarea> -->
-				<view>是否点击可浪费啊据了解SD卡见风使舵是否点击拉分手的距离看拉圣诞节福利发送到节流防抖拉三级分类库山东假的李开复加空间撒的卢卡斯的房间里快递费</view>
+			<view class="color2979ff flex">
+				<view @click="clickZK">展开</view>
+				<u-icon name="arrow-down" color="#2979ff" size="18" v-if="isOpen"></u-icon>
+				<u-icon name="arrow-up" color="#2979ff" size="18" v-else></u-icon>
+			</view>
+			<view v-if="isOpen" class="img-content">
+				<u--image :showLoading="true" :src="item1" width="80px" height="80px" class="img"
+					v-for="(item1,index) in item.imgList"></u--image>
+				
+			</view>
+			<u-line class="line"></u-line>
+			<view class="gray999">
+				{{item.ownerAnonymous==1?"匿名评价":''}}
 			</view>
-		<!-- 	<u-upload class="uview-upload" :fileList="fileList1" @afterRead="afterRead($event)" @delete="deletePic"
-				name="1" multiple :maxCount="9" style="margin-bottom: 80rpx;"></u-upload> -->
-				<div class="imgShow">
-					<image src='https://cdn.uviewui.com/uview/album/1.jpg' class="img img_item" v-for="(item,index) in 9" :key='index'></image>
-				 </div>
-			<!-- <u-line></u-line> -->
 		</view>
-		<!-- <view class="anniu" v-for="(item,index) in button">
-			<u-button type="warning">{{item.name}}</u-button>
-		</view> -->
-		<u-toast ref="uToast"></u-toast>
-	</view>
 	</mescroll-body>
+	</view>
 </template>
 
 <script>
@@ -58,299 +73,141 @@
 		mapState
 	} from 'vuex';
 	import start from '../../common/components/uni-rate.vue'
-	import uploadImage from '@/components/ossutil/uploadFile.js';
 		import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
 	export default {
-		mixins: [MescrollMixin], // 使用mixin
+			mixins: [MescrollMixin], // 使用mixin
 		components: {
 			start
 		},
-		computed: {
-			...mapState(['hasLogin', 'userInfo', 'firstAuthentication'])
-		},
 		data() {
 			return {
-				imageList :[],
-					objData:{},
-				starIndex: '',
-				checkboxValue1: [],
-				checkboxList1: [{
-					name: '匿名评论',
-					disabled: false
-				}],
-				count: "5",
-				value: '',
-				value3: '',
-				fileList1: [],
-				por: [{
-					title: '"无可挑剔"',
-				}],
-			rate: [{
-					name: "货主信用",
-					count: "5",
-					value1: '5',
-					level: '非常好'
-				},
-				{
-					name: "运费支付",
-					count: "5",
-					value1: '5',
-					level: '非常好'
-				},
-				{
-					name: "综合满意度",
-					count: "5",
-					value1: '5',
-					level: '非常满意'
-				}
-			],
-				button: [{
-					name: '提交'
-				}],
-
-				hidden: [{
-					name: '匿名评论',
-					disabled: false
-				}],
-			}
+				list:[],
+				isOpen: true,
+				count: '5',
+				value: '3',
+				src: 'https://cdn.uviewui.com/uview/album/1.jpg',
+				rate: [{
+						name: "司机信用",
+						count: "5",
+						value1: '5',
+					},
+					{
+						name: "运输效率",
+						count: "5",
+						value1: '3',
+					},
+					{
+						name: "运输安全",
+						count: "5",
+						value1: '5',
+					},
+					{
+						name: "服务质量",
+						count: "5",
+						value1: '2',
+					}, {
+						name: "满意度",
+						count: "5",
+						value1: '1',
+					}
+				],
+			};
 		},
-		onNavigationBarButtonTap() {debugger
-			let _data = {
-				 driverId: this.objData.commonId,
-				 ownerName:this.checkboxValue1?this.objData.cargoOwner:'',
-				 ownerPortrait:this.checkboxValue1?this.userInfo.avatarUrl:'',
-				 orderId:this.objData.id,
-				 orderNumber:this.objData.orderNo,
-				 driverCredit:this.rate[0].value1,
-				 tranEfficiency:this.rate[1].value1,
-				 tranSafety:this.rate[2].value1,
-				 serviceQuality:this.rate[3].value1,
-				 satisfaction:this.rate[4].value1,
-				 ownerContent:this.value3,
-				 ownerUrl:this.imageList.toString(),
-				 ownerAnonymous:this.checkboxValue1.length!=0?1:0
-				 
-			}
-			that.$request.baseRequest('post', '/evaluateInfo/api/addEvaluateInfo', _data).then(res => {
-				if (res.code==200) {
-					this.$refs.uToast.show({
-						type: 'success',
-						message: "评价成功",
-						complete() {
-							uni.navigateTo({
-								url: '/pages/order/index'
-							})
-						}
-					})
-				}else{
-					this.$refs.uToast.show({
-						type: 'error',
-						message: "评价失败",
-					})
-				}
-			})
+		computed: {
+			...mapState(['hasLogin', 'userInfo', 'firstAuthentication'])
 		},
-		onLoad(options) {
+		onLoad() {
 			that = this
-			// this.objData = JSON.parse(options.val)
-			// console.log(this.objData)
-			// that.imageList = []
-			// this.getList()
 		},
 		methods: {
 			upCallback(page) {
 				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-						ownerId: this.userInfo.id,
+						evaluatoredId: this.userInfo.id,
 						flag: 2,
 						pageSize: page.size,
 						currentPage: page.num
 					}).then(res => {
-						debugger
-				// 		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 => {
-						
+						if (page.num == 1) that.list = [];
+						that.list = that.list.concat(res.data.records); //追加新数据
+						for (let i = 0; i < that.list.length; i++) {
+							that.list[i].imgList = that.list[i].driverUrl.split(',')
+							that.list[i].count = (Number(that.list[i].ownerCredit) + Number(that.list[i]
+								.freightPayment) + 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);
 					});
 			},
-			clickStar(index) {
-				console.log(index)
-				this.selectStar = index
-				if (index == 0 || index == 1|| index == 2|| index == 3) {
-					if (this.starIndex == '1') {
-						this.rate[index].level = '极差'
-					} else if (this.starIndex == '2') {
-						this.rate[index].level = '差'
-					} else if (this.starIndex == '3') {
-						this.rate[index].level = '一般'
-					} else if (this.starIndex == '4') {
-						this.rate[index].level = '较好'
-					} else if (this.starIndex == '5') {
-						this.rate[index].level = '非常好'
-					}
-
-				} else {
-					if (this.starIndex == '1') {
-						this.rate[index].level = '极不满意'
-					} else if (this.starIndex == '2') {
-						this.rate[index].level = '不满意'
-					} else if (this.starIndex == '3') {
-						this.rate[index].level = '尚可'
-					} else if (this.starIndex == '4') {
-						this.rate[index].level = '满意'
-					} else if (this.starIndex == '5') {
-						this.rate[index].level = '非常满意'
-					}
-				}
-
-
-
-			},
-			getVal(e) {
-				debugger
-				this.starIndex = e.value
-				console.log(e)
-			},
-			checkboxChange(n) {
-				console.log('change', n);
-			},
-			// 删除图片
-			deletePic(event) {
-				this[`fileList${event.name}`].splice(event.index, 1)
+			clickZK() {
+				this.isOpen = !this.isOpen
 			},
-			// 新增图片
-			async afterRead(event) {
-				// console.log(this[`fileList${event.name}`])
-				// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
-				let lists = [].concat(event.file)
-				let fileListLen = this[`fileList${event.name}`].length
-				lists.map((item) => {
-					this[`fileList${event.name}`].push({
-						...item,
-						status: 'uploading',
-						message: '上传中'
-					})
-				})
-				for (let i = 0; i < lists.length; i++) {
-					const result = await this.uploadFilePromise(lists[i], lists[i].url)
-					// console.log(result)
-					let item = this[`fileList${event.name}`][fileListLen]
-					this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
-						status: 'success',
-						message: '',
-						url: result
-					}))
-					fileListLen++
-				}
-			},
-			uploadFilePromise(file, url) {
-				debugger
-				uploadImage('image', url, 'appData/',
-					result => {
-						debugger
-						// 上传成功回调函数
-						console.log('图片地址', result)
-						that.imageList.push(result)
-						// this.dataDetails.certificateAddressUrl=this.dataDetails.certificateAddressUrl +',' +result
+		},
 
-					}
-				)
-			},
-			// 删除图片
-			deletePic(event) {
-				this[`fileList${event.name}`].splice(event.index, 1)
-			},
-		}
 	}
 </script>
 
 <style lang="scss">
-	.page_pingjia4 {
-		background-color: #ffffff;
+	.ziti {
+		color: #909090;
+		margin-top: 23px;
+	}
+
+	.xkuang {
+		margin-top: 20px;
+		background-color: #FAFAFA;
+		padding-left: 30px;
+	}
+
+	.content-list {
+		margin: 20rpx;
 		padding: 20rpx;
+		background: white;
+		border-radius: 20rpx;
 
-		.anniu {
-			margin-top: 48px;
-			margin-left: 20px;
-		}
+	}
 
-		.niming {
-			margin-top: 20px;
-		}
+	.hz-name {
+		color: #999;
+		margin-right: 10rpx;
+	}
 
-		.ziti {
-			color: #909090;
-			margin-right: 20rpx;
-			width: 160rpx;
-		}
+	.gray999 {
+		color: #999;
+	}
 
-		.xkuang {
-			margin-top: 20px;
-		}
+	.name-row {
+		margin: 20rpx 0;
+	}
 
-		.xx {
-			margin-left: 24%;
-			padding-top: 10px;
-		}
+	.item {
+		margin-right: 20rpx;
+		font-size: 26rpx;
+	}
 
-		.biaoti {
-			width: 80%;
-			margin: 0 auto;
-			text-align: center;
-			margin-top: 20px;
-		}
+	.xy-row {
+		margin-bottom: 40rpx;
+	}
 
-		.kuang {
-			background-color: #ffffff;
-		}
+	.pl-style {
+		margin-bottom: 40rpx;
 	}
 
-	.tx-img {
-		width: 40rpx;
-		margin-right: 20rpx;
+	.color2979ff {
+		color: #2979ff;
 	}
-	// .img-content{
-	// 	// display: flex;
-	// 	// justify-content: center;
+	.img-content{
+		margin-top: 20rpx;
+		.img{
+			display: inline-block;
+			margin-right: 10rpx;
+			border-radius: 20rpx;
+		}
 		
-	// 	// display: inline-block;
-	// 	.img{
-	// 		width: 160rpx;
-	// 		height: 160rpx;
-	// 	}
-	// }
-	.imgShow{
-	 width: 100%;
-	 display: flex;
-	 flex-wrap: wrap;
-	 margin-top: 20rpx;
 	}
-	.img_item{
-	 // height:0px;
-	 height: 85px!important;
-	 width: 30%;
-	 background-color: #f1f1f1;
-	 margin: 2px 1.66%;
-	 border-radius: 10rpx;
+	.line{
+		margin: 20rpx 0!important;
 	}
 </style>

+ 2 - 2
pages/order/addEvaluation.vue

@@ -148,8 +148,8 @@
 						type: 'success',
 						message: "评价成功",
 						complete() {
-							uni.navigateTo({
-								url: '/pages/order/index'
+							uni.navigateBack({
+								delta:1
 							})
 						}
 					})

+ 5 - 5
pages/order/driverDetail.vue

@@ -56,7 +56,7 @@
 								:readonly='true'>
 							</start>
 						</view> -->
-						<view class="gray fontsize-24">累计发运150次</view>
+						<view class="gray fontsize-24">累计发运{{total}}次</view>
 					</view>
 				</view>
 				<view class="right">
@@ -153,7 +153,8 @@
 				}],
 
 				list3:[],
-				list4:[]
+				list4:[],
+				total:0
 			};
 		},
 		onNavigationBarButtonTap(e) {
@@ -161,8 +162,7 @@
 			this.show = true
 		},
 		onLoad(options) {
-			debugger
-			this.dataObj =JSON.parse(options.val) 
+			this.dataObj =JSON.parse(options.driver) 
 			console.log(this.dataObj)
 			that = this
 			// this.getList()
@@ -228,7 +228,7 @@
 						debugger
 						if (page.num == 1) that.list = [];
 						that.list = that.list.concat(res.data.records); //追加新数据
-
+						that.total = res.data.total
 						for (let i = 0; i < that.list.length; i++) {
 							if (that.list[i].ownerUrl) {
 								that.list[i].imgList = that.list[i].ownerUrl.split(',')

+ 1 - 1
pages/order/evaluationRecord.vue

@@ -126,7 +126,7 @@
 		methods: {
 			upCallback(page) {
 				that.$request.baseRequest('get', '/evaluateInfo/selectEvaluateInfo', {
-						ownerId: this.userInfo.id,
+						evaluatorId: this.userInfo.id,
 						flag: 1,
 						pageSize: page.size,
 						currentPage: page.num

+ 3 - 3
pages/order/index.vue

@@ -147,7 +147,8 @@
 						<view class="normal" @click.stop="stop(good)"
 							v-if="good.cargoOwnerStatus=='待还款'||good.cargoOwnerStatus=='已还款'">还款</view>
 
-						<view class="start normal" @click.stop="addevaluation(good)"  v-if="good.cargoOwnerStatus=='已完结'">评价</view>
+						<!-- <view class="start normal" @click.stop="addevaluation(good)"  v-if="good.cargoOwnerStatus=='已完结'">评价</view> -->
+						<view class="start normal" @click.stop="addevaluation(good)" v-if="good.cargoOwnerStatus=='待结算'"  >评价</view>
 					</view>
 				</view>
 			</view>
@@ -372,9 +373,8 @@
 		// },
 		methods: {
 			goTodriverDetail(val){
-				debugger
 				uni.$u.route('/pages/order/driverDetail',{
-					val:JSON.stringify(val)
+					driver:JSON.stringify(val)
 				});
 			},
 			addevaluation(val){

+ 8 - 12
pages/release/editRelease.vue

@@ -1,16 +1,12 @@
 <template>
 	<view class="content">
-		<view class="fixed1"></view>
-		<view class='title flex'>
-			<u-icon class="back" name="arrow-left" color="" size="20" @click="back"></u-icon>
-			<view class="nav-title">发布</view>
-			<view class="search" @click="goToRecord">
-				<u-icon class="" name="order" color="" size="28"></u-icon>
-				<view>
-					记录
-				</view>
-			</view>
-		</view>
+		<u-navbar  title="发布" :placeholder="true"  @leftClick="back()">
+			<!-- view class="u-nav-slot" slot="left">
+				<u-icon name="arrow-left" size="19"></u-icon>
+				<u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
+				<u-icon name="home" size="20"></u-icon>
+			</view> -->
+		</u-navbar>
 		<view class="content1">
 			<view class="row" @click="selectCargoOwner">
 				<view class="left select-sf">{{dataObj.cargoOwner?dataObj.cargoOwner:'选择货主身份'}}</view>
@@ -833,7 +829,7 @@
 
 	.content1 {
 		background: white;
-		margin: var(--status-bar-height) 20rpx 0 20rpx;
+		margin: 20rpx 20rpx 0 20rpx;
 		border-radius: 20rpx;
 		padding: 40rpx;