From 3913b3c5c8cde03f8c92d1c738d28c4a9bae7e55 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 22 十一月 2023 08:48:02 +0800
Subject: [PATCH] #
---
 pages/business/goBusiness/addgoBusiness.vue |  456 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 381 insertions(+), 75 deletions(-)
diff --git a/pages/business/goBusiness/addgoBusiness.vue b/pages/business/goBusiness/addgoBusiness.vue
index fb5d037..f6c78f5 100644
--- a/pages/business/goBusiness/addgoBusiness.vue
+++ b/pages/business/goBusiness/addgoBusiness.vue
@@ -1,35 +1,52 @@
 <template>
 	<view>
-		
+
 		<view class="card" v-for="item in form2">
 			<!-- head -->
 			<view class="card-head flex">
 				<view class="card-head-title">{{item.title}}</view>
 			</view>
 			<!-- body -->
-			<view class="card-body flex-column" v-for="subItem in item.info">
-				<view class="flex"><text class="card-required" v-show="subItem.required">*</text>{{subItem.subTitle}}</view>
-				<view class="flex">
-					<view style="flex: 1;">
-						<input type="text" placeholder="璇疯緭鍏ュ嚭宸簨鐢�1" :placeholder-style="placeholderStyle" v-model="subItem.value" :disabled="subItem.disabled" v-show="subItem.inputType != 'data'">
-						<uni-datetime-picker v-model="subItem.value" :border="false" v-show="subItem.inputType == 'data'" />
-					</view>
-					
-					<view class="flex" style="width: 50rpx;" v-show="subItem.inputType == 'select'" @click="showPicker(subItem.type)"><uni-icons type="right" color="#000" ></uni-icons></view>
+			<view class="card-body flex-column" v-for="subItem in item.info" v-show="!subItem.unshow">
+				<view class="flex"><text class="card-required" v-show="subItem.required">*</text>{{subItem.subTitle}}
 				</view>
+				<view class="flex">
+					<uni-combox :candidates="orderIds" placeholder="璇烽�夋嫨椤圭洰" v-model="subItem.value"
+						@input="getOrderId(subItem.value)" v-show="subItem.inputType == 'chose'">
+					</uni-combox>
+					
+					<view style="flex: 1;"  v-show="subItem.inputType != 'chose'">
+						
+						<input type="text" :placeholder="subItem.placeholder"
+							:placeholder-style="subItem.placeholderStyle" v-model="subItem.value"
+							:disabled="subItem.disabled" v-show="subItem.inputType != 'data'">
+						<uni-datetime-picker v-model="subItem.value" :border="false"
+							:red-color="subItem.placeholderStyle" v-if="subItem.inputType == 'data'" />
+					</view>
+
+					<view class="flex" style="width: 50rpx;" v-show="subItem.inputType == 'select'"
+						@click="showPicker(subItem.type)"><uni-icons type="right" color="#000"></uni-icons></view>
+				</view>
+				
 			</view>
-			
+
 		</view>
-		
-		
-		<u-picker :show="businessTransportationShow" :columns="businessTransportations" @confirm="businessTransportationConfirm"></u-picker>
+
+
+		<u-picker :show="businessTransportationShow" :columns="businessTransportations"
+			@confirm="businessTransportationConfirm"></u-picker>
 		<u-picker :show="businessReturnShow" :columns="businessReturns" @confirm="businessReturnConfirm"></u-picker>
-		<u-picker :show="pcdShow" ref="uPicker" :columns="columns" @confirm="pcdStartConfirm" @change="changeHandler" :defaultIndex="defaultIndex"></u-picker>
-		<u-picker :show="businessStartTimeDayShow" :columns="businessStartTimeDays" @confirm="businessStartTimeDayConfirm"></u-picker>
-		<u-picker :show="businessEndTimeDayShow" :columns="businessEndTimeDays" @confirm="businessEndTimeDayConfirm"></u-picker>
-		
+		<u-picker :show="pcdShow" ref="uPicker" :columns="columns" @confirm="pcdStartConfirm" @change="changeHandler"
+			:defaultIndex="defaultIndex"></u-picker>
+		<u-picker :show="pcdEndShow" ref="uPicker" :columns="columns" @confirm="pcdEndConfirm" @change="changeHandler"
+			:defaultIndex="defaultIndex"></u-picker>
+		<u-picker :show="businessStartTimeDayShow" :columns="businessStartTimeDays"
+			@confirm="businessStartTimeDayConfirm"></u-picker>
+		<u-picker :show="businessEndTimeDayShow" :columns="businessEndTimeDays"
+			@confirm="businessEndTimeDayConfirm"></u-picker>
+
 		<view style="height: 120rpx;"></view>
