From a3f357e8a60443b74b64c7479113c68eb35ce1f5 Mon Sep 17 00:00:00 2001
From: ZZJ <10913410+zzj2100@user.noreply.gitee.com>
Date: 星期五, 15 七月 2022 19:44:57 +0800
Subject: [PATCH] 控制轮询

---
 src/pages/library/components/carList.vue | 1587 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 890 insertions(+), 697 deletions(-)

diff --git a/src/pages/library/components/carList.vue b/src/pages/library/components/carList.vue
index 245779d..7be0a09 100644
--- a/src/pages/library/components/carList.vue
+++ b/src/pages/library/components/carList.vue
@@ -1,253 +1,175 @@
 <template>
   <div class="table-parent">
-    <el-row class style="margin: 20px">
-      <!-- <el-col :span="4" class="tl">
-          <b class="f14">{{this.baseObject.tableName}}</b>
-      </el-col>
-      <el-col :span="2">
-          <b class="f14">{{this.baseObject.bwType === '1'?'榛戝悕鍗�':'鐧藉悕鍗�'}}</b>
-      </el-col>
-      <el-col :span="8">
-          <b class="f14">鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</b>
-      </el-col>-->
-      <div class="tl">
-        <span class="f14" style="color: #000000">{{
-          this.baseObject.tableName ? this.baseObject.tableName + "/&nbsp;" : ""
-        }}</span>
-        <span class="f14" style="color: #000000">{{
-          this.baseObject.bwType === "1"
-            ? "榛戝悕鍗�/&nbsp;"
-            : "鐧藉悕鍗�/&nbsp;&nbsp;&nbsp;"
-        }}</span>
-        <span class="f14" style="color: #000000"
-          >鏈夋晥鏃堕棿锛歿{ this.baseObject.startTime }}--{{
-            this.baseObject.endTime ? this.baseObject.endTime : "姘镐箙鏈夋晥"
-          }}</span
-        >
+    <el-row>
+      <div class="base-tip">
+        <div class="left-tips">
+          <span class="ku-name">{{ this.baseObject.tableName }}</span>
+          <span
+            class="list"
+            :class="
+              this.baseObject.bwType === '1' ? 'black-list' : 'white-list'
+            "
+            >{{ this.baseObject.bwType === "1" ? "榛戝悕鍗�" : "鐧藉悕鍗�" }}</span
+          >
+          <span class="ok-time"
+            >鏈夋晥鏃堕棿锛歿{ this.baseObject.startTime }} --
+            {{
+              this.baseObject.endTime ? this.baseObject.endTime : "姘镐箙鏈夋晥"
+            }}</span
+          >
+        </div>
+
+        <div class="right-btns">
+          <span style="margin-right: 2px">搴曞簱鐘舵�侊紙鐢熸晥/澶辨晥锛�</span>
+          <el-switch
+            :active-value="1"
+            :width="52"
+            :inactive-value="0"
+            v-model="baseObject.enable"
+            active-color="#4E94FF"
+            inactive-color="#BBBBBB"
+            style="margin-right: 10px"
+            :disabled="isDisabled(baseObject)"
+            @change="setEnable(baseObject)"
+          >
+          </el-switch>
+          <div class="shutiao" v-if="baseObject.enable"></div>
+          <div class="shutiao1" v-else></div>
+          <el-tooltip content="鍒犻櫎" placement="top" popper-class="atooltip">
+            <span
+              class="iconfont iconfont-wrap iconshanchuku-09"
+              v-if="isShow('library:set')"
+              @click.stop="askDelete('base')"
+            ></span>
+          </el-tooltip>
+
+          <el-tooltip content="缂栬緫" placement="top" popper-class="atooltip">
+            <span
+              class="iconfont iconfont-wrap iconbianjiku-09"
+              @click.stop="edit"
+              v-if="isShow('library:set')"
+            ></span>
+          </el-tooltip>
+        </div>
       </div>
     </el-row>
-    <el-row class style="margin: 40px 0 40px 20px">
-      <el-col :span="6">
-        <el-input
-          placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�"
-          autocomplete="off"
-          width="100%"
-          size="small"
-          v-model="BaseManageData.contentValue"
-          @keyup.enter.native="handleSearch"
-        ></el-input>
-      </el-col>
-      <el-col :span="2">
-        <el-button size="small" type="primary" @click="handleSearch"
-          >鎼滅储</el-button
-        >
-      </el-col>
-      <el-col :offset="8" :span="3">
-        <fTemplate authority="library:set">
-          <el-button
+
+    <div style="display: flex" class="border-tabl">
+      <div class="head-search">
+        <div class="desc">
+          鏈簱鍏辨湁
+          <span class="nums">{{ BaseManageData.total }}鏉�</span>
+          鏁版嵁
+        </div>
+        <div class="right-group">
+          <el-input
+            placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�"
+            autocomplete="off"
+            width="100%"
             size="small"
-            class="ml10"
-            type="danger"
-            @click="deleteBatch"
-            v-if="isShow('library:set')"
-            >鎵归噺鍒犻櫎</el-button
+            v-model="BaseManageData.contentValue"
+            @keyup.enter.native="handleSearch"
+          ></el-input>
+          <el-button size="small" type="primary" @click="handleSearch"
+            >鎼滅储</el-button
           >
-        </fTemplate>
-      </el-col>
-      <el-col :span="2">
-        <div class="text-left">
-          <el-button size="small" class="ml10" type="primary" @click="addCar"
-            >娣诲姞杞﹁締</el-button
+
+          <el-tooltip
+            content="鎵归噺鍒犻櫎"
+            placement="top"
+            popper-class="atooltip"
           >
-          <el-drawer
-            title="杞﹁締淇℃伅"
-            :modal="false"
-            :destroy-on-close="true"
-            :append-to-body="true"
-            :visible.sync="addDrawer"
-            :direction="direction"
-            :before-close="handleClose1"
+            <fTemplate authority="library:set">
+              <span
+                class="iconfont iconfont-wrap iconpiliangshanchu-09"
+                @click="askDelete('batch')"
+                v-if="isShow('library:set')"
+              ></span>
+            </fTemplate>
+          </el-tooltip>
+
+          <el-tooltip
+            content="娣诲姞杞﹁締"
+            placement="top"
+            popper-class="atooltip"
           >
