shuishen
2023-12-15 f0e42f85846f06065f1e63a6ee9cac0b4d87cbb6
src/views/task/eCall/index.vue
@@ -16,14 +16,22 @@
</template>
<script>
import { getList, remove, update, add, getECallEvent } from "@/api/task/eCall"
import {
    getList,
    remove,
    update,
    add,
    getECallEvent
} from "@/api/task/eCall"
import {
    getList as getHouseList,
    getDetatil as getHouseDetail
} from "@/api/doorplateAddress/doorplateAddress.js"
import { mapGetters } from "vuex"
import {
    mapGetters
} from "vuex"
import website from '@/config/website'
// import AvueMap from "avue-plugin-map"
//   import AvueMap from "avue-plugin-map";
export default {
    data () {
        return {
@@ -52,269 +60,260 @@
                selection: true,
                // excelBtn: true,
                dialogClickModal: false,
                column: [
                    {
                        label: "事件名称",
                        prop: "name",
                        span: 12,
                        searchSpan: 4,
                        width: 100,
                        search: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入事件名称",
                                trigger: "blur",
                            },
                        ],
                column: [{
                    label: "事件名称",
                    prop: "name",
                    span: 12,
                    searchSpan: 4,
                    width: 100,
                    search: true,
                    rules: [{
                        required: true,
                        message: "请输入事件名称",
                        trigger: "blur",
                    },],
                },
                {
                    label: "事件类型",
                    prop: "type",
                    span: 12,
                    searchSpan: 4,
                    dataType: "number",
                    type: "select",
                    width: 100,
                    dicUrl: "/api/blade-system/dict-biz/dictionary?code=eCallEventType",
                    props: {
                        label: "dictValue",
                        value: "dictKey",
                    },
                    {
                        label: "事件类型",
                        prop: "type",
                        span: 12,
                        searchSpan: 4,
                        dataType: "number",
                        type: "select",
                        width: 100,
                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=eCallEventType",
                        props: {
                            label: "dictValue",
                            value: "dictKey",
                    rules: [{
                        required: true,
                        message: "请选择事件类型",
                        trigger: "blur",
                    },],
                    // search: true,
                },
                {
                    label: "所属社区",
                    prop: "communityCode",
                    search: true,
                    searchSpan: 4,
                    width: 150,
                    type: "tree",
                    dicUrl: "/api/blade-system/region/tree",
                    props: {
                        label: "name",
                        value: "id"
                    },
                    rules: [
                        {
                            required: true,
                            message: "请选择所属社区",
                            trigger: "blur",
                        },
                        rules: [
                    ],
                },
                {
                    label: "数据来源",
                    prop: "source",
                    span: 12,
                    searchSpan: 4,
                    width: 100,
                    hide: true,
                    // search: true,
                },
                {
                    label: "姓名",
                    prop: "realName",
                    span: 12,
                    searchSpan: 4,
                    width: 100,
                    search: true,
                    rules: [{
                        required: false,
                        message: "请输入姓名",
                        trigger: "blur",
                    },],
                },
                {
                    label: "联系方式",
                    prop: "phone",
                    span: 12,
                    width: 100,
                    searchSpan: 4,
                    search: true,
                    rules: [{
                        required: false,
                        message: "请输入联系方式",
                        trigger: "blur",
                    },],
                },
                {
                    label: "事发地点",
                    prop: "scene",
                    overHidden: true,
                    rules: [{
                        required: true,
                        message: "请输入事发地点",
                        trigger: "blur",
                    },],
                },
                {
                    label: "事发时间",
                    prop: "occurrenceTime",
                    width: 100,
                    type: "date",
                    format: "yyyy-MM-dd",
                    valueFormat: "yyyy-MM-dd",
                    rules: [{
                        required: true,
                        message: "请选择事发时间",
                        trigger: "blur",
                    },],
                },
                {
                    label: "事发位置",
                    prop: "location",
                    submitBtn: "提交",
                    hide: true,
                    type: 'map',
                    dataType: "string",
                    span: 24,
                    value: [117.966460, 28.431002, ""]
                },
                {
                    label: "标准地址",
                    prop: "addressCode",
                    hide: true,
                    type: "table",
                    span: 24,
                    row: true,
                    children: {
                        border: true,
                        height: 400,
                        searchShow: true,
                        searchMenuSpan: 6,
                        submitText: "确定",
                        column: [
                            // {
                            //   label: "小区",
                            //   prop: "aoiName",
                            //   search: true,
                            //   searchSpan: 4,
                            //   rules: [
                            //     {
                            //       required: true,
                            //       message: "请选择小区",
                            //       trigger: "blur",
                            //     },
                            //   ],
                            // },
                            {
                                required: true,
                                message: "请选择事件类型",
                                trigger: "blur",
                            },
                        ],
                        // search: true,
                    },
                    {
                        label: "所属社区",
                        prop: "communityCode",
                        search: true,
                        searchSpan: 4,
                        width: 150,
                        type: "tree",
                        dicUrl: "/api/blade-system/region/tree",
                        props: {
                            label: "name",
                            value: "id"
                        },
                        rules: [
                            {
                                required: true,
                                message: "请选择所属社区",
                                trigger: "blur",
                                label: "标准地址",
                                search: true,
                                searchSpan: 8,
                                prop: "addressName",
                                display: false
                            },
                        ],
                    },
                    {
                        label: "数据来源",
                        prop: "source",
                        span: 12,
                        searchSpan: 4,
                        width: 100,
                        hide: true,
                        // search: true,
                    page: {
                        pageSize: 10,
                        currentPage: 1,
                        total: 0
                    },
                    {
                        label: "姓名",
                        prop: "realName",
                        span: 12,
                        searchSpan: 4,
                        width: 100,
                        search: true,
                        rules: [
                            {
                                required: false,
                                message: "请输入姓名",
                                trigger: "blur",
                            },
                        ],
                    formatter: (row) => {
                        return row.addressName
                        // if (!row.districtName) return ''
                        // return row.districtName + '-' + row.unit  + row.building  + row.room
                    },
                    {
                        label: "联系方式",
                        prop: "phone",
                        span: 12,
                        width: 100,
                        searchSpan: 4,
                        search: true,
                        rules: [
                            {
                                required: false,
                                message: "请输入联系方式",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "事发地点",
                        prop: "scene",
                        overHidden: true,
                        rules: [
                            {
                                required: true,
                                message: "请输入事发地点",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "事发时间",
                        prop: "occurrenceTime",
                        width: 100,
                        type: "date",
                        format: "yyyy-MM-dd",
                        valueFormat: "yyyy-MM-dd",
                        rules: [
                            {
                                required: true,
                                message: "请选择事发时间",
                                trigger: "blur",
                            },
                        ],
                    },
                    {
                        label: "事发位置",
                        prop: "location",
                        submitBtn: "提交",
                        hide: true,
                        type: 'map',
                        dataType: "string",
                        span: 24,
                        value: [117.966460, 28.431002, ""]
                    },
                    {
                        label: "标准地址",
                        prop: "addressCode",
                        hide: true,
                        type: "table",
                        span: 24,
                        row: true,
                        children: {
                            border: true,
                            height: 400,
                            searchShow: true,
                            searchMenuSpan: 6,
                            submitText: "确定",
                            column: [
                                // {
                                //   label: "小区",
                                //   prop: "aoiName",
                                //   search: true,
                                //   searchSpan: 4,
                                //   rules: [
                                //     {
                                //       required: true,
                                //       message: "请选择小区",
                                //       trigger: "blur",
                                //     },
                                //   ],
                                // },
                                {
                                    label: "标准地址",
                                    search: true,
                                    searchSpan: 8,
                                    prop: "addressName",
                                    display: false
                                },
                            ],
                        },
                        page: {
                            pageSize: 10,
                            currentPage: 1,
                            total: 0
                        },
                        formatter: (row) => {
                            return row.addressName
                            // if (!row.districtName) return ''
                            // return row.districtName + '-' + row.unit  + row.building  + row.room
                        },
                        onLoad: ({ page, value, data }, callback) => {
                            //首次加载去查询对应的值
                            if (value) {
                                getHouseDetail({
                                    addressCode: value
                                }).then(res => {
                                    var resData = res.data.data
                                    // 查询对应行数据
                                    callback(resData)
                                    return
                                })
                    onLoad: ({
                        page,
                        value,
                        data
                    }, callback) => {
                        //首次加载去查询对应的值
                        if (value) {
                            getHouseDetail({
                                addressCode: value
                            }).then(res => {
                                var resData = res.data.data
                                // 查询对应行数据
                                callback(resData)
                                return
                            })
                        }
                        if (page) {
                            this.loading = true
                            var params = {
                                ...data,
                                townStreetCode: "361102005"
                            }
                            if (page) {
                                this.loading = true
                                var params = {
                                    ...data,
                                    townStreetCode: "361102005"
                                }
                                getHouseList(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
                                    })
                            getHouseList(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: 'addressName',
                            value: 'addressCode'
                            })
                        }
                    },
                    props: {
                        label: 'addressName',
                        value: 'addressCode'
                    }
                },
                    {
                        label: "现场图片",
                        prop: "imageUrls",
                        width: 80,
                        type: "upload",
                        listType: "picture-card",
                        dataType: "string",
                        multiple: true,
                        row: true,
                        action: "/api/blade-resource/oss/endpoint/put-file-attach",
                        propsHttp: {
                            res: "data",
                            name: 'name',
                            url: "link",
                        },
                        span: 24,
                {
                    label: "现场图片",
                    prop: "imageUrls",
                    width: 80,
                    type: "upload",
                    listType: "picture-card",
                    dataType: "string",
                    multiple: true,
                    row: true,
                    action: "/api/blade-resource/oss/endpoint/put-file-attach",
                    propsHttp: {
                        res: "data",
                        name: 'name',
                        url: "link",
                    },
                    span: 24,
                },
                    {
                        label: "事件简述",
                        prop: "remark",
                        type: "textarea",
                        span: 24,
                    },
                    // {
                    //   label: "处置情况",
                    //   prop: "disSit",
                    //   type:"textarea",
                    //   hide:true,
                    //   span: 24,
                    // },
                    {
                        label: "处理结果",
                        prop: "disRes",
                        type: "textarea",
                        hide: true,
                        span: 24,
                    },
                    {
                        label: "回访情况",
                        prop: "retVis",
                        type: "textarea",
                        hide: true,
                        span: 24,
                    },
                {
                    label: "事件简述",
                    prop: "remark",
                    type: "textarea",
                    span: 24,
                },
                // {
                //   label: "处置情况",
                //   prop: "disSit",
                //   type:"textarea",
                //   hide:true,
                //   span: 24,
                // },
                {
                    label: "处理结果",
                    prop: "disRes",
                    type: "textarea",
                    hide: true,
                    span: 24,
                },
                {
                    label: "回访情况",
                    prop: "retVis",
                    type: "textarea",
                    hide: true,
                    span: 24,
                },
                    // {
                    //   label: "处置状态",
                    //   prop: "dis_status",
@@ -495,7 +494,9 @@
            this.onLoad(this.page, this.query)
        },
        onLoad (page, params = {}) {
            const { dateTime } = this.query
            const {
                dateTime
            } = this.query
            let values = {
                ...params,
            }