-		
+
 		<view class="floor">
 			<view class="default">閲嶇疆</view>
 			<view class="primary" @click="submit()">鎻愪氦</view>
@@ -43,60 +60,259 @@
 	export default {
 		data() {
 			return {
-				year: '',
+				type: 'add',
+				orderIds: [],
+				orderId: '',
+				orderIdList: [],
+				year: '2021-5-3',
 				placeholderStyle: 'font-size:20rpx',
 				form: {
 					// businessTripReasons: ''
 				},
+				redColor: '',
 				columns: [],
 				defaultIndex: [],
 				citysData: data.citysData,
 				businessTransportationShow: false,
-				businessTransportations: [['椋炴満','楂橀搧','鐏溅','姹借溅','鎽╂墭','鐢佃溅','鍏朵粬']],
+				businessTransportations: [
+					['椋炴満', '楂橀搧', '鐏溅', '姹借溅', '鎽╂墭', '鐢佃溅', '鍏朵粬']
+				],
 				businessReturnShow: false,
-				businessReturns: [['鍗曠▼','寰�杩�']],
+				businessReturns: [
+					['鍗曠▼', '寰�杩�']
+				],
 				pcdShow: false,
+				pcdEndShow: false,
 				pcds: data.citysData,
 				businessStartTimeDayShow: false,
-				businessStartTimeDays: [['涓婂崍','涓嬪崍']],
-				businessEndTimeDayShow: false,
-				businessEndTimeDays: [['涓婂崍','涓嬪崍']],
-				form2: [
-					{title: '鍩烘湰淇℃伅',info:[
-						{subTitle: '鍑哄樊浜嬬敱',value: '',submitVal: '鍑哄樊浜嬬敱',type: 'businessTripReasons',inputType: 'input',required: true}
-					]},
-					{title: '琛岀▼淇℃伅',info:[
-						{subTitle: '浜ら�氬伐鍏�',value: '',type: 'businessTransportation',inputType: 'select',disabled:true,required: true},
-						{subTitle: '鍗曠▼寰�杩�',value: '',type: 'businessReturn',inputType: 'select',disabled:true,required: true},
-						{subTitle: '杞︾墝鍙�',value: '',type: 'carNumber',inputType: 'input',required: true},
-						{subTitle: '琛岀▼鏄庣粏鍙婂叕閲屾暟',value: '',type: 'kilometers',inputType: 'input',required: true},
-						{subTitle: '鍑哄彂鍦�',value: '',type: 'pcdStart',inputType: 'select',required: true},
-						{subTitle: '鍑哄彂鍦拌缁嗗湴鍧�',value: '',type: 'businessStartAddr',inputType: 'input',required: true},
-						{subTitle: '鐩殑鍦�',value: '',type: 'pcdEnd',inputType: 'select',required: true},
-						{subTitle: '鐩殑鍦拌缁嗗湴鍧�',value: '',type: 'businessEndAddr',inputType: 'input',required: true},
-					]},
-					{title: '鏃ユ湡淇℃伅',info:[
-						{subTitle: '鍑哄彂鏃ユ湡',value: '',type: 'businessStartTime',inputType: 'data',required: true},
-						{subTitle: '鍑哄彂鏃惰景',value: '',type: 'businessStartTimeDay',inputType: 'select',required: true},
-						{subTitle: '缁撴潫鏃ユ湡',value: '',type: 'businessEndTime',inputType: 'data',required: true},
-						{subTitle: '缁撴潫鏃惰景',value: '',type: 'businessEndTimeDay',inputType: 'select',required: true}
-					]},
-					{title: '鍩烘湰淇℃伅',info:[
-						{subTitle: '鍚岃浜�',value: '鍚岃浜�',type: 'businessPeers',inputType: 'input',required: true},
-						{subTitle: '澶囨敞',value: '澶囨敞',inputType: 'input',type: 'businessNotes'}
-					]},
+				businessStartTimeDays: [
+					['涓婂崍', '涓嬪崍']
 				],
-				
+				businessEndTimeDayShow: false,
+				businessEndTimeDays: [
+					['涓婂崍', '涓嬪崍']
+				],
+				form2: [{
+						title: '鍩烘湰淇℃伅',
+						info: [{
+								subTitle: '椤圭洰鍚嶇О',
+								placeholder: '璇疯緭鍏ラ」鐩悕绉�',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								submitVal: '',
+								type: 'orderId',
+								inputType: 'chose',
+								required: true,
+								unshow: false
+							},
+							{
+								subTitle: '鍑哄樊浜嬬敱',
+								placeholder: '璇疯緭鍏ュ嚭宸簨鐢�',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								submitVal: '鍑哄樊浜嬬敱',
+								type: 'businessTripReasons',
+								inputType: 'input',
+								required: true
+							},
+						]
+					},
+					{
+						title: '琛岀▼淇℃伅',
+						info: [{
+								subTitle: '浜ら�氬伐鍏�',
+								placeholder: '璇烽�夋嫨浜ら�氬伐鍏�',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessTransportation',
+								inputType: 'select',
+								disabled: true,
+								required: true
+							},
+							{
+								subTitle: '鍗曠▼寰�杩�',
+								placeholder: '璇烽�夋嫨鍗曠▼鍗曠▼',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessReturn',
+								inputType: 'select',
+								disabled: true,
+								required: true
+							},
+							{
+								subTitle: '杞︾墝鍙�',
+								placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'carNumber',
+								inputType: 'input',
+								required: true
+							},
+							{
+								subTitle: '琛岀▼鏄庣粏鍙婂叕閲屾暟',
+								placeholder: '璇疯緭鍏ヨ绋嬫槑缁嗗強鍏噷鏁�',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'kilometers',
+								inputType: 'input',
+								required: true
+							},
+							{
+								subTitle: '鍑哄彂鍦�',
+								placeholder: '璇烽�夋嫨鍑哄彂鍦�',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'pcdStart',
+								inputType: 'select',
+								disabled: true,
+								required: true
+							},
+							{
+								subTitle: '鍑哄彂鍦拌缁嗗湴鍧�',
+								placeholder: '璇疯緭鍏ュ嚭鍙戝湴璇︾粏鍦板潃',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessStartAddr',
+								inputType: 'input',
+								required: true
+							},
+							{
+								subTitle: '鐩殑鍦�',
+								placeholder: '璇烽�夋嫨鐩殑鍦�',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'pcdEnd',
+								inputType: 'select',
+								disabled: true,
+								required: true
+							},
+							{
+								subTitle: '鐩殑鍦拌缁嗗湴鍧�',
+								placeholder: '璇疯緭鍏ョ洰鐨勫湴璇︾粏鍦板潃',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessEndAddr',
+								inputType: 'input',
+								required: true
+							},
+						]
+					},
+					{
+						title: '鏃ユ湡淇℃伅',
+						info: [{
+								subTitle: '鍑哄彂鏃ユ湡',
+								placeholder: '璇烽�夋嫨鍑哄彂鏃ユ湡',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessStartTime',
+								inputType: 'data',
+								required: true
+							},
+							{
+								subTitle: '鍑哄彂鏃惰景',
+								placeholder: '璇烽�夋嫨鍑哄彂鏃惰景',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessStartTimeDay',
+								inputType: 'select',
+								disabled: true,
+								required: true
+							},
+							{
+								subTitle: '缁撴潫鏃ユ湡',
+								placeholder: '璇烽�夋嫨缁撴潫鏃ユ湡',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessEndTime',
+								inputType: 'data',
+								required: true
+							},
+							{
+								subTitle: '缁撴潫鏃惰景',
+								placeholder: '璇烽�夋嫨缁撴潫鏃惰景',
+								placeholderStyle: 'font-size:20rpx',
+								value: '',
+								type: 'businessEndTimeDay',
+								inputType: 'select',
+								disabled: true,
+								required: true
+							}
+						]
+					},
+					{
+						title: '鍩烘湰淇℃伅',
+						info: [{
+								subTitle: '鍚岃浜�',
+								placeholder: '璇疯緭鍏ュ悓琛屼汉',
+								placeholderStyle: 'font-size:20rpx',
+								value: '鍚岃浜�',
+								type: 'businessPeers',
+								inputType: 'input',
+								required: true
+							},
+							{
+								subTitle: '澶囨敞',
+								placeholder: '澶囨敞淇℃伅',
+								placeholderStyle: 'font-size:20rpx',
+								value: '澶囨敞',
+								inputType: 'input',
+								type: 'businessNotes'
+							}
+						]
+					},
+				],
+
 			}
+		},
+		onLoad(option) {
+			let _this = this
+			const eventChannel = this.getOpenerEventChannel();
+			eventChannel.on('goBusinessDel', function(data) {
+				if (data.data == 'add') {
+					_this.getOrderId('')
+				}
+			})
+			// 椤圭洰璺熻釜浼犺繃鏉ョ殑
+			eventChannel.on('addType', function(data) {
+				if (data.data.comeFrom == 'saleManage') {
+					_this.form2[0].info[0].submitVal = data.data.orderId
+					_this.form2[0].info[0].unshow = true
+					_this.form2[0].info[0].required = false
+				}
+			})
+
 		},
 		mounted() {
 			this.handlePcd();
 		},
 		methods: {
+			getOrderId(condition) {
+				let _this = this
+				uni.request({
+					url: `${_this.baseUrl}/orderQueryName/auth`,
+					header: { 'token': uni.getStorageSync('token') },
+					method: 'POST',
+					data: {condition: condition},
+					success(res) {
+						res = res.data
+						_this.orderIds = []
+						_this.orderIdList = []
+						if (res.code === 200 && res.data) {
+							_this.orderIds2 = res.data
+							for (let k of res.data) {
+								_this.orderIds.push(k.value)
+								_this.orderIdList.push(k)
+							}
+							
+						}
+					}
+					
+				})
+			},
 			handlePcd() {
-				let sheng_s = '110000';  
-				let shi_s = '110100';  
-				let qu_s = '110101';  
+				let sheng_s = '110000';
+				let shi_s = '110100';
+				let qu_s = '110101';
 
 				let sheng = [];
 				let shi = [];
@@ -108,13 +324,13 @@
 							if (shi_item.value === shi_s) {
 								this.defaultIndex[1] = shi_index
 								shi_item.children.forEach((qu_item, qu_index) => {
-								if (qu_item.value === qu_s) {
-									this.defaultIndex[2] = qu_index
-								}
-								qu.push(qu_item.text);
-							})
+									if (qu_item.value === qu_s) {
+										this.defaultIndex[2] = qu_index
+									}
+									qu.push(qu_item.text);
+								})
 							}
-						shi.push(shi_item.text);
+							shi.push(shi_item.text);
 						})
 					}
 					sheng.push(sheng_item.text);
