ZZJ
2022-02-11 d365829b14ca4256d39694b9cdcd43bad0ad8595
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 {