shuishen
2024-01-23 60ee8093a60e2c556e304a4ec7903ca63f43c260
src/views/userHouse/houseList.vue
@@ -7,23 +7,26 @@
                    @row-save="rowSave" :before-open="beforeOpen" :page.sync="page" @search-change="searchChange"
                    @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
                    @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
                    <!-- <template slot="menuLeft"> -->
                    <!-- <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.house_del"
                    <template slot="menuLeft">
                        <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.house_del"
                            @click="handleDelete">删 除
                        </el-button> -->
                    <!-- <el-button type="success" size="small" plain v-if="userInfo.role_name.includes('admin')"
                        </el-button>
                        <!-- <el-button type="success" size="small" plain v-if="userInfo.role_name.includes('admin')"
                            icon="el-icon-upload2" @click="handleImport">导入
                        </el-button>
                        <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>
                        <el-button type="warning" size="small" plain v-if="permission.house_export"
                            icon="el-icon-download" @click="handleExport">导出
                        <!-- <el-button type="success" size="small" plain v-if="permission.house_import" icon="el-icon-upload2"
                            @click="handleImport">导入
                        </el-button> -->
                    <!-- </template> -->
                        <!-- <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"
@@ -96,7 +99,7 @@
        </el-col>
    </el-row>
</template>
<script>
import { setLabelColor } from '@/util/util'
@@ -133,7 +136,6 @@
} 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 {
@@ -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,7 +509,23 @@
            }
        }
    },
    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 () {
@@ -512,6 +550,17 @@
                }
            }
        },
        showLocation () {
            return (data) => {
                if (data != null && data.indexOf(',') != -1) {
                    data = data.split(',')
                    return data[2]
                } else {
                    return data || ''
                }
            }
        },
        labelDispose () {
            return (list) => {
@@ -527,6 +576,15 @@
    },
    mounted () { },
    methods: {
        locationDispose (data) {
            data = data.split(',')
            return {
                lng: data[0],
                lat: data[1],
                address: data[2]
            }
        },
        onsubmit () {
            if (this.labelForm.color === '#EBEDF0') {
@@ -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({
@@ -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({
@@ -752,6 +811,8 @@
                }).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) {
                            var urls = []
@@ -812,7 +873,7 @@
    }
}
</script>
<style>
.box {
    height: 800px;