From dbccd6b83b9e30f9fdcb2c7900a16cb038648c62 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 03 九月 2025 10:55:39 +0800
Subject: [PATCH] 前端

---
 small-program/pages/freight/freight.vue |  194 +++++++++++++++++++++++++++--------------------
 1 files changed, 111 insertions(+), 83 deletions(-)

diff --git a/small-program/pages/freight/freight.vue b/small-program/pages/freight/freight.vue
index a56325a..216c33f 100644
--- a/small-program/pages/freight/freight.vue
+++ b/small-program/pages/freight/freight.vue
@@ -91,9 +91,11 @@
 					<view class="list-item-row">
 						<view class="list-item-row-label">杩愯緭閲嶉噺/鏁伴噺<b>*</b></view>
 						<view class="list-item-row-val">
-							<input type="text" v-model="form.transportNum" placeholder="璇疯緭鍏�" />
-							<text @click="show4 = true">{{form.transportUnit}}</text>
-							<u-icon name="arrow-down" color="#111111" size="16"></u-icon>
+							<input type="text" style="flex: 1;" v-model="form.transportNum" placeholder="璇疯緭鍏�" />
+							<view @click="show4 = true" style="width: 100rpx; flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end;">
+								<text>{{form.transportUnit}}</text>
+								<u-icon name="arrow-down" color="#111111" size="16"></u-icon>
+							</view>
 						</view>
 					</view>
 					<view class="list-item-row" v-if="viewStatus">
@@ -138,7 +140,7 @@
 					<view class="list-item-row">
 						<view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view>
 						<view class="list-item-row-val">
-							<input type="number" @blur="getPrice" v-model="form.price" placeholder="璇疯緭鍏�" />
+							<input type="digit" @blur="getPrice"  v-model="form.price" placeholder="璇疯緭鍏�" />
 							<text>{{form.priceUnit}}</text>
 						</view>
 					</view>
@@ -220,6 +222,7 @@
 		<u-calendar
 			:show="show2"
 			color="#00BC12"
+			 :allowSameDay="true"
 			mode="range"
 			@close="show2 = false"
 			@confirm="confirmDate" />
@@ -282,7 +285,7 @@
 				],
 				dw: [['涓�', '鏂�']],
 				carArr: [],
