From 10727876994cffcd1fc74af114223740fc8825b6 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期一, 13 十二月 2021 10:44:23 +0800
Subject: [PATCH] Merge branch 'bhomebus' of http://192.168.5.5:10010/r/web/vue-smart-ai into bhomebus

---
 src/pages/library/components/personList.vue | 1317 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 1,011 insertions(+), 306 deletions(-)

diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue
index d2569b1..518ae0c 100644
--- a/src/pages/library/components/personList.vue
+++ b/src/pages/library/components/personList.vue
@@ -36,7 +36,7 @@
             <span
               class="iconfont iconfont-wrap iconshanchuku-09"
               v-if="isShow('library:set')"
-              @click.stop="deleteBase"
+              @click.stop="askDelete('base')"
             ></span>
           </el-tooltip>
 
@@ -50,53 +50,7 @@
         </div>
       </div>
     </el-row>
-    <!-- <el-row class style="margin: 40px 0 40px 0px">
-      <el-col :span="6">
-        <el-input
-          placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�"
-          autocomplete="off"
-          width="100%"
-          size="small"
-          v-model="BaseManageData.contentValue"
-          @keyup.enter.native="handleSearch"
-        >
-          <upload-icon slot="suffix"></upload-icon>
-        </el-input>
-      </el-col>
-      <el-col :span="2">
-        <el-button size="small" type="primary" @click="handleSearch"
-          >鎼滅储</el-button
-        >
-      </el-col>
-      <el-col :offset="11" :span="3">
-        <fTemplate authority="library:set">
-          <el-button
-            size="small"
-            class="ml10"
-            type="danger"
-            @click="deleteBatch"
-            v-if="isShow('library:set')"
-            >鎵归噺鍒犻櫎</el-button
-          >
-        </fTemplate>
-      </el-col>
-      <el-col :span="2">
-        <div class="text-left">
-          <UploadBtn
-            limitTypes=".jpg,.png,.jpeg"
-            limitSize
-            uploadBtntext="涓婁紶鐓х墖"
-            uploadBtnIcon
-            v-if="isShow('library:set')"
-            uploadBtnSize="small"
-            :isDrag="true"
-            @addFilesBaBackFN="changeDialog"
-            @successFN="getUploadResult"
-            :idJson="{ tableId: baseObject.id }"
-          />
-        </div>
-      </el-col>
-    </el-row> -->
+
     <div class="border-tabl">
       <div class="head-search">
         <div class="desc">
@@ -125,8 +79,7 @@
           >
             <span
               class="iconfont iconfont-wrap iconpiliangshanchu-09"
-              title="鍒犻櫎"
-              @click="deleteBatch"
+              @click="askDelete('batch')"
               v-if="isShow('library:set')"
             ></span>
           </el-tooltip>
@@ -158,9 +111,15 @@
         tooltip-effect="dark"
         style="width: 100%; overflow: auto"
         :fit="true"
+        cell-class-name="cell-classname"
         :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="60" sortable align="center">
@@ -183,13 +142,15 @@
             </p>
           </template>
         </el-table-column>
-        <el-table-column label="鐢熸晥鐘舵��" align="center" width="80">
+        <el-table-column label="鐢熸晥鐘舵��" align="center" min-width="70">
           <template slot-scope="scope">
             <el-switch
               v-model="scope.row.enable"
               :active-value="1"
               :disabled="!isShow('library:set')"
               :inactive-value="0"
+              active-color="#4E94FF"
+              inactive-color="#C4C4C4"
               @change="enable(scope.row)"
             ></el-switch>
           </template>
@@ -197,7 +158,7 @@
         <el-table-column
           prop="personName"
           label="濮撳悕"
-          min-width="90"
+          min-width="70"
           show-overflow-tooltip
           sortable
           align="center"
@@ -205,14 +166,14 @@
         <el-table-column
           prop="sex"
           label="鎬у埆"
-          width="70"
+          min-width="60"
           sortable
           align="center"
         ></el-table-column>
         <el-table-column
           prop="idCard"
           label="韬唤璇佸彿"
-          min-width="170"
+          min-width="150"
           show-overflow-tooltip
           sortable
           align="center"
@@ -220,7 +181,7 @@
         <el-table-column
           prop="phoneNum"
           label="鎵嬫満鍙�"
-          width="110"
+          min-width="100"
           show-overflow-tooltip
           sortable
           align="center"
@@ -229,19 +190,19 @@
           prop="monitorLevel"
           label="绛夌骇"
           align="center"
-          width="80"
+          min-width="50"
         ></el-table-column>
         <el-table-column
           prop="createTime"
           label="鍏ュ簱鏃堕棿"
-          width="140"
+          min-width="140"
           show-overflow-tooltip
           sortable
           align="center"
         ></el-table-column>
         <!-- <el-table-column prop="reserved" label="鍏朵粬" align="center"></el-table-column> -->
 
