| | |
| | | <el-table |
| | | id="multipleTable" |
| | | ref="multipleTable" |
| | | class="tableBox" |
| | | :data="BaseManageData.personList" |
| | | tooltip-effect="dark" |
| | | style="width: 100%; overflow: auto" |
| | |
| | | @row-click="pickRow" |
| | | :default-sort="{ prop: 'createTime', order: 'descending' }" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | :header-cell-style="{ |
| | | background: '#fff', |
| | | color: '#222222', |
| | |
| | | <span |
| | | class="iconfont iconbianjixinxi-09" |
| | | style="font-size: 24px; cursor: pointer" |
| | | @click="handleClick(scope.row)" |
| | | @click="editRow(scope.row)" |
| | | ></span> |
| | | </el-tooltip> |
| | | </fTemplate> |
| | |
| | | <el-drawer title="修改信息" :modal="false" :visible.sync="showInfoDrawer"> |
| | | <el-form |
| | | ref="formForEdit" |
| | | :model="form" |
| | | :model="inputPersonForm" |
| | | label-width="100px" |
| | | :rules="rules" |
| | | > |
| | |
| | | </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; |
| | |
| | | <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> |
| | |
| | | > |
| | | <el-input |
| | | size="small" |
| | | v-model="form.picDesc" |
| | | v-model="inputPersonForm.picDesc" |
| | | placeholder="请输入" |
| | | ></el-input> |
| | | </el-form-item> |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | > |
| | | <el-select |
| | | size="small" |
| | | v-model="form.monitorLevel" |
| | | v-model="inputPersonForm.monitorLevel" |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | |
| | | > |
| | | <el-input |
| | | size="small" |
| | | v-model="form.fromServerId" |
| | | v-model="inputPersonForm.fromServerId" |
| | | disabled |
| | | placeholder="请输入" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | > |
| | | <el-input |
| | | size="small" |
| | | v-model="form.createTime" |
| | | v-model="inputPersonForm.createTime" |
| | | disabled |
| | | placeholder="请输入" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | 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, //月份 |
| | |
| | | }, |
| | | cameraDetailData: [], |
| | | cameraDetailVisible: false, |
| | | dialogFormVisible: false, |
| | | copyVisiabled: false, |
| | | moveVisiabled: false, |
| | | buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [], |
| | |
| | | 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" }, |
| | | ], |
| | |
| | | this.$notify({ |
| | | type: "warning", |
| | | message: "请选择要删除的人员", |
| | | duration:1000000, |
| | | duration: 1000000, |
| | | }); |
| | | return; |
| | | } |
| | |
| | | }); |
| | | }, |
| | | 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) => { |
| | |
| | | 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) { |
| | |
| | | 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`, |
| | |
| | | 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() {}, |
| | |
| | | } |
| | | .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%); |
| | |
| | | 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 { |
| | |
| | | } |
| | | .el-form-item__error { |
| | | color: #fe6d68; |
| | | padding-top: 0px; |
| | | padding-top: 2px; |
| | | left: 15px; |
| | | } |
| | | .el-form-item.is-required:not(.is-no-asterisk) |
| | |
| | | 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; |
| | | } |
| | |
| | | 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 { |