From e27410aca7eb65b11fec83adb39643399bf3a6b4 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 16 Mar 2024 15:23:18 +0800
Subject: [PATCH] 演示分支,系统名称更改

---
 src/views/place/components/baseAllInfo.vue | 1482 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 975 insertions(+), 507 deletions(-)

diff --git a/src/views/place/components/baseAllInfo.vue b/src/views/place/components/baseAllInfo.vue
index 06842f8..f291632 100644
--- a/src/views/place/components/baseAllInfo.vue
+++ b/src/views/place/components/baseAllInfo.vue
@@ -1,545 +1,1013 @@
 <template>
+  <el-dialog class="place-info-box" title="场所维护" append-to-body :visible.sync="roleBox" center @close="roleBoxClose">
     <div class="cur-container-box">
-        <div class="content-box">
-            <box-title class="m10" :classVal="9" :title="'基本信息'"></box-title>
-            <avue-form ref="baseForm" :option="option" v-model="form"></avue-form>
+      <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">
+        </avue-form>
 
-            <box-title class="m10" :classVal="9" :title="'其他信息'"></box-title>
-            <avue-form ref="restForm" :option="optionDetail" v-model="placeForm"></avue-form>
 
-            <box-title class="m10" :classVal="9" :title="'从业人员'"></box-title>
-            <avue-crud :option="placeOption" :table-loading="loading" :data="placeExt" ref="crud" v-model="houseHoldForm"
-                :permission="permissionList" @row-del="houseHoldRowDel" @row-update="houseHoldRowUpdate"
-                @row-save="houseHoldRowSave" :page.sync="holdPage" @current-change="holdCurrentChange"
-                @size-change="holdSizeChange" @refresh-change="refreshHoldChange" @on-load="holdOnLoad">
-            </avue-crud>
-        </div>
+        <box-title class="m10" :classVal="9" :title="'房东信息'"></box-title>
+        <avue-form v-if="restShow" ref="restForm" :option="houseOwnerOption" v-model="form"></avue-form>
 
-        <div class="footer-btn-box">
-            <el-button size="small" type="primary" @click="dataUpdate">保 存</el-button>
+        <box-title class="m10" :classVal="9" :title="'其他信息'"></box-title>
+        <avue-form v-if="restShow" ref="restForm" :option="optionDetail" v-model="placeForm"></avue-form>
 
-            <el-button size="small" @click="closeRowDetails">关 闭</el-button>
-        </div>
+        <box-title class="m10" :classVal="9" :title="'从业人员'"></box-title>
+        <avue-crud :option="placeOption" :table-loading="loading" :data="placeExt" ref="crud" v-model="houseHoldForm"
+          :permission="permissionList" @row-del="houseHoldRowDel" @row-update="houseHoldRowUpdate"
+          @row-save="houseHoldRowSave" :page.sync="holdPage" @current-change="holdCurrentChange"
+          @size-change="holdSizeChange" @refresh-change="refreshHoldChange" @on-load="holdOnLoad">
+        </avue-crud>
+      </div>
+
+      <div class="footer-btn-box">
+        <el-button size="small" type="primary" @click="dataUpdate">保 存</el-button>
+
+        <el-button size="small" @click="roleBoxClose">关 闭</el-button>
+      </div>
     </div>
+  </el-dialog>
 </template>
 
 <script>
 import {
-    getPlace,
-    getPlaceExt,
-
-    holdRemove,
-    holdAdd,
-    holdUpdate,
-    getHoldList,
-
-    update,
-    updatePlaceExt,
+  getPlaceDetaill,
+  getPlaceExt,
+  holdRemove,
+  holdAdd,
+  holdUpdate,
+  getHoldList,
+  update,
+  updatePlaceExt,
 } from "@/api/place/place"
+import {
+  getPlaceList
+} from "@/api/doorplateAddress/doorplateAddress"
+import website from "@/config/website"
 
