From f8331485341314c3d0613079d4981887a111568c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 24 十月 2024 17:20:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/system/work-order/threshold/index.vue |  179 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 155 insertions(+), 24 deletions(-)

diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue
index 9546d54..6e2d5af 100644
--- a/src/views/system/work-order/threshold/index.vue
+++ b/src/views/system/work-order/threshold/index.vue
@@ -284,6 +284,7 @@
       >
     </el-row>
     <el-row class="content-warp">
+      <div class="header鈥攖ext" style="margin-bottom: 5px">宸ュ崟鐧藉悕鍗�</div>
       <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
         <el-form-item label="璁惧缂栫爜" prop="serialNumber">
           <el-input
@@ -309,12 +310,36 @@
       </el-form>
     </el-row>
     <el-row class="content-warp">
-      <el-button size="small" type="success">鏂板</el-button>
-      <el-button size="small" type="danger">鍒犻櫎</el-button>
+      <el-button size="small" type="success" @click="addOpen" plain>鏂板</el-button>
+      <el-button size="small" type="danger" @click="bathDelete" plain>鍒犻櫎</el-button>
+      <el-popover style="margin-left: 10px" placement="bottom" trigger="hover" content="瀵煎叆鐐逛綅">
+        <div class="bottom_">
+          <p>瀵煎叆鐐逛綅鍙仛鏂板鎿嶄綔</p>
+        </div>
+        <div class="bottom_">
+          <el-upload
+            ref="upload"
+            class="upload-demo"
+            drag
+            :action="importUrl"
+            :file-list="fileList"
+            :before-upload="beforeUpload"
+          >
+            <i class="el-icon-upload"></i>
+            <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+            <div class="el-upload__tip" slot="tip">鍙兘涓婁紶xls/xlsx鏂囦欢</div>
+          </el-upload>
+        </div>
+        <div>
+          <el-button class="bottom_" type="primary" size="small" v-loading="upload" @click="handleImport"
+                     v-hasPermi="['point:import']">瀵煎叆</el-button>
+        </div>
+        <el-button type="primary" size="small" plain icon="el-icon-bottom" slot="reference" v-hasPermi="['point:import']">瀵煎叆鐧藉悕鍗�</el-button>
+      </el-popover>
     </el-row>
     <el-row class="content-warp">
       <el-col :span="24">
-        <el-table v-loading="loading" :data="workOrderWhiteList">
+        <el-table v-loading="loading" :data="workOrderWhiteList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55" align="center" prop="id"/>
           <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber"/>
           <el-table-column label="鐐逛綅鍚嶇О" align="center" prop="pointName"/>
@@ -331,6 +356,29 @@
         />
       </el-col>
     </el-row>
+
+<!--    鏂板鐧藉悕鍗�-->
+    <el-dialog
+      title="鏂板鐧藉悕鍗�"
+      :visible.sync="addShow"
+      width="500px"
+      :close-on-click-modal="false"
+      :before-close="addClose">
+      <div>
+        <el-form :model="addForm" label-position="top" :rules="addFormRules" ref="addForm" size="small">
+          <el-form-item label="璁惧缂栫爜" prop="serialNumber">
+            <el-input v-model="addForm.serialNumber"></el-input>
+          </el-form-item>
+          <el-form-item label="澶囨敞淇℃伅" prop="remark">
+            <el-input v-model="addForm.remark"></el-input>
+          </el-form-item>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="addClose">鍙� 娑�</el-button>
+        <el-button type="primary" @click="addSubmit">鏂� 澧�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -339,6 +387,7 @@
   listThreshold,
   getThreshold,
   updateThreshold,
+  importData,
 } from "@/api/platform/threshold";
 import {
   editCar,
@@ -348,7 +397,11 @@
   getVideo,
 } from "../../../../api/platform/threshold";
 