-        <el-table-column label="鎿嶄綔" min-width="200" align="center">
+        <el-table-column label="鎿嶄綔" min-width="130" align="center">
           <template slot-scope="scope">
             <fTemplate authority="library:set">
               <el-tooltip
@@ -250,73 +211,82 @@
                 popper-class="atooltip"
               >
                 <span
-                  class="iconfont iconfont-wrap iconbianji"
-                  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="鏌ユ壘姝や汉"
-              placement="top"
-              popper-class="atooltip"
+            <el-popover
+              placement="left"
+              trigger="click"
+              popper-class="popper-caozuo"
             >
+              <el-tooltip
+                content="鏌ユ壘姝や汉"
+                placement="top"
+                popper-class="atooltip"
+              >
+                <span
+                  class="iconfont iconchazhaociren-09"
+                  @click="tosearch(scope.row)"
+                ></span>
+              </el-tooltip>
+              <el-tooltip
+                content="鏌ョ湅璇︽儏"
+                placement="top"
+                popper-class="atooltip"
+              >
+                <span
+                  class="iconfont iconchakanxiangqing-09"
+                  @click="showDetail(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" class="del-wrap">
+                <el-tooltip
+                  content="鍒犻櫎"
+                  placement="top"
+                  popper-class="atooltip"
+                >
+                  <span
+                    class="iconfont iconshanchu-09"
+                    @click="askDelete('single', scope.row.id)"
+                  ></span>
+                </el-tooltip>
+              </fTemplate>
               <span
-                class="iconfont iconsousuoren"
-                @click="tosearch(scope.row)"
+                slot="reference"
+                class="iconfont icongengduocaozuo-09"
+                style="font-size: 24px; cursor: pointer"
               ></span>
-            </el-tooltip>
-            <el-tooltip
-              content="鏌ョ湅璇︽儏"
-              placement="top"
-              popper-class="atooltip"
-            >
-              <span
-                class="iconfont iconsousuoren"
-                @click="showDetail(scope.row)"
-              ></span>
-            </el-tooltip>
-            <fTemplate authority="library:set">
-              <el-tooltip
-                content="澶嶅埗"
-                placement="top"
-                popper-class="atooltip"
-              >
-                <span
-                  class="iconfont iconfuzhi"
-                  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"
-                  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 iconshanchuku-09"
-                  style="color: #e74c3c"
-                  @click="deleteThis(scope.row.id)"
-                  title="鍒犻櫎"
-                ></span>
-              </el-tooltip>
-            </fTemplate>
+              <!-- @click="handleClick(scope.row)" -->
+            </el-popover>
           </template>
         </el-table-column>
       </el-table>
@@ -347,45 +317,23 @@
       title="鎶撴媿璇︽儏"
       :visible.sync="cameraDetailVisible"
       okText="纭畾"
+      custom-class="zhuapai-dialog"
     >
-      <div class="top-bar">
-        <el-date-picker
-          size="mini"
-          @change="timeChange"
-          v-model="timeRange"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          type="datetimerange"
-          range-separator="鑷�"
-          start-placeholder="寮�濮嬫椂闂�"
-          end-placeholder="缁撴潫鏃堕棿"
-        ></el-date-picker>
-        <div style="margin: 0 10px; display: flex">
-          <span style="width: 68px">鍋滅暀鏃堕暱:</span>
-          <el-input
-            size="mini"
-            style="width: 80px"
-            v-model.number="reqCameraParams.thresholdTime"
-          ></el-input
-          >s
-        </div>
-        <el-button size="mini" type="primary" @click="postCameraData"
-          >鏌ヨ</el-button
-        >
-      </div>
-
       <div class="member-info">
-        <label class>浜哄憳淇℃伅:</label>
+        <label class>
+          <i class="iconfont icongerenxinxi_v" style="font-size: 30px"></i>
+        </label>
         <ul>
           <li>
-            <span>濮撳悕:</span>
+            <!-- <span>濮撳悕:</span> -->
             <span>{{ memberInfo.personName }}</span>
           </li>
           <li>
-            <span>鎬у埆:</span>
+            <!-- <span>鎬у埆:</span> -->
             <span>{{ memberInfo.sex }}</span>
           </li>
-          <li>
-            <span>韬唤璇佸彿:</span>
+          <li style="margin-right: 80px">
+            <!-- <span>韬唤璇佸彿:</span> -->
             <span>{{ memberInfo.idCard }}</span>
           </li>
           <li>
@@ -395,6 +343,39 @@
         </ul>
       </div>
 
