From 01df31be1b35304a81049a6703302b8efef96035 Mon Sep 17 00:00:00 2001 From: lrw <18279117177@163.com> Date: Sat, 15 Feb 2020 22:57:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/fillIn/fillIn.vue | 676 +++++++++++++++++++++++++++++----------- 1 file changed, 497 insertions(+), 179 deletions(-) diff --git a/pages/fillIn/fillIn.vue b/pages/fillIn/fillIn.vue index c61e8f7..b843900 100644 --- a/pages/fillIn/fillIn.vue +++ b/pages/fillIn/fillIn.vue @@ -2,30 +2,32 @@ <view class="questionnaire"> <form @submit="formSubmit"> <template v-for="(item,index) in list"> - <view v-if="item.type == 'radio'" class="margin-top padding sict-label" :key="item.value"> - <view v-show="!item.hidden"> - <span style="color:red;display: inline-block; vertical-align:inherit;margin-right:4upx" v-if="item.required">*</span> - {{index+1}}〠{{item.label}} - </view> - <view class="text-right sict-value" v-show="!item.hidden"> - <radio-group> - <view> - <view class="label" v-for="(opt, optIndex) in item.opts" :key="opt.label" @click="radioChange(opt.value,item.value)"> - <radio :class="form[item.value]== opt.value ?'checked':''" :checked="form[item.value]== opt.value?true:false" - :value="opt.value"></radio> - <view style="display: inline-block;" class="right">{{opt.label}}</view> + <template v-if="item.type == 'radio'"> + <view class="margin-top padding sict-label" :key="item.value" v-show="!item.hidden"> + <view v-show="!item.hidden"> + <span style="color:red;display: inline-block; vertical-align:inherit;margin-right:4upx" v-if="item.required">*</span> + {{index+1}}〠{{item.label}} + </view> + <view class="text-right sict-value" v-show="!item.hidden"> + <radio-group @change="showChange($event,item)"> + <view> + <view class="label" v-for="(opt, optIndex) in item.opts" :key="opt.label"> + <radio :class="form[item.value]== opt.value ?'checked':''" :checked="form[item.value]== opt.value?true:false" + :value="opt.value"></radio> + <view style="display: inline-block;" class="right">{{opt.label}}</view> + </view> </view> - </view> - </radio-group> + </radio-group> + </view> </view> - </view> + </template> <template v-else-if="item.type == 'picker'"> <view class="cu-form-group margin-top padding-rl" v-show="!item.hidden" :key="item.value"> <view :class="item.titleClass"><span style="color:red;display: inline-block; vertical-align:inherit;margin-right:4upx" v-if="item.required">*</span>{{index+1}}ã€{{item.label}}</view> - <picker @change="updatePickerVal($event,item.value)" range-key="label" :value="form[item.value]" :range="item.opts"> + <picker @change="updatePickerVal($event,item)" range-key="label" mode="selector" :value="form[item.value]" :range="item.opts"> <view class="picker"> - {{form[item.value]>-1?item.opts[form[item.value]].label:'请选择'}} + {{form[item.value]?form[item.value]:'请选择'}} </view> </picker> </view> @@ -37,9 +39,9 @@ <uni-collapse-item :title="index+1 +'ã€' + item.label" :open="true" :required="item.required"> <view class="padding-lr"> <view class="uni-list"> - <checkbox-group> + <checkbox-group @change="showChange($event,item)"> <label class="uni-list-cell uni-list-cell-pd" v-for="(itemCheck,indexCheck) in item.opts" :key="itemCheck.value" - @click="checkboxChange(indexCheck,item.opts,itemCheck,item.value)"> + @click="checkboxChange(indexCheck,itemCheck,item)"> <view class="list-item"> <view class="fl"> <checkbox :value="itemCheck.value" :checked="itemCheck.checked" /> @@ -59,15 +61,15 @@ <view class="cu-form-group margin-top padding-rl" v-show="!item.hidden" :key="item.value"> <view :class="item.titleClass"><span style="color:red;display: inline-block; vertical-align:inherit;margin-right:4upx" v-if="item.required">*</span>{{index+1}}ã€{{item.label}}</view> - <picker mode="date" :value="date" start="2015-09-01" end="2020-09-01" @change="updatePickerVal($event,item.value)"> + <picker mode="date" :value="date" start="2015-09-01" end="2020-09-01" @change="updatePickerVal($event,item)"> <view class="picker"> - {{form[item.value]>-1?item.opts[form[item.value]].label:'请选择'}} + {{form[item.value]?form[item.value]:'请选择'}} </view> </picker> </view> </template> <template v-else-if="item.type == 'input'"> - <view class="cu-form-group margin-top padding-rl" :key="item.value"> + <view class="cu-form-group margin-top padding-rl" :key="item.value" v-show="!item.hidden"> <view :class="item.titleClass"> <span style="color:red;display: inline-block; vertical-align:inherit;margin-right:4upx" v-if="item.required">*</span> {{index+1}}ã€{{item.label}}</view> @@ -84,7 +86,7 @@ <checkbox v-if="childItem.type == 'radio'" :class="form[childItem.value]?'checked':''" :checked="form[childItem.value]?true:false" :value="childItem.value"></checkbox> - <picker v-else-if="childItem.type == 'picker'" range-key="label" @change="updatePickerVal($event,childItem.value)" + <picker v-else-if="childItem.type == 'picker'" range-key="label" @change="updatePickerVal($event,childItem)" :value="form[childItem.value]" :range="childItem.opts"> <view class="picker"> {{form[childItem.value]>-1?childItem.opts[form[childItem.value]].label:'请选择'}} @@ -98,11 +100,11 @@ <view class="cu-form-group margin-top-sm"> <view class="uni-padding-wrap uni-common-mt"> - <view class="padding-top padding-bottom"> - <checkbox-group @change="checkboxChange($event,'agree')"> + <view class="padding-top padding-bottom" > + <checkbox-group @click="openModal"> <label> - <checkbox value="A" :checked="form.agree == 'a'" class="fl" style="margin-top:4upx" /> - <view style="padding-left:60upx;padding-top:6upx" @click="modalName = 'Modal'"> + <checkbox value="A" :checked="form.agree == '1'" class="fl" style="margin-top:4upx" /> + <view style="padding-left:60upx;padding-top:6upx"> 我已阅读ç†è§£äº†å…¨éƒ¨æƒ…å†µï¼Œæˆ‘åŒæ„å‚åŠ </view> </label> @@ -112,7 +114,7 @@ </checkbox-group> </view> - <view class="cu-modal" :class="modalName=='Modal'?'show':''"> + <view class="cu-modal" :class="modalName?'show':''"> <view class="cu-dialog"> <view class="cu-bar bg-white justify-end text-bold"> <view class="content">çŸ¥æƒ…åŒæ„书</view> @@ -160,7 +162,7 @@ }, data() { return { - modalName: '', + modalName: false, id: '', radio: [], shanghaiList: [{ @@ -452,7 +454,7 @@ list: [{ label: 'å•ä½åç§°', required: true, - value: 'orgId', + value: 'orgName', titleClass: 'title', type: 'picker', opts: [] @@ -489,7 +491,7 @@ placeholder: '请输入è”系方å¼', type: 'input', }, - { + { label: '国ç±', required: true, value: 'nationality', @@ -1332,12 +1334,16 @@ titleClass: 'title', type: 'radio', opts: [{ - value: 'a', - label: '是' - }, { - value: 'b', - label: 'å¦' - }], + value: '0', + label: 'å¦' + }, + { + value: '1', + label: '是' + }, + ], + show: [11], + showValue: ['1'] }, { label: '计划å¤å·¥æ—¥æœŸ', @@ -1345,21 +1351,26 @@ required: true, value: 'planReturnDate', titleClass: 'title', - type: 'date' + type: 'date', + num: 11 }, { label: '是å¦ç¦»æ²ª', required: true, value: 'left', titleClass: 'title', - type: 'picker', + type: 'radio', opts: [{ - value: 'a', - label: '是' - }, { - value: 'b', - label: 'å¦' - }] + value: '0', + label: 'å¦' + }, + { + value: '1', + label: '是' + } + ], + show: [13, 14, 15, 16, 17, 18, 19, 20, 21], + showValue: ['1'] }, { label: 'ç¦»æ²ªåŽŸå› ', @@ -1379,7 +1390,9 @@ }, { value: 'b', label: 'å…¶ä»–' - }] + }], + num: 13, + hidden: true, }, { label: 'ç¦»æ²ªå‡ºå‘æ—¥æœŸ', @@ -1387,26 +1400,32 @@ value: 'leftDate', titleClass: 'title', type: 'date', + num: 14, + hidden: true, }, { label: '离沪方å¼', required: true, value: 'leftVehicle', titleClass: 'title', - type: 'date', + type: 'radio', opts: [{ - value: 'a', + value: 'ç«è½¦', label: 'ç«è½¦ ' }, { value: '飞机', - label: 'å¦' + label: '飞机' }, { value: '客车', - label: 'å¦' + label: '客车' }, { value: '自驾', - label: 'å¦' - }] + label: '自驾' + }], + num: 15, + show: ['16'], + showValue: ['ç«è½¦', '飞机'], + hidden: true, }, { label: '离沪车次/航ç', @@ -1415,6 +1434,8 @@ titleClass: 'title', placeholder: '请输入地å€', type: 'input', + num: 16, + hidden: true, }, { label: '离沪到达日期', @@ -1422,13 +1443,8 @@ value: 'leftReachDate', titleClass: 'title', type: 'date', - opts: [{ - value: 'a', - label: '是' - }, { - value: 'b', - label: 'å¦' - }] + num: 17, + hidden: true, }, { label: '离沪目的地', @@ -1437,6 +1453,8 @@ titleClass: 'title', placeholder: '请输入地å€', type: 'input', + num: 18, + hidden: true, }, { label: '离沪具体地å€', @@ -1445,6 +1463,8 @@ titleClass: 'title', placeholder: '请输入地å€', type: 'input', + num: 19, + hidden: true, }, { label: '离沪åŒè¡Œè€…å§“åï¼ˆæ²¡æœ‰å¡«æ— ï¼‰', @@ -1453,6 +1473,8 @@ titleClass: 'title', placeholder: '请输入', type: 'input', + num: 20, + hidden: true, }, { label: '离沪åŒè¡Œè€…è”系方å¼ï¼ˆæ²¡æœ‰å¡«æ— )', @@ -1461,19 +1483,23 @@ titleClass: 'title', placeholder: '请输入', type: 'input', + num: 21, + hidden: true, }, { label: '是å¦è¿”沪', required: true, value: 'backed', titleClass: 'title', - type: 'picker', + type: 'radio', + show: [23, 24, 25, 26, 27, 28, 29], + showValue: ['1'], opts: [{ - value: 'a', - label: '是' - }, { - value: 'b', + value: '0', label: 'å¦' + }, { + value: '1', + label: '是' }] }, { @@ -1483,6 +1509,8 @@ titleClass: 'title', placeholder: '请输入', type: 'input', + num: 23, + hidden: true, }, { label: 'è¿”æ²ªå‡ºå‘æ—¥æœŸ', @@ -1490,26 +1518,32 @@ value: 'backDate', titleClass: 'title', type: 'date', + num: 24, + hidden: true, }, { label: '返沪方å¼', required: true, value: 'backVehicle', titleClass: 'title', - type: 'picker', + type: 'radio', opts: [{ - value: 'a', + value: 'ç«è½¦', label: 'ç«è½¦ ' }, { value: '飞机', - label: 'å¦' + label: '飞机' }, { value: '客车', - label: 'å¦' + label: '客车' }, { value: '自驾', - label: 'å¦' - }] + label: '自驾' + }], + show: ['26'], + showValue: ['ç«è½¦', '飞机'], + num: 25, + hidden: true, }, { label: '返沪车次/航ç', @@ -1518,6 +1552,8 @@ titleClass: 'title', placeholder: '请输入地å€', type: 'input', + num: 26, + hidden: true, }, { label: '返沪到达日期', @@ -1525,6 +1561,8 @@ value: 'backReachedDate', titleClass: 'title', type: 'date', + num: 27, + hidden: true, }, { label: '返沪åŒè¡Œè€…å§“åï¼ˆæ²¡æœ‰å¡«æ— ï¼‰', @@ -1533,6 +1571,8 @@ titleClass: 'title', placeholder: '请输入', type: 'input', + num: 28, + hidden: true, }, { label: '返沪åŒè¡Œè€…è”系方å¼ï¼ˆæ²¡æœ‰å¡«æ— )', @@ -1541,113 +1581,262 @@ titleClass: 'title', placeholder: '请输入', type: 'input', + num: 29, + hidden: true, }, { label: '当å‰çж况', required: true, value: 'currentStatus', titleClass: 'title', - type: 'picker', + type: 'pickerMore', opts: [{ - value: 'a', + value: 'å·²ç»ç¡®è¯Š', label: 'å·²ç»ç¡®è¯Š' }, { - value: 'b', + value: '疑似诊æ–', label: '疑似诊æ–' }, { - value: 'b', + value: '亲密接触者', label: '亲密接触者' }, { - value: 'b', - label: 'æ£åœ¨æŽ¥å—集ä¸åŒ»å¦è§‚察' - }, { - value: 'b', - label: '居家观察' + value: '居家观察/æ£åœ¨æŽ¥å—集ä¸åŒ»å¦è§‚察', + label: '居家观察/æ£åœ¨æŽ¥å—集ä¸åŒ»å¦è§‚察' }, { - value: 'b', + value: '已解除集ä¸åŒ»å¦è§‚察', label: '已解除集ä¸åŒ»å¦è§‚察' }, { - value: 'b', + value: 'æ— ä¸Šè¿°æƒ…å†µ', label: 'æ— ä¸Šè¿°æƒ…å†µ' - }] + }], + showList: [{ + value: '亲密接触者', + show: '32,48' + }, + + { + value: '居家观察/æ£åœ¨æŽ¥å—集ä¸åŒ»å¦è§‚察', + show: '49,50', + }, + ] }, + { - label: '症状', + label: 'åœç•™æ¹–北', required: true, - value: 'symptom', + value: 'hubeiStopped', titleClass: 'title', - type: 'pickerMore', + type: 'radio', + num: 32, + hidden: true, opts: [{ - value: 'å‘çƒ', - label: 'å‘çƒ' - }, { - value: '咳嗽', - label: '咳嗽' - }, { - value: 'æµæ¶•', - label: 'æµæ¶•' - }, { - value: '咽痛', - label: '咽痛' - }, { - value: '咳痰', - label: '咳痰' - }, { - value: '胸痛', - label: '胸痛' - }, { - value: '肌肉酸痛/关节痛', - label: '肌肉酸痛/关节痛' - }, { - value: '气促', - label: '气促' - }, { - value: '腹泻', - label: '腹泻' + value: '0', + label: 'å¦' }, { - value: 'ä»¥ä¸Šå‡æ— ', - label: 'ä»¥ä¸Šå‡æ— ' - }] + value: '1', + label: '是' + }], + show: [33, 34], + showValue: ['1'] }, { - label: '湖北接触å²', + label: '到达湖北日期', required: true, - value: 'relativesGastricCount', + value: 'hubeiStopStartDate', + titleClass: 'title', + type: 'date', + num: 33, + hidden: true + }, + { + label: '离开湖北日期', + required: true, + value: 'hubeiStopEndDate', + titleClass: 'title', + type: 'date', + num: 34, + hidden: true + }, + + { + label: '途径湖北', + required: true, + value: 'hubeiPassed', titleClass: 'title', type: 'radio', opts: [{ - value: 'å·²ç»ç¡®è¯Š', - label: 'å·²ç»ç¡®è¯Š' + value: '0', + label: 'å¦' }, { - value: '疑似诊æ–', - label: '疑似诊æ–' + value: '1', + label: '是' + }], + show: [36, 37], + num: 35, + hidden: true, + showValue: ['1'] + }, + { + label: '途径湖北到达日期', + required: true, + value: 'hubeiPassStartDate', + titleClass: 'title', + type: 'date', + num: 36, + hidden: true + }, + { + label: '途径湖北离开日期', + required: true, + value: 'hubeiPassEndDate', + titleClass: 'title', + type: 'date', + num: 37, + hidden: true + }, + { + label: '接触湖北人员', + required: true, + value: 'hubeiContacted', + titleClass: 'title', + type: 'radio', + opts: [{ + value: '0', + label: 'å¦' }, { - value: '亲密接触者', - label: '亲密接触者' + value: '1', + label: '是' + }], + show: [39], + num: 38, + hidden: true, + showValue: ['1'] + }, + { + label: '接触湖北人员接触时间', + required: true, + value: 'hubeiContactDate', + titleClass: 'title', + type: 'date', + num: 39, + hidden: true + }, + { + label: '家属åœç•™æˆ–途径湖北', + required: true, + value: 'hubeiFamilyStopped', + titleClass: 'title', + type: 'radio', + opts: [{ + value: '0', + label: 'å¦' }, { - value: 'æ£åœ¨æŽ¥å—集ä¸åŒ»å¦è§‚察', - label: 'æ£åœ¨æŽ¥å—集ä¸åŒ»å¦è§‚察' + value: '1', + label: '是' + }], + show: [41, 42], + num: 40, + hidden: true, + showValue: ['1'] + }, + { + label: '家属åœç•™æˆ–途径湖北到达日期', + required: true, + value: 'hubeiFamilyStopStartDate', + titleClass: 'title', + type: 'date', + num: 41, + hidden: true + }, + { + label: '家属åœç•™æˆ–途径湖北离开日期', + required: true, + value: 'hubeiFamilyStoppEndDate', + titleClass: 'title', + type: 'date', + num: 42, + hidden: true + }, + { + label: '家属接触湖北人员', + required: true, + value: 'hubeiFamilyContacted', + titleClass: 'title', + type: 'radio', + opts: [{ + value: '0', + label: 'å¦' }, { - value: '居家观察', - label: '居家观察' + value: '1', + label: '是' + }], + show: [44], + num: 43, + hidden: true, + showValue: ['1'] + }, + { + label: '家属接触湖北人员接触时间', + required: true, + value: 'hubeiFamilyContactDate', + titleClass: 'title', + type: 'date', + num: 44, + hidden: true + }, + { + label: '接触过已确诊或疑似患者', + required: true, + value: 'patientContact', + titleClass: 'title', + type: 'radio', + opts: [{ + value: '0', + label: 'å¦' }, { - value: '已解除集ä¸åŒ»å¦è§‚察', - label: '已解除集ä¸åŒ»å¦è§‚察' - }] + value: '1', + label: '是' + }], + show: [46], + num: 45, + hidden: true, + showValue: ['1'] }, { - label: '患者接触å²', + label: '接触患者时间', required: true, - value: 'relativesGastricCount', + value: 'patientContactDate', + titleClass: 'title', + type: 'date', + num: 46, + hidden: true + }, + { + label: '家属接触过已确诊或疑似患者', + required: true, + value: 'familyPatientContact', titleClass: 'title', type: 'radio', opts: [{ - value: '接触过已确诊或疑似患者', - label: '接触过已确诊或疑似患者' + value: '0', + label: 'å¦' }, { - value: '家属接触过已确诊或疑似患者', - label: '家属接触过已确诊或疑似患者' - }] + value: '1', + label: '是' + }], + show: [48], + num: 47, + hidden: true, + showValue: ['1'] + }, + { + label: '家属接触患者时间', + required: true, + value: 'familyPatientContactDate', + titleClass: 'title', + type: 'date', + num: 48, + hidden: true }, { label: '隔离地å€', @@ -1656,6 +1845,8 @@ titleClass: 'title', placeholder: '请输入', type: 'input', + num: 49, + hidden: true }, { label: '隔离开始日期', @@ -1663,18 +1854,59 @@ value: 'quarantineDate', titleClass: 'title', type: 'date', + num: 50, + hidden: true + }, + { + label: '症状', + required: true, + value: 'symptom', + titleClass: 'title', + type: 'pickerMore', + opts: [{ + value: 'å‘çƒ', + label: 'å‘çƒ' + }, { + value: '咳嗽', + label: '咳嗽' + }, { + value: 'æµæ¶•', + label: 'æµæ¶•' + }, { + value: '咽痛', + label: '咽痛' + }, { + value: '咳痰', + label: '咳痰' + }, { + value: '胸痛', + label: '胸痛' + }, { + value: '肌肉酸痛/关节痛', + label: '肌肉酸痛/关节痛' + }, { + value: '气促', + label: '气促' + }, { + value: '腹泻', + label: '腹泻' + }, { + value: 'ä»¥ä¸Šå‡æ— ', + label: 'ä»¥ä¸Šå‡æ— ' + }] }, ], form: { - agree: '', - orgId: -1, + agree: 0, + orgId: '', + orgName: '', department: '', position: '', name: '', phone: '', - nationality: -1, + nationality: '', idCard: '', - returnToWork: -1, + returnToWork: '', householdAddress: '', residenceAddress: '', planReturnDate: '' @@ -1688,6 +1920,15 @@ methods: { + openModal() { + if(!this.form.agree) { + this.form.agree = '1' + this.modalName = true + }else { + this.form.agree = 0 + } + + }, getOrg() { const data = { params: { @@ -1716,27 +1957,86 @@ }, // æ›´æ–°å¤é€‰æ¡†ç»‘定的表å•内容 - checkboxChange(index, checkList, obj, prop) { - for (var i = 0, lenI = checkList.length; i < lenI; ++i) { + checkboxChange(index, obj, item) { + const checkList = item.opts + const prop = item.value + for (let i = 0, lenI = checkList.length; i < lenI; ++i) { if (index == i) { this.$set(checkList[i], 'checked', !checkList[i].checked) } } - // 处ç†ä»¥ä¸Šå‡æ— 情况 - if (obj.label == 'ä»¥ä¸Šå‡æ— ') { + // 处ç†ä»¥ä¸Šå‡æ— 情况 + const nullList = ['æ— ä¸Šè¿°æƒ…å†µ', 'ä»¥ä¸Šå‡æ— '] + if (nullList.includes(obj.label)) { for (var i = 0, lenI = checkList.length; i < lenI; ++i) { this.$set(checkList[i], 'checked', false) } this.$set(checkList[checkList.length - 1], 'checked', true) + this.form[prop] = obj.label } else { this.$set(checkList[checkList.length - 1], 'checked', false) + const values = [] + for (var i = 0, lenI = checkList.length; i < lenI; ++i) { + if(checkList[i].checked) { + values.push(checkList[i].label) + } + } + this.form[prop] = values.join(',') } + }, radioChange(val, prop) { this.$set(this.form, prop, val) this.isShowChild() }, + // éšè—/显示 + showChange(evt, item) { + const prop = item.value + const type = item.type + if (type === 'radio') { + const val = evt.target.value + this.$set(this.form, prop, val) + for (let i = 0; i < this.list.length; i++) { + const current = this.list[i] + if (current.value == prop && current.show) { + current.show.forEach(child => { + this.list.forEach(row => { + if (child == row.num) { + this.$set(row, 'hidden', !current.showValue.includes(val)) + } + }) + }) + } + } + } + // å¤é€‰æ¡†å±•示和éšè— + if (type === 'pickerMore') { + console.log(evt) + const nullList = ['æ— ä¸Šè¿°æƒ…å†µ','ä»¥ä¸Šå‡æ— '] + const checkList = item.opts + let val = evt.detail.value; + const showList = item.showList + if (showList && showList.length > 0) { + showList.forEach(item => { + const start = +item.show.split(',')[0] + const end = +item.show.split(',')[1] + for (let i = start, lenI = end; i <= end; i++) { + this.list.forEach(row => { + if (i == row.num) { + this.$set(row, 'hidden', !val.includes(item.value)) + } + }) + } + + }) + + } + } + + + + }, isShowChild() { console.log(this.form['returnToWork']) this.list[10].hidden = this.form['returnToWork'] == 'a' @@ -1750,47 +2050,65 @@ this.form[props] = event.target.value }, // 更新下拉框绑定的表å•内容 - updatePickerVal(event, props) { - this.$set(this.form, props, event.detail.value) + updatePickerVal(event, item) { + console.log(event) + const opts = item.opts + const prop = item.value + const val = event.detail.value + if (!opts) { + this.$set(this.form, prop, val) + return + } + for (let i = 0; i < opts.length; i++) { + if (i == val) { + if (prop == 'orgName') { + this.$set(this.form, 'orgId', opts[i].value) + this.$set(this.form, prop, opts[i].label) + } else { + this.$set(this.form, prop, opts[i].label) + } + } + } }, // æäº¤ä¿¡æ¯ formSubmit() { console.log(this.form) - // let flag = true - // let msg = '' - // for (let i = 0; i < this.list.length; i++) { - // if(this.list[i].required){ - // if(!this.form[this.list[i].value]){ - // flag = false - // uni.showToast({ - // icon: 'none', - // title: "第"+(i+1)+"é¡¹æœ‰å¿…å¡«æ•°æ®æœªå¡«å†™" - // }) - // break - // } - // if(!flag){ - // break - // } - // } - // } + let flag = true + let msg = '' + for (let i = 0; i < this.list.length; i++) { + if (this.list[i].required) { + const val = this.form[this.list[i].value] + if ((!val || val == -1) && !this.list[i].hidden) { + flag = false + uni.showToast({ + icon: 'none', + title: `第${i+1}项${this.list[i].label }未填写` + }) + break + } + if (!flag) { + break + } + } + } - // if(!flag){ - // return false - // }else{ - // this.$http.post(`/ewell-gastric-cancer-data/wechat/report`,obj).then(res => { - // const d = res.data - // if(d.code == 1){ + if (!flag) { + return false + } else { + this.$http.post(`/sict-ncov/record`, this.form).then(res => { + const d = res.data + if (d.code == 1) { - // }else{ - // uni.showToast({ - // icon: 'none', - // title: d.message - // }) - // } - // }).catch(err => { - // console.log(err) - // }) - // } + } else { + uni.showToast({ + icon: 'none', + title: d.message + }) + } + }).catch(err => { + console.log(err) + }) + } } } } -- 2.22.0