From ab701df859cd79ae036f8cc86268137d2c8da8ee Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Thu, 22 Feb 2024 18:00:56 +0800
Subject: [PATCH] 消防自查导出、消防自查和场所检查增加场所类别字段

---
 src/views/work/done.vue |  129 +++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 28 deletions(-)

diff --git a/src/views/work/done.vue b/src/views/work/done.vue
index ceaf494..feb7db9 100644
--- a/src/views/work/done.vue
+++ b/src/views/work/done.vue
@@ -3,16 +3,21 @@
         <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form" :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-scope="scope" slot="menu">
-                <el-button type="text" size="small" icon="el-icon-info" v-if="permission.work_done_detail"
-                    @click.stop="handleDetail(scope.row)">详情
+            <template slot-scope="{row, size, index}" slot="menu">
+                <el-button type="text" :size="size" icon="el-icon-info" v-if="permission.work_done_detail"
+                    @click.stop="handleDetail(row)">详情
                 </el-button>
-                <el-button type="text" size="small" icon="el-icon-search" v-if="permission.work_done_follow"
-                    @click.stop="handleImage(scope.row, scope.index)">流程图
+                <el-button type="text" :size="size" icon="el-icon-search" v-if="permission.work_done_follow"
+                    @click.stop="handleImage(row, index)">流程图
                 </el-button>
             </template>
-            <template slot-scope="{row}" slot="processDefinitionVersion">
-                <el-tag>v{{ row.processDefinitionVersion }}</el-tag>
+            <template slot-scope="{row, size}" slot="processDefinitionVersion">
+                <el-tag :size="size">v{{ row.processDefinitionVersion }}</el-tag>
+            </template>
+            <template slot-scope="{row, size}" slot="linkPhone">
+                <el-button :size="size" type="text" @click="showStringDispose(row, 'linkPhoneflag')"
+                    v-text="textDispose(row, 'linkPhoneflag', 'linkPhone')">
+                </el-button>
             </template>
         </avue-crud>
         <flow-design is-dialog :is-display.sync="flowBox" :process-instance-id="processInstanceId"></flow-design>
@@ -20,9 +25,16 @@
 </template>
 
 <script>
-import { mapGetters } from "vuex"
-import { doneList } from "@/api/work/work"
-import { flowCategory, flowRoute } from "@/util/flow"
+import {
+    mapGetters
+} from "vuex"
+import {
+    doneList
+} from "@/api/work/work"
+import {
+    flowCategory,
+    flowRoute
+} from "@/util/flow"
 
 export default {
     data () {
@@ -41,20 +53,23 @@
             flowBox: false,
             workBox: false,
             option: {
+                labelWidth: 120,
+                searchLabelWidth: 96,
+                searchShow: true,
+                searchMenuSpan: 3,
+                menuWidth: 140,
+
                 height: 'auto',
                 calcHeight: 30,
                 tip: false,
-                searchShow: true,
-                searchMenuSpan: 6,
                 border: true,
                 index: true,
-                selection: true,
+                // selection: true,
                 editBtn: false,
                 addBtn: false,
                 viewBtn: false,
                 delBtn: false,
                 dialogWidth: 900,
-                menuWidth: 280,
                 dialogClickModal: false,
                 column: [
                     {
@@ -69,29 +84,60 @@
                         dataType: "number",
                         slot: true,
                         prop: "category",
-                        search: true,
+                        // search: true,
                         hide: true,
                         width: 100,
                     },
                     {
-                        label: '流程名称',
-                        prop: 'processDefinitionName',
-                        search: true,
+                        width: 100,
+                        label: '申请类型',
+                        prop: 'categoryName',
+                        // search: true,
+                    }, {
+                        width: 220,
+                        overHidden: true,
+                        label: "小区",
+                        prop: "districtId",
+                        searchSpan: 5,
+                        // search: true,
+                        type: 'tree',
+                        dicUrl: `/api/blade-district/district/getDistrictTree`,
+                        props: {
+                            label: "name",
+                            value: "id"
+                        },
+                        defaultExpandedKeys: ["361102003"],
+                        span: 12,
+                    }, {
+                        width: 110,
+                        label: '联系人',
+                        prop: 'linkman',
+                        // search: true,
+                    }, {
+                        width: 120,
+                        label: '联系电话',
+                        prop: 'linkPhone',
+                        // search: true,
+                        slot: true
+                    }, {
+                        label: '项目名称',
+                        prop: 'name',
+                        // search: true,
                     },
                     {
                         label: '当前步骤',
                         prop: 'taskName',
                     },
+                    // {
+                    //     label: '流程版本',
+                    //     prop: 'processDefinitionVersion',
+                    //     slot: true,
+                    //     width: 80,
+                    // },
                     {
-                        label: '流程版本',
-                        prop: 'processDefinitionVersion',
-                        slot: true,
-                        width: 80,
-                    },
-                    {
+                        width: 144,
                         label: '申请时间',
                         prop: 'createTime',
-                        width: 165,
                     },
                 ]
             },
@@ -107,8 +153,25 @@
             })
             return ids.join(",")
         },
+        textDispose () {
+            return (row, flag, type) => {
+                if (row[flag] || row[type] == null) {
+                    return row[type]
+                } else {
+                    if (type == 'principalIdCard') {
+                        return row[type].replace(/^(.{6})(?:\d+)(.{4})$/, "$1******$2")
+                    } else {
+                        return row[type].replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
+                    }
+                }
+            }
+        }
     },
     methods: {
+        showStringDispose (row, type) {
+            row[type] = !row[type]
+        },
+
         searchReset () {
             this.query = {}
             this.onLoad(this.page)
@@ -127,7 +190,9 @@
             this.$refs.crud.toggleSelection()
         },
         handleDetail (row) {
-            this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` })
+            this.$router.push({
+                path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`
+            })
         },
         handleImage (row) {
             this.processInstanceId = row.processInstanceId
@@ -149,7 +214,15 @@
             }
             this.loading = true
             doneList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-                const data = res.data.data
+                const data = {
+                    ...res.data.data,
+                    records: res.data.data.records.map(item => {
+                        return {
+                            ...item,
+                            'linkPhoneflag': false
+                        }
+                    })
+                }
                 this.page.total = data.total
                 this.data = data.records
                 this.loading = false
@@ -158,4 +231,4 @@
         }
     }
 }
-</script>
+</script>
\ No newline at end of file

--
Gitblit v1.9.3