From 9d901b4215323c97a00a068cd962f5c9c04dadfa Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 04 九月 2025 10:15:09 +0800
Subject: [PATCH] 前端

---
 small-program/pages/freight/freight.vue |  682 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 565 insertions(+), 117 deletions(-)

diff --git a/small-program/pages/freight/freight.vue b/small-program/pages/freight/freight.vue
index 29b5dd7..9951efe 100644
--- a/small-program/pages/freight/freight.vue
+++ b/small-program/pages/freight/freight.vue
@@ -6,158 +6,569 @@
 					<view class="list-item-label-x"></view>
 					<text>杞﹁締鍙婅矾绾�</text>
 				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">杞﹁締绫诲瀷<b>*</b></view>
-					<view class="list-item-row-val">
-						<text>璇烽�夋嫨</text>
-						<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+				
+				<template v-if="!(info.type !== 2 && info.status === 2)">
+					<view class="list-item-row" @click="show = true">
+						<view class="list-item-row-label">杞﹁締绫诲瀷<b>*</b></view>
+						<view class="list-item-row-val">
+							<text :style="{ color: form.categoryName ? '#111111' : '' }">{{form.categoryName ? form.categoryName : '璇烽�夋嫨'}}</text>
+							<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+						</view>
 					</view>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">璐ц溅鍨嬪彿<b>*</b></view>
-					<view class="list-item-row-val">
-						<text>璇烽�夋嫨</text>
-						<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+					<view class="list-item-row" @click="show3 = true">
+						<view class="list-item-row-label">璐ц溅鍨嬪彿<b>*</b></view>
+						<view class="list-item-row-val">
+							<text :style="{ color: form.carUnit ? '#111111' : '' }">{{form.carUnit ? form.carUnit : '璇烽�夋嫨'}}</text>
+							<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+						</view>
 					</view>
-				</view>
-				<view class="list-item-row">
+				</template>
+				
+				<view class="list-item-row" @click="show2 = true">
 					<view class="list-item-row-label">鐢ㄨ溅鏃堕棿<b>*</b></view>
 					<view class="list-item-row-val">
-						<text>璇烽�夋嫨</text>
+						<text :style="{ color: form.startDate ? '#111111' : '' }">{{form.startDate ? form.startDate + ' 鑷� ' + form.endDate + ' (' + form.totalDays + '澶�) ' : '璇烽�夋嫨'}}</text>
 						<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
 					</view>
 				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">
-						杩愯揣鍦板潃<b>*</b>
-						<view class="list-item-row-label-add">+澧炲姞閫旂粡鐐�</view>
+				
+				<template v-if="!(info.type !== 2 && info.status === 2)">
+					<view class="list-item-row">
+						<view class="list-item-row-label">
+							杩愯揣鍦板潃<b>*</b>
+							<view class="list-item-row-label-add" @click="addAddr">+澧炲姞閫旂粡鐐�</view>
+						</view>
+						<view class="address">
+							<view class="address-item" @click="selectAddress(2)">
+								<view class="address-item-img">
+									<image src="/static/icon/ic_qidian@2x.png" mode="widthFix"></image>
+									<text :style="{color: form.location ? '#111111' : ''}">{{form.location ? form.location : '璇烽�夋嫨璧风偣'}}</text>
+								</view>
+								<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+							</view>
+							<view class="address-item" v-for="(item, index) in form.wayInfoDTOList" :key="index" @click="selectAddress(4, index)">
+								<view class="address-item-img">
+									<image src="/static/icon/ic_jingguo@2x.png" mode="widthFix"></image>
+									<text :style="{color: item.location ? '#111111' : ''}">{{item.location ? item.location : '璇烽�夋嫨閫旂粡鍦扮偣'}}</text>
+								</view>
+								<view style="display: flex; align-items: center; flex-shrink: 0;">
+									<image src="/static/icon/ic_delete@2x.png" style="margin-right: 22rpx; width: 32rpx; height: 32rpx;" @click.stop="form.wayInfoDTOList.splice(index, 1)" mode="widthFix"></image>
+									<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+								</view>
+							</view>
+							<view class="address-item" @click="selectAddress(3)">
+								<view class="address-item-img">
+									<image src="/static/icon/ic_zhongdian@2x.png" mode="widthFix"></image>
+									<text :style="{color: form.locationEnd ? '#111111' : ''}">{{form.locationEnd ? form.locationEnd : '璇烽�夋嫨缁堢偣'}}</text>
+								</view>
+								<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+							</view>
+						</view>
 					</view>
