From 99b614dcaa78b90fe8a680b0606d307a387b321e Mon Sep 17 00:00:00 2001
From: luobisheng <727299681@qq.com>
Date: 星期二, 06 十二月 2022 17:59:49 +0800
Subject: [PATCH] 预警研判大类丶小类修改,案件编号内容

---
 src/views/intelligentPatrol/studyJudge/index.vue |   89 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 67 insertions(+), 22 deletions(-)

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;
     }
   }
 }

--
Gitblit v1.8.0