From 35982df874cdaa7149dc246d88cff0cb6929affe Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期二, 07 十一月 2023 16:27:24 +0800
Subject: [PATCH] #

---
 pages/business/goBusiness/addgoBusiness.vue |  233 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 205 insertions(+), 28 deletions(-)

diff --git a/pages/business/goBusiness/addgoBusiness.vue b/pages/business/goBusiness/addgoBusiness.vue
index 50559d6..fb5d037 100644
--- a/pages/business/goBusiness/addgoBusiness.vue
+++ b/pages/business/goBusiness/addgoBusiness.vue
@@ -11,16 +11,22 @@
 				<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="璇疯緭鍏ュ嚭宸簨鐢�" :placeholder-style="placeholderStyle" v-model="subItem.value">
+						<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="show = true"><uni-icons type="right" color="#000" ></uni-icons></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="show" :columns="columns" @confirm="confirm"></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>
 		
 		<view style="height: 120rpx;"></view>
 		
@@ -32,59 +38,230 @@
 </template>
 
 <script>
-import form from '../../../uni_modules/uview-ui/libs/config/props/form';
+	import form from '../../../uni_modules/uview-ui/libs/config/props/form';
+	import data from '../../../static/js/citys-data.js'
 	export default {
 		data() {
 			return {
-				show: false,
+				year: '',
 				placeholderStyle: 'font-size:20rpx',
 				form: {
 					// businessTripReasons: ''
 				},
-				columns: [
-					 ['涓浗', '缇庡浗', '鏃ユ湰']
-				],
+				columns: [],
+				defaultIndex: [],
+				citysData: data.citysData,
+				businessTransportationShow: false,
+				businessTransportations: [['椋炴満','楂橀搧','鐏溅','姹借溅','鎽╂墭','鐢佃溅','鍏朵粬']],
+				businessReturnShow: false,
+				businessReturns: [['鍗曠▼','寰�杩�']],
+				pcdShow: false,
+				pcds: data.citysData,
+				businessStartTimeDayShow: false,
+				businessStartTimeDays: [['涓婂崍','涓嬪崍']],
+				businessEndTimeDayShow: false,
+				businessEndTimeDays: [['涓婂崍','涓嬪崍']],
 				form2: [
 					{title: '鍩烘湰淇℃伅',info:[
-						{subTitle: '鍑哄樊浜嬬敱',value: '鍑哄樊浜嬬敱',type: 'businessTripReasons',inputType: 'input',required: true}
+						{subTitle: '鍑哄樊浜嬬敱',value: '',submitVal: '鍑哄樊浜嬬敱',type: 'businessTripReasons',inputType: 'input',required: true}
 					]},
-					{title: 'baseInfo',info:[
-						{subTitle: '浜ら�氬伐鍏�',value: 4,type: 'businessTransportation',inputType: 'select',required: true},
-						{subTitle: '鍗曠▼寰�杩�',value: 1,type: 'businessReturn',inputType: 'select',required: true},
-						{subTitle: '杞︾墝鍙�',value: '娴橞788MT',type: 'carNumber',inputType: 'input',required: true},
-						{subTitle: '琛岀▼鏄庣粏鍙婂叕閲屾暟',value: '168鍏噷',type: 'kilometers',inputType: 'input',required: true},
-						{subTitle: '鍑哄彂鍦�',value: '110088 118188,118101',type: 'pcdStart',inputType: 'select',required: true},
-						{subTitle: '鍑哄彂鍦拌缁嗗湴鍧�',value: '鍑哄彂鍦拌缁嗗湴鍧�',type: 'businessStartAddr',inputType: 'input',required: true},
-						{subTitle: '鐩殑鍦�',value: '440809,448188,448183',type: 'pcdEnd',inputType: 'select',required: true},
-						{subTitle: '鐩殑鍦拌缁嗗湴鍧�',value: '鐩殑鍦拌缁嗗湴鍧�',type: 'businessEndAddr',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: '2023-11-01 80:00:00',type: 'businessStartTime',inputType: 'input',required: true},
-						{subTitle: '鍑哄彂鏃惰景',value: '1',type: 'businessStartTimeDay',inputType: 'input',required: true},
-						{subTitle: '缁撴潫鏃ユ湡',value: '2023-11-30 80:00:08',type: 'businessEndTime',inputType: 'input',required: true},
-						{subTitle: '缁撴潫鏃惰景',value: '2',type: 'businessEndTimeDay',inputType: 'input',required: true}
+						{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'}
 					]},
-				]
+				],
+				
 			}
 		},
+		mounted() {
+			this.handlePcd();
+		},
 		methods: {
+			handlePcd() {
+				let sheng_s = '110000';  
+				let shi_s = '110100';  
+				let qu_s = '110101';  
+
+				let sheng = [];
+				let shi = [];
+				let qu = [];
+				this.pcds.forEach((sheng_item, sheng_index) => {
+					if (sheng_item.value === sheng_s) {
+						this.defaultIndex[0] = sheng_index
+						sheng_item.children.forEach((shi_item, shi_index) => {
+							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);
+							})
+							}
+						shi.push(shi_item.text);
+						})
+					}
+					sheng.push(sheng_item.text);
+				});
+				this.columns.push(
+					JSON.parse(JSON.stringify(sheng)),
+					JSON.parse(JSON.stringify(shi)),
+					JSON.parse(JSON.stringify(qu))
+				);
+			},
+			changeHandler(e) {
+				const {
+					columnIndex,
+					value,
+					values, // values涓哄綋鍓嶅彉鍖栧垪鐨勬暟缁勫唴瀹�
+					index,
+					// 寰俊灏忕▼搴忔棤娉曞皢picker瀹炰緥浼犲嚭鏉ワ紝鍙兘閫氳繃ref鎿嶄綔
+					picker = this.$refs.uPicker
+				} = e;
+				// console.log('娴嬭瘯鏁版嵁', e);
+				// 褰撶涓�鍒楀�煎彂鐢熷彉鍖栨椂锛屽彉鍖栫浜屽垪(鍚庝竴鍒�)瀵瑰簲鐨勯�夐」
+				if (columnIndex === 0) {
+					// console.log(value)
+					// picker涓洪�夋嫨鍣╰his瀹炰緥锛屽彉鍖栫浜屽垪瀵瑰簲鐨勯�夐」
+					this.pcds.forEach(item => {
+						if (value[0] == item.text) {
+							let shi = [];
+							let flag = item.children[0].text;
+							item.children.forEach((val, ol) => {
+								shi.push(val.text);
+								if (shi[0] == flag) { //璁剧疆榛樿寮�鍏筹紙閫夋嫨鐪佷唤鍚庤缃粯璁ゅ煄甯傦級
+									flag = '';
+									let qu = [];
+									val.children.forEach(vol => {
+										qu.push(vol.text);
+									});
+									picker.setColumnValues(2, qu);
+								}
+							});
+							picker.setColumnValues(1, shi);
+						}
+					});
+				}
+				//褰撶浜屽垪鍙樺寲鏃讹紝绗笁鍒楀搴斿彉鍖�
+				if (columnIndex === 1) {
+					this.pcds.forEach(item => {
+						if (value[0] == item.text) {
+							let shi = [];
+							item.children.forEach((val, ol) => {
+								shi.push(val.text);
+								if (value[1] == val.text) {
+									let qu = [];
+									val.children.forEach(vol => {
+										qu.push(vol.text);
+									});
+									picker.setColumnValues(2, qu);
+								}
+							});
+						}
+					});
+				}
+			},
 			submit() {
 				for (let k of this.form2) {
 					for (let sub of k.info) {
-						this.form[sub.type] = sub.value
-						console.log(sub);
+						if (sub.inputType == 'select') {
+							this.form[sub.type] = sub.submitVal
+						} else {
+							this.form[sub.type] = sub.value
+						}
 					}
 				}
-				
 				console.log(this.form);
 			},