-					<view class="address">
-						<view class="address-item">
-							<view class="address-item-img">
-								<image src="/static/icon/ic_qidian@2x.png" mode="widthFix"></image>
-								<text>璇烽�夋嫨璧风偣</text>
-							</view>
-							<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
-						</view>
-						<view class="address-item">
-							<view class="address-item-img">
-								<image src="/static/icon/ic_jingguo@2x.png" mode="widthFix"></image>
-								<text>璇烽�夋嫨閫旂粡鍦扮偣</text>
-							</view>
-							<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
-						</view>
-						<view class="address-item">
-							<view class="address-item-img">
-								<image src="/static/icon/ic_zhongdian@2x.png" mode="widthFix"></image>
-								<text>璇烽�夋嫨缁堢偣</text>
-							</view>
+				</template>
+				
+			</view>
+			<template v-if="!(info.type !== 2 && info.status === 2)">
+				<view class="list-item">
+					<view class="list-item-label">
+						<view class="list-item-label-x"></view>
+						<text>闇�姹�</text>
+					</view>
+					<view class="list-item-row" @click="show1 = true">
+						<view class="list-item-row-label">杩愯緭鍝佺<b>*</b></view>
+						<view class="list-item-row-val">
+							<text :style="{ color: form.transportTypeName ? '#111111' : '' }">{{form.transportTypeName ? form.transportTypeName : '璇烽�夋嫨'}}</text>
 							<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
 						</view>
 					</view>
-				</view>
-			</view>
-			<view class="list-item">
-				<view class="list-item-label">
-					<view class="list-item-label-x"></view>
-					<text>闇�姹�</text>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">杩愯緭鍝佺<b>*</b></view>
-					<view class="list-item-row-val">
-						<text>璇烽�夋嫨</text>
-						<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
-					</view>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">鐢ㄨ溅鏁伴噺<b>*</b></view>
-					<view class="list-item-row-val">
-						<text>璇烽�夋嫨</text>
-						<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
-					</view>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">杩愯緭閲嶉噺/鏁伴噺<b>*</b></view>
-					<view class="list-item-row-val">
-						<input type="text" placeholder="璇疯緭鍏�" />
-						<text>涓�</text>
-						<u-icon name="arrow-down" color="#111111" size="16"></u-icon>
-					</view>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">闇�姹傝ˉ鍏�</view>
-					<view class="list-item-row-val">
-						<textarea cols="30" rows="10" placeholder="璇疯緭鍏�" maxlength="200"></textarea>
-					</view>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">鍥剧墖</view>
-					<view class="list-item-row-upload">
-						<view class="upload-item">
-							<image src="/static/logo.png" mode="widthFix"></image>
+					<view class="list-item-row">
+						<view class="list-item-row-label">鐢ㄨ溅鏁伴噺<b>*</b></view>
+						<view class="list-item-row-val">
+							<input type="number" v-model="form.priceNum2" disabled placeholder="1" />
+							<text>杈�</text>
 						</view>
