From 4522ab3fe8bd45ee753ef187448c1e884bbc601f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 18 Apr 2024 11:09:27 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_web

---
 src/views/place/components/baseAllInfo.vue |  412 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 380 insertions(+), 32 deletions(-)

diff --git a/src/views/place/components/baseAllInfo.vue b/src/views/place/components/baseAllInfo.vue
index 23306a8..558c9d1 100644
--- a/src/views/place/components/baseAllInfo.vue
+++ b/src/views/place/components/baseAllInfo.vue
@@ -4,7 +4,19 @@
       <div class="content-box">
         <box-title class="m10" :classVal="9" :title="'基本信息'"></box-title>
         <avue-form v-if="baseShow" ref="baseForm" :option="option" v-model="form">
+          <template slot-scope="{ row, size, index }" slot="houseCodeBinds">
+            <el-select v-model="form.houseCodeBinds" filterable remote multiple :remote-method="onRemoteMethod"
+              @change="onSelectChange" placeholder="请选择标准地址" reserve-keyword>
+              <el-option v-for="item in standardAddressList" :key="item.addressCode" :label="item.addressName"
+                :value="item.addressCode">
+              </el-option>
+            </el-select>
+          </template>
         </avue-form>
+
+
+        <box-title class="m10" :classVal="9" :title="'房东信息'"></box-title>
+        <avue-form v-if="restShow" ref="restForm" :option="houseOwnerOption" v-model="placeForm"></avue-form>
 
         <box-title class="m10" :classVal="9" :title="'其他信息'"></box-title>
         <avue-form v-if="restShow" ref="restForm" :option="optionDetail" v-model="placeForm"></avue-form>
