zhongrj
2024-01-05 6d30245f99b794221528a035f095b215da5c3173
走访人员新增字段调整
1 files modified
248 ■■■■ changed files
src/views/cGovernance/gridWorkLog.vue 248 ●●●● patch | view | raw | blame | history
src/views/cGovernance/gridWorkLog.vue
@@ -17,11 +17,12 @@
<script>
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"
import website from '@/config/website'
export default {
    data () {
    data() {
        return {
            form: {},
            query: {},
@@ -40,7 +41,7 @@
                tip: false,
                searchShow: true,
                searchMenuSpan: 3,
                menuWidth: 350,
                menuWidth: 280,
                border: false,
                //stripe:true,
                index: true,
@@ -50,9 +51,38 @@
                dialogClickModal: false,
                column: [
                    {
                        label: "走访人员姓名",
                        prop: "name",
                        label: "走访类型",
                        prop: "type",
                        span: 12,
                        labelWidth: 120,
                        searchLabelWidth: 120,
                        searchSpan: 4,
                        search: true,
                        type: "select",
                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=haveType",
                        dataType: "number",
                        props: {
                            label: "dictValue",
                            value: "dictKey",
                        },
                        rules: [
                            {
                                required: true,
                                message: "请选择走访类型",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "重点人员类型",
                        prop: "personType",
                        span: 12,
                        type: "tree",
                        dicUrl: "/api/blade-label/label/getLabelList?parentId=100",
                        props: {
                            label: "name",
                            value: "id"
                        },
                        labelWidth: 120,
                        searchLabelWidth: 120,
                        searchSpan: 5,
@@ -60,19 +90,157 @@
                        rules: [
                            {
                                required: true,
                                message: "请输入走访人员姓名",
                                message: "请选择重点人员类型",
                                trigger: "blur",
                            },
                        ],
                    },
                    // {
                    //     label: "人员姓名",
                    //     prop: "name",
                    //     span: 12,
                    //     labelWidth: 120,
                    //     searchSpan: 4,
                    //     search: true,
                    //     rules: [
                    //         {
                    //             required: true,
                    //             message: "请输入人员姓名",
                    //             trigger: "blur",
                    //         },
                    //     ],
                    // },
                    {
                        label: "走访人员电话",
                        prop: "phone",
                        label: "人员姓名",
                        prop: "householdId",
                        hide: true,
                        type: "table",
                        span: 12,
                        labelWidth: 120,
                        searchLabelWidth: 120,
                        searchSpan: 5,
                        searchSpan: 4,
                        search: true,
                        children: {
                            border: true,
                            height: 400,
                            searchShow: true,
                            searchMenuSpan: 6,
                            submitText: "确定",
                            column: [
                                {
                                    label: "姓名",
                                    prop: "name",
                                    search: true,
                                    searchSpan: 4,
                                    rules: [
                                        {
                                            required: true,
                                            message: "请输入姓名",
                                            trigger: "blur",
                                        },
                                    ],
                                },
                                {
                                    label: "联系方式",
                                    prop: "phoneNumber",
                                    search: true,
                                    searchSpan: 4,
                                    rules: [
                                        {
                                            required: true,
                                            message: "请输入联系方式",
                                            trigger: "blur",
                                        },
                                    ],
                                },
                                {
                                    label: "地址",
                                    search: true,
                                    searchSpan: 8,
                                    prop: "currentAddress",
                                    display: false
                                },
                            ],
                        },
                        page: {
                            pageSize: 10,
                            currentPage: 1,
                            total: 0
                        },
                        formatter: (row) => {
                            this.form.phoneNumber = row.phoneNumber
                            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'
                        }
                    },
                    {
                        label: "联系方式",
                        prop: "phone",
                        span: 12,
                        disabled: true,
                        labelWidth: 120,
                        searchSpan: 4,
                        search: true,
                    },
                    {
                        label: "走访地址",
                        prop: "address",
                        span: 24,
                        labelWidth: 120,
                        disabled: true,
                    },
                    {
                        label: "走访时间",
                        prop: "workTime",
                        width: 160,
                        labelWidth: 120,
                        searchLabelWidth: 120,
                        type: "date",
                        format: "yyyy-MM-dd HH:mm:ss",
                        valueFormat: "yyyy-MM-dd HH:mm:ss",
                        rules: [
                            {
                                required: true,
                                message: "请输入走访时间",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "内容",
@@ -82,7 +250,7 @@
                        span: 24,
                    },
                    {
                        label: "图片",
                        label: "走访取证",
                        prop: "url",
                        type: "upload",
                        labelWidth: 120,
@@ -95,21 +263,6 @@
                            url: "link",
                        },
                        span: 24,
                    },
                    {
                        label: "走访时间",
                        prop: "workTime",
                        width: 160,
                        type: "date",
                        format: "yyyy-MM-dd HH:mm:ss",
                        valueFormat: "yyyy-MM-dd HH:mm:ss",
                        rules: [
                            {
                                required: true,
                                message: "请输入走访时间",
                                trigger: "blur",
                            },
                        ],
                    }
                ],
            },
@@ -117,10 +270,25 @@
        }
    },
    watch: {
        "form.householdId": {
            // form是表单或者表格绑定的数据集,v-model='form'
            handler(val) {
                this.$nextTick(()=>{
                console.log(this.$refs,66666)
                getHouseholdDetail(val).then(res => {
                    const data = res.data.data;
                    this.form.phoneNumber = data.phoneNumber
                    this.form.currentAddress = data.currentAddress
                })
                })
            },
            immediate: true,
        },
    },
    computed: {
        ...mapGetters(["permission", "userInfo"]),
        permissionList () {
        permissionList() {
            return {
                addBtn: this.vaildData(this.permission.gridWorkLog_add, true),
                viewBtn: this.vaildData(this.permission.gridWorkLog_view, true),
@@ -128,7 +296,7 @@
                editBtn: this.vaildData(this.permission.gridWorkLog_edit, true),
            }
        },
        ids () {
        ids() {
            let ids = []
            this.selectionList.forEach((ele) => {
                ids.push(ele.id)
@@ -137,7 +305,7 @@
        },
    },
    methods: {
        rowSave (row, done, loading) {
        rowSave(row, done, loading) {
            if (row.url.length > 0) {
                var urls = []
                var split = row.url.split(",")
@@ -162,7 +330,7 @@
                }
            )
        },
        rowUpdate (row, index, done, loading) {
        rowUpdate(row, index, done, loading) {
            if (row.url.length > 0) {
                var urls = []
                var split = row.url.split(",")
@@ -187,7 +355,7 @@
                }
            )
        },
        rowDel (row) {
        rowDel(row) {
            this.$confirm("确定将选择数据删除?", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
@@ -204,24 +372,24 @@
                    })
                })
        },
        searchReset () {
        searchReset() {
            this.query = {}
            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
@@ -243,7 +411,7 @@
                    this.$refs.crud.toggleSelection()
                })
        },
        beforeOpen (done, type) {
        beforeOpen(done, type) {
            if (["edit", "view"].includes(type)) {
                getGridWorkLog(this.form.id).then((res) => {
                    this.form = res.data.data
@@ -260,16 +428,16 @@
            // con
            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 = {}) {
            const { dateTime } = this.query
            let values = {
                ...params,