-						<view class="upload-item">
-							<u-icon name="plus" color="#999999" size="24"></u-icon>
-							<text>鐐瑰嚮涓婁紶</text>
+					</view>
+					<view class="list-item-row">
+						<view class="list-item-row-label">杩愯緭閲嶉噺/鏁伴噺<b>*</b></view>
+						<view class="list-item-row-val">
+							<input type="text" style="flex: 3;" 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  style="flex: 1;" :class="form.transportUnit ==='涓�' ? 'val-cate-item val-active' : 'val-cate-item'"   @click="form.transportUnit = '涓�'">涓�</view>
+							<view  style="flex: 1;" :class="form.transportUnit ==='鏂�' ? 'val-cate-item val-active' : 'val-cate-item'"   @click="form.transportUnit = '鏂�'">鏂�</view>
+						</view>
+						 
+					</view>
+					<view class="list-item-row" v-if="viewStatus">
+						<view class="list-item-row-label">闇�姹傝ˉ鍏�</view>
+						<view class="list-item-row-val">
+							<textarea cols="30" v-model="form.supplement" rows="10" placeholder="璇疯緭鍏�" maxlength="200"></textarea>
+						</view>
+					</view>
+					<view class="list-item-row" v-if="viewStatus">
+						<view class="list-item-row-label">鍥剧墖</view>
+						<view class="list-item-row-upload">
+							<view class="upload-item" v-for="(item, index) in form.multifileList" :key="index">
+								<image :src="item.url || item.fileurlFull" mode="widthFix"></image>
+								<image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image>
+							</view>
+							<view class="upload-item" @click="uploadImg">
+								<u-icon name="plus" color="#999999" size="24"></u-icon>
+								<text>鐐瑰嚮涓婁紶</text>
+							</view>
+						</view>
+					</view>
+					<view class="list-item-zk" @click="viewStatus = !viewStatus">
+						<text>{{viewStatus ? '鏀惰捣' : '琛ュ厖闇�姹�'}}</text>
+						<u-icon :name="viewStatus ? 'arrow-up' : 'arrow-down'" color="#00BC12" size="16"></u-icon>
+					</view>
+				</view>
+				<view class="list-item">
+					<view class="list-item-label">
+						<view class="list-item-label-x"></view>
+						<text>璐圭敤</text>
+					</view>
+					<view class="list-item-cate">
+						<view :class="item.id === form.carType ? 'list-item-cate-item active' : 'list-item-cate-item'" v-for="(item, index) in ff" :key="index" @click="form.carType = item.id">{{item.name}}</view>
+					</view>
+					<view class="list-item-row" v-if="form.carType==0">
+						<view class="list-item-row-label">鐢ㄨ溅澶╂暟</view>
+						<view class="list-item-row-val">
+							<input type="number" v-model="form.totalDays" disabled placeholder="" />
+							<text>澶�</text>
+						</view>
+					</view>
+					<view class="list-item-row" v-if="form.carType==1">
+						<view class="list-item-row-label">鐢ㄨ溅娆℃暟<b>*</b></view>
+						<view class="list-item-row-val">
+							<input type="number" v-model="form.priceNum1"   placeholder="璇疯緭鍏�" />
+							<text>娆�</text>
+						</view>
+					</view>
+					<view class="list-item-row">
+						<view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view>
+						<view class="list-item-row-val">
+							<input type="digit" @blur="getPrice"  v-model="form.price" placeholder="璇疯緭鍏�" />
+							<text>{{form.priceUnit}}</text>
 						</view>
 					</view>
 				</view>
-				<view class="list-item-zk">
-					<text>琛ュ厖闇�姹�</text>
-					<u-icon name="arrow-down" color="#00BC12" size="16"></u-icon>
-				</view>
-			</view>
-			<view class="list-item">
-				<view class="list-item-label">
-					<view class="list-item-label-x"></view>
-					<text>璐圭敤</text>
-				</view>
-				<view class="list-item-cate">
-					<view class="list-item-cate-item active">鎸夊ぉ浠樿垂</view>
-					<view class="list-item-cate-item">鎸夋浠樿垂</view>
-				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">澶╂暟</view>
-					<view class="list-item-row-val">
-						<input type="text" placeholder="璇疯緭鍏�" />
-						<text>澶�</text>
+				<view class="list-item">
+					<view class="list-item-label">
+						<view class="list-item-label-x"></view>
+						<text>鑱旂郴浜轰俊鎭�</text>
+						<text class="list-item-label-info">榛樿鍙戝崟鏂硅仈绯绘柟寮忥紝鍙慨鏀硅仈绯讳汉</text>
+					</view>
+					<view class="list-item-row">
+						<view class="list-item-row-label">鑱旂郴浜哄鍚�</view>
+						<view class="list-item-row-val">
+							<input type="text" v-model="form.linkName" placeholder="璇疯ˉ鍏�" />
+						</view>
+					</view>
+					<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.linkPhone" maxlength="11" placeholder="璇疯ˉ鍏�" />
+						</view>
 					</view>
 				</view>
