|
@@ -0,0 +1,812 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-dialog :modal-append-to-body="true" :append-to-body="true" :title="title" center :visible.sync="dialogShow"
|
|
|
|
|
+ width="45%" :close-on-click-modal="false" top="4%">
|
|
|
|
|
+ <avue-form ref="avueForm" :option="option" v-model="model" @submit="submit"></avue-form>
|
|
|
|
|
+ <div v-if="model&&model.auditStatus==0">
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col span="24" align="right">
|
|
|
|
|
+ <el-button type="success" icon="el-icon-check" size="small" @click="audit(1)">通过</el-button>
|
|
|
|
|
+ <el-button type="danger" icon="el-icon-delete" size="small" @click="audit(2)">不通过</el-button>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog title="审核意见" :visible.sync="auditDialogShow" width="30%" :modal-append-to-body="true"
|
|
|
|
|
+ :append-to-body="true" center>
|
|
|
|
|
+ <el-input v-model="auditOpinion" placeholder="请输入审核意见(选填)"></el-input>
|
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button v-if="auditObj.auditStatus==1" type="success" @click="doAudit" style="background-color:#19be6b">
|
|
|
|
|
+ 确定审核通过</el-button>
|
|
|
|
|
+ <el-button v-if="auditObj.auditStatus==2" type="danger" @click="doAudit">
|
|
|
|
|
+ 确定审核不通过</el-button>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+<script>
|
|
|
|
|
+ import {
|
|
|
|
|
+ remove,
|
|
|
|
|
+ update,
|
|
|
|
|
+ pushUserFace,
|
|
|
|
|
+ } from "@/api/enterprise/staff";
|
|
|
|
|
+ import {
|
|
|
|
|
+ pushFace,
|
|
|
|
|
+ deleteFace,
|
|
|
|
|
+ } from "@/api/estate/useraccesspermissions";
|
|
|
|
|
+ import {deepClone} from "@/util/util.js";
|
|
|
|
|
+ export default {
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ isAdd: false,
|
|
|
|
|
+ //审核意见
|
|
|
|
|
+ auditObj: {},
|
|
|
|
|
+ auditDialogShow: false,
|
|
|
|
|
+ auditOpinion: '',
|
|
|
|
|
+
|
|
|
|
|
+ dialogShow: false,
|
|
|
|
|
+ type: 0,
|
|
|
|
|
+ model: {},
|
|
|
|
|
+ editForm: {
|
|
|
|
|
+ detail: true,
|
|
|
|
|
+ labelWidth: 110,
|
|
|
|
|
+
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "",
|
|
|
|
|
+ prop: "faceUrl",
|
|
|
|
|
+ labelWidth: '43.5%',
|
|
|
|
|
+ row: true,
|
|
|
|
|
+ span: 24,
|
|
|
|
|
+ type: "upload",
|
|
|
|
|
+ listType: 'picture-img',
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请上传人脸信息",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ propsHttp: {
|
|
|
|
|
+ res: "data",
|
|
|
|
|
+ url: "link"
|
|
|
|
|
+ },
|
|
|
|
|
+ action: "/api/blade-resource/oss/endpoint/put-file",
|
|
|
|
|
+ }],
|
|
|
|
|
+ group: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '基本信息',
|
|
|
|
|
+ prop: 'group1',
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '姓名',
|
|
|
|
|
+ prop: 'name',
|
|
|
|
|
+ gutter:10,
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请输入真实姓名",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '性别',
|
|
|
|
|
+ prop: 'sex',
|
|
|
|
|
+ type: 'select',
|
|
|
|
|
+ dicData: [{
|
|
|
|
|
+ label: '男',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '女',
|
|
|
|
|
+ value: 2
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '未知',
|
|
|
|
|
+ value: -1
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '手机号',
|
|
|
|
|
+ prop: 'phone',
|
|
|
|
|
+ span: 12,
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请输入手机号",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '身份证号',
|
|
|
|
|
+ prop: 'idCard',
|
|
|
|
|
+ span: 12,
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '登记来源',
|
|
|
|
|
+ prop: 'createType',
|
|
|
|
|
+ type: 'select',
|
|
|
|
|
+ dicData: [{
|
|
|
|
|
+ label: '后台录入',
|
|
|
|
|
+ value: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '小程序录入',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '房屋信息',
|
|
|
|
|
+ prop: 'group2',
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属社区",
|
|
|
|
|
+ prop: "agencyId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ remote: true,
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ cascaderItem: ['residentialId'],
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/agency/list?size=100&name={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "name",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属社区",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属小区",
|
|
|
|
|
+ prop: "residentialId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/residential/list?size=100&agencyId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "residentialName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属小区",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属楼栋",
|
|
|
|
|
+ prop: "buildingId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/building/list?size=100&residentialId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "buildingName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属楼栋",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属单元",
|
|
|
|
|
+ prop: "unitId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/unit/list?size=100&buildingId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "unitName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属单元",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属楼层",
|
|
|
|
|
+ prop: "floorId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/floor/list?size=100&unitId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "floorName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属楼层",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属房间",
|
|
|
|
|
+ prop: "roomId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/floor/list?size=100&floorId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "roomName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属房间",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '其他信息',
|
|
|
|
|
+ prop: 'group1',
|
|
|
|
|
+ column: [{
|
|
|
|
|
+ size: 'mini',
|
|
|
|
|
+ gutter: 10,
|
|
|
|
|
+ label: '备注信息',
|
|
|
|
|
+ prop: 'remark',
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ readonly: true,
|
|
|
|
|
+ size: 'mini',
|
|
|
|
|
+ gutter: 10,
|
|
|
|
|
+ label: '审核意见',
|
|
|
|
|
+ prop: 'auditOpinion',
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }]
|
|
|
|
|
+ }]
|
|
|
|
|
+ },
|
|
|
|
|
+ viewForm: {
|
|
|
|
|
+ detail: true,
|
|
|
|
|
+ labelWidth: 110,
|
|
|
|
|
+
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "",
|
|
|
|
|
+ prop: "faceUrl",
|
|
|
|
|
+ labelWidth: '43.5%',
|
|
|
|
|
+ row: true,
|
|
|
|
|
+ span: 24,
|
|
|
|
|
+ type: "upload",
|
|
|
|
|
+ listType: 'picture-img',
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请上传人脸信息",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ propsHttp: {
|
|
|
|
|
+ res: "data",
|
|
|
|
|
+ url: "link"
|
|
|
|
|
+ },
|
|
|
|
|
+ action: "/api/blade-resource/oss/endpoint/put-file",
|
|
|
|
|
+ }],
|
|
|
|
|
+ group: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '基本信息',
|
|
|
|
|
+ prop: 'group1',
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '姓名',
|
|
|
|
|
+ prop: 'name',
|
|
|
|
|
+ gutter:10,
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请输入真实姓名",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '性别',
|
|
|
|
|
+ prop: 'sex',
|
|
|
|
|
+ type: 'select',
|
|
|
|
|
+ dicData: [{
|
|
|
|
|
+ label: '男',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '女',
|
|
|
|
|
+ value: 2
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '未知',
|
|
|
|
|
+ value: -1
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '手机号',
|
|
|
|
|
+ prop: 'phone',
|
|
|
|
|
+ span: 12,
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请输入手机号",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '身份证号',
|
|
|
|
|
+ prop: 'idCard',
|
|
|
|
|
+ span: 12,
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '登记来源',
|
|
|
|
|
+ prop: 'createType',
|
|
|
|
|
+ type: 'select',
|
|
|
|
|
+ dicData: [{
|
|
|
|
|
+ label: '后台录入',
|
|
|
|
|
+ value: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '小程序录入',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '房屋信息',
|
|
|
|
|
+ prop: 'group2',
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属社区",
|
|
|
|
|
+ prop: "agencyName",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属小区",
|
|
|
|
|
+ prop: "residentialName",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属楼栋",
|
|
|
|
|
+ prop: "buildingName",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属单元",
|
|
|
|
|
+ prop: "unitName",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属楼层",
|
|
|
|
|
+ prop: "floorName",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属房间",
|
|
|
|
|
+ prop: "roomName",
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '其他信息',
|
|
|
|
|
+ prop: 'group1',
|
|
|
|
|
+ column: [{
|
|
|
|
|
+ size: 'mini',
|
|
|
|
|
+ gutter: 10,
|
|
|
|
|
+ label: '备注信息',
|
|
|
|
|
+ prop: 'remark',
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ readonly: true,
|
|
|
|
|
+ size: 'mini',
|
|
|
|
|
+ gutter: 10,
|
|
|
|
|
+ label: '审核意见',
|
|
|
|
|
+ prop: 'auditOpinion',
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }]
|
|
|
|
|
+ }]
|
|
|
|
|
+ },
|
|
|
|
|
+ option: {
|
|
|
|
|
+ detail: true,
|
|
|
|
|
+ labelWidth: 110,
|
|
|
|
|
+
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "",
|
|
|
|
|
+ prop: "faceUrl",
|
|
|
|
|
+ labelWidth: '43.5%',
|
|
|
|
|
+ row: true,
|
|
|
|
|
+ span: 24,
|
|
|
|
|
+ type: "upload",
|
|
|
|
|
+ listType: 'picture-img',
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请上传人脸信息",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ propsHttp: {
|
|
|
|
|
+ res: "data",
|
|
|
|
|
+ url: "link"
|
|
|
|
|
+ },
|
|
|
|
|
+ action: "/api/blade-resource/oss/endpoint/put-file",
|
|
|
|
|
+ }],
|
|
|
|
|
+ group: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '基本信息',
|
|
|
|
|
+ prop: 'group1',
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '姓名',
|
|
|
|
|
+ prop: 'name',
|
|
|
|
|
+ gutter:10,
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请输入真实姓名",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '性别',
|
|
|
|
|
+ prop: 'sex',
|
|
|
|
|
+ type: 'select',
|
|
|
|
|
+ dicData: [{
|
|
|
|
|
+ label: '男',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '女',
|
|
|
|
|
+ value: 2
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '未知',
|
|
|
|
|
+ value: -1
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '手机号',
|
|
|
|
|
+ prop: 'phone',
|
|
|
|
|
+ span: 12,
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请输入手机号",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '身份证号',
|
|
|
|
|
+ prop: 'idCard',
|
|
|
|
|
+ span: 12,
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '登记来源',
|
|
|
|
|
+ prop: 'createType',
|
|
|
|
|
+ type: 'select',
|
|
|
|
|
+ dicData: [{
|
|
|
|
|
+ label: '后台录入',
|
|
|
|
|
+ value: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '小程序录入',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '房屋信息',
|
|
|
|
|
+ prop: 'group2',
|
|
|
|
|
+ column: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属社区",
|
|
|
|
|
+ prop: "agencyId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ remote: true,
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ cascaderItem: ['residentialId'],
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/agency/list?size=100&name={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "name",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属社区",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属小区",
|
|
|
|
|
+ prop: "residentialId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/residential/list?size=100&agencyId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "residentialName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属小区",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属楼栋",
|
|
|
|
|
+ prop: "buildingId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/building/list?size=100&residentialId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "buildingName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属楼栋",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属单元",
|
|
|
|
|
+ prop: "unitId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/unit/list?size=100&buildingId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "unitName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属单元",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属楼层",
|
|
|
|
|
+ prop: "floorId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/floor/list?size=100&unitId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "floorName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属楼层",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "所属房间",
|
|
|
|
|
+ prop: "roomId",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ overHidden: true,
|
|
|
|
|
+ dicUrl: '/api/cyzh-community/floor/list?size=100&floorId={{key}}',
|
|
|
|
|
+ dicFormatter: (res) => {
|
|
|
|
|
+ return res.data.records;
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: "roomName",
|
|
|
|
|
+ value: "id"
|
|
|
|
|
+ },
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ rules: [{
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: "请选择所属房间",
|
|
|
|
|
+ trigger: "blur"
|
|
|
|
|
+ }],
|
|
|
|
|
+ viewDisplay: false
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }, {
|
|
|
|
|
+ label: '其他信息',
|
|
|
|
|
+ prop: 'group1',
|
|
|
|
|
+ column: [{
|
|
|
|
|
+ size: 'mini',
|
|
|
|
|
+ gutter: 10,
|
|
|
|
|
+ label: '备注信息',
|
|
|
|
|
+ prop: 'remark',
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }, {
|
|
|
|
|
+ readonly: true,
|
|
|
|
|
+ size: 'mini',
|
|
|
|
|
+ gutter: 10,
|
|
|
|
|
+ label: '审核意见',
|
|
|
|
|
+ prop: 'auditOpinion',
|
|
|
|
|
+ span: 12
|
|
|
|
|
+ }]
|
|
|
|
|
+ }]
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ title() {
|
|
|
|
|
+ if (this.isAdd) {
|
|
|
|
|
+ return '添加常住人员'
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.option.detail) {
|
|
|
|
|
+ return '常住人员信息'
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return '编辑常住人员'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ //下发人脸
|
|
|
|
|
+ pushUserFaceToDevice(id, userName, deviceIdList) {
|
|
|
|
|
+ let params ={
|
|
|
|
|
+ userId: id,
|
|
|
|
|
+ userName: userName,
|
|
|
|
|
+ userType: "ZH_",
|
|
|
|
|
+ targetType: 1,
|
|
|
|
|
+ deviceIds: deviceIdList.join(","),
|
|
|
|
|
+ }
|
|
|
|
|
+ pushFace(params).then(res => {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ message: "操作成功!"
|
|
|
|
|
+ });
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ //禁用人脸
|
|
|
|
|
+ deleteUserFaceFromDevice(id, deviceIdList) {
|
|
|
|
|
+ this.$confirm("确定禁用人脸吗?", {
|
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
|
+ type: "warning"
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ let params={
|
|
|
|
|
+ deviceIds:deviceIdList.join(','),
|
|
|
|
|
+ userId:id,
|
|
|
|
|
+ userType:"ZH_"
|
|
|
|
|
+ };
|
|
|
|
|
+ return deleteFace(params);
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ message: "操作成功!"
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ showDialog(model, detail = true) {
|
|
|
|
|
+ this.isAdd = false
|
|
|
|
|
+ this.model = model
|
|
|
|
|
+ if(detail){
|
|
|
|
|
+ this.option = this.viewForm;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ this.option = this.editForm;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.option.detail = detail
|
|
|
|
|
+ this.dialogShow = true
|
|
|
|
|
+ },
|
|
|
|
|
+ showAddForm() {
|
|
|
|
|
+ this.isAdd = true
|
|
|
|
|
+ this.dialogShow = true
|
|
|
|
|
+ this.option = this.editForm
|
|
|
|
|
+ this.option.detail = false
|
|
|
|
|
+ this.$refs.avueForm.resetForm()
|
|
|
|
|
+ this.model = {}
|
|
|
|
|
+ },
|
|
|
|
|
+ submit(form, done) {
|
|
|
|
|
+ let data = deepClone(form)
|
|
|
|
|
+ if (this.isAdd) {
|
|
|
|
|
+ data.id = ''
|
|
|
|
|
+ }
|
|
|
|
|
+ update(data).then(() => {
|
|
|
|
|
+ done();
|
|
|
|
|
+ this.dialogShow = false;
|
|
|
|
|
+ this.$refs.avueForm.resetForm();
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ message: "操作成功!"
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$emit('reloadData')
|
|
|
|
|
+ }, error => {
|
|
|
|
|
+ window.console.log(error);
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ rowDel(id) {
|
|
|
|
|
+ this.$confirm("确定删除该条数据?", {
|
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
|
+ type: "warning"
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ return remove(id);
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ message: "操作成功!"
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$emit('reloadData')
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ audit(auditStatus) {
|
|
|
|
|
+ this.auditObj = deepClone(this.model)
|
|
|
|
|
+ this.auditObj.auditStatus = auditStatus;
|
|
|
|
|
+ this.dialogShow = false;
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.auditDialogShow = true
|
|
|
|
|
+ }, 300)
|
|
|
|
|
+ },
|
|
|
|
|
+ //给外部调用的审核
|
|
|
|
|
+ auditref(obj, status) {
|
|
|
|
|
+ this.auditObj = deepClone(obj)
|
|
|
|
|
+ this.auditObj.auditStatus = status
|
|
|
|
|
+ this.auditDialogShow = true
|
|
|
|
|
+ },
|
|
|
|
|
+ doAudit() {
|
|
|
|
|
+ this.auditObj.auditOpinion = this.auditOpinion
|
|
|
|
|
+ update(this.auditObj).then(() => {
|
|
|
|
|
+ this.auditDialogShow = false;
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "success",
|
|
|
|
|
+ message: "操作成功!"
|
|
|
|
|
+ });
|
|
|
|
|
+ this.auditOpinion = ''
|
|
|
|
|
+ this.$emit('reloadData')
|
|
|
|
|
+ }, error => {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: "error",
|
|
|
|
|
+ message: "操作失败!"
|
|
|
|
|
+ })
|
|
|
|
|
+ loading();
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+</script>
|