Просмотр исходного кода

人员标签列表入口添加基本信息

slowslo 5 лет назад
Родитель
Сommit
d43ccbfabb
39 измененных файлов с 16305 добавлено и 319 удалено
  1. 18 0
      src/api/person/adolescent.js
  2. 17 0
      src/api/person/aids.js
  3. 25 0
      src/api/person/allowancespeople.js
  4. 18 0
      src/api/person/correctionalstaff.js
  5. 18 0
      src/api/person/disabler.js
  6. 18 0
      src/api/person/drug.js
  7. 18 0
      src/api/person/elderlypeople.js
  8. 18 0
      src/api/person/establishfilecard.js
  9. 17 0
      src/api/person/fertilewoman.js
  10. 17 0
      src/api/person/prisoner.js
  11. 17 0
      src/api/person/psychiatric.js
  12. 18 0
      src/api/person/veterans.js
  13. 634 0
      src/components/person-tags/adolescent-form.vue
  14. 560 0
      src/components/person-tags/aids-form.vue
  15. 590 0
      src/components/person-tags/allowancespeople-form.vue
  16. 881 0
      src/components/person-tags/correctionalStaff-form.vue
  17. 634 0
      src/components/person-tags/disabler-form.vue
  18. 766 0
      src/components/person-tags/drug-form.vue
  19. 609 0
      src/components/person-tags/elderlyPeople-form.vue
  20. 637 0
      src/components/person-tags/establishFilecard-form.vue
  21. 607 0
      src/components/person-tags/fertileWoman-form.vue
  22. 699 0
      src/components/person-tags/prisoner-form.vue
  23. 656 0
      src/components/person-tags/psychiatric-form.vue
  24. 595 0
      src/components/person-tags/veterans-form.vue
  25. 0 1
      src/views/grid/dataPage.vue
  26. 1 1
      src/views/grid/scenes/personScreen.vue
  27. 663 2
      src/views/person/adolescent.vue
  28. 585 7
      src/views/person/aids.vue
  29. 598 15
      src/views/person/allowancespeople.vue
  30. 905 3
      src/views/person/correctionalstaff.vue
  31. 661 131
      src/views/person/disabler.vue
  32. 802 7
      src/views/person/drug.vue
  33. 636 131
      src/views/person/elderlypeople.vue
  34. 682 3
      src/views/person/establishfilecard.vue
  35. 635 2
      src/views/person/fertilewoman.vue
  36. 1 0
      src/views/person/member.vue
  37. 728 4
      src/views/person/prisoner.vue
  38. 686 2
      src/views/person/psychiatric.vue
  39. 635 10
      src/views/person/veterans.vue

+ 18 - 0
src/api/person/adolescent.js

@@ -32,6 +32,24 @@ export const remove = (ids) => {
   })
 }
 
