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 | 1369 +++++++++++++++++------------------------------------------
 1 files changed, 402 insertions(+), 967 deletions(-)

diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue
index 07815a9..6e2d5af 100644
--- a/src/views/system/work-order/threshold/index.vue
+++ b/src/views/system/work-order/threshold/index.vue
@@ -14,8 +14,8 @@
     <!--      </el-col>-->
     <!--    </el-row>-->
     <el-row>
-      <el-col :span="8">
-        <el-card style="margin-bottom: 20px; height: 340px; margin-right: 20px">
+      <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8">
+        <el-card style="margin-bottom: 20px; height: 350px; margin-right: 20px;color: #656565;">
           <div style="display: flex; justify-content: space-between">
             <div class="header鈥攖ext">瑙嗛</div>
             <div>
@@ -24,11 +24,15 @@
                 type="text"
                 icon="el-icon-edit"
                 v-hasPermi="['ycl:threshold:edit']"
-                @click="a()"
-                v-if="!ifEdit"
+                @click="showEdit('video')"
+                v-if="!ifEditVideo"
                 >淇敼
               </el-button>
-              <el-button size="mini" type="primary" @click="a()" v-if="ifEdit"
+              <el-button
+                size="mini"
+                type="primary"
+                @click="saveEdit('video')"
+                v-if="ifEditVideo"
                 >淇濆瓨
               </el-button>
             </div>
@@ -37,101 +41,38 @@
             style="
               margin: 20px;
               display: flex;
-              width: 350px;
+              width: 400px;
               justify-content: space-between;
             "
           >
             <div>
-              <span style="font-size: small">宸ュ崟闃堝��</span>
+              <div
+                style="
+                  font-size: small;
+                  display: flex;
+                  flex-direction: row-reverse;
+                  width: 192px;
+                "
+              >
+                宸ュ崟闃堝��
+              </div>
               <div>
-                <el-form label-width="100px">
-                  <el-form-item label="妯$硦鍒嗗�硷細">
+                <el-form label-width="140px">
+                  <el-form-item
+                    v-for="(item, index) in thresholdList.video"
+                    :label="item.name + '锛�'"
+                    :key="item.id"
+                  >
                     <el-input
-                      v-model="videoList.blur"
+                      v-model="videoList[index].value"
                       size="mini"
                       style="width: 100px"
-                      v-if="ifEdit"
+                      :type="item.countType=='int'?'number':''"
+                      v-if="ifEditVideo"
                     ></el-input>
-                    <span v-else>{{
-                      thresholdList[0].blur
-                    }}</span>
-                  </el-form-item>
-                  <el-form-item label="棰滆壊鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.color"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                      thresholdList[0].color
-                    }}</span>
-                  </el-form-item>
-                  <el-form-item label="浜害鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.light"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].light
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="閬尅鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.shade"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].shade
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="闆姳鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.snow"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].snow
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏉$汗鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.stripe"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].stripe
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏃犱俊鍙峰垎鍊硷細">
-                    <el-input
-                      v-model="videoList.signal"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].signal
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏍囨敞鏃堕棿宸�(绉�)锛�">
-                    <el-input
-                      v-model="videoList.diffTime"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].diffTime
-                      }}</span>
+                    <span v-else>{{ item.value }}</span>
+                    <span class="unit" v-if="item.countType=='percent'">%</span>
+                    <span class="unit" v-if="item.countType=='second'">绉�</span>
                   </el-form-item>
                 </el-form>
               </div>
@@ -139,98 +80,22 @@
             <div>
               <span style="font-size: small">涓嬪彂闃堝��</span>
               <div>
-                <el-form
-                  ref="form"
-                  :model="thresholdList[0]"
-                  label-width="100px"
-                >
-                  <el-form-item label="妯$硦鍒嗗�硷細">
+                <el-form ref="form">
+                  <el-form-item
+                    v-for="(item, index) in thresholdList.video"
+                    label=""
+                    :key="item.id"
+                  >
                     <el-input
-                      v-model="videoList.blur"
+                      v-model="videoList[index].valueAuto"
                       size="mini"
                       style="width: 100px"
-                      v-if="ifEdit"
+                      :type="item.countType=='int'?'number':''"
+                      v-if="ifEditVideo"
                     ></el-input>
