From 7298e6cff9ed3e0137398283a96156dadbeabf5b Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期三, 12 十月 2022 17:07:28 +0800 Subject: [PATCH] 修改bug --- src/views/operate/disposal/casepool/pool/createUser/vio/index.vue | 390 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 271 insertions(+), 119 deletions(-) diff --git a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue index c58bc5a..7c84c25 100644 --- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue +++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue @@ -6,42 +6,52 @@ <div class="input-header__tip">濉啓浜嬩欢鍩虹淇℃伅</div> </div> <div class="input-form"> - <el-form ref="user" label-width="100px" autoComplete="on" :model="vio" :rules="createRoleRules" + <el-form ref="user" label-width="120px" autoComplete="on" :model="vio" :rules="createRoleRules" label-position="right"> - <!-- 闂绫诲瀷 --> - <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category"> - <el-select v-model="vio.category" placeholder="杩濊" disabled> - <el-option v-for="item in typeList" :key="item.label" :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <!-- 澶х被鍚嶇О --> - <el-form-item class="optionItems" label="澶х被鍚嶇О:" prop="categoryId"> - <el-select v-model="vio.categoryId" placeholder="璇烽�夋嫨澶х被鍚嶇О"> - <el-option v-for="item in bigKindList" :key="item.id" :label="item.name" :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 灏忕被鍚嶇О --> - <el-form-item class="optionItems" label="灏忕被鍚嶇О:" prop="typeId"> - <el-select v-model="vio.typeId" placeholder="璇烽�夋嫨灏忕被鍚嶇О"> - <el-option v-for="item in smallKindList" :key="item.id" :label="item.name" :value="item.id" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> - <!-- 浜嬩欢绛夌骇 --> - <el-form-item class="optionItems" label="浜嬩欢绛夌骇:" prop="gradeId"> - <el-select v-model="vio.gradeId" placeholder="璇烽�夋嫨妗堜欢绛夌骇"> - <el-option v-for="item in eventLevelList" :key="item.id" :label="item.name" :value="item.id" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> + <div class="user-item"> + <!-- 闂绫诲瀷 --> + <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category"> + <el-select v-model="vio.category" placeholder="杩濊" disabled> + <el-option v-for="item in typeList" :key="item.label" :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <!-- 澶х被鍚嶇О --> + <el-form-item class="optionItems" label="澶х被鍚嶇О:" prop="categoryId"> + <el-select v-model="vio.categoryId" placeholder="璇烽�夋嫨澶х被鍚嶇О" @change="handleBigKindChange"> + <el-option v-for="item in bigKindList" :key="item.id" :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + </div> + <div class="user-item"> + <!-- 灏忕被鍚嶇О --> + <el-form-item class="optionItems" label="灏忕被鍚嶇О:" prop="typeId" > + <el-select v-model="vio.typeId" placeholder="璇烽�夋嫨灏忕被鍚嶇О" @change="handleSmallKindChange"> + <el-option v-for="item in smallKindList" :key="item.id" :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <!-- 浜嬩欢绛夌骇 --> + <el-form-item class="optionItems" label="浜嬩欢绛夌骇:" prop="gradeId"> + <el-select v-model="vio.gradeId" placeholder="璇烽�夋嫨妗堜欢绛夌骇"> + <el-option v-for="item in eventLevelList" :key="item.id" :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + </div> <!-- 妗堢敱 --> <el-form-item class="optionItem" label="妗堢敱:" prop="actionCause"> - <el-input v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�"></el-input> + <el-select v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�"> + <el-option v-for="item in anYouList" :key="item.id" :label="item.name" + :value="item.id" > + </el-option> + </el-select> + <!-- <el-input v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�"></el-input> --> </el-form-item> <!-- 鎵�灞炲尯鍘� --> <!-- <el-form-item class="optionItems" label="鎵�灞炲尯鍘�:" prop="status"> @@ -51,69 +61,73 @@ </el-option> </el-select> </el-form-item> --> - <!-- 鎵�灞炶閬� --> - <el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId"> - <el-select v-model="vio.streetId" placeholder="璇烽�夋嫨鎵�灞炶閬�" @change="handleStreet"> - <el-option v-for="item in streetList" :key="item.id" :label="item.name" :value="item.id" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> - <!-- 鎵�灞炵ぞ鍖� --> - <el-form-item class="optionItems" label="鎵�灞炵ぞ鍖�:" prop="communityId"> - <el-select v-model="vio.communityId" placeholder="璇烽�夋嫨鎵�灞炵ぞ鍖�"> - <el-option v-for="item in communityList" :key="item.id" :label="item.name" :value="item.id" - :disabled="item.disabled"> - </el-option> - </el-select> - </el-form-item> + <div class="user-item"> + <!-- 鎵�灞炶閬� --> + <el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId"> + <el-select v-model="vio.streetId" placeholder="璇烽�夋嫨鎵�灞炶閬�" @change="handleStreet"> + <el-option v-for="item in streetList" :key="item.id" :label="item.name" :value="item.id" + :disabled="item.disabled"> + </el-option> + </el-select> + </el-form-item> + <!-- 鎵�灞炵ぞ鍖� --> + <el-form-item class="optionItems" label="鎵�灞炵ぞ鍖�:" prop="communityId"> + <el-select v-model="vio.communityId" placeholder="璇烽�夋嫨鎵�灞炵ぞ鍖�"> + <el-option v-for="item in communityList" :key="item.id" :label="item.name" + :value="item.id" :disabled="item.disabled"> + </el-option> + </el-select> + </el-form-item> + </div> <!-- 浜嬪彂鍦扮偣 --> <el-form-item class="optionItems" label="浜嬪彂鍦扮偣:" prop="site"> <el-input placeholder="璇疯緭鍏ヤ簨鍙戝湴璇︾粏浣嶇疆" v-model="vio.site"></el-input> </el-form-item> - <!-- 鏄惁鍏宠仈鍟嗛摵 --> - <el-form-item class="optionItems" label="鏄惁鍏宠仈鍟嗛摵:" prop="linkShop"> - <el-radio-group v-model="vio.linkShop"> - <el-radio :label="1">鏄�</el-radio> - <el-radio :label="0">鍚�</el-radio> - </el-radio-group> - </el-form-item> - <!-- 鍏宠仈鍟嗛摵鍚嶇О --> - <el-form-item class="optionItems" label="鍏宠仈鍟嗛摵鍚嶇О:" prop="shopName"> - <el-input placeholder="璇峰~鍐欏叧鑱斿晢閾哄悕绉�" v-model="vio.shopName" - :disabled="vio.linkShop === 1 ?false : true"></el-input> - </el-form-item> + <div class="user-item"> + <!-- 鏄惁鍏宠仈鍟嗛摵 --> + <el-form-item class="optionItems" label="鏄惁鍏宠仈鍟嗛摵:" prop="linkShop"> + <el-radio-group v-model="vio.linkShop" @change="handleLinkShop"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <!-- 鍏宠仈鍟嗛摵鍚嶇О --> + <el-form-item class="optionItems" label="鍏宠仈鍟嗛摵鍚嶇О:" prop="shopName"> + <el-input placeholder="璇峰~鍐欏叧鑱斿晢閾哄悕绉�" v-model="vio.shopName" + :disabled="vio.linkShop === 1 ?false : true"></el-input> + </el-form-item> + </div> <!-- 濉啓杞︾墝鍙� --> <el-form-item class="optionItems" label="濉啓杞︾墝鍙�:" prop="carNumber"> <el-input placeholder="璇峰~鍐欒溅鐗屽彿" v-model="vio.carNumber"></el-input> </el-form-item> <!-- 闂鎻忚堪 --> <el-form-item class="optionItems" label="闂鎻忚堪:" prop="description"> - <el-input type="textarea" maxlength="200" placeholder="璇疯緭鍏ュ唴瀹�200瀛椾互鍐�" v-model="vio.description"></el-input> + <el-input type="textarea" :rows="5" maxlength="200" placeholder="璇疯緭鍏ュ唴瀹�200瀛椾互鍐�" + v-model="vio.description"> + </el-input> </el-form-item> <!-- 鎶ヨ鏃堕棿 --> <el-form-item class="optionItems" label="鎶ヨ鏃堕棿:" prop="alarmTime"> <el-date-picker v-model="vio.alarmTime" type="datetime" placeholder="閫夋嫨鎶ヨ鏃堕棿"> </el-date-picker> </el-form-item> + <!-- 濉啓鍙嶆槧浜轰俊鎭� --> + <el-form-item class="optionItems" label="濉啓鍙嶆槧浜轰俊鎭�"> + </el-form-item> + <!-- 鍙嶆槧浜烘儏鍐� --> + <div class="user-item"> + <el-form-item class="optionItems" label="鍙嶆槧浜�:" prop="informant"> + <el-input v-model="vio.informant"></el-input> + </el-form-item> + <el-form-item class="optionItems" label="鑱旂郴鏂瑰紡:" prop="informantPhoneCode"> + <el-input v-model="vio.informantPhoneCode"></el-input> + </el-form-item> + </div> + <el-form-item class="optionItems" label="韬唤璇佸彿:" prop="informantIdCard"> + <el-input v-model="vio.informantIdCard"></el-input> + </el-form-item> </el-form> - </div> - <div class="not-need"> - <div class="not-need__header"> - 濉啓鍙嶆槧浜轰俊鎭� - </div> - <div class="not-need-item"> - <label>鍙嶆槧浜�:</label> - <el-input v-model="vio.informant"></el-input> - </div> - <div class="not-need-item"> - <label>鑱旂郴鏂瑰紡:</label> - <el-input v-model="vio.informantPhoneCode"></el-input> - </div> - <div class="not-need-item"> - <label>韬唤璇佸彿:</label> - <el-input v-model="vio.informantIdCard"></el-input> - </div> </div> <div class="input-footer"> <el-button type="primary" class="confirm" @click="handleSubmit">纭畾</el-button> @@ -127,6 +141,7 @@ </template> <script> import MyMap from '@/components/map' +import { validateName, validatePhone, validateCarNum } from '@/utils/validate' export default { components: { MyMap @@ -195,6 +210,49 @@ callback(new Error('鎶ヨ鏃堕棿涓嶈兘涓虹┖')) } } + const checkCarNumber = (rule, value, callback) => { + if (value) { + if (validateCarNum(value)) { + callback(); + } else { + callback(new Error('璇疯緭鍏ユ纭殑杞︾墝鍙�')); + } + } else { + callback(new Error("杞︾墝鍙蜂笉鑳戒负绌�")) + } + } + const checkName = (rule, value, callback) => { + if (value) { + validateName(value) ? callback():callback(new Error('璇疯緭鍏ユ纭殑濮撳悕')) + } else { + callback() + } + } + const checkCardId = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback() + } + } + const checkPhone = (rule, value, callback) => { + if (value) { + validatePhone(value) ? callback():callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�')); + } else { + callback() + } + } + const checkLink = (rule, value, callback) => { + if (value) { + callback(); + } else { + if(this.vio.linkShop===1){ + callback(new Error('鍏宠仈鍟嗛摵鍚嶅瓧涓嶈兘涓虹┖')); + }else{ + callback(); + } + } + } return { vio: { actionCause: "",//妗堢敱 @@ -224,7 +282,7 @@ //杞︾墝鍙� carNumber: [ { - required: false, + required: true, trigger: 'blur', validator: checkCarNumber } ], //澶х被 @@ -245,11 +303,27 @@ required: true, trigger: 'blur', validator: checkDesc } ], - // informant:"澶ц嫃鎵�",//鍙嶆槧浜� - // informantIdCard:"51102519910082831",//韬唤璇佸彿鐮� - // informantPhoneCode:"17844631885",//鍙嶆槧浜鸿仈绯绘柟寮� + informant:[ + { + required: false, trigger: 'blur', validator: checkName + } + ], + informantIdCard:[ + { + required: false, trigger: 'blur', validator: checkCardId + } + ], + informantPhoneCode:[ + { + required: false, trigger: 'blur', validator: checkPhone + } + ], // linkShop:0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�) - // shopName:"",//鍏宠仈鍟嗛摵鍚嶇О + shopName:[ + { + required: false, trigger: 'blur', validator: checkLink + } + ], //浜嬪彂鍦扮偣 site: [ { @@ -294,42 +368,69 @@ value: 2. } ], - streetList:[], - communityList:[], + streetList: [], + communityList: [], + anYouList:[], } }, created() { - const { getBigKind, getEventLevel, getSmallKind,getStreetList } = this; + const { setBigKindList,getStreetList,getEventLevel } = this; console.log(this.mytype); this.vio.category = this.mytype + 1; - getBigKind(); - getSmallKind(); - getEventLevel(); + setBigKindList(); getStreetList(); + getEventLevel(); }, methods: { handleStop() { this.refresh(); }, - // 鑾峰彇澶х被鍒楄〃 - getBigKind() { - this.$axios({ - method: 'get', - url: 'sccg/violations/query/type_first' - }).then(res => { - this.bigKindList = res.data; - // console.log(res); + // 璁剧疆澶х被 + async setBigKindList(){ + this.bigKindList = await this.getBigKind(); + }, + // 璁剧疆灏忕被 + async setSmallKindList(id){ + let arr = await this.getSmallKind(); + this.smallKindList = arr.filter(item=>{ + if(item.parentId===id){ + return item; + } }) }, - // 鑾峰彇灏忕被鍒楄〃 - getSmallKind() { - this.$axios({ + // 璁剧疆妗堢敱 + async setAnYouList(id){ + let arr = await this.getAnYouList(); + this.anYouList = arr.filter(item=>{ + if(item.parentId===id){ + return item; + } + }) + console.log(this.anYouList); + }, + // 鏌ヨ澶х被鍒楄〃 + async getBigKind() { + let arr = []; + await this.$axios({ method: 'get', - url: 'sccg/violations/query/type_second' + url: "sccg/violations/query/type_second", }) .then(res => { - this.smallKindList = res.data; + arr = res.data; }) + return arr + }, + // 鑾峰彇灏忕被鍒楄〃 + async getSmallKind() { + let arr = []; + await this.$axios({ + method: 'get', + url: "sccg/violations/query/type_third", + }) + .then(res => { + arr = res.data; + }) + return arr }, // 鑾峰彇妗堜欢绛夌骇鍒楄〃 getEventLevel() { @@ -340,6 +441,19 @@ .then(res => { this.eventLevelList = res.data; }) + }, + // 鏌ヨ鎵�灞炴鐢� + async getAnYouList() { + let arr = []; + await this.$axios({ + method: 'get', + url: 'sccg/violations/query/type_four' + }) + .then(res => { + arr = res.data; + console.log(res); + }) + return arr; }, // 鎻愪氦娉ㄥ唽淇℃伅 handleSubmit() { @@ -373,32 +487,48 @@ }) }, // 杩斿洖 - handleBack(){ - this.$emit('changeDialog',{flag:false}) + handleBack() { + this.$emit('changeDialog', { flag: false }) }, // 鑾峰彇琛楅亾淇℃伅 - getStreetList(){ + getStreetList() { this.$axios({ - method:'get', - url:'sccg/dict/query_Street_type' + method: 'get', + url: 'sccg/dict/query_Street_type' }) - .then(res=>{ - this.streetList = res.data; - }) + .then(res => { + this.streetList = res.data; + }) }, // 琛楅亾鏇存敼 - handleStreet(id){ + handleStreet(id) { console.log(id); + this.vio.communityId = ''; this.$axios({ - method:'get', - url:'sccg/dict/query_social_type?id='+id + method: 'get', + url: 'sccg/dict/query_social_type?id=' + id }) - .then(res=>{ - this.communityList = res.data; - }) - } + .then(res => { + this.communityList = res.data; + }) + }, + // 鍏宠仈鍟嗛摵 + handleLinkShop(value) { + value === 0 ? this.vio.shopName = '' : ''; + }, + // 澶х被閫変腑 + handleBigKindChange(id){ + this.vio.actionCause = ''; + this.vio.typeId = ''; + this.setSmallKindList(id); + }, + // 灏忕被閫変腑 + handleSmallKindChange(id){ + this.vio.actionCause = ''; + this.setAnYouList(id); + } }, - props: ['mytype', 'changeDialog','refresh'] + props: ['mytype', 'changeDialog', 'refresh'] } </script> <style lang="scss" scoped> @@ -422,6 +552,11 @@ .input-header__tip { line-height: 40px; } + } + + .user-item { + display: flex; + justify-content: space-between; } .input-form { @@ -459,6 +594,19 @@ line-height: 40px; } + .my-sp-item { + display: flex; + + .not-item-left, + .not-item-right { + display: flex; + + .el-input { + flex: 1; + } + } + } + .not-need-item { line-height: 40px; margin-bottom: 22px; @@ -470,6 +618,10 @@ text-align: right; } + .el-input { + flex: 1; + } + .not-need__inner { flex: 1; line-height: 40px; -- Gitblit v1.8.0