From 49eb43c90d04bdadb0a46142c61ecb6eba448623 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 20 Feb 2024 10:31:31 +0800
Subject: [PATCH] 手机号显示隐藏:1.交易登记2.报事报修3.维修基金申请4.合同管理5.维修基金审核6.网格管理7.场所管理8.网格员管理9.维修基金审核(共治)10.业委会及成员管理

---
 src/views/gzll/todo.vue |  426 ++++++++++++++++++++++++++++------------------------
 1 files changed, 229 insertions(+), 197 deletions(-)

diff --git a/src/views/gzll/todo.vue b/src/views/gzll/todo.vue
index 0651969..7c8d446 100644
--- a/src/views/gzll/todo.vue
+++ b/src/views/gzll/todo.vue
@@ -1,215 +1,247 @@
 <template>
-  <basic-container>
-    <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
-      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
-      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
-      <template slot-scope="{row, size, index}" slot="menu">
-        <el-button type="text" :size="size" icon="el-icon-s-check" v-if="permission.gzll_todo_handle"
-          @click.stop="handleWork(row)">处理
-        </el-button>
-        <el-button type="text" :size="size" icon="el-icon-info" v-if="permission.gzll_todo_detail"
-          @click.stop="handleDetail(row)">详情
-        </el-button>
-        <el-button type="text" :size="size" icon="el-icon-search" v-if="permission.gzll_todo_follow"
-          @click.stop="handleImage(row, index)">流程图
-        </el-button>
-      </template>
-      <template slot-scope="{row, size}" slot="processDefinitionVersion">
-        <el-tag :size="size">v{{ row.processDefinitionVersion }}</el-tag>
-      </template>
-    </avue-crud>
-    <flow-design is-dialog :is-display.sync="flowBox" :process-instance-id="processInstanceId"></flow-design>
-  </basic-container>
+    <basic-container>
+        <avue-crud :option="option" :table-loading="loading" :data="data" ref="crud" v-model="form"
+            @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+            @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+            <template slot-scope="{row, size, index}" slot="menu">
+                <el-button type="text" :size="size" icon="el-icon-s-check" v-if="permission.gzll_todo_handle"
+                    @click.stop="handleWork(row)">处理
+                </el-button>
+                <el-button type="text" :size="size" icon="el-icon-info" v-if="permission.gzll_todo_detail"
+                    @click.stop="handleDetail(row)">详情
+                </el-button>
+                <el-button type="text" :size="size" icon="el-icon-search" v-if="permission.gzll_todo_follow"
+                    @click.stop="handleImage(row, index)">流程图
+                </el-button>
+            </template>
+            <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>
+    </basic-container>
 </template>
 
 <script>
-  import {
+import {
     mapGetters
-  } from "vuex"
-  import {
+} from "vuex"
+import {
     todoList
-  } from "@/api/work/work"
-  import {
+} from "@/api/work/work"
+import {
     flowCategory,
     flowRoute
-  } from "@/util/flow"
+} from "@/util/flow"
 