+      <div class="top-bar">
+        <div style="display: flex">
+          <span style="margin-right: 10px">鍋滅暀鏃堕暱</span>
+          <el-input
+            size="mini"
+            style="width: 58px; margin-right: 4px"
+            v-model.number="reqCameraParams.thresholdTime"
+          ></el-input
+          >s
+        </div>
+        <div style="display: flex">
+          <span style="margin-right: 10px">鏃舵湡</span>
+          <el-date-picker
+            size="mini"
+            popper-class="popper-pick"
+            @change="timeChange"
+            v-model="timeRange"
+            align="center"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            type="datetimerange"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫椂闂�"
+            end-placeholder="缁撴潫鏃堕棿"
+          ></el-date-picker>
+        </div>
+
+        <el-button size="mini" type="primary" @click="postCameraData"
+          >鏌ヨ</el-button
+        >
+      </div>
+      <p style="text-align: right; font-size: 14px; color: #5f5f5f">
+        鍏眥{ faceDataCount }}鏉℃暟鎹�
+      </p>
       <el-table :data="cameraDetailData" border>
         <el-table-column
           prop="faceImg"
@@ -445,11 +426,17 @@
           </template>
         </el-table-column>
       </el-table>
-      <p style="text-align: right; font-size: 14px">
-        鍏眥{ faceDataCount }}鏉℃暟鎹�
-      </p>
+
+      <div class="bot-btn">
+        <el-button
+          size="mini"
+          type="primary"
+          @click="cameraDetailVisible = false"
+          >鍏抽棴</el-button
+        >
+      </div>
     </el-dialog>
-    <el-dialog
+    <!-- <el-dialog
       title="淇敼淇℃伅"
       :visible.sync="dialogFormVisible"
       okText="淇濆瓨"
@@ -497,8 +484,8 @@
               v-if="`httpImage/` + form.personPicUrl"
               :src="`/httpImage/` + form.personPicUrl"
               style="
-                max-height: 150px;
-                width: 150px;
+                max-height: 100px;
+                width: 100px;
                 object-fit: contain;
                 background: rgba(0, 0, 0, 0.35);
               "
@@ -659,15 +646,232 @@
           >纭� 瀹�</el-button
         >
       </div>
-    </el-dialog>
+    </el-dialog> -->
+    <el-drawer title="淇敼淇℃伅" :modal="false" :visible.sync="showInfoDrawer">
+      <!-- :before-close="handleClose" -->
+      <el-form
+        ref="formForEdit"
+        :model="form"
+        label-width="100px"
+        :rules="rules"
+      >
+        <div class="flex-center mb10">
+          <el-upload
+            class="avatar-uploader"
+            action
+            :http-request="updateFace"
+            accept="image/*"
+            :show-file-list="false"
+            :on-success="uploadSuccess"
+            :on-error="uploadError"
+          >
+            <div class="mask1">
+              <div
+                slot="trigger"
+                class="flex-center"
+                style="position: absolute; top: 70px"
+              >
+                <p
+                  style="
+                    background: rgba(0, 0, 0, 0.35);
+                    width: 100px;
+                    line-height: 30px;
+                    color: #fff;
+                    font-size: 13px;
+                    opacity: 1;
+                  "
+                >
+                  鐐瑰嚮淇敼鐓х墖
+                </p>
+              </div>
+            </div>
+            <img
+              v-if="`httpImage/` + form.personPicUrl"
+              :src="`/httpImage/` + form.personPicUrl"
+              style="
+                max-height: 100px;
+                width: 100px;
+                object-fit: contain;
+                background: rgba(0, 0, 0, 0.35);
+              "
+              class="avatar"
+            />
+          </el-upload>
+        </div>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item label="ID" style="width: 100%; margin-bottom: 14px">
+              <el-input
+                size="small"
+                v-model="form.id"
+                disabled
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="鐓х墖鏍囪瘑"
+              prop="picDesc"
+              style="width: 100%; margin-bottom: 14px"
+            >
+              <el-input
+                size="small"
+                v-model="form.picDesc"
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item label="濮撳悕" style="width: 100%; margin-bottom: 14px">
+              <el-input
+                size="small"
+                v-model="form.personName"
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="鎬у埆"
+              prop="sex"
+              style="width: 100%; margin-bottom: 14px; text-align: left"
+            >
+              <el-radio-group v-model="form.sex" class="mt10">
+                <el-radio label="鐢�"></el-radio>
+                <el-radio label="濂�"></el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="韬唤璇佸彿"
+              style="width: 100%; margin-bottom: 14px"
+            >
+              <el-input
+                size="small"
+                v-model="form.idCard"
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="鎵嬫満鍙�"
+              style="width: 100%; margin-bottom: 14px"
+            >
+              <el-input
+                size="small"
+                v-model="form.phoneNum"
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="浜哄憳绛夌骇"
+              prop="monitorLevel"
+              style="width: 100%; margin-bottom: 14px"
+            >
+              <el-select
+                size="small"
+                v-model="form.monitorLevel"
+                placeholder="璇烽�夋嫨"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in VideoPhotoData.dictionary.MONITORLEVEL"
+                  :key="item.value"
+                  :label="item.name"
+                  :value="item.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="鍏ュ簱浣嶇疆"
+              style="width: 100%; margin-bottom: 14px"
+            >
+              <el-input
+                size="small"
+                v-model="form.fromServerId"
+                disabled
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item
+              label="鍏ュ簱鏃堕棿"
+              style="width: 100%; margin-bottom: 14px"
+            >
+              <el-input
+                size="small"
+                v-model="form.createTime"
+                disabled
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="20">
+            <el-form-item label="鍏朵粬" style="width: 100%; margin-bottom: 14px">
+              <el-input
+                size="small"
+                v-model="form.reserved"
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div class="dialog-footer">
+        <el-button
+          size="small"
+          class="cancel-btn"
+          @click="handleClose"
+          type="info"
+          >鍙� 娑�</el-button
+        >
+        <el-button
+          size="small"
+          class="sure-btn"
+          type="primary"
+          @click="submit()"
+          >纭� 瀹�</el-button
+        >
+      </div>
+    </el-drawer>
     <el-dialog