-            <div class="drawerSpace">
-              <div class="uploadLine">
-                <div class="car-picture">
-                  <el-upload
-                    action
-                    :http-request="uploadCar"
-                    accept="image/*"
-                    list-type="picture-card"
-                    :file-list="form.carUrls"
-                    :before-remove="handleRemoveCarPic"
-                  >
-                    <i class="el-icon-plus" style="margin-top: 25px"></i>
-                    <div>涓婁紶杞﹁締鐓х墖</div>
-                  </el-upload>
-                </div>
-                <div class="person-picture">
-                  <el-upload
-                    action
-                    :http-request="uploadPerson"
-                    list-type="picture-card"
-                    accept="image/*"
-                    :limit="1"
-                    :file-list="form.faceUrl"
-                    :on-remove="handleRemoveFacePic"
-                  >
-                    <i class="el-icon-plus" style="margin-top: 25px"></i>
-                    <div>涓婁紶杞︿富鐓х墖</div>
-                  </el-upload>
-                </div>
-              </div>
-              <el-form
-                ref="formForCar"
-                :model="form"
-                label-width="100px"
-                style="margin-top: 20px; margin-bottom: 50px"
-                :rule="rules"
-              >
-                <el-form-item label="*杞︾墝鍙凤細">
-                  <el-input
-                    placeholder="璇疯緭鍏ヨ溅鐗屽彿"
-                    v-model="form.carNo"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="杞﹁締绫诲瀷锛�">
-                  <el-select
-                    v-model="form.carType"
-                    placeholder="璇烽�夋嫨杞﹁締绫诲瀷"
-                    class="inputWidth"
-                  >
-                    <el-option
-                      v-for="item in VideoPhotoData.dictionary.CARTYPE"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="杞﹁締鍝佺墝锛�">
-                  <el-select
-                    v-model="form.carBrand"
-                    placeholder="璇烽�夋嫨杞﹁締鍝佺墝"
-                    class="inputWidth"
-                  >
-                    <el-option
-                      v-for="item in VideoPhotoData.dictionary.BRAND"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="杞﹁韩棰滆壊锛�">
-                  <el-select
-                    v-model="form.carColor"
-                    placeholder="璇烽�夋嫨杞﹁韩棰滆壊"
-                    class="inputWidth"
-                  >
-                    <el-option
-                      v-for="item in VideoPhotoData.dictionary.nColor"
-                      :key="item.value"
-                      :label="item.name"
-                      :value="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item label="杞︿富濮撳悕锛�">
-                  <el-input
-                    v-model="form.personName"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="杞︿富鎬у埆锛�">
-                  <el-radio-group v-model="form.sex">
-                    <el-radio label="鐢�"></el-radio>
-                    <el-radio label="濂�"></el-radio>
-                  </el-radio-group>
-                </el-form-item>
-                <el-form-item label="韬唤璇佸彿锛�">
-                  <el-input v-model="form.idCard" class="inputWidth"></el-input>
-                </el-form-item>
-                <el-form-item label="鎵嬫満鍙凤細">
-                  <el-input
-                    v-model="form.phoneNum"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item label="鍏朵粬锛�">
-                  <el-input
-                    v-model="form.reserved"
-                    class="inputWidth"
-                  ></el-input>
-                </el-form-item>
-                <el-form-item style="text-align: tight">
-                  <el-button
-                    type="primary"
-                    @click="submitCar"
-                    style="margin-left: 120px"
-                    >淇濆瓨</el-button
-                  >
-                  <el-button @click="resetForm">鍙栨秷</el-button>
-                </el-form-item>
-              </el-form>
-            </div>
-          </el-drawer>
+            <span
+              class="iconfont iconfont-wrap icontianjiacheliang-09"
+              @click="addCar"
+            ></span>
+          </el-tooltip>
+
+          <el-tooltip
+            content="鎵归噺涓婁紶杞︾墝"
+            placement="top"
+            popper-class="atooltip"
+          >
+            <span
+              class="iconfont iconfont-wrap iconshangchuanchepai-09"
+              @click="addBatch"
+            ></span>
+          </el-tooltip>
         </div>
-      </el-col>
-      <el-col :span="3">
-        <div class="text-left">
-          <el-button size="small" class="ml10" type="primary" @click="addBatch"
-            >鎵归噺涓婁紶杞︾墝</el-button
-          >
-          <el-drawer
-            title="涓婁紶杞︾墝"
-            :modal="false"
-            :append-to-body="true"
-            :visible.sync="addBatchDrawer"
-            :direction="direction"
-            :before-close="handleClose2"
-          >
-            <div class="drawerSpace">
-              <div class="plateAttach">
-                <el-input
-                  type="textarea"
-                  :rows="25"
-                  v-model="plates"
-                  style="width: 90%"
-                  placeholder="璇疯緭鍏ヨ溅鐗屽彿"
-                ></el-input>
-                <p>
-                  杞︾墝鍙蜂互閫楀彿鎴栧洖杞﹂敭闅斿紑锛屽崟娆℃渶澶氭敮鎸�100鏉′笂浼狅紝渚嬪锛氫含YAB123,浜現34Y87
-                </p>
-                <el-button
-                  type="primary"
-                  @click="platesBatch"
-                  style="margin-left: 210px"
-                  >淇濆瓨</el-button
-                >
-                <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button>
-              </div>
-            </div>
-          </el-drawer>
-        </div>
-      </el-col>
-    </el-row>
-    <div style="display: flex" class="border-tabl ml20">
+      </div>
+
       <el-table
         id="multipleTable"
+        class="tableBox"
         ref="multipleTable"
         :data="BaseManageData.personList"
         tooltip-effect="dark"
-        style="width: 100%"
+        style="width: 100%; overflow: auto"
         :fit="true"
+        border
         :default-sort="{ prop: 'createTime', order: 'descending' }"
         @selection-change="handleSelectionChange"
-        :header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
+        :header-cell-style="{
+          background: '#fff',
+          color: '#222222',
+          padding: '2px 1px',
+          borderBottom: 'none',
+        }"
       >
         <el-table-column type="selection" width="30"></el-table-column>
-        <el-table-column label="搴忓彿" width="70" sortable align="center">
-          <template slot-scope="scope">{{ scope.$index + 1 }}</template>
+        <el-table-column
+          prop="carUrls"
+          label="杞﹁締鐓х墖"
+          width="140"
+          show-overflow-tooltip
+          sortable
+          class="picture"
+          align="center"
+        >
+          <template slot-scope="scope">
+            <el-carousel
+              style="height: 100px"
+              :autoplay="false"
+              indicator-position="none"
+              :arrow="scope.row.carUrls.length > 1 ? 'always' : 'never'"
+            >
+              <el-carousel-item
+                v-for="(item, index) in scope.row.carUrls"
+                :key="index"
+              >
+                <img
+                  style="width: 100px; height: 100px; object-fit: contain"
+                  :src="item.url"
+                  alt
+                />
+              </el-carousel-item>
+            </el-carousel>
+          </template>
+        </el-table-column>
+        <el-table-column label="鐢熸晥鐘舵��" align="center" width="80">
+          <template slot-scope="scope">
+            <el-switch
+              v-model="scope.row.enable"
+              :active-value="1"
+              :disabled="!isShow('library:set')"
+              :inactive-value="0"
+              @change="enable(scope.row)"
+            ></el-switch>
+          </template>
         </el-table-column>
         <el-table-column
           prop="carNo"
@@ -297,35 +219,7 @@
           align="center"
           width="80"
         ></el-table-column>
-        <el-table-column
-          prop="carUrls"
-          label="杞﹁締鐓х墖"
-          width="140"
-          show-overflow-tooltip
-          sortable
-          class="picture"
-          align="center"
-        >
-          <template slot-scope="scope">
-            <el-carousel
-              style="height: 100px"
-              :autoplay="false"
-              indicator-position="none"
-              :arrow="scope.row.carUrls.length > 1 ? 'always' : 'never'"
-            >
-              <el-carousel-item
-                v-for="(item, index) in scope.row.carUrls"
-                :key="index"
-              >
-                <img
-                  style="width: 100px; height: 100px; object-fit: contain"
-                  :src="item.url"
-                  alt
-                />
-              </el-carousel-item>
-            </el-carousel>
-          </template>
-        </el-table-column>
+
         <el-table-column
           prop="createTime"
           label="鍏ュ簱鏃堕棿"
@@ -334,18 +228,7 @@
           sortable
           align="center"
         ></el-table-column>
