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