zhongrj
2024-01-23 8b2f2429f0b176264ff8ba0fb5617f9312932837
区域展示,机构、房屋修改
3 files modified
143 ■■■■ changed files
src/views/base/region.vue 2 ●●● patch | view | raw | blame | history
src/views/system/dept.vue 2 ●●● patch | view | raw | blame | history
src/views/userHouse/houseList.vue 139 ●●●● patch | view | raw | blame | history
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 {
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",
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]
        }
    }