-        <!-- <el-table-column prop="reserved" label="鍏朵粬" align="center"></el-table-column> -->
-        <el-table-column label="鐢熸晥鐘舵��" align="center" width="80">
-          <template slot-scope="scope">
-            <el-switch
-              v-model="scope.row.enable"
-              :active-value="1"
-              :disabled="!isShow('library:set')"
-              :inactive-value="0"
-              @change="enable(scope.row)"
-            ></el-switch>
-          </template>
-        </el-table-column>
+
         <el-table-column label="鎿嶄綔" min-width="200" align="center">
           <template slot-scope="scope">
             <fTemplate authority="library:set">
@@ -355,73 +238,81 @@
                 popper-class="atooltip"
               >
                 <span
-                  class="iconfont iconbianji iconStyle1"
-                  style="font-size: 15px"
+                  class="iconfont iconbianjixinxi-09"
+                  style="font-size: 24px; cursor: pointer"
                   @click="handleClick(scope.row)"
                 ></span>
               </el-tooltip>
             </fTemplate>
-            <el-tooltip
-              content="鏌ユ壘姝や汉"
+            <el-popover
               placement="top"
-              popper-class="atooltip"
+              trigger="click"
+              popper-class="popper-caozuo1"
             >
+              <el-tooltip
+                content="鏌ユ壘姝よ溅"
+                placement="top"
+                popper-class="atooltip"
+              >
+                <span
+                  class="iconfont iconchazhaociren-09"
+                  @click="tosearch(scope.row)"
+                ></span>
+              </el-tooltip>
+              <fTemplate authority="library:set">
+                <el-tooltip
+                  content="澶嶅埗"
+                  placement="top"
+                  popper-class="atooltip"
+                >
+                  <span
+                    class="iconfont iconfuzhi-09"
+                    title="澶嶅埗"
+                    @click="copyClick(scope.row)"
+                  ></span>
+                </el-tooltip>
+              </fTemplate>
+              <fTemplate authority="library:set">
+                <el-tooltip
+                  content="绉诲姩"
+                  placement="top"
+                  popper-class="atooltip"
+                >
+                  <span
+                    class="iconfont iconyidong-09"
+                    title="绉诲姩"
+                    @click="moveClick(scope.row)"
+                  ></span>
+                </el-tooltip>
+              </fTemplate>
+              <fTemplate authority="library:set">
+                <el-tooltip
+                  content="鍒犻櫎"
+                  placement="top"
+                  popper-class="atooltip"
+                >
+                  <span
+                    class="iconfont iconshanchu-09"
+                    style="color: #e74c3c"
+                    @click="askDelete('single', scope.row.id)"
+                    title="鍒犻櫎"
+                  ></span>
+                </el-tooltip>
+              </fTemplate>
               <span
-                class="iconfont iconsousuoren iconStyle1"
-                @click="tosearch(scope.row)"
+                slot="reference"
+                class="iconfont icongengduocaozuo-09"
+                style="font-size: 24px; cursor: pointer"
               ></span>
-            </el-tooltip>
-            <fTemplate authority="library:set">
-              <el-tooltip
-                content="澶嶅埗"
-                placement="top"
-                popper-class="atooltip"
-              >
-                <span
-                  class="iconfont iconfuzhi iconStyle1"
-                  title="澶嶅埗"
-                  @click="copyClick(scope.row)"
-                ></span>
-              </el-tooltip>
-            </fTemplate>
-            <fTemplate authority="library:set">
-              <el-tooltip
-                content="绉诲姩"
-                placement="top"
-                popper-class="atooltip"
-              >
-                <span
-                  class="iconfont iconyidongzhi iconStyle1"
-                  style="font-size: 15px"
-                  title="绉诲姩"
-                  @click="moveClick(scope.row)"
-                ></span>
-              </el-tooltip>
-            </fTemplate>
-            <fTemplate authority="library:set">
-              <el-tooltip
-                content="鍒犻櫎"
-                placement="top"
-                popper-class="atooltip"
-              >
-                <span
-                  class="iconfont iconshanchu iconStyle1"
-                  style="color: #e74c3c"
-                  @click="deleteThis(scope.row.id)"
-                  title="鍒犻櫎"
-                ></span>
-              </el-tooltip>
-            </fTemplate>
+            </el-popover>
           </template>
         </el-table-column>
       </el-table>
-    </div>
-    <div class="pt5 pb20" style="height: 40px; position: relative">
       <el-pagination
         @current-change="refrash"
         :current-page="BaseManageData.page"
         :page-size="BaseManageData.size"
-        style="position: absolute; right: 10px; bottom: 5px"
+        style="margin-top: 10px"
         :total="BaseManageData.total"
       ></el-pagination>
     </div>
@@ -478,8 +369,7 @@
       :visible.sync="copyVisiabled"
       :append-to-body="true"
       okText="淇濆瓨"
-      width="35%"
-      class="copy"
+      custom-class="copy-dialog"
       cancelText="鍙栨秷"
     >
       <div class="addToBase1">
@@ -545,8 +435,7 @@
       :visible.sync="moveVisiabled"
       :append-to-body="true"
       okText="淇濆瓨"
-      class="move"
-      width="35%"
+      custom-class="copy-dialog"
       cancelText="鍙栨秷"
     >
       <div class="addToBase1">
@@ -608,6 +497,206 @@
         >
       </div>
     </el-dialog>
