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