From 81b8089d94e7f9537b8f5a00b68c95a9e858e2bf Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 13 十一月 2023 12:48:41 +0800
Subject: [PATCH] #
---
pages/business/goBusiness/addgoBusiness.vue | 275 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 265 insertions(+), 10 deletions(-)
diff --git a/pages/business/goBusiness/addgoBusiness.vue b/pages/business/goBusiness/addgoBusiness.vue
index e3f8401..7a45756 100644
--- a/pages/business/goBusiness/addgoBusiness.vue
+++ b/pages/business/goBusiness/addgoBusiness.vue
@@ -8,17 +8,26 @@
</view>
<!-- body -->
<view class="card-body flex-column" v-for="subItem in item.info">
- <view class="flex"><text style="color: red;">*</text>{{subItem.subTitle}}</view>
+ <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="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="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="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>
@@ -30,30 +39,272 @@
</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 {
+ year: '2021-5-3',
placeholderStyle: 'font-size:20rpx',
form: {
// businessTripReasons: ''
},
+ redColor: '',
+ columns: [],
+ defaultIndex: [],
+ citysData: data.citysData,
+ businessTransportationShow: false,
+ businessTransportations: [['椋炴満','楂橀搧','鐏溅','姹借溅','鎽╂墭','鐢佃溅','鍏朵粬']],
+ businessReturnShow: false,
+ businessReturns: [['鍗曠▼','寰�杩�']],
+ pcdShow: false,
+ pcdEndShow: false,
+ pcds: data.citysData,
+ businessStartTimeDayShow: false,
+ businessStartTimeDays: [['涓婂崍','涓嬪崍']],
+ businessEndTimeDayShow: false,
+ businessEndTimeDays: [['涓婂崍','涓嬪崍']],
form2: [
- {title: '鍩烘湰淇℃伅',info:[{subTitle: '鍑哄樊浜嬬敱',value: '123',type: 'businessTripReasons'}]},
- {title: 'baseInfo',info:[{subTitle: '鍑哄樊浜嬬敱',value: 456}]}
- ]
+ {title: '鍩烘湰淇℃伅',info:[
+ {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: '2021-5-3',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: '2021-5-3',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'}
+ ]},
+ ],
+
}
},
+ 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() {
+ let subPass = true
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
+ }
+ 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);
+ console.log(subPass);
+ if(subPass) {
+ console.log(this.form);
+ }
+
+ },
+ showPicker(e) {
+ switch(e) {
+ case 'businessTransportation':
+ this.businessTransportationShow = true
+ break;
+ case 'businessReturn':
+ this.businessReturnShow = true
+ break
+ case 'pcdStart':
+ this.pcdShow = true
+ break
+ case 'pcdEnd':
+ this.pcdEndShow = true
+ break
+ case 'businessStartTimeDay':
+ this.businessStartTimeDayShow = true
+ break
+ case 'businessEndTimeDay':
+ this.businessEndTimeDayShow = true
+ break
+ }
+ },
+ businessTransportationConfirm(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)
+ 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);
+ 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);
}
}
}
@@ -78,6 +329,10 @@
.card-body {
margin: 8rpx 8rpx 0 8rpx ;
}
+ .card-required {
+ color: red;
+ padding-right: 4rpx;
+ }
.flex {
display: flex;
align-items: center;
--
Gitblit v1.9.1