+
+    <el-dialog
+      :visible.sync="askDeleteShow"
+      :center="true"
+      custom-class="del-dialog"
+    >
+      <div>
+        <div class="suc-icon">
+          <i class="iconfont icongantanhao1"></i>
+        </div>
+        <div class="tt">{{ delText[0] }}</div>
+        <div class="flex-box">
+          <span>{{ delText[1] }}</span>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="askDeleteShow = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="handleDel" :loading="delBtnLoading"
+          >纭� 瀹�</el-button
+        >
+      </span>
+    </el-dialog>
+
+    <el-drawer
+      title="杞﹁締淇℃伅"
+      :modal="false"
+      :destroy-on-close="true"
+      custom-class="add-car"
+      :visible.sync="addDrawer"
+      :direction="direction"
+      :before-close="handleClose1"
+    >
+      <div class="uploadLine">
+        <div class="car-picture">
+          <div class="car-text">涓婁紶杞﹁締鐓х墖</div>
+          <el-upload
+            action
+            :http-request="uploadCar"
+            accept="image/*"
+            list-type="picture-card"
+            :file-list="form.carUrls"
+            :before-remove="handleRemoveCarPic"
+          >
+            <i class="el-icon-plus" style="margin-top: 25px"></i>
+          </el-upload>
+        </div>
+        <div class="person-picture">
+          <div class="car-text">涓婁紶杞︿富鐓х墖</div>
+          <el-upload
+            action
+            :http-request="uploadPerson"
+            list-type="picture-card"
+            accept="image/*"
+            :limit="1"
+            :file-list="form.faceUrl"
+            :on-remove="handleRemoveFacePic"
+          >
+            <i class="el-icon-plus" style="margin-top: 25px"></i>
+          </el-upload>
+        </div>
+      </div>
+      <el-form
+        ref="formForCar"
+        :model="form"
+        label-width="80px"
+        style="margin-top: 20px; margin-bottom: 30px"
+        :rule="carRules"
+      >
+        <el-form-item label="杞︾墝鍙�" prop="carNo">
+          <el-input
+            placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+            v-model="form.carNo"
+            class="inputWidth"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="杞﹁締绫诲瀷" prop="carType">
+          <el-select
+            v-model="form.carType"
+            placeholder="璇烽�夋嫨杞﹁締绫诲瀷"
+            class="inputWidth"
+          >
+            <el-option
+              v-for="item in dictionary.nVehicleType"
+              :key="item.value"
+              :label="item.name"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="杞﹁締鍝佺墝" prop="carBrand">
+          <el-select
+            v-model="form.carBrand"
+            placeholder="璇烽�夋嫨杞﹁締鍝佺墝"
+            class="inputWidth"
+          >
+            <el-option
+              v-for="item in dictionary.nVehicleBrand"
+              :key="item.value"
+              :label="item.name"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="杞﹁韩棰滆壊" prop="carColor">
+          <el-select
+            v-model="form.carColor"
+            placeholder="璇烽�夋嫨杞﹁韩棰滆壊"
+            class="inputWidth"
+          >
+            <el-option
+              v-for="item in dictionary.nVehicleColor"
+              :key="item.value"
+              :label="item.name"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="杞︿富濮撳悕" prop="personName">
+          <el-input v-model="form.personName" class="inputWidth"></el-input>
+        </el-form-item>
+        <el-form-item label="杞︿富鎬у埆" prop="sex">
+          <el-radio-group v-model="form.sex">
+            <el-radio label="鐢�"></el-radio>
+            <el-radio label="濂�"></el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="韬唤璇佸彿" prop="idCard">
+          <el-input v-model="form.idCard" class="inputWidth"></el-input>
+        </el-form-item>
+        <el-form-item label="鎵嬫満鍙�" prop="phoneNum">
+          <el-input v-model="form.phoneNum" class="inputWidth"></el-input>
+        </el-form-item>
+        <el-form-item label="鍏朵粬" prop="reserved">
+          <el-input v-model="form.reserved" class="inputWidth"></el-input>
+        </el-form-item>
+      </el-form>
+      <div class="dialog-footer">
+        <el-button
+          size="small"
+          class="sure-btn"
+          type="primary"
+          @click="submitCar"
+          >纭� 瀹�</el-button
+        >
+        <el-button
+          size="small"
+          class="cancel-btn"
+          @click="resetForm"
+          type="info"
+          >鍙� 娑�</el-button
+        >
+      </div>
+    </el-drawer>
+
+    <el-drawer
+      title="涓婁紶杞︾墝"
+      :modal="false"
+      :visible.sync="addBatchDrawer"
+      :direction="direction"
+      custom-class="upload-pai"
+      :before-close="handleClose2"
+    >
+      <div class="drawerSpace">
+        <div class="plateAttach">
+          <el-input
+            type="textarea"
+            :rows="25"
+            v-model="plates"
+            style="width: 90%"
+            placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+          ></el-input>
+          <p>
+            杞︾墝鍙蜂互閫楀彿鎴栧洖杞﹂敭闅斿紑锛屽崟娆℃渶澶氭敮鎸�100鏉′笂浼狅紝渚嬪锛氫含YAB123,浜現34Y87
+          </p>
+          <!-- <el-button
+            type="primary"
+            @click="platesBatch"
+            style="margin-left: 210px"
+            >淇濆瓨</el-button
+          >
+          <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button> -->
+        </div>
+      </div>
+      <div class="dialog-footer">
+        <el-button
+          size="small"
+          class="sure-btn"
+          type="primary"
+          @click="platesBatch"
+          >淇濆瓨</el-button
+        >
+        <el-button
+          size="small"
+          class="cancel-btn"
+          @click="resetForm('ruleForm')"
+          type="info"
+          >鍙栨秷</el-button
+        >
+      </div>
+    </el-drawer>
   </div>
 </template>
 <script>
@@ -616,15 +705,16 @@
   updateBaseCar,
   deleteBasePersons,
   plateBatch,
+  updateDbTableStatus,
+  deleteDbPersonById,
+  deleteDBtablesById,
+  dicByType,
 } from "@/api/baseLibrary";
 import axios from "axios";
-// import { findByType } from '@/server/video.js'
-import Upload from "./upload";
 import fTemplate from "@/components/fTemplate";
 import request from "@/scripts/httpRequest";
 export default {
   components: {
-    // httpImg,
     fTemplate,
   },
   props: {
@@ -632,8 +722,59 @@
       default: () => {},
       type: Object,
     },
+    syncType: {
+      type: String,
+    },
+  },
+
+  computed: {
+    isAdmin() {
+      if (
+        sessionStorage.getItem("userInfo") &&
+        sessionStorage.getItem("userInfo") !== ""
+      ) {
+        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
+        return loginName === "superadmin" || loginName === "basic";
+      }
+      return false;
+    },
+    delText() {
+      switch (this.delType) {
+        case "base":
+          return ["鍒犻櫎搴曞簱", "纭畾鍒犻櫎璇ュ簳搴擄紵"];
+        case "single":
+          return ["鍒犻櫎杞﹁締淇℃伅", "纭畾鍒犻櫎璇ヨ溅杈嗕俊鎭紵"];
+        case "batch":
+          return ["鎵归噺鍒犻櫎", "纭畾鍒犻櫎璇ュ簳搴撻�変腑鐨勮溅杈嗕俊鎭紵"];
+        default:
+          return ["", ""];
+      }
+    },
   },
   data() {
+    var checkCar = (rule, value, callback) => {
+      debugger;
+      if (!value) {
+        return callback();
+      } else {
+        var result = false;
+        if (value.length === 7) {
+          var express =
+            /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$/;
+          result = express.test(value);
+        } else if (value.length === 8) {
+          var express2 =
+            /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9鎸傚璀︽腐婢砞{1}$/;
+          result = express2.test(value);
+        }
+        if (result) {
+          callback();
+        } else {
+          callback(new Error("璇疯緭鍏ユ纭溅鐗屽彿鐮�"));
+        }
+        return result;
+      }
+    };
     return {
       dialogFormVisible: false,
       addDrawer: false,
@@ -651,15 +792,9 @@
           url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg",
         },
       ],
-      provinces: [
-        { name: "浜�", value: 1 },
-        { name: "娲�", value: 2 },
-        { name: "鍐�", value: 3 },
-      ],
       copyVisiabled: false,
       moveVisiabled: false,
       buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
-      searchName: "",
       current: 1,
       compare: false,
       pageSize: 10,
@@ -678,7 +813,7 @@
         idCard: "",
         phoneNum: "",
         monitorLevel: "one",
-        carUrls: [], //{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"},{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"}
+        carUrls: [],
         faceUrl: [],
         faceFeature: "",
         carPicUrls: "",
@@ -690,80 +825,160 @@
         enable: 0,
         reserved: "",
       },