-				<view class="list-item-row">
-					<view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view>
-					<view class="list-item-row-val">
-						<input type="text" placeholder="璇疯緭鍏�" />
-						<text>鍏�/杈�*澶�</text>
-					</view>
-				</view>
-			</view>
+			</template>
 		</view>
 		<view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view>
 		<view class="footer">
 			<view class="footer-price">
 				<view class="footer-price-info">棰勪及鎬昏垂鐢�</view>
 				<view class="footer-price-num">
-					<text>0</text>
+					<text>{{totalPrice || 0}}</text>
 					<text>鍏�</text>
 				</view>
 			</view>
-			<view class="footer-bottom">
-				<div class="footer-bottom-btn">
-					<text>绔嬪嵆涓嬪崟</text>
-					<text>锛堟湇鍔″畬鎴愬悗浠樻锛�</text>
+			<view class="footer-bottom"> 
+				<div class="footer-bottom-btn" @click="submit" >
+					<text>{{form.id?'纭淇敼':'绔嬪嵆涓嬪崟'}}</text>
+					<text v-if="!form.id">锛堟湇鍔″畬鎴愬悗浠樻锛�</text>
 				</div>
 			</view>
 			<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
 		</view>
+		
+		<!-- 閫夋嫨杞﹁締绫诲瀷 -->
+		<u-picker
+			:show="show"
+			:columns="car"
+			confirmColor="#00BC12"
+			keyName="name"
+			@confirm="confirmCategary"
+			@cancel="show = false"/>
+			
+		<!-- 閫夋嫨鍝佺 -->
+		<u-picker
+			:show="show1"
+			:columns="variety"
+			confirmColor="#00BC12"
+			keyName="name"
+			@confirm="confirmVariety"
+			@cancel="show1 = false"/>
+			
+		<!-- 璐ц溅鍨嬪彿 -->
+		<u-picker
+			:show="show3"
+			:columns="carArr"
+			confirmColor="#00BC12"
+			@confirm="confirmCarArr"
+			@cancel="show3 = false"/>
+			
+		<!-- 鍗曚綅 -->
+		<u-picker
+			:show="show4"
+			:columns="dw"
+			confirmColor="#00BC12"
+			@confirm="confirmDw"
+			@cancel="show4 = false"/>
+			
+		<!-- 閫夋嫨鏃ユ湡鑼冨洿 -->
+		<u-calendar
+			:show="show2"
+			color="#00BC12"
+			 :allowSameDay="true"
+			mode="range"
+			@close="show2 = false"
+			@confirm="confirmDate" />
+			
 	</view>
 </template>
 
 <script>
