From 2d43a1df3f5ba42710e6d21c27d1e13bdb8dfd56 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 24 三月 2025 09:23:08 +0800
Subject: [PATCH] -

---
 src/pages/delivergoods/arrange.vue |  222 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 159 insertions(+), 63 deletions(-)

diff --git a/src/pages/delivergoods/arrange.vue b/src/pages/delivergoods/arrange.vue
index bf60a5e..017afe0 100644
--- a/src/pages/delivergoods/arrange.vue
+++ b/src/pages/delivergoods/arrange.vue
@@ -17,21 +17,32 @@
 	</up-sticky>
 	<view class="c-p-b-100">
 		<view class="c-p-l-20 c-p-r-20" v-if="orderList&&orderList.length>0">
-			<view class="listrecord c-p-t-20" v-for="(item,index) in orderList" :key="item.keyid" @click='goDetail(item)'>
+			<view class="listrecord c-p-t-20" v-for="(item,index) in orderList" :key="item.keyid">
 				<view class="coreshop-ff chuany-bradius20">
 					<view class="chuany-font26">
 						<view class="chuany-flex chuany-justify-between">
-							<text class="chuany-width7">{{index+1}}</text>
+							<text class="chuany-width6">{{index+1}}</text>
 							<view class="chuany-width15">
-								{{$util.formatDate(item.createTime,'riqi')}}
+								{{$util.formatDate(item.deliverTime,'riqi')}}
 							</view>
-							<view class="chuany-width73">
-								<u-text size='14' :text="item.remark" lines="1">
+							<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>
-							<view class="chuany-width5" @tap.stop='editOrder(item)'>
-								<up-icon name="edit-pen" ></up-icon>
-							</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>
+								<view class="chuany-width6" @tap.stop='UndoDeliverPlans(item)'>
+									<up-icon name="reload" size='19'></up-icon>
+								</view>
+							</template>
+							<!-- <view class="chuany-width6" v-else>
+								<u-text size='14' type="" text="" lines="1">
+								</u-text>
+							</view> -->
 						</view>
 					</view>
 				</view>
@@ -42,28 +53,41 @@
 			<up-empty text='鏆傛棤' icon="/static/order.png">
 			</up-empty>
 		</view>
-		<up-modal title="閫佽揣瀹夋帓" :show="show7" showCancelButton @confirm="confirmSave" @cancel='cancelModal'
-			:asyncClose="true">
+		<up-modal title="閫佽揣瀹夋帓" :show="show7" showCancelButton @confirm="confirmSave" @cancel='cancelModal' 
+			ref='modalArrange' :asyncClose="true">
 			<up-form labelPosition="left" :model="arrangeInfo" ref="formRef" labelWidth='140rpx'>
 				<up-form-item label="閫佽揣鏃ユ湡" prop="deliverTime" required :borderBottom='false' ref="item1"
 					@click="clickShouTime">
 					<!-- <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="driverId" required :borderBottom='false' @click="clickAction('driver')"
+				<up-form-item label="鎺掑簭" prop="sort" required :borderBottom='false' ref="item1">
+					<up-input v-model="arrangeInfo.sort" placeholder="璇疯緭鍏ユ帓搴�" border="none" type="number">
+					</up-input>
+				</up-form-item>
+				<up-form-item label="鍙告満" prop="driverName" required :borderBottom='false' @click="clickAction('driver')"
 					ref="item1">
-					<up-input v-model="driverName" disabled border="none" disabledColor="#ffffff"
+					<up-input v-model="arrangeInfo.driverName" disabled border="none" disabledColor="#ffffff"
 						placeholder="璇烽�夋嫨鍙告満"></up-input>
 				</up-form-item>
-				<up-form-item label="鏀惰揣鍗曚綅" prop="buyerId" required :borderBottom='false' ref="item1">
-					<up-input v-model="arrangeInfo.companyName" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" border="none">
+				<up-form-item label="鏀惰揣鍗曚綅" prop="companyName" labelPosition='top' required :borderBottom='false'
+					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>
@@ -71,18 +95,18 @@
 				<up-form-item label="鑱旂郴鐢佃瘽" prop="dianhua" required :borderBottom='false' ref="item1">
 					<up-input v-model="arrangeInfo.dianhua" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
 				</up-form-item>
-				<up-form-item label="閫佽揣鍦板潃" prop="dizhi" required :borderBottom='false' ref="item1">
+				<up-form-item label="閫佽揣鍦板潃" prop="dizhi" labelPosition='top' required :borderBottom='false' ref="item1">
 					<up-input v-model="arrangeInfo.dizhi" border="none" placeholder="璇疯緭鍏ラ�佽揣鍦板潃"></up-input>
 				</up-form-item>
-				<up-form-item label="閫佽揣浜嬬敱" prop="remark" required :borderBottom='false' ref="item1">
-					<up-textarea v-model="arrangeInfo.remark" border="none" placeholder="璇疯緭鍏ラ�佽揣浜嬬敱"></up-textarea>
+				<up-form-item label="閫佽揣浜嬬敱" prop="remark" labelPosition='top' required :borderBottom='false' ref="item1">
+					<up-input v-model="arrangeInfo.remark" border="none" placeholder="璇疯緭鍏ラ�佽揣浜嬬敱"></up-input>
 				</up-form-item>
 			</up-form>
 		</up-modal>