-      rules: {
-        picDesc: [
-          { required: true, message: "璇疯緭鍏ョ収鐗囨爣璇�", trigger: "change" },
-        ],
-        sex: [{ required: true, message: "璇峰嬀閫夋�у埆", trigger: "change" }],
-        monitorLevel: [
-          { required: true, message: "璇烽�夋嫨浜哄憳绛夌骇", trigger: "change" },
+      carRules: {
+        carNo: [
+          { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" },
+          // { validator: checkCar, trigger: 'blur' }
         ],
       },
       tableData: [],
-      tableHeight: window.innerHeight - 320,
-      multipleSelection: [],
-      peoperLevel: [],
       oldWidth: "",
       oldHeight: "",
-      // 涓婁紶鍚庣殑寮规鏄剧ず
+      askDeleteShow: false,
+      delType: "",
+      toDeleteId: "",
       dialogVisible: false,
-      // 鎵归噺涓婁紶鍚庣殑杩斿洖缁撴灉
       uploadResult: {
         failList: [],
         successList: [],
         multiFaceList: [],
         noFaceList: [],
       },
+      delBtnLoading: false,
+      dictionary: {},
     };
   },
-  computed: {
-    isAdmin() {
-      if (
-        sessionStorage.getItem("userInfo") &&
-        sessionStorage.getItem("userInfo") !== ""
-      ) {
-        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
-        return loginName === "superadmin" || loginName === "basic";
-      }
-      return false;
+  watch: {
+    "BaseManageData.selectBlacks": function (value) {
+      this.blackAngWhite();
+    },
+    "BaseManageData.selectWhites": function (value) {
+      this.blackAngWhite();
     },
   },
+  created() {
+    this.dicByType();
+  },
+  mounted() {
+    this.getCarList();
+    this.VideoPhotoData.queryDictionary();
+    this.BaseManageData.queryTagList();
+    this.oldWidth = document.body.clientWidth;
+    this.oldHeight = document.body.clientHeight;
+    this.blackAngWhite();
+    window.onresize = () => {
+      let width = document.body.clientWidth;
+      let height = document.body.clientHeight;
+      if (width !== this.oldWidth && width < 1750) {
+      }
+      this.$nextTick(() => {
+        this.$refs.multipleTable.doLayout();
+      });
+    };
+    this.$nextTick(() => {
+      this.$refs.multipleTable.doLayout();
+    });
+  },
+  beforeDestroy() {
+    window.onresize = null;
+  },
   methods: {
+    checkCarNo(value) {
+      var result = false;
+      if (value.length === 7) {
+        var express =
+          /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$/;
+        result = express.test(value);
+      } else if (value.length === 8) {
+        var express2 =
+          /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9鎸傚璀︽腐婢砞{1}$/;
+        result = express2.test(value);
+      }
+      return result;
+    },
+    async handleDel() {
+      this.delBtnLoading = true;
+      if (this.delType == "single") {
+        await this.deleteThis();
+      } else if (this.delType == "base") {
+        await this.deleteBase();
+      } else if (this.delType == "batch") {
+        await this.deleteBatch();
+      }
+
+      this.delBtnLoading = false;
+      this.askDeleteShow = false;
+    },
+    async dicByType() {
+      const res = await dicByType();
+      if (res && res.success) {
+        this.dictionary = res.data;
+      }
+    },
+    deleteBase() {
+      deleteDBtablesById({ id: this.baseObject.id })
+        .then((res) => {
+          if (res.success) {
+            this.$notify({
+              type: "success",
+              message: "搴曞簱鍒犻櫎鎴愬姛锛�",
+            });
+          }
+          this.askDeleteShow = false;
+          this.$emit("onDelete");
+        })
+        .catch((err) => {
+          this.$notify({
+            type: "error",
+            message: err,
+          });
+        });
+    },
     handleRemoveCarPic(file, fileList) {
-      console.log("鍒犻櫎鏂囦欢", file, fileList);
       var index = fileList.findIndex((item) => {
         if (item.uid == file.uid) {
           return true;
         }
       });
-      console.log("鍒犻櫎鐨勭储寮�", index);
       this.form.carUrls.splice(index, 1);
-      console.log("鍒犻櫎鍚庣殑fileList:", this.fileList);
+    },
+    isDisabled(item) {
+      var flag = true;
+      if (this.isShow("library:set")) {
+        if (item.endTime == "") {
+          flag = false;
+        } else {
+          flag = !this.$moment(new Date()).isBetween(
+            item.startTime,
+            item.endTime
+          );
+        }
+      }
+      return flag;
     },
     handleRemoveFacePic(file, fileList) {
       this.form.faceUrl.splice(0, 1);
-      console.log("鍒犻櫎鍚庣殑faceUrl:", this.fileList);
     },
-    beforeUoload() {},
+    edit() {
+      this.$emit("changeShow", this.baseObject, this.syncType);
+    },
+    // beforeUoload() {},
     handlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
       this.dialogVisible = true;
     },
     async uploadCar(param) {
       const fd = new FormData();
-      console.log("鏂囦欢鍙傛暟锛�", param);
       fd.append("file", param.file);
       fd.append("picType", "0");
-      console.log("鍙傛暟锛�", fd);
       let res = await request({
         method: "post",
         url: `/data/api-v/dbperson/fileupload`,
         data: fd,
       });
-      console.log("鍥剧墖涓婁紶缁撴灉锛�", res.success);
       if (res.success) {
+        debugger;
         this.form.carUrls.push({ url: "/httpImage/" + res.data.picUrl });
-        console.log("carUrl:", this.form.carUrls);
       }
     },
     async uploadPerson(param) {
@@ -778,7 +993,6 @@
       if (res.success) {
         this.form.faceUrl.push({ url: "/httpImage/" + res.data.picUrl });
         this.form.faceFeature = res.data.faceFeature;
-        console.log("faceUrl:", this.form.faceUrl);
       }
     },
     addCar() {
@@ -798,7 +1012,7 @@
         idCard: "",
         phoneNum: "",
         monitorLevel: "one",
-        carUrls: [], //{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"},{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"}
+        carUrls: [],
         faceUrl: [],
         faceFeature: "",
         carPicUrls: "",
@@ -811,28 +1025,14 @@
         reserved: "",
       }),
         done();
-      // this.$confirm('纭鍏抽棴锛�')
-      //   .then(_ => {
-      //     done();
-      //   })
-      //   .catch(_ => {});
     },
     handleClose2(done) {
       done();
-      // this.$confirm('纭鍏抽棴锛�')
-      //   .then(_ => {
-      //     done();
-      //   })
-      //   .catch(_ => {});
     },
     isShow(authority) {
-      if (this.isAdmin) {
-        return true;
-      } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) {
-        return true;
-      } else {
-        return false;
-      }
+      return (
+        this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
+      );
     },
     toggleSelection(rows) {
       if (rows) {
@@ -843,57 +1043,27 @@
         this.$refs.multipleTable.clearSelection();
       }
     },
