From 33efc85d10cd05206ef3e174b744bcf9ded2dc75 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Mon, 19 Feb 2024 15:27:11 +0800
Subject: [PATCH] 维修基金审核页面添加

---
 src/views/property/todo.vue |  216 +++++++++++++++++++++++++++
 src/views/gzll/todo.vue     |  216 +++++++++++++++++++++++++++
 2 files changed, 432 insertions(+), 0 deletions(-)

diff --git a/src/views/gzll/todo.vue b/src/views/gzll/todo.vue
new file mode 100644
index 0000000..abfd19d
--- /dev/null
+++ b/src/views/gzll/todo.vue
@@ -0,0 +1,216 @@
+<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>
+</template>
+
+<script>
+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
+            },
+            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,
+                    },
+                    {
+                        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: []
+        }
+    },
+    computed: {
+        ...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()
+            })
+        }
+    }
+}
+</script>
\ No newline at end of file
diff --git a/src/views/property/todo.vue b/src/views/property/todo.vue
new file mode 100644
index 0000000..b906535
--- /dev/null
+++ b/src/views/property/todo.vue
@@ -0,0 +1,216 @@
+<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.property_todo_handle"
+                    @click.stop="handleWork(row)">处理
+                </el-button>
+                <el-button type="text" :size="size" icon="el-icon-info" v-if="permission.property_todo_detail"
+                    @click.stop="handleDetail(row)">详情
+                </el-button>
+                <el-button type="text" :size="size" icon="el-icon-search" v-if="permission.property_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>
+</template>
+
+<script>
+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
+            },
+            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,
+                    },
+                    {
+                        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: []
+        }
+    },
+    computed: {
+        ...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()
+            })
+        }
+    }
+}
+</script>
\ No newline at end of file

--
Gitblit v1.9.3