From ec90cbd7680a6f927cb1cea43f33ab7df6d0864c Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期二, 11 十一月 2025 09:23:22 +0800
Subject: [PATCH] -

---
 src/pages/delivergoods/arrange.vue |  130 ++++++++++++++++++++++++++++++++----------
 1 files changed, 98 insertions(+), 32 deletions(-)

diff --git a/src/pages/delivergoods/arrange.vue b/src/pages/delivergoods/arrange.vue
index e51504a..ee16396 100644
--- a/src/pages/delivergoods/arrange.vue
+++ b/src/pages/delivergoods/arrange.vue
@@ -25,12 +25,18 @@
 							<view class="chuany-width15">
 								{{$util.formatDate(item.deliverTime,'riqi')}}
 							</view>
-							<view :class="item.deliveredstatus == 'Delivered'?'chuany-width67':'chuany-width79'"
-								@click='goDetail(item)'>
-								<u-text size='14' :text="item.remark||item.companyName" lines="1">
+							<view class="chuany-width15">
+								<u-text size='14' :text="carNumber(item.car&&item.car.carNumber)" lines="1">
+									<!-- <u-text size='14' :text="item.remark||item.companyName" lines="1"> -->
 								</u-text>
 							</view>
-							<template v-if="item.deliveredstatus == 'Delivered'">
+							<view :class="item.deliveredstatus !== 'Delivered'?'chuany-width67':'chuany-width79'"
+								@click='goDetail(item)'>
+								<u-text size='14' :text="item.companyName" lines="1">
+									<!-- <u-text size='14' :text="item.remark||item.companyName" lines="1"> -->
+								</u-text>
+							</view>
+							<template v-if="item.deliveredstatus !== 'Delivered'">
 								<view class="chuany-width6 chuany-paddingright-10" @tap.stop='editOrder(item)'>
 									<up-icon name="edit-pen" size='18'></up-icon>
 								</view>
@@ -60,8 +66,8 @@
 					<!-- <up-input v-model="arrangeInfo.deliverTime" readonly border="none"
 						placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃ユ湡"></up-input> -->
 					<up-datetime-picker hasInput @confirm='confirmDate' :show="shougHuoshow" v-model="deliverTime"
-						mode="date" placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃ユ湡" :minDate='Number(new Date(minDate))'
-						@cancel='() => shougHuoshow = false'></up-datetime-picker>
+						disabled disabledColor='#FFF' mode="date" placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃ユ湡"
+						:minDate='Number(new Date(minDate))' @cancel='() => shougHuoshow = false'></up-datetime-picker>
 				</up-form-item>
 				<up-form-item label="鎺掑簭" prop="sort" required :borderBottom='false' ref="item1">
 					<up-input v-model="arrangeInfo.sort" placeholder="璇疯緭鍏ユ帓搴�" border="none" type="number">
@@ -73,12 +79,21 @@
 						placeholder="璇烽�夋嫨鍙告満"></up-input>
 				</up-form-item>
 				<up-form-item label="鏀惰揣鍗曚綅" prop="companyName" labelPosition='top' required :borderBottom='false'
-					ref="item1">
-					<up-input v-model="arrangeInfo.companyName" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" border="none">
+					ref="item1" v-if='show7'>
+					<!-- <tem-selects-fan placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" :data="customerList" :clearable='true'
+						:value="arrangeInfo.companyName" :value-type="valueType" :filterable='true' :searchType='1'
+						@input='selectChange'></tem-selects-fan> -->
+					<!-- <form-select class="form_select" ref="formSelect1" :search="true" :icon="true"
+						:placeholder="optionPlaceholder" :selectedId="optionId" :localdata="optionModel"
+						@change="changeOption" @clear="clearOption"></form-select> -->
+					<tem-select ref="formSelect" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" :selectedId="arrangeInfo.buyerId"
+						:value='arrangeInfo.companyName' :search='true' :localdata="customerList"
+						@change="selectChange"></tem-select>
+					<!-- <up-input v-model="arrangeInfo.companyName" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" border="none">
 						<template #suffix>
 							<up-button @tap="clickAction" text="鐐瑰嚮閫夋嫨" type="primary" size="mini"></up-button>
 						</template>
-					</up-input>
+					</up-input> -->
 				</up-form-item>
 				<up-form-item label="鑱旂郴浜�" prop="lianxiren" :borderBottom='false' ref="item1">
 					<up-input v-model="arrangeInfo.lianxiren" border="none" placeholder="璇疯緭鍏ヨ仈绯讳汉"></up-input>
