From d365829b14ca4256d39694b9cdcd43bad0ad8595 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期五, 11 二月 2022 18:18:39 +0800
Subject: [PATCH] bug修复

---
 src/pages/library/components/personList.vue |  188 +++++++++++++++++++++++++---------------------
 1 files changed, 101 insertions(+), 87 deletions(-)

diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue
index b47e9ca..5fbd37e 100644
--- a/src/pages/library/components/personList.vue
+++ b/src/pages/library/components/personList.vue
@@ -108,6 +108,7 @@
       <el-table
         id="multipleTable"
         ref="multipleTable"
+        class="tableBox"
         :data="BaseManageData.personList"
         tooltip-effect="dark"
         style="width: 100%; overflow: auto"
@@ -117,6 +118,7 @@
         @row-click="pickRow"
         :default-sort="{ prop: 'createTime', order: 'descending' }"
         @selection-change="handleSelectionChange"
+        border
         :header-cell-style="{
           background: '#fff',
           color: '#222222',
@@ -200,7 +202,7 @@
                 <span
                   class="iconfont iconbianjixinxi-09"
                   style="font-size: 24px; cursor: pointer"
-                  @click="handleClick(scope.row)"
+                  @click="editRow(scope.row)"
                 ></span>
               </el-tooltip>
             </fTemplate>
@@ -422,7 +424,7 @@
     <el-drawer title="淇敼淇℃伅" :modal="false" :visible.sync="showInfoDrawer">
       <el-form
         ref="formForEdit"
-        :model="form"
+        :model="inputPersonForm"
         label-width="100px"
         :rules="rules"
       >
@@ -457,8 +459,8 @@
               </div>
             </div>
             <img
-              v-if="`httpImage/` + form.personPicUrl"
-              :src="`/httpImage/` + form.personPicUrl"
+              v-if="`httpImage/` + inputPersonForm.personPicUrl"
+              :src="`/httpImage/` + inputPersonForm.personPicUrl"
               style="
                 max-height: 100px;
                 width: 100px;
@@ -474,7 +476,7 @@
             <el-form-item label="ID" style="width: 100%; margin-bottom: 20px">
               <el-input
                 size="small"
-                v-model="form.id"
+                v-model="inputPersonForm.id"
                 disabled
                 placeholder="璇疯緭鍏�"
               ></el-input>
@@ -490,7 +492,7 @@
             >
               <el-input
                 size="small"
-                v-model="form.picDesc"
+                v-model="inputPersonForm.picDesc"
                 placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
@@ -501,7 +503,7 @@
             <el-form-item label="濮撳悕" style="width: 100%; margin-bottom: 20px">
               <el-input
                 size="small"
-                v-model="form.personName"
+                v-model="inputPersonForm.personName"
                 placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
@@ -514,7 +516,7 @@
               prop="sex"
               style="width: 100%; margin-bottom: 20px; text-align: left"
             >
-              <el-radio-group v-model="form.sex" class="mt10">
+              <el-radio-group v-model="inputPersonForm.sex" class="mt10">
                 <el-radio label="鐢�"></el-radio>
                 <el-radio label="濂�"></el-radio>
               </el-radio-group>
@@ -525,11 +527,12 @@
           <el-col :span="20">
             <el-form-item
               label="韬唤璇佸彿"
+              prop="idCard"
               style="width: 100%; margin-bottom: 20px"
             >
               <el-input
                 size="small"
-                v-model="form.idCard"
+                v-model="inputPersonForm.idCard"
                 placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
@@ -539,11 +542,12 @@
           <el-col :span="20">
             <el-form-item
               label="鎵嬫満鍙�"
+              prop="phoneNum"
               style="width: 100%; margin-bottom: 20px"
             >
               <el-input
                 size="small"
-                v-model="form.phoneNum"
+                v-model="inputPersonForm.phoneNum"
                 placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
@@ -558,7 +562,7 @@
             >
               <el-select
                 size="small"
-                v-model="form.monitorLevel"
+                v-model="inputPersonForm.monitorLevel"
                 placeholder="璇烽�夋嫨"
                 style="width: 100%"
               >
@@ -580,9 +584,8 @@
             >
               <el-input
                 size="small"
-                v-model="form.fromServerId"
+                v-model="inputPersonForm.fromServerId"
                 disabled
-                placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
           </el-col>
@@ -595,9 +598,8 @@
             >
               <el-input
                 size="small"
-                v-model="form.createTime"
+                v-model="inputPersonForm.createTime"
                 disabled