-      title="鎻愮ず"
       :visible.sync="dialogVisible"
       :close="getPersonList"
-      width="30%"
+      :center="true"
+      custom-class="suc-dialog"
     >
       <div>
-        <div class="tl">
+        <div class="suc-icon">
+          <i class="iconfont iconduigou3"></i>
+        </div>
+        <div class="tt">涓婁紶鎴愬姛</div>
+        <div class="flex-box">
           <span>涓婁紶鎴愬姛鐨勬暟閲忥細{{ uploadResult.successList.length }}</span>
         </div>
         <div class="flex-box mt10">
@@ -705,20 +909,43 @@
           </div>
         </div>
       </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="dialogVisible = false"
+          >纭� 瀹�</el-button
+        >
+      </span>
     </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">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
     <el-dialog
       title="澶嶅埗鍒�"
       :visible.sync="copyVisiabled"
       okText="淇濆瓨"
-      width="35%"
-      class="copy"
+      custom-class="copy-dialog"
       cancelText="鍙栨秷"
     >
       <div class="addToBase1">
         <div class="items" v-if="baseObject.bwType === '1'">
           <div class="lable">
-            <p>榛戝悕鍗� ></p>
+            <p>榛戝悕鍗�</p>
           </div>
           <div class="baseList">
             <el-checkbox-group
@@ -742,7 +969,7 @@
         </div>
         <div class="items" v-else>
           <div class="lable">
-            <p>鐧藉悕鍗� ></p>
+            <p>鐧藉悕鍗�</p>
           </div>
           <div class="baseList">
             <el-checkbox-group
@@ -751,6 +978,11 @@
             >
               <div
                 class="base"
+                :class="
+                  BaseManageData.selectWhites.includes(item.value)
+                    ? 'white-wrap'
+                    : ''
+                "
                 v-for="(item, index) in BaseManageData.whiteList"
                 :key="index"
               >
@@ -777,14 +1009,13 @@
       title="绉诲姩鑷�"
       :visible.sync="moveVisiabled"
       okText="淇濆瓨"
-      class="move"
-      width="35%"
+      custom-class="copy-dialog"
       cancelText="鍙栨秷"
     >
       <div class="addToBase1">
         <div class="items">
           <div class="lable">
-            <p>榛戝悕鍗� ></p>
+            <p>榛戝悕鍗�</p>
           </div>
           <div class="baseList">
             <el-checkbox-group
@@ -809,7 +1040,7 @@
         </div>
         <div class="items">
           <div class="lable">
-            <p>鐧藉悕鍗� ></p>
+            <p>鐧藉悕鍗�</p>
           </div>
           <div class="baseList">
             <el-checkbox-group
@@ -892,6 +1123,9 @@
         idCard: "",
         reserved: "",
       },
+      showPop: true,
+      askDeleteShow: false,
+      toDeleteId: "",
       reqCameraParams: {
         startTime: new Date(2020, 7, 25, 8).Format("yyyy-MM-dd HH:mm:ss"),
         endTime: new Date().Format("yyyy-MM-dd HH:mm:ss"),
@@ -914,6 +1148,7 @@
       orderName: "createTime",
       contentValue: "",
       visible: false,
+      showInfoDrawer: false,
       selectedRowKeys: [],
       form: {
         id: "",
@@ -938,11 +1173,12 @@
         ],
       },
       tableData: [],
-      tableHeight: window.innerHeight - 320,
-      multipleSelection: [],
-      peoperLevel: [],
+      // tableHeight: window.innerHeight - 320,
+      // multipleSelection: [],
+      // peoperLevel: [],
       oldWidth: "",
       oldHeight: "",
+      delType: "",
       faceDataCount: 0,
       // 涓婁紶鍚庣殑寮规鏄剧ず
       dialogVisible: false,
@@ -965,6 +1201,18 @@
         return loginName === "superadmin" || loginName === "basic";
       }
       return false;