@@ -28,7 +40,7 @@
 
 <script>
   import {
-    getPlace,
+    getPlaceDetaill,
     getPlaceExt,
     holdRemove,
     holdAdd,
@@ -36,6 +48,7 @@
     getHoldList,
     update,
     updatePlaceExt,
+    getPlaceAddressList
   } from "@/api/place/place"
   import {
     getPlaceList
@@ -74,6 +87,7 @@
               span: 12,
               label: "场所名称",
               prop: "placeName",
+              labelWidth: 120,
               rules: [{
                 required: true,
                 message: "请输入场所名称",
@@ -86,6 +100,7 @@
             {
               label: "负责人",
               prop: "principal",
+              labelWidth: 120,
               rules: [{
                 required: false,
                 message: "请输入负责人",
@@ -97,6 +112,7 @@
               width: 96,
               label: "手机号码",
               prop: "principalPhone",
+              labelWidth: 120,
               search: true,
               searchSpan: 4,
               slot: true,
@@ -110,6 +126,7 @@
               width: 120,
               overHidden: true,
               label: "身份证号",
+              labelWidth: 120,
               prop: "principalIdCard",
               search: true,
               searchSpan: 4,
@@ -125,6 +142,7 @@
               hide: true,
               parent: false,
               label: "所属社区",
+              labelWidth: 120,
               prop: "neiCode",
               search: false,
               type: "tree",
@@ -148,6 +166,7 @@
               label: "所属网格",
               prop: "gridCode",
               type: "tree",
+              labelWidth: 120,
               cell: true,
               props: {
                 label: "gridName",
@@ -166,6 +185,7 @@
               span: 7,
               label: "场所标签",
               prop: "label",
+              labelWidth: 120,
               type: "select",
               dicUrl: "/api/blade-category/category/getCategory?level=2",
               cascader: ["smallLabel"],
@@ -201,6 +221,7 @@
               label: "标签颜色",
               prop: "color",
               type: "select",
+              labelWidth: 120,
               dicData: [{
                   label: "绿",
                   value: "green",
@@ -224,6 +245,7 @@
               span: 12,
               label: "九小场所",
               prop: "isNine",
+              labelWidth: 120,
               type: "select",
               dicData: [{
                   label: "是",
@@ -245,6 +267,7 @@
               span: 12,
               label: "九小分类",
               prop: "nineType",
+              labelWidth: 120,
               type: "select",
               display: false,
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=nineType",
@@ -259,6 +282,7 @@
               span: 12,
               label: "阵地",
               prop: "isFront",
+              labelWidth: 120,
               type: "select",
               dicData: [{
                   label: "是",
@@ -281,6 +305,7 @@
               label: "阵地类型",
               prop: "frontType",
               type: "select",
+              labelWidth: 120,
               display: false,
               row: true,
               dicUrl: "/api/blade-system/dict-biz/dictionary?code=frontType",
@@ -290,13 +315,53 @@
                 label: "dictValue",
                 value: "dictKey",
               },
-
             },
+            {
+              span: 12,
+              label: "三级消防单位",
+              prop: "threeFireProtection",
+              labelWidth: 120,
+              type: "select",
+              dicData: [{
+                  label: "是",
+                  value: 1,
+                },
+                {
+                  label: "否",
+                  value: 2,
+                }
+              ],
+              hide: true,
+              rules: [{
+                required: false,
+                message: "请选择三级消防单位",
+                trigger: "blur",
+              }],
+            },
+
+            {
+              span: 12,
+              label: "无炸类型",
+              prop: "noExplosionCategory",
+              type: "select",
+              labelWidth: 120,
+              display: true,
+              row: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=noExplosionCategory",
+              dataType: "number",
+              hide: true,
+              props: {
+                label: "dictValue",
+                value: "dictKey",
+              },
+            },
+
             {
               label: "场所照片",
               prop: "imageUrls",
               width: 80,
               type: "upload",
+              labelWidth: 120,
               listType: "picture-card",
               dataType: "string",
               multiple: true,
@@ -306,7 +371,7 @@
                 name: "name",
                 url: "link",
               },
-              span: 12,
+              span: 24,
             },
             {
               width: 160,
@@ -316,8 +381,10 @@
               prop: "location",
               type: "map",
               dataType: "string",
-              span: 12,
+              labelWidth: 120,
+              span: 24,
               value: [117.96646, 28.431002, ""],
+              cascader: ['houseCodeBinds'],
               rules: [{
                 required: true,
                 message: "请选择地址",
@@ -327,31 +394,56 @@
             {
               width: 160,
               overHidden: true,
+              display: false,
+              labelWidth: 120,
+              hide: true,
+              label: "地址",
+              prop: "addressName",
+              span: 12
+            },
+
+            // {
+            //   width: 160,
+            //   overHidden: true,
+            //   slot: true,
+            //   label: "标准地址",
+            //   prop: "houseCodeBinds",
+            //   span: 24,
+            //   type: 'select',
+            //   labelWidth:120,
+            //   dataType: "object",
+            //   remote: true,
+            //   multiple: true,
+            //   hide: true,
+            //   display: false,
+            //   filterable:true,
+            //   dicUrl: `/api/blade-doorplateAddress/doorplateAddress/getPlaceList`,
+            //   props: {
+            //     label: 'addressName',
+            //     value: 'addressCode',
+            //   },
+            //   dicData: [],
+            //   rules: [{
+            //     required: false,
+            //     message: "请选择标准地址",
+            //     trigger: "blur",
+            //   }, ]
+            // },
+            {
+              span: 24,
+              hide: true,
+              prop: "houseCodeBinds",
               slot: true,
               label: "标准地址",
-              prop: "houseCodeBinds",
-              span: 24,
-              type: 'select',
-              dataType: "string",
-              remote: true,
-              multiple: true,
-              hide: true,
-              dicUrl: `/api/blade-doorplateAddress/doorplateAddress/getPlaceList?addressName={{key}}`,
-              props: {
-                label: 'addressName',
-                value: 'addressCode',
-              },
-              dicData: [],
-              rules: [{
-                required: true,
-                message: "请选择地址",
-                trigger: "blur",
-              }, ],
+              labelWidth: 120,
+
             },
+
             {
               label: "备注",
               prop: "remark",
               type: 'textarea',
+              labelWidth: 120,
               hide: true,
               span: 24,
               rules: [{
@@ -368,12 +460,13 @@
           submitBtn: false,
           emptyBtn: false,
           column: [{
+              labelWidth: 100,
               label: "法人信息",
               prop: "legalPerson",
             },
 
             {
-              width: 96,
+              labelWidth: 100,
               label: "法人电话",
               prop: "legalTel",
               search: true,
@@ -385,6 +478,7 @@
                 trigger: "blur",
               }, ],
             },
+
 
             {
               label: "营业执照",
@@ -437,15 +531,54 @@
           index: true,
           dialogClickModal: false,
           column: [{
-              label: "名称",
+              labelWidth: 100,
+              label: "姓名",
               prop: "name",
               searchSpan: 4,
               search: true,
             },
+            {
+              labelWidth: 100,
+              label: "性别",
+              prop: "gender",
+              type: "select",
+              dicData: [{
+                  label: "男",
+                  value: 1
+                },
+                {
+                  label: "女",
+                  value: 0
+                },
+                {
+                  label: "未知",
+                  value: "3"
+                }
+              ],
+            },
+            {
+              labelWidth: 100,
+              span: 12,
+              label: "民族",
+              prop: "ethnicity",
+              type: "select",
+              row: true,
+              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
+              dataType: "number",
+              props: {
+                label: "dictValue",
+                value: "dictKey",
+              },
+            },
+            {
+              labelWidth: 100,
+              label: "身份证号",
+              prop: "idCard",
+            },
 
             {
-              width: 96,
-              label: "手机号码",
+              labelWidth: 100,
+              label: "电话号码",
               prop: "telephone",
               search: true,
               searchSpan: 4,
@@ -458,12 +591,89 @@
             },
 
             {
-              label: "暂住地",
+              labelWidth: 100,
+              label: "现居住地",
               prop: "tempAddress",
               searchSpan: 4,
               search: true,
             },
-          ],
+            {
+              labelWidth: 100,
+              label: "岗位",
+              prop: "jobNature",
+              // hide: true
+            },
+
+            {
+              label: "从业人员照片",
+              prop: "employerImg",
+              labelWidth: 100,
+              type: "upload",
+              listType: "picture-card",
+              dataType: "string",
+              multiple: true,
+              action: "/api/blade-resource/oss/endpoint/put-file",
+              propsHttp: {
+                res: "data",
+                name: "name",
+                url: "link",
+              },
+              span: 24,
+              hide: true
+            },
+            {
+              label: "入职时间",
+              labelWidth: 100,
+              hide: true,
+              row: true,
+              prop: "resignationTime",
+              type: "datetime",
+              format: "yyyy-MM-dd",
+              valueFormat: "yyyy-MM-dd",
+              // format: "yyyy-MM-dd hh:mm:ss",
+              // valueFormat: "yyyy-MM-dd hh:mm:ss",
+              rules: [{
+                required: false,
+                message: "请选择入职时间",
+                trigger: "blur",
+              }]
+            },
+            {
+              label: "离职时间",
+              labelWidth: 100,
+              hide: true,
+              row: true,
+              prop: "employmentTime",
+              type: "datetime",
+              format: "yyyy-MM-dd",
+              valueFormat: "yyyy-MM-dd",
+              // format: "yyyy-MM-dd hh:mm:ss",
+              // valueFormat: "yyyy-MM-dd hh:mm:ss",
+              rules: [{
+                required: false,
+                message: "请选择离职时间",
+                trigger: "blur",
+              }]
+            },
+            {
+              labelWidth: 100,
+              label: "状态",
+              prop: "resignationFlag",
+              // hide: true
+              type: "select",
+              display: false,
+              dicData: [{
+                  label: "在职",
+                  value: 1
+                },
+                {
+                  label: "离职",
+                  value: 2
+                }
+              ],
+            },
+
+          ]
         },
         holdPage: {
           pageSize: 20,
@@ -471,6 +681,88 @@
           total: 0,
         },
         houseHoldForm: {},
+        houseOwnerOption: {
+          submitBtn: false,
+          emptyBtn: false,
+          column: [
+
+            {
+              width: 96,
+              label: "姓名",
+              prop: "landlordName",
+              search: true,
+              searchSpan: 4,
+              slot: true,
+              overHidden: true
+            },
+            {
+              width: 96,
+              label: "身份证号",
+              prop: "landlordIdCard",
+              search: true,
+              searchSpan: 4,
+              slot: true,
+              overHidden: true,
+              rules: [{
+                // validator: validatorPhone,
+                trigger: "blur",
+              }, ],
+            },
+            {
+              width: 96,
+              label: "手机号",
+              prop: "landlordPhone",
+              search: true,
+              searchSpan: 4,
+              slot: true,
+              overHidden: true,
+              rules: [{
+                validator: validatorPhone,
+                trigger: "blur",
+              }, ],
+            },
+          ],
+        },
+        userOption: {
+          submitBtn: false,
+          emptyBtn: false,
+          column: [
+
+            {
+              width: 96,
+              label: "电话",
+              prop: "legalTel",
+              search: true,
+              searchSpan: 4,
+              slot: true,
+              overHidden: true,
+              rules: [{
+                validator: validatorPhone,
+                trigger: "blur",
+              }, ],
+            },
+            {
+              width: 96,
+              label: "微信号",
+              prop: "legalTel",
+              search: true,
+              searchSpan: 4,
+              slot: true,
+              overHidden: true,
+              rules: [{
+                validator: validatorPhone,
+                trigger: "blur",
+              }, ],
+            },
+
+
+
+          ],
+        },
+
+        standardAddressList: [], //标准地址数据
+        standardAddress: "",
+        standardAddressSearchKey: ""
       }
     },
 
@@ -481,6 +773,13 @@
     inject: ["placeElement"],
 
     watch: {
+
+      'form.houseBindList': {
+        handler(newData) {
+          console.log("=======>", newData)
+        }
+      },
+
       'form.isNine': {
         handler(newData) {
           if (newData) {
@@ -511,11 +810,23 @@
               frontTypeColumn.display = false
             }
           }
-        },
+        }
+      },
+      'form.addressName': {
+        handler(newData) {
+          console.log("111111")
+          const column = this.findObject(this.option.column, "houseCodeBinds")
+          if (newData) {
+            column.display = true;
+          } else {
+            column.display = false
+          }
+        }
       }
     },
     methods: {
       initOpen(newData) {
+        console.log("item==>", newData);
         this.curRow = newData
         this.roleBox = true
         this.baseShow = false
@@ -526,18 +837,23 @@
         const that = this
 
         that.$axios
-          .all([getPlace(newData["id"]), getPlaceExt({
+          .all([getPlaceDetaill(newData["houseCode"]), getPlaceExt({
             placeId: newData["id"]
           }), getPlaceList()])
           .then(
             that.$axios.spread(function(baseInfo, restInfo) {
+              console.log("houseCodeBinds===>", baseInfo.data.data.houseCodeBinds)
               that.form = baseInfo.data.data
-
+              that.form.addressName = that.form.location;
               that.form.location = [
                 that.form.lng,
                 that.form.lat,
                 that.form.location,
               ].join(",")
+              if (baseInfo.data.data.houseCodeBinds) {
+                that.standardAddressList = baseInfo.data.data.houseBindList;
+                that.form.houseCodeBinds = baseInfo.data.data.houseCodeBinds.split(",")
+              }
 
               if (that.form.imageUrls && that.form.imageUrls.length) {
                 that.form.imageUrls = that.form.imageUrls
@@ -567,6 +883,9 @@
               that.baseShow = true
               const data = restInfo.data.data
 
+
+
+
               if (data) {
                 let imageUrls = data.imageUrls
                 let planImageUrls = data.planImageUrls
@@ -591,12 +910,16 @@
                   ...data,
                   imageUrls,
                   planImageUrls,
+
+
                 }
               }
 
               that.restShow = true
             })
           )
+
+        that.getPlaceAddressListRequest()
       },
 
       locationDispose(data) {
@@ -734,7 +1057,11 @@
         }
 
         delete this.form.smallLabel
+        if (Array.isArray(this.form.houseCodeBinds)) {
+          this.form.houseCodeBinds = this.form.houseCodeBinds.join(",")
+        }
 
+        this.form.placeExtEntity = null
         this.$refs.baseForm.validate((valid, done, msg) => {
           if (valid) {
             that.$axios
@@ -786,6 +1113,27 @@
         this.restShow = false
         this.roleBox = false
       },
+
+      getPlaceAddressListRequest(query) {
+        getPlaceAddressList({
+          addressName: query
+        }).then(res => {
+          this.standardAddressList = res.data.data;
+        })
+      },
+
+      onSelectChange(e) {
+        console.log("selectChange===>", e);
+        // this.getPlaceAddressListRequest()
+      },
+
+      onRemoteMethod(query) {
+        console.log("remote===>", query)
+        this.getPlaceAddressListRequest(query)
+      },
+
+
+
     },
   }
 </script>
@@ -813,4 +1161,4 @@
       justify-content: center;
     }
   }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3