+export const addAdolescent = (list) => {
+  return request({
+    url: '/api/cyzh-person/adolescent/addAdolescent',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/adolescent/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
 export const add = (row) => {
   return request({
     url: '/api/cyzh-person/adolescent/submit',

+ 17 - 0
src/api/person/aids.js

@@ -48,3 +48,20 @@ export const update = (row) => {
   })
 }
 
+export const addAids = (list) => {
+  return request({
+    url: '/api/cyzh-person/aids/addAids',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/aids/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}

+ 25 - 0
src/api/person/allowancespeople.js

@@ -48,3 +48,28 @@ export const update = (row) => {
   })
 }
 
+// export const addAllowances = (form1,form2) => {
+//   return request({
+//     url: '/api/cyzh-person/allowancespeople/addAllowances',
+//     method: 'post',
+//     data: form1,form2
+//   })
+// }
+
+export const addAllowances = (list) => {
+  return request({
+    url: '/api/cyzh-person/allowancespeople/addAllowances',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/allowancespeople/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}

+ 18 - 0
src/api/person/correctionalstaff.js

@@ -32,6 +32,24 @@ export const remove = (ids) => {
   })
 }
 
+export const addCorrectionalStaff = (list) => {
+  return request({
+    url: '/api/cyzh-person/correctionalstaff/addCorrectionalStaff',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/correctionalstaff/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
 export const add = (row) => {
   return request({
     url: '/api/cyzh-person/correctionalstaff/submit',

+ 18 - 0
src/api/person/disabler.js

@@ -57,3 +57,21 @@ export const detailByParentId = (parentId) => {
     }
   })
 }
+
+export const addDisabler = (list) => {
+  return request({
+    url: '/api/cyzh-person/disabler/addDisabler',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/disabler/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}

+ 18 - 0
src/api/person/drug.js

@@ -32,6 +32,24 @@ export const remove = (ids) => {
   })
 }
 
+export const addDrug = (list) => {
+  return request({
+    url: '/api/cyzh-person/drug/addDrug',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/drug/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
 export const add = (row) => {
   return request({
     url: '/api/cyzh-person/drug/submit',

+ 18 - 0
src/api/person/elderlypeople.js

@@ -32,6 +32,24 @@ export const remove = (ids) => {
   })
 }
 
+export const addElderlypeople = (list) => {
+  return request({
+    url: '/api/cyzh-person/elderlypeople/addElderlyPeople',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/elderlypeople/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
 export const add = (row) => {
   return request({
     url: '/api/cyzh-person/elderlypeople/submit',

+ 18 - 0
src/api/person/establishfilecard.js

@@ -48,3 +48,21 @@ export const update = (row) => {
   })
 }
 
+export const addEstablishFilecard = (list) => {
+  return request({
+    url: '/api/cyzh-person/establishfilecard/addEstablishFilecard',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/establishfilecard/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+

+ 17 - 0
src/api/person/fertilewoman.js

@@ -48,3 +48,20 @@ export const update = (row) => {
   })
 }
 
+export const addFertileWoman = (list) => {
+  return request({
+    url: '/api/cyzh-person/fertilewoman/addFertileWoman',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/fertilewoman/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}

+ 17 - 0
src/api/person/prisoner.js

@@ -48,3 +48,20 @@ export const update = (row) => {
   })
 }
 
+export const addPrisoner = (list) => {
+  return request({
+    url: '/api/cyzh-person/prisoner/addPrisoner',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/prisoner/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}

+ 17 - 0
src/api/person/psychiatric.js

@@ -48,3 +48,20 @@ export const update = (row) => {
   })
 }
 
+export const addPsychiatric = (list) => {
+  return request({
+    url: '/api/cyzh-person/psychiatric/addPsychiatric',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/psychiatric/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}

+ 18 - 0
src/api/person/veterans.js

@@ -48,3 +48,21 @@ export const update = (row) => {
   })
 }
 
+export const addVeterans = (list) => {
+  return request({
+    url: '/api/cyzh-person/veterans/addVeterans',
+    method: 'post',
+    data: list
+  })
+}
+
+export const generatedetail = (id) => {
+  return request({
+    url: '/api/cyzh-person/veterans/generatedetail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+

+ 634 - 0
src/components/person-tags/adolescent-form.vue

@@ -0,0 +1,634 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="重点青少年" name="second"></el-tab-pane>
+    </el-tabs>
+        <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+        <avue-form v-show="activeName=='second'" :option="optionAdolescent" v-model="formAdolescent" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {add,update,getDetail,getList} from "@/api/person/basicinfo";
+  import {update as adolescentUpdate,addAdolescent} from "@/api/person/adolescent";
+  export default {
+    name: "adolescent-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formAdolescent:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formAdolescent:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionAdolescent:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "基本表id",
+              prop: "parentId",
+              hide:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入基本表id",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              display: false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "人员类型",
+              prop: "type",
+              type: "select",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=adolescent_type",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入人员类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人姓名",
+              prop: "guardianName",
+              rules: [{
+                required: false,
+                message: "请输入监护人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人身份证号码",
+              prop: "guardianIdCard",
+              rules: [{
+                required: false,
+                message: "请输入监护人身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人详细地址",
+              prop: "guardianAddress",
+              rules: [{
+                required: false,
+                message: "请输入监护人详细地址",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人联系方式",
+              prop: "guardianPhone",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入监护人联系方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶人姓名",
+              prop: "helperName",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入帮扶人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶人联系方式",
+              prop: "helperPhone",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入帮扶人联系方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "家庭情况",
+              prop: "situation",
+              hide:true,
+              type: "select",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=family_situation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入家庭情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "与监护人关系",
+              prop: "relation",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入与监护人关系",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否违法犯罪",
+              prop: "crime",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否违法犯罪",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "违法犯罪情况",
+              prop: "crimeDetail",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入违法犯罪情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶手段",
+              prop: "helpWay",
+              type: "select",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=helpWay",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入帮扶手段",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶情况",
+              prop: "helpSituation",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入帮扶情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        }
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formAdolescent);
+          ObjectList.push(this.formBasic);
+          addAdolescent(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改低保信息
+          adolescentUpdate(this.formAdolescent).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+      // onLoad(){
+      //   console.log(this.tag,'tag')
+      //   if (this.tag==2){
+      //     this.formBasic = this.formBasic;
+      //     this.formAdolescent = this.formAdolescent;
+      //     console.log(this.formBasic,'this.formBasic')
+      //   }
+      // }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 560 - 0
src/components/person-tags/aids-form.vue

@@ -0,0 +1,560 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="艾滋病人" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionAids" v-model="formAids" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as aidsUpdate,addAids} from "@/api/person/aids";
+  export default {
+    name: "aids-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formAids:{type:Object},
+      // BasicData:{type:Object},
+      // AllowancespeopleData:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formAids:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionAids:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "姓名",
+              prop: "name",
+              search: 'true',
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有犯罪史",
+              prop: "crimeHistory",
+              type: 'select',
+              hide: true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择是否有犯罪史",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "违法犯罪情况",
+              prop: "crimeSituation",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入违法犯罪情况;",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "感染途径",
+              prop: "infectionWay",
+              type: 'select',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=aids_infection_way",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择感染途径",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "收治机构",
+              prop: "treatPlace",
+              rules: [{
+                required: false,
+                message: "请输入收治机构",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "收治情况",
+              prop: "treatSituation",
+              type: 'select',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=aids_treat_situation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择收治情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶情况",
+              prop: "helpSituation",
+              rules: [{
+                required: false,
+                message: "请输入帮扶情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶人姓名",
+              prop: "helperName",
+              rules: [{
+                required: false,
+                message: "请输入帮扶人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶人联系方式",
+              prop: "helperPhone",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入帮扶人联系方式",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formAids);
+          ObjectList.push(this.formBasic);
+          addAids(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改艾滋病人信息
+          aidsUpdate(this.formAids).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+      // onLoad(){
+      //   console.log(this.tag,'tag')
+      //   if (this.tag==2){
+      //     this.formBasic = this.formBasic;
+      //     this.formAids = this.formAids;
+      //     console.log(this.formBasic,'this.formBasic')
+      //   }
+      // }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 590 - 0
src/components/person-tags/allowancespeople-form.vue

@@ -0,0 +1,590 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="低保人员" name="second"></el-tab-pane>
+    </el-tabs>
+        <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+        <avue-form v-show="activeName=='second'" :option="optionAllowance" v-model="formAllowance" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {add,update,getDetail,getList} from "@/api/person/basicinfo";
+  import {add as allowancesAdd,update as allowanceUpdate,addAllowances} from "@/api/person/allowancespeople";
+    export default {
+      name: "allowancespeople-form",
+      props:{
+        closeFn:{type:Function},
+        tag:{type:Number},
+        formBasic:{type:Object},
+        formAllowance:{type:Object},
+        // BasicData:{type:Object},
+        // AllowancespeopleData:{type:Object},
+      },
+      data(){
+          return{
+            activeName:'first',
+            formBasic:{},
+            formAllowance:{},
+            loading:false,
+            query: {},
+            optionBasic:{
+              tip: false,
+              submitBtn:false,
+              emptyBtn:false,
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  type:'textarea',
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },
+            optionAllowance:{
+              emptyBtn:false,
+              submitText:"提交",
+              column: [
+                {
+                  label: "基本表Id",
+                  prop: "parentId",
+                  hide:true,
+                  display:false,
+                  rules: [{
+                    required: false,
+                    message: "请输入基本表Id",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "家庭人口",
+                  prop: "familyPopulation",
+                  rules: [{
+                    required: false,
+                    message: "请输入家庭人口",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "保障人口",
+                  prop: "guaranteePopulation",
+                  rules: [{
+                    required: false,
+                    message: "请输入保障人口",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "低保证号",
+                  prop: "lowGuaranteeCode",
+                  rules: [{
+                    required: false,
+                    message: "请输入低保证号",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "自理能力",
+                  prop: "selfCareAbility",
+                  rules: [{
+                    required: false,
+                    message: "请输入自理能力",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "补贴金额",
+                  prop: "subsidyAmount",
+                  rules: [{
+                    required: false,
+                    message: "请输入补贴金额",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "发证时间",
+                  prop: "issuingTime",
+                  type:'date',
+                  valueFormat:'yyyy-MM-dd',
+                  rules: [{
+                    required: false,
+                    message: "请输入发证时间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "紧急联系人",
+                  prop: "emergencyContact",
+                  rules: [{
+                    required: false,
+                    message: "请输入紧急联系人",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "紧急联系人电话",
+                  prop: "emergencyContactNumber",
+                  rules: [{
+                    required: false,
+                    message: "请输入紧急联系人电话",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "残疾",
+                  prop: "disability",
+                  rules: [{
+                    required: false,
+                    message: "请输入残疾",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  type:'textarea',
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },
+          }
+      },
+      methods:{
+          addEntity(){
+            //新增
+            if (this.tag==1){
+              var ObjectList = new Array();
+              ObjectList.push(this.formAllowance);
+              ObjectList.push(this.formBasic);
+              // addAllowances(this.formAllowance,this.formBasic).then(()=>{
+              addAllowances(ObjectList).then(()=>{
+                this.$message({
+                  type: "success",
+                  message: "操作成功!"
+                });
+                this.$emit('refreshChange');
+                this.closeFn();
+              }, error => {
+                // loading();
+                window.console.log(error);
+              });
+            }else {
+              //修改基本信息
+              update(this.formBasic).then(() => {
+                // this.$message({
+                //   type: "success",
+                //   message: "操作成功!"
+                // });
+              }, error => {
+                window.console.log(error);
+              });
+              //修改低保信息
+              allowanceUpdate(this.formAllowance).then(() => {
+                this.$message({
+                  type: "success",
+                  message: "操作成功!"
+                });
+                this.$emit('refreshChange');
+                this.closeFn();
+              }, error => {
+                window.console.log(error);
+              });
+            }
+
+            //添加基础信息
+            // add(this.formBasic).then(() => {
+            //   this.onLoad(this.page);
+            //   this.$message({
+            //     type: "success",
+            //     message: "操作成功!"
+            //   });
+            //   done();
+            // }, error => {
+            //   loading();
+            //   window.console.log(error);
+            // });
+            // //添加低保信息
+            // allowancesAdd(this.formAllowance).then(() => {
+            //   this.onLoad(this.page);
+            //   this.$message({
+            //     type: "success",
+            //     message: "操作成功!"
+            //   });
+            //   done();
+            // }, error => {
+            //   loading();
+            //   window.console.log(error);
+            // });
+          },
+          handleClick(tab, event){
+            console.log(tab,event)
+        },
+        // onLoad(){
+        //   console.log(this.tag,'tag')
+        //     if (this.tag==2){
+        //       this.formBasic = this.formBasic;
+        //       this.formAllowance = this.formAllowance;
+        //       console.log(this.formBasic,'this.formBasic')
+        //     }
+        // }
+      }
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 881 - 0
src/components/person-tags/correctionalStaff-form.vue

@@ -0,0 +1,881 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="矫正人员" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionCorrectionalStaff" v-model="formCorrectionalStaff" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as correctionalStaffUpdate,addCorrectionalStaff} from "@/api/person/correctionalstaff";
+  export default {
+    name: "correctionalStaff-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formCorrectionalStaff:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formCorrectionalStaff:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionCorrectionalStaff:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "基本表Id",
+              prop: "parentId",
+              hide:true,
+              display:false,
+              rules: [{
+                required: false,
+                message: "请输入基本表Id",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "矫正类别",
+              prop: "correctType",
+              type:'select',
+              dataType:'number',
+              dicUrl:"/api/blade-system/dict-biz/dictionary?code=correct_type",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入矫正类别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "矫正人员编号",
+              prop: "correctPersonCode",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入矫正人员编号",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原羁押场所",
+              prop: "detentionPlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入原羁押场所",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "案件类型",
+              prop: "caseType",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入案件类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "具体罪名",
+              prop: "specificCharges",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入具体罪名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原判刑期",
+              prop: "originalSentence",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入原判刑期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原判刑开始日期",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              prop: "startdateSentence",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入原判刑开始日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原判刑结束日期",
+              prop: "enddateSentence",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入原判刑结束日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "矫正开始日期",
+              prop: "startdateCorrection",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入矫正开始日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "矫正结束日期",
+              prop: "enddateCorrection",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入矫正开始日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "报道方式",
+              prop: "checkinMode",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=checkin_mode",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入报道方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否累惯犯",
+              prop: "isRecidivist",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否累惯犯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "“四史”情况",
+              prop: "fourHistories",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=four_histories",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择“四史”情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "“五涉”情况",
+              prop: "fiveSituation",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=five_situation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入“五涉”情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否建立矫正小组",
+              prop: "isTeamEstablished",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否建立矫正小组",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "矫正小组人员组成情况",
+              prop: "teamComposition",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=team_composition",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入矫正小组人员组成情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "矫正解除(终止)类型",
+              prop: "reliefType",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=relief_type",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入矫正解除(终止)类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有脱管",
+              prop: "isGetRid",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否有脱管",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "脱管原因",
+              prop: "reasonGetRid",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入脱管原因",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "检查监督托管情况",
+              prop: "inspectGetRid",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入检查监督托管情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "脱管纠正情况",
+              prop: "correctGetRid",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入脱管纠正情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有漏管",
+              prop: "isUnmanaged",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入是否有漏管",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "漏管原因",
+              prop: "reasonUnmanage",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入漏管原因",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "检查监督漏管情况",
+              prop: "inspectUnmanage",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入检查监督漏管情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "漏管纠正情况",
+              prop: "correctUnmanage",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入漏管纠正情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "奖惩情况(国标)",
+              prop: "rewardsAndPunishments",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入奖惩情况(国标)",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "刑罚变更执行情况",
+              prop: "penaltyChange",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入刑罚变更执行情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否重新犯罪",
+              prop: "newCrime",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否重新犯罪",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "重新犯罪名称",
+              prop: "nameOfRecidivism",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入重新犯罪名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "刑法执行类别",
+              prop: "categoryOfLaw",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入刑法执行类别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "管控等级",
+              prop: "controlLevel",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入管控等级",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否重点监控",
+              prop: "isKeyMonitoring",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否重点监控",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formCorrectionalStaff);
+          ObjectList.push(this.formBasic);
+          addCorrectionalStaff(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改矫正人员信息
+          correctionalStaffUpdate(this.formCorrectionalStaff).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 634 - 0
src/components/person-tags/disabler-form.vue

@@ -0,0 +1,634 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="残障人士信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionDisabler" v-model="formDisabler" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {add,update,getDetail,getList} from "@/api/person/basicinfo";
+  import {update as disablerUpdate,addDisabler} from "@/api/person/disabler";
+  export default {
+    name: "disabler-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formDisabler:{type:Object},
+      // BasicData:{type:Object},
+      // AllowancespeopleData:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formDisabler:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionDisabler:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "基本信息表id",
+              prop: "parentId",
+              hide: true,
+              display: false,
+              rules: [{
+                required: true,
+                message: "请输入基本信息表id",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'姓名',
+              prop:'name',
+              search:true,
+              display:false
+            },
+            {
+              label: "居住情况",
+              prop: "livingConditions",
+              type: 'select',
+              multiple: true,
+              dataType:'string',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=living-conditions",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择居住情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人",
+              prop: "guardian",
+              hide: true,
+              rules: [{
+                required: true,
+                message: "请输入监护人",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人电话",
+              prop: "guardianPhone",
+              rules: [{
+                required: true,
+                message: "请输入监护人电话",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "收入来源",
+              prop: "incomeSource",
+              type: 'select',
+              multiple: true,
+              dataType:'string',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=income-source",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择收入来源",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "医疗保障",
+              prop: "healthCare",
+              type: 'select',
+              multiple: true,
+              dataType:'string',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=health-care",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择医疗保障",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "康复需求",
+              prop: "convalescence",
+              rules: [{
+                required: false,
+                message: "请输入康复需求",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "辅助器具",
+              prop: "assistiveDevices",
+              rules: [{
+                required: false,
+                message: "请输入辅助器具",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生活爱好",
+              prop: "hobby",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生活爱好",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生活嗜好",
+              prop: "addiction",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生活嗜好",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "行为能力",
+              prop: "ability",
+              type: 'select',
+              dataType: 'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=ability",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择行为能力",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "社交能力",
+              prop: "socialSkills",
+              type: 'select',
+              dataType: 'number',
+              hide: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=social-skills",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择社交能力",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "就业意向",
+              prop: "employmentNeeds",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入就业意向",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "探访计划",
+              prop: "visitPlan",
+              rules: [{
+                required: false,
+                message: "请输入探访计划",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formDisabler);
+          ObjectList.push(this.formBasic);
+          addDisabler(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改低保信息
+          disablerUpdate(this.formDisabler).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 766 - 0
src/components/person-tags/drug-form.vue

@@ -0,0 +1,766 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="吸毒人员信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionDrug" v-model="formDrug" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {add,update,getDetail,getList} from "@/api/person/basicinfo";
+  import {update as drugUpdate,addDrug} from "@/api/person/drug";
+  export default {
+    name: "drug-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formDrug:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formDrug:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionDrug:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "基本表ID",
+              prop: "parentId",
+              hide:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入基本表ID",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "吸毒原因",
+              prop: "reason",
+              type: "select",
+              dataType:'string',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_reason",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入吸毒原因",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "毒品来源",
+              prop: "source",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入毒品来源",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "戒毒情况",
+              prop: "detoxification",
+              hide:true,
+              type: "select",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=detoxification",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入戒毒情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "关注程度",
+              prop: "attention",
+              hide:true,
+              type: "select",
+              dataType: 'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_attention",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入关注程度",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "吸毒状态",
+              prop: "drugStatus",
+              type: "select",
+              datatype:'number',
+              dicData:[
+                {
+                  label:'在吸',
+                  value:0
+                },{
+                  label:'停吸',
+                  value: 1
+                }
+              ],
+              rules: [{
+                required: true,
+                message: "请输入吸毒状态",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "吸毒人员类型",
+              prop: "type",
+              hide:true,
+              type: "select",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_type",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入吸毒人员类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "吸毒后果",
+              prop: "consequence",
+              type: "select",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_consequence",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入吸毒后果",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "滥用毒品种类",
+              prop: "species",
+              type: "select",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_species",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入滥用毒品种类",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "管控情况",
+              prop: "controlSituation",
+              type: "select",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_controlSituation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入管控情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "管控人姓名",
+              prop: "controllerName",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入管控人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "管控人联系方式",
+              prop: "controllerPhone",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入管控人联系方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶情况",
+              prop: "helpSituation",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入帮扶情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶人姓名",
+              prop: "helperName",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入帮夫人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶人联系方式",
+              prop: "helperPhone",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入帮扶人联系方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否服用美沙酮戒毒",
+              prop: "methadone",
+              type: "select",
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否服用美沙酮戒毒",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "查获日期",
+              prop: "date",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入查获日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "初次发现日期",
+              prop: "findDate",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入初次发现日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有犯罪史",
+              prop: "criminalHistory",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入是否有犯罪史",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "犯罪情况",
+              prop: "crime",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入犯罪情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "行动趋向",
+              prop: "action",
+              hide:true,
+              type:'textarea',
+              rules: [{
+                required: false,
+                message: "请输入行动趋向",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生活状况",
+              prop: "living",
+              rules: [{
+                required: false,
+                message: "请输入生活状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "社会关系",
+              prop: "relationship",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入社会关系",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "现实表现",
+              prop: "performance",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入现实表现",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formDrug);
+          ObjectList.push(this.formBasic);
+          addDrug(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改吸毒人员信息
+          drugUpdate(this.formDrug).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 609 - 0
src/components/person-tags/elderlyPeople-form.vue

@@ -0,0 +1,609 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="高龄老人信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionElderlypeople" v-model="formElderlyPeople" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {add,update,getDetail,getList} from "@/api/person/basicinfo";
+  import {update as elderlypeopleUpdate,addElderlypeople} from "@/api/person/elderlypeople";
+  export default {
+    name: "elderlyPeople-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formElderlyPeople:{type:Object},
+      // BasicData:{type:Object},
+      // AllowancespeopleData:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formElderlypeople:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionElderlypeople:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "基本表Id",
+              prop: "parentId",
+              hide: true,
+              display: false,
+              rules: [{
+                required: false,
+                message: "请输入基本表Id",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'姓名',
+              prop:'name',
+              search:true,
+              display:false
+            },
+            {
+              label: "既往病史",
+              prop: "medicalHistory",
+              rules: [{
+                required: false,
+                message: "请输入既往病史",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "有无子女",
+              prop: "children",
+              type: 'select',
+              dataType: 'number',
+              hide: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=children",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "有无子女",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生活爱好",
+              prop: "hobby",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生活爱好",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生活嗜好",
+              prop: "addiction",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生活嗜好",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "行为能力",
+              prop: "ability",
+              type: 'select',
+              dataType: 'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=ability",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "具有的行为能力",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "功能障碍",
+              prop: "dysfunction",
+              type: 'select',
+              multiple: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=dysfunction",
+              dataType:'string',
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "功能障碍 (可多选)",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "血压",
+              prop: "bloodPressure",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入血压",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "血氧",
+              prop: "bloodOxygen",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入血氧",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "血糖",
+              prop: "bloodSugar",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入血糖",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "服务需求",
+              prop: "serviceDemand",
+              type: 'select',
+              multiple:true,
+              dataType:'string',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=service-demand",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "服务需求 (可多选)",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "紧急联系人",
+              prop: "emergencyContactPerson",
+              rules: [{
+                required: true,
+                message: "请输入紧急联系人",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "联系人电话",
+              prop: "emergencyContactPhone",
+              hide: true,
+              rules: [{
+                required: true,
+                message: "请输入紧急联系人电话",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formElderlypeople);
+          ObjectList.push(this.formBasic);
+          addElderlypeople(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改高龄信息
+          elderlypeopleUpdate(this.formElderlypeople).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 637 - 0
src/components/person-tags/establishFilecard-form.vue

@@ -0,0 +1,637 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="建档立卡信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionEstablishFilecard" v-model="formEstablishFilecard" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as establishFilecardUpdate,addEstablishFilecard} from "@/api/person/establishfilecard";
+  export default {
+    name: "establishFilecard-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formEstablishFilecard:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formEstablishFilecard:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionEstablishFilecard:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "基本表Id",
+              prop: "parentId",
+              hide:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入基本表Id",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "测算年度",
+              prop: "calculationYear",
+              rules: [{
+                required: false,
+                message: "请输入测算年度",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "户编号",
+              prop: "familyCode",
+              rules: [{
+                required: false,
+                message: "请输入户编号",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶干部",
+              prop: "helpingCadres",
+              rules: [{
+                required: false,
+                message: "请输入帮扶干部",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶干部单位",
+              prop: "helpingCadreUnits",
+              rules: [{
+                required: false,
+                message: "请输入帮扶干部单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮扶干部电话",
+              prop: "helpingCadresPhone",
+              rules: [{
+                required: false,
+                message: "请输入帮扶干部电话",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "建档立卡人口",
+              prop: "registrationPopulation",
+              rules: [{
+                required: false,
+                message: "请输入建档立卡人口",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "贫困属性",
+              prop: "povertyAttribute",
+              rules: [{
+                required: false,
+                message: "请输入贫困属性",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "识别年月",
+              prop: "identifyMonth",
+              rules: [{
+                required: false,
+                message: "请输入识别年月",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "脱贫年度",
+              prop: "povertyAlleviationYear",
+              rules: [{
+                required: false,
+                message: "请输入脱贫年度",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "家庭劳动力",
+              prop: "familyLaborForce",
+              rules: [{
+                required: false,
+                message: "请输入家庭劳动力",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有养老保险",
+              prop: "isEndowmentInsurance",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入有无养老保险",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有医疗保障",
+              prop: "isMedicalSecurity",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入有无医疗保障",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有在校学生",
+              prop: "isSchoolStudents",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入有无在校学生",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否有教育保障",
+              prop: "isEducationGuarantee",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入有无教育保障",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "收入情况",
+              prop: "income",
+              type: "select",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=income",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入收入情况",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formEstablishFilecard);
+          ObjectList.push(this.formBasic);
+          addEstablishFilecard(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改建档立卡信息
+          establishFilecardUpdate(this.formEstablishFilecard).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 607 - 0
src/components/person-tags/fertileWoman-form.vue

@@ -0,0 +1,607 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="育龄妇女信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionFertileWomen" v-model="formFertileWomen" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as fertileWomanUpdate,addFertileWoman} from "@/api/person/fertilewoman";
+  export default {
+    name: "fertileWoman-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formFertileWomen:{type:Object},
+      // BasicData:{type:Object},
+      // AllowancespeopleData:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formFertileWomen:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionFertileWomen:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚次",
+              prop: "marriageTimes",
+              rules: [{
+                required: false,
+                message: "请输入婚次",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "胎次",
+              prop: "parity",
+              rules: [{
+                required: false,
+                message: "请输入胎次",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政策属性",
+              prop: "policyAttribute",
+              rules: [{
+                required: false,
+                message: "请输入政策属性",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "服务证/再生育证编号",
+              prop: "reproductionCertificateCode",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入服务证/再生育证编号",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "妊娠起始日期",
+              prop: "pregnancyStartdate",
+              type: 'date',
+              valueFormat:'yyyy-MM-dd',
+              rules: [{
+                required: false,
+                message: "请输入妊娠起始日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "妊娠结束日期",
+              prop: "pregnancyEnddate",
+              valueFormat:'yyyy-MM-dd',
+              type: 'date',
+              rules: [{
+                required: false,
+                message: "请输入妊娠结束日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "妊娠结果",
+              prop: "pregnancyOutcome",
+              rules: [{
+                required: false,
+                message: "请输入妊娠结果",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "妊娠结束地点",
+              prop: "pregnancyEndplace",
+              rules: [{
+                required: false,
+                message: "请输入妊娠结束地点",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "避孕状况",
+              prop: "contraceptiveStatus",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入避孕状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "避孕开始时间",
+              prop: "contraceptiveStarttime",
+              type: 'datetime',
+              valueFormat: 'yyyy-MM-dd HH:mm:ss',
+              rules: [{
+                required: false,
+                message: "请输入避孕开始时间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "避孕实施机构",
+              prop: "contraceptiveAgency",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入避孕实施机构",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "避孕效果",
+              prop: "contraceptiveEffect",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入避孕效果",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "结束日期",
+              prop: "endDate",
+              type: 'datetime',
+              valueFormat: 'yyyy-MM-dd HH:mm:ss',
+              rules: [{
+                required: false,
+                message: "请输入结束日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "终止避孕机构",
+              prop: "endContraceptiveInstitutions",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入终止避孕机构",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "终止原因",
+              prop: "reasonsForTermination",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入终止原因",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formFertileWomen);
+          ObjectList.push(this.formBasic);
+          addFertileWoman(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改低保信息
+          fertileWomanUpdate(this.formFertileWomen).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 699 - 0
src/components/person-tags/prisoner-form.vue

@@ -0,0 +1,699 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="刑释人员信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionPrisoner" v-model="formPrisoner" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as prisonerUpdate,addPrisoner} from "@/api/person/prisoner";
+  export default {
+    name: "prisoner-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formPrisoner:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formPrisoner:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionPrisoner:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "姓名",
+              prop: "name",
+              search: 'true',
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否累犯",
+              prop: "recidivism",
+              type: 'select',
+              hide: true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择是否累犯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "释放日期",
+              prop: "releaseDate",
+              type: 'date',
+              valueFormat: "yyyy-MM-dd",
+              rules: [{
+                required: false,
+                message: "请输入释放日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原罪名",
+              prop: "crime",
+              type: 'select',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=frist_crime_name",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择原罪名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原判刑期",
+              prop: "prisonDate",
+              type: 'date',
+              valueFormat:'yyyy-MM-dd',
+              rules: [{
+                required: false,
+                message: "请选择原判刑期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "服刑场所名称",
+              prop: "prisonName",
+              rules: [{
+                required: false,
+                message: "请输入服刑场所名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "危险性评估类型",
+              prop: "dangerType",
+              type:'select',
+              dataType:'number',
+              dicData:[
+                {
+                  label:'一般',
+                  value:'一般'
+                },{
+                  label:'重点',
+                  value:'重点'
+                }
+              ],
+              rules: [{
+                required: true,
+                message: "请选择危险性评估类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "衔接日期",
+              prop: "linkUpDate",
+              type: 'date',
+              valueFormat:'yyyy-MM-dd',
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入衔接日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "衔接情况",
+              prop: "linkUpSituation",
+              type: 'select',
+              hide: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=link_up_situation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择衔接情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "安置日期",
+              prop: "arrangeDate",
+              type: 'date',
+              valueFormat:'yyyy-MM-dd',
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入安置日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "安置情况",
+              prop: "arrangeSituation",
+              type: 'select',
+              hide: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=arrange_situation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择安置情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "未安置原因",
+              prop: "noArrange",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入未安置原因",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "帮教情况",
+              prop: "teachSituation",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入帮教情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否重新犯罪",
+              prop: "crimeAgain",
+              hide: true,
+              type: 'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择是否重新犯罪",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "重新犯罪罪名",
+              prop: "crimeAgainName",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入重新犯罪罪名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "重犯日期",
+              prop: "crimeAgainDate",
+              hide: true,
+              type: 'date',
+              valueFormat:'yyyy-MM-dd',
+              rules: [{
+                required: false,
+                message: "请输入重犯日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "人员类型",
+              prop: "type",
+              type: 'select',
+              dicData:[
+                {
+                  label: '解教人员',
+                  value: '解教人员'
+                },{
+                  label: '刑释人员',
+                  value: '刑释人员'
+                }
+              ],
+              rules: [{
+                required: false,
+                message: "请选择人员类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否重点管控",
+              prop: "emphasisControl",
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择是否重点管控",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "原职业",
+              prop: "profession",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入原职业",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formPrisoner);
+          ObjectList.push(this.formBasic);
+          addPrisoner(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改刑释人员信息
+          prisonerUpdate(this.formPrisoner).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 656 - 0
src/components/person-tags/psychiatric-form.vue

@@ -0,0 +1,656 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="精神病人信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionPsychiatric" v-model="formPsychiatric" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as psychiatricUpdate,addPsychiatric} from "@/api/person/psychiatric";
+  export default {
+    name: "psychiatric-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formPsychiatric:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formPsychiatric:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionPsychiatric:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "姓名",
+              prop: "name",
+              search: 'true',
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "家庭经济状况",
+              type: 'select',
+              prop: "economicStatus",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=economic_status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请输入家庭经济状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否纳入低保",
+              prop: "subAllowance",
+              type: 'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择是否纳入低保",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人身份证",
+              prop: "guardianIdCard",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入监护人身份证",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人姓名",
+              prop: "guardianName",
+              rules: [{
+                required: false,
+                message: "请输入监护人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "监护人联系方式",
+              prop: "guardianPhone",
+              rules: [{
+                required: false,
+                message: "请输入监护人联系方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "初次发病日期",
+              prop: "pathogenesisDate",
+              type: 'date',
+              valueFormat:'yyyy-MM-dd',
+              rules: [{
+                required: false,
+                message: "请输入初次发病日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "诊断类型",
+              prop: "type",
+              type: 'select',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=psychiatric_type",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择诊断类型",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "有无肇事肇祸史",
+              prop: "accidentHistory",
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请选择有无肇事肇祸史",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "肇事肇祸次数",
+              prop: "accidentCount",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入肇事肇祸次数",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "上次肇事肇祸日期",
+              prop: "accidentDate",
+              type: 'date',
+              valueFormat: 'yyyy-MM-dd',
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入上次肇事肇祸日期",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "危险性评估等级",
+              prop: "level",
+              type: 'select',
+              hide: true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=psychiatric_danger_level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择危险性评估等级",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "治疗情况",
+              prop: "treatSituation",
+              type: 'select',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=treat_situation",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请选择治疗情况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "治疗医院名称",
+              prop: "hospitalName",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入治疗医院名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "康复训练机构名称",
+              prop: "organizationName",
+              rules: [{
+                required: false,
+                message: "请输入康复训练机构名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "患病名称",
+              prop: "disease",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入患病名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "精神病人类型",
+              prop: "personType",
+              type: 'select',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=psychiatric_person_type",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择精神病人类型",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formPsychiatric);
+          ObjectList.push(this.formBasic);
+          addPsychiatric(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改精神病人信息
+          psychiatricUpdate(this.formPsychiatric).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 595 - 0
src/components/person-tags/veterans-form.vue

@@ -0,0 +1,595 @@
+<template>
+  <basic-container>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="基础信息" name="first"></el-tab-pane>
+      <el-tab-pane label="退伍军人信息" name="second"></el-tab-pane>
+    </el-tabs>
+    <avue-form v-show="activeName=='first'" :option="optionBasic" v-model="formBasic"></avue-form>
+    <avue-form v-show="activeName=='second'" :option="optionVeterans" v-model="formVeterans" @submit="addEntity"></avue-form>
+  </basic-container>
+</template>
+
+<script>
+  import {DIC} from "@/api/util/nation"
+  import {update} from "@/api/person/basicinfo";
+  import {update as veteransUpdate,addVeterans} from "@/api/person/veterans";
+  export default {
+    name: "veterans-form",
+    props:{
+      closeFn:{type:Function},
+      tag:{type:Number},
+      formBasic:{type:Object},
+      formVeterans:{type:Object},
+    },
+    data(){
+      return{
+        activeName:'first',
+        formBasic:{},
+        formVeterans:{},
+        loading:false,
+        query: {},
+        optionBasic:{
+          tip: false,
+          submitBtn:false,
+          emptyBtn:false,
+          column:[
+            {
+              label: "身份证号",
+              prop: "idCard",
+              search:true,
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入身份证号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "性别",
+              prop: "sex",
+              type: 'select',
+              dataType:"number",
+              search:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择性别",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属社区",
+              prop: "agencyId",
+              search: true,
+              cascaderItem: ['residentialId'],
+              type: "select",
+              // remote: true,
+              dicUrl: "/api/cyzh-community/agency/list?size=9999",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属社区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属小区",
+              prop: "residentialId",
+              type: "select",
+              search: true,
+              cascaderItem: ['buildingId'],
+              dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择所属小区",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼栋",
+              prop: "buildingId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['unitId'],
+              dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: true,
+              // filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼栋",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属单元",
+              prop: "unitId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['floorId'],
+              dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择单元",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属楼层",
+              prop: "floorId",
+              type: "select",
+              // slot:true,
+              search: true,
+              cascaderItem: ['roomId'],
+              dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择楼层d",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "所属房间",
+              prop: "roomId",
+              type: "select",
+              // slot:true,
+              search: true,
+              dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+              dicFormatter:(res)=>{
+                return res.data.records;//返回字典的层级结构
+              },
+              // dicFlag: false,
+              filterable: true,
+              props: {
+                label: "name",
+                value: "id"
+              },
+              rules: [{
+                required: true,
+                message: "请选择房间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:'手机号码',
+              prop:'phone',
+              width:120,
+              rules: [{
+                required: true,
+                message: "请输入手机号码",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "邮箱",
+              prop: "email",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入邮箱",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "生日",
+              prop: "birthday",
+              type:'date',
+              valueFormat:"yyyy-MM-dd",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入生日",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "民族",
+              prop: "nation",
+              type:'select',
+              dicData:DIC.VALUE,
+              filterable:true,
+              // searchFilterable:true,
+              hide:true,
+              rules: [{
+                required: true,
+                message: "请输入民族",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "籍贯",
+              prop: "nativePlace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入籍贯",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "国籍",
+              prop: "nationality",
+              hide:true,
+              type:'select',
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请输入国籍",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "政治面貌",
+              prop: "political",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择政治面貌",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "婚姻状况",
+              prop: "maritalStatus",
+              type: 'select',
+              dataType:"number",
+              hide:true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择婚姻状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "教育水平",
+              prop: "educationalLevel",
+              hide:true,
+              type: 'select',
+              dataType:"number",
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: false,
+                message: "请选择教育水平",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "工作单位",
+              prop: "workplace",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入工作单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label:"是否会员",
+              prop:'isMember',
+              type:"select",
+              hide:true,
+              dataType:'number',
+              dicData:[
+                {
+                  label:'是',
+                  value:1
+                },{
+                  label:'否',
+                  value:0
+                },{
+                  label:'暂无',
+                  value:-1
+                }
+              ],
+            },
+            {
+              label: "照片",
+              prop: "imageUri",
+              type: 'upload',
+              hide:true,
+              listType: 'picture-img',
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请上传入境证明url",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "备注",
+              prop: "remark",
+              type:'textarea',
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入备注",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+        optionVeterans:{
+          emptyBtn:false,
+          submitText:"提交",
+          column: [
+            {
+              label: "姓名",
+              prop: "name",
+              search:true,
+              display:false,
+              rules: [{
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "是否独生子女",
+              prop: "onlyChild",
+              type: 'select',
+              hide:true,
+              dataType:'number',
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              rules: [{
+                required: true,
+                message: "请选择是否独生子女",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "身体状况",
+              prop: "physicalCondition",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入身体状况",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "可编方向",
+              prop: "programmableDirection",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入可编方向",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "服役地点",
+              prop: "servicePlace",
+              hide: true,
+              rules: [{
+                required: true,
+                message: "请输入服役地点",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "入伍时间",
+              prop: "enlistmentTime",
+              type: 'datetime',
+              hide:true,
+              valueFormat: 'yyyy-MM-dd HH:mm:ss',
+              rules: [{
+                required: true,
+                message: "请输入入伍时间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "退伍时间",
+              prop: "dischargeTime",
+              type: 'datetime',
+              valueFormat: 'yyyy-MM-dd HH:mm:ss',
+              rules: [{
+                required: true,
+                message: "请输入退伍时间",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "服役军种",
+              prop: "services",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入服役军种",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "转业退伍时职务",
+              prop: "postOfDischarge",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入转业退伍时职务",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "退役证件名称",
+              prop: "retirementCertificate",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入退役证件名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "退役证件编号",
+              prop: "retirementCertificateCode",
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请输入退役证件编号",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "优抚证书",
+              prop: "specialCareCertificate",
+              type: "upload",
+              hide: true,
+              row: true,
+              listType: 'picture-img',
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              propsHttp: {
+                res: "data",
+                url: "link"
+              },
+              tip: '只能生产jpg/png图片,且不超过500kb',
+              rules: [{
+                required: false,
+                message: "请输入优抚证书",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "奖励或处分",
+              prop: "rewardAndPunishment",
+              hide:true,
+              rules: [{
+                required: false,
+                message: "请输入在部队由何原因受过何种奖励、处分",
+                trigger: "blur"
+              }]
+            },
+          ]
+        },
+      }
+    },
+    methods:{
+      addEntity(){
+        //新增
+        if (this.tag==1){
+          var ObjectList = new Array();
+          ObjectList.push(this.formVeterans);
+          ObjectList.push(this.formBasic);
+          addVeterans(ObjectList).then(()=>{
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            // loading();
+            window.console.log(error);
+          });
+        }else {
+          //修改基本信息
+          update(this.formBasic).then(() => {}, error => {
+            window.console.log(error);
+          });
+          //修改退伍军人信息
+          veteransUpdate(this.formVeterans).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit('refreshChange');
+            this.closeFn();
+          }, error => {
+            window.console.log(error);
+          });
+        }
+      },
+      handleClick(tab, event){
+        console.log(tab,event)
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 0 - 1
src/views/grid/dataPage.vue

@@ -17,7 +17,6 @@
       </div>
     </div>
   </div>
-  </div>
 
 </template>
 

+ 1 - 1
src/views/grid/scenes/personScreen.vue

@@ -23,7 +23,7 @@
 
     <!-- 底部视图 -->
     <div class="bottom-view">
-      <dv-border-box-12 class="animate__animated animate__backInLeft animate__faster" style="height: 100%"
+      <dv-border-box-12 class="animate__animated animate__backInUp animate__faster" style="height: 100%"
         :color="color" :backgroundColor="backgroundColor">
         <dv-border-box-1>
           <div style="padding: 10px;width: 100%;height: 100%;padding-top: 20px;">

+ 663 - 2
src/views/person/adolescent.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.adolescent_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <AdolescentForm :tag=tag :formAdolescent="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></AdolescentForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <AdolescentForm :tag=tag :formAdolescent="formAdolescent" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></AdolescentForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/adolescent";
+  import {getList, getDetail, add, update, remove,generatedetail} from "@/api/person/adolescent";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import AdolescentForm from '@/components/person-tags/adolescent-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{AdolescentForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formAdolescent:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -55,8 +89,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
           addBtn:false,
+          editBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -183,6 +218,7 @@
               label: "是否违法犯罪",
               prop: "crime",
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -242,6 +278,603 @@
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon: 'el-icon-info',
+              label: '基础信息',
+              prop: 'group1',
+              column: [
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'重点青少年信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "基本表id",
+                  prop: "parentId",
+                  hide:true,
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入基本表id",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "人员类型",
+                  prop: "type",
+                  type: "select",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=adolescent_type",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入人员类型",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人姓名",
+                  prop: "guardianName",
+                  rules: [{
+                    required: false,
+                    message: "请输入监护人姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人身份证号码",
+                  prop: "guardianIdCard",
+                  rules: [{
+                    required: false,
+                    message: "请输入监护人身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人详细地址",
+                  prop: "guardianAddress",
+                  rules: [{
+                    required: false,
+                    message: "请输入监护人详细地址",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人联系方式",
+                  prop: "guardianPhone",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入监护人联系方式",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶人姓名",
+                  prop: "helperName",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶人姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶人联系方式",
+                  prop: "helperPhone",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶人联系方式",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "家庭情况",
+                  prop: "situation",
+                  hide:true,
+                  type: "select",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=family_situation",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入家庭情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "与监护人关系",
+                  prop: "relation",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入与监护人关系",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否违法犯罪",
+                  prop: "crime",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入是否违法犯罪",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "违法犯罪情况",
+                  prop: "crimeDetail",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入违法犯罪情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶手段",
+                  prop: "helpWay",
+                  type: "select",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=helpWay",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入帮扶手段",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶情况",
+                  prop: "helpSituation",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            }
+          ]
+        },
         data: []
       };
     },
@@ -264,6 +897,16 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      edit(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);
@@ -307,6 +950,24 @@
             });
           });
       },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formAdolescent = res.data.data;
+          console.log(this.formAdolescent,'this.formAdolescent');
+          getbasicDetail(this.formAdolescent.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");

+ 585 - 7
src/views/person/aids.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.aids_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <AidsForm :tag=tag :formAids="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></AidsForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <AidsForm :tag=tag :formAids="formAids" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></AidsForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/aids";
+  import {getList, getDetail, add, update, remove, generatedetail} from "@/api/person/aids";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import AidsForm from '@/components/person-tags/aids-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{AidsForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formAids:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -56,7 +90,8 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
           addBtn:false,
           selection: true,
           dialogClickModal: false,
@@ -92,7 +127,7 @@
               prop: "crimeSituation",
               hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入违法犯罪情况;",
                 trigger: "blur"
               }]
@@ -116,7 +151,7 @@
               label: "收治机构",
               prop: "treatPlace",
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入收治机构",
                 trigger: "blur"
               }]
@@ -140,7 +175,7 @@
               label: "帮扶情况",
               prop: "helpSituation",
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入帮扶情况",
                 trigger: "blur"
               }]
@@ -149,7 +184,7 @@
               label: "帮扶人姓名",
               prop: "helperName",
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入帮扶人姓名",
                 trigger: "blur"
               }]
@@ -159,13 +194,533 @@
               prop: "helperPhone",
               hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入帮扶人联系方式",
                 trigger: "blur"
               }]
             },
           ]
         },
+        //详情option
+        optiondetail: {
+          submitBtn: false,
+          emptyBtn: false,
+          disabled: true,
+          tabs: true,
+          group: [
+            {
+              icon: 'el-icon-info',
+              label: '基础信息',
+              prop: 'group1',
+              column: [
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search: true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType: "number",
+                  search: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide: true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter: (res) => {
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter: (res) => {
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: '手机号码',
+                  prop: 'phone',
+                  width: 120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type: 'date',
+                  valueFormat: "yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type: 'select',
+                  dicData: DIC.VALUE,
+                  filterable: true,
+                  // searchFilterable:true,
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide: true,
+                  type: 'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide: true,
+                  type: 'select',
+                  dataType: "number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType: "number",
+                  hide: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide: true,
+                  type: 'select',
+                  dataType: "number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否会员",
+                  prop: 'isMember',
+                  type: "select",
+                  hide: true,
+                  dataType: 'number',
+                  dicData: [
+                    {
+                      label: '是',
+                      value: 1
+                    }, {
+                      label: '否',
+                      value: 0
+                    }, {
+                      label: '暂无',
+                      value: -1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type: 'checkbox',
+                  search: true,
+                  multiple: true,
+                  span: 24,
+                  dataType: 'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            }, {
+              icon: 'el-icon-s-custom',
+              label: '艾滋病人信息',
+              prop: 'group2',
+              column: [
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search: 'true',
+                  display: false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否有犯罪史",
+                  prop: "crimeHistory",
+                  type: 'select',
+                  hide: true,
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择是否有犯罪史",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "违法犯罪情况",
+                  prop: "crimeSituation",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入违法犯罪情况;",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "感染途径",
+                  prop: "infectionWay",
+                  type: 'select',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=aids_infection_way",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择感染途径",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "收治机构",
+                  prop: "treatPlace",
+                  rules: [{
+                    required: true,
+                    message: "请输入收治机构",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "收治情况",
+                  prop: "treatSituation",
+                  type: 'select',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=aids_treat_situation",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择收治情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶情况",
+                  prop: "helpSituation",
+                  rules: [{
+                    required: true,
+                    message: "请输入帮扶情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶人姓名",
+                  prop: "helperName",
+                  rules: [{
+                    required: true,
+                    message: "请输入帮扶人姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶人联系方式",
+                  prop: "helperPhone",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入帮扶人联系方式",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            }
+          ]
+        },
         data: []
       };
     },
@@ -188,6 +743,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formAids = res.data.data;
+          console.log(this.formAids,'this.formAdolescent');
+          getbasicDetail(this.formAids.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 598 - 15
src/views/person/allowancespeople.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.allowancespeople_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+              title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <AllowancespeopleForm :tag=tag :formAllowance="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></AllowancespeopleForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <AllowancespeopleForm :tag=tag :formAllowance="formAllowance" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></AllowancespeopleForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/allowancespeople";
+  import {getList, getDetail, add, update, remove,generatedetail} from "@/api/person/allowancespeople";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import AllowancespeopleForm from '@/components/person-tags/allowancespeople-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{AllowancespeopleForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formAllowance:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -55,8 +89,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
           addBtn:false,
+          editBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -64,6 +99,7 @@
               label: "基本表Id",
               prop: "parentId",
               hide:true,
+              display:false,
               rules: [{
                 required: false,
                 message: "请输入基本表Id",
@@ -128,7 +164,8 @@
             {
               label: "发证时间",
               prop: "issuingTime",
-              dataType:'datetime',
+              type: 'datetime',
+              valueFormat:'yyyy-MM-dd HH:mm:ss',
               rules: [{
                 required: false,
                 message: "请输入发证时间",
@@ -165,23 +202,541 @@
             {
               label: "备注",
               prop: "remark",
-              rules: [{
-                required: true,
-                message: "请输入备注",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "机构路径",
-              prop: "orgPosition",
-              hide: true,
               rules: [{
                 required: false,
-                message: "请输入机构路径",
+                message: "请输入备注",
                 trigger: "blur"
               }]
             },
-          ]
+          ],
+        },
+        //详情option
+        optiondetail:{
+        submitBtn:false,
+        emptyBtn:false,
+        disabled: true,
+        tabs:true,
+        group:[
+          {
+            icon:'el-icon-info',
+            label:'基础信息',
+            prop:'group1',
+            column:[
+              {
+                label: "身份证号",
+                prop: "idCard",
+                search:true,
+                hide: true,
+                rules: [{
+                  required: false,
+                  message: "请输入身份证号码",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "姓名",
+                prop: "name",
+                search:true,
+                rules: [{
+                  required: true,
+                  message: "请输入姓名",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "性别",
+                prop: "sex",
+                type: 'select',
+                dataType:"number",
+                search:true,
+                dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                props: {
+                  label: "dictValue",
+                  value: "dictKey"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择性别",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "照片",
+                prop: "imageUri",
+                type: 'upload',
+                hide:true,
+                listType: 'picture-img',
+                propsHttp: {
+                  res: "data",
+                  url: "link"
+                },
+                action: "/api/blade-resource/oss/endpoint/put-file",
+                tip: '只能生产jpg/png图片,且不超过500kb',
+                rules: [{
+                  required: false,
+                  message: "请上传入境证明url",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "所属社区",
+                prop: "agencyId",
+                search: true,
+                cascaderItem: ['residentialId'],
+                type: "select",
+                // remote: true,
+                dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                dicFormatter:(res)=>{
+                  return res.data.records;//返回字典的层级结构
+                },
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择所属社区",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "所属小区",
+                prop: "residentialId",
+                type: "select",
+                search: true,
+                cascaderItem: ['buildingId'],
+                dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                dicFormatter:(res)=>{
+                  return res.data.records;//返回字典的层级结构
+                },
+                // dicFlag: false,
+                filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择所属小区",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "所属楼栋",
+                prop: "buildingId",
+                type: "select",
+                // slot:true,
+                search: true,
+                cascaderItem: ['unitId'],
+                dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                dicFormatter:(res)=>{
+                  return res.data.records;//返回字典的层级结构
+                },
+                // dicFlag: true,
+                // filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择楼栋",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "所属单元",
+                prop: "unitId",
+                type: "select",
+                // slot:true,
+                search: true,
+                cascaderItem: ['floorId'],
+                dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                dicFormatter:(res)=>{
+                  return res.data.records;//返回字典的层级结构
+                },
+                // dicFlag: false,
+                filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择单元",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "所属楼层",
+                prop: "floorId",
+                type: "select",
+                // slot:true,
+                search: true,
+                cascaderItem: ['roomId'],
+                dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                dicFormatter:(res)=>{
+                  return res.data.records;//返回字典的层级结构
+                },
+                // dicFlag: false,
+                filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择楼层d",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "所属房间",
+                prop: "roomId",
+                type: "select",
+                // slot:true,
+                search: true,
+                dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                dicFormatter:(res)=>{
+                  return res.data.records;//返回字典的层级结构
+                },
+                // dicFlag: false,
+                filterable: true,
+                props: {
+                  label: "name",
+                  value: "id"
+                },
+                rules: [{
+                  required: true,
+                  message: "请选择房间",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label:'手机号码',
+                prop:'phone',
+                width:120,
+                rules: [{
+                  required: true,
+                  message: "请输入手机号码",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "生日",
+                prop: "birthday",
+                type:'date',
+                valueFormat:"yyyy-MM-dd",
+                hide: true,
+                rules: [{
+                  required: false,
+                  message: "请输入生日",
+                  trigger: "blur"
+                }]
+              },
+              // {
+              //   label: "民族",
+              //   prop: "nation",
+              //   hide:true,
+              //   rules: [{
+              //     required: true,
+              //     message: "请输入民族",
+              //     trigger: "blur"
+              //   }]
+              // },
+              {
+                label: "民族",
+                prop: "nation",
+                type:'select',
+                dicData:DIC.VALUE,
+                filterable:true,
+                // searchFilterable:true,
+                hide:true,
+                rules: [{
+                  required: true,
+                  message: "请输入民族",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "籍贯",
+                prop: "nativePlace",
+                hide:true,
+                rules: [{
+                  required: false,
+                  message: "请输入籍贯",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "国籍",
+                prop: "nationality",
+                hide:true,
+                type:'select',
+                dataType:'number',
+                dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                props: {
+                  label: "dictValue",
+                  value: "dictKey"
+                },
+                rules: [{
+                  required: false,
+                  message: "请输入国籍",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "政治面貌",
+                prop: "political",
+                hide:true,
+                type: 'select',
+                dataType:"number",
+                dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                props: {
+                  label: "dictValue",
+                  value: "dictKey"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择政治面貌",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "婚姻状况",
+                prop: "maritalStatus",
+                type: 'select',
+                dataType:"number",
+                hide:true,
+                dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                props: {
+                  label: "dictValue",
+                  value: "dictKey"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择婚姻状况",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "教育水平",
+                prop: "educationalLevel",
+                hide:true,
+                type: 'select',
+                dataType:"number",
+                dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                props: {
+                  label: "dictValue",
+                  value: "dictKey"
+                },
+                rules: [{
+                  required: false,
+                  message: "请选择教育水平",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "工作单位",
+                prop: "workplace",
+                hide:true,
+                rules: [{
+                  required: false,
+                  message: "请输入工作单位",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "小程序openId",
+                prop: "openId",
+                hide: true,
+                display: false,
+                rules: [{
+                  required: false,
+                  message: "请输入小程序openId",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "邮箱",
+                prop: "email",
+                hide:true,
+                rules: [{
+                  required: false,
+                  message: "请输入邮箱",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label:"是否会员",
+                prop:'isMember',
+                type:"select",
+                hide:true,
+                dataType:'number',
+                dicData:[
+                  {
+                    label:'是',
+                    value:1
+                  },{
+                    label:'否',
+                    value:0
+                  },{
+                    label:'暂无',
+                    value:-1
+                  }
+                ],
+              },
+              {
+                label: "人员标签",
+                prop: "tags",
+                type:'checkbox',
+                search:true,
+                multiple:true,
+                span: 24,
+                dataType:'string',
+                dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                props: {
+                  label: "dictValue",
+                  value: "dictKey"
+                },
+                rules: [{
+                  required: true,
+                  message: "请输入标签",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "备注",
+                prop: "remark",
+                hide:true,
+                rules: [{
+                  required: false,
+                  message: "请输入备注",
+                  trigger: "blur"
+                }]
+              },
+            ]
+          },{
+            icon:'el-icon-s-custom',
+            label:'低保人员信息',
+            prop:'group2',
+            column: [
+              {
+                label: "基本表Id",
+                prop: "parentId",
+                hide:true,
+                display:false,
+                rules: [{
+                  required: false,
+                  message: "请输入基本表Id",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "家庭人口",
+                prop: "familyPopulation",
+                rules: [{
+                  required: false,
+                  message: "请输入家庭人口",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "保障人口",
+                prop: "guaranteePopulation",
+                rules: [{
+                  required: false,
+                  message: "请输入保障人口",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "低保证号",
+                prop: "lowGuaranteeCode",
+                rules: [{
+                  required: false,
+                  message: "请输入低保证号",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "自理能力",
+                prop: "selfCareAbility",
+                rules: [{
+                  required: false,
+                  message: "请输入自理能力",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "补贴金额",
+                prop: "subsidyAmount",
+                rules: [{
+                  required: false,
+                  message: "请输入补贴金额",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "发证时间",
+                prop: "issuingTime",
+                type:'date',
+                valueFormat:'yyyy-MM-dd',
+                rules: [{
+                  required: false,
+                  message: "请输入发证时间",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "紧急联系人",
+                prop: "emergencyContact",
+                rules: [{
+                  required: false,
+                  message: "请输入紧急联系人",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "紧急联系人电话",
+                prop: "emergencyContactNumber",
+                rules: [{
+                  required: false,
+                  message: "请输入紧急联系人电话",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "残疾",
+                prop: "disability",
+                rules: [{
+                  required: false,
+                  message: "请输入残疾",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "备注",
+                prop: "remark",
+                rules: [{
+                  required: true,
+                  message: "请输入备注",
+                  trigger: "blur"
+                }]
+              },
+              {
+                label: "机构路径",
+                prop: "orgPosition",
+                hide: true,
+                display:false,
+                rules: [{
+                  required: false,
+                  message: "请输入机构路径",
+                  trigger: "blur"
+                }]
+              },
+            ]}
+          ],
         },
         data: []
       };
@@ -205,6 +760,16 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      edit(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);
@@ -248,6 +813,24 @@
             });
           });
       },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formAllowance = res.data.data;
+          console.log(this.formAllowance,'this.formAllowance');
+          getbasicDetail(this.formAllowance.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");

Разница между файлами не показана из-за своего большого размера
+ 905 - 3
src/views/person/correctionalstaff.vue


+ 661 - 131
src/views/person/disabler.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.disabler_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <DisablerForm :tag=tag :formDisabler="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></DisablerForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <DisablerForm :tag=tag :formDisabler="formDisabler" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></DisablerForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/disabler";
+  import {getList, getDetail, add, update, remove,generatedetail} from "@/api/person/disabler";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import DisablerForm from '@/components/person-tags/disabler-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{DisablerForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formDisabler:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -56,8 +90,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
           addBtn: false,
+          editBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -248,137 +283,609 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "所属社区",
-            //   prop: "agencyId",
-            //   search: true,
-            //   cascaderItem: ['residentialId'],
-            //   type: "select",
-            //   remote: true,
-            //   dicUrl: "/api/cyzh-community/agency/list",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请选择所属社区",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属小区",
-            //   prop: "residentialId",
-            //   type: "select",
-            //   search: true,
-            //   cascaderItem: ['buildingId'],
-            //   dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请选择所属小区",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属楼栋",
-            //   prop: "buildingId",
-            //   type: "select",
-            //   cascaderItem: ['unitId'],
-            //   dicUrl: `/api/cyzh-community/building/list?residentialId={{key}}`,
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入楼栋Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属单元",
-            //   prop: "unitId",
-            //   type: "select",
-            //   hide: true,
-            //   cascaderItem: ['floorId'],
-            //   dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入单元Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属楼层",
-            //   prop: "floorId",
-            //   type: "select",
-            //   hide: true,
-            //   cascaderItem: ['roomId'],
-            //   dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入楼层Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属房间",
-            //   prop: "roomId",
-            //   type: "select",
-            //   hide: true,
-            //   dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入房间Id",
-            //     trigger: "blur"
-            //   }]
-            // },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'残障人士信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "基本信息表id",
+                  prop: "parentId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: true,
+                    message: "请输入基本信息表id",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'姓名',
+                  prop:'name',
+                  search:true,
+                  display:false
+                },
+                {
+                  label: "居住情况",
+                  prop: "livingConditions",
+                  type: 'select',
+                  multiple: true,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=living-conditions",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择居住情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人",
+                  prop: "guardian",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入监护人",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人电话",
+                  prop: "guardianPhone",
+                  rules: [{
+                    required: true,
+                    message: "请输入监护人电话",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "收入来源",
+                  prop: "incomeSource",
+                  type: 'select',
+                  multiple: true,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=income-source",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择收入来源",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "医疗保障",
+                  prop: "healthCare",
+                  type: 'select',
+                  multiple: true,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=health-care",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择医疗保障",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "康复需求",
+                  prop: "convalescence",
+                  rules: [{
+                    required: false,
+                    message: "请输入康复需求",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "辅助器具",
+                  prop: "assistiveDevices",
+                  rules: [{
+                    required: false,
+                    message: "请输入辅助器具",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生活爱好",
+                  prop: "hobby",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生活爱好",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生活嗜好",
+                  prop: "addiction",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生活嗜好",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "行为能力",
+                  prop: "ability",
+                  type: 'select',
+                  dataType: 'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=ability",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择行为能力",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "社交能力",
+                  prop: "socialSkills",
+                  type: 'select',
+                  dataType: 'number',
+                  hide: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=social-skills",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择社交能力",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "就业意向",
+                  prop: "employmentNeeds",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入就业意向",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "探访计划",
+                  prop: "visitPlan",
+                  rules: [{
+                    required: false,
+                    message: "请输入探访计划",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -401,6 +908,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formDisabler = res.data.data;
+          console.log(this.formDisabler,'this.formDisabler');
+          getbasicDetail(this.formDisabler.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 802 - 7
src/views/person/drug.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.drug_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <DrugForm :tag=tag :formDrug="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></DrugForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <DrugForm :tag=tag :formDrug="formDrug" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></DrugForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/drug";
+  import {getList, getDetail, add, update, remove, generatedetail} from "@/api/person/drug";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import DrugForm from '@/components/person-tags/drug-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{DrugForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formDrug:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -55,7 +89,8 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
           addBtn:false,
           selection: true,
           dialogClickModal: false,
@@ -130,11 +165,21 @@
               label: "吸毒状态",
               prop: "drugStatus",
               type: "select",
-              dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
+              dataType:'number',
+              // dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+              dicData:[
+                {
+                  label:'在吸',
+                  value:0
+                },{
+                  label:'停吸',
+                  value: 1
+                }
+              ],
+              // props: {
+              //   label: "dictValue",
+              //   value: "dictKey"
+              // },
               rules: [{
                 required: true,
                 message: "请输入吸毒状态",
@@ -292,6 +337,7 @@
               label: "是否有犯罪史",
               prop: "criminalHistory",
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -356,6 +402,732 @@
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'吸毒人员信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "基本表ID",
+                  prop: "parentId",
+                  hide:true,
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入基本表ID",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "吸毒原因",
+                  prop: "reason",
+                  type: "select",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_reason",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入吸毒原因",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "毒品来源",
+                  prop: "source",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入毒品来源",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "戒毒情况",
+                  prop: "detoxification",
+                  hide:true,
+                  type: "select",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=detoxification",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入戒毒情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "关注程度",
+                  prop: "attention",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入关注程度",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "吸毒状态",
+                  prop: "drugStatus",
+                  type: "select",
+                  dataType:'number',
+                  // dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  dicData:[
+                    {
+                      label:'在吸',
+                      value:0
+                    },{
+                      label:'停吸',
+                      value: 1
+                    }
+                  ],
+                  // props: {
+                  //   label: "dictValue",
+                  //   value: "dictKey"
+                  // },
+                  rules: [{
+                    required: true,
+                    message: "请输入吸毒状态",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "吸毒人员类型",
+                  prop: "type",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入吸毒人员类型",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "吸毒后果",
+                  prop: "consequence",
+                  type: "select",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_consequence",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入吸毒后果",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "滥用毒品种类",
+                  prop: "species",
+                  type: "select",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_species",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入滥用毒品种类",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "管控情况",
+                  prop: "controlSituation",
+                  type: "select",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=drug_controlSituation",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入管控情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "管控人姓名",
+                  prop: "controllerName",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入管控人姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "管控人联系方式",
+                  prop: "controllerPhone",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入管控人联系方式",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶情况",
+                  prop: "helpSituation",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶人姓名",
+                  prop: "helperName",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入帮夫人姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶人联系方式",
+                  prop: "helperPhone",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶人联系方式",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否服用美沙酮戒毒",
+                  prop: "methadone",
+                  type: "select",
+                  hide:true,
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入是否服用美沙酮戒毒",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "查获日期",
+                  prop: "date",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入查获日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "初次发现日期",
+                  prop: "findDate",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入初次发现日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否有犯罪史",
+                  prop: "criminalHistory",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入是否有犯罪史",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "犯罪情况",
+                  prop: "crime",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入犯罪情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "行动趋向",
+                  prop: "action",
+                  hide:true,
+                  type:'textarea',
+                  rules: [{
+                    required: false,
+                    message: "请输入行动趋向",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生活状况",
+                  prop: "living",
+                  rules: [{
+                    required: false,
+                    message: "请输入生活状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "社会关系",
+                  prop: "relationship",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入社会关系",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "现实表现",
+                  prop: "performance",
+                  type:'textarea',
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入现实表现",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -378,6 +1150,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formDrug = res.data.data;
+          console.log(this.formDrug,'this.formDrug');
+          getbasicDetail(this.formDrug.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 636 - 131
src/views/person/elderlypeople.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.elderlypeople_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <ElderlypeopleForm :tag=tag :formElderlyPeople="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></ElderlypeopleForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <ElderlypeopleForm :tag=tag :formElderlyPeople="formElderlyPeople" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></ElderlypeopleForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/elderlypeople";
+  import {getList, getDetail, add, update, remove,generatedetail} from "@/api/person/elderlypeople";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import ElderlypeopleForm from '@/components/person-tags/elderlyPeople-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{ElderlypeopleForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formElderlyPeople:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -57,7 +91,8 @@
           addBtn: false,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -223,137 +258,584 @@
                 trigger: "blur"
               }]
             },
-            // {
-            //   label: "所属社区",
-            //   prop: "agencyId",
-            //   search: true,
-            //   cascaderItem: ['residentialId'],
-            //   type: "select",
-            //   remote: true,
-            //   dicUrl: "/api/cyzh-community/agency/list",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请选择所属社区",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属小区",
-            //   prop: "residentialId",
-            //   type: "select",
-            //   search: true,
-            //   cascaderItem: ['buildingId'],
-            //   dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请选择所属小区",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属楼栋",
-            //   prop: "buildingId",
-            //   type: "select",
-            //   cascaderItem: ['unitId'],
-            //   dicUrl: `/api/cyzh-community/building/list?residentialId={{key}}`,
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入楼栋Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属单元",
-            //   prop: "unitId",
-            //   hide: true,
-            //   type: "select",
-            //   cascaderItem: ['floorId'],
-            //   dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入单元Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属楼层",
-            //   prop: "floorId",
-            //   hide: true,
-            //   type: "select",
-            //   cascaderItem: ['roomId'],
-            //   dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入楼层Id",
-            //     trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "所属房间",
-            //   prop: "roomId",
-            //   hide: true,
-            //   type: "select",
-            //   dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
-            //   dicFormatter:(res)=>{
-            //     return res.data.records;//返回字典的层级结构
-            //   },
-            //   // dicFlag: false,
-            //   filterable: true,
-            //   props: {
-            //     label: "name",
-            //     value: "id"
-            //   },
-            //   rules: [{
-            //     required: true,
-            //     message: "请输入房间Id",
-            //     trigger: "blur"
-            //   }]
-            // },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'高龄人员信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "基本表Id",
+                  prop: "parentId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入基本表Id",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'姓名',
+                  prop:'name',
+                  search:true,
+                  display:false
+                },
+                {
+                  label: "既往病史",
+                  prop: "medicalHistory",
+                  rules: [{
+                    required: false,
+                    message: "请输入既往病史",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "有无子女",
+                  prop: "children",
+                  type: 'select',
+                  dataType: 'number',
+                  hide: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=children",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "有无子女",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生活爱好",
+                  prop: "hobby",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生活爱好",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生活嗜好",
+                  prop: "addiction",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生活嗜好",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "行为能力",
+                  prop: "ability",
+                  type: 'select',
+                  dataType: 'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=ability",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "具有的行为能力",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "功能障碍",
+                  prop: "dysfunction",
+                  type: 'select',
+                  multiple: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=dysfunction",
+                  dataType:'string',
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "功能障碍 (可多选)",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "血压",
+                  prop: "bloodPressure",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入血压",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "血氧",
+                  prop: "bloodOxygen",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入血氧",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "血糖",
+                  prop: "bloodSugar",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入血糖",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "服务需求",
+                  prop: "serviceDemand",
+                  type: 'select',
+                  multiple:true,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=service-demand",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "服务需求 (可多选)",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "紧急联系人",
+                  prop: "emergencyContactPerson",
+                  rules: [{
+                    required: true,
+                    message: "请输入紧急联系人",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "联系人电话",
+                  prop: "emergencyContactPhone",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入紧急联系人电话",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -376,6 +858,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formElderlyPeople = res.data.data;
+          console.log(this.formElderlyPeople,'this.formElderlyPeople');
+          getbasicDetail(this.formElderlyPeople.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 682 - 3
src/views/person/establishfilecard.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.establishfilecard_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,44 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <EstablishFileCardForm :tag=tag :formEstablishFilecard="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></EstablishFileCardForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <EstablishFileCardForm :tag=tag :formEstablishFilecard="formEstablishFilecard" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></EstablishFileCardForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/establishfilecard";
+  import {getList, getDetail, add, update, remove, generatedetail} from "@/api/person/establishfilecard";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import EstablishFileCardForm from '@/components/person-tags/establishFilecard-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{EstablishFileCardForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formEstablishFilecard:{},
         query: {},
         loading: true,
         page: {
@@ -55,7 +88,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
+          addBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -83,6 +118,7 @@
             {
               label: "测算年度",
               prop: "calculationYear",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入测算年度",
@@ -92,6 +128,7 @@
             {
               label: "户编号",
               prop: "familyCode",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入户编号",
@@ -101,6 +138,7 @@
             {
               label: "帮扶干部",
               prop: "helpingCadres",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入帮扶干部",
@@ -119,6 +157,7 @@
             {
               label: "帮扶干部电话",
               prop: "helpingCadresPhone",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入帮扶干部电话",
@@ -137,6 +176,7 @@
             {
               label: "贫困属性",
               prop: "povertyAttribute",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入贫困属性",
@@ -146,6 +186,7 @@
             {
               label: "识别年月",
               prop: "identifyMonth",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入识别年月",
@@ -155,6 +196,7 @@
             {
               label: "脱贫年度",
               prop: "povertyAlleviationYear",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入脱贫年度",
@@ -164,6 +206,7 @@
             {
               label: "家庭劳动力",
               prop: "familyLaborForce",
+              hide:true,
               rules: [{
                 required: false,
                 message: "请输入家庭劳动力",
@@ -174,6 +217,7 @@
               label: "是否有养老保险",
               prop: "isEndowmentInsurance",
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -189,6 +233,7 @@
               label: "是否有医疗保障",
               prop: "isMedicalSecurity",
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -203,7 +248,9 @@
             {
               label: "是否有在校学生",
               prop: "isSchoolStudents",
+              hide:true,
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -219,6 +266,8 @@
               label: "是否有教育保障",
               prop: "isEducationGuarantee",
               type: "select",
+              dataType:'number',
+              hide:true,
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -234,19 +283,626 @@
               label: "收入情况",
               prop: "income",
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=income",
               props: {
                 label: "dictValue",
                 value: "dictKey"
               },
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入收入情况",
                 trigger: "blur"
               }]
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'建档立卡信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "基本表Id",
+                  prop: "parentId",
+                  hide:true,
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入基本表Id",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "测算年度",
+                  prop: "calculationYear",
+                  rules: [{
+                    required: false,
+                    message: "请输入测算年度",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "户编号",
+                  prop: "familyCode",
+                  rules: [{
+                    required: false,
+                    message: "请输入户编号",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶干部",
+                  prop: "helpingCadres",
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶干部",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶干部单位",
+                  prop: "helpingCadreUnits",
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶干部单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮扶干部电话",
+                  prop: "helpingCadresPhone",
+                  rules: [{
+                    required: false,
+                    message: "请输入帮扶干部电话",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "建档立卡人口",
+                  prop: "registrationPopulation",
+                  rules: [{
+                    required: false,
+                    message: "请输入建档立卡人口",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "贫困属性",
+                  prop: "povertyAttribute",
+                  rules: [{
+                    required: false,
+                    message: "请输入贫困属性",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "识别年月",
+                  prop: "identifyMonth",
+                  rules: [{
+                    required: false,
+                    message: "请输入识别年月",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "脱贫年度",
+                  prop: "povertyAlleviationYear",
+                  rules: [{
+                    required: false,
+                    message: "请输入脱贫年度",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "家庭劳动力",
+                  prop: "familyLaborForce",
+                  rules: [{
+                    required: false,
+                    message: "请输入家庭劳动力",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否有养老保险",
+                  prop: "isEndowmentInsurance",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入有无养老保险",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否有医疗保障",
+                  prop: "isMedicalSecurity",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入有无医疗保障",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否有在校学生",
+                  prop: "isSchoolStudents",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入有无在校学生",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否有教育保障",
+                  prop: "isEducationGuarantee",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入有无教育保障",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "收入情况",
+                  prop: "income",
+                  type: "select",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=income",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入收入情况",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -269,6 +925,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formEstablishFilecard = res.data.data;
+          console.log(this.formEstablishFilecard,'this.formEstablishFilecard');
+          getbasicDetail(this.formEstablishFilecard.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 635 - 2
src/views/person/fertilewoman.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.fertilewoman_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <FertileWomanForm :tag=tag :formFertileWomen="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></FertileWomanForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <FertileWomanForm :tag=tag :formFertileWomen="formFertileWomen" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></FertileWomanForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/fertilewoman";
+  import {getList, getDetail, add, update, remove,generatedetail } from "@/api/person/fertilewoman";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import FertileWomanForm from '@/components/person-tags/fertileWoman-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{FertileWomanForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formFertileWomen:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -55,7 +89,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
+          addBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -218,6 +254,580 @@
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'育龄妇女信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚次",
+                  prop: "marriageTimes",
+                  rules: [{
+                    required: false,
+                    message: "请输入婚次",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "胎次",
+                  prop: "parity",
+                  rules: [{
+                    required: false,
+                    message: "请输入胎次",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政策属性",
+                  prop: "policyAttribute",
+                  rules: [{
+                    required: false,
+                    message: "请输入政策属性",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "服务证/再生育证编号",
+                  prop: "reproductionCertificateCode",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入服务证/再生育证编号",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "妊娠起始日期",
+                  prop: "pregnancyStartdate",
+                  type: 'date',
+                  valueFormat:'yyyy-MM-dd',
+                  rules: [{
+                    required: false,
+                    message: "请输入妊娠起始日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "妊娠结束日期",
+                  prop: "pregnancyEnddate",
+                  valueFormat:'yyyy-MM-dd',
+                  type: 'date',
+                  rules: [{
+                    required: false,
+                    message: "请输入妊娠结束日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "妊娠结果",
+                  prop: "pregnancyOutcome",
+                  rules: [{
+                    required: false,
+                    message: "请输入妊娠结果",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "妊娠结束地点",
+                  prop: "pregnancyEndplace",
+                  rules: [{
+                    required: false,
+                    message: "请输入妊娠结束地点",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "避孕状况",
+                  prop: "contraceptiveStatus",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入避孕状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "避孕开始时间",
+                  prop: "contraceptiveStarttime",
+                  type: 'datetime',
+                  valueFormat: 'yyyy-MM-dd HH:mm:ss',
+                  rules: [{
+                    required: false,
+                    message: "请输入避孕开始时间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "避孕实施机构",
+                  prop: "contraceptiveAgency",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入避孕实施机构",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "避孕效果",
+                  prop: "contraceptiveEffect",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入避孕效果",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "结束日期",
+                  prop: "endDate",
+                  type: 'datetime',
+                  valueFormat: 'yyyy-MM-dd HH:mm:ss',
+                  rules: [{
+                    required: false,
+                    message: "请输入结束日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "终止避孕机构",
+                  prop: "endContraceptiveInstitutions",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入终止避孕机构",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "终止原因",
+                  prop: "reasonsForTermination",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入终止原因",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -240,6 +850,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formFertileWomen = res.data.data;
+          console.log(this.formFertileWomen,'this.formFertileWomen');
+          getbasicDetail(this.formFertileWomen.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 1 - 0
src/views/person/member.vue

@@ -117,6 +117,7 @@
               label: "成员国籍",
               prop: "nationality",
               type: "select",
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
               props: {
                 label: "dictValue",

+ 728 - 4
src/views/person/prisoner.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.prisoner_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <PrisonerForm :tag=tag :formPrisoner="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></PrisonerForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <PrisonerForm :tag=tag :formPrisoner="formPrisoner" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></PrisonerForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/prisoner";
+  import {getList, getDetail, add, update, remove,generatedetail} from "@/api/person/prisoner";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import PrisonerForm from '@/components/person-tags/prisoner-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{PrisonerForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formPrisoner:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -56,7 +90,9 @@
           labelWidth: 120,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          addBtn:false,
+          editBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -133,13 +169,14 @@
             {
               label: "危险性评估类型",
               prop: "dangerType",
+              type:'select',
               dicData:[
                 {
                   label:'一般',
-                  value:0
+                  value:'一般'
                 },{
                   label:'重点',
-                  value:1
+                  value:'重点'
                 }
               ],
               rules: [{
@@ -281,6 +318,8 @@
             {
               label: "是否重点管控",
               prop: "emphasisControl",
+              type:'select',
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -304,6 +343,668 @@
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'刑释人员信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search: 'true',
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否累犯",
+                  prop: "recidivism",
+                  type: 'select',
+                  hide: true,
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择是否累犯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "释放日期",
+                  prop: "releaseDate",
+                  type: 'date',
+                  rules: [{
+                    required: true,
+                    message: "请输入释放日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "原罪名",
+                  prop: "crime",
+                  type: 'select',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=frist_crime_name",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择原罪名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "原判刑期",
+                  prop: "prisonDate",
+                  type: 'date',
+                  rules: [{
+                    required: true,
+                    message: "请选择原判刑期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "服刑场所名称",
+                  prop: "prisonName",
+                  rules: [{
+                    required: true,
+                    message: "请输入服刑场所名称",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "危险性评估类型",
+                  prop: "dangerType",
+                  type:'select',
+                  dicData:[
+                    {
+                      label:'一般',
+                      value:'一般'
+                    },{
+                      label:'重点',
+                      value:'重点'
+                    }
+                  ],
+                  rules: [{
+                    required: true,
+                    message: "请选择危险性评估类型",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "衔接日期",
+                  prop: "linkUpDate",
+                  type: 'date',
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入衔接日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "衔接情况",
+                  prop: "linkUpSituation",
+                  type: 'select',
+                  hide: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=link_up_situation",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择衔接情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "安置日期",
+                  prop: "arrangeDate",
+                  type: 'date',
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入安置日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "安置情况",
+                  prop: "arrangeSituation",
+                  type: 'select',
+                  hide: true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=arrange_situation",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择安置情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "未安置原因",
+                  prop: "noArrange",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入未安置原因",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "帮教情况",
+                  prop: "teachSituation",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入帮教情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否重新犯罪",
+                  prop: "crimeAgain",
+                  hide: true,
+                  type: 'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择是否重新犯罪",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "重新犯罪罪名",
+                  prop: "crimeAgainName",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入重新犯罪罪名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "重犯日期",
+                  prop: "crimeAgainDate",
+                  hide: true,
+                  type: 'date',
+                  rules: [{
+                    required: true,
+                    message: "请输入重犯日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "人员类型",
+                  prop: "type",
+                  type: 'select',
+                  dicData:[
+                    {
+                      label: '解教人员',
+                      value: '解教人员'
+                    },{
+                      label: '刑释人员',
+                      value: '刑释人员'
+                    }
+                  ],
+                  rules: [{
+                    required: true,
+                    message: "请选择人员类型",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否重点管控",
+                  prop: "emphasisControl",
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择是否重点管控",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "原职业",
+                  prop: "profession",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入原职业",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -326,6 +1027,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formPrisoner = res.data.data;
+          console.log(this.formPrisoner,'this.formPrisoner');
+          getbasicDetail(this.formPrisoner.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 686 - 2
src/views/person/psychiatric.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.psychiatric_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <PsychiatricForm :tag=tag :formPsychiatric="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></PsychiatricForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <PsychiatricForm :tag=tag :formPsychiatric="formPsychiatric" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></PsychiatricForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/psychiatric";
+  import {getList, getDetail, add, update, remove, generatedetail} from "@/api/person/psychiatric";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import PsychiatricForm from '@/components/person-tags/psychiatric-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{PsychiatricForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formPsychiatric:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -56,7 +90,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
+          addBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -89,6 +125,7 @@
               label: "是否纳入低保",
               prop: "subAllowance",
               type: 'select',
+              dataType:'number',
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -267,6 +304,630 @@
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'精神病人信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search: 'true',
+                  display:false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "家庭经济状况",
+                  type: 'select',
+                  prop: "economicStatus",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=economic_status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入家庭经济状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否纳入低保",
+                  prop: "subAllowance",
+                  type: 'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择是否纳入低保",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人身份证",
+                  prop: "guardianIdCard",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入监护人身份证",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人姓名",
+                  prop: "guardianName",
+                  rules: [{
+                    required: true,
+                    message: "请输入监护人姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "监护人联系方式",
+                  prop: "guardianPhone",
+                  rules: [{
+                    required: true,
+                    message: "请输入监护人联系方式",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "初次发病日期",
+                  prop: "pathogenesisDate",
+                  type: 'date',
+                  rules: [{
+                    required: true,
+                    message: "请输入初次发病日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "诊断类型",
+                  prop: "type",
+                  type: 'select',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=psychiatric_type",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择诊断类型",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "有无肇事肇祸史",
+                  prop: "accidentHistory",
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请选择有无肇事肇祸史",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "肇事肇祸次数",
+                  prop: "accidentCount",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入肇事肇祸次数",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "上次肇事肇祸日期",
+                  prop: "accidentDate",
+                  type: 'date',
+                  valueFormat: 'yyyy-MM-dd',
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入上次肇事肇祸日期",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "危险性评估等级",
+                  prop: "level",
+                  type: 'select',
+                  hide: true,
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=psychiatric_danger_level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择危险性评估等级",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "治疗情况",
+                  prop: "treatSituation",
+                  type: 'select',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=treat_situation",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请选择治疗情况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "治疗医院名称",
+                  prop: "hospitalName",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入治疗医院名称",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "康复训练机构名称",
+                  prop: "organizationName",
+                  rules: [{
+                    required: true,
+                    message: "请输入康复训练机构名称",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "患病名称",
+                  prop: "disease",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入患病名称",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "精神病人类型",
+                  prop: "personType",
+                  type: 'select',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=psychiatric_person_type",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择精神病人类型",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -289,6 +950,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formPsychiatric = res.data.data;
+          console.log(this.formPsychiatric,'this.formPsychiatric');
+          getbasicDetail(this.formPsychiatric.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

+ 635 - 10
src/views/person/veterans.vue

@@ -19,6 +19,13 @@
                @refresh-change="refreshChange"
                @on-load="onLoad">
       <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   v-if="permission.veterans_add"
+                   @click="handleAdd">
+          新 增</el-button>
         <el-button type="danger"
                    size="small"
                    icon="el-icon-delete"
@@ -27,18 +34,45 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button type="text" size="small" icon="el-icon-view"  @click.native="showDetail(scope.row)">查 看</el-button>
+        <el-button type="text" size="small" icon="el-icon-edit"  @click.native="handleEdit(scope.row)">编 辑</el-button>
+      </template>
     </avue-crud>
+    <el-dialog v-if="detailVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="detailVisible"
+               title="详 情" width="70%">
+      <avue-form :option="optiondetail" v-model="detailForm"></avue-form>
+    </el-dialog>
+    <el-dialog v-if="addVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="addVisible"
+               title="新 增" width="70%">
+      <VeteransForm :tag=tag :formVeterans="null" :formBasic="null" @refreshChange="refreshChange" :close-fn="() => {addVisible = false}"></VeteransForm>
+    </el-dialog>
+    <el-dialog v-if="editVisible===true" :append-to-body="true" :close-on-click-modal="false" :modal-append-to-body="false" :visible.sync="editVisible"
+               title="编 辑" width="70%">
+      <VeteransForm :tag=tag :formVeterans="formVeterans" :formBasic="formBasic" @refreshChange="refreshChange" :close-fn="() => {editVisible = false}"></VeteransForm>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/person/veterans";
+  import {getList, getDetail, add, update, remove,generatedetail} from "@/api/person/veterans";
+  import {getDetail as getbasicDetail} from "@/api/person/basicinfo";
+  import {DIC} from "@/api/util/nation"
+  import VeteransForm from '@/components/person-tags/veterans-form';
   import {mapGetters} from "vuex";
 
   export default {
+    components:{VeteransForm},
     data() {
       return {
+        detailVisible:false,
+        addVisible:false,
+        editVisible:false,
         form: {},
+        tag:0,
+        formBasic:{},
+        formVeterans:{},
+        detailForm:{},
         query: {},
         loading: true,
         page: {
@@ -56,7 +90,9 @@
           searchMenuSpan: 6,
           border: true,
           index: true,
-          viewBtn: true,
+          viewBtn: false,
+          editBtn:false,
+          addBtn:false,
           selection: true,
           dialogClickModal: false,
           column: [
@@ -74,6 +110,7 @@
               label: "是否独生子女",
               prop: "onlyChild",
               type: 'select',
+              hide:true,
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
               props: {
                 label: "dictValue",
@@ -88,8 +125,9 @@
             {
               label: "身体状况",
               prop: "physicalCondition",
+              hide:true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入身体状况",
                 trigger: "blur"
               }]
@@ -99,7 +137,7 @@
               prop: "programmableDirection",
               hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入可编方向",
                 trigger: "blur"
               }]
@@ -140,7 +178,7 @@
               label: "服役军种",
               prop: "services",
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入服役军种",
                 trigger: "blur"
               }]
@@ -150,7 +188,7 @@
               prop: "postOfDischarge",
               hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入转业退伍时职务",
                 trigger: "blur"
               }]
@@ -160,7 +198,7 @@
               prop: "retirementCertificate",
               hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入退役证件名称",
                 trigger: "blur"
               }]
@@ -170,7 +208,7 @@
               prop: "retirementCertificateCode",
               hide: true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入退役证件编号",
                 trigger: "blur"
               }]
@@ -189,7 +227,7 @@
               },
               tip: '只能生产jpg/png图片,且不超过500kb',
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入优抚证书",
                 trigger: "blur"
               }]
@@ -197,14 +235,578 @@
             {
               label: "奖励或处分",
               prop: "rewardAndPunishment",
+              hide:true,
               rules: [{
-                required: true,
+                required: false,
                 message: "请输入在部队由何原因受过何种奖励、处分",
                 trigger: "blur"
               }]
             },
           ]
         },
+        //详情option
+        optiondetail:{
+          submitBtn:false,
+          emptyBtn:false,
+          disabled: true,
+          tabs:true,
+          group:[
+            {
+              icon:'el-icon-info',
+              label:'基础信息',
+              prop:'group1',
+              column:[
+                {
+                  label: "身份证号",
+                  prop: "idCard",
+                  search:true,
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身份证号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "性别",
+                  prop: "sex",
+                  type: 'select',
+                  dataType:"number",
+                  search:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=sex",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择性别",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "照片",
+                  prop: "imageUri",
+                  type: 'upload',
+                  hide:true,
+                  listType: 'picture-img',
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请上传入境证明url",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属社区",
+                  prop: "agencyId",
+                  search: true,
+                  cascaderItem: ['residentialId'],
+                  type: "select",
+                  // remote: true,
+                  dicUrl: "/api/cyzh-community/agency/list?size=9999",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属社区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属小区",
+                  prop: "residentialId",
+                  type: "select",
+                  search: true,
+                  cascaderItem: ['buildingId'],
+                  dicUrl: "/api/cyzh-community/residential/list?agencyId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择所属小区",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼栋",
+                  prop: "buildingId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['unitId'],
+                  dicUrl: "/api/cyzh-community/building/list?residentialId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: true,
+                  // filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼栋",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属单元",
+                  prop: "unitId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['floorId'],
+                  dicUrl: "/api/cyzh-community/unit/list?buildingId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择单元",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属楼层",
+                  prop: "floorId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  cascaderItem: ['roomId'],
+                  dicUrl: "/api/cyzh-community/floor/list?unitId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择楼层d",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "所属房间",
+                  prop: "roomId",
+                  type: "select",
+                  // slot:true,
+                  search: true,
+                  dicUrl: "/api/cyzh-community/room/list?floorId={{key}}",
+                  dicFormatter:(res)=>{
+                    return res.data.records;//返回字典的层级结构
+                  },
+                  // dicFlag: false,
+                  filterable: true,
+                  props: {
+                    label: "name",
+                    value: "id"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择房间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:'手机号码',
+                  prop:'phone',
+                  width:120,
+                  rules: [{
+                    required: true,
+                    message: "请输入手机号码",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "生日",
+                  prop: "birthday",
+                  type:'date',
+                  valueFormat:"yyyy-MM-dd",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入生日",
+                    trigger: "blur"
+                  }]
+                },
+                // {
+                //   label: "民族",
+                //   prop: "nation",
+                //   hide:true,
+                //   rules: [{
+                //     required: true,
+                //     message: "请输入民族",
+                //     trigger: "blur"
+                //   }]
+                // },
+                {
+                  label: "民族",
+                  prop: "nation",
+                  type:'select',
+                  dicData:DIC.VALUE,
+                  filterable:true,
+                  // searchFilterable:true,
+                  hide:true,
+                  rules: [{
+                    required: true,
+                    message: "请输入民族",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "籍贯",
+                  prop: "nativePlace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入籍贯",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "国籍",
+                  prop: "nationality",
+                  hide:true,
+                  type:'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationality",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请输入国籍",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "政治面貌",
+                  prop: "political",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=political",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择政治面貌",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "婚姻状况",
+                  prop: "maritalStatus",
+                  type: 'select',
+                  dataType:"number",
+                  hide:true,
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=marital-status",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择婚姻状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "教育水平",
+                  prop: "educationalLevel",
+                  hide:true,
+                  type: 'select',
+                  dataType:"number",
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=educational-level",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: false,
+                    message: "请选择教育水平",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "工作单位",
+                  prop: "workplace",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入工作单位",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "小程序openId",
+                  prop: "openId",
+                  hide: true,
+                  display: false,
+                  rules: [{
+                    required: false,
+                    message: "请输入小程序openId",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "邮箱",
+                  prop: "email",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入邮箱",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label:"是否会员",
+                  prop:'isMember',
+                  type:"select",
+                  hide:true,
+                  dataType:'number',
+                  dicData:[
+                    {
+                      label:'是',
+                      value:1
+                    },{
+                      label:'否',
+                      value:0
+                    },{
+                      label:'暂无',
+                      value:-1
+                    }
+                  ],
+                },
+                {
+                  label: "人员标签",
+                  prop: "tags",
+                  type:'checkbox',
+                  search:true,
+                  multiple:true,
+                  span: 24,
+                  dataType:'string',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=person-tag",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请输入标签",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "备注",
+                  prop: "remark",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入备注",
+                    trigger: "blur"
+                  }]
+                },
+              ]
+            },{
+              icon:'el-icon-s-custom',
+              label:'退伍军人信息',
+              prop:'group2',
+              column: [
+                {
+                  label: "姓名",
+                  prop: "name",
+                  search:true,
+                  display: false,
+                  rules: [{
+                    required: true,
+                    message: "请输入姓名",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "是否独生子女",
+                  prop: "onlyChild",
+                  type: 'select',
+                  dataType:'number',
+                  dicUrl: "/api/blade-system/dict-biz/dictionary?code=yes_no",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  rules: [{
+                    required: true,
+                    message: "请选择是否独生子女",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "身体状况",
+                  prop: "physicalCondition",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入身体状况",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "可编方向",
+                  prop: "programmableDirection",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入可编方向",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "服役地点",
+                  prop: "servicePlace",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "请输入服役地点",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "入伍时间",
+                  prop: "enlistmentTime",
+                  type: 'datetime',
+                  hide:true,
+                  valueFormat: 'yyyy-MM-dd HH:mm:ss',
+                  rules: [{
+                    required: true,
+                    message: "请输入入伍时间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "退伍时间",
+                  prop: "dischargeTime",
+                  type: 'datetime',
+                  valueFormat: 'yyyy-MM-dd HH:mm:ss',
+                  rules: [{
+                    required: true,
+                    message: "请输入退伍时间",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "服役军种",
+                  prop: "services",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入服役军种",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "转业退伍时职务",
+                  prop: "postOfDischarge",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入转业退伍时职务",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "退役证件名称",
+                  prop: "retirementCertificate",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入退役证件名称",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "退役证件编号",
+                  prop: "retirementCertificateCode",
+                  hide: true,
+                  rules: [{
+                    required: false,
+                    message: "请输入退役证件编号",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "优抚证书",
+                  prop: "specialCareCertificate",
+                  type: "upload",
+                  hide: true,
+                  row: true,
+                  listType: 'picture-img',
+                  action: "/api/blade-resource/oss/endpoint/put-file",
+                  propsHttp: {
+                    res: "data",
+                    url: "link"
+                  },
+                  tip: '只能生产jpg/png图片,且不超过500kb',
+                  rules: [{
+                    required: false,
+                    message: "请输入优抚证书",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "奖励或处分",
+                  prop: "rewardAndPunishment",
+                  hide:true,
+                  rules: [{
+                    required: false,
+                    message: "请输入在部队由何原因受过何种奖励、处分",
+                    trigger: "blur"
+                  }]
+                },
+              ]}
+          ],
+        },
         data: []
       };
     },
@@ -227,6 +829,29 @@
       }
     },
     methods: {
+      showDetail(row){
+        console.log(row,'当前行数据');
+        this.detailForm = row;
+        this.detailVisible=true;
+      },
+      handleAdd(){
+        this.tag=1;
+        this.addVisible = true;
+        console.log(this.addVisible,'addVisible')
+      },
+      handleEdit(row){
+        console.log(row,'row')
+        generatedetail(row.id).then(res => {
+          this.formVeterans = res.data.data;
+          console.log(this.formVeterans,'this.formVeterans');
+          getbasicDetail(this.formVeterans.parentId).then(res =>{
+            this.formBasic = res.data.data;
+            console.log(this.formBasic,'this.formBasic')
+          })
+        });
+        this.tag=2;
+        this.editVisible = true;
+      },
       rowSave(row, done, loading) {
         add(row).then(() => {
           this.onLoad(this.page);

Некоторые файлы не были показаны из-за большого количества измененных файлов