From d1275c89f3e4ed08ab33d0e06c04d6e9d4959654 Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期三, 02 十一月 2022 14:28:43 +0800 Subject: [PATCH] 新增车辆轨迹 --- src/views/operate/disposal/casepool/pool/createUser/vio/index.vue | 215 +++++++++++++++++++++++++---------------------------- 1 files changed, 101 insertions(+), 114 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 7c84c25..3471e50 100644 --- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue +++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue @@ -28,7 +28,7 @@ </div> <div class="user-item"> <!-- 灏忕被鍚嶇О --> - <el-form-item class="optionItems" label="灏忕被鍚嶇О:" prop="typeId" > + <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"> @@ -45,13 +45,11 @@ </el-form-item> </div> <!-- 妗堢敱 --> - <el-form-item class="optionItem" label="妗堢敱:" prop="actionCause"> - <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 class="optionItem anyou" label="妗堢敱:" prop="actionCause"> + <el-select v-model="vio.actionCause" placeholder="璇疯緭鍏ユ鐢�" filterable @blur="selectBlur"> + <el-option v-for="item in anYouList" :key="item.id" :label="item.name" :value="item.name"> + </el-option> + </el-select> </el-form-item> <!-- 鎵�灞炲尯鍘� --> <!-- <el-form-item class="optionItems" label="鎵�灞炲尯鍘�:" prop="status"> @@ -65,16 +63,16 @@ <!-- 鎵�灞炶閬� --> <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 v-for="item in streetList" :key="item.id" :label="item.regionName" :value="item.id" + > </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 v-for="item in communityList" :key="item.id" :label="item.regionName" + :value="item.id" > </el-option> </el-select> </el-form-item> @@ -107,11 +105,18 @@ 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> + <div class="user-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="璋冨害鏃堕檺:" prop="limitTime"> + <el-date-picker v-model="vio.limitTime" type="datetime" placeholder="閫夋嫨璋冨害鏃堕檺"> + </el-date-picker> + </el-form-item> + </div> <!-- 濉啓鍙嶆槧浜轰俊鎭� --> <el-form-item class="optionItems" label="濉啓鍙嶆槧浜轰俊鎭�"> </el-form-item> @@ -141,7 +146,9 @@ </template> <script> import MyMap from '@/components/map' -import { validateName, validatePhone, validateCarNum } from '@/utils/validate' +import { validateName, validatePhone, validateCarNum, validateCardId } from '@/utils/validate' +import { getTypeList } from '@/utils/helper' +import { parseTime } from "@/utils/index" export default { components: { MyMap @@ -223,21 +230,21 @@ } const checkName = (rule, value, callback) => { if (value) { - validateName(value) ? callback():callback(new Error('璇疯緭鍏ユ纭殑濮撳悕')) + validateName(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑濮撳悕')) } else { callback() } } const checkCardId = (rule, value, callback) => { if (value) { - callback(); + validateCardId(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�')) } else { callback() } } const checkPhone = (rule, value, callback) => { if (value) { - validatePhone(value) ? callback():callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�')); + validatePhone(value) ? callback() : callback(new Error('璇疯緭鍏ユ纭殑鎵嬫満鍙�')); } else { callback() } @@ -246,11 +253,18 @@ if (value) { callback(); } else { - if(this.vio.linkShop===1){ + if (this.vio.linkShop === 1) { callback(new Error('鍏宠仈鍟嗛摵鍚嶅瓧涓嶈兘涓虹┖')); - }else{ + } else { callback(); } + } + } + const checkLimit = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('璋冨害鏃堕檺鏃堕棿涓嶈兘涓虹┖')) } } return { @@ -270,7 +284,8 @@ streetId: '',//鎵�灞炶閬� typeId: '',//灏忕被 gradeId: '',//妗堜欢绛夌骇 - alarmTime: '' + alarmTime: '', + limitTime: '',//璋冨害鏃堕檺 }, createRoleRules: { //妗堢敱 @@ -279,12 +294,12 @@ required: true, trigger: 'blur', validator: checkCause, } ], - //杞︾墝鍙� - carNumber: [ - { - required: true, trigger: 'blur', validator: checkCarNumber - } - ], + // //杞︾墝鍙� + // carNumber: [ + // { + // required: true, trigger: 'blur', validator: checkCarNumber + // } + // ], //澶х被 categoryId: [ { @@ -303,23 +318,23 @@ required: true, trigger: 'blur', validator: checkDesc } ], - informant:[ + informant: [ { required: false, trigger: 'blur', validator: checkName } ], - informantIdCard:[ + informantIdCard: [ { required: false, trigger: 'blur', validator: checkCardId } ], - informantPhoneCode:[ + informantPhoneCode: [ { required: false, trigger: 'blur', validator: checkPhone } ], // linkShop:0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�) - shopName:[ + shopName: [ { required: false, trigger: 'blur', validator: checkLink } @@ -352,6 +367,11 @@ { required: true, trigger: 'change', validator: checkDate } + ], + limitTime: [ + { + required: true, trigger: 'change', validator: checkLimit + } ] }, @@ -370,15 +390,15 @@ ], streetList: [], communityList: [], - anYouList:[], + anYouList: [], } }, created() { - const { setBigKindList,getStreetList,getEventLevel } = this; + const { setBigKindList, getStreetList, getEventLevel } = this; console.log(this.mytype); this.vio.category = this.mytype + 1; setBigKindList(); - getStreetList(); + getStreetList(0); getEventLevel(); }, methods: { @@ -386,23 +406,23 @@ this.refresh(); }, // 璁剧疆澶х被 - async setBigKindList(){ - this.bigKindList = await this.getBigKind(); + async setBigKindList() { + this.bigKindList = await this.getBigKind(); }, // 璁剧疆灏忕被 - async setSmallKindList(id){ + async setSmallKindList(id) { let arr = await this.getSmallKind(); - this.smallKindList = arr.filter(item=>{ - if(item.parentId===id){ + this.smallKindList = arr.filter(item => { + if (item.parentId === id) { return item; } }) }, // 璁剧疆妗堢敱 - async setAnYouList(id){ + async setAnYouList(id) { let arr = await this.getAnYouList(); - this.anYouList = arr.filter(item=>{ - if(item.parentId===id){ + this.anYouList = arr.filter(item => { + if (item.parentId === id) { return item; } }) @@ -433,14 +453,8 @@ return arr }, // 鑾峰彇妗堜欢绛夌骇鍒楄〃 - getEventLevel() { - this.$axios({ - method: 'get', - url: 'sccg/violations/query/event_type' - }) - .then(res => { - this.eventLevelList = res.data; - }) + async getEventLevel() { + this.eventLevelList = await getTypeList(1, '02'); }, // 鏌ヨ鎵�灞炴鐢� async getAnYouList() { @@ -460,13 +474,17 @@ this.$refs.user.validate((valid) => { if (valid) { const { vio } = this; - console.log(vio); this.$axios({ method: 'post', url: 'sccg/base_case/addition_violation', - data: vio + data: { + ...vio, + alarmTime: parseTime(vio.alarmTime), + limitTime:parseTime(vio.limitTime), + } }) .then(res => { + console.log(res); if (res.code === 200) { this.$message({ type: 'success', @@ -491,22 +509,27 @@ this.$emit('changeDialog', { flag: false }) }, // 鑾峰彇琛楅亾淇℃伅 - getStreetList() { - this.$axios({ - method: 'get', - url: 'sccg/dict/query_Street_type' + async getStreetList(id) { + let arr + await this.$axios({ + method:'get', + url:`sccg/sccg_region/getChildren/${id}`, }) - .then(res => { - this.streetList = res.data; - }) + .then(res=>{ + if(res.code === 200){ + arr = res.data; + } + }) + this.streetList = arr; }, // 琛楅亾鏇存敼 handleStreet(id) { console.log(id); this.vio.communityId = ''; + // this.communityList = getTypeList(1,'11') this.$axios({ method: 'get', - url: 'sccg/dict/query_social_type?id=' + id + url: `sccg/sccg_region/getChildren/${id}` }) .then(res => { this.communityList = res.data; @@ -517,16 +540,23 @@ value === 0 ? this.vio.shopName = '' : ''; }, // 澶х被閫変腑 - handleBigKindChange(id){ + handleBigKindChange(id) { this.vio.actionCause = ''; this.vio.typeId = ''; this.setSmallKindList(id); }, // 灏忕被閫変腑 - handleSmallKindChange(id){ + handleSmallKindChange(id) { this.vio.actionCause = ''; this.setAnYouList(id); - } + }, + // 妗堢敱杈撳叆 + selectBlur(e) { + if (e.target.value) { + this.vio.actionCause = e.target.value; + console.log(e.target.value); + } + } }, props: ['mytype', 'changeDialog', 'refresh'] } @@ -537,7 +567,7 @@ padding: 20px 10px 50px; .input-area { - flex: 1; + flex: 3; padding: 10px 20px; .input-header { @@ -584,55 +614,12 @@ } .map-area { - flex: 1; + flex: 2; } - .not-need { - color: #4b9bb7; - - .not-need__header { - 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; - display: flex; - - label { - width: 100px; - padding-right: 12px; - text-align: right; - } - - .el-input { - flex: 1; - } - - .not-need__inner { - flex: 1; - line-height: 40px; - padding: 0 15px; - border-radius: 4px; - color: #fff; - // outline: #409eff solid 1px; - outline: none; - background-color: #09152f; - border: 1px solid #17324c; - } + .anyou { + :deep(.el-select) { + display: block; } } -- Gitblit v1.8.0