-import { getWhiteList } from "@/api/platform/work-order";
+import {
+  getWhiteList,
+  addWhiteList,
+  bathDelete,
+} from "@/api/platform/work-order";
 
 export default {
   dicts: ["image_qualify", "video_qualify"],
@@ -397,48 +450,48 @@
       // 琛ㄥ崟鏍¢獙
       faceRules: {
         monitorType: [
-          { required: true, message: "璁惧绫诲瀷涓嶈兘涓虹┖", trigger: "change" },
+          {required: true, message: "璁惧绫诲瀷涓嶈兘涓虹┖", trigger: "change"},
         ],
         captureNum: [
-          { required: true, message: "璇峰~鍐欐姄鎷嶉噺", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐姄鎷嶉噺", trigger: "blur"},
         ],
         timelyRate: [
-          { required: true, message: "璇峰~鍐欏強鏃剁巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欏強鏃剁巼", trigger: "blur"},
         ],
         delayAmount: [
-          { required: true, message: "璇峰~鍐欏欢杩熼噺", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欏欢杩熼噺", trigger: "blur"},
         ],
         deviceActiveRate: [
-          { required: true, message: "璇峰~鍐欒澶囨椿璺冪巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欒澶囨椿璺冪巼", trigger: "blur"},
         ],
         timeAccuracy: [
-          { required: true, message: "璇峰~鍐欐椂閽熷噯纭巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐椂閽熷噯纭巼", trigger: "blur"},
         ],
         timelyCapture: [
-          { required: true, message: "璇峰~鍐欐姄鎷嶅強鏃剁巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐姄鎷嶅強鏃剁巼", trigger: "blur"},
         ],
       },
       carRules: {
         monitorType: [
-          { required: true, message: "璁惧绫诲瀷涓嶈兘涓虹┖", trigger: "change" },
+          {required: true, message: "璁惧绫诲瀷涓嶈兘涓虹┖", trigger: "change"},
         ],
         passCarNum: [
-          { required: true, message: "璇峰~鍐欒繃杞︽暟鎹噺", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欒繃杞︽暟鎹噺", trigger: "blur"},
         ],
         passCarMissRate: [
-          { required: true, message: "璇峰~鍐欒繃杞︾己澶辩巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欒繃杞︾己澶辩巼", trigger: "blur"},
         ],
         passCarEffectiveNum: [
-          { required: true, message: "璇峰~鍐欐湁鏁堣繃杞︽暟鎹噺", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐湁鏁堣繃杞︽暟鎹噺", trigger: "blur"},
         ],
         timelyCapture: [
-          { required: true, message: "璇峰~鍐欐姄鎷嶅強鏃剁巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐姄鎷嶅強鏃剁巼", trigger: "blur"},
         ],
         deviceActiveRate: [
-          { required: true, message: "璇峰~鍐欒澶囨椿璺冪巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欒澶囨椿璺冪巼", trigger: "blur"},
         ],
         timeAccuracy: [
-          { required: true, message: "璇峰~鍐欐椂閽熷噯纭巼", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐椂閽熷噯纭巼", trigger: "blur"},
         ],
       },
       rules: {
@@ -450,17 +503,34 @@
           },
         ],
         videoQuality: [
-          { required: true, message: "璇烽�夋嫨瑙嗛璐ㄩ噺闃堝��", trigger: "change" },
+          {required: true, message: "璇烽�夋嫨瑙嗛璐ㄩ噺闃堝��", trigger: "change"},
         ],
         imageQuality: [
-          { required: true, message: "璇烽�夋嫨鍥惧儚璐ㄩ噺闃堝��", trigger: "change" },
+          {required: true, message: "璇烽�夋嫨鍥惧儚璐ㄩ噺闃堝��", trigger: "change"},
         ],
         annotationAccuracy: [
-          { required: true, message: "璇峰~鍐欐爣娉ㄥ噯纭巼闃堝��", trigger: "blur" },
+          {required: true, message: "璇峰~鍐欐爣娉ㄥ噯纭巼闃堝��", trigger: "blur"},
         ],
       },
       // 鐧藉悕鍗曞垪琛�
-      workOrderWhiteList: []
+      workOrderWhiteList: [],
+      // 鏂板妗�
+      addShow: false,
+      addForm: {
+        serialNumber: "",
+        remark: "",
+      },
+      // 鏂板妗嗘牎楠�
+      addFormRules: {
+        serialNumber: [
+          {required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur"},
+        ],
+      },
+      // 瀵煎叆鏂囦欢璺緞
+      importUrl: '',
+      fileList: [],
+      importFile: null,
+      upload: false,
     };
   },
   created() {
@@ -721,7 +791,8 @@
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     /** 鍒囨崲涓嶅悓鎸囨爣 */
     handleModeNameChange() {
@@ -812,7 +883,67 @@
         ];
       }
     },
-  },
+    // 鎵撳紑鏂板妗�
+    addOpen() {
+      this.addShow = true;
+    },
+    // 鍏抽棴鏂板妗�
+    addClose() {
+      this.addShow = false;
+      this.addReset();
+    },
+    // 鏂板妗嗘彁浜�
+    addSubmit() {
+      this.$refs["addForm"].validate((valid) => {
+        if (valid) {
+          addWhiteList(this.addForm).then((response) => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.addShow = false;
+            this.getWhiteList();
+            this.addReset();
+          });
+        }
+      });
+    },
+    // 鏂板妗嗛噸缃�
+    addReset() {
+      this.addForm = {
+        serialNumber: "",
+        remark: "",
+      };
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 鎵归噺鍒犻櫎
+    bathDelete() {
+      bathDelete(this.ids).then(() => {
+        this.getWhiteList();
+        this.$modal.msgSuccess("鎵归噺鍒犻櫎鎴愬姛");
+        this.ids = [];
+      })
+    },
+    beforeUpload(file) {
+      this.importFile = file
+      this.fileList = [file]
+      return false
+    },
+    // 瀵煎叆鐧藉悕鍗�
+    handleImport() {
+      this.upload = true;
+      let formData = new FormData()
+      formData.append("file", this.importFile)
+      importData(formData).then(res => {
+        this.$message.success("瀵煎叆鎴愬姛")
+        this.upload = false
+        this.fileList = []
+        this.getWhiteList()
+      })
+    }
+  }
 };
 </script>
 <style scoped>

--
Gitblit v1.8.0