shuishen
2024-01-08 7721112c92ef1df7e644dba7a97fc9927d9825cf
走访日志选择人员调整
1 files modified
182 ■■■■ changed files
src/views/cGovernance/gridWorkLog.vue 182 ●●●● patch | view | raw | blame | history
src/views/cGovernance/gridWorkLog.vue
@@ -6,6 +6,10 @@
            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad">
            <template slot="householdIdType" slot-scope="{item,value,label}">
                <span>{{ showNamePhone(item) }}</span>
            </template>
            <template slot="menuLeft">
                <el-button size="small" icon="el-icon-delete" plain v-if="permission.gridWorkLog_delete"
                    @click="handleDelete">删 除
@@ -16,6 +20,7 @@
</template>
<script>
import { getAllHouseHold } from "@/api/userHouse/list/houseHold"
import { getList, remove, update, add, getGridWorkLog } from "@/api/grid/gridWorkLog"
import { getList as getHouseholdList, getDetatils as getHouseholdDetail } from "@/api/userHouse/list/houseHold"
import { mapGetters } from "vuex"
@@ -87,6 +92,9 @@
                        },
                        searchSpan: 4,
                        search: true,
                        change: ({ value, column, item, dic }) => {
                            this.getUserList(value)
                        },
                        rules: [
                            {
                                required: true,
@@ -107,112 +115,33 @@
                    },
                    {
                        disabled: true,
                        label: "被访人姓名",
                        prop: "householdId",
                        type: 'select',
                        remote: true,
                        hide: true,
                        type: "table",
                        span: 12,
                        children: {
                            border: true,
                            height: 400,
                            searchShow: true,
                            searchMenuSpan: 6,
                            submitText: "确定",
                            column: [
                                {
                                    width: 110,
                                    label: "姓名",
                                    prop: "name",
                                    search: true,
                                    searchSpan: 4,
                                    rules: [
                                        {
                                            required: true,
                                            message: "请输入姓名",
                                            trigger: "blur",
                                        },
                                    ],
                                },
                                {
                                    width: 120,
                                    label: "联系方式",
                                    prop: "phoneNumber",
                                    search: true,
                                    searchSpan: 4,
                                    rules: [
                                        {
                                            required: true,
                                            message: "请输入联系方式",
                                            trigger: "blur",
                                        },
                                    ],
                                },
                                {
                                    label: "地址",
                                    search: true,
                                    searchSpan: 8,
                                    prop: "currentAddress",
                                    display: false
                                },
                            ],
                        dicUrl: "",
                        props: {
                            label: 'name',
                            value: 'id',
                        },
                        page: {
                            pageSize: 10,
                            currentPage: 1,
                            total: 0
                        },
                        dicData: [],
                        formatter: (row) => {
                            this.form.phone = row.phoneNumber
                            this.form.address = row.currentAddress
                            return row.name
                        },
                        onLoad: ({
                            page,
                            value,
                            data
                        }, callback) => {
                            //首次加载去查询对应的值
                            if (value) {
                                getHouseholdDetail(value).then(res => {
                                    var resData = res.data.data
                                    // 查询对应行数据
                                    callback(resData)
                                    return
                                })
                            }
                            if (page) {
                                this.loading = true
                                var params = {
                                    ...data,
                                    townStreetCode: "361102005"
                                }
                                getHouseholdList(page.currentPage, page.pageSize, Object.assign(params)).then(res => {
                                    const resData = res.data.data
                                    var total = resData.total
                                    var data = resData.records
                                    this.loading = false
                                    this.selectionClear()
                                    //分页查询信息
                                    callback({
                                        total: total,
                                        data: data
                                    })
                                })
                            }
                        },
                        props: {
                            label: 'name',
                            value: 'id'
                        },
                        rules: [
                            {
                                required: true,
                                message: "请选择被访人姓名",
                                trigger: "blur",
                            },
                                message: '请输入姓名',
                                trigger: 'blur'
                            }
                        ],
                    },
                    {
                        width: 120,
                        label: "联系方式",
@@ -327,7 +256,44 @@
        }
    },
    watch: {},
    watch: {
        'form.personType': {
            handler (newData) {
                let householdIdColumn = this.findObject(
                    this.option.column,
                    'householdId'
                )
                if (newData) {
                    householdIdColumn.disabled = false
                } else {
                    householdIdColumn.disabled = true
                }
            },
        },
        'form.type': {
            handler (newData) {
                let householdIdColumn = this.findObject(
                    this.option.column,
                    'householdId'
                )
                let personTypeColumn = this.findObject(
                    this.option.column,
                    'personType'
                )
                if (newData == 1) {
                    householdIdColumn.disabled = false
                    personTypeColumn.display = false
                } else {
                    householdIdColumn.disabled = true
                    personTypeColumn.display = true
                }
            },
        },
    },
    computed: {
        ...mapGetters(["permission", "userInfo"]),
@@ -346,8 +312,31 @@
            })
            return ids.join(",")
        },
        showNamePhone () {
            return (data) => {
                if (data.phoneNumber && data.phoneNumber.trim() != '') {
                    return `${data.name}(${data.phoneNumber})`
                }
                return data.name
            }
        }
    },
    created () {
        this.getUserList()
    },
    methods: {
        getUserList (param = '') {
            let dicUrl = `/blade-household/household/selectHouseholdList?labelId=${param}&searchKey={{key}}`
            const column = this.findObject(this.option.column, "householdId")
            column.dicUrl = dicUrl
            console.log(param, this.option.column, 9999)
        },
        rowSave (row, done, loading) {
            if (row.url.length > 0) {
                var urls = []
@@ -466,6 +455,15 @@
                        })
                        this.form.url = urls.join(",")
                    }
                    let params = {
                        id: this.form.householdId
                    }
                    getAllHouseHold(params).then(res => {
                        const column = this.findObject(this.option.column, "householdId")
                        column.dicData = res.data.data
                    })
                })
            }
            // con