From 8b2f2429f0b176264ff8ba0fb5617f9312932837 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 23 Jan 2024 17:45:37 +0800
Subject: [PATCH] 区域展示,机构、房屋修改

---
 src/views/system/dept.vue         |    2 
 src/views/userHouse/houseList.vue |  139 +++++++++++++++++++++++++++++++++-------------
 src/views/base/region.vue         |    2 
 3 files changed, 102 insertions(+), 41 deletions(-)

diff --git a/src/views/base/region.vue b/src/views/base/region.vue
index 62e43bb..72831f9 100644
--- a/src/views/base/region.vue
+++ b/src/views/base/region.vue
@@ -72,7 +72,7 @@
           nodeKey: 'id',
           lazy: true,
           treeLoad: function (node, resolve) {
-            const parentCode = (node.level === 0) ? "361102" : node.data.id;
+            const parentCode = (node.level === 0) ? "0" : node.data.id;
             getLazyTree(parentCode).then(res => {
               resolve(res.data.data.map(item => {
                 return {
diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue
index 0da07eb..eb50093 100644
--- a/src/views/system/dept.vue
+++ b/src/views/system/dept.vue
@@ -140,7 +140,7 @@
             label: "管辖区域",
             prop: "regionCode",
             type: "tree",
-            dicUrl: "/api/blade-system/region/tree?cityCode=361100000000",
+            dicUrl: "/api/blade-system/region/tree?cityCode=361100",
             props: {
               label: "name",
               value: "id",
diff --git a/src/views/userHouse/houseList.vue b/src/views/userHouse/houseList.vue
index 7118fa2..392c052 100644
--- a/src/views/userHouse/houseList.vue
+++ b/src/views/userHouse/houseList.vue
@@ -17,20 +17,23 @@
                         <el-button type="warning" size="small" plain v-if="userInfo.role_name.includes('admin')"
                             icon="el-icon-download" @click="handleExport">导出
                         </el-button> -->
-                        <el-button type="success" size="small" plain v-if="permission.house_import"
-                            icon="el-icon-upload2" @click="handleImport">导入
+                        <el-button type="success" size="small" plain v-if="permission.house_import" icon="el-icon-upload2"
+                            @click="handleImport">导入
                         </el-button>
-                        <el-button type="warning" size="small" plain v-if="permission.house_export"
-                            icon="el-icon-download" @click="handleExport">导出
+                        <el-button type="warning" size="small" plain v-if="permission.house_export" icon="el-icon-download"
+                            @click="handleExport">导出
                         </el-button>
+                    </template>
+                    <template slot-scope="{row}" slot="location">
+                        <span v-text="showLocation(row.location)"></span>
                     </template>
 
                     <template slot-scope="{row, size}" slot="menu">
                         <el-button :size="size" type="text" icon="el-icon-circle-plus-outline"
                             v-if="permission.house_manager" @click="handleHouseholdManager(row)">住户管理
                         </el-button>
-                        <el-button :size="size" type="text" icon="el-icon-circle-plus-outline"
-                            v-if="permission.house_tag" @click="manageLabel(row)">标签
+                        <el-button :size="size" type="text" icon="el-icon-circle-plus-outline" v-if="permission.house_tag"
+                            @click="manageLabel(row)">标签
                         </el-button>
                     </template>
 
@@ -133,14 +136,13 @@
 } from "@/util/date"
 import NProgress from 'nprogress'
 import 'nprogress/nprogress.css'
-import func from "@/util/func"
 import householdManager from "./components/householdManager"
 import Qs from "qs"
 export default {
     components: {
         householdManager
     },
-    data () {
+    data() {
 
         //手机号格式校验
         let validatorPhone = function (rule, value, callback) {
@@ -237,12 +239,32 @@
                         overHidden: true,
                         label: '地址',
                         parent: false,
-                        prop: "houseName",
+                        prop: "address",
                         display: false,
                         searchLabelWidth: 66,
                         searchSpan: 4,
                         search: true,
                     },
+                    {
+                        overHidden: true,
+                        slot: true,
+                        label: "地址",
+                        prop: "location",
+                        type: 'map',
+                        disabled: false,
+                        dataType: "string",
+                        searchLabelWidth: 66,
+                        hide:true,
+                        value: [117.966460, 28.431002, ""],
+                        rules: [
+                            {
+                                required: true,
+                                message: "请选择巡查地址",
+                                trigger: "blur",
+                            },
+                        ],
+                    },
+
                     {
                         hide: true,
                         parent: false,
@@ -487,10 +509,26 @@
             }
         }
     },
-    watch: {},
+    watch: {
+        'form.source': {
+            handler(newData) {
+
+                let locationColumn = this.findObject(
+                    this.option.column,
+                    'location'
+                )
+
+                if (newData == 1) {
+                    locationColumn.disabled = true
+                } else {
+                    locationColumn.disabled = false
+                }
+            },
+        },
+    },
     computed: {
         ...mapGetters(["userInfo", "permission"]),
-        permissionList () {
+        permissionList() {
             return {
                 addBtn: this.vaildData(this.permission.house_add, true),
                 viewBtn: this.vaildData(this.permission.house_view, true),
@@ -499,7 +537,7 @@
             }
         },
 
-        textDispose () {
+        textDispose() {
             return (row, flag, type) => {
                 if (row[flag] || row[type] == null) {
                     return row[type]
@@ -512,23 +550,43 @@
                 }
             }
         },
+        showLocation() {
+            return (data) => {
+                if (data != null && data.indexOf(',') != -1) {
+                    data = data.split(',')
 
-        labelDispose () {
+                    return data[2]
+                } else {
+                    return data || ''
+                }
+            }
+        },
+
+        labelDispose() {
             return (list) => {
                 return list.map(item => item.labelName).join(',')
             }
         },
 
-        getColor () {
+        getColor() {
             return (data) => {
                 return setLabelColor(data)
             }
         }
     },
-    mounted () { },
+    mounted() { },
     methods: {
+        locationDispose(data) {
+            data = data.split(',')
 
-        onsubmit () {
+            return {
+                lng: data[0],
+                lat: data[1],
+                address: data[2]
+            }
+        },
+
+        onsubmit() {
             if (this.labelForm.color === '#EBEDF0') {
                 let params = {
                     householdId: this.currentRow.id,
@@ -560,13 +618,13 @@
             }
         },
 
-        changLabel (item) {
+        changLabel(item) {
             this.editLabelFlge = true
             this.currentLabel = item
             this.labelForm.color = item.color
             this.labelForm.remark = item.remark
         },
-        manageLabel (item) {
+        manageLabel(item) {
             this.loading = true
             this.currentRow = item
             this.labelFlag = true
@@ -600,14 +658,14 @@
                 })
             })
         },
-        handleHouseholdManager (row) {
+        handleHouseholdManager(row) {
             var that = this
             this.householdManagerVisible = true
             this.$nextTick(() => {
                 that.$refs.householdManager.init(row)
             })
         },
-        rowSave (row, done, loading) {
+        rowSave(row, done, loading) {
             if (row.imageUrls.length > 0) {
                 var urls = []
                 var split = row.imageUrls.split(",")
@@ -618,7 +676,8 @@
                 row.imageUrls = urls.join(",")
             }
 
-            add(row).then(() => {
+            add({...row,...this.locationDispose(row.location)}
+            ).then(() => {
                 this.initFlag = false
                 this.onLoad(this.page)
                 this.$message({
@@ -631,7 +690,7 @@
                 loading()
             })
         },
-        rowUpdate (row, index, done, loading) {
+        rowUpdate(row, index, done, loading) {
             if (row.imageUrls.length > 0) {
                 var urls = []
                 var split = row.imageUrls.split(",")
@@ -642,7 +701,7 @@
                 row.imageUrls = urls.join(",")
             }
 
-            update(row).then(() => {
+            update({...row,...this.locationDispose(row.location)}).then(() => {
                 this.initFlag = false
                 this.onLoad(this.page)
                 this.$message({
@@ -655,7 +714,7 @@
                 loading()
             })
         },
-        rowDel (row) {
+        rowDel(row) {
             this.$confirm("确定将选择数据删除?", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",
@@ -672,25 +731,25 @@
                     })
                 })
         },
-        searchReset () {
+        searchReset() {
             this.query = {}
             this.treeDeptId = ''
             this.onLoad(this.page)
         },
-        searchChange (params, done) {
+        searchChange(params, done) {
             this.query = params
             this.page.currentPage = 1
             this.onLoad(this.page, params)
             done()
         },
-        selectionChange (list) {
+        selectionChange(list) {
             this.selectionList = list
         },
-        selectionClear () {
+        selectionClear() {
             this.selectionList = []
             this.$refs.crud.toggleSelection()
         },
-        handleDelete () {
+        handleDelete() {
             if (this.selectionList.length === 0) {
                 this.$message.warning("请选择至少一条数据")
                 return
@@ -712,16 +771,16 @@
                     this.$refs.crud.toggleSelection()
                 })
         },
-        handleImport () {
+        handleImport() {
             this.excelBox = true
         },
-        uploadAfter (res, done, loading, column) {
+        uploadAfter(res, done, loading, column) {
             window.console.log(column)
             this.excelBox = false
             this.refreshChange()
             done()
         },
-        handleExport () {
+        handleExport() {
             this.$confirm("是否导出房屋数据?", "提示", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",
@@ -740,17 +799,19 @@
                 })
             })
         },
-        handleTemplate () {
+        handleTemplate() {
             exportBlob(`/api/blade-system/user/export-template?${this.website.tokenHeader}=${getToken()}`).then(res => {
                 downloadXls(res.data, "房屋数据模板.xlsx")
             })
         },
-        beforeOpen (done, type) {
+        beforeOpen(done, type) {
             if (["edit", "view"].includes(type)) {
                 getDetatil({
                     id: this.form.id
                 }).then(res => {
                     this.form = res.data.data
+
+                    this.form.location = [this.form.lng, this.form.lat, this.form.address].join(',')
 
                     if (this.form.imageUrls) {
                         if (this.form.imageUrls.length > 0) {
@@ -767,16 +828,16 @@
             this.initFlag = true
             done()
         },
-        currentChange (currentPage) {
+        currentChange(currentPage) {
             this.page.currentPage = currentPage
         },
-        sizeChange (pageSize) {
+        sizeChange(pageSize) {
             this.page.pageSize = pageSize
         },
-        refreshChange () {
+        refreshChange() {
             this.onLoad(this.page, this.query)
         },
-        onLoad (page, params = {}) {
+        onLoad(page, params = {}) {
             this.loading = true
 
             getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
@@ -806,7 +867,7 @@
                 this.selectionClear()
             })
         },
-        showStringDispose (row, type) {
+        showStringDispose(row, type) {
             row[type] = !row[type]
         }
     }

--
Gitblit v1.9.3