-			confirm(e) {
+			showPicker(e) {
+				switch(e) {
+					case 'businessTransportation':
+						this.businessTransportationShow = true
+						break;
+					case 'businessReturn':
+						this.businessReturnShow = true
+						break
+					case 'pcdStart':
+						this.pcdShow = true  
+						break
+					case 'businessStartTimeDay':
+						this.businessStartTimeDayShow = true  
+						break
+					case 'businessEndTimeDay':
+						this.businessEndTimeDayShow = true  
+						break
+				}
+			},
+			businessTransportationConfirm(e) {
 				console.log('confirm', e)
-				this.show = false
+				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)
+				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)
+				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)
+				this.form2[2].info[3].value = e.value[0]
+				this.form2[2].info[3].submitVal = e.indexs[0]
+				this.businessEndTimeDayShow = false
+			},
+			pcdChangeHandler(e) {
+				const {
+					columnIndex,
+					value,
+					values, // values涓哄綋鍓嶅彉鍖栧垪鐨勬暟缁勫唴瀹�
+					index,
+					// 寰俊灏忕▼搴忔棤娉曞皢picker瀹炰緥浼犲嚭鏉ワ紝鍙兘閫氳繃ref鎿嶄綔
+					picker = this.$refs.uPicker
+				} = e
+				// 褰撶涓�鍒楀�煎彂鐢熷彉鍖栨椂锛屽彉鍖栫浜屽垪(鍚庝竴鍒�)瀵瑰簲鐨勯�夐」
+				if (columnIndex === 0) {
+					// picker涓洪�夋嫨鍣╰his瀹炰緥锛屽彉鍖栫浜屽垪瀵瑰簲鐨勯�夐」
+					picker.setColumnValues(1, this.columnData[index])
+				}
+			},
+			pcdStartConfirm(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)
+				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);
 			}
 		}
 	}

--
Gitblit v1.9.1