From 183ac5df096af7b1e8c8bac898dd50d7fba12786 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 22 Dec 2023 15:58:24 +0800
Subject: [PATCH] 业委会

---
 src/views/work/todo.vue |  348 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 193 insertions(+), 155 deletions(-)

diff --git a/src/views/work/todo.vue b/src/views/work/todo.vue
index 27c0d22..e026a87 100644
--- a/src/views/work/todo.vue
+++ b/src/views/work/todo.vue
@@ -1,168 +1,206 @@
 <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="scope" slot="menu">
-                <el-button type="text" size="small" icon="el-icon-s-check" v-if="permission.work_todo_handle"
-                    @click.stop="handleWork(scope.row)">处理
-                </el-button>
-                <el-button type="text" size="small" icon="el-icon-info" v-if="permission.work_todo_detail"
-                    @click.stop="handleDetail(scope.row)">详情
-                </el-button>
-                <el-button type="text" size="small" icon="el-icon-search" v-if="permission.work_todo_follow"
-                    @click.stop="handleImage(scope.row, scope.index)">流程图
-                </el-button>
-            </template>
-            <template slot-scope="{row}" slot="processDefinitionVersion">
-                <el-tag>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="scope" slot="menu">
+        <el-button type="text" size="small" icon="el-icon-s-check" v-if="permission.work_todo_handle"
+          @click.stop="handleWork(scope.row)">处理
+        </el-button>
+        <el-button type="text" size="small" icon="el-icon-info" v-if="permission.work_todo_detail"
+          @click.stop="handleDetail(scope.row)">详情
+        </el-button>
+        <el-button type="text" size="small" icon="el-icon-search" v-if="permission.work_todo_follow"
+          @click.stop="handleImage(scope.row, scope.index)">流程图
+        </el-button>
+      </template>
+      <template slot-scope="{row}" slot="processDefinitionVersion">
+        <el-tag>v{{ row.processDefinitionVersion }}</el-tag>
+      </template>
+    </avue-crud>
+    <flow-design is-dialog :is-display.sync="flowBox" :process-instance-id="processInstanceId"></flow-design>
+  </basic-container>
 </template>
 
 <script>
-import { mapGetters } from "vuex"
-import { todoList } from "@/api/work/work"
-import { flowCategory, flowRoute } from "@/util/flow"
+  import {
+    mapGetters
+  } from "vuex"
+  import {
+    todoList
+  } from "@/api/work/work"
+  import {
+    flowCategory,
+    flowRoute
+  } from "@/util/flow"
 
-export default {
-    data () {
-        return {
-            form: {},
-            selectionId: '',
-            selectionList: [],
-            query: {},
-            loading: true,
-            page: {
-                pageSize: 10,
-                currentPage: 1,
-                total: 0
+  export default {
+    data() {
+      return {
+        form: {},
+        selectionId: '',
+        selectionList: [],
+        query: {},
+        loading: true,
+        page: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0
+        },
+        processInstanceId: '',
+        flowBox: false,
+        workBox: false,
+        option: {
+          height: 'auto',
+          calcHeight: 30,
+          tip: false,
+          simplePage: true,
+          searchShow: true,
+          searchMenuSpan: 6,
+          border: true,
+          index: true,
+          // selection: true,
+          editBtn: false,
+          addBtn: false,
+          viewBtn: false,
+          delBtn: false,
+          dialogWidth: 900,
+          menuWidth: 280,
+          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,
             },
-            processInstanceId: '',
-            flowBox: false,
-            workBox: false,
-            option: {
-                height: 'auto',
-                calcHeight: 30,
-                tip: false,
-                simplePage: true,
-                searchShow: true,
-                searchMenuSpan: 6,
-                border: true,
-                index: true,
-                selection: true,
-                editBtn: false,
-                addBtn: false,
-                viewBtn: false,
-                delBtn: false,
-                dialogWidth: 900,
-                menuWidth: 280,
-                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,
-                    },
-                    {
-                        label: '流程名称',
-                        prop: 'processDefinitionName',
-                        search: true,
-                    },
-                    {
-                        label: '当前步骤',
-                        prop: 'taskName',
-                    },
-                    {
-                        label: '流程版本',
-                        prop: 'processDefinitionVersion',
-                        slot: true,
-                        width: 80,
-                    },
-                    {
-                        label: '申请时间',
-                        prop: 'createTime',
-                        width: 165,
-                    },
-                ]
+            {
+              label: '申请类型',
+              prop: 'categoryName',
+              // search: 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,
+              labelWidth: 120,
+              width: 220,
+              overHidden: true,
+            }, {
+              label: '联系人',
+              prop: 'linkman',
+              // search: true,
+            }, {
+              label: '联系电话',
+              prop: 'linkPhone',
+              // search: true,
+            }, {
+              label: '项目名称',
+              prop: 'name',
+              // search: true,
             },
-            data: []
-        }
+            {
+              label: '当前步骤',
+              prop: 'taskName',
+            },
+            // {
+            //   label: '流程版本',
+            //   prop: 'processDefinitionVersion',
+            //   // slot: true,
+            //   width: 80,
+            // },
+            {
+              label: '申请时间',
+              prop: 'createTime',
+              width: 165,
+            },
+          ]
+        },
+        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(",")
+      },
     },
     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: `/work/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}` })
-        },
-        handleDetail (row) {
-            this.$router.push({ path: `/work/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
-                this.page.total = data.total
-                this.data = data.records
-                this.loading = false
-                this.selectionClear()
-            })
+      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: `/work/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}`
+        })
+      },
+      handleDetail(row) {
+        this.$router.push({
+          path: `/work/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
+          this.page.total = data.total
+          this.data = data.records
+          this.loading = false
+          this.selectionClear()
+        })
+      }
     }
-}
-</script>
+  }
+</script>
\ No newline at end of file

--
Gitblit v1.9.3