From d22f9b9278303f340e2f8efd6f5a98f0b614c05c Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 17 十月 2022 18:03:36 +0800 Subject: [PATCH] 部门功能修改 --- src/components/dispatch/index.vue | 129 ++++++++++++++++++++++++++++++++---------- 1 files changed, 97 insertions(+), 32 deletions(-) diff --git a/src/components/dispatch/index.vue b/src/components/dispatch/index.vue index 66d3df2..2d1673e 100644 --- a/src/components/dispatch/index.vue +++ b/src/components/dispatch/index.vue @@ -15,15 +15,15 @@ <!-- 閫夋嫨鎵ф硶杞� --> <el-form-item label="閫夋嫨鎵ф硶杞�:" prop="enforcementCar"> <el-select v-model="dispatch.enforcementCar" placeholder="璇烽�夋嫨"> - <el-option v-for="item in carOptions" :key="item.value" :label="item.label" :value="item.value"> + <el-option v-for="item in carOptions" :key="item.id" :label="item.carNumber" :value="item.id"> </el-option> </el-select> </el-form-item> <!-- 閫夋嫨浜哄憳 --> <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"> @@ -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,39 +120,52 @@ if (value) { callback(); } else { - callback(new Error('涓槦涓嶈兘涓虹┖')) + callback(new Error('澶勭疆鏃ユ湡涓嶈兘涓虹┖')) } } const checkPerson = (rule, value, callback) => { if (value) { callback(); } else { - callback(new Error('鎵ф硶浜哄憳涓嶈兘涓虹┖')) + callback() } } const checkNumber = (rule, value, callback) => { if (value) { callback(); } else { - callback(new Error('鎵ф硶浜哄憳缂栧彿涓嶈兘涓虹┖')) + 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: true, trigger: 'blur', validator: checkPhone + required: false, trigger: 'blur', validator: checkPhone } ], dispatchOpinion: [ @@ -159,8 +181,13 @@ { required: true, trigger: 'change', validator: checkPerson } ], lawEnforcerName: [ - { required: true, trigger: 'change', validator: checkNumber } + { required: false, trigger: 'change', validator: checkNumber } ], + disposeDate: [ + { + required: true, trigger: 'false', validator: checkTeam + } + ] }, carOptions: [ { @@ -232,8 +259,8 @@ url: `sccg/car_Manage/query_enforce?current=1&size=1000` }) .then(res => { - this.carOptions = res.data.orders; - console.log(res); + this.carOptions = res.data.records; + console.log(res, this.carOptions); }) }, // 鑾峰彇娓e湡杞﹁締 @@ -243,7 +270,7 @@ url: `sccg/car_Manage/query_slag?current=1&size=1000` }) .then(res => { - this.carOptions = res.data.orders; + this.carOptions = res.data.records; console.log(res); }) }, @@ -259,6 +286,7 @@ }, // 鑾峰彇涓槦 async getTeamList(id) { + console.log(id); await this.$axios({ method: 'get', url: `sccg/depart/query_father_children?fatherId=${id}` @@ -272,46 +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); - 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){ - 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=>{ - console.log(res); - }) + .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