-                    <span v-else>{{
-                      thresholdList[0].blur
-                    }}</span>
-                  </el-form-item>
-                  <el-form-item label="棰滆壊鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.color"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                      thresholdList[0].color
-                    }}</span>
-                  </el-form-item>
-                  <el-form-item label="浜害鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.light"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                      thresholdList[0].light
-                    }}</span>
-                  </el-form-item>
-                  <el-form-item label="閬尅鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.shade"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].shade
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="闆姳鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.snow"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].snow
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏉$汗鍒嗗�硷細">
-                    <el-input
-                      v-model="videoList.stripe"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].stripe
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏃犱俊鍙峰垎鍊硷細">
-                    <el-input
-                      v-model="videoList.signal"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].signal
-                      }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏍囨敞鏃堕棿宸�(绉�)锛�">
-                    <el-input
-                      v-model="videoList.difftime"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                        thresholdList[0].difftime
-                      }}</span>
+                    <span v-else>{{ item.valueAuto }}</span>
+                    <span class="unit" v-if="item.countType=='percent'">%</span>
+                    <span class="unit" v-if="item.countType=='second'">绉�</span>
                   </el-form-item>
                 </el-form>
               </div>
@@ -238,8 +103,8 @@
           </div>
         </el-card>
       </el-col>
-      <el-col :span="8">
-        <el-card style="margin-bottom: 20px; height: 340px; margin-right: 20px">
+      <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8">
+        <el-card style="margin-bottom: 20px; height: 350px; margin-right: 20px;color: #656565;">
           <div style="display: flex; justify-content: space-between">
             <div class="header鈥攖ext">浜鸿劯</div>
             <div>
@@ -248,11 +113,15 @@
                 type="text"
                 icon="el-icon-edit"
                 v-hasPermi="['ycl:threshold:edit']"
-                @click="a()"
-                v-if="!ifEdit"
+                @click="showEdit('face')"
+                v-if="!ifEditFace"
                 >淇敼
               </el-button>
-              <el-button size="mini" type="primary" @click="a()" v-if="ifEdit"
+              <el-button
+                size="mini"
+                type="primary"
+                @click="saveEdit('face')"
+                v-if="ifEditFace"
                 >淇濆瓨
               </el-button>
             </div>
@@ -261,134 +130,62 @@
             style="
               margin: 20px;
               display: flex;
-              width: 350px;
+              width: 400px;
               justify-content: space-between;
             "
           >
             <div>
-              <span style="font-size: small">宸ュ崟闃堝��</span>
+              <div
+                style="
+                  font-size: small;
+                  display: flex;
+                  flex-direction: row-reverse;
+                  width: 190px;
+                "
+              >
+                宸ュ崟闃堝��
+              </div>
               <div>
-                <el-form label-width="100px">
-                  <el-form-item label="鏃堕挓鍑嗙‘鐜囷細">
-                    <el-input
-                      v-model="faceList.clockPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ thresholdList[1].clockPercent }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏁版嵁鍙婃椂鐜囷細">
-                    <el-input
-                      v-model="faceList.timelyPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ thresholdList[1].timelyPercent }}</span>
-                  </el-form-item>
-                  <el-form-item label="涓嶅敮涓�鏁版嵁閲忥細">
-                    <el-input
-                      v-model="faceList.nouniqueCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ thresholdList[1].nouniqueCount }}</span>
-                  </el-form-item>
-                  <el-form-item label="寤烘ā澶辫触鐜囷細">
-                    <el-input
-                      v-model="faceList.failPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ thresholdList[1].failPercent }}</span>
-                  </el-form-item>
-                  <el-form-item label="骞冲潎浜鸿劯浣庤瘎鍒嗙巼锛�">
-                    <el-input
-                      v-model="faceList.lowScorePercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ thresholdList[1].lowScorePercent }}</span></el-form-item
+                <el-form label-width="140px">
+                  <el-form-item
+                    v-for="(item, index) in thresholdList.face"
+                    :label="item.name + '锛�'"
+                    :key="item.id"
                   >
-                  <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">
                     <el-input
-                      v-model="thresholdList[0].continueNoDataCount"
+                      v-model="faceList[index].value"
                       size="mini"
                       style="width: 100px"
-                      v-if="ifEdit"
+                      :type="item.countType=='int'?'number':''"
+                      v-if="ifEditFace"
                     ></el-input>