-import website from '@/config/website'
-
-import boxTitle from './boxTitle'
+import boxTitle from "./boxTitle"
 
 export default {
-    data () {
-        return {
-            placeExt: [],
-
-            form: {},
-            option: {
-                submitBtn: false,
-                emptyBtn: false,
-
-                column: [
-                    {
-                        span: 12,
-                        label: "场所名称",
-                        prop: "placeName",
-                        rules: [{
-                            required: true,
-                            message: "请输入场所名称",
-                            trigger: "blur",
-                        }],
-                    },
-
-                    {
-                        span: 7,
-                        label: "场所标签",
-                        prop: "label",
-                        type: "cascader",
-                        dicUrl: "/api/blade-category/category/getCategory?level=2",
-                        cascader: ["smallLabel"],
-                        props: {
-                            label: "categoryName",
-                            value: "categoryNo"
-                        },
-                        dataType: "string",
-                        hide: true,
-                        rules: [{
-                            required: true,
-                            message: "请输入场所标签",
-                            trigger: "blur",
-                        },],
-                    },
-                    {
-                        span: 5,
-                        label: "",
-                        labelWidth: 20,
-                        prop: "smallLabel",
-                        type: "cascader",
-                        dicUrl: "/api/blade-category/category/getCategory?parentNo={{label}}",
-                        props: {
-                            label: "categoryName",
-                            value: "categoryNo"
-                        },
-                        dataType: "string",
-                        hide: true,
-                    },
-
-                    {
-                        label: "负责人",
-                        prop: "principal",
-                        rules: [{
-                            required: false,
-                            message: "请输入负责人",
-                            trigger: "blur",
-                        }],
-                    },
-
-                    {
-                        width: 110,
-                        label: "电话",
-                        prop: "principalPhone",
-                        search: true,
-                        searchSpan: 4,
-                        slot: true,
-                    },
-
-                    {
-                        hide: true,
-                        parent: false,
-                        label: "所属社区",
-                        prop: "neiCode",
-                        search: false,
-                        width: 150,
-                        type: "tree",
-                        dicUrl: "/api/blade-system/region/tree",
-                        props: {
-                            label: "name",
-                            value: "id",
-                        },
-                        cascader: ["gridId"],
-                        rules: [
-                            {
-                                required: true,
-                                message: "请选择所属社区",
-                                trigger: "blur",
-                            },
-                        ],
-                    },
-                    {
-                        hide: true,
-                        label: "所属网格",
-                        prop: "gridId",
-                        type: "tree",
-                        cell: true,
-                        props: {
-                            label: "gridName",
-                            value: "id",
-                        },
-                        dicUrl:
-                            "/api/blade-grid/grid/getGridList?communityCode={{neiCode}}",
-                        rules: [
-                            {
-                                required: true,
-                                message: "请选择所属网格",
-                                trigger: "blur",
-                            },
-                        ],
-                    },
-
-                    {
-                        label: "场所照片",
-                        prop: "imageUrls",
-                        width: 80,
-                        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,
-                    },
-
-                    {
-                        width: 160,
-                        overHidden: true,
-                        slot: true,
-                        label: "位置",
-                        prop: "location",
-                        type: 'map',
-                        dataType: "string",
-                        span: 24,
-                        value: [117.966460, 28.431002, ""],
-                        rules: [
-                            {
-                                required: true,
-                                message: "请选择位置",
-                                trigger: "blur",
-                            },
-                        ],
-                    },
-                ]
-            },
-
-            placeForm: {},
-            optionDetail: {
-                submitBtn: false,
-                emptyBtn: false,
-                column: [
-                    {
-                        label: '法人信息',
-                        prop: 'legalPerson'
-                    },
-                    {
-                        label: '法人电话',
-                        prop: 'legalTel'
-                    },
-
-                    {
-                        label: "营业执照",
-                        prop: "imageUrls",
-                        width: 80,
-                        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,
-                    },
-
-                    {
-                        label: "场所平面图",
-                        prop: "planImageUrls",
-                        width: 80,
-                        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,
-                    },
-
-                ]
-            },
-
-            loading: true,
-            placeOption: {
-                menu: true,
-                height: 300,
-                calcHeight: 54,
-                dialogWidth: 950,
-                tip: false,
-                searchShow: false,
-                addBtn: true,
-                delBtn: true,
-                editBtn: true,
-                border: true,
-                index: true,
-                dialogClickModal: false,
-                column: [{
-                    label: "名称",
-                    prop: "name",
-                    searchSpan: 4,
-                    search: true,
-                }, {
-                    label: "电话",
-                    prop: "telephone",
-                    searchSpan: 4,
-                    search: true,
-                }, {
-                    label: "暂住地",
-                    prop: "tempAddress",
-                    searchSpan: 4,
-                    search: true,
-                },]
-            },
-            holdPage: {
-                pageSize: 20,
-                currentPage: 1,
-                total: 0,
-            },
-            houseHoldForm: {},
+  data() {
+    //手机号格式校验
+    let validatorPhone = function (rule, value, callback) {
+      if (value) {
+        if (!/^1[3456789]\d{9}$/.test(value)) {
+          callback(new Error("手机号格式有误!"))
+        } else {
+          callback()
         }
+      }
+      callback()
+    }
+
+    return {
+      roleBox: false,
+      baseShow: false,
+      restShow: false,
+
+      placeExt: [],
+
+      form: {},
+      option: {
+        submitBtn: false,
+        emptyBtn: false,
+
+        column: [{
+          span: 12,
+          label: "场所名称",
+          prop: "placeName",
+          rules: [{
+            required: true,
+            message: "请输入场所名称",
+            trigger: "blur",
+          },],
+        },
+
+
+
+        {
+          label: "负责人",
+          prop: "principal",
+          rules: [{
+            required: false,
+            message: "请输入负责人",
+            trigger: "blur",
+          },],
+        },
+
+        {
+          width: 96,
+          label: "手机号码",
+          prop: "principalPhone",
+          search: true,
+          searchSpan: 4,
+          slot: true,
+          overHidden: true,
+          rules: [{
+            validator: validatorPhone,
+            trigger: "blur",
+          },],
+        },
+        {
+          width: 120,
+          overHidden: true,
+          label: "身份证号",
+          prop: "principalIdCard",
+          search: true,
+          searchSpan: 4,
+          slot: true,
+          rules: [{
+            required: false,
+            message: "请输身份证号",
+            trigger: "blur",
+          }],
+        },
+
+        {
+          hide: true,
+          parent: false,
+          label: "所属社区",
+          prop: "neiCode",
+          search: false,
+          type: "tree",
+          dicUrl: "/api/blade-system/region/tree",
+          props: {
+            label: "name",
+            value: "id",
+          },
+          cascader: ["gridCode"],
+          // dicFormatter: (res) => {
+          //  return dsposeData(res.data)
+          // },
+          rules: [{
+            required: true,
+            message: "请选择所属社区",
+            trigger: "blur",
+          },],
+        },
+        {
+          hide: true,
+          label: "所属网格",
+          prop: "gridCode",
+          type: "tree",
+          cell: true,
+          props: {
+            label: "gridName",
+            value: "gridCode",
+          },
+          // dataType: 'string',
+          dicUrl: "/api/blade-grid/grid/getGridList?communityCode={{neiCode}}",
+          rules: [{
+            required: true,
+            message: "请选择所属网格",
+            trigger: "blur",
+          },],
+        },
+
+        {
+          span: 7,
+          label: "场所标签",
+          prop: "label",
+          type: "select",
+          dicUrl: "/api/blade-category/category/getCategory?level=2",
+          cascader: ["smallLabel"],
+          props: {
+            label: "categoryName",
+            value: "categoryNo",
+          },
+          dataType: "string",
+          hide: true,
+          rules: [{
+            required: true,
+            message: "请输入场所标签",
+            trigger: "blur",
+          },],
+        },
+        {
+          span: 5,
+          label: "",
+          labelWidth: 20,
+          prop: "smallLabel",
+          type: "select",
+          dicUrl: "/api/blade-category/category/getCategory?parentNo={{label}}",
+          props: {
+            label: "categoryName",
+            value: "categoryNo",
+          },
+          dataType: "string",
+          hide: true,
+        },
+
+        {
+          span: 12,
+          label: "标签颜色",
+          prop: "color",
+          type: "select",
+          dicData: [{
+            label: "绿",
+            value: "green",
+          },
+          {
+            label: "黄",
+            value: "yellow",
+          },
+          {
+            label: "红",
+            value: "red",
+          },
+          ],
+          props: {
+            label: "label",
+            value: "value",
+          },
+          hide: true,
+        },
+        {
+          span: 12,
+          label: "九小场所",
+          prop: "isNine",
+          type: "select",
+          dicData: [{
+            label: "是",
+            value: 1,
+          },
+          {
+            label: "否",
+            value: 2,
+          }
+          ],
+          rules: [{
+            required: true,
+            message: "请选择九小分类",
+            trigger: "blur",
+          },],
+          hide: true,
+        },
+        {
+          span: 12,
+          label: "九小分类",
+          prop: "nineType",
+          type: "select",
+          display: false,
+          dicUrl: "/api/blade-system/dict-biz/dictionary?code=nineType",
+          dataType: "number",
+          hide: true,
+          props: {
+            label: "dictValue",
+            value: "dictKey",
+          },
+        },
+        {
+          span: 12,
+          label: "阵地",
+          prop: "isFront",
+          type: "select",
+          dicData: [{
+            label: "是",
+            value: 1,
+          },
+          {
+            label: "否",
+            value: 2,
+          }
+          ],
+          hide: true,
+          rules: [{
+            required: true,
+            message: "请选择阵地",
+            trigger: "blur",
+          },],
+        },
+        {
+          span: 12,
+          label: "阵地类型",
+          prop: "frontType",
+          type: "select",
+          display: false,
+          row: true,
+          dicUrl: "/api/blade-system/dict-biz/dictionary?code=frontType",
+          dataType: "number",
+          hide: true,
+          props: {
+            label: "dictValue",
+            value: "dictKey",
+          },
+        },
+        {
+          label: "场所照片",
+          prop: "imageUrls",
+          width: 80,
+          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: 12,
+        },
+        {
+          width: 160,
+          overHidden: true,
+          slot: true,
+          label: "地址",
+          prop: "location",
+          type: "map",
+          dataType: "string",
+          span: 12,
+          value: [117.96646, 28.431002, ""],
+          cascader: ['houseCodeBinds'],
+          rules: [{
+            required: true,
+            message: "请选择地址",
+            trigger: "blur",
+          },],
+        },
+        {
+          width: 160,
+          overHidden: true,
+          display: false,
+          hide: true,
+          label: "地址",
+          prop: "addressName",
+          span: 12
+        },
+
+        {
+          width: 160,
+          overHidden: true,
+          slot: true,
+          label: "标准地址",
+          prop: "houseCodeBinds",
+          span: 24,
+          type: 'tree',
+          dataType: "object",
+          remote: true,
+          multiple: true,
+          hide: true,
+          display: false,
+          dicUrl: `/api/blade-doorplateAddress/doorplateAddress/getPlaceList?addressName={{addressName}}`,
+          props: {
+            label: 'addressName',
+            value: 'addressCode',
+          },
+          dicData: [],
+          rules: [{
+            required: false,
+            message: "请选择地址",
+            trigger: "blur",
+          },],
+        },
+        {
+          label: "备注",
+          prop: "remark",
+          type: 'textarea',
+          hide: true,
+          span: 24,
+          rules: [{
+            required: false,
+            message: "请输入场所备注",
+            trigger: "blur",
+          },],
+        },
+        ],
+      },
+
+      placeForm: {},
+      optionDetail: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [{
+          labelWidth: 100,
+          label: "法人信息",
+          prop: "legalPerson",
+        },
+
+        {
+          labelWidth: 100,
+          label: "法人电话",
+          prop: "legalTel",
+          search: true,
+          searchSpan: 4,
+          slot: true,
+          overHidden: true,
+          rules: [{
+            validator: validatorPhone,
+            trigger: "blur",
+          },],
+        },
+
+
+        {
+          label: "营业执照",
+          prop: "imageUrls",
+          width: 80,
+          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,
+        },
+
+        {
+          label: "场所平面图",
+          prop: "planImageUrls",
+          width: 80,
+          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,
+        },
+        ],
+      },
+
+      loading: true,
+      placeOption: {
+        menu: true,
+        height: 300,
+        calcHeight: 54,
+        dialogWidth: 950,
+        tip: false,
+        searchShow: false,
+        addBtn: true,
+        delBtn: true,
+        editBtn: true,
+        border: true,
+        index: true,
+        dialogClickModal: false,
+        column: [{
+          labelWidth: 100,
+          label: "名称",
+          prop: "name",
+          searchSpan: 4,
+          search: true,
+        },
+
+        {
+          labelWidth: 100,
+          label: "手机号码",
+          prop: "telephone",
+          search: true,
+          searchSpan: 4,
+          slot: true,
+          overHidden: true,
+          rules: [{
+            validator: validatorPhone,
+            trigger: "blur",
+          },],
+        },
+
+        {
+          labelWidth: 100,
+          label: "暂住地",
+          prop: "tempAddress",
+          searchSpan: 4,
+          search: true,
+        },
+        {
+          labelWidth: 100,
+          label: "微信号",
+          prop: "wxAccount",
+        },
+       
+        {
+          labelWidth: 100,
+          label: "性别",
+          prop: "gender",
+          type: "select",
+          dicData: [{
+            label: "男",
+            value: 1
+          },
+          {
+            label: "女",
+            value: 0
+          },
+          {
+            label: "未知",
+            value: "3"
+          }
+          ],
+        },
+        {
+          labelWidth: 100,
+          label: "身份证号",
+          prop: "idCard",
+        },
+        {
+          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: "employer",
+          hide:true
+        },
+        {
+          labelWidth: 100,
+          label: "岗位性质",
+          prop: "jobNature",
+          hide:true
+        },
+        {
+          labelWidth: 100,
+          label: "户籍地址",
+          prop: "registeredAddress",
+        },
+        ]
+      },
+      holdPage: {
+        pageSize: 20,
+        currentPage: 1,
+        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",
+            },],
+          },
+          {
+            width: 96,
+            label: "微信号",
+            prop: "legalTel",
+            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",
+            },],
+          },
+
+
+
+        ],
+      },
+    }
+  },
+
+  components: {
+    boxTitle
+  },
+
+  inject: ["placeElement"],
+
+  watch: {
+
+    'form.houseBindList': {
+      handler(newData) {
+        console.log("=======>", newData)
+      }
     },
 
-    components: { boxTitle },
+    'form.isNine': {
+      handler(newData) {
+        if (newData) {
+          let nineTypeColumn = this.findObject(
+            this.option.column,
+            'nineType'
+          )
 
-    inject: ["placeElement"],
-
-    watch: {
-        'placeElement.curRow': {
-            handler (newData) {
-                const that = this
-                if (newData && 'id' in newData && newData['id'] != null && newData['id'] != '') {
-
-                    that.$axios.all([
-                        getPlace(newData['id']),
-                        getPlaceExt({ placeId: newData['id'] }),
-                    ]).then(that.$axios.spread(function (baseInfo, restInfo) {
-                        that.form = baseInfo.data.data
-
-                        that.form.location = [that.form.lng, that.form.lat, that.form.location].join(',')
-
-                        if (that.form.imageUrls && that.form.imageUrls.length) {
-                            that.form.imageUrls = that.form.imageUrls.split(",").filter(item => item != '').map(item => website.minioUrl + item).join(',')
-                        }
-
-                        if (that.form.placePoiLabelVOList && that.form.placePoiLabelVOList.length) {
-                            let lebelTwo = that.form.placePoiLabelVOList.find(item => {
-                                return item.type == 2
-                            })
-
-                            if (lebelTwo) that.form.label = String(lebelTwo.poiCode)
-
-                            let lebelThree = that.form.placePoiLabelVOList.find(item => {
-                                return item.type == 3
-                            })
-
-                            if (lebelThree) that.form.smallLabel = String(lebelThree.poiCode)
-                        }
-
-                        const data = restInfo.data.data
-
-                        if (data) {
-                            let imageUrls = data.imageUrls
-                            let planImageUrls = data.planImageUrls
-
-                            if (imageUrls && imageUrls.length) {
-                                imageUrls = imageUrls.split(',').filter(item => item != '').map(item => website.minioUrl + item).join(",")
-                            }
-
-                            if (planImageUrls && planImageUrls.length) {
-                                planImageUrls = planImageUrls.split(',').filter(item => item != '').map(item => website.minioUrl + item).join(",")
-                            }
-
-                            that.placeForm = {
-                                ...data,
-                                imageUrls,
-                                planImageUrls
-                            }
-                        }
-
-                    }))
-
-                    that.holdOnLoad(this.holdPage)
-                }
-            },
-            immediate: true
+          if (newData == 1) {
+            nineTypeColumn.display = true
+          } else {
+            nineTypeColumn.display = false
+          }
         }
+      },
     },
+    'form.isFront': {
+      handler(newData) {
+        if (newData) {
+          let frontTypeColumn = this.findObject(
+            this.option.column,
+            'frontType'
+          )
 
-    methods: {
-        locationDispose (data) {
-            data = data.split(',')
+          if (newData == 1) {
+            frontTypeColumn.display = true
+          } else {
+            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
+      this.restShow = false
+      this.form = {}
+      this.placeForm = {}
 
-            return {
-                longitude: data[0],
-                latitude: data[1],
-                location: data[2]
+      const that = this
+
+      that.$axios
+        .all([getPlaceDetaill(newData["houseCode"]), getPlaceExt({
+          placeId: newData["id"]
+        }), getPlaceList()])
+        .then(
+          that.$axios.spread(function (baseInfo, restInfo) {
+            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 (that.form.imageUrls && that.form.imageUrls.length) {
+              that.form.imageUrls = that.form.imageUrls
+                .split(",")
+                .filter((item) => item != "")
+                .map((item) => website.minioUrl + item)
+                .join(",")
             }
-        },
 
-        selectionClear () {
-            this.$nextTick(() => {
-                this.$refs.crud && this.$refs.crud.toggleSelection()
-            })
-        },
+            if (
+              that.form.placePoiLabelVOList &&
+              that.form.placePoiLabelVOList.length
+            ) {
+              let lebelTwo = that.form.placePoiLabelVOList.find((item) => {
+                return item.type == 2
+              })
 
-        houseHoldRowUpdate (row, index, done, loading) {
-            holdUpdate(row).then(
-                () => {
-                    this.holdOnLoad(this.holdPage)
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                    done()
-                },
-                (error) => {
-                    window.console.log(error)
-                    loading()
-                }
+              if (lebelTwo) that.form.label = String(lebelTwo.poiCode)
+
+              let lebelThree = that.form.placePoiLabelVOList.find((item) => {
+                return item.type == 3
+              })
+
+              if (lebelThree) that.form.smallLabel = String(lebelThree.poiCode)
+            }
+
+            that.baseShow = true
+            const data = restInfo.data.data
+
+            if (data) {
+              let imageUrls = data.imageUrls
+              let planImageUrls = data.planImageUrls
+
+              if (imageUrls && imageUrls.length) {
+                imageUrls = imageUrls
+                  .split(",")
+                  .filter((item) => item != "")
+                  .map((item) => website.minioUrl + item)
+                  .join(",")
+              }
+
+              if (planImageUrls && planImageUrls.length) {
+                planImageUrls = planImageUrls
+                  .split(",")
+                  .filter((item) => item != "")
+                  .map((item) => website.minioUrl + item)
+                  .join(",")
+              }
+
+              that.placeForm = {
+                ...data,
+                imageUrls,
+                planImageUrls,
+              }
+            }
+
+            that.restShow = true
+          })
+        )
+    },
+
+    locationDispose(data) {
+      data = data.split(",")
+
+      return {
+        longitude: data[0],
+        latitude: data[1],
+        location: data[2],
+      }
+    },
+
+    selectionClear() {
+      this.$nextTick(() => {
+        this.$refs.crud && this.$refs.crud.toggleSelection()
+      })
+    },
+
+    houseHoldRowUpdate(row, index, done, loading) {
+      holdUpdate(row).then(
+        () => {
+          this.holdOnLoad(this.holdPage)
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+          done()
+        },
+        (error) => {
+          window.console.log(error)
+          loading()
+        }
+      )
+    },
+
+    houseHoldRowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return holdRemove(row.id)
+        })
+        .then(() => {
+          this.holdOnLoad(this.holdPage)
+
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+        })
+    },
+
+    houseHoldRowSave(row, done, loading) {
+      holdAdd({
+        ...row,
+        placeId: this.curRow.id,
+      }).then(
+        () => {
+          this.holdOnLoad(this.holdPage)
+
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+          done()
+        },
+        (error) => {
+          window.console.log(error)
+          loading()
+        }
+      )
+    },
+
+    refreshHoldChange() {
+      this.holdOnLoad(this.holdPage)
+    },
+
+    holdOnLoad(holdPage, params = {}) {
+      if (!this.curRow.id) return
+
+      let values = {
+        ...params,
+        placeId: this.curRow.id,
+      }
+
+      getHoldList(holdPage.currentPage, holdPage.pageSize, values).then(
+        (res) => {
+          const data = res.data.data
+
+          this.holdPage.total = data.total
+          this.placeExt = data.records
+
+          this.loading = false
+          this.selectionClear()
+        }
+      )
+    },
+
+    holdCurrentChange(currentPage) {
+      this.holdPage.currentPage = currentPage
+    },
+
+    holdSizeChange(pageSize) {
+      this.holdPage.pageSize = pageSize
+    },
+
+    desposeImage(data) {
+      if (data) {
+        if (data.length > 0) {
+          var urls = []
+          var split = data.split(",").filter((item) => item != "")
+          split.forEach((url) => {
+            var names = url.split("jczz/")
+            urls.push(names[1])
+          })
+          data = urls.join(",")
+        }
+      }
+      return data
+    },
+
+    dataUpdate() {
+      const that = this
+
+      let imageUrls = this.desposeImage(this.form.imageUrls)
+      let placeImages = this.desposeImage(this.placeForm.imageUrls)
+      let placePlanImageUrls = this.desposeImage(this.placeForm.planImageUrls)
+
+      let label = this.form.label
+
+      if (this.form.smallLabel != "") {
+        label = label + "," + this.form.smallLabel
+      }
+
+      delete this.form.smallLabel
+      if(Array.isArray(this.form.houseCodeBinds) ){
+         this.form.houseCodeBinds = this.form.houseCodeBinds.join(",")
+      }
+      
+
+      this.$refs.baseForm.validate((valid, done, msg) => {
+        if (valid) {
+          that.$axios
+            .all([
+              update({
+                // ...this.placeElement.curRow,
+                ...this.form,
+                imageUrls,
+                label,
+                ...this.locationDispose(this.form.location),
+              }),
+              updatePlaceExt({
+                ...this.placeForm,
+                imageUrls: placeImages,
+                planImageUrls: placePlanImageUrls,
+              }),
+            ])
+            .then(
+              that.$axios.spread(function () {
+                that.$message({
+                  type: "success",
+                  message: "操作成功!",
+                })
+
+                that.roleBoxClose()
+
+                that.placeElement.onLoad(
+                  that.placeElement.page,
+                  that.placeElement.query
+                )
+
+                done()
+              })
             )
-        },
-
-        houseHoldRowDel (row) {
-            this.$confirm("确定将选择数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    return holdRemove(row.id)
-                })
-                .then(() => {
-                    this.holdOnLoad(this.holdPage)
-
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                })
-        },
-
-        houseHoldRowSave (row, done, loading) {
-            holdAdd({
-                ...row,
-                placeId: this.placeElement.curRow.id
-            }).then(
-                () => {
-                    this.holdOnLoad(this.holdPage)
-
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                    done()
-                },
-                (error) => {
-                    window.console.log(error)
-                    loading()
-                }
-            )
-        },
-
-        refreshHoldChange () {
-            this.holdOnLoad(this.holdPage)
-        },
-
-        holdOnLoad (holdPage, params = {}) {
-            if (!this.placeElement.curRow.id) return
-
-            let values = {
-                ...params,
-                placeId: this.placeElement.curRow.id
-            }
-
-            getHoldList(holdPage.currentPage, holdPage.pageSize, values).then((res) => {
-                const data = res.data.data
-
-                this.holdPage.total = data.total
-                this.placeExt = data.records
-
-                this.loading = false
-                this.selectionClear()
-            })
-        },
-
-        holdCurrentChange (currentPage) {
-            this.holdPage.currentPage = currentPage
-        },
-
-        holdSizeChange (pageSize) {
-            this.holdPage.pageSize = pageSize
-        },
-
-        dataUpdate () {
-            const that = this
-
-            let imageUrls = this.form.imageUrls
-
-            if (imageUrls.length > 0) {
-                var urls = []
-                var split = imageUrls.split(",").filter(item => item != '')
-                split.forEach(url => {
-                    var names = url.split("jczz/")
-                    urls.push(names[1])
-                })
-                imageUrls = urls.join(",")
-            }
-
-            let label = this.form.label
-
-            if (this.form.smallLabel != '') {
-                label = label + ',' + this.form.smallLabel
-            }
-
-            delete this.form.smallLabel
-
-            this.$refs.baseForm.validate((valid, done, msg) => {
-                if (valid) {
-                    that.$axios.all([
-                        update({
-                            // ...this.placeElement.curRow,
-                            ...this.form,
-                            imageUrls,
-                            label,
-                            ...this.locationDispose(this.form.location)
-                        }),
-                        updatePlaceExt(this.placeForm)
-                    ]).then(that.$axios.spread(function () {
-                        that.$message({
-                            type: "success",
-                            message: "操作成功!",
-                        })
-
-                        that.closeRowDetails()
-
-                        that.placeElement.onLoad(that.placeElement.page, that.placeElement.query)
-
-                        done()
-                    }))
-                } else {
-                    console.log('error submit!!')
-                    return false
-                }
-            })
-        },
-
-        closeRowDetails () {
-            this.placeElement.roleBox = false
+        } else {
+          console.log("error submit!!")
+          return false
         }
+      })
     },
+
+    roleBoxClose() {
+      this.form = {}
+      this.placeForm = {}
+
+      this.$refs.baseForm && this.$refs.baseForm.resetForm()
+      this.$refs.restForm && this.$refs.restForm.resetForm()
+      this.baseShow = false
+      this.restShow = false
+      this.roleBox = false
+    },
+  },
 }
 </script>
 
 <style lang="scss" scoped>
 .cur-container-box {
-    display: flex;
-    flex-direction: column;
-    width: 100%;
-    height: 100%;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  height: 100%;
+  overflow: hidden;
+
+  .content-box {
+    margin: 0 4px;
+    padding: 0 10px;
+    height: 0;
+    flex: 1;
     overflow: hidden;
+    overflow-y: auto;
+  }
 
-    .content-box {
-        margin: 0 4px;
-        padding: 0 10px;
-        height: 0;
-        flex: 1;
-        overflow: hidden;
-        overflow-y: auto;
-    }
-
-    .footer-btn-box {
-        margin-top: 10px;
-        display: flex;
-        justify-content: center;
-    }
+  .footer-btn-box {
+    margin-top: 10px;
+    display: flex;
+    justify-content: center;
+  }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3