-                placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
           </el-col>
@@ -607,7 +609,7 @@
             <el-form-item label="鍏朵粬" style="width: 100%; margin-bottom: 20px">
               <el-input
                 size="small"
-                v-model="form.reserved"
+                v-model="inputPersonForm.reserved"
                 placeholder="璇疯緭鍏�"
               ></el-input>
             </el-form-item>
@@ -615,19 +617,20 @@
         </el-row>
       </el-form>
       <div class="dialog-footer">
+        <!-- {{BaseManageData.personList[1].idCard}} -->
         <el-button
           size="small"
           class="cancel-btn"
           @click="handleClose"
           type="info"
-          >鍙� 娑�</el-button
+          >鍙栨秷</el-button
         >
         <el-button
           size="small"
           class="sure-btn"
           type="primary"
-          @click="submit()"
-          >纭� 瀹�</el-button
+          @click="submit"
+          >纭畾</el-button
         >
       </div>
     </el-drawer>
@@ -866,11 +869,24 @@
   updateDbTableStatus,
 } from "@/api/baseLibrary";
 import { getCameraFaceData } from "@/api/es";
+// import { checkIDCard } from "@/api/utils";
+import { isIDCard } from "../../../scripts/validate";
+
 import axios from "axios";
 import UploadBtn from "./upload";
 import fTemplate from "@/components/fTemplate";
 import UploadIcon from "@/components/searching/UploadIcon.vue";
