From 0426c72922004cbaa47fafbb0ee6eb5d9386a063 Mon Sep 17 00:00:00 2001
From: luobisheng <727299681@qq.com>
Date: 星期三, 07 十二月 2022 15:50:11 +0800
Subject: [PATCH] 预警研判增加调度弹窗
---
src/views/operate/disposal/casepool/pool/createUser/vio/index.vue | 2
src/views/intelligentPatrol/studyJudge/index.vue | 83 +++++++++++++++++++--------
src/components/dispatch/index.vue | 93 ++++++++-----------------------
3 files changed, 83 insertions(+), 95 deletions(-)
diff --git a/src/components/dispatch/index.vue b/src/components/dispatch/index.vue
index 2089ae8..9f284e1 100644
--- a/src/components/dispatch/index.vue
+++ b/src/components/dispatch/index.vue
@@ -47,9 +47,7 @@
<el-select
v-model="dispatch.enforcementTeam"
placeholder="閫夋嫨涓槦"
- :disabled="
- squadronOptions.length !== 0 && squadronOptions ? false : true
- "
+ :disabled="!(squadronOptions.length !== 0 && squadronOptions)"
@change="handleMidChange"
>
<el-option
@@ -66,9 +64,7 @@
<el-select
v-model="dispatch.lawEnforcer"
placeholder="璇烽�夋嫨浜哄憳"
- :disabled="
- personOptions.length !== 0 && personOptions ? false : true
- "
+ :disabled="!(personOptions.length !== 0 && personOptions)"
@change="handlePerChange"
>
<el-option
@@ -121,15 +117,15 @@
</template>
<script>
import MyMap from "@/components/map";
-import { parseTime } from "@/utils/index";
export default {
components: {
MyMap,
},
- props: ["id", "changeDialog", "refresh", "mytype"],
+ props: ["id", "changeDialog", "refresh", "mytype", "isGetData"],
created() {
// 鍒ゆ柇杞﹁締绫诲瀷
this.mytype === 1 ? this.getLawCarList() : this.getSoilCarList();
+ this.isGetDispatchData = this.isGetData ? this.isGetData : false;
this.getDepartList();
},
data() {
@@ -150,13 +146,6 @@
callback();
} else {
callback(new Error("娲鹃仯鎰忚涓嶈兘涓虹┖"));
- }
- };
- const checkDistance = (rule, value, callback) => {
- if (value) {
- callback();
- } else {
- callback(new Error("璺濈涓嶈兘涓虹┖"));
}
};
const checkTeam = (rule, value, callback) => {
@@ -218,12 +207,6 @@
dispatchOpinion: [
{ required: true, trigger: "change", validator: checkOpinion },
],
- // distance: [
- // { required: true, trigger: "change", validator: checkDistance },
- // ],
- // enforcementTeam: [
- // { required: true, trigger: 'change', validator: checkTeam }
- // ],
lawEnforcer: [
{ required: true, trigger: "change", validator: checkPerson },
],
@@ -238,57 +221,38 @@
},
],
},
- carOptions: [
- {
- label: "杞﹁締涓�",
- value: 1,
- },
- {
- label: "杞﹁締浜�",
- value: 2,
- },
- ],
+ carOptions: [],
departOptions: [],
- carOptions: [
- {
- label: "杞﹁締涓�",
- value: 1,
- },
- {
- label: "杞﹁締浜�",
- value: 2,
- },
- ],
squadronOptions: [],
personOptions: [],
+ isGetDispatchData: true
};
},
methods: {
// 鎵ц璋冨害
handleDispatch() {
- console.log(this.dispatch);
this.$refs.form.validate((valid) => {
- console.log(valid);
if (valid) {
- const { dispatch, id } = this;
- // dispatch.disposeDate = new Date();
- console.log(id);
- dispatch.baseCaseId = id;
- console.log(dispatch);
- this.$axios({
- method: "post",
- url: `sccg/dispatch_handle/dispatch`,
- data: dispatch,
- }).then((res) => {
- this.$message({
- type: res.code === 200 ? "success" : "error",
- message: res.code === 200 ? "璋冨害鎴愬姛" : res.message,
+ if (this.isGetDispatchData) {
+ this.$emit('getDispatchData', this.dispatch);
+ } else {
+ const { dispatch, id } = this;
+ dispatch.baseCaseId = id;
+ this.$axios({
+ method: "post",
+ url: `sccg/dispatch_handle/dispatch`,
+ data: dispatch,
+ }).then((res) => {
+ this.$message({
+ type: res.code === 200 ? "success" : "error",
+ message: res.code === 200 ? "璋冨害鎴愬姛" : res.message,
+ });
+ this.refresh();
});
- this.$emit("changeDialog", { flag: false });
- this.refresh();
- });
+ }
+ this.$emit("changeDialog", { flag: false });
} else {
- return false;
+ this.$message.warning('璇锋鏌ュ繀濉」');
}
});
},
@@ -303,7 +267,6 @@
url: `sccg/car_Manage/query_enforce?current=1&size=1000`,
}).then((res) => {
this.carOptions = res.data.records;
- console.log(res, this.carOptions);
});
},
// 鑾峰彇娓e湡杞﹁締
@@ -326,7 +289,6 @@
},
// 鑾峰彇涓槦
async getTeamList(id) {
- console.log(id);
await this.$axios({
method: "get",
url: `sccg/depart/query_father_children?fatherId=${id}`,
@@ -335,12 +297,10 @@
this.squadronOptions = res.data;
})
.catch((err) => {
- console.log(err);
});
},
// 鑾峰彇閮ㄩ棬涓嬬殑鐢ㄦ埛
async getDepartUserList(id) {
- console.log(id);
await this.$axios({
method: "get",
url: `sccg/admin/getDepartUser/${id}`,
@@ -372,9 +332,6 @@
this.dispatch.contactWay = "";
this.dispatch.lawEnforcerName = "";
await this.getTeamList(id);
- // if (this.squadronOptions.length === 0) {
- // await this.getDepartUserList(id);
- // }
},
// 涓槦鏇存敼
async handleMidChange(id) {
@@ -404,9 +361,7 @@
watch: {
"squadronOptions.length": {
handler(newval, oldval) {
- console.log(newval);
if (newval === 0) {
- console.log(1);
this.$message({
type: "warning",
message: "璇ラ儴闂ㄤ笅娌℃湁涓槦",
diff --git a/src/views/intelligentPatrol/studyJudge/index.vue b/src/views/intelligentPatrol/studyJudge/index.vue
index 921fa55..f0c9402 100644
--- a/src/views/intelligentPatrol/studyJudge/index.vue
+++ b/src/views/intelligentPatrol/studyJudge/index.vue
@@ -31,7 +31,7 @@
<span>鎶ヨ璁板綍</span>
<span>涔卞仠涔辨斁杩濇硶鍗犻亾</span>
</div>
- <el-form ref="currentEvent" label-width="120px" :model="currentEvent" :rules="rules">
+ <el-form ref="currentEvent" label-width="120px" :model="eventInfoData" :rules="rules">
<el-form-item label="浜嬩欢缂栧彿:">
<span>{{ currentEvent.code }}</span>
</el-form-item>
@@ -48,33 +48,33 @@
<span>{{ currentEvent.conntinueTime }}</span>
</el-form-item>
<el-form-item label="鍏宠仈搴楅摵" prop="store">
- <el-select v-model="currentEvent.store" @change="selectStoreChange" placeholder="璇烽�夋嫨鍏宠仈搴楅摵">
+ <el-select v-model="eventInfoData.store" @change="selectStoreChange" placeholder="璇烽�夋嫨鍏宠仈搴楅摵">
<el-option v-for="store in storeList" :value="store.id" :label="store.storeName" :key="store.id" />
</el-select>
</el-form-item>
- <el-form-item v-if="currentEvent.store" label="搴楅摵寰楀垎:">
- <span>{{ selectStoreChange(currentEvent.store).storeScore }}</span>
+ <el-form-item v-if="eventInfoData.store" label="搴楅摵寰楀垎:">
+ <span>{{ selectStoreChange(eventInfoData.store).storeScore }}</span>
</el-form-item>
<el-form-item label="澶勭悊鎰忚:" prop="advice">
- <el-radio-group v-model="currentEvent.advice">
+ <el-radio-group v-model="eventInfoData.advice">
<el-radio :label="item.id" v-for="item in adviceList" :key="item.id">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="澶х被鍚嶇О:" prop="categoryId">
- <el-select v-model="currentEvent.categoryId" placeholder="璇烽�夋嫨澶х被鍚嶇О" @change="categoryChange">
+ <el-select v-model="eventInfoData.categoryId" placeholder="璇烽�夋嫨澶х被鍚嶇О" @change="categoryChange">
<el-option v-for="category in categoryOptions" :key="category.id" :value="category.id" :label="category.name" />
</el-select>
</el-form-item>
<el-form-item label="灏忕被鍚嶇О:" prop="typeId">
- <el-select v-model="currentEvent.typeId" placeholder="璇烽�夋嫨灏忕被鍚嶇О">
+ <el-select v-model="eventInfoData.typeId" placeholder="璇烽�夋嫨灏忕被鍚嶇О">
<el-option v-for="type in typeOptions" :key="type.id" :value="type.id" :label="type.name" />
</el-select>
</el-form-item>
<el-form-item label="杞︾墝鍙�:" prop="carNumber">
- <el-input v-model="currentEvent.carNumber" placeholder="璇峰~鍐欒溅鐗屽彿鐮�"></el-input>
+ <el-input v-model="eventInfoData.carNumber" placeholder="璇峰~鍐欒溅鐗屽彿鐮�"></el-input>
</el-form-item>
<el-form-item label="澶囨敞:" prop="description">
- <el-input type="textarea" :rows="5" v-model="currentEvent.description"></el-input>
+ <el-input type="textarea" :rows="5" v-model="eventInfoData.description"></el-input>
</el-form-item>
<el-form-item>
<el-button :disabled="currentPage === 1" @click="pageChange('prev')">涓婁竴鏉�</el-button>
@@ -86,6 +86,9 @@
</div>
</div>
</div>
+ <el-dialog :visible="isShowDialog" title="璋冨害淇℃伅">
+ <MyDispatch v-if="isShowDialog" :mytype="1" @confirmInspection="handleConfirm" :isGetData="true" @changeDialog="closeDialog"></MyDispatch>
+ </el-dialog>
</div>
</template>
@@ -95,10 +98,13 @@
import { getStoreInfoList } from "@/api/operate/storeManagement";
import { FILE_ORIGINAL_URL } from "@/utils";
import { validateCarNum } from "@/utils/validate";
+import MyDispatch from '@/components/dispatch';
export default {
+ components: { MyDispatch },
created() {
this.getInspectionData();
+ this.initEventParams();
basecase.getInspectionCountData()
.then(res => {
this.countData = res;
@@ -145,11 +151,11 @@
currentEvent: {},
adviceList: [
{
- id: 1,
+ id: 2,
label: '涓婃姤',
},
{
- id: 2,
+ id: 6,
label: '璋冨害',
},
{
@@ -161,6 +167,7 @@
label: '鏆備笉澶勭悊',
},
],
+ eventInfoData: null,
rules:{
advice:[
{
@@ -184,7 +191,8 @@
categoryOptions: [],
typeOptions: [],
storeList: [],
- typeList: []
+ typeList: [],
+ isShowDialog: false
}
},
methods:{
@@ -213,30 +221,57 @@
handleConfirm(){
this.$refs.currentEvent.validate((flag)=>{
if(flag){
- this.currentEvent.linkShop = 0;
- if (this.currentEvent.store) {
- const selectedStore = this.selectStoreChange(this.currentEvent.store);
- this.currentEvent.shopName = selectedStore.storeName;
- this.currentEvent.linkShop = 1;
+ this.eventInfoData.baseId = this.currentEvent.code;
+
+ // 璋冨害
+ if (this.eventInfoData.advice === 6) {
+ this.isShowDialog = true;
+ } else {
+ this.confirmInspection();
}
- basecase.confirmInspection(this.currentEvent)
- .then(() => {
- this.$message.success('鎿嶄綔鎴愬姛');
- this.getInspectionData();
- })
- .catch(err => this.$message.error(err))
} else {
this.$message.warning('璇锋鏌ュ繀濉」');
}
})
},
+ initEventParams() {
+ this.eventInfoData = {
+ baseId: null,
+ store: null,
+ advice: null,
+ categoryId: null,
+ typeId: null,
+ carNumber: null,
+ description: null,
+ linkShop: 0,
+ shopName: null
+ }
+ },
+
categoryChange(id) {
this.typeOptions = this.typeList.filter(type => type.parentId === id);
},
+ confirmInspection(data) {
+ basecase.confirmInspection({ ...this.eventInfoData, ...data })
+ .then(() => {
+ this.$message.success('鎿嶄綔鎴愬姛');
+ this.getInspectionData();
+ this.initEventParams();
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ closeDialog() {
+ this.isShowDialog = false;
+ },
+
selectStoreChange(id) {
- return this.storeList.find(store => store.id === id);
+ const selectedStore = this.storeList.find(store => store.id === id);
+ this.eventInfoData.shopName = selectedStore.storeName;
+ this.eventInfoData.linkShop = 1;
+ return selectedStore;
}
}
}
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 7ce923f..982f8cb 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
@@ -387,7 +387,6 @@
},
created() {
const { setBigKindList, getStreetList, getEventLevel } = this;
- console.log(this.mytype);
this.vio.category = this.mytype + 1;
setBigKindList();
getStreetList(0);
@@ -544,7 +543,6 @@
selectBlur(e) {
if (e.target.value) {
this.vio.actionCause = e.target.value;
- console.log(e.target.value);
}
}
},
--
Gitblit v1.8.0