Pārlūkot izejas kodu

Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Mediation-Frontend into hcb

fz 2 gadus atpakaļ
vecāks
revīzija
82661af1b7

+ 1
- 1
package.json Parādīt failu

@@ -48,7 +48,7 @@
48 48
     "js-beautify": "1.13.0",
49 49
     "js-cookie": "3.0.1",
50 50
     "jsencrypt": "3.0.0-rc.1",
51
-    "moment": "^2.29.4",
51
+    "moment": "^2.30.1",
52 52
     "nprogress": "0.2.0",
53 53
     "qrcodejs2": "0.0.2",
54 54
     "quill": "1.3.7",

+ 34
- 0
src/api/caseprocessManagement/caseprocessManagement.js Parādīt failu

@@ -0,0 +1,34 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询案件流程节点信息
4
+export function queryCaseFlowInfo(data) {
5
+    return request({
6
+        url: '/case/flow/queryCaseFlowInfo',
7
+        method: 'post',
8
+        data: data
9
+    })
10
+}
11
+// 新增或编辑案例流程信息
12
+export function saveCaseFlow(data) {
13
+    return request({
14
+        url: '/case/flow/saveCaseFlow',
15
+        method: 'post',
16
+        data: data
17
+    })
18
+}
19
+// 删除
20
+export function deleteCaseFlow(data) {
21
+    return request({
22
+        url: '/case/flow/deleteCaseFlow',
23
+        method: 'post',
24
+        data: data
25
+    })
26
+}
27
+// 流程节点排序接口
28
+export function sortCaseFlow(data) {
29
+    return request({
30
+        url: '/case/flow/sortCaseFlow',
31
+        method: 'post',
32
+        data: data
33
+    })
34
+}

+ 40
- 47
src/views/caseprocessManagement/caseprocessManage.vue Parādīt failu

@@ -1,13 +1,13 @@
1 1
 <template>
2 2
     <div class="app-container">
3 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"
4
+            <el-form-item label="案件状态" prop="caseStatusName">
5
+                <el-input v-model="queryParams.caseStatusName" placeholder="请输入案件状态" clearable style="width: 240px"
6 6
                     @keyup.enter.native="handleQuery" />
7 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"
8
+            <el-form-item label="节点名称" prop="nodeName">
9
+                <el-select v-model="queryParams.nodeName" placeholder="节点名称" clearable style="width: 240px">
10
+                    <el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
11 11
                         :value="dict.value" />
12 12
                 </el-select>
13 13
             </el-form-item>
@@ -29,17 +29,15 @@
29 29
                     }}</span>
30 30
                 </template>
31 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" />
32
+            <el-table-column label="节点名称" align="center" prop="nodeName" :show-overflow-tooltip="true" />
33
+            <el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
34
+            <el-table-column label="驳回节点" align="center" prop="backFlowName" :show-overflow-tooltip="true" />
35
+            <el-table-column label="关联角色" align="center" prop="roleNames" :show-overflow-tooltip="true" />
36 36
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
37 37
                 <template slot-scope="scope">
38
-                    <el-button size="mini" @click="moveDown(scope.row)" type="text"
39
-                        icon="el-icon-arrow-down"></el-button>
38
+                    <el-button size="mini" @click="moveDown(scope.row)" type="text" icon="el-icon-arrow-down"></el-button>
40 39
 
41
-                    <el-button size="mini" @click="moveUp(scope.row)" type="text"
42
-                        icon="el-icon-arrow-up"></el-button>
40
+                    <el-button size="mini" @click="moveUp(scope.row)" type="text" icon="el-icon-arrow-up"></el-button>
43 41
                     <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
44 42
                         icon="el-icon-edit">修改</el-button>
45 43
                     <el-button size="mini" @click="deleteNodeprocess(scope.row)" type="text"
@@ -57,19 +55,14 @@
57 55
 </template>
58 56
   
59 57
 <script>
