From 0d7d6fc9a5c40ccc90190b0f24039ec1362f120f Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期一, 17 十月 2022 11:33:10 +0800 Subject: [PATCH] 新增设备管理、完善消息新增,修改bug --- src/components/dispatch/index.vue | 115 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 87 insertions(+), 28 deletions(-) diff --git a/src/components/dispatch/index.vue b/src/components/dispatch/index.vue index 5e8c919..2d1673e 100644 --- a/src/components/dispatch/index.vue +++ b/src/components/dispatch/index.vue @@ -22,8 +22,8 @@ <!-- 閫夋嫨浜哄憳 --> <div class="form-person"> <!-- 閮ㄩ棬 --> - <el-form-item label="閫夋嫨浜哄憳:" prop="dispatchOpinion"> - <el-select v-model="dispatch.dispatchOpinion" placeholder="璇烽�夋嫨閮ㄩ棬" @change="handleTopChange"> + <el-form-item label="閫夋嫨浜哄憳:" prop="createUser"> + <el-select v-model="dispatch.createUser" placeholder="璇烽�夋嫨閮ㄩ棬" @change="handleTopChange"> <el-option v-for="item in departOptions" :key="item.id" :label="item.departName" :value="item.id"> </el-option> @@ -32,7 +32,7 @@ <!-- 涓槦 --> <el-form-item prop="enforcementTeam" class="person-item"> <el-select v-model="dispatch.enforcementTeam" placeholder="閫夋嫨涓槦" - :disabled="squadronOptions.length!==0?false:true" @change="handleMidChange"> + :disabled="squadronOptions.length!==0 && squadronOptions?false:true" @change="handleMidChange"> <el-option v-for="item in squadronOptions" :key="item.id" :label="item.departName" :value="item.id"> </el-option> @@ -41,7 +41,7 @@ <el-form-item prop='lawEnforcer' class="person-item"> <!-- 浜哄憳 --> <el-select v-model="dispatch.lawEnforcer" placeholder="璇烽�夋嫨浜哄憳" - :disabled="personOptions.length !== 0 ? false:true" @change="handlePerChange"> + :disabled="personOptions.length !== 0 && personOptions? false:true" @change="handlePerChange"> <el-option v-for="item in personOptions" :key="item.id" :label="item.username" :value="item.id"> </el-option> </el-select> @@ -50,13 +50,22 @@ <div class="form-footer"> <!-- 鎵ф硶浜哄憳缂栧彿 --> <el-form-item label="鎵ф硶浜哄憳缂栧彿:" prop="lawEnforcerName"> - <el-input v-model="dispatch.lawEnforcerName"></el-input> + <el-input v-model="dispatch.lawEnforcerName" disabled></el-input> </el-form-item> <!-- 鎵ф硶浜哄憳鑱旂郴鏂瑰紡 --> <el-form-item label="鑱旂郴鏂瑰紡:" prop="contactWay"> - <el-input v-model="dispatch.contactWay"></el-input> + <el-input v-model="dispatch.contactWay" disabled></el-input> </el-form-item> <el-button type="primary">鍙戦�佺煭淇�</el-button> + </div> + <div class="form-time"> + <el-form-item label="娲鹃仯鎰忚" prop="dispatchOpinion"> + <el-input v-model="dispatch.dispatchOpinion" placeholder="璇疯緭鍏ユ淳閬f剰瑙�"></el-input> + </el-form-item> + <el-form-item label="澶勭疆鏃ユ湡" prop="disposeDate"> + <el-date-picker v-model="dispatch.disposeDate" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿"> + </el-date-picker> + </el-form-item> </div> </el-form> <div class="map"> @@ -74,7 +83,7 @@ components: { MyMap }, - props: ['id', 'changeDialog', 'refresh', 'mytype'], + props: ['id', 'changeDialog', 'refresh', 'mytype'], created() { // 鍒ゆ柇杞﹁締绫诲瀷 this.mytype === 1 ? this.getLawCarList() : this.getSoilCarList(); @@ -90,14 +99,14 @@ callback(); } } else { - callback(new Error('鑱旂郴鏂瑰紡涓嶈兘涓虹┖')) + callback() } } const checkOpinion = (rule, value, callback) => { if (value) { callback(); } else { - callback(new Error('閮ㄩ棬涓嶈兘涓虹┖')) + callback(new Error('娲鹃仯鎰忚涓嶈兘涓虹┖')) } } const checkDistance = (rule, value, callback) => { @@ -111,7 +120,7 @@ if (value) { callback(); } else { - callback(new Error('涓槦涓嶈兘涓虹┖')) + callback(new Error('澶勭疆鏃ユ湡涓嶈兘涓虹┖')) } } const checkPerson = (rule, value, callback) => { @@ -128,19 +137,32 @@ callback() } } + const checkDepart = (rule, value, callback) => { + if (value) { + callback(); + } else { + callback(new Error('璇烽�夋嫨閮ㄩ棬')) + } + } return { dispatch: { baseCaseId: 0,//妗堜欢id contactWay: "",//鑱旂郴鏂瑰紡 - dispatchOpinion: "",//閮ㄩ棬 + dispatchOpinion: "",//澶勭疆鎰忚 disposeDate: "",//澶勭疆鏃ユ湡 distance: 0,//璺濈 enforcementCar: '',//鎵ф硶杞� enforcementTeam: "",//鎵ф硶涓槦 lawEnforcer: '',//鎵ф硶浜哄憳 - lawEnforcerName: ""//鎵ф硶缂栧彿 + lawEnforcerName: "",//鎵ф硶缂栧彿, + createUser: null, }, rules: { + createUser: [ + { + required: true, trigger: 'change', validator: checkDepart + } + ], contactWay: [ { required: false, trigger: 'blur', validator: checkPhone @@ -161,6 +183,11 @@ lawEnforcerName: [ { required: false, trigger: 'change', validator: checkNumber } ], + disposeDate: [ + { + required: true, trigger: 'false', validator: checkTeam + } + ] }, carOptions: [ { @@ -233,7 +260,7 @@ }) .then(res => { this.carOptions = res.data.records; - console.log(res,this.carOptions); + console.log(res, this.carOptions); }) }, // 鑾峰彇娓e湡杞﹁締 @@ -259,6 +286,7 @@ }, // 鑾峰彇涓槦 async getTeamList(id) { + console.log(id); await this.$axios({ method: 'get', url: `sccg/depart/query_father_children?fatherId=${id}` @@ -272,52 +300,83 @@ }, // 鑾峰彇閮ㄩ棬涓嬬殑鐢ㄦ埛 async getDepartUserList(id) { + console.log(id); await this.$axios({ method: 'get', url: `sccg/admin/getDepartUser/${id}`, }) .then(res => { - this.personOptions = res.data; + console.log(res); + if (res.code === 200) { + this.personOptions = res.data; + } else { + this.personOptions = []; + } + if(this.personOptions.length === 0){ + this.$message({ + type: 'warning', + message: '璇ヤ腑闃熶笅娌℃湁浜哄憳' + }) + } }) .catch(err => { this.$message({ - type: 'error', - message: '璇ラ儴闂ㄤ汉鍛樹笉瓒筹紝璇锋崲涓儴闂�' - }) + type: 'error', + message: '璇ラ儴闂ㄤ汉鍛樹笉瓒筹紝璇锋崲涓儴闂�' + }) }) }, // 閮ㄩ棬鏇存敼 async handleTopChange(id) { this.dispatch.lawEnforcer = ''; this.dispatch.enforcementTeam = ''; + this.dispatch.contactWay = ''; + this.dispatch.lawEnforcerName = ''; await this.getTeamList(id); - if(this.squadronOptions.length===0){ - await this.getDepartUserList(id); - } + // if (this.squadronOptions.length === 0) { + // await this.getDepartUserList(id); + // } }, // 涓槦鏇存敼 async handleMidChange(id) { this.dispatch.lawEnforcer = ''; + this.dispatch.contactWay = ''; + this.dispatch.lawEnforcerName = ''; await this.getDepartUserList(id); }, // 浜哄憳鏇存敼 - async handlePerChange(id){ - let obj = await this.getLawUser(id); + async handlePerChange(id) { + let obj = await this.getLawUser(id); this.dispatch.lawEnforcerName = obj.nickName; this.dispatch.contactWay = obj.mobile; }, // 鑾峰彇鎵ф硶浜哄憳淇℃伅 - async getLawUser(id){ + async getLawUser(id) { let obj = {} await this.$axios({ - method:'get', - url:`sccg/admin/${id}` + method: 'get', + url: `sccg/admin/${id}` }) - .then(res=>{ - obj = res.data; - }) + .then(res => { + obj = res.data; + }) return obj; } + }, + watch: { + 'squadronOptions.length': { + handler(newval, oldval) { + console.log(newval); + if (newval === 0) { + console.log(1); + this.$message({ + type: 'warning', + message: '璇ラ儴闂ㄤ笅娌℃湁涓槦' + }) + } + }, + deep: true + }, } } </script> -- Gitblit v1.8.0