-		<fui-date-picker range :show="datePickerShow" :value="getFirstDayOfMonth()" type="3" zIndex="10000"
+		<fui-date-picker :show="datePickerShow" :value="getFirstDayOfMonth()" type="3" zIndex="10000"
 			@change="changePicker" :minDate='minDate' :maxDate='maxDate' @cancel="clickTime"></fui-date-picker>
-		<up-action-sheet :show="showActions" :actions="actions" title="璇烽�夋嫨" @close="showActions = false" wrapMaxHeight='500px'
-			@select="selectItem">
+		<up-action-sheet :show="showActions" :actions="actions" title="璇烽�夋嫨" @close="showActions = false"
+			wrapMaxHeight='500px' @select="selectItem">
 		</up-action-sheet>
 	</view>
 </template>
@@ -96,14 +120,17 @@
 	export default {
 		data() {
 			return {
+				valueType: {
+					label: 'companyName',
+					value: 'keyid'
+				},
 				datePickerShow: false,
 				shougHuoshow: false,
-				workTime: '',
+				workTime: this.$util.formatDate(new Date()),
 				orderList: [],
 				loadStatus: 'loadmore',
 				pageIndex: 1,
-				pageSize: 20,
-				contentVal: '',
+				pageSize: 30,
 				customerList: [],
 				isEdit: false,
 				editItem: {},
@@ -119,12 +146,14 @@
 				arrangeInfo: {
 					deliverTime: this.$util.formatDate(new Date(), null, 1),
 					driverId: '',
-					buyerId: '',
+					buyerId: null,
 					dianhua: '',
 					remark: '',
 					lianxiren: '',
 					dizhi: '',
-					companyName:''
+					companyName: '',
+					driverName: '',
+					sort: '1'
 				},
 				rules: {
 					'deliverTime': {
@@ -133,32 +162,40 @@
 						message: '璇烽�夋嫨鏃ユ湡',
 						trigger: ['blur', 'change']
 					},
-					'arrangeInfo.driverId': {
+					'driverName': {
 						type: 'string',
-						max: 1,
 						required: true,
 						message: '璇烽�夋嫨鍙告満',
 						trigger: ['blur', 'change']
 					},
-					'arrangeInfo.dianhua': {
+					'companyName': {
 						type: 'string',
-						max: 1,
+						required: true,
+						message: '璇烽�夋嫨鎴栧~鍐欓�佽揣鍗曚綅',
+						trigger: ['blur', 'change']
+					},
+					'dianhua': {
+						type: 'string',
 						required: true,
 						message: '璇疯緭鍏ヨ仈绯荤數璇�',
 						trigger: ['blur', 'change']
 					},
-					'arrangeInfo.dizhi': {
+					'dizhi': {
 						type: 'string',
-						max: 1,
 						required: true,
 						message: '璇疯緭鍏ラ�佽揣鍦板潃',
 						trigger: ['blur', 'change']
 					},
-					'arrangeInfo.remark': {
+					'remark': {
 						type: 'string',
-						max: 1,
 						required: true,
 						message: '璇疯緭鍏ラ�佽揣浜嬬敱',
+						trigger: ['blur', 'change']
+					},
+					'sort': {
+						type: 'number',
+						required: true,
+						message: '璇疯緭鍏ユ帓搴�',
 						trigger: ['blur', 'change']
 					},
 				},
@@ -166,8 +203,8 @@
 				switchVal: false,
 				driverList: [],
 				buyerName: '',
-				timeStart: '',
-				timeEnd: '',
+				timeStart: new Date(),
+				timeEnd: new Date(),
 				sevenDaysDriver: [],
 				deliverKeyID: '',
 				deliverKeyName: ''
@@ -184,21 +221,24 @@
 			this.getCustomer()
 			this.GetDriversOfWithin7days()
 		},
+		onMounted() {
+			this.$refs.formRef.setRules(this.rules);
+		},
 		onReachBottom() {
 			if (this.loadStatus != 'nomore') {
 				this.getList()
 			}
 		},
 		onPullDownRefresh() {
-			this.startDate = ''
-			this.endDate = ''
-			this.workTime = ''
+			this.timeStart = new Date()
+			this.timeEnd = new Date()
+			this.workTime = this.$util.formatDate(new Date())
 			this.deliverKeyName = ''
 			this.init()
 			uni.stopPullDownRefresh();
 		},
 		methods: {
-			goDetail(item){
+			goDetail(item) {
 				uni.navigateTo({
 					url: `/pages/delivergoods/arrangedetail?KeyId=${item.keyid}`
 				});
@@ -211,16 +251,16 @@
 				})
 			},
 			changePicker(val) {
-				console.log(val);
-				this.workTime = val.startDate.result + '鑷�' + val.endDate.result
-				this.timeStart = new Date(val.startDate.result) //宸ヤ綔寮�濮嬫椂闂�
-				this.timeEnd = new Date(val.endDate.result)
+				console.log(val, '-=-=鈥�');
+				this.workTime = val.result
+				this.timeStart = new Date(val.result) //宸ヤ綔寮�濮嬫椂闂�
+				this.timeEnd = new Date(val.result)
 				this.datePickerShow = !this.datePickerShow
-				this.getList()
+				this.init()
 			},
 			confirmDate(val) {
 				console.log(val);
-				this.arrangeInfo.deliverTime = val
+				this.arrangeInfo.deliverTime = this.$util.formatDate(val.value)
 				this.shougHuoshow = false
 			},
 			getCustomer() {
@@ -229,13 +269,15 @@
 						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.driverName = item.name
 					this.arrangeInfo.driverId = item.keyid
 				} else if (this.selectAc == 'driver7') {
 					this.deliverKeyID = item.keyid
@@ -250,6 +292,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();
@@ -281,7 +336,7 @@
 			editOrder(item) {
 				this.isEdit = true
 				this.arrangeInfo = {
-					deliverTime: this.$util.formatDate(new Date(), null, 1),
+					deliverTime: this.$util.formatDate(item.deliverTime),
 					driverId: item.driverId,
 					buyerId: item.buyerId,
 					dianhua: item.dianhua,
@@ -289,14 +344,43 @@
 					lianxiren: item.lianxiren,
 					dizhi: item.dizhi,
 					keyid: item.keyid,
-					companyName:item.companyName
+					companyName: item.companyName,
+					sort: item.sort,
+					driverName: item.driver.name || ''
 				}
 				this.show7 = true
-				this.driverName = item.driver.name
+				this.driverName = item.driver && item.driver.name
 				// let obj = this.customerList.find(ite => {
 				// 	return ite.keyid == item.buyerId
 				// })
 				// this.buyerName = obj.companyName
+			},
+			UndoDeliverPlans(item) {
+				let that = this
+				uni.showModal({
+					title: '鎻愮ず',
+					content: '纭鎾ら攢璇ヨ鍗曞悧锛�',
+					success: function(res) {
+						if (res.confirm) {
+							// 鎵ц纭鍚庣殑鎿嶄綔
+							that.$api.UndoDeliverPlans(item.keyid).then(res => {
+								if (res.code == 1) {
+									that.$util.showToast({
+										title: '鎾ら攢鎴愬姛锛�'
+									})
+									that.init()
+								} else {
+									that.$util.showToast({
+										title: res.error
+									})
+								}
+							})
+						} else {
+							// 鎵ц鍙栨秷鍚庣殑鎿嶄綔
+						}
+					}
+				})
+
 			},
 			delOrder(item) {
 				let that = this
@@ -328,13 +412,20 @@
 			},
 			init() {
 				this.pageIndex = 1
-				this.pageSize = 20
+				this.pageSize = 30
 				this.loadStatus = 'loadmore'
 				this.orderList = []
-				this.contentVal = ''
+				console.log(this.orderList);
 				this.getList()
 			},
 			confirmSave() {
+				// 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) {
 						this.$api.UpDataDeliverPlans(this.arrangeInfo).then(res => {
@@ -343,11 +434,14 @@
 								this.arrangeInfo = {
 									deliverTime: this.$util.formatDate(new Date(), null, 1),
 									driverId: '',
-									buyerId: '',
+									buyerId: null,
 									dianhua: '',
 									remark: '',
 									lianxiren: '',
 									dizhi: '',
+									companyName: '',
+									driverName: '',
+									sort: '1'
 								}
 								this.show7 = false
 								this.driverName = ''
@@ -367,11 +461,14 @@
 							this.arrangeInfo = {
 								deliverTime: this.$util.formatDate(new Date(), null, 1),
 								driverId: '',
-								buyerId: '',
+								buyerId: null,
 								dianhua: '',
 								remark: '',
 								lianxiren: '',
 								dizhi: '',
+								companyName: '',
+								driverName: '',
+								sort: '1'
 							}
 							this.show7 = false
 							this.driverName = ''
@@ -384,6 +481,8 @@
 						}
 						this.isLoading = false
 					})
+				}).catch(errors => {
+					this.$refs.modalArrange.loading = false
 				})
 
 			},
@@ -391,11 +490,14 @@
 				this.arrangeInfo = {
 					deliverTime: this.$util.formatDate(new Date(), null, 1),
 					driverId: '',
-					buyerId: '',
+					buyerId: null,
 					dianhua: '',
 					remark: '',
 					lianxiren: '',
 					dizhi: '',
+					companyName: '',
+					driverName: '',
+					sort: '1'
 				}
 				this.show7 = false
 				this.driverName = ''
@@ -472,12 +574,6 @@
 						}
 					}
 				})
-			},
-			actionClick(item, e) {
-				console.log(e);
-				if (e.index == 0) {
-					this.contentVal = item.remark
-				}
 			}
 		}
 	}

--
Gitblit v1.9.1