-
+function isPhone(rule, value, callback) {
+      if (!value) {
+        return callback();
+      } else if (value.trim()) {
+        var pattern = /^1[345789]\d{9}$/;
+        if (pattern.test(value)) {
+          return callback();
+        }
+        return callback(new Error("杈撳叆鐨勬墜鏈哄彿閿欒"));
+      }
+    }
 Date.prototype.Format = function (fmt) {
   var o = {
     "M+": this.getMonth() + 1, //鏈堜唤
@@ -918,7 +934,6 @@
       },
       cameraDetailData: [],
       cameraDetailVisible: false,
-      dialogFormVisible: false,
       copyVisiabled: false,
       moveVisiabled: false,
       buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
@@ -933,24 +948,14 @@
       visible: false,
       showInfoDrawer: false,
       selectedRowKeys: [],
-      form: {
-        id: "",
-        sex: "鐢�",
-        personName: "鍛靛懙鍛�",
-        tableId: "",
-        picDesc: "",
-        idCard: "12312938102143253",
-        phoneNum: "18712766787",
-        monitorLevel: "one",
-        faceUrl: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg",
-        enable: 0,
-        reserved: "",
-      },
+      inputPersonForm: {},
       rules: {
         picDesc: [
           { required: true, message: "璇疯緭鍏ョ収鐗囨爣璇�", trigger: "change" },
         ],
         sex: [{ required: true, message: "璇峰嬀閫夋�у埆", trigger: "change" }],
+        idCard: [{ validator: isIDCard, trigger: "blur" }],
+        phoneNum: [{ validator: isPhone, trigger: "blur" }],
         monitorLevel: [
           { required: true, message: "璇烽�夋嫨浜哄憳绛夌骇", trigger: "change" },
         ],
@@ -1040,7 +1045,7 @@
           this.$notify({
             type: "warning",
             message: "璇烽�夋嫨瑕佸垹闄ょ殑浜哄憳",
-            duration:1000000,
+            duration: 1000000,
           });
           return;
         }
@@ -1147,10 +1152,12 @@
         });
     },
     async getPersonList() {
-      if (this.baseObject.id && this.baseObject.id !== undefined) {
-        this.BaseManageData.tableId = this.baseObject.id;
-        this.setLoadSearch(this.BaseManageData.queryPersonList());
-      }
+      this.$nextTick(() => {
+        if (this.baseObject.id && this.baseObject.id !== undefined) {
+          this.BaseManageData.tableId = this.baseObject.id;
+          this.setLoadSearch(this.BaseManageData.queryPersonList());
+        }
+      });
     },
     changeDialog(data) {
       data.erFileList.map((item, index) => {
@@ -1175,39 +1182,26 @@
       this.BaseManageData.size = val;
       this.getPersonList();
     },
-    handleClick(row) {
-      this.form = row;
+    editRow(row) {
+      this.inputPersonForm = { ...row };
       this.showInfoDrawer = true;
     },
     async submit() {
       this.$refs["formForEdit"].validate(async (valid) => {
         if (valid) {
-          let { ...json } = this.form;
+          let { ...json } = this.inputPersonForm;
           delete json["compareScore"];
           let res = await updateBasePerson(json);
           if (res.success) {
-            this.$notify({
-              type: "success",
-              message: "浜哄憳淇敼鎴愬姛锛�",
-            });
+            this.getPersonList()
+            this.$notify.success("浜哄憳淇敼鎴愬姛锛�");
             this.showInfoDrawer = false;
           } else {
-            this.$notify({
-              type: "error",
-              message: "浜哄憳淇敼澶辫触锛岃閲嶈瘯锛侊紒",
-            });
+            this.$notify.error("浜哄憳淇敼澶辫触锛岃閲嶈瘯锛�");
           }
         } else {
           return false;
         }
-      });
-    },
-    confirm() {
-      this.$confirm({
-        title: "Confirm",
-        content: "Bla bla ...",
-        okText: "纭",
-        cancelText: "鍙栨秷",
       });
     },
     async enable(item) {
@@ -1276,7 +1270,7 @@
     async updateFace(param) {
       const fd = new FormData();
       fd.append("file", param.file);
-      fd.append("id", this.form.id);
+      fd.append("id", this.inputPersonForm.id);
       let res = await axios({
         method: "post",
         url: `/data/api-v/dbperson/updateFace`,
@@ -1288,8 +1282,8 @@
         data: fd,
       });
       if (res.data.success) {
-        this.form.persoasyncnPicUrl = res.data.data.personPicUrl;
-        this.form.faceFeature = res.data.data.faceFeature;
+        this.inputPersonForm.persoasyncnPicUrl = res.data.data.personPicUrl;
+        this.inputPersonForm.faceFeature = res.data.data.faceFeature;
       }
     },
     uploadSuccess() {},
@@ -1580,25 +1574,25 @@
     }
     .el-dialog__body {
       padding-top: 0;
-       .el-table::before {
-    visibility: hidden;
-  }
-  .el-checkbox__input.is-indeterminate .el-checkbox__inner {
-    background-color: var(--colorCard);
-    border-color: var(--colorCard);
-  }
-  .el-checkbox__input.is-checked .el-checkbox__inner {
-    background-color: var(--colorCard);
-    border-color: var(--colorCard);
-  }
-  .el-table th.el-table__cell > .cell {
-    background: #f7f8fa;
-    height: 38px;
-    line-height: 38px;
-  }
-  .el-table__body tr.hover-row > td.el-table__cell {
-    background-color: #ffffff !important;
-  }
+      .el-table::before {
+        visibility: hidden;
+      }
+      .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+        background-color: var(--colorCard);
+        border-color: var(--colorCard);
+      }
+      .el-checkbox__input.is-checked .el-checkbox__inner {
+        background-color: var(--colorCard);
+        border-color: var(--colorCard);
+      }
+      .el-table th.el-table__cell > .cell {
+        background: #f7f8fa;
+        height: 38px;
+        line-height: 38px;
+      }
+      .el-table__body tr.hover-row > td.el-table__cell {
+        background-color: #ffffff !important;
+      }
     }
     .el-dialog__header {
       box-shadow: 0px 2px 4px rgb(0 0 0 / 8%);
@@ -1745,12 +1739,12 @@
         border-color: var(--colorCard);
         background: var(--colorCard);
       }
-.el-form-item__label {
-    line-height: 32px;
-}
-.el-form-item__content {
-    line-height: 32px;
-}
+      .el-form-item__label {
+        line-height: 32px;
+      }
+      .el-form-item__content {
+        line-height: 32px;
+      }
       .el-input--small {
         font-size: 14px;
         .el-input__inner {
@@ -1764,7 +1758,7 @@
       }
       .el-form-item__error {
         color: #fe6d68;
-        padding-top: 0px;
+        padding-top: 2px;
         left: 15px;
       }
       .el-form-item.is-required:not(.is-no-asterisk)
@@ -1812,6 +1806,22 @@
   padding: 10px;
   margin-top: 8px;
   box-shadow: 0px 0px 6px 1px rgb(143 159 191 / 15%);
+  .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;
+    }
+  }
   .cell-classname {
     background-color: #ffffff;
   }
@@ -1823,6 +1833,10 @@
     margin: 15px 10px 20px 10px;
     justify-content: space-between;
     align-items: center;
+    .desc {
+      min-width: fit-content;
+      margin-right: 20px;
+    }
     .right-group {
       display: flex;
       .el-input--small {

--
Gitblit v1.8.0