@@ -111,6 +126,10 @@
 	export default {
 		data() {
 			return {
+				valueType: {
+					label: 'companyName',
+					value: 'keyid'
+				},
 				datePickerShow: false,
 				shougHuoshow: false,
 				workTime: this.$util.formatDate(new Date()),
@@ -132,7 +151,7 @@
 				deliverTime: Number(new Date(this.$util.formatDate(new Date(), null, 1))),
 				arrangeInfo: {
 					deliverTime: this.$util.formatDate(new Date(), null, 1),
-					driverId: '',
+					// driverId: '',
 					buyerId: null,
 					dianhua: '',
 					remark: '',
@@ -140,7 +159,6 @@
 					dizhi: '',
 					companyName: '',
 					driverName: '',
-					deliverTixingId: '',
 					sort: '1'
 				},
 				rules: {
@@ -159,7 +177,7 @@
 					'companyName': {
 						type: 'string',
 						required: true,
-						message: '璇峰~鍐欏叕鍙�',
+						message: '璇烽�夋嫨鎴栧~鍐欓�佽揣鍗曚綅',
 						trigger: ['blur', 'change']
 					},
 					'dianhua': {
@@ -181,7 +199,7 @@
 						trigger: ['blur', 'change']
 					},
 					'sort': {
-						type: 'string',
+						type: 'number',
 						required: true,
 						message: '璇疯緭鍏ユ帓搴�',
 						trigger: ['blur', 'change']
@@ -198,6 +216,9 @@
 				deliverKeyName: ''
 			}
 		},
+		computed: {
+
+		},
 		onShow() {
 			this.init()
 		},
@@ -205,7 +226,7 @@
 			this.$refs.formRef.setRules(this.rules);
 		},
 		onLoad() {
-			this.Getdrivers()
+			this.GetCarList()
 			this.getCustomer()
 			this.GetDriversOfWithin7days()
 		},
@@ -226,6 +247,22 @@
 			uni.stopPullDownRefresh();
 		},
 		methods: {
+			carNumber(str) {
+				if (!str) {
+					return ''
+				}
+				// 妫�鏌ュ瓧绗︿覆鏄惁鍖呭惈鎷彿
+				const leftBracket = str.indexOf('(');
+				const rightBracket = str.lastIndexOf(')');
+
+				// 濡傛灉瀛樺湪宸﹀彸鎷彿涓斾綅缃纭紝鍒欒繑鍥炴嫭鍙峰唴鐨勫唴瀹�
+				if (leftBracket !== -1 && rightBracket !== -1 && leftBracket < rightBracket) {
+					return str.substring(leftBracket + 1, rightBracket);
+				}
+
+				// 鍚﹀垯杩斿洖鍘熷瓧绗︿覆
+				return str;
+			},
 			goDetail(item) {
 				uni.navigateTo({
 					url: `/pages/delivergoods/arrangedetail?KeyId=${item.keyid}`
@@ -248,7 +285,7 @@
 			},
 			confirmDate(val) {
 				console.log(val);
-				this.arrangeInfo.deliverTime = val
+				this.arrangeInfo.deliverTime = this.$util.formatDate(val.value)
 				this.shougHuoshow = false
 			},
 			getCustomer() {
@@ -257,14 +294,18 @@
 						this.customerList = res.data
 						this.customerList.forEach(item => {
 							item.name = item.companyName
+							item.title = item.companyName
+							item.id = item.keyid
 						})
 					}
 				})
 			},
 			selectItem(item) {
 				if (this.selectAc == 'driver') {
-					this.driverName = item.name
-					this.arrangeInfo.driverId = item.keyid
+					// this.arrangeInfo.driverName = item.driverName
+					this.arrangeInfo.driverName = item.carNumber
+					// this.arrangeInfo.driverId = item.keyid
+					this.arrangeInfo.carId = item.keyid
 				} else if (this.selectAc == 'driver7') {
 					this.deliverKeyID = item.keyid
 					this.deliverKeyName = item.name
@@ -278,6 +319,19 @@
 					this.arrangeInfo.companyName = item.companyName
 				}
 				this.selectAc = ''
+			},
+			selectChange(item) {
+				console.log(item, 'hhhhh');
+				if (typeof item == 'object') {
+					this.buyerName = item.name
+					this.arrangeInfo.buyerId = item.keyid
+					this.arrangeInfo.dizhi = item.adder
+					this.arrangeInfo.dianhua = item.companyPhone
+					this.arrangeInfo.lianxiren = item.businessManagers
+					this.arrangeInfo.companyName = item.companyName
+				} else {
+					this.arrangeInfo.companyName = item
+				}
 			},
 			getFirstDayOfMonth() {
 				var currentDate = new Date();
@@ -309,8 +363,9 @@
 			editOrder(item) {
 				this.isEdit = true
 				this.arrangeInfo = {
-					deliverTime: this.$util.formatDate(new Date(), null, 1),
-					driverId: item.driverId,
+					deliverTime: this.$util.formatDate(item.deliverTime),
+					// driverId: item.driverId,
+					carId: item.car.keyid || "",
 					buyerId: item.buyerId,
 					dianhua: item.dianhua,
 					remark: item.remark,
@@ -318,10 +373,12 @@
 					dizhi: item.dizhi,
 					keyid: item.keyid,
 					companyName: item.companyName,
-					sort: item.sort
+					sort: item.sort,
+					driverName: item.car.carNumber || ''
 				}
 				this.show7 = true
-				this.driverName = item.driver && item.driver.name
+				this.driverName = item.car && item.car.carNumber
+				this.deliverTime = Number(new Date(this.$util.formatDate(item.deliverTime)))
 				// let obj = this.customerList.find(ite => {
 				// 	return ite.keyid == item.buyerId
 				// })
@@ -391,12 +448,12 @@
 				this.getList()
 			},
 			confirmSave() {
-				if (!this.arrangeInfo.driverId) {
-					this.$refs.modalArrange.loading = false
-					return this.$util.showToast({
-						title: '璇烽�夋嫨鍙告満锛�'
-					})
-				}
+				// if (!this.arrangeInfo.driverId) {
+				// 	this.$refs.modalArrange.loading = false
+				// 	return this.$util.showToast({
+				// 		title: '璇烽�夋嫨鍙告満锛�'
+				// 	})
+				// }
 				console.log();
 				this.$refs.formRef.validate().then(res => {
 					if (this.isEdit) {
@@ -405,12 +462,14 @@
 								this.isEdit = false
 								this.arrangeInfo = {
 									deliverTime: this.$util.formatDate(new Date(), null, 1),
-									driverId: '',
+									// driverId: '',
 									buyerId: null,
 									dianhua: '',
 									remark: '',
 									lianxiren: '',
 									dizhi: '',
+									companyName: '',
+									driverName: '',
 									sort: '1'
 								}
 								this.show7 = false
@@ -422,6 +481,7 @@
 									title: res.error
 								})
 							}
+							this.deliverTime = Number(new Date(this.$util.formatDate(new Date(), null, 1)))
 							this.isLoading = false
 						})
 						return
@@ -430,7 +490,7 @@
 						if (res.code == 1) {
 							this.arrangeInfo = {
 								deliverTime: this.$util.formatDate(new Date(), null, 1),
-								driverId: '',
+								// driverId: '',
 								buyerId: null,
 								dianhua: '',
 								remark: '',
@@ -449,6 +509,7 @@
 								title: res.error
 							})
 						}
+						this.deliverTime = Number(new Date(this.$util.formatDate(new Date(), null, 1)))
 						this.isLoading = false
 					})
 				}).catch(errors => {
@@ -459,7 +520,7 @@
 			cancelModal() {
 				this.arrangeInfo = {
 					deliverTime: this.$util.formatDate(new Date(), null, 1),
-					driverId: '',
+					// driverId: '',
 					buyerId: null,
 					dianhua: '',
 					remark: '',
@@ -469,14 +530,19 @@
 					driverName: '',
 					sort: '1'
 				}
+				this.deliverTime = Number(new Date(this.$util.formatDate(new Date(), null, 1)))
 				this.show7 = false
 				this.driverName = ''
 				this.buyerName = ''
 			},
-			Getdrivers() {
-				this.$api.Getdrivers().then(res => {
+			GetCarList() {
+				this.$api.GetCarList().then(res => {
 					if (res.code == 1) {
 						this.driverList = res.data
+						this.driverList.forEach(item => {
+							item.driverName = item.name
+							item.name = item.carNumber
+						})
 					}
 				})
 			},

--
Gitblit v1.9.1