+    },
+    delText() {
+      switch (this.delType) {
+        case "base":
+          return ["鍒犻櫎搴曞簱", "纭畾鍒犻櫎璇ュ簳搴擄紵"];
+        case "single":
+          return ["鍒犻櫎浜哄憳", "纭畾鍒犻櫎璇ュ簳搴撲汉鍛橈紵"];
+        case "batch":
+          return ["鎵归噺鍒犻櫎", "纭畾鍒犻櫎璇ュ簳搴撻�変腑浜哄憳锛�"];
+        default:
+          return ["", ""];
+      }
     },
   },
   methods: {
@@ -1007,40 +1255,47 @@
         this.$refs.multipleTable.clearSelection();
       }
     },
-    deleteThis(id) {
+    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);
+    },
+    deleteThis() {
       let token =
         sessionStorage.getItem("loginedInfo") &&
         JSON.parse(sessionStorage.getItem("loginedInfo")).access_token;
-      this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱浜哄憳锛�", {
-        center: true,
-        cancelButtonClass: "comfirm-class-cancle",
-        confirmButtonClass: "comfirm-class-sure",
+
+      fetch(`/data/api-v/dbperson/deleteDbPersonById?id=${this.toDeleteId}`, {
+        method: "GET",
+        headers: {
+          "Content-Type": "application/json",
+          Authorization: token,
+        },
       })
-        .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) => {
-              if (data.success) {
-                this.$notify({
-                  type: "success",
-                  message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒",
-                });
-              }
-              this.getPersonList();
-            })
-            .catch((err) => {
-              console.log(err);
-            });
+        .then((res) => {
+          return res.json();
         })