-				viewStatus: false
+				viewStatus: true
 			};
 		},
 		watch: {
@@ -318,7 +321,9 @@
 				})
 			} else {
 				const res = uni.getStorageSync('carData');
+				console.log(res)
 				this.form.linkPhone = this.userInfo.telephone
+				this.form.linkName = this.userInfo.name
 				this.form.startDate = res.startDate
 				this.form.endDate = res.endDate
 				this.form.lat = res.lat
@@ -336,12 +341,23 @@
 			this.getCategoryLists()
 		},
 		methods: {
+			 handleInputPrice(e) {
+				 try{
+					 this.form.price = Number(this.form.price).toFixed(3) 
+				 }catch(e){
+					 this.form.price =null
+				 } 
+			},
 			confirmDw(e) {
 				this.form.transportUnit = e.value[0]
 				this.show4 = false
 			},
 			// 鎻愪氦璁㈠崟
 			submit() {
+				var that = this;
+				if (!this.form.carUnit) {
+					return uni.showToast({ title: '璇烽�夋嫨璐ц溅鍨嬪彿', icon: 'none' })
+				}
 				if (!this.form.transportTypeName) {
 					return uni.showToast({ title: '璇烽�夋嫨杩愯緭鍝佺', icon: 'none' })
 				}
@@ -357,86 +373,96 @@
 				if (!this.form.linkPhone) {
 					return uni.showToast({ title: '璇疯緭鍏ヨ仈绯荤數璇�', icon: 'none' })
 				}
-				if (!this.form.id) {
-					this.$u.api.release({
-						...this.form,
-						price: Number(this.form.price) * 100,
-						wayInfoDTOList: [
-							{
-								lat: this.form.lat,
-								lgt: this.form.lgt,
-								location: this.form.location
-							},
-							...this.form.wayInfoDTOList,
-							{
-								lat: this.form.latEnd,
-								lgt: this.form.lgtEnd,
-								location: this.form.locationEnd
-							}
-						]
-					}).then(res => {
-						if (res.code == 200) {
-							uni.navigateTo({
-								url: `/pages/success/success?orderId=${res.data.id}`
+				if (!that.form.id) {
+					uni.requestSubscribeMessage({
+						tmplIds: ['oVjOBLcHxIlGzOMJsdInmgI5CHGXh-UTvMzQqfFOnIg','AA97cHjvlPiNO4viMkVe4JifCf9TD5b5Eb7s6El3VS8'],
+						success(res) {
+							that.$u.api.release({
+								...that.form,
+								price: Number(that.form.price) * 100,
+								wayInfoDTOList: [
+									{
+										lat: that.form.lat,
+										lgt: that.form.lgt,
+										location: that.form.location
+									},
+									...that.form.wayInfoDTOList,
+									{
+										lat: that.form.latEnd,
+										lgt: that.form.lgtEnd,
+										location: that.form.locationEnd
+									}
+								]
+							}).then(res => {
+								if (res.code == 200) {
+									uni.navigateTo({
+										url: `/pages/success/success?orderId=${res.data.id}`
+									})
+								}
 							})
 						}
 					})
 				} else {
-					this.$u.api.updateOrder({
-						...this.form,
-						price: Number(this.form.price) * 100,
-						wayInfoDTOList: [
-							{
-								lat: this.form.lat,
-								lgt: this.form.lgt,
-								location: this.form.location
-							},
-							...this.form.wayInfoDTOList,
-							{
-								lat: this.form.latEnd,
-								lgt: this.form.lgtEnd,
-								location: this.form.locationEnd
-							}
-						]
-					}).then(res => {
-						if (res.code == 200) {
-							uni.showToast({
-								title: '缂栬緫鎴愬姛',
-								icon: 'success',
-								mask: true,
-								duration: 2000
+					// uni.requestSubscribeMessage({
+						// tmplIds: ['3YSC7gouRlSjHXz4CrWOGFzPmGwEBtFj4snwdfMvKHk','AA97cHjvlPiNO4viMkVe4JifCf9TD5b5Eb7s6El3VS8'],
+						// success(res) {
+							that.$u.api.updateOrder({
+								...that.form,
+								price: Number(that.form.price) * 100,
+								wayInfoDTOList: [
+									{
+										lat: that.form.lat,
+										lgt: that.form.lgt,
+										location: that.form.location
+									},
+									...that.form.wayInfoDTOList,
+									{
+										lat: that.form.latEnd,
+										lgt: that.form.lgtEnd,
+										location: that.form.locationEnd
+									}
+								]
+							}).then(res => {
+								if (res.code == 200) {
+									uni.showToast({
+										title: '缂栬緫鎴愬姛',
+										icon: 'success',
+										mask: true,
+										duration: 2000
+									})
+									setTimeout(() => {
+										uni.navigateBack({ delta: 1 });
+										// uni.$emit('refresh')
+									}, 1500)
+								}
 							})
-							setTimeout(() => {
-								uni.navigateBack({ delta: 1 });
-								// uni.$emit('refresh')
-							}, 1500)
-							
-						}
-					})
+					// 	}
+					// })
 				}
 			},
 			uploadImg() {
 				var that = this;
 				uni.chooseImage({
 					success: (chooseImageRes) => {
-						const tempFilePaths = chooseImageRes.tempFilePaths;
-						uni.uploadFile({
-							url: this.$baseUrl + '/web/public/upload',
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								'folder': 'orders'
-							},
-							success: (uploadFileRes) => {
-								const res = JSON.parse(uploadFileRes.data)
-								that.form.multifileList.push({
-									fileurl: res.data.imgaddr,
-									name: res.data.originname,
-									url: res.data.url,
-									type: 0
-								})
-							}
-						});
+						for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) {
+							uni.uploadFile({
+								url: this.$baseUrl + '/web/public/upload',
+								filePath: chooseImageRes.tempFilePaths[i],
+								name: 'file',
+								formData: {
+									'folder': 'orders'
+								},
+								success: (uploadFileRes) => {
+									const res = JSON.parse(uploadFileRes.data)
+									that.form.multifileList.push({
+										fileurl: res.data.imgaddr,
+										name: res.data.originname,
+										url: res.data.url,
+										type: 0
+									})
+								}
+							});
+						}
 					}
 				});
 			},
@@ -444,7 +470,7 @@
 			getPrice() {
 				if (this.form.price && this.form.priceNum1 && this.form.priceNum2) {
 					this.$u.api.getTotal({
-						price: Number(this.form.price) * 100,
+						price: Number(this.form.price).toFixed(2) * 100,
 						priceUnit: this.form.priceUnit,
 						priceNum1: this.form.priceNum1,
 						priceNum2: this.form.priceNum2,
@@ -496,7 +522,8 @@
 			confirmDate(e) {
 				this.form.startDate = e[0]
 				this.form.endDate = e[e.length - 1]
-				this.form.priceNum1 = e.length;
+				let time = this.form.startDate == this.form.endDate ? 1 : 0
+				this.form.priceNum1 = e.length - time;
 				this.show2 = false
 			},
 			addAddr() {
@@ -512,15 +539,15 @@
 						if ([2].includes(type)) {
 							this.form.latitude = res.latitude
 							this.form.longitude = res.longitude
-							this.form.address = res.address
+							this.form.address = res.name || res.address
 						} else if (type === 3) {
-							this.form.locationEnd = res.address
+							this.form.locationEnd = res.name || res.address
 							this.form.latEnd = res.latitude
 							this.form.lgtEnd = res.longitude
-						} else if (type === 4) {
-							this.form.wayInfoDTOList[0].lat = res.latitude
-							this.form.wayInfoDTOList[0].lgt = res.longitude
-							this.form.wayInfoDTOList[0].location = res.address
+						} else if (type === 4) { 
+							this.form.wayInfoDTOList[index].lat = res.latitude
+							this.form.wayInfoDTOList[index].lgt = res.longitude
+							this.form.wayInfoDTOList[index].location = res.name || res.address
 						}
 					}
 				});
@@ -923,13 +950,14 @@
 						}
 					}
 					.list-item-row-val {
-						width: 100%;
+						// width: 100%;
 						padding: 30rpx 0;
 						box-sizing: border-box;
 						display: flex;
 						align-items: center;
 						justify-content: space-between;
 						text {
+							// width: 80%;
 							flex-shrink: 0;
 							font-weight: 400;
 							font-size: 30rpx;

--
Gitblit v1.9.3