-  export default {
-    data() {
-      return {
-        form: {},
-        selectionId: '',
-        selectionList: [],
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        processInstanceId: '',
-        flowBox: false,
-        workBox: false,
-        option: {
-          labelWidth: 120,
-          searchLabelWidth: 96,
-          searchShow: true,
-          searchMenuSpan: 3,
-          menuWidth: 210,
+export default {
+    data () {
+        return {
+            form: {},
+            selectionId: '',
+            selectionList: [],
+            query: {},
+            loading: true,
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0
+            },
+            processInstanceId: '',
+            flowBox: false,
+            workBox: false,
+            option: {
+                labelWidth: 120,
+                searchLabelWidth: 96,
+                searchShow: true,
+                searchMenuSpan: 3,
+                menuWidth: 210,
 
-          height: 'auto',
-          calcHeight: 30,
-          tip: false,
-          simplePage: true,
-          border: true,
-          index: true,
-          // selection: true,
-          editBtn: false,
-          addBtn: false,
-          viewBtn: false,
-          delBtn: false,
-          dialogWidth: 900,
-          dialogClickModal: false,
-          column: [{
-              label: "流程分类",
-              type: "select",
-              row: true,
-              dicUrl: "/api/blade-system/dict/dictionary?code=flow",
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-              dataType: "number",
-              slot: true,
-              prop: "category",
-              // search: true,
-              hide: true,
-              width: 100,
+                height: 'auto',
+                calcHeight: 30,
+                tip: false,
+                simplePage: true,
+                border: true,
+                index: true,
+                // selection: true,
+                editBtn: false,
+                addBtn: false,
+                viewBtn: false,
+                delBtn: false,
+                dialogWidth: 900,
+                dialogClickModal: false,
+                column: [{
+                    label: "流程分类",
+                    type: "select",
+                    row: true,
+                    dicUrl: "/api/blade-system/dict/dictionary?code=flow",
+                    props: {
+                        label: "dictValue",
+                        value: "dictKey"
+                    },
+                    dataType: "number",
+                    slot: true,
+                    prop: "category",
+                    // search: true,
+                    hide: true,
+                    width: 100,
+                },
+                {
+                    width: 100,
+                    label: '申请类型',
+                    prop: 'categoryName',
+                    // search: true,
+                },
+                {
+                    width: 220,
+                    overHidden: true,
+                    label: "小区",
+                    prop: "districtId",
+                    // search: true,
+                    type: 'tree',
+                    dicUrl: `/api/blade-district/district/getDistrictTree`,
+                    props: {
+                        label: "name",
+                        value: "id"
+                    },
+                    defaultExpandedKeys: ["361102003"],
+                    searchSpan: 5,
+                    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,
+                // },
+                {
+                    width: 144,
+                    label: '申请时间',
+                    prop: 'createTime',
+                },
+                ]
             },
-            {
-              width: 100,
-              label: '申请类型',
-              prop: 'categoryName',
-              // search: true,
-            },
-            {
-              width: 220,
-              overHidden: true,
-              label: "小区",
-              prop: "districtId",
-              // search: true,
-              type: 'tree',
-              dicUrl: `/api/blade-district/district/getDistrictTree`,
-              props: {
-                label: "name",
-                value: "id"
-              },
-              defaultExpandedKeys: ["361102003"],
-              searchSpan: 5,
-              span: 12,
-            },
-            {
-              width: 110,
-              label: '联系人',
-              prop: 'linkman',
-              // search: true,
-            },
-            {
-              width: 120,
-              label: '联系电话',
-              prop: 'linkPhone',
-              // search: true,
-            },
-            {
-              label: '项目名称',
-              prop: 'name',
-              // search: true,
-            },
-            {
-              label: '当前步骤',
-              prop: 'taskName',
-            },
-            // {
-            //   label: '流程版本',
-            //   prop: 'processDefinitionVersion',
-            //   // slot: true,
-            //   width: 80,
-            // },
-            {
-              width: 144,
-              label: '申请时间',
-              prop: 'createTime',
-            },
-          ]
-        },
-        data: []
-      }
+            data: []
+        }
     },
     computed: {
-      ...mapGetters(["permission", "flowRoutes"]),
-      ids() {
-        let ids = []
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id)
-        })
-        return ids.join(",")
-      },
+        ...mapGetters(["permission", "flowRoutes"]),
+        ids () {
+            let ids = []
+            this.selectionList.forEach(ele => {
+                ids.push(ele.id)
+            })
+            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: {
-      searchReset() {
-        this.query = {}
-        this.onLoad(this.page)
-      },
-      searchChange(params, done) {
-        this.query = params
-        this.page.currentPage = 1
-        this.onLoad(this.page, params)
-        done()
-      },
-      selectionChange(list) {
-        this.selectionList = list
-      },
-      selectionClear() {
-        this.selectionList = []
-        this.$refs.crud.toggleSelection()
-      },
-      handleWork(row) {
-        this.$router.push({
-          path: `/gzll/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}`
-        })
-      },
-      handleDetail(row) {
-        this.$router.push({
-          path: `/gzll/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`
-        })
-      },
-      handleImage(row) {
-        this.processInstanceId = row.processInstanceId
-        this.flowBox = true
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query)
-      },
-      onLoad(page, params = {}) {
-        const query = {
-          ...this.query,
-          category: (params.category) ? flowCategory(params.category) : null
+        showStringDispose (row, type) {
+            row[type] = !row[type]
+        },
+
+        searchReset () {
+            this.query = {}
+            this.onLoad(this.page)
+        },
+        searchChange (params, done) {
+            this.query = params
+            this.page.currentPage = 1
+            this.onLoad(this.page, params)
+            done()
+        },
+        selectionChange (list) {
+            this.selectionList = list
+        },
+        selectionClear () {
+            this.selectionList = []
+            this.$refs.crud.toggleSelection()
+        },
+        handleWork (row) {
+            this.$router.push({
+                path: `/gzll/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}`
+            })
+        },
+        handleDetail (row) {
+            this.$router.push({
+                path: `/gzll/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`
+            })
+        },
+        handleImage (row) {
+            this.processInstanceId = row.processInstanceId
+            this.flowBox = true
+        },
+        currentChange (currentPage) {
+            this.page.currentPage = currentPage
+        },
+        sizeChange (pageSize) {
+            this.page.pageSize = pageSize
+        },
+        refreshChange () {
+            this.onLoad(this.page, this.query)
+        },
+        onLoad (page, params = {}) {
+            const query = {
+                ...this.query,
+                category: (params.category) ? flowCategory(params.category) : null
+            }
+            this.loading = true
+            todoList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
+                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
+                this.selectionClear()
+            })
         }
-        this.loading = true
-        todoList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
-          const data = res.data.data
-          this.page.total = data.total
-          this.data = data.records
-          this.loading = false
-          this.selectionClear()
-        })
-      }
     }
-  }
+}
 </script>
\ No newline at end of file

--
Gitblit v1.9.3