@@ -178,19 +394,73 @@
 				}
 			},
 			submit() {
+				let subPass = true
 				for (let k of this.form2) {
 					for (let sub of k.info) {
 						if (sub.inputType == 'select') {
 							this.form[sub.type] = sub.submitVal
+						} else if (sub.inputType == 'chose') {
+							if (!sub.unshow) {
+								for (let odd of this.orderIdList) {
+									if (sub.value == odd.value) {
+										this.form[sub.type] = odd.id
+									}
+								}
+							} else {
+								this.form[sub.type] = sub.submitVal
+							}
 						} else {
 							this.form[sub.type] = sub.value
 						}
+						
+						if (sub.required) {
+							sub.placeholderStyle = 'font-size:20rpx;'
+							if (sub.value == '' || (sub.submitVal == '' && sub.submitVal < 0)) {
+								// console.log(sub);
+								sub.placeholderStyle = 'font-size:20rpx;color:red'
+								subPass = false
+							}
+						}
+
 					}
 				}
-				console.log(this.form);
+				this.formAdd(this.form)
+				// console.log(subPass);
+				if (subPass) {
+					// console.log(this.form);
+				}
+
+			},
+			formAdd(form) {
+				let _this = this
+				uni.request({
+					url: `${_this.baseUrl}/businessTrip/add/auth`,
+					header: {
+						'token': uni.getStorageSync('token'),
+						'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
+					},
+					sslVerify: false,
+					data: form,
+					method: 'POST',
+					success(res) {
+						res = res.data
+						if (res.code === 200) {
+							uni.showToast({title: '娣诲姞鎴愬姛', icon: "none", position: 'top'})
+							setTimeout(()=>{
+								uni.navigateBack({})
+							},1000)
+						} else if (res.code === 500) {
+							uni.showToast({title: '娣诲姞鎴愬姛', icon: "none", position: 'top'})
+						} else {
+							
+						}
+					}
+					
+					
+				})
 			},
 			showPicker(e) {
-				switch(e) {
+				switch (e) {
 					case 'businessTransportation':
 						this.businessTransportationShow = true
 						break;
@@ -198,36 +468,39 @@
 						this.businessReturnShow = true
 						break
 					case 'pcdStart':
-						this.pcdShow = true  
+						this.pcdShow = true
+						break
+					case 'pcdEnd':
+						this.pcdEndShow = true
 						break
 					case 'businessStartTimeDay':
-						this.businessStartTimeDayShow = true  
+						this.businessStartTimeDayShow = true
 						break
 					case 'businessEndTimeDay':
-						this.businessEndTimeDayShow = true  
+						this.businessEndTimeDayShow = true
 						break
 				}
 			},
 			businessTransportationConfirm(e) {
-				console.log('confirm', e)
+				// console.log('confirm', e)
 				this.form2[1].info[0].value = e.value[0]
 				this.form2[1].info[0].submitVal = e.indexs[0]
 				this.businessTransportationShow = false
 			},
 			businessReturnConfirm(e) {
-				console.log('confirm', e)
+				// console.log('confirm', e)
 				this.form2[1].info[1].value = e.value[0]
 				this.form2[1].info[1].submitVal = e.indexs[0]
 				this.businessReturnShow = false
 			},
 			businessStartTimeDayConfirm(e) {
-				console.log('confirm', e)
+				// console.log('confirm', e)
 				this.form2[2].info[1].value = e.value[0]
 				this.form2[2].info[1].submitVal = e.indexs[0]
 				this.businessStartTimeDayShow = false
 			},
 			businessEndTimeDayConfirm(e) {
-				console.log('confirm', e)
+				// console.log('confirm', e)
 				this.form2[2].info[3].value = e.value[0]
 				this.form2[2].info[3].submitVal = e.indexs[0]
 				this.businessEndTimeDayShow = false
@@ -248,20 +521,42 @@
 				}
 			},
 			pcdStartConfirm(e) {
-				console.log('confirm', e)
+				// console.log('confirm', e)
 				let pcd = data.citysData
 				pcd[e.indexs[0]]
 				// console.log(pcd[e.indexs[0]]);
 				this.pcdShow = false
-				
+
 				// console.log(e.indexs)
 				let shen = data.citysData[e.indexs[0]]
-				console.log(shen.value, shen.text)
+				// console.log(shen.value, shen.text)
 				let shi = shen.children[e.indexs[1]]
 				// console.log(shi.value, shi.code)
 				let qu = shi.children[e.indexs[2]]
 				// console.log(qu.value, qu.code)
-				console.log(shen.value , shi.value, qu.value);
+				// console.log(shen.value , shi.value, qu.value);
+				this.form2[1].info[4].value = e.value[0] + '/' + e.value[1] + '/' + e.value[2]
+				this.form2[1].info[4].submitVal = shen.value + ',' + shi.value + ',' + qu.value
+				// console.log(this.form2[1].info[4].value, this.form2[1].info[4].submitVal);
+			},
+			pcdEndConfirm(e) {
+				// console.log('confirm', e)
+				let pcd = data.citysData
+				pcd[e.indexs[0]]
+				// console.log(pcd[e.indexs[0]]);
+				this.pcdEndShow = false
+
+				// console.log(e.indexs)
+				let shen = data.citysData[e.indexs[0]]
+				// console.log(shen.value, shen.text)
+				let shi = shen.children[e.indexs[1]]
+				// console.log(shi.value, shi.code)
+				let qu = shi.children[e.indexs[2]]
+				// console.log(qu.value, qu.code)
+				// console.log(shen.value , shi.value, qu.value);
+				this.form2[1].info[6].value = e.value[0] + '/' + e.value[1] + '/' + e.value[2]
+				this.form2[1].info[6].submitVal = shen.value + ',' + shi.value + ',' + qu.value
+				// console.log(this.form2[1].info[6].value, this.form2[1].info[6].submitVal);
 			}
 		}
 	}