60
-// import {
61
-//     getTemplate,
62
-//     deleteTemplate,
63
-//     getTemplateInfoById
64
-// } from "@/api/officialSeal/officialSeal.js";
65
-
58
+import { queryCaseFlowInfo, deleteCaseFlow, sortCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
66 59
 import addNodeprocess from "./components/addNodeprocess";
67 60
 export default {
68 61
     name: "paymentList",
69 62
     components: {
70 63
         addNodeprocess,
71 64
     },
72
-    dicts: ['sys_normal_disable'],
65
+    dicts: ['case_flow_node'],
73 66
     data() {
74 67
         return {
75 68
             queryParams: {
@@ -103,11 +96,31 @@ export default {
103 96
         },
104 97
         // 删除接口
105 98
         deleteSealFn(data) {
106
-            deleteTemplate(data).then(res => {
99
+            deleteCaseFlow(data).then(res => {
107 100
                 this.$modal.msgSuccess("删除成功!");
108 101
                 this.getList(this.queryParams);
109 102
             })
110 103
         },
104
+        // 向下 sortType
105
+        moveDown(row) {
106
+            let params = {
107
+                id: row.id,
108
+                sortType: 0
109
+            }
110
+            sortCaseFlow(params).then((res) => {
111
+                this.getList(this.queryParams);
112
+            })
113
+        },
114
+        // 向上
115
+        moveUp(row) {
116
+            let params = {
117
+                id: row.id,
118
+                sortType: 1
119
+            }
120
+            sortCaseFlow(params).then((res) => {
121
+                this.getList(this.queryParams);
122
+            })
123
+        },
111 124
         // 新增流程节点
112 125
         addnodeprocess(row) {
113 126
             this.addvisiable = true;
@@ -136,32 +149,12 @@ export default {
136 149
         // 查询列表数据
137 150
         getList(parms) {
138 151
             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
-            // });
152
+            parms.nodeId = parseInt(parms.nodeName)
153
+            queryCaseFlowInfo(parms).then((response) => {
154
+                this.dataList = response.rows;
155
+                this.total = response.total;
156
+                this.loading = false;
157
+            });
165 158
         },
166 159
     },
167 160
 };

+ 113
- 62
src/views/caseprocessManagement/components/addNodeprocess.vue Parādīt failu

@@ -2,77 +2,73 @@
2 2
     <div>
3 3
         <el-dialog title="新增流程节点" :visible="addvisiable" v-if="addvisiable" @close="cancel" width="600px" center>
4 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"
5
+                class="demo-ruleForm">
6
+                <el-form-item label="节点名称" prop="nodeName">
7
+                    <el-select v-model="ruleForm.nodeName" placeholder="请选择" @change="changenodeName">
8
+                        <el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
9 9
                             :value="dict.value"></el-option>
10 10
                     </el-select>
11 11
                 </el-form-item>
12
-                <el-form-item label="案件状态" prop="casestatus">
13
-                    <el-input v-model="ruleForm.casestatus"></el-input>
12
+                <el-form-item label="案件状态" prop="caseStatusName">
13
+                    <el-input v-model="ruleForm.caseStatusName" placeholder="请输入"></el-input>
14 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">
15
+                <el-form-item label="驳回节点" prop="backFlowName">
16
+                    <el-select v-model="ruleForm.backFlowId" placeholder="请选择">
17
+                        <el-option v-for="item in backflowArr" :key="item.backFlowId" :value="item.backFlowId"
18
+                            :label="item.backFlowName">
18 19
                         </el-option>
19 20
                     </el-select>
20 21
                 </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">
22
+                <el-form-item label="关联角色" prop="roleIds">
23
+                    <el-select v-model="ruleForm.roleIds" multiple placeholder="请选择">
24
+                        <el-option v-for="item in roleArr" :key="item.roleId" :label="item.roleName" :value="item.roleId">
24 25
                         </el-option>
25 26
                     </el-select>
26 27
                 </el-form-item>
27 28
             </el-form>
28 29
             <div slot="footer" class="dialog-footer">
29 30
                 <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
30
-                <el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
31
+                <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
31 32
             </div>
32 33
         </el-dialog>
33 34
     </div>
34 35
 </template>
35 36
 <script>
36
-// import {
37
-//     deptIdentifyList,
38
-// } from "@/api/officialSeal/officialSeal.js";
37
+import { queryCaseFlowInfo, saveCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
38
+import { listRole } from "@/api/system/role";
39 39
 export default {
40 40
     props: ["addvisiable", "editData", "queryParams"],
41
-    dicts: ["template_type"],
41
+    dicts: ["case_flow_node"],
42 42
     data() {
43 43
         return {
44 44
             fileList: [],
45 45
             data: [],
46
-            tempList: [],
47
-            isImg:false,
46
+            backflowArr: [],//驳回节点
47
+            roleArr: [],//关联角色
48
+            isImg: false,
48 49
             filedata: {},
49 50
             flagBtn: false,
50 51
             ruleForm: {},
51 52
             rules: {
52
-                temName: [
53
-                    { required: true, message: '请输入模板名称', trigger: 'blur' },
53
+                nodeName: [
54
+                    { required: true, message: '请选择模版名称', trigger: 'blur' },
54 55
                 ],
55
-                temType: [
56
-                    { required: true, message: '请输入模板名称', trigger: 'blur' },
56
+                caseStatusName: [
57
+                    { required: true, message: '请输入案件状态', trigger: 'blur' },
57 58
                 ],
58
-                identifyId: [
59
-                    { required: true, message: '请输入模板名称', trigger: 'blur' },
59
+                roleIds: [
60
+                    { required: true, message: '请选择关联角色', trigger: 'blur' },
60 61
                 ]
61
-            }
62
+            },
63
+            dealvalue: [],
62 64
         };
63 65
     },
64 66
     watch: {
65
-        editData(val) {
67
+        addvisiable(val) {
66 68
             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 = {}
69
+                this.ruleForm = this.editData;
70
+                this.getRoles();
71
+                this.getbackflowArr()
76 72
             }
77 73
         }
78 74
     },
@@ -80,46 +76,101 @@ export default {
80 76
 
81 77
     },
82 78
     methods: {
83
-        cancel() {
84
-            this.$emit("cancelAdd");
79
+        changenodeName(val) {
80
+            console.log(val, 'changeval');
85 81
         },
86
-        handleChange(file, fileList) {
87
-            this.isImg = file.type === '.doc' || '.docx'
82
+        // 获取驳回节点数据
83
+        getbackflowArr() {
84
+            let queryParams2 = {
85
+                pageNum: 1,
86
+                pageSize: 999,
87
+            };
88
+            queryCaseFlowInfo(queryParams2).then((res) => {
89
+                this.backflowArr = [];
90
+                res.rows.forEach(item => {
91
+                    this.backflowArr.push({
92
+                        backFlowName: item.nodeName,
93
+                        backFlowId: item.id
94
+                    })
95
+                });
96
+                if (this.editData.id) {
97
+                    let arr = this.backflowArr;
98
+                    let result = arr.filter(obj => obj.backFlowId !== this.editData.id);
99
+                    this.backflowArr = result
100
+                }
101
+            })
88 102
         },
89
-        UploadUrl() {
90
-            return window.location.origin + "/API/deptIdentify/insertTemplate";
103
+        // 获取关联角色
104
+        getRoles() {
105
+            let queryParams1 = {
106
+                pageNum: 1,
107
+                pageSize: 100000000000000000,
108
+            };
109
+            listRole(queryParams1).then((res) => {
110
+                this.roleArr = res.rows
111
+            })
112
+        },
113
+        cancel() {
114
+            this.$emit("cancelAdd");
91 115
         },
92
-        submitUpload() {
116
+        // 提交
117
+        submitForm() {
93 118
             this.$refs['ruleForm'].validate((valid) => {
94 119
                 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格式的文件')
120
+                    let params = {};
121
+                    if (this.ruleForm.id) {
122
+                        let nodevalue = this.dict.type.case_flow_node;
123
+                        this.dealvalue = nodevalue.filter((item) => {
124
+                            if(item.value == this.ruleForm.nodeId) {
125
+                                return item
126
+                            }
127
+                        }
128
+                        );
129
+                        // 编辑
130
+                        params = {
131
+                            id: this.ruleForm.id,
132
+                            nodeId: this.dealvalue[0].value,
133
+                            nodeName: this.dealvalue[0].label,
134
+                            caseStatusName: this.ruleForm.caseStatusName,
135
+                            backFlowId: this.ruleForm.backFlowId,
136
+                            roleIds: this.ruleForm.roleIds,
137
+                            sort: this.ruleForm.sort
138
+                        }
139
+                    } else {
140
+                        let nodevalue = this.dict.type.case_flow_node;
141
+                        this.dealvalue = nodevalue.filter((item) => {
142
+                            if (item.value == this.ruleForm.nodeName) {
143
+                                return item
144
+                            }
145
+                        }
146
+                        );
147
+                        // 新增
148
+                        params = {
149
+                            nodeId: this.dealvalue[0].value,
150
+                            nodeName: this.dealvalue[0].label,
151
+                            caseStatusName: this.ruleForm.caseStatusName,
152
+                            backFlowId: this.ruleForm.backFlowId,
153
+                            roleIds: this.ruleForm.roleIds
154
+                        }
101 155
                     }
156
+                    if (params.backFlowId == undefined) {
157
+                        delete params.backFlowId
158
+                    }
159
+                    saveCaseFlow(params).then((res) => {
160
+                        this.$modal.msgSuccess("成功!");
161
+                        this.$emit("getList", this.queryParams)
162
+                        this.$emit("cancelAdd");
163
+                    })
164
+
102 165
                 }
103 166
             });
104 167
         },
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 168
     },
118 169
 };
119 170
 </script>
120 171
   
121 172
 <style lang="scss" scoped>
122
- ::v-deep .el-select {
173
+::v-deep .el-select {
123 174
     width: 100%;
124 175
 }
125 176
 </style>