+	import { mapState } from 'vuex'
 	export default {
+		computed: {
+			...mapState(['userInfo']),
+			totalPrice() {
+				return this.form.estimatedAccount / 100
+			}
+		},
 		data() {
 			return {
-				
+				info: {},
+				show: false,
+				show1: false,
+				show2: false,
+				show3: false,
+				show4: false,
+				form: {
+					id: null,
+					startDate: '',
+					endDate: '',
+					lat: '',
+					lgt: '',
+					location: '',
+					latEnd: '',
+					lgtEnd: '',
+					locationEnd: '',
+					carUnit: '',
+					categoryId: '',
+					categoryName: '',
+					wayInfoDTOList: [],
+					priceNum1: '',
+					totalDays:null,
+					priceNum2: 1,
+					transportNum: '',
+					transportTypeId: '',
+					transportTypeName: '',
+					carType: 0,
+					supplement: '',
+					multifileList: [],
+					priceUnit: '鍏�/澶�',
+					linkName: '',
+					linkPhone: '',
+					price: '',
+					type: 1,
+					transportUnit: '涓�',
+					estimatedAccount: ''
+				},
+				car: [],
+				variety: [],
+				ff: [
+					{ name: '鎸夊ぉ浠樿垂', id: 0 },
+					{ name: '鎸夋浠樿垂', id: 1 }
+				],
+				dw: [['涓�', '鏂�']],
+				carArr: [],
+				viewStatus: true
 			};
+		},
+		watch: {
+			'form.carType': {
+				handler(news, olds) {
+					if (news === 0) {
+						this.form.priceUnit = '鍏�/澶�'
+					} else if (news === 1) {
+						this.form.priceUnit = '鍏�/娆�'
+					}
+				}
+			}
+		},
+		onLoad(option) {
+			if (option.id) {
+				this.form.id = option.id
+				this.$u.api.getDetail({
+					orderId: option.id
+				}).then(res => {
+					if (res.code === 200) {
+						this.info = res.data
+						console.log(res.data.totalDays)
+						for (const key in this.form) {
+							this.form[key] = res.data[key]
+						}
+						this.form.price = Number(this.form.price) / 100
+						if (!this.form.multifileList) {
+							this.form.multifileList = []
+						}
+						if (!this.form.wayInfoDTOList) {
+							this.form.wayInfoDTOList = []
+						}
+					}
+				})
+			} 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
+				this.form.lgt = res.lgt
+				this.form.totalDays = res.days
+				this.form.priceNum1=res.days
+				this.form.categoryId = res.categoryId
+				this.form.categoryName = res.categoryName
+				this.form.location = res.location
+				this.form.latEnd = res.latEnd
+				this.form.lgtEnd = res.lgtEnd
+				this.form.locationEnd = res.locationEnd
+				this.form.wayInfoDTOList = res.wayInfoDTOList
+				uni.removeStorageSync('carData');
+			}
+			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' })
+				}
+				if (!this.form.priceNum2) {
+					return uni.showToast({ title: '璇疯緭鍏ョ敤杞︽暟閲�', icon: 'none' })
+				}
+				if (!this.form.transportNum) {
+					return uni.showToast({ title: '璇疯緭鍏ヨ繍杈撻噸閲�/鏁伴噺', icon: 'none' })
+				}
+				if (!this.form.price) {
+					return uni.showToast({ title: '璇疯緭鍏ヨ垂鐢ㄦ爣鍑�', icon: 'none' })
+				}
+				if (!this.form.linkPhone) {
+					return uni.showToast({ title: '璇疯緭鍏ヨ仈绯荤數璇�', icon: 'none' })
+				}
+				if (!that.form.id) {
+					uni.requestSubscribeMessage({
+						tmplIds: ['oVjOBLcHxIlGzOMJsdInmgI5CHGXh-UTvMzQqfFOnIg','AA97cHjvlPiNO4viMkVe4JifCf9TD5b5Eb7s6El3VS8'],
+						success(res) {
+							if(that.form.carType == 0){
+								that.form.priceNum1 = that.form.totalDays
+							}
+							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 {
+					// 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)
+								}
+							})
+					// 	}
+					// })
+				}
+			},
+			uploadImg() {
+				var that = this;
+				uni.chooseImage({
+					success: (chooseImageRes) => {
+						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
+									})
+								}
+							});
+						}
+					}
+				});
+			},
+			// 璁$畻閲戦
+			getPrice() {
+				if (this.form.price && this.form.priceNum1 && this.form.priceNum2) {
+					this.$u.api.getTotal({
+						price: Number(this.form.price).toFixed(2) * 100,
+						priceUnit: this.form.priceUnit,
+						priceNum1: this.form.priceNum1,
+						priceNum2: this.form.priceNum2,
+						type: 1
+					}).then(res => {
+						if (res.code === 200) {
+							this.form.estimatedAccount = res.data
+						}
+						
+					})
+				}
+			},
+			getCategoryLists() {
+				this.$u.api.getCategoryList({ type: 1 })
+					.then(res => {
+						if (res.code === 200) {
+							this.car = [res.data]
+							res.data.forEach(item => {
+								if (item.id === this.form.categoryId) {
+									this.carArr = [item.detailList]
+								}
+							})
+						}
+						
+					})
+				this.$u.api.getCategoryList({ type: 0 })
+					.then(res => {
+						if (res.code === 200) {
+							this.variety = [res.data]
+						}
+					})
+			},
+			confirmCategary(e) {
+				this.form.categoryId = e.value[0].id
+				this.form.categoryName = e.value[0].name
+				this.carArr = [e.value[0].detailList]
+				this.form.carUnit = ''
+				this.show = false
+			},
+			confirmVariety(e) {
+				this.form.transportTypeId = e.value[0].id
+				this.form.transportTypeName = e.value[0].name
+				this.show1 = false
+			},
+			confirmCarArr(e) {
+				this.form.carUnit = e.value[0]
+				this.show3 = false
+			},
+			confirmDate(e) {
+				this.form.startDate = e[0]
+				this.form.endDate = e[e.length - 1]
+				let time = this.form.startDate == this.form.endDate ? 1 : 0
+				this.form.totalDays = e.length - time;
+				this.show2 = false
+			},
+			addAddr() {
+				this.form.wayInfoDTOList.push({
+					lat: '',
+					lgt: '',
+					location: ''
+				})
+			},
+			selectAddress(type, index) {
+				uni.chooseLocation({
+					success: (res) => {
+						if ([2].includes(type)) {
+							this.form.latitude = res.latitude
+							this.form.longitude = res.longitude
+							this.form.location = res.name || res.address
+							this.form.address = res.name || res.address
+						} else if (type === 3) {
+							this.form.locationEnd = res.name || res.address
+							this.form.latEnd = res.latitude
+							this.form.lgtEnd = res.longitude
+						} 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
+						}
+					}
+				});
+			},
 		}
 	}
 </script>
