From 7721112c92ef1df7e644dba7a97fc9927d9825cf Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 08 Jan 2024 14:04:04 +0800
Subject: [PATCH] 走访日志选择人员调整

---
 src/views/cGovernance/gridWorkLog.vue |  182 ++++++++++++++++++++++-----------------------
 1 files changed, 90 insertions(+), 92 deletions(-)

diff --git a/src/views/cGovernance/gridWorkLog.vue b/src/views/cGovernance/gridWorkLog.vue
index 456cd8e..9edb103 100644
--- a/src/views/cGovernance/gridWorkLog.vue
+++ b/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

--
Gitblit v1.9.3