소스 검색

人脸权限——>访客

xuanyan 4 년 전
부모
커밋
b67718cbc4
3개의 변경된 파일612개의 추가작업 그리고 38개의 파일을 삭제
  1. 21 2
      src/views/estate/guestmng/option/guestOption-sq.js
  2. 1 1
      src/views/smartaccess/comps/face-card.vue
  3. 590 35
      src/views/smartaccess/form/guest.vue

+ 21 - 2
src/views/estate/guestmng/option/guestOption-sq.js

@@ -47,6 +47,25 @@ export default {
         trigger: "blur"
       }]
     },
+    {
+      label: '访客性别',
+      prop: 'guestSex',
+      type: 'select',
+      dicData: [{
+        label: '男',
+        value: 1
+      },
+        {
+          label: '女',
+          value: 2
+        },
+        {
+          label: '未知',
+          value: 0
+        }
+      ],
+      span: 12
+    },
     {
       label: "访客手机号",
       prop: "guestTel",
@@ -134,8 +153,8 @@ export default {
         labelWidth: 110,
         prop: "registerSource",
         slot: true,
-        editDisplay: false,
-        addDisplay: false,
+        editDisplay: true,
+        addDisplay: true,
       },
       {
         label: "拜访社区",

+ 1 - 1
src/views/smartaccess/comps/face-card.vue

@@ -651,7 +651,7 @@
             item.pushStatus = this.statusObj.value
           })
         } else {
-          params.checkState = this.statusObj.value
+          params.auditStatus = this.statusObj.value
           data = (await getGuestList(this.current, this.size, params)).data.data
         }
         this.list = data.records

+ 590 - 35
src/views/smartaccess/form/guest.vue

