Sfoglia il codice sorgente

商户端审车代办

baijunde 1 anno fa
parent
commit
413949ccad

+ 2 - 2
common/service/config.service.js

@@ -2,9 +2,9 @@ let BASE_URL = ''
 
 
 if (process.env.NODE_ENV == 'development') {
-	// BASE_URL = 'https://test.baoxianzhanggui.com/locallive-java' // 测试环境
+	BASE_URL = 'https://test.baoxianzhanggui.com/locallive-java' // 测试环境
 	// BASE_URL = 'http://192.168.0.36:8080/jeecg-boot' // 开发环境
-    BASE_URL = 'http://192.168.0.52:8081/jeecg-boot' // 开发环境
+    // BASE_URL = 'http://192.168.0.52:8081/jeecg-boot' // 开发环境
 
 } else {
 	BASE_URL = 'https://test.baoxianzhanggui.com/locallive-java' // 测试环境

+ 0 - 1
manifest.json

@@ -40,7 +40,6 @@
                     "<uses-permission android:name=\"android.permission.INTERNET\"/>",
                     "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
                     "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
                     "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                     "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",

+ 1 - 0
pages/financial/balancePonts.vue

@@ -462,6 +462,7 @@ export default {
         height: var(--status-bar-height);
         background: linear-gradient(87deg, #E2F4F8 0%, #A3CDFF 100%), linear-gradient(to bottom, #FFFFFF, #FFFFFF);
     }
+		/*#endif*/
 }
 
 .list {

+ 1 - 1
pages/login/login.vue

@@ -333,7 +333,7 @@ page {
 	.zai-header {
 		width: 100%;
 		height: 432upx;
-		background-image: url(../../static/login/bejing.png);
+		background-image: url(../../static/login/beijing.png);
 		background-size: cover;
 	}
 

+ 2 - 0
pages/order/components/evaluate.vue

@@ -135,6 +135,7 @@
 			.tag{
 				padding-bottom: 42rpx;
 				border-bottom: 1px solid #EEEEEE;
+				display: flex;
 				.item_tag{
 					width: 140rpx;
 					height: 52rpx;
@@ -144,6 +145,7 @@
 					align-items: center;
 					justify-content: center;
 					font-size: 26rpx;
+					margin-right: 37rpx;
 				}
 				.active{
 					background: rgba(68,154,255,0.1);

+ 72 - 15
pages/order/index.vue

@@ -26,12 +26,18 @@
 				</view>
 			</view>
 
-			<view class="select">
+			<view class="select" v-if="tabIndex == 0">
 				<view class="type" :class="currentIndex == index?'active':''" v-for="(item,index) in typeList" :key="index"
 					@click="selectType(item,index)">
 					{{item.name}}
 				</view>
 			</view>
+			<view class="select" v-if="tabIndex == 1">
+				<view class="type" :class="currentIndex == index?'active':''" v-for="(item,index) in statusList" :key="index"
+					@click="selectSeiviceType(item,index)">
+					{{item.name}}
+				</view>
+			</view>
 		</view>
 		<mescroll-uni class="list" :fixed="false" ref="mescrollRef" @up="getList" @init="mescrollInit" :use="false"
 			v-show="tabIndex ==0">
@@ -87,7 +93,7 @@
 				</view>
 				<view class="name">
 					{{item.productName}}
-					<span @click.stop="goGetCar(item)">取车地点</span>
+					<span @click.stop="goGetCar(item)" v-if="item.checkType == 0">取车地点</span>
 				</view>
 				<view class="time">
 					<span>{{item.date}}</span>
@@ -103,7 +109,7 @@
 					<view class="btn border">
 						联系客户
 					</view>
-					<view class="btn join" @click.stop="receive(item)" v-if="item.statusCode ==2">
+					<view class="btn join" @click.stop="receive(item)" v-if="item.statusCode ==2" style="margin-left: 16rpx;">
 						接单
 					</view>
 					<!-- 送车到站按钮区域开始item.checkType==1 -->
@@ -117,7 +123,8 @@
 						<view class="btn join" @click.stop="takeCar(item)" v-if="item.statusCode ==5 && item.flowStatus =='12'">
 							确认取车
 						</view>
-						<view class="btn join" @click.stop="evaluate(item)" v-if="item.statusCode ==5 && item.flowStatus =='17'">
+						<view class="btn join" @click.stop="evaluate(item)"
+							v-if="(item.statusCode ==6 || item.statusCode ==5) && item.flowStatus !=='17' ">
 							去评价
 						</view>
 					</view>
@@ -130,7 +137,8 @@
 						<view class="btn join" @click.stop="collect(item)" v-if="item.statusCode ==5 && item.flowStatus == 5">
 							确认取车
 						</view>
-						<view class="btn join" @click.stop="finish(item)" v-if="item.statusCode ==4 && item.flowStatus==7">
+						<view class="btn join" @click.stop="finish(item)"
+							v-if="item.statusCode ==4 && item.flowStatus==7 || item.flowStatus==8">
 							检测完成
 						</view>
 						<view class="btn join" @click.stop="goAlso(item)" v-if="item.statusCode ==3 && item.flowStatus==12">
@@ -139,7 +147,8 @@
 						<view class="btn join" @click.stop="delivered(item)" v-if="item.statusCode ==3&& item.flowStatus==13">
 							车已送达
 						</view>
-						<view class="btn join" @click.stop="evaluate(item)" v-if="item.statusCode ==5 && item.flowStatus =='17'">
+						<view class="btn join" @click.stop="evaluate(item)"
+							v-if="(item.statusCode ==6 || item.statusCode ==5) && item.flowStatus !=='17' ">
 							去评价
 						</view>
 					</view>
@@ -226,6 +235,28 @@
 						name: '售后'
 					}
 				],
+				statusList: [{
+						type: '',
+						name: '全部'
+					},
+					{
+						type: 1,
+						name: '待接单'
+					},
+					{
+						type: 2,
+						name: '服务中'
+					},
+					{
+						type: 3,
+						name: '已完成'
+					},
+					{
+						type: 4,
+						name: '售后'
+					}
+				],
+				ststusCode: '', //审车策划状态
 				orderList: [],
 				state: '',
 				merchantUserInfo: '',
@@ -279,6 +310,7 @@
 			InputBlur(e) {
 				this.search = e.detail.value
 			},
+			//普通订单
 			selectType(item, index) {
 				this.currentIndex = index
 				this.state = item.type
@@ -290,13 +322,25 @@
 				// }
 				// this.getList(page)
 			},
+			//服务订单
+			selectSeiviceType(item, index) {
+				this.currentIndex = index
+				this.statusCode = item.type
+				this.serviceList = []
+				this.mescroll.resetUpScroll();
+			},
 			searchList() {
-				let page = {
-					num: 1,
-					size: 10
+				if (this.tabIndex == 0) {
+					let page = {
+						num: 1,
+						size: 10
+					}
+					this.orderList = []
+					this.getList(page)
+				} else {
+
 				}
-				this.orderList = []
-				this.getList(page)
+
 			},
 			//跳转至订单详情页
 			goRecord(item) {
@@ -345,6 +389,7 @@
 					merchantId: this.merchantId,
 					pageSize: page.size,
 					pageNo: page.num,
+					status: this.statusCode
 				}
 				this.$http.post("/ts/merchant/serviceOrder", data).then(res => {
 						if (res.data.code == 200) {
@@ -369,6 +414,11 @@
 				this.$http.post("/ts/merchant/update/Serve", data).then(res => {
 					if (res.data.code == 200) {
 						this.isReceive = true
+						let page = {
+							num: 1,
+							size: 10
+						}
+						this.getserviceList(page)
 					}
 				})
 			},
@@ -379,13 +429,18 @@
 				this.checkType = item.checkType
 				//0 取车,1送车
 				if (item.checkType == 0) {
+					//收车
 					if (item.statusCode == 5) {
 						this.uptype = 1
+					} else if (item.statusCode == 4) {
+						this.uptype = 3
 					}
 				} else if (item.checkType == 1) {
 					//客户送车,商户收车
 					if (item.statusCode == 3) {
 						this.uptype = 2
+					}else{
+						this.uptype = 3
 					}
 				}
 				this.isUpload = true
@@ -457,6 +512,7 @@
 			},
 			//评价弹窗显示
 			evaluate(item) {
+				console.log(item)
 				this.iseEvaluate = true
 				this.taskId = item.evaluate
 				this.userId = item.userId
@@ -530,7 +586,7 @@
 				})
 			},
 			//去送车修改状态
-			goAlso(item){
+			goAlso(item) {
 				let data = {
 					taskId: item.taskId,
 					checkType: item.checkType,
@@ -548,7 +604,7 @@
 				})
 			},
 			//商户点击车已送达
-			delivered(item){
+			delivered(item) {
 				let data = {
 					taskId: item.taskId,
 					checkType: item.checkType,
@@ -867,11 +923,12 @@
 					display: flex;
 					justify-content: space-between;
 					align-items: center;
-					span{
+
+					span {
 						display: inline-block;
 						width: 152rpx;
 						height: 50rpx;
-						background: rgba(240,118,29,0.05);
+						background: rgba(240, 118, 29, 0.05);
 						border-radius: 35rpx;
 						border: 1px solid #F0761D;
 						font-size: 26rpx;

+ 57 - 29
pages/order/serviceOrder/live.vue

@@ -18,7 +18,7 @@
 					</view>
 				</view>
 			</view>
-		<!-- 备注信息 -->
+			<!-- 备注信息 -->
 			<view class="car_data">
 				<view class="fat">
 					<view class="fat_title">备注信息</view>
@@ -29,12 +29,12 @@
 									<image :src="item.logo" mode=""></image>
 								</view>
 								<view class="name">
-									{{item.merchantName}}<br/>
+									{{item.merchantName}}<br />
 									<span>{{item.createTime}}</span>
 								</view>
 							</view>
 							<view class="play">
-								<image src="/static/play.png" mode=""></image><br/>
+								<image src="/static/play.png" mode="" @click="play(item)"></image><br />
 								12.03
 							</view>
 						</view>
@@ -43,13 +43,15 @@
 						</view>
 					</view>
 				</view>
-				
+
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
+	
+		import configService from '../../../common/service/config.service'
 	export default {
 		data() {
 			return {
@@ -62,6 +64,7 @@
 					content: '额外强制消费',
 					type: 1,
 				}, ],
+				audioContext:null
 			}
 		},
 		methods: {
@@ -77,31 +80,47 @@
 					res => {
 						if (res.data.code == 200) {
 							this.form = res.data.result
-							console.log(this.form)
+							let list = []
 							this.form.forEach(item => {
+								let temp = []
 								item.categoryList.forEach(row => {
-									const idSet = new Set(row.idList);
-
-									// Find the names that match the ids in idList
-									const matchedNames = row.itemList
-										.filter(item => idSet.has(item.id)) // Filter items where the id matches
-										.map(item => item.name) // Extract the name from the matching items
-										.join(','); // Join names with commas
 
-									// Assign the concatenated names to the row
-									row.names = matchedNames;
+									if (row.idList.length > 0) {
+										const idSet = new Set(row.idList);
+										// Find the names that match the ids in idList
+										const matchedNames = row.itemList
+											.filter(item => idSet.has(item.id)) // Filter items where the id matches
+											.map(item => item.name) // Extract the name from the matching items
+											.join(','); // Join names with commas
+										row.names = matchedNames;
+										temp.push(row)
+									}
 								})
+								item.categoryList = temp
+								if(item.categoryList.length> 0){
+									list.push(item)
+								}
 							})
+							this.form = list
+							
 						}
 					})
 			},
+			play(item){
+				
+				this.audioContext = uni.createInnerAudioContext();
+				    // this.audioContext.src = configService.apiUrl + '/'+item.recordUrl.split(',')[0];
+						 this.audioContext.src = 'https://your-domain.com/audio/example.mp3'
+						console.log(this.audioContext)
+						this.audioContext.play();
+			},
 			getHistroyList() {
 				let data = {
 					taskId: this.taskId
 				}
-				this.$http.post('/merchant/localTsCustomerServiceTaskMsg/queryList',data).then((res) => {
-						console.log(res);
-						this.historyList = res.data.result
+				this.$http.post('/merchant/localTsCustomerServiceTaskMsg/queryList', data).then((res) => {
+					console.log(res);
+					this.historyList = res.data.result
 				})
 			},
 		},
@@ -163,7 +182,7 @@
 
 			.car_data {
 				width: 100%;
-				
+
 
 				.fat {
 					background: #FFFFFF;
@@ -192,51 +211,60 @@
 							color: #181818;
 						}
 					}
-					.message{
+
+					.message {
 						border-bottom: 1px solid #eee;
 						padding-bottom: 16rpx;
 						margin-bottom: 16rpx;
-						.top{
+
+						.top {
 							width: 100%;
 							display: flex;
 							align-items: center;
 							justify-content: space-between;
 							margin-bottom: 12rpx;
-							.left{
+
+							.left {
 								display: flex;
 								align-items: center;
-								.img{
+
+								.img {
 									width: 68rpx;
 									height: 68rpx;
 									border-radius: 8rpx;
 									overflow: hidden;
 									margin-right: 12rpx;
-									image{
+
+									image {
 										width: 100%;
 										height: 100%;
 									}
 								}
-								.name{
+
+								.name {
 									font-size: 28rpx;
 									color: #000000;
-									span{
+
+									span {
 										font-size: 24rpx;
 										color: #999999
 									}
 								}
 							}
-						
-							.play{
+
+							.play {
 								font-size: 24rpx;
 								color: #000000;
 								text-align: center;
-								image{
+
+								image {
 									width: 40rpx;
 									height: 40rpx;
 								}
 							}
 						}
-						.content{
+
+						.content {
 							font-size: 26rpx;
 						}
 					}

+ 25 - 2
pages/order/serviceOrder/orderDetail.vue

@@ -91,8 +91,9 @@
 								<view class="button">
 									<u-button size="mini" shape="square" v-if="index+1 == form.flowRecordList.length"
 										@click="goLive">实况记录</u-button>
-									<u-button size="mini" shape="square" v-if="item.content=='商户确认收车'" @click="goPhoto(2)">车辆交接照片</u-button>
-									<u-button size="mini" shape="square" v-if="item.content=='检测完毕,等待用户取车'" @click="goPhoto(3)">服务照片</u-button>
+									<u-button size="mini" shape="square" v-if="item.content=='商户确认收车'" @click="goPhoto(checkType == 0 ? 1 : 2)">车辆交接照片</u-button>
+									<u-button size="mini" shape="square" v-if="checkType== 1 && item.content=='检测完毕,等待用户取车'" @click="goPhoto(3)">服务照片</u-button>
+									<u-button size="mini" shape="square" v-if="checkType== 0 && item.content=='检测完成,准备送车'" @click="goPhoto(3)">服务照片</u-button>
 								</view>
 							</view>
 						</template>
@@ -220,6 +221,27 @@
 					去评价
 				</view>
 			</view>
+			<view class="func" v-if="form.checkType==0">
+				<view class="accept" @click="collect" v-if="form.statusCode ==3">
+					去取车
+				</view>
+				<view class="accept" @click="collect" v-if="form.statusCode ==3">
+					确认取车
+				</view>
+				<view class="accept" @click="collect" v-if="form.statusCode ==3">
+					检测完成
+				</view>
+				<view class="accept" @click.stop="goAlso" v-if="form.statusCode ==3 && form.flowStatus==12">
+					去送车
+				</view>
+				<view class="accept" @click.stop="delivered" v-if="form.statusCode ==3&& form.flowStatus==13">
+					车已送达
+				</view>
+				<view class="accept" @click.stop="evaluat" v-if="(form.statusCode ==6 || form.statusCode ==5) && form.flowStatus !=='17' ">
+					去评价
+				</view>
+				
+			</view>
 			
 		</view>
 		<receive v-if="isSuccess" @cut="refresh" />
@@ -286,6 +308,7 @@
 			},
 			// 查看图片
 			goPhoto(type) {
+				console.log(type)
 				uni.navigateTo({
 					url: '/pages/order/serviceOrder/photo?taskId='+this.taskId+'&businessType='+type
 				})

BIN
static/login/beijing.png