@@ -270,34 +565,41 @@
 <style scoped>
 	.card {
 		min-height: 100rpx;
-		margin: 16rpx 0 0 0;
+		margin: 16rpx 20rpx 0 20rpx;
 		background-color: #fff;
 	}
+
 	.card-head {
 		min-height: 60rpx;
 		width: calc(100%-5px);
 		margin-left: 4px;
 		box-shadow: -4px 0 0px #2d8cf0;
 	}
+
 	.card-head-title {
 		/* background-color: #556655; */
 		padding-left: 6px;
 	}
+
 	.card-body {
-		margin: 8rpx 8rpx 0 8rpx ;
+		margin: 8rpx 8rpx 0 8rpx;
 	}
+
 	.card-required {
 		color: red;
 		padding-right: 4rpx;
 	}
+
 	.flex {
 		display: flex;
 		align-items: center;
 	}
+
 	.flex-column {
 		display: flex;
 		flex-direction: column;
 	}
+
 	.floor {
 		height: 100rpx;
 		line-height: 100rpx;
@@ -311,18 +613,22 @@
 		text-align: center;
 		letter-spacing: 10rpx;
 	}
+
 	.default {
 		flex: 2;
 	}
+
 	.default:active {
 		background-color: #eff0f1;
 	}
+
 	.primary {
 		flex: 3;
 		background-color: #2d8cf0;
 		color: #fff;
 	}
+
 	.primary:active {
 		background-color: #007dea;
 	}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.1