-                    <span v-else>{{ 10 }}</span></el-form-item
-                  >
+                    <span v-else>{{ item.value }}</span>
+                    <span class="unit" v-if="item.countType=='percent'">%</span>
+                    <span class="unit" v-if="item.countType=='second'">绉�</span>
+                  </el-form-item>
                 </el-form>
               </div>
             </div>
             <div>
               <span style="font-size: small">涓嬪彂闃堝��</span>
               <div>
-                <el-form
-                  ref="form"
-                  :model="thresholdList[0]"
-                  label-width="100px"
-                >
-                  <el-form-item label="鏃堕挓鍑嗙‘鐜囷細">
-                    <el-input
-                      v-model="thresholdList[1].clockPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{
-                      thresholdList[1].clockPercent
-                    }}</span></el-form-item
+                <el-form ref="form">
+                  <el-form-item
+                    v-for="(item, index) in thresholdList.face"
+                    label=""
+                    :key="item.id"
                   >
-                  <el-form-item label="鏁版嵁鍙婃椂鐜囷細">
                     <el-input
-                      v-model="thresholdList[0].timelyPercent"
+                      v-model="faceList[index].valueAuto"
                       size="mini"
                       style="width: 100px"
-                      v-if="ifEdit"
+                      :type="item.countType=='int'?'number':''"
+                      v-if="ifEditFace"
                     ></el-input>
-                    <span v-else>{{ 10 }}</span></el-form-item
-                  >
-                  <el-form-item label="涓嶅敮涓�鏁版嵁閲忥細">
-                    <el-input
-                      v-model="thresholdList[0].nouniqueCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span></el-form-item
-                  >
-                  <el-form-item label="寤烘ā澶辫触鐜囷細">
-                    <el-input
-                      v-model="thresholdList[0].failPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span></el-form-item
-                  >
-                  <el-form-item label="骞冲潎浜鸿劯浣庤瘎鍒嗙巼锛�">
-                    <el-input
-                      v-model="thresholdList[0].lowScorePercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span></el-form-item
-                  >
-                  <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">
-                    <el-input
-                      v-model="thresholdList[0].continueNoDataCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span></el-form-item
+                    <span v-else>{{ item.valueAuto }}</span>
+                    <span class="unit" v-if="item.countType=='percent'">%</span>
+                    <span class="unit" v-if="item.countType=='second'">绉�</span>
+                    </el-form-item
                   >
                 </el-form>
               </div>
@@ -396,8 +193,8 @@
           </div>
         </el-card></el-col
       >
-      <el-col :span="8">
-        <el-card style="margin-bottom: 20px; height: 340px; margin-right: 20px">
+      <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8">
+        <el-card style="margin-bottom: 20px; height: 350px; margin-right: 20px;color: #656565;">
           <div style="display: flex; justify-content: space-between">
             <div class="header鈥攖ext">杞﹁締</div>
             <div>
@@ -406,11 +203,15 @@
                 type="text"
                 icon="el-icon-edit"
                 v-hasPermi="['ycl:threshold:edit']"
-                @click="a()"
-                v-if="!ifEdit"
+                @click="showEdit('car')"
+                v-if="!ifEditCar"
                 >淇敼
               </el-button>
-              <el-button size="mini" type="primary" @click="a()" v-if="ifEdit"
+              <el-button
+                size="mini"
+                type="primary"
+                @click="saveEdit('car')"
+                v-if="ifEditCar"
                 >淇濆瓨
               </el-button>
             </div>
@@ -419,71 +220,38 @@
             style="
               margin: 20px;
               display: flex;
-              width: 350px;
+              width: 400px;
               justify-content: space-between;
             "
           >
             <div>
-              <span style="font-size: small">宸ュ崟闃堝��</span>
+              <div
+                style="
+                  font-size: small;
+                  display: flex;
+                  flex-direction: row-reverse;
+                  width: 206px;
+                "
+              >
+                宸ュ崟闃堝��
+              </div>
               <div>
-                <el-form
-                  ref="form"
-                  :model="thresholdList[0]"
-                  label-width="120px"
-                >
-                  <el-form-item label="鏃堕挓鍑嗙‘鐜囷細">
+                <el-form ref="form" label-width="160px">
+                  <el-form-item
+                    v-for="(item, index) in thresholdList.car"
+                    :label="item.name + '锛�'"
+                    :key="item.id"
+                  >
                     <el-input
