Просмотр исходного кода

案件流程管理页面开发

谢科 2 лет назад
Родитель
Сommit
209b14626e

+ 170
- 0
src/views/caseprocessManagement/caseprocessManage.vue Просмотреть файл

@@ -0,0 +1,170 @@
1
+<template>
2
+    <div class="app-container">
3
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
4
+            <el-form-item label="案件状态" prop="roleName">
5
+                <el-input v-model="queryParams.roleName" placeholder="请输入案件状态" clearable style="width: 240px"
6
+                    @keyup.enter.native="handleQuery" />
7
+            </el-form-item>
8
+            <el-form-item label="节点名称" prop="status">
9
+                <el-select v-model="queryParams.status" placeholder="节点名称" clearable style="width: 240px">
10
+                    <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
11
+                        :value="dict.value" />
12
+                </el-select>
13
+            </el-form-item>
14
+            <el-form-item>
15
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
16
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
17
+            </el-form-item>
18
+        </el-form>
19
+        <el-row :gutter="10" class="mb8">
20
+            <el-col :span="1.5">
21
+                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addnodeprocess">新增流程节点</el-button>
22
+            </el-col>
23
+        </el-row>
24
+        <el-table v-loading="loading" :data="dataList" style="width: 100%">
25
+            <el-table-column label="序号" type="index" align="center">
26
+                <template slot-scope="scope">
27
+                    <span>{{
28
+                        (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
29
+                    }}</span>
30
+                </template>
31
+            </el-table-column>
32
+            <el-table-column label="节点名称" align="center" prop="nodename" :show-overflow-tooltip="true" />
33
+            <el-table-column label="案件状态" align="center" prop="casestatus" :show-overflow-tooltip="true" />
34
+            <el-table-column label="驳回节点" align="center" prop="rejectnode" :show-overflow-tooltip="true" />
35
+            <el-table-column label="关联角色" align="center" prop="associatedroles" :show-overflow-tooltip="true" />
36
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
37
+                <template slot-scope="scope">
38
+                    <el-button size="mini" @click="moveDown(scope.row)" type="text"
39
+                        icon="el-icon-arrow-down"></el-button>
40
+
41
+                    <el-button size="mini" @click="moveUp(scope.row)" type="text"
42
+                        icon="el-icon-arrow-up"></el-button>
43
+                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
44
+                        icon="el-icon-edit">修改</el-button>
45
+                    <el-button size="mini" @click="deleteNodeprocess(scope.row)" type="text"
46
+                        icon="el-icon-delete">删除</el-button>
47
+                </template>
48
+            </el-table-column>
49
+        </el-table>
50
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
51
+            @pagination="getList(queryParams)" />
52
+
53
+        <addNodeprocess :addvisiable="addvisiable" @cancelAdd="cancelAdd" :editData="editData" @getList="getList"
54
+            :queryParams="queryParams">
55
+        </addNodeprocess>
56
+    </div>
57
+</template>
58
+  
59
+<script>
60
+// import {
61
+//     getTemplate,
62
+//     deleteTemplate,
63
+//     getTemplateInfoById
64
+// } from "@/api/officialSeal/officialSeal.js";
65
+
66
+import addNodeprocess from "./components/addNodeprocess";
67
+export default {
68
+    name: "paymentList",
69
+    components: {
70
+        addNodeprocess,
71
+    },
72
+    dicts: ['sys_normal_disable'],
73
+    data() {
74
+        return {
75
+            queryParams: {
76
+                pageNum: 1,
77
+                pageSize: 10,
78
+            },
79
+            // 遮罩层
80
+            loading: false,
81
+            // 总条数
82
+            total: 0,
83
+            // 表格数据
84
+            form: {},
85
+            // 校验表单
86
+            rules: {},
87
+            dataList: [],
88
+            addvisiable: false,//新增弹窗
89
+            editData: {},
90
+        };
91
+    },
92
+    created() {
93
+        this.getList(this.queryParams)
94
+    },
95
+    methods: {
96
+        // 删除
97
+        deleteNodeprocess(row) {
98
+            this.$modal
99
+                .confirm("是否删除")
100
+                .then((res) => {
101
+                    this.deleteSealFn({ id: row.id })
102
+                })
103
+        },
104
+        // 删除接口
105
+        deleteSealFn(data) {
106
+            deleteTemplate(data).then(res => {
107
+                this.$modal.msgSuccess("删除成功!");
108
+                this.getList(this.queryParams);
109
+            })
110
+        },
111
+        // 新增流程节点
112
+        addnodeprocess(row) {
113
+            this.addvisiable = true;
114
+            this.editData = {};
115
+        },
116
+        cancelAdd() {
117
+            this.addvisiable = false;
118
+        },
119
+        // 编辑
120
+        eidtNodeprocess(row) {
121
+            this.addvisiable = true;
122
+            this.editData = row;
123
+        },
124
+        // 关联角色
125
+        associatedRoles() { },
126
+        /** 搜索按钮操作 */
127
+        handleQuery() {
128
+            this.queryParams.pageNum = 1;
129
+            this.getList(this.queryParams);
130
+        },
131
+        /** 重置按钮操作 */
132
+        resetQuery() {
133
+            this.resetForm("queryForm");
134
+            this.handleQuery();
135
+        },
136
+        // 查询列表数据
137
+        getList(parms) {
138
+            this.loading = true;
139
+            // getTemplate(parms).then((response) => {
140
+            // this.dataList = response.rows;
141
+            this.dataList = [
142
+                {
143
+                    nodename: '调解',
144
+                    casestatus: '未立案',
145
+                    rejectnode: 2,
146
+                    associatedroles: '申请人'
147
+                }
148
+            ];
149
+            // this.total = response.total;
150
+            this.loading = false;
151
+            console.log(this.dataList, "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
152
+            // this.dataList.forEach(item => {
153
+            //     if (item.identifyStatus == 0 || item.identifyStatus == null) {
154
+            //         item.identifyStatus = '未认证'
155
+            //     } else {
156
+            //         item.identifyStatus = '已认证'
157
+            //     }
158
+            //     if (item.isUse == 0 || item.isUse == null) {
159
+            //         item.isUse = '未启用'
160
+            //     } else {
161
+            //         item.isUse = '已启用'
162
+            //     }
163
+            // })
164
+            // });
165
+        },
166
+    },
167
+};
168
+</script>
169
+  
170
+<style lang="scss" scoped></style>

+ 125
- 0
src/views/caseprocessManagement/components/addNodeprocess.vue Просмотреть файл

@@ -0,0 +1,125 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="新增流程节点" :visible="addvisiable" v-if="addvisiable" @close="cancel" width="600px" center>
4
+            <el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
5
+                class="demo-ruleForm">    
6
+                <el-form-item label="节点名称" prop="nodename">
7
+                    <el-select v-model="ruleForm.nodename" placeholder="请选择">
8
+                        <el-option v-for="dict in dict.type.template_type" :key="dict.value" :label="dict.label"
9
+                            :value="dict.value"></el-option>
10
+                    </el-select>
11
+                </el-form-item>
12
+                <el-form-item label="案件状态" prop="casestatus">
13
+                    <el-input v-model="ruleForm.casestatus"></el-input>
14
+                </el-form-item>
15
+                <el-form-item label="驳回节点" prop="rejectnode">
16
+                    <el-select v-model="ruleForm.rejectnode" placeholder="请选择">
17
+                        <el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id">
18
+                        </el-option>
19
+                    </el-select>
20
+                </el-form-item>
21
+                <el-form-item label="关联角色" prop="associatedroles">
22
+                    <el-select v-model="ruleForm.associatedroles" placeholder="请选择">
23
+                        <el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id">
24
+                        </el-option>
25
+                    </el-select>
26
+                </el-form-item>
27
+            </el-form>
28
+            <div slot="footer" class="dialog-footer">
29
+                <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
30
+                <el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
31
+            </div>
32
+        </el-dialog>
33
+    </div>
34
+</template>
35
+<script>
36
+// import {
37
+//     deptIdentifyList,
38
+// } from "@/api/officialSeal/officialSeal.js";
39
+export default {
40
+    props: ["addvisiable", "editData", "queryParams"],
41
+    dicts: ["template_type"],
42
+    data() {
43
+        return {
44
+            fileList: [],
45
+            data: [],
46
+            tempList: [],
47
+            isImg:false,
48
+            filedata: {},
49
+            flagBtn: false,
50
+            ruleForm: {},
51
+            rules: {
52
+                temName: [
53
+                    { required: true, message: '请输入模板名称', trigger: 'blur' },
54
+                ],
55
+                temType: [
56
+                    { required: true, message: '请输入模板名称', trigger: 'blur' },
57
+                ],
58
+                identifyId: [
59
+                    { required: true, message: '请输入模板名称', trigger: 'blur' },
60
+                ]
61
+            }
62
+        };
63
+    },
64
+    watch: {
65
+        editData(val) {
66
+            if (val) {
67
+                this.ruleForm = val
68
+                // let queryParams = {
69
+                //     pageNum: 1,
70
+                //     pageSize: 10000000000000000000000,
71
+                // };
72
+                // deptIdentifyList(queryParams).then(res => {
73
+                //     this.tempList = res.rows;
74
+                // })
75
+                // this.ruleForm = {}
76
+            }
77
+        }
78
+    },
79
+    created() {
80
+
81
+    },
82
+    methods: {
83
+        cancel() {
84
+            this.$emit("cancelAdd");
85
+        },
86
+        handleChange(file, fileList) {
87
+            this.isImg = file.type === '.doc' || '.docx'
88
+        },
89
+        UploadUrl() {
90
+            return window.location.origin + "/API/deptIdentify/insertTemplate";
91
+        },
92
+        submitUpload() {
93
+            this.$refs['ruleForm'].validate((valid) => {
94
+                if (valid) {
95
+                    this.filedata.identifyId = this.ruleForm.identifyId;
96
+                    this.filedata.temName = this.ruleForm.temName;
97
+                    if (this.isImg) {
98
+                        this.$refs.upload.submit();
99
+                    }else{
100
+                        this.$message.error('只能上传doc,docx格式的文件')
101
+                    }
102
+                }
103
+            });
104
+        },
105
+        handleRemove(file, fileList) {
106
+            console.log(file, fileList);
107
+        },
108
+        beforeUpload(file) {
109
+            // debugger
110
+            // this.isImg = file.type === '.doc' || '.docx'
111
+        },
112
+        handleSuccess() {
113
+            this.$message.success('上传成功');
114
+            this.$emit("cancelAdd");
115
+            this.$emit('getList', this.queryParams);
116
+        }
117
+    },
118
+};
119
+</script>
120
+  
121
+<style lang="scss" scoped>
122
+ ::v-deep .el-select {
123
+    width: 100%;
124
+}
125
+</style>