From 99b614dcaa78b90fe8a680b0606d307a387b321e Mon Sep 17 00:00:00 2001
From: luobisheng <727299681@qq.com>
Date: 星期二, 06 十二月 2022 17:59:49 +0800
Subject: [PATCH] 预警研判大类丶小类修改,案件编号内容
---
src/components/detail/index.vue | 31 +++-------
src/views/operate/viewEvent/index.vue | 8 ++
src/views/operate/disposal/casepool/pool/createUser/vio/index.vue | 8 --
src/views/intelligentPatrol/studyJudge/index.vue | 89 ++++++++++++++++++++++-------
src/api/baseInfo.js | 10 +++
5 files changed, 94 insertions(+), 52 deletions(-)
diff --git a/src/api/baseInfo.js b/src/api/baseInfo.js
index ec470c3..8c79392 100644
--- a/src/api/baseInfo.js
+++ b/src/api/baseInfo.js
@@ -5,4 +5,14 @@
return http.get('/sccg/sccg_region/list', params);
},
+ // 鏌ヨ杩濊澶х被
+ getCategoryList: (params) => {
+ return http.get('/sccg/violations/query/type_second', params);
+ },
+
+ //鏌ヨ杩濊灏忕被
+ getTypeList: (params) => {
+ return http.get('/sccg/violations/query/type_third', params);
+ }
+
}
\ No newline at end of file
diff --git a/src/components/detail/index.vue b/src/components/detail/index.vue
index 46df99b..6922398 100644
--- a/src/components/detail/index.vue
+++ b/src/components/detail/index.vue
@@ -6,7 +6,7 @@
<label class="data-title">
闂绫诲瀷:
</label>
- <span class="data-detail">杩濊</span>
+ <span class="data-detail">{{ getCategoryLabel(baseCase.category) }}</span>
</div>
<div class="data-item__right">
<label class="data-title">
@@ -38,12 +38,6 @@
</div>
</div>
<div class="data-item">
- <!-- <div class="data-item__left">
- <label class="data-title">
- 鎵�灞炲尯鍘�:
- </label>
- <span class="data-detail">xxx</span>
- </div> -->
<div class="data-item__left">
<label class="data-title">
鎵�灞炶閬�:
@@ -57,14 +51,6 @@
<span class="data-detail">{{baseCase.communityText}}</span>
</div>
</div>
- <!-- <div class="data-item">
- <div class="data-item__left">
- <label class="data-title">
- 鎵�灞炶閬�:
- </label>
- <span class="data-detail">{{baseCase.streetText}}</span>
- </div>
- </div> -->
<div class="data-item">
<div class="data-item__left">
<label class="data-title">
@@ -138,6 +124,8 @@
import MyFilePicture from '@/components/filePictrue'
import MySovleProblem from '@/components/solveProblem'
import MyScene from '@/components/scene'
+import { CATEGOTY } from "@/utils/helper";
+
export default {
components: {
MyProcess, MyFilePicture, MySovleProblem, MyScene
@@ -174,17 +162,18 @@
}
},
created() {
- const {info} = this;
- this.baseCase = info.baseCase;
- this.handlePassVo = info.handlePassVo;
- this.currentSitVo = info.currentSitVo;
- this.filesPictureVo = info.filesPictureVo;
- console.log(info);
+ this.baseCase = this.info.baseCase;
+ this.handlePassVo = this.info.handlePassVo;
+ this.currentSitVo = this.info.currentSitVo;
+ this.filesPictureVo = this.info.filesPictureVo;
},
methods: {
changeComponent(index) {
this.activeIndex = index;
},
+ getCategoryLabel(category) {
+ return CATEGOTY.find(item => item.value === category).label;
+ }
},
props: ['info','mycode']
}
diff --git a/src/views/intelligentPatrol/studyJudge/index.vue b/src/views/intelligentPatrol/studyJudge/index.vue
index 63dc317..9364d2b 100644
--- a/src/views/intelligentPatrol/studyJudge/index.vue
+++ b/src/views/intelligentPatrol/studyJudge/index.vue
@@ -47,16 +47,28 @@
<el-form-item label="鎸佺画鏃堕棿:">
<span>{{ currentEvent.conntinueTime }}</span>
</el-form-item>
+ <el-form-item label="鍏宠仈搴楅摵" prop="store">
+ <el-select v-model="currentEvent.store" 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>{{ getStoreScore(currentEvent.store) }}</span>
+ </el-form-item>
<el-form-item label="澶勭悊鎰忚:" prop="advice">
<el-radio-group v-model="currentEvent.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-input v-model="currentEvent.categoryId" placeholder="璇烽�夋嫨澶х被鍚嶇О"></el-input>
+ <el-select v-model="currentEvent.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-input v-model="currentEvent.typeId" placeholder="璇烽�夋嫨灏忕被鍚嶇О"></el-input>
+ <el-select v-model="currentEvent.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>
@@ -65,7 +77,7 @@
<el-input type="textarea" :rows="5" v-model="currentEvent.description"></el-input>
</el-form-item>
<el-form-item>
- <el-button @click="pageChange('prev')">涓婁竴鏉�</el-button>
+ <el-button :disabled="currentPage === 1" @click="pageChange('prev')">涓婁竴鏉�</el-button>
<el-button @click.native.prevent="handleConfirm">纭</el-button>
<el-button @click="pageChange('next')">涓嬩竴鏉�</el-button>
</el-form-item>
@@ -79,7 +91,10 @@
<script>
import basecase from "@/api/operate/basecase";
+import baseInfo from "@/api/baseInfo";
+import { getStoreInfoList } from "@/api/operate/storeManagement";
import { FILE_ORIGINAL_URL } from "@/utils";
+import { validateCarNum } from "@/utils/validate";
export default {
created() {
@@ -89,8 +104,37 @@
this.countData = res;
})
.catch(err => this.$message.error(err))
+ getStoreInfoList({ current: 1, size: 100 })
+ .then(({ list }) => {
+ this.storeList = list;
+ })
+ .catch(err => {
+ this.$message.error(err)
+ })
+
+ baseInfo.getCategoryList()
+ .then(res => {
+ this.categoryOptions = res;
+ })
+ .catch(err => this.$message.error(err))
+
+ baseInfo.getTypeList()
+ .then(res => {
+ this.typeList = res;
+ })
+ .catch(err => this.$message.error(err))
},
data() {
+ const validateCarNumber = (rule, value, callback) => {
+ if (value) {
+ const result = validateCarNum(value);
+ if (result) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏ユ纭殑杞︾墝鍙�'));
+ }
+ }
+ };
return {
eventList: [],
countData: {
@@ -131,41 +175,34 @@
required: true, trigger:['blur', 'change'], message: '灏忕被鍚嶇О涓嶈兘涓虹┖'
}
],
- carNumber:[
- {
- required: true, trigger:['blur', 'change'], message: '杞︾墝鍙蜂笉鑳戒负绌�'
- }
- ]
+ carNumber:[{ trigger:['blur', 'change'], validator: validateCarNumber }]
},
imageList: [],
- currentPage: 1
+ currentPage: 1,
+ categoryOptions: [],
+ typeOptions: [],
+ storeList: [],
+ typeList: []
}
},
methods:{
pageChange(type) {
- if (this.eventList.length === this.currentPage) {
- this.$message.warning('褰撳墠宸叉槸鏈�鍚庝竴椤�');
- return;
- }
if (type === 'next') {
this.currentPage += 1;
} else {
this.currentPage -= 1;
}
- this.currentEvent = this.eventList[this.currentPage - 1];
+ this.getInspectionData();
},
getInspectionData() {
basecase.getInspectionData({ current: this.currentPage })
.then(({ records }) => {
this.eventList = records;
- this.eventList.forEach(item => {
- if (item.picData) {
- const imageUrls = item.picData.split(',');
- this.imageList = imageUrls.map(url => `${FILE_ORIGINAL_URL}${url}`);
- }
- })
- this.currentEvent = this.eventList[this.currentPage - 1];
+ this.currentEvent = this.eventList[0];
+ if (this.currentEvent?.picData) {
+ this.imageList = this.currentEvent.picData.split(',').map(item => `${FILE_ORIGINAL_URL}${item}`);
+ }
})
.catch(err => this.$message.error(err))
},
@@ -181,9 +218,17 @@
})
.catch(err => this.$message.error(err))
} else {
- this.$message.warning('璇锋鏌ュ繀濉」')
+ this.$message.warning('璇锋鏌ュ繀濉」');
}
})
+ },
+
+ categoryChange(id) {
+ this.typeOptions = this.typeList.filter(type => type.parentId === id);
+ },
+
+ getStoreScore(storeId) {
+ return this.storeList.find(store => store.id === storeId).storeScore;
}
}
}
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 2786350..7ce923f 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
@@ -51,14 +51,6 @@
</el-option>
</el-select>
</el-form-item>
- <!-- 鎵�灞炲尯鍘� -->
- <!-- <el-form-item class="optionItems" label="鎵�灞炲尯鍘�:" prop="status">
- <el-select v-model="vio.type" placeholder="璇烽�夋嫨鎵�灞炲尯鍘�">
- <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
- :disabled="item.disabled">
- </el-option>
- </el-select>
- </el-form-item> -->
<div class="user-item">
<!-- 鎵�灞炶閬� -->
<el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId">
diff --git a/src/views/operate/viewEvent/index.vue b/src/views/operate/viewEvent/index.vue
index 27d6f79..24ec25a 100644
--- a/src/views/operate/viewEvent/index.vue
+++ b/src/views/operate/viewEvent/index.vue
@@ -80,7 +80,7 @@
>
<el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="18">
<template slot-scope="scope">
- <el-link>{{ scope.row.code }}</el-link>
+ <el-link @click="handleView(scope.row)">{{ scope.row.code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="category" label="闂绫诲埆" min-width="8">
@@ -289,9 +289,15 @@
closeDialog({ flag }) {
this.dialogExamine = flag;
this.dialogClosure = flag;
+ this.dialogView = false;
this.getList();
},
+ async handleView(rowData) {
+ this.info = await casequery.getBaseCaseDetail(rowData.code);
+ this.dialogView = true;
+ },
+
filterTime(time) {
return helper(time);
},
--
Gitblit v1.8.0