@@ -52,7 +52,8 @@
         option: {
           detail: true,
           labelWidth: 110,
-          column: [{
+          column: [
+            {
             label: "",
             prop: "imageUri",
             labelWidth: '43.5%',
@@ -71,10 +72,12 @@
             },
             action: "/api/blade-resource/oss/endpoint/put-file",
           }],
-          group: [{
+          group: [
+            {
               label: '基本信息',
               prop: 'group1',
-              column: [{
+              column: [
+                {
                   label: '姓名',
                   prop: 'guestName',
                   rules: [{
@@ -83,7 +86,8 @@
                     trigger: "blur"
                   }],
                   span: 12
-                }, {
+                },
+                {
                   label: '性别',
                   prop: 'guestSex',
                   type: 'select',
@@ -101,7 +105,8 @@
                     }
                   ],
                   span: 12
-                }, {
+                },
+                {
                   label: '手机号',
                   prop: 'guestTel',
                   span: 12,
@@ -120,6 +125,7 @@
                 {
                   label: '登记来源',
                   prop: 'registerSource',
+                  addDisplay: false,
                   type: 'select',
                   dicData: [{
                       label: '后台录入',
@@ -140,24 +146,46 @@
             {
               label: '访问信息',
               prop: 'group2',
-              column: [{
+              column: [
+                {
                   label: "预约开始时间",
                   prop: "beginTime",
-                  span: 12
+                  type: "datetime",
+                  labelWidth: 110,
+                  format: "yyyy-MM-dd HH:mm:ss",
+                  valueFormat: "yyyy-MM-dd HH:mm:ss",
+                  rules: [{
+                    required: true,
+                    message: "请选择预约开始时间",
+                    trigger: "blur"
+                  }]
                 },
                 {
                   label: "预约结束时间",
                   prop: "endTime",
-                  span: 12
+                  type: "datetime",
+                  labelWidth: 110,
+                  format: "yyyy-MM-dd HH:mm:ss",
+                  valueFormat: "yyyy-MM-dd HH:mm:ss",
+                  rules: [{
+                    required: true,
+                    message: "请选预约结束时间",
+                    trigger: "blur"
+                  }]
                 },
                 {
-                  label: "拜访园区",
+                  label: "拜访区",
                   prop: "agencyId",
-                  cascaderItem: ['enterpriseId'],
+                  labelWidth: 110,
+                  cascaderItem: ['residentialId'],
                   type: "select",
-                  dicUrl: "/api/cyzh-community/agency/list?size=100",
+                  remote: true,
+                  hide: true,
+                  search: true,
+                  viewDisplay: false,
+                  dicUrl: "/api/cyzh-community/agency/list?name={{key}}",
                   dicFormatter: (res) => {
-                    return res.data.records;
+                    return res.data.records; //返回字典的层级结构
                   },
                   props: {
                     label: "name",
@@ -165,54 +193,579 @@
                   },
                   rules: [{
                     required: true,
-                    message: "请选择拜访区",
+                    message: "请选择拜访区",
                     trigger: "blur"
                   }]
                 },
                 {
-                  label: "拜访企业",
-                  prop: "enterpriseId",
+                  label: "拜访小区",
+                  labelWidth: 110,
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records; //返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择小区",
+                    trigger: "blur"
+                  }],
+                  hide: true,
+                  viewDisplay: false
+                },
+                {
+                  label: "拜访楼栋",
+                  prop: "buildingId",
+                  labelWidth: 110,
                   type: "select",
                   search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records; //返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }],
                   hide: true,
-                  viewDisplay: false,
-                  dicUrl: "/api/cyzh-enterprise/enterprise/list?agencyId={{key}}",
+                  viewDisplay: false
+                },
+                {
+                  label: "拜访单元",
+                  prop: "unitId",
+                  labelWidth: 110,
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}&size=500",
+                  dicFormatter: (res) => {
+                    return res.data.records; //返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }],
+                  hide: true,
+                  viewDisplay: false
+                },
+                {
+                  label: "拜访房间",
+                  prop: "roomId",
+                  type: "select",
+                  search: true,
+                  labelWidth: 110,
+                  dicUrl: "/api/cyzh-community/room/list?unitId={{key}}&size=500&current=1",
                   dicFormatter: (res) => {
-                    return res.data.records;
+                    return res.data.records; //返回字典的层级结构
                   },
-                  // dicFlag: false,
                   filterable: true,
                   props: {
-                    label: "enterpriseName",
+                    label: "name",
                     value: "id"
                   },
                   rules: [{
-                    required: true,
-                    message: "请选择拜访企业",
+                    required: false,
+                    message: "请选择房间",
                     trigger: "blur"
-                  }]
+                  }],
+                  hide: true,
+                  viewDisplay: false
                 },
               ]
             }, {
               label: '其他信息',
-              prop: 'group1',
-              column: [{
+              prop: 'group3',
+              column: [
+                {
+                size: 'mini',
+                gutter: 10,
+                label: '拜访缘由',
+                prop: 'guestReason',
+                span: 12
+              },
+              //   {
+              //   readonly: true,
+              //   size: 'mini',
+              //   gutter: 10,
+              //   label: '审核意见',
+              //   prop: 'opinion',
+              //   span: 12
+              // }
+              ]
+            }
+          ],
+        },
+        detailGroup:[
+          {
+            label: '基本信息',
+            prop: 'group1',
+            column: [
+              {
+                label: '姓名',
+                prop: 'guestName',
+                rules: [{
+                  required: true,
+                  message: "请输入访客姓名",
+                  trigger: "blur"
+                }],
+                span: 12
+              },
+              {
+                label: '性别',
+                prop: 'guestSex',
+                type: 'select',
+                dicData: [{
+                  label: '男',
+                  value: 1
+                },
+                  {
+                    label: '女',
+                    value: 2
+                  },
+                  {
+                    label: '未知',
+                    value: 0
+                  }
+                ],
+                span: 12
+              },
+              {
+                label: '手机号',
+                prop: 'guestTel',
+                span: 12,
+                rules: [{
+                  required: true,
+                  message: "请输入手机号",
+                  trigger: "blur"
+                }],
+              },
+              {
+                label: '身份证号',
+                prop: 'guestIdcard',
+                span: 12,
+
+              },
+              {
+                label: '登记来源',
+                prop: 'registerSource',
+                addDisplay: false,
+                type: 'select',
+                dicData: [{
+                  label: '后台录入',
+                  value: 2
+                },
+                  {
+                    label: '小程序录入',
+                    value: 1
+                  }, {
+                    label: '访客机录入',
+                    value: 3
+                  },
+                ],
+                span: 12
+              },
+            ]
+          },
+          {
+            label: '访问信息',
+            prop: 'group2',
+            column: [
+              {
+                label: "预约开始时间",
+                prop: "beginTime",
+                type: "datetime",
+                labelWidth: 110,
+                format: "yyyy-MM-dd HH:mm:ss",
+                valueFormat: "yyyy-MM-dd HH:mm:ss",
+                rules: [{
+                  required: true,
+                  message: "请选择预约开始时间",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "预约结束时间",
+                prop: "endTime",
+                type: "datetime",
+                labelWidth: 110,
+                format: "yyyy-MM-dd HH:mm:ss",
+                valueFormat: "yyyy-MM-dd HH:mm:ss",
+                rules: [{
+                  required: true,
+                  message: "请选预约结束时间",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "拜访社区",
+                prop: "agencyId",
+                labelWidth: 110,
+                cascaderItem: ['residentialId'],
+                type: "select",
+                remote: true,
+                hide: true,
+                search: true,
+                viewDisplay: false,
+                dicUrl: "/api/cyzh-community/agency/list?name={{key}}",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择拜访社区",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "拜访小区",
+                labelWidth: 110,
+                prop: "residentialId",
+                type: "select",
+                search: true,
+                cascaderItem: ['buildingId'],
+                dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择小区",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+              {
+                label: "拜访楼栋",
+                prop: "buildingId",
+                labelWidth: 110,
+                type: "select",
+                search: true,
+                cascaderItem: ['unitId'],
+                dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择楼栋",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+              {
+                label: "拜访单元",
+                prop: "unitId",
+                labelWidth: 110,
+                type: "select",
+                search: true,
+                cascaderItem: ['floorId'],
+                dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}&size=500",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择单元",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+              {
+                label: "拜访房间",
+                prop: "roomId",
+                type: "select",
+                search: true,
+                labelWidth: 110,
+                dicUrl: "/api/cyzh-community/room/list?unitId={{key}}&size=500&current=1",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择房间",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+            ]
+          }, {
+            label: '其他信息',
+            prop: 'group3',
+            column: [
+              {
                 size: 'mini',
                 gutter: 10,
                 label: '拜访缘由',
                 prop: 'guestReason',
                 span: 12
-              }, {
-                readonly: true,
+              },
+              //   {
+              //   readonly: true,
+              //   size: 'mini',
+              //   gutter: 10,
+              //   label: '审核意见',
+              //   prop: 'opinion',
+              //   span: 12
+              // }
+            ]
+          }
+        ],
+        addGroup:[
+          {
+            label: '基本信息',
+            prop: 'group1',
+            column: [
+              {
+                label: '姓名',
+                prop: 'guestName',
+                rules: [{
+                  required: true,
+                  message: "请输入访客姓名",
+                  trigger: "blur"
+                }],
+                span: 12
+              },
+              {
+                label: '性别',
+                prop: 'guestSex',
+                type: 'select',
+                dicData: [{
+                  label: '男',
+                  value: 1
+                },
+                  {
+                    label: '女',
+                    value: 2
+                  },
+                  {
+                    label: '未知',
+                    value: 0
+                  }
+                ],
+                span: 12
+              },
+              {
+                label: '手机号',
+                prop: 'guestTel',
+                span: 12,
+                rules: [{
+                  required: true,
+                  message: "请输入手机号",
+                  trigger: "blur"
+                }],
+              },
+              {
+                label: '身份证号',
+                prop: 'guestIdcard',
+                span: 12,
+
+              },
+            ]
+          },
+          {
+            label: '访问信息',
+            prop: 'group2',
+            column: [
+              {
+                label: "预约开始时间",
+                prop: "beginTime",
+                type: "datetime",
+                labelWidth: 110,
+                format: "yyyy-MM-dd HH:mm:ss",
+                valueFormat: "yyyy-MM-dd HH:mm:ss",
+                rules: [{
+                  required: true,
+                  message: "请选择预约开始时间",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "预约结束时间",
+                prop: "endTime",
+                type: "datetime",
+                labelWidth: 110,
+                format: "yyyy-MM-dd HH:mm:ss",
+                valueFormat: "yyyy-MM-dd HH:mm:ss",
+                rules: [{
+                  required: true,
+                  message: "请选预约结束时间",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "拜访社区",
+                prop: "agencyId",
+                labelWidth: 110,
+                cascaderItem: ['residentialId'],
+                type: "select",
+                remote: true,
+                hide: true,
+                search: true,
+                viewDisplay: false,
+                dicUrl: "/api/cyzh-community/agency/list?name={{key}}",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择拜访社区",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "拜访小区",
+                labelWidth: 110,
+                prop: "residentialId",
+                type: "select",
+                search: true,
+                cascaderItem: ['buildingId'],
+                dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择小区",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+              {
+                label: "拜访楼栋",
+                prop: "buildingId",
+                labelWidth: 110,
+                type: "select",
+                search: true,
+                cascaderItem: ['unitId'],
+                dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择楼栋",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+              {
+                label: "拜访单元",
+                prop: "unitId",
+                labelWidth: 110,
+                type: "select",
+                search: true,
+                cascaderItem: ['floorId'],
+                dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}&size=500",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择单元",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+              {
+                label: "拜访房间",
+                prop: "roomId",
+                type: "select",
+                search: true,
+                labelWidth: 110,
+                dicUrl: "/api/cyzh-community/room/list?unitId={{key}}&size=500&current=1",
+                dicFormatter: (res) => {
+                  return res.data.records; //返回字典的层级结构
+                },
+                filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择房间",
+                  trigger: "blur"
+                }],
+                hide: true,
+                viewDisplay: false
+              },
+            ]
+          }, {
+            label: '其他信息',
+            prop: 'group3',
+            column: [
+              {
                 size: 'mini',
                 gutter: 10,
-                label: '审核意见',
-                prop: 'opinion',
+                label: '拜访缘由',
+                prop: 'guestReason',
                 span: 12
-              }]
-            }
-          ]
-        }
+              }
+            ]
+          }
+        ]
       }
     },
     computed: {
@@ -258,14 +811,16 @@
         this.isAdd = false
         this.model = model
         this.option.detail = detail
-        this.dialogShow = true
+        this.dialogShow = true;
+        this.option.group = this.detailGroup;
       },
-      showAddForm() {
+      showAddForm: function () {
         this.isAdd = true
         this.dialogShow = true
         this.option.detail = false
         this.$refs.avueForm.resetForm()
         this.model = {}
+        this.option.group = this.addGroup;
       },
       async submit(form, done) {
         let data = deepClone(form)