-        .catch((_) => {});
+        .then((data) => {
+          if (data.success) {
+            this.$notify({
+              type: "success",
+              message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒",
+            });
+          }
+          this.getPersonList();
+        })
+        .catch((err) => {
+          console.log(err);
+        });
     },
     sayHello() {
       console.log("hello");
@@ -1085,42 +1340,34 @@
       this.$emit("changeShow", this.baseObject, this.syncType);
     },
     deleteBase() {
-      debugger;
-      let id = this.baseObject.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/dbtable/deleteDBtablesById?id=${id}`, {
-          method: "GET",
-          headers: {
-            "Content-Type": "application/json",
-            Authorization: token,
-          },
+      fetch(`/data/api-v/dbtable/deleteDBtablesById?id=${this.baseObject.id}`, {
+        method: "GET",
+        headers: {
+          "Content-Type": "application/json",
+          Authorization: token,
+        },
+      })
+        .then((res) => {
+          return res.json();
         })
-          .then((res) => {
-            return res.json();
-          })
-          .then((res) => {
-            if (res.success) {
-              this.$notify({
-                type: "success",
-                message: "搴曞簱鍒犻櫎鎴愬姛锛�",
-              });
-            }
-            this.$emit("onDelete");
-          })
-          .catch((err) => {
+        .then((res) => {
+          if (res.success) {
             this.$notify({
-              type: "error",
-              message: err,
+              type: "success",
+              message: "搴曞簱鍒犻櫎鎴愬姛锛�",
             });
+          }
+          this.$emit("onDelete");
+        })
+        .catch((err) => {
+          this.$notify({
+            type: "error",
+            message: err,
           });
-      });
+        });
     },
     async getPersonList() {
       if (this.baseObject.id && this.baseObject.id !== undefined) {
@@ -1137,7 +1384,7 @@
       });
     },
     handleClose() {
-      this.dialogFormVisible = false;
+      this.showInfoDrawer = false;
     },
     handleSelectionChange(val) {
       this.selectedRowKeys = val;
@@ -1154,17 +1401,15 @@
     },
     handleClick(row) {
       this.form = row;
-      this.dialogFormVisible = true;
+      // this.dialogFormVisible = true;
+      this.showInfoDrawer = 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",
@@ -1218,6 +1463,16 @@
     handleSearch() {
       this.getPersonList();
     },
+    handleDel() {
+      debugger;
+      if (this.delType == "single") {
+        this.deleteThis();
+      } else if (this.delType == "base") {
+        this.deleteBase();
+      } else if (this.delType == "batch") {
+        this.deleteBatch();
+      }
+    },
     searchImg() {
       this.$refs.uploadDrag && this.$refs.uploadDrag.uploadStart();
     },
@@ -1229,7 +1484,6 @@
       }
     },
     async searchImgList(faceUrl, threshold) {
-      // console.log("鎼滃浘鍙傛暟", faceUrl, threshold);
       let json = {
         tableId: this.baseObject.id,
         page: this.current,
@@ -1240,7 +1494,6 @@
         orderName: this.orderName,
       };
       let res = await getPersonByPhoto(json);
-      // console.log("鍒楄〃鏌ヨ", json);
       this.tableData = res.data.datalist;
       this.total = res.data.total;
       this.compare = true;
@@ -1250,7 +1503,6 @@
       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`,
@@ -1273,7 +1525,6 @@
       console.log("鎹㈣劯澶辫触浜�");
     },
     deleteBatch() {
-      // console.log('瑕佸垹闄ょ殑', this.selectedRowKeys.length)
       if (this.selectedRowKeys.length === 0) {
         this.$notify({
           type: "warning",
@@ -1289,9 +1540,7 @@
           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",
@@ -1580,7 +1829,39 @@
 .table-parent {
   height: 100%;
   overflow: visible !important;
-
+  .zhuapai-dialog {
+    border-radius: 24px;
+    top: 50%;
+    min-height: 625px;
+    .bot-btn {
+      position: absolute;
+      bottom: 20px;
+      left: calc(50% - 75px);
+      .el-button--mini {
+        padding: 10px 34px;
+        font-size: 14px;
+        background: #4e94ff !important;
+        border-color: #4e94ff !important;
+        width: 150px;
+        border-radius: 18px;
+      }
+    }
+    .el-dialog__body {
+      padding-top: 0;
+    }
+    .el-dialog__header {
+      box-shadow: 0px 2px 4px rgb(0 0 0 / 8%);
+      text-align: center;
+      .el-dialog__title {
+        line-height: 22px;
+        font-size: 16px;
+        color: #5f5f5f;
+      }
+      .el-dialog__headerbtn .el-dialog__close {
+        color: #999999;
+      }
+    }
+  }
   .base-tip {
     text-align: left;
     font-size: 14px;
@@ -1660,6 +1941,71 @@
       color: #ff3d3b;
     }
   }
+  .el-drawer {
+    box-shadow: -4px 0px 8px rgb(0 0 0 / 16%);
+    border-radius: 24px 0px 0px 24px;
+    min-width: 380px;
+    .el-drawer__body {
+      padding: 20px;
+      .el-input.is-disabled .el-input__inner {
+        border: 1px solid #d4d6d9;
+        border-radius: 16px;
+        background: #edeff2;
+        color: #bbbbbb;
+        font-size: 14px;
+      }
+      .el-input--small {
+        font-size: 14px;
+        .el-input__inner {
+          border: 1px solid #d4d6d9;
+          box-sizing: border-box;
+          border-radius: 16px;
+        }
+      }
+      .el-form-item__label {
+        color: #999999;
+      }
+      .el-form-item__error {
+        color: #fe6d68;
+        padding-top: 0px;
+        left: 15px;
+      }
+      .el-form-item.is-required:not(.is-no-asterisk)
+        > .el-form-item__label:before {
+        color: #fe6d68;
+      }
+      .el-col-20 {
+        width: 92.3333%;
+      }
+      .dialog-footer {
+        margin-top: 10px;
+        .sure-btn {
+          padding: 11px 65px;
+          font-size: 14px;
+          border-radius: 18px;
+          border-color: #4e94ff !important;
+          background: #4e94ff !important;
+          color: #fff;
+        }
+        .cancel-btn {
+          padding: 11px 65px;
+          font-size: 14px;
+          border-radius: 18px;
+          background: #ffffff;
+          border-color: #999999;
+          color: #999999;
+        }
+      }
+    }
+    // .move.el-drawer__header {
+    //   padding-bottom: 16px;
+    //   font-size: 16px;
+    //   color: #5f5f5f;
+    //   margin-bottom: 0px;
+    //   box-shadow: 0px 2px 4px rgb(0 0 0 / 8%);
+    //   border-radius: 24px 0px 0px 0px;
+    // }
+  }
 }
 
 .text-left {
@@ -1677,6 +2023,10 @@
   padding: 10px;
   margin-top: 8px;
   box-shadow: 0px 0px 6px 1px rgb(143 159 191 / 15%);
+  .cell-classname {
+    // background: #ff3d3b;
+    border-bottom: 1px solid #eff1f5 !important;
+  }
   .head-search {
     font-size: 14px;
     line-height: 20px;
@@ -1706,6 +2056,7 @@
         background: #4e94ff !important;
         border-radius: 0px 18px 18px 0px;
         border-color: #4e94ff !important;
+        color: #fff;
       }
       .el-input__suffix {
         top: 6px;
@@ -1758,6 +2109,17 @@
       font-size: 15px;
     }
   }
+
+  .el-table th.el-table__cell > .cell {
+    background: #f7f8fa;
+    height: 38px;
+    line-height: 38px;
+  }
+  .el-table td.el-table__cell div {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    line-height: inherit;
+  }
   ::-webkit-scrollbar-thumb {
     border-radius: 6px;
     background-color: #dfdfdf;
@@ -1792,7 +2154,6 @@
 .el-dialog__header {
   padding: 20px 0 10px;
   text-align: left;
-  -webkit-box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.07);
   box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.07);
 }
 .el-dialog__title {
@@ -1842,66 +2203,59 @@
   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;
-  }
-  .items {
-    width: 100%;
-    height: auto;
-    max-height: 35%;
-    overflow-y: auto;
-    margin: 20px 0px;
-    .lable {
-      width: 15%;
-      margin-top: 10px;
-      float: left;
-      font-size: 14px;
-      font-weight: 600;
-    }
-    .baseList {
-      width: 85%;
-      height: 100%;
-      float: left;
-      .base {
-        width: calc(33% - 10px);
-        padding: 0px 5px;
-        line-height: 30px;
-        float: left;
-        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;
-          }
-        }
-      }
-    }
-  }
-}
-.copy,
-.move {
-  .el-dialog__body {
-    padding: 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;
+//   }
+//   .items {
+//     width: 100%;
+//     height: auto;
+//     max-height: 35%;
+//     overflow-y: auto;
+//     margin: 20px 0px;
+//     .lable {
+//       margin-top: 10px;
+//       font-size: 14px;
+//       font-weight: 600;
+//     }
+//     .baseList {
+//       height: 100%;
+//       .base {
+//         width: 152px;
+//         padding: 5px 5px;
+//         line-height: 30px;
+//         float: left;
+//         text-align: left;
+//         font-size: 12px !important;
+//         background: #eff1f5;
+//         border-radius: 8px;
+//         margin-right: 10px;
+//         .el-checkbox {
+//           width: 100%;
+//           display: block;
+//           overflow: hidden;
+//           text-overflow: ellipsis;
+//           white-space: nowrap;
+//           .el-checkbox__label {
+//             display: inline !important;
+//           }
+//         }
+//       }
+//     }
+//   }
+// }
 
 .avatar-uploader {
   margin: auto;
@@ -1915,19 +2269,370 @@
   justify-content: space-between;
   align-items: center;
   line-height: 30px;
+  margin: 20px 0 10px 0;
+
+  color: #999;
+  .el-button--mini {
+    padding: 8px 15px;
+    font-size: 14px;
+    border-radius: 3px;
+    background: #4e94ff !important;
+    border-radius: 16px;
+    border-color: #4e94ff !important;
+    width: 128px;
+  }
+  .el-input--mini .el-input__inner {
+    height: 32px;
+    line-height: 32px;
+    border: 1px solid #d4d5d8;
+    border-radius: 16px;
+  }
+  .el-range-editor--mini.el-input__inner {
+    height: 32px;
+    border-radius: 16px;
+    border: 1px solid #d4d5d8;
+    width: 370px;
+  }
+  .el-range-editor--mini .el-range__icon,
+  .el-range-editor--mini .el-range__close-icon {
+    line-height: 25px;
+  }
+  .el-date-range-picker__time-header > .el-icon-arrow-right {
+    color: #d4d5d8;
+  }
+  .el-range-editor--mini .el-range-separator {
+    line-height: 32px;
+    font-size: 12px;
+    height: 32px;
+    color: #d4d5d8;
+  }
+  .el-range-editor--mini .el-range-input {
+    font-size: 14px;
+  }
+}
+.el-dialog.el-dialog--center.suc-dialog {
+  border-radius: 24px;
+  height: 290px;
+  width: 360px;
+  .el-dialog__header {
+    box-shadow: none;
+    padding: 10px;
+  }
+  .el-dialog__headerbtn .el-dialog__close {
+    color: #999999;
+    font-size: 20px;
+  }
+  .el-dialog__body {
+    text-align: center;
+    padding: 0 20px 10px 20px;
+  }
+  .suc-icon {
+    margin-bottom: 20px;
+    text-align: center;
+
+    .iconfont {
+      font-size: 40px;
+      color: #13ce66;
+    }
+  }
+  .dialog-footer {
+    .el-button--default {
+      color: #999999;
+      background: #fff;
+      padding: 9px 37px;
+      font-size: 14px;
+      border: 1px solid #999999;
+      border-radius: 18px;
+      width: 150px;
+    }
+    .el-button--primary {
+      background: #4e94ff !important;
+      padding: 9px 37px;
+      color: #fff;
+      border: 1px solid #4e94ff !important;
+      border-radius: 18px;
+      font-size: 14px;
+      width: 150px;
+    }
+  }
+  .tt {
+    font-weight: bold;
+    text-align: center;
+
+    font-size: 16px;
+    line-height: 22px;
+    color: #5f5f5f;
+    margin-bottom: 10px;
+  }
+  .flex-box {
+    font-size: 14px;
+    line-height: 20px;
+    display: flex;
+    justify-content: center;
+    color: #5f5f5f;
+  }
+}
+.el-dialog.copy-dialog {
+  // min-height: 372px;
+  width: 516px;
+  border-radius: 24px;
+  .el-dialog__header {
+    text-align: center;
+  }
+  .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;
+    color: #5f5f5f;
+  }
+  .dialog-footer {
+    .el-button--info  {
+      color: #999999;
+      background: #fff;
+      padding: 9px 37px;
+      font-size: 14px;
+      border: 1px solid #999999;
+      border-radius: 18px;
+      width: 150px;
+    }
+    .el-button--primary {
+      background: #4e94ff !important;
+      padding: 9px 37px;
+      color: #fff;
+      border: 1px solid #4e94ff !important;
+      border-radius: 18px;
+      font-size: 14px;
+      width: 150px;
+    }
+  }
+  .addToBase1 {
+    // 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;
+    }
+    .items {
+      width: 100%;
+      min-height: 150px;
+      // background: cadetblue;
+      // overflow-y: auto;
+      // margin: 20px 0px;
+      margin-bottom: 20px;
+      .lable {
+        // margin-top: 10px;
+        font-size: 16px;
+        font-weight: bold;
+        text-align: left;
+        margin-bottom: 10px;
+      }
+      .baseList {
+        height: 100%;
+        .base {
+          width: 152px;
+          padding: 5px 5px 5px 10px;
+          line-height: 30px;
+          box-sizing: border-box;
+          float: left;
+          text-align: left;
+          // font-size: 12px !important;
+          background: #eff1f5;
+          border-radius: 8px;
+          margin: 0 5px;
+          .el-checkbox__input.is-checked .el-checkbox__inner {
+    background-color: #4e94ff;
+    border-color: #4e94ff;
+}
+          .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);
+        }
+      }
+    }
+  }
+}
+.el-dialog.el-dialog--center.del-dialog {
+  border-radius: 24px;
+  height: 235px;
+  width: 360px;
+  .el-dialog__header {
+    box-shadow: none;
+    padding: 10px;
+  }
+  .el-dialog__headerbtn .el-dialog__close {
+    color: #999999;
+    font-size: 20px;
+  }
+  .el-dialog__body {
+    text-align: center;
+    padding: 0 20px 10px 20px;
+  }
+  .suc-icon {
+    margin-bottom: 20px;
+    text-align: center;
+
+    .iconfont {
+      font-size: 40px;
+      color: #fe6d68;
+    }
+  }
+  .dialog-footer {
+    .el-button--default {
+      color: #999999;
+      background: #fff;
+      padding: 9px 37px;
+      font-size: 14px;
+      border: 1px solid #999999;
+      border-radius: 18px;
+      width: 150px;
+    }
+    .el-button--primary {
+      background: #4e94ff !important;
+      padding: 9px 37px;
+      color: #fff;
+      border: 1px solid #4e94ff !important;
+      border-radius: 18px;
+      font-size: 14px;
+      width: 150px;
+    }
+  }
+  .tt {
+    font-weight: bold;
+    text-align: center;
+
+    font-size: 16px;
+    line-height: 22px;
+    color: #5f5f5f;
+    margin-bottom: 10px;
+  }
+  .flex-box {
+    font-size: 14px;
+    line-height: 20px;
+    display: flex;
+    justify-content: center;
+    color: #5f5f5f;
+  }
 }
 .member-info {
-  font-size: 13px;
-  margin: 10px 0;
+  padding: 20px 0;
   display: flex;
+  border-bottom: 1px solid #eff1f5;
   label {
     color: #999;
-    margin-right: 6px;
+    margin-right: 20px;
   }
   ul {
     display: flex;
+    align-items: center;
     li {
-      margin-right: 8px;
+      margin-right: 20px;
+      font-weight: bold;
+    }
+  }
+}
+.el-picker-panel.el-date-range-picker.el-popper.popper-pick {
+  border-radius: 8px;
+  .el-input--small .el-input__inner {
+    border: 1px solid #d4d5d8;
+    border-radius: 16px;
+  }
+  .el-date-range-picker__time-header {
+    border-bottom: none;
+  }
+  .el-picker-panel__footer {
+    border-top: none;
+    text-align: center;
+    padding-bottom: 10px;
+    border-radius: inherit;
+  }
+  .el-date-range-picker .el-picker-panel__content {
+    margin: 0;
+    padding: 5px 15px;
+  }
+  .el-button--text {
+    color: #999999;
+    background: #fff;
+    padding: 9px 37px;
+    font-size: 14px;
+    border: 1px solid #999999;
+    border-radius: 18px;
+  }
+  .el-date-table td.start-date span,
+  .el-date-table td.end-date span {
+    background-color: #4e94ff;
+  }
+  .el-date-table td.in-range div {
+    background-color: #4e94ff17;
+  }
+  .el-button--default {
+    background: #4e94ff;
+    padding: 9px 37px;
+    color: #fff;
+    border: 1px solid #4e94ff;
+    border-radius: 18px;
+    font-size: 14px;
+  }
+}
+.el-popover.el-popper.popper-caozuo {
+  box-shadow: 0px 0px 10px rgb(0 0 0 / 12%);
+  border-radius: 8px;
+  padding: 0;
+  padding-right: 1px;
+  // background: olive;
+
+  & > 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;
+    }
+  }
+  & > span:hover {
+    background: #4e94ff;
+    color: #fff;
+  }
+  & > .del-wrap:hover {
+    background: #fe6d68;
+    .iconshanchu-09 {
+      color: #fff;
     }
   }
 }

--
Gitblit v1.8.0