-                      v-model="thresholdList[0].clockPercent"
+                      v-model="carList[index].value"
                       size="mini"
                       style="width: 100px"
-                      v-if="ifEdit"
+                      :type="item.countType=='int'?'number':''"
+                      v-if="ifEditCar"
                     ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏁版嵁鍙婃椂鐜囷細">
-                    <el-input
-                      v-model="thresholdList[0].timelyPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="涓嶅敮涓�鏁版嵁閲忥細">
-                    <el-input
-                      v-model="thresholdList[0].nouniqueCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="杞︾墝鏈瘑鍒噺锛�">
-                    <el-input
-                      v-model="thresholdList[0].dayNoNumberCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="杞﹁締鍏」灞炴�т笉瀹屾暣閲忥細">
-                    <el-input
-                      v-model="thresholdList[0].noIntegrityCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">
-                    <el-input
-                      v-model="thresholdList[0].continueNoDataCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
+                    <span v-else>{{ item.value }}</span>
+                    <span class="unit" v-if="item.countType=='percent'">%</span>
+                    <span class="unit" v-if="item.countType=='second'">绉�</span>
                   </el-form-item>
                 </el-form>
               </div>
@@ -491,64 +259,22 @@
             <div>
               <span style="font-size: small">涓嬪彂闃堝��</span>
               <div>
-                <el-form
-                  ref="form"
-                  :model="thresholdList[0]"
-                  label-width="120px"
-                >
-                  <el-form-item label="鏃堕挓鍑嗙‘鐜囷細">
+                <el-form ref="form">
+                  <el-form-item
+                    v-for="(item, index) in thresholdList.car"
+                    label=""
+                    :key="item.id"
+                  >
                     <el-input
-                      v-model="thresholdList[0].clockPercent"
+                      v-model="carList[index].valueAuto"
                       size="mini"
                       style="width: 100px"
-                      v-if="ifEdit"
+                      :type="item.countType=='int'?'number':''"
+                      v-if="ifEditCar"
                     ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="鏁版嵁鍙婃椂鐜囷細">
-                    <el-input
-                      v-model="thresholdList[0].timelyPercent"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="涓嶅敮涓�鏁版嵁閲忥細">
-                    <el-input
-                      v-model="thresholdList[0].nouniqueCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="杞︾墝鏈瘑鍒噺锛�">
-                    <el-input
-                      v-model="thresholdList[0].dayNoNumberCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="杞﹁締鍏」灞炴�т笉瀹屾暣閲忥細">
-                    <el-input
-                      v-model="thresholdList[0].noIntegrityCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
-                  </el-form-item>
-                  <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細">
-                    <el-input
-                      v-model="thresholdList[0].continueNoDataCount"
-                      size="mini"
-                      style="width: 100px"
-                      v-if="ifEdit"
-                    ></el-input>
-                    <span v-else>{{ 10 }}</span>
+                    <span v-else>{{ item.valueAuto }}</span>
+                    <span class="unit" v-if="item.countType=='percent'">%</span>
+                    <span class="unit" v-if="item.countType=='second'">绉�</span>
                   </el-form-item>
                 </el-form>
               </div>
@@ -557,535 +283,101 @@
         </el-card></el-col
       >
     </el-row>