-    deleteThis(id) {
-      let token =
-        sessionStorage.getItem("loginedInfo") &&
-        JSON.parse(sessionStorage.getItem("loginedInfo")).access_token;
-      this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱浜哄憳锛�", {
-        center: true,
-        cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
-      })
-        .then((_) => {
-          fetch(`/data/api-v/dbperson/deleteDbPersonById?id=${id}`, {
-            method: "GET",
-            headers: {
-              "Content-Type": "application/json",
-              Authorization: token,
-            },
-          })
-            .then((res) => {
-              return res.json();
-            })
-            .then((data) => {
-              // console.log(data.data);
-              if (data.success) {
-                this.$notify({
-                  type: "success",
-                  message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒",
-                });
-              }
-              this.getCarList();
-            })
-            .catch((err) => {
-              console.log(err);
+    deleteThis() {
+      deleteDbPersonById({ id: this.toDeleteId })
+        .then((data) => {
+          if (data.success) {
+            this.$notify({
+              type: "success",
+              message: "杞﹁締淇℃伅鍒犻櫎鎴愬姛锛�",
             });
+          }
+          this.getCarList();
         })
-        .catch((_) => {});
-    },
-    sayHello() {
-      console.log("hello");
+        .catch((err) => {});
     },
     getUploadResult(result) {
-      console.log(result, "涓婁紶鐨勮繑鍥�");
       this.uploadResult = result.data;
       this.dialogVisible = true;
       this.getCarList();
     },
-    async getCarList() {
-      // console.log("鎵ц浜嗗埛鏂板嚱鏁�", this.BaseManageData.syncTables[0]);
+    getCarList() {
       if (this.baseObject.id && this.baseObject.id !== undefined) {
-        // console.log("搴曞簱id", this.baseObject.id);
         this.BaseManageData.tableId = this.baseObject.id;
-        // this.BaseManageData.queryPersonList();
         this.setLoadSearch(this.BaseManageData.queryPersonList());
       }
     },
@@ -906,7 +1076,6 @@
       });
     },
     handleClose() {
-      //this.getCarList();
       this.dialogFormVisible = false;
     },
     handleSelectionChange(val) {
@@ -923,28 +1092,24 @@
       this.form.carColor += "";
       this.form.carType += "";
       this.form.carBrand += "";
-      console.log("this.form", this.form);
       this.addDrawer = true;
     },
     async submit() {
       this.$refs["formForEdit"].validate(async (valid) => {
-        // console.log("閫氳繃楠岃瘉", valid);
         if (valid) {
           let { ...json } = this.form;
           delete json["compareScore"];
-          // console.log("淇敼鐨勫弬鏁帮細", json);
           let res = await updateBasePerson(json);
-          // console.log("淇濆瓨浜�", res);
           if (res.success) {
             this.$notify({
               type: "success",
-              message: "浜哄憳淇敼鎴愬姛锛�",
+              message: "杞﹁締淇℃伅淇敼鎴愬姛锛�",
             });
             this.dialogFormVisible = false;
           } else {
             this.$notify({
               type: "error",
-              message: "浜哄憳淇敼澶辫触锛岃閲嶈瘯锛侊紒",
+              message: "杞﹁締淇℃伅淇敼澶辫触锛岃閲嶈瘯锛侊紒",
             });
           }
         } else {
@@ -973,15 +1138,15 @@
         personPicUrl: item.personPicUrl,
         reserved: item.reserved,
       });
-      if (res.success === true) {
+      if (res.success) {
         this.$notify({
           type: "success",
-          message: "搴曞簱浜哄憳鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
+          message: "杞﹁締淇℃伅鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
         });
       } else {
         this.$notify({
           type: "error",
-          message: "搴曞簱浜哄憳鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒",
+          message: "杞﹁締淇℃伅鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒",
         });
       }
     },
@@ -992,14 +1157,26 @@
       this.$refs.uploadDrag && this.$refs.uploadDrag.uploadStart();
     },
     haveScore(row) {
-      if (row.compareScore && row.compareScore !== "") {
-        return true;
+      return row.compareScore && row.compareScore !== "";
+    },
+    async setEnable(item) {
+      let res = await updateDbTableStatus({
+        id: item.id,
+        enable: item.enable,
+      });
+      if (res.success) {
+        this.$notify({
+          type: "success",
+          message: "搴曞簱鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒",
+        });
       } else {
-        return false;
+        this.$notify({
+          type: "error",
+          message: "搴曞簱鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒",
+        });
       }
     },
     async searchImgList(faceUrl, threshold) {
-      // console.log("鎼滃浘鍙傛暟", faceUrl, threshold);
       let json = {
         tableId: this.baseObject.id,
         page: this.current,
@@ -1010,17 +1187,15 @@
         orderName: this.orderName,
       };
       let res = await getPersonByPhoto(json);
-      // console.log("鍒楄〃鏌ヨ", json);
       this.tableData = res.data.datalist;
       this.total = res.data.total;
       this.compare = true;
     },
-    updateThreshold() {},
+    // updateThreshold() {},
     async updateFace(param) {
       const fd = new FormData();
       fd.append("file", param.file);
       fd.append("id", this.form.id);
-      // console.log("鎹㈣劯浜嗗悧", fd);
       let res = await axios({
         method: "post",
         url: `/data/api-v/dbperson/updateFace`,
@@ -1036,44 +1211,22 @@
         this.form.faceFeature = res.data.data.faceFeature;
       }
     },
-    uploadSuccess() {
-      console.log("鎹㈣劯鎴愬姛浜�");
-    },
-    uploadError() {
-      console.log("鎹㈣劯澶辫触浜�");
-    },
-    deleteBatch() {
-      // console.log('瑕佸垹闄ょ殑', this.selectedRowKeys.length)
-      if (this.selectedRowKeys.length === 0) {
+    async deleteBatch() {
+      let ids = [];
+      this.selectedRowKeys.map((item, index) => {
+        ids.push(item.id);
+      });
+      let res = await deleteBasePersons({ ids: ids });
+      if (res.success) {
         this.$notify({
-          type: "warning",
-          message: "璇烽�夋嫨瑕佸垹闄ょ殑浜哄憳",
+          type: "success",
+          message: "鍒犻櫎鎴愬姛锛�",
         });
+        this.getCarList();
       } else {
-        this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱閫変腑浜哄憳锛�", {
-          center: true,
-          cancelButtonClass: "comfirm-class-cancle",
-          confirmButtonClass: "comfirm-class-sure",
-        }).then(async (_) => {
-          let ids = [];
-          this.selectedRowKeys.map((item, index) => {
-            ids.push(item.id);
-          });
-          // console.log('鎵归噺鍒犻櫎鏁扮粍', ids)
-          let res = await deleteBasePersons(ids);
-          // console.log(res, '鎵归噺鍒犻櫎缁撴灉')
-          if (res.success) {
-            this.$notify({
-              type: "success",
-              message: "鍒犻櫎鎴愬姛锛�",
-            });
-            this.getCarList();
-          } else {
-            this.$notify({
-              type: "error",
-              message: "鍒犻櫎澶辫触锛�",
-            });
-          }
+        this.$notify({
+          type: "error",
+          message: "鍒犻櫎澶辫触锛�",
         });
       }
     },
@@ -1081,7 +1234,6 @@
       await this.BaseManageData.querySyncTables();
       await this.BaseManageData.queryLocalTables();
       if (this.baseObject.id && this.baseObject.id !== undefined) {
-        // console.log("one;", this.baseObject.id);
       } else if (
         this.BaseManageData.syncTables[0].id &&
         this.BaseManageData.syncTables[0].id !== undefined
@@ -1093,11 +1245,19 @@
         this.BaseManageData.queryPersonList();
       }
     },
-    handleRowStyle({ row, rowIndex }) {
-      // console.log(row, rowIndex, "handleRowStyle");
-      if (rowIndex === 0) {
-        return "background:#222222;";
+    askDelete(typ, id) {
+      if (typ == "batch") {
+        if (this.selectedRowKeys.length === 0) {
+          this.$notify({
+            type: "warning",
+            message: "璇烽�夋嫨瑕佸垹闄ょ殑杞﹁締淇℃伅",
+          });
+          return;
+        }
       }
+      this.askDeleteShow = true;
+      this.delType = typ;
+      id && (this.toDeleteId = id);
     },
     blackAngWhite() {
       if (this.BaseManageData.selectBlacks.length > 0) {
@@ -1126,7 +1286,6 @@
       }
     },
     tosearch(item) {
-      // console.log("璺宠浆鍦板潃", item)
       var curWwwPath = window.document.location.href;
       var pathname = window.document.location.pathname;
       var pos = curWwwPath.indexOf(pathname);
@@ -1134,7 +1293,6 @@
       var href = localhostPath + "/Layout/Searching";
       let captureId = item.id == "" ? item.personId : item.id;
       var url = item.personPicUrl ? item.personPicUrl : item.personPicUrl;
-      // console.log("璺宠浆鍦板潃",href,"url",url)
       var compType = 0;
       window.open(
         href +
@@ -1148,7 +1306,8 @@
     },
     async platesBatch() {
       var temp = this.plates.split(/[\n,]/g);
-      var reg = /[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块]{1}[A-Z]{1}[A-Z0-9]{5,6}/;
+      var reg =
+        /[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块]{1}[A-Z]{1}[A-Z0-9]{5,6}/;
       for (let i = 0; i < temp.length; i++) {
         if (temp[i] == "") {
           temp.splice(i, 1);
@@ -1175,7 +1334,6 @@
         carNos: temp,
       };
       let resp = await plateBatch(param);
-      console.log("resp:", resp);
       if (resp && resp.success) {
         // 鍒锋柊car鍒楄〃
         this.$notify({
@@ -1191,12 +1349,11 @@
         });
       }
     },
-    async submitCar() {
+    submitCar() {
       this.$refs["formForCar"].validate(async (valid) => {
-        // console.log("閫氳繃楠岃瘉", valid);
         if (valid) {
           let { ...json } = this.form;
-
+          json.carPicUrls = "";
           for (let index in json.carUrls) {
             if (index == 0) {
               json.carPicUrls += json.carUrls[index].url.substring(11);
@@ -1204,32 +1361,36 @@
               json.carPicUrls += ";" + json.carUrls[index].url.substring(11);
             }
           }
+          if (!this.checkCarNo(json.carNo)) {
+            this.$notify({
+              type: "warning",
+              message: "璇疯緭鍏ユ纭殑杞︾墝鍙�",
+            });
+            return;
+          }
           json.carColor = parseInt(json.carColor);
           json.carType = parseInt(json.carType);
           json.carBrand = parseInt(json.carBrand);
           json.personPicUrl = json.faceUrl[0].url.substring(11);
           json.tableId = this.baseObject.id;
-          console.log("琛ㄥ崟鐨刯son鍖栵細", json);
           delete json["compareScore"];
-          // console.log("淇敼鐨勫弬鏁帮細", json);
           let res;
           if (json.id == "") {
             res = await addBaseCar(json);
           } else {
             res = await updateBaseCar(json);
           }
-          console.log("淇濆瓨浜�", res);
           if (res.success) {
             this.$notify({
               type: "success",
-              message: res.data.msg,
+              message: "淇濆瓨鎴愬姛",
             });
             this.getCarList();
             this.addDrawer = false;
           } else {
             this.$notify({
               type: "error",
-              message: res.data.msg,
+              message: res.msg,
             });
           }
         } else {
@@ -1342,46 +1503,6 @@
       });
     },
   },
-  mounted() {
-    this.getCarList();
-    this.VideoPhotoData.queryDictionary();
-    this.BaseManageData.queryTagList();
-    this.oldWidth = document.body.clientWidth;
-    this.oldHeight = document.body.clientHeight;
-    this.blackAngWhite();
-    window.onresize = () => {
-      let width = document.body.clientWidth;
-      let height = document.body.clientHeight;
-      // console.log(width, height, "绐楀彛鍙樺寲瀵规瘮", this.oldWidth, this.oldHeight);
-      if (width !== this.oldWidth && width < 1750) {
-      }
-      this.$nextTick(() => {
-        this.$refs.multipleTable.doLayout();
-      });
-    };
-    this.$nextTick(() => {
-      this.$refs.multipleTable.doLayout();
-    });
-  },
-  beforeDestroy() {
-    window.onresize = null;
-  },
-  watch: {
-    baseObject: {
-      handler(newVal, oldVal) {
-        // console.log(newVal, "鐩戝惉baseObject");
-        this.BaseManageData.cleanData();
-        this.getCarList();
-      },
-      deep: true,
-    },
-    "BaseManageData.selectBlacks": function (value) {
-      this.blackAngWhite();
-    },
-    "BaseManageData.selectWhites": function (value) {
-      this.blackAngWhite();
-    },
-  },
 };
 </script>
 <style lang="scss">
@@ -1409,9 +1530,6 @@
   max-width: none;
   font-size: 14px;
   color: #606266;
-  thead {
-    background: green !important;
-  }
 }
 .avatar-uploader:hover {
   .mask1 {
@@ -1420,8 +1538,8 @@
 }
 .mask1 {
   position: absolute;
-  width: 150px;
-  height: 150px;
+  width: 100px;
+  height: 100px;
   background: rgba(0, 0, 0, 0.35);
   backdrop-filter: blur(1px) brightness(100%);
   text-align: center;
@@ -1430,7 +1548,6 @@
   display: none;
 }
 .table-parent {
-  // position: relative;
   height: 100%;
   overflow: visible !important;
   .picture {
@@ -1464,16 +1581,72 @@
       height: 25px;
     }
   }
-  .el-drawer.ltr,
-  .el-drawer.rtl {
-    width: 27% !important;
-    //height: 90%;
-    //top: 9%;
+  .el-drawer.add-car {
+    width: 380px;
     .el-drawer__header {
-      border-bottom: 2px solid #eee;
-      padding-bottom: 10px;
-      font-size: 16px;
-      margin-bottom: 0px;
+      margin-bottom: 0;
+      padding: 20px;
+      box-shadow: 0px 2px 4px rgb(0 0 0 / 8%);
+      font-size: 14px;
+    }
+    .el-drawer__body {
+      .uploadLine {
+        padding-left: 10px;
+
+        .el-upload-list--picture-card .el-upload-list__item {
+          background-color: #fff;
+          border: 2px solid #d4d6d9;
+          border-radius: 8px;
+          width: 100px;
+          height: 100px;
+        }
+        .el-upload--picture-card {
+          background-color: #fff;
+          border: 2px solid #d4d6d9;
+          border-radius: 8px;
+          width: 100px;
+          height: 100px;
+          line-height: 100px;
+        }
+        .car-text {
+          color: #999999;
+          font-size: 14px;
+          line-height: 20px;
+          text-align: left;
+          margin-bottom: 5px;
+        }
+        .car-picture {
+          margin-bottom: 20px;
+          & > div {
+            display: flex;
+          }
+        }
+        .person-picture {
+          margin-bottom: 20px;
+          & > div {
+            display: flex;
+          }
+        }
+      }
+      .el-select {
+        width: 100%;
+      }
+      .el-radio-group {
+        width: 100%;
+        text-align: left;
+      }
+      .el-form-item {
+        margin-bottom: 18px;
+      }
+    }
+  }
+  .el-drawer.upload-pai {
+    width: 380px;
+    .el-drawer__header {
+      margin-bottom: 0;
+      padding: 20px;
+      box-shadow: 0px 2px 4px rgb(0 0 0 / 8%);
+      font-size: 14px;
     }
   }
 }
@@ -1488,6 +1661,36 @@
   border-bottom: none;
   height: calc(100% - 100px);
   overflow: auto;
+  .tableBox {
+    border: none;
+    &::before,
+    &::after {
+      display: none;
+    }
+    .el-table--border .el-table__cell,
+    .el-table__body-wrapper
+      .el-table--border.is-scrolling-left
+      ~ .el-table__fixed {
+      border-right: none;
+    }
+    td {
+      border: none;
+    }
+  }
+  .head-search {
+    .desc {
+      min-width: fit-content;
+      margin-right: 20px;
+    }
+    .right-group {
+      .iconshangchuanchepai-09:hover,
+      .icontianjiacheliang-09:hover {
+        border: 1px solid var(--colorCard);
+        background: var(--colorCard);
+        color: #fff;
+      }
+    }
+  }
 }
 .el-dialog__header {
   padding: 20px 0 10px;
@@ -1507,9 +1710,9 @@
   font-size: 14px;
   word-break: break-all;
 }
-.dialog-footer {
-  text-align: center;
-}
+// .dialog-footer {
+//   text-align: center;
+// }
 .comfirm-class-sure {
   background: #f53d3d;
   border-radius: 2px;
@@ -1539,164 +1742,154 @@
   padding-left: 8px !important;
   padding-right: 0px !important;
 }
-.addToBase1 {
-  width: 98%;
-  height: 350px;
-  position: relative;
-  .topLabel {
-    margin-top: 20px;
-    height: 40px;
-    border-bottom: 1px solid #eee;
-    font-family: PingFangSC-Medium;
-    font-size: 20px;
-    font-weight: 600;
-    line-height: 1rem;
-    color: #222222;
-    text-align: left;
-    margin-left: 15px;
+
+// .copy,
+// .move {
+//   .el-dialog__body {
+//     padding: 0px !important;
+//   }
+// }
+
+.el-dialog.copy-dialog {
+  width: 550px;
+  border-radius: 24px;
+  .el-dialog__header {
+    text-align: center;
   }
-  .items {
-    width: 100%;
-    height: auto;
-    max-height: 35%;
-    overflow-y: auto;
-    margin: 20px 0px;
-    .lable {
-      width: 15%;
-      margin-top: 10px;
-      float: left;
-      //font-family: PingFangSC-Medium;
+  .el-dialog__headerbtn .el-dialog__close {
+    color: #999999;
+    font-size: 20px;
+  }
+  .el-dialog__title {
+    line-height: 22px;
+    font-size: 16px;
+    color: #5f5f5f;
+  }
+  .el-dialog__body {
+    padding: 20px 15px;
+    color: #5f5f5f;
+  }
+  .dialog-footer {
+    // width: 315px;
+    .el-button--info {
+      color: #999999;
+      background: #fff;
+      padding: 9px 37px;
       font-size: 14px;
-      font-weight: 600;
+      border: 1px solid #999999;
+      border-radius: 18px;
+      width: 150px;
     }
-    .baseList {
-      width: 85%;
-      height: 100%;
-      float: left;
-      .base {
-        width: calc(33% - 10px);
-        padding: 0px 5px;
-        line-height: 30px;
-        float: left;
+    .el-button--primary {
+      background: var(--colorCard) !important;
+      padding: 9px 37px;
+      color: #fff;
+      border: 1px solidvar(--colorCard) !important;
+      border-radius: 18px;
+      font-size: 14px;
+      width: 150px;
+    }
+  }
+  .addToBase1 {
+    position: relative;
+    .topLabel {
+      margin-top: 20px;
+      height: 40px;
+      border-bottom: 1px solid #eee;
+      font-family: PingFangSC-Medium;
+      font-size: 20px;
+      font-weight: 600;
+      line-height: 1rem;
+      color: #222222;
+      text-align: left;
+      margin-left: 15px;
+    }
+    .items {
+      width: 100%;
+      min-height: 150px;
+      margin-bottom: 10px;
+      .lable {
+        font-size: 16px;
+        font-weight: bold;
         text-align: left;
-        font-size: 12px !important;
-        .el-checkbox {
-          width: 100%;
-          display: block;
-          overflow: hidden;
-          text-overflow: ellipsis;
-          white-space: nowrap;
-          .el-checkbox__label {
-            display: inline !important;
+        margin-bottom: 10px;
+      }
+      .baseList {
+        height: 100%;
+        overflow: auto;
+        .base {
+          width: 152px;
+          padding: 5px 5px 5px 10px;
+          line-height: 30px;
+          box-sizing: border-box;
+          float: left;
+          text-align: left;
+          background: #eff1f5;
+          border-radius: 8px;
+          margin: 0 10px;
+          margin-bottom: 10px;
+          .el-checkbox__input.is-checked .el-checkbox__inner {
+            background-color: var(--colorCard);
+            border-color: var(--colorCard);
           }
+          .el-checkbox {
+            width: 100%;
+            display: block;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            .el-checkbox__label {
+              display: inline !important;
+              padding-left: 6px;
+              line-height: 20px;
+              color: #5f5f5f;
+            }
+          }
+        }
+        .white-wrap {
+          background: #ffffff;
+          box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
         }
       }
     }
-  }
-}
-.copy,
-.move {
-  .el-dialog__body {
-    padding: 0px !important;
   }
 }
 
 .avatar-uploader {
-  max-width: 150px;
-  min-width: 150px;
-  min-height: 152px;
+  max-width: 100px;
+  min-width: 100px;
+  min-height: 100px;
   border: 1px solid #eee;
 }
-
-.inputWidth {
-  width: 270px !important;
-}
-.rightInputWidth {
-  max-width: 270px;
-}
-
-.el-drawer.ltr,
-.el-drawer.rtl {
-  min-width: 450px;
-  width: 25% !important;
-  //height: 90%;
-  //min-height: 1100px;
-  //top: 9%;
-  .el-drawer__header {
-    border-bottom: 2px solid #eee;
-    padding-bottom: 10px;
-    font-size: 16px;
-    margin-bottom: 0px;
-    :focus {
-      outline: 0;
+.el-popover.el-popper.popper-caozuo1 {
+  box-shadow: 0px 0px 10px rgb(0 0 0 / 12%);
+  border-radius: 8px;
+  padding: 0;
+  padding-right: 1px;
+  & > span {
+    width: 32px;
+    height: 32px;
+    cursor: pointer;
+    display: inline-block;
+    text-align: center;
+    line-height: 32px;
+    border-radius: 8px;
+    font-size: 24px;
+    .iconfont {
+      font-size: 24px;
+    }
+    .iconshanchu-09 {
+      color: #fe6d68;
     }
   }
-}
-
-.drawerSpace {
-  height: calc(100% - 140px);
-  box-sizing: border-box;
-  margin-bottom: 30px;
-  overflow-y: scroll;
-  .uploadLine {
-    height: 280px;
-
-    .car-picture {
-      float: left;
-      margin: 15px;
-      border: 1px solid #eee;
-      width: 280px;
-      height: 260px;
-      overflow: hidden;
-      .el-upload--picture-card {
-        margin: 10px;
-        width: 110px;
-        height: 110px;
-        line-height: 35px;
-      }
-      .el-upload-list--picture-card {
-        .el-upload-list__item {
-          margin: 10px;
-          width: 110px;
-          height: 110px;
-          img {
-            object-fit: contain;
-          }
-        }
-        .el-progress--circle {
-          width: 30px !important;
-        }
-      }
-    }
-    .person-picture {
-      float: left;
-      margin-top: 15px;
-      width: 120px;
-      height: 120px;
-      overflow: hidden;
-      .el-upload--picture-card {
-        width: 110px;
-        height: 110px;
-        line-height: 35px;
-      }
-      .el-upload-list__item {
-        margin: 10px;
-        width: 110px;
-        height: 110px;
-        img {
-          object-fit: contain;
-        }
-      }
-    }
+  & > span:hover {
+    background: var(--colorCard);
+    color: #fff;
   }
-  .plateAttach {
-    width: calc(100% - 40px);
-    height: calc(100% - 40px);
-    padding: 20px;
-    p {
-      margin-top: 20px;
-      width: 400px;
-      line-height: 20px;
+  & > .del-wrap:hover {
+    background: #fe6d68;
+    .iconshanchu-09 {
+      color: #fff;
     }
   }
 }

--
Gitblit v1.8.0