@@ -323,6 +734,12 @@
 						border-radius: 4rpx;
 						margin-right: 20rpx;
 					}
+					.list-item-label-info {
+						font-weight: 400;
+						font-size: 26rpx;
+						color: #999999;
+						margin-left: 26rpx;
+					}
 				}
 				.list-item-zk {
 					width: 100%;
@@ -354,7 +771,9 @@
 						margin-top: 20rpx;
 						.address-item {
 							width: 100%;
-							height: 100rpx;
+							// height: 100rpx;
+							padding: 30rpx 0;
+							box-sizing: border-box;
 							display: flex;
 							align-items: center;
 							justify-content: space-between;
@@ -524,6 +943,7 @@
 							border-radius: 8rpx;
 							margin-right: 20rpx;
 							border: 2rpx solid #EEEEEE;
+							position: relative;
 							&:last-child {
 								margin: 0 !important;
 							}
@@ -536,20 +956,29 @@
 								color: #666666;
 								margin-top: 16rpx;
 							}
+							.upload-item-dele {
+								position: absolute;
+								top: -20rpx;
+								right: -20rpx;
+								width: 40rpx;
+								height: 40rpx;
+								z-index: 9;
+							}
 						}
 					}
 					.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;
-							color: #111111;
+							color: #999999;
 						}
 						input {
 							width: 100%;
@@ -564,6 +993,25 @@
 							font-size: 30rpx;
 							color: #111111;
 						}
+						.val-active {
+							background: #00BC12 !important;
+							color: #ffffff !important;
+						}
+						.val-cate-item {
+							width: 208rpx;
+							height: 72rpx;
+							line-height: 72rpx;
+							text-align: center;
+							font-weight: 400;
+							font-size: 28rpx;
+							color: #333333;
+							background: #EEEEEE;
+							border-radius: 36rpx;
+							margin-right: 24rpx;
+							&:last-child {
+								margin: 0 !important;
+							}
+						}
 					}
 				}
 			}

--
Gitblit v1.9.3