-
-    <!-- <el-table
-      v-loading="loading"
-      :data="thresholdList"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="璁惧绫诲瀷" align="center" prop="monitorType">
-        <template slot-scope="scope">
-          <span v-show="scope.row['monitorType'] === 'face'">浜鸿劯</span>
-          <span v-show="scope.row['monitorType'] === 'car'">杞﹁締</span>
-          <span v-show="scope.row['monitorType'] === 'video'">瑙嗛</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="宸ュ崟闃堝��" align="center">
-        <template slot-scope="scope">
-          <template v-if="scope.row.monitorType === 'face'">
-            <div class="table-row">
-              <div class="table-row-item">鎶撴媿閲�</div>
-              <div class="table-row-item">{{ scope.row.captureNum }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鍙婃椂鐜�</div>
-              <div class="table-row-item">{{ scope.row.timelyRate }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">寤惰繜閲�</div>
-              <div class="table-row-item">{{ scope.row.delayAmount }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">璁惧娲昏穬鐜�</div>
-              <div class="table-row-item">{{ scope.row.deviceActiveRate }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鎶撴媿鍙婃椂鐜�</div>
-              <div class="table-row-item">{{ scope.row.timelyCapture }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏃堕挓鍑嗙‘鐜�</div>
-              <div class="table-row-item">{{ scope.row.timeAccuracy }}</div>
-            </div>
-          </template>
-          <template v-else-if="scope.row.monitorType === 'car'">
-            <div class="table-row">
-              <div class="table-row-item">杩囪溅鏁版嵁閲�</div>
-              <div class="table-row-item">{{ scope.row.passCarNum }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">杩囪溅缂哄け鐜�</div>
-              <div class="table-row-item">{{ scope.row.passCarMissRate }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏈夋晥杩囪溅鏁版嵁閲�</div>
-              <div class="table-row-item">
-                {{ scope.row.passCarEffectiveNum }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">璁惧娲昏穬鐜�</div>
-              <div class="table-row-item">{{ scope.row.deviceActiveRate }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鎶撴媿鍙婃椂鐜�</div>
-              <div class="table-row-item">{{ scope.row.timelyCapture }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏃堕挓鍑嗙‘鐜�</div>
-              <div class="table-row-item">{{ scope.row.timeAccuracy }}</div>
-            </div>
-          </template>
-          <template v-else-if="scope.row.monitorType === 'video'">
-            <div class="table-row" style="display: flex; flex-direction: row">
-              <div class="table-row-item">鍥惧儚璐ㄩ噺</div>
-              <div class="table-row-item">{{ scope.row.imageQuality }}</div>
-            </div>
-            <div class="table-row" style="display: flex; flex-direction: row">
-              <div class="table-row-item">瑙嗛璐ㄩ噺</div>
-              <div class="table-row-item">{{ scope.row.videoQuality }}</div>
-            </div>
-            <div class="table-row" style="display: flex; flex-direction: row">
-              <div class="table-row-item">鏍囨敞鍑嗙‘鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.annotationAccuracy }}
-              </div>
-            </div>
-          </template>
-        </template>
-      </el-table-column>
-      <el-table-column label="涓嬪彂闃堝��" align="center">
-        <template slot-scope="scope">
-          <template v-if="scope.row.monitorType === 'face'">
-            <div class="table-row">
-              <div class="table-row-item">鎶撴媿閲�</div>
-              <div class="table-row-item">{{ scope.row.captureNumAuto }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鍙婃椂鐜�</div>
-              <div class="table-row-item">{{ scope.row.timelyRateAuto }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">寤惰繜閲�</div>
-              <div class="table-row-item">{{ scope.row.delayAmountAuto }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">璁惧娲昏穬鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.deviceActiveRateAuto }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鎶撴媿鍙婃椂鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.timelyCaptureAuto }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏃堕挓鍑嗙‘鐜�</div>
-              <div class="table-row-item">{{ scope.row.timeAccuracyAuto }}</div>
-            </div>
-          </template>
-          <template v-else-if="scope.row.monitorType === 'car'">
-            <div class="table-row">
-              <div class="table-row-item">杩囪溅鏁版嵁閲�</div>
-              <div class="table-row-item">{{ scope.row.passCarNumAuto }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">杩囪溅缂哄け鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.passCarMissRateAuto }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏈夋晥杩囪溅鏁版嵁閲�</div>
-              <div class="table-row-item">
-                {{ scope.row.passCarEffectiveNumAuto }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">璁惧娲昏穬鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.deviceActiveRateAuto }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鎶撴媿鍙婃椂鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.timelyCaptureAuto }}
-              </div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏃堕挓鍑嗙‘鐜�</div>
-              <div class="table-row-item">{{ scope.row.timeAccuracyAuto }}</div>
-            </div>
-          </template>
-          <template v-else-if="scope.row.monitorType === 'video'">
-            <div class="table-row">
-              <div class="table-row-item">鍥惧儚璐ㄩ噺</div>
-              <div class="table-row-item">{{ scope.row.imageQualityAuto }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">瑙嗛璐ㄩ噺</div>
-              <div class="table-row-item">{{ scope.row.videoQualityAuto }}</div>
-            </div>
-            <div class="table-row">
-              <div class="table-row-item">鏍囨敞鍑嗙‘鐜�</div>
-              <div class="table-row-item">
-                {{ scope.row.annotationAccuracyAuto }}
-              </div>
-            </div>
-          </template>
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="鎿嶄綔"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            v-hasPermi="['ycl:threshold:edit']"
-            @click="updateWho(scope.row)"
-            >淇敼
-          </el-button>
-        </template>
-      </el-table-column>
-    </el-table> -->
-
-    <!-- <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    /> -->
-
-    <!-- 浜鸿劯闃堝�� -->
-    <el-dialog
-      title="淇敼浜鸿劯宸ュ崟闃堝��"
-      :visible.sync="faceOpen"
-      width="700px"
-      append-to-body
-    >
-      <el-form
-        ref="faceForm"
-        :model="faceForm"
-        label-width="150px"
-        :inline="true"
-      >
-        <el-form-item class="fixedWidth" label="鎶撴媿閲�" prop="captureNum">
+    <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
+            v-model="queryParams.serialNumber"
+            placeholder="璁惧缂栫爜"
             clearable
-            size="small"
-            v-model="faceForm.captureNum"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.captureNumAuto"
-            placeholder="涓嬪彂闃堝��"
+            @keyup.enter.native="getWhiteList"
+            @clear="getWhiteList"
           />
         </el-form-item>
-        <el-form-item class="fixedWidth" label="杩囪溅缂哄け鐜�" prop="timelyRate">
+        <el-form-item label="鐐逛綅鍚嶇О" prop="pointName">
           <el-input
+            v-model="queryParams.pointName"
+            placeholder="鐐逛綅鍚嶇О"
             clearable
-            size="small"
-            v-model="faceForm.timelyRate"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.timelyRateAuto"
-            placeholder="涓嬪彂闃堝��"
+            @keyup.enter.native="getWhiteList"
+            @clear="getWhiteList"
           />
         </el-form-item>
-        <el-form-item class="fixedWidth" label="寤惰繜閲�" prop="delayAmount">
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.delayAmount"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.delayAmountAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="璁惧娲昏穬鐜�"
-          prop="deviceActiveRate"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.deviceActiveRate"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.deviceActiveRateAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="鎶撴媿鍙婃椂鐜�"
-          prop="timelyCapture"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.timelyCapture"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.timelyCaptureAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="鏃堕挓鍑嗙‘鐜�"
-          prop="deviceActiveRate"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.timeAccuracy"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="faceForm.timeAccuracyAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="small" @click="getWhiteList">鎼滅储</el-button>
         </el-form-item>
       </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="editFace">纭� 瀹�</el-button>
-        <el-button @click="cancelFace">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
+    </el-row>
+    <el-row class="content-warp">
+      <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" @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"/>
+          <el-table-column label="鍒涘缓浜�" align="center" prop="createBy"/>
+          <el-table-column label="澶囨敞" align="center" prop="remark"/>
+        </el-table>
 
-    <!-- 杞﹁締闃堝�� -->
-    <el-dialog
-      title="淇敼杞﹁締宸ュ崟闃堝��"
-      :visible.sync="carOpen"
-      width="700px"
-      append-to-body
-    >
-      <el-form
-        ref="faceForm"
-        :model="faceForm"
-        label-width="150px"
-        :inline="true"
-      >
-        <el-form-item class="fixedWidth" label="杩囪溅鏁版嵁閲�" prop="passCarNum">
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.passCarNum"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.passCarNumAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="杩囪溅缂哄け鐜�"
-          prop="passCarMissRate"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.passCarMissRate"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.passCarMissRateAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="鏈夋晥杩囪溅鏁版嵁閲�"
-          prop="passCarEffectiveNum"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.passCarEffectiveNum"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.passCarEffectiveNumAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="璁惧娲昏穬鐜�"
-          prop="deviceActiveRate"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.deviceActiveRate"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.deviceActiveRateAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="鎶撴媿鍙婃椂鐜�"
-          prop="timelyCapture"
-        >
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.timelyCapture"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.timelyCaptureAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-        <el-form-item class="fixedWidth" label="鏃堕挓鍑嗙‘鐜�" prop="timeAccuracy">
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.timeAccuracy"
-            placeholder="宸ュ崟闃堝��"
-          />
-          <el-input
-            clearable
-            size="small"
-            v-model="carForm.timeAccuracyAuto"
-            placeholder="涓嬪彂闃堝��"
-          />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="editCar">纭� 瀹�</el-button>
-        <el-button @click="cancelCar">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
+        <pagination
+          v-show="total>0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getWhiteList"
+        />
+      </el-col>
+    </el-row>
 
-    <!-- 瑙嗛闃堝�� -->
+<!--    鏂板鐧藉悕鍗�-->
     <el-dialog
-      title="淇敼瑙嗛宸ュ崟闃堝��"
-      :visible.sync="videoOpen"
-      width="700px"
-      append-to-body
-    >
-      <el-form
-        ref="videoForm"
-        :model="videoForm"
-        label-width="100px"
-        :inline="true"
-      >
-        <el-form-item
-          class="fixedWidth"
-          label="鍥惧儚璐ㄩ噺"
-          prop="imageQuality"
-          label-width="100px"
-        >
-          <el-select
-            v-model="videoForm.imageQuality"
-            placeholder="宸ュ崟闃堝��"
-            @change="handleModeNameChange"
-          >
-            <el-option
-              :key="dict.value"
-              :label="dict.value"
-              v-for="dict in dict.type.image_qualify"
-            />
-          </el-select>
-          <el-select
-            v-model="videoForm.imageQualityAuto"
-            placeholder="涓嬪彂闃堝��"
-            @change="handleModeNameChange"
-          >
-            <el-option
-              :key="dict.value"
-              :label="dict.value"
-              v-for="dict in dict.type.image_qualify"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="瑙嗛璐ㄩ噺"
-          prop="videoQuality"
-          label-width="100px"
-        >
-          <el-select
-            v-model="videoForm.videoQuality"
-            placeholder="宸ュ崟闃堝��"
-            @change="handleModeNameChange"
-          >
-            <el-option
-              :key="dict.value"
-              :label="dict.value"
-              v-for="dict in dict.type.video_qualify"
-            />
-          </el-select>
-          <el-select
-            v-model="videoForm.videoQualityAuto"
-            placeholder="涓嬪彂闃堝��"
-            @change="handleModeNameChange"
-          >
-            <el-option
-              :key="dict.value"
-              :label="dict.value"
-              v-for="dict in dict.type.video_qualify"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          class="fixedWidth"
-          label="鏍囨敞鍑嗙‘鐜�"
-          prop="annotationAccuracy"
-          label-width="100px"
-        >
-          <el-input
-            v-model="videoForm.annotationAccuracy"
-            type="number"
-            size="small"
-            placeholder="宸ュ崟闃堝��"
-          ></el-input>
-          <el-input
-            v-model="videoForm.annotationAccuracy"
-            type="number"
-            size="small"
-            placeholder="涓嬪彂闃堝��"
-          ></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="editVideo">纭� 瀹�</el-button>
-        <el-button @click="cancelVideo">鍙� 娑�</el-button>
+      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>
@@ -1094,7 +386,8 @@
 import {
   listThreshold,
   getThreshold,
-  editVideo,
+  updateThreshold,
+  importData,
 } from "@/api/platform/threshold";
 import {
   editCar,
@@ -1104,12 +397,20 @@
   getVideo,
 } from "../../../../api/platform/threshold";
 
+import {
+  getWhiteList,
+  addWhiteList,
+  bathDelete,
+} from "@/api/platform/work-order";
+
 export default {
   dicts: ["image_qualify", "video_qualify"],
   name: "Threshold",
   data() {
     return {
-      ifEdit: false,
+      ifEditVideo: false,
+      ifEditFace: false,
+      ifEditCar: false,
       indicators: [],
       // 閬僵灞�
       loading: true,
@@ -1124,9 +425,10 @@
       // 鎬绘潯鏁�
       total: 0,
       // 杩愮淮闃堝�艰〃鏍兼暟鎹�
-      thresholdList: [],
+      thresholdList: {},
       videoList: [],
       faceList: [],
+      carList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -1138,6 +440,8 @@
         pageNum: 1,
         pageSize: 10,
         monitorType: null,
+        serialNumber: null,
+        pointName: null,
       },
       // 琛ㄥ崟鍙傛暟
       videoForm: {},
@@ -1146,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: {
@@ -1199,24 +503,73 @@
           },
         ],
         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: [],
+      // 鏂板妗�
+      addShow: false,
+      addForm: {
+        serialNumber: "",
+        remark: "",
+      },
+      // 鏂板妗嗘牎楠�
+      addFormRules: {
+        serialNumber: [
+          {required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur"},
+        ],
+      },
+      // 瀵煎叆鏂囦欢璺緞
+      importUrl: '',
+      fileList: [],
+      importFile: null,
+      upload: false,
     };
   },
   created() {
     this.getList();
+    this.getWhiteList();
   },
   methods: {
-    a() {
-      this.ifEdit = true;
-      console.log(this.ifEdit);
+    showEdit(value) {
+      if (value == "video") {
+        this.videoList = JSON.parse(JSON.stringify(this.thresholdList.video));
+        this.ifEditVideo = true;
+      }
+      if (value == "face") {
+        this.faceList = JSON.parse(JSON.stringify(this.thresholdList.face));
+        this.ifEditFace = true;
+      }
+      if (value == "car") {
+        this.carList = JSON.parse(JSON.stringify(this.thresholdList.car));
+        this.ifEditCar = true;
+      }
+    },
+    saveEdit(value) {
+      let data = []
+      if (value == "video") {
+        data = this.videoList;
+        this.ifEditVideo = false;
+      }
+      if (value == "face") {
+        data = this.faceList;
+        this.ifEditFace = false;
+      }
+      if (value == "car") {
+        data = this.carList;
+        this.ifEditCar = false;
+      }
+      updateThreshold(data).then((response) => {
+        this.$modal.msgSuccess("淇敼鎴愬姛");
+        this.getList();
+      });
     },
     showContent(row) {
       if (row.monitorType === "car") {
@@ -1271,8 +624,18 @@
     getList() {
       this.loading = true;
       listThreshold(this.queryParams).then((response) => {
-        this.thresholdList = response.rows;
-        this.videoList = thresholdList[0];
+        this.thresholdList = response.data;
+        this.videoList = JSON.parse(JSON.stringify(this.thresholdList.video));
+        this.faceList = JSON.parse(JSON.stringify(this.thresholdList.face));
+        this.carList = JSON.parse(JSON.stringify(this.thresholdList.car));
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    getWhiteList() {
+      this.loading = true;
+      getWhiteList(this.queryParams).then((response) => {
+        this.workOrderWhiteList = response.data;
         this.total = response.total;
         this.loading = false;
       });
@@ -1343,28 +706,28 @@
       this.resetForm("carForm");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
+    // handleQuery() {
+    //   this.queryParams.pageNum = 1;
+    //   this.getList();
+    // },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
+    // resetQuery() {
+    //   this.resetForm("queryForm");
+    //   this.handleQuery();
+    // },
     // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
-    },
+    // handleSelectionChange(selection) {
+    //   this.ids = selection.map((item) => item.id);
+    //   this.single = selection.length !== 1;
+    //   this.multiple = !selection.length;
+    // },
     /** 鏂板鎸夐挳鎿嶄綔 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "娣诲姞杩愮淮闃堝��";
-      this.handleModeNameChange();
-    },
+    // handleAdd() {
+    //   this.reset();
+    //   this.open = true;
+    //   this.title = "娣诲姞杩愮淮闃堝��";
+    //   this.handleModeNameChange();
+    // },
     /** 淇敼鎸夐挳鎿嶄綔 */
     updateWho(row) {
       if (row.monitorType === "face") {
@@ -1428,7 +791,8 @@
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => {});
+        .catch(() => {
+        });
     },
     /** 鍒囨崲涓嶅悓鎸囨爣 */
     handleModeNameChange() {
@@ -1519,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>
@@ -1544,8 +968,19 @@
 
 .header鈥攖ext {
   font-weight: bold;
+  font-size: large;
 }
 ::v-deep .el-form-item {
   margin-bottom: 0px; /* 鏍规嵁闇�姹傝皟鏁磋繖涓�� */
 }
+::v-deep .el-form-item__label {
+  color: #8d8d8d;
+}
+.unit {
+  margin-left: 5px;
+  display: inline-block;
+}
+.content-warp {
+  margin-top: 10px;
+}
 </style>

--
Gitblit v1.8.0