Przeglądaj źródła

调解员拆解

Your Name 2 lat temu
rodzic
commit
8fca2aac8d

+ 8
- 0
src/api/caseManagement/caseManagement.js Wyświetl plik

119
     data: data,
119
     data: data,
120
   });
120
   });
121
 }
121
 }
122
+// 确认调节时间
123
+export function confirmDate(data) {
124
+  return request({
125
+    url: "/caseApplication/confirmDate",
126
+    method: "post",
127
+    data: data,
128
+  });
129
+}

+ 19
- 4
src/views/caseManagement/caseList.vue Wyświetl plik

78
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="selectMediator(scope.row)">预约时间</el-button>
78
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="selectMediator(scope.row)">预约时间</el-button>
79
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="secretaryConfirm(scope.row)">秘书审核</el-button>
79
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="secretaryConfirm(scope.row)">秘书审核</el-button>
80
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="department(scope.row)">部门长审核</el-button>
80
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="department(scope.row)">部门长审核</el-button>
81
+                    <el-button size="mini" type="text" icon="el-icon-tickets" @click="timeConfirm(scope.row)">确认调解时间</el-button>
81
                 </template>
82
                 </template>
82
             </el-table-column>
83
             </el-table-column>
83
         </el-table>
84
         </el-table>
111
         <confirmMediator @cancelConfirm="cancelConfirm" :confirmVisable="confirmVisable" :confirmData="confirmData" @getList="getList" :queryParams="queryParams"></confirmMediator>
112
         <confirmMediator @cancelConfirm="cancelConfirm" :confirmVisable="confirmVisable" :confirmData="confirmData" @getList="getList" :queryParams="queryParams"></confirmMediator>
112
         <!-- 部门长确认 -->
113
         <!-- 部门长确认 -->
113
         <departmentMediator @cancelDepartment="cancelDepartment" :departmentVisable="departmentVisable" :departmentData="departmentData" @getList="getList" :queryParams="queryParams"></departmentMediator>
114
         <departmentMediator @cancelDepartment="cancelDepartment" :departmentVisable="departmentVisable" :departmentData="departmentData" @getList="getList" :queryParams="queryParams"></departmentMediator>
115
+        <!-- 秘书确认时间 -->
116
+        <timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable" :timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
114
     </div>
117
     </div>
115
 </template>
118
 </template>
116
 
119
 
129
 import selectMediator from './components/selectMediator.vue'
132
 import selectMediator from './components/selectMediator.vue'
130
 import confirmMediator from './components/confirmMediator.vue'
133
 import confirmMediator from './components/confirmMediator.vue'
131
 import departmentMediator from './components/departmentMediator.vue'
134
 import departmentMediator from './components/departmentMediator.vue'
135
+import timeConfirm from './components/timeConfirm.vue'
132
 export default {
136
 export default {
133
     name: "caseList",
137
     name: "caseList",
134
     dicts: ["case_flow_node"],
138
     dicts: ["case_flow_node"],
143
         caseAcceptance,
147
         caseAcceptance,
144
         selectMediator,//调解员弹窗
148
         selectMediator,//调解员弹窗
145
         confirmMediator,
149
         confirmMediator,
146
-        departmentMediator
150
+        departmentMediator,
151
+        timeConfirm
147
     },
152
     },
148
     data() {
153
     data() {
149
         return {
154
         return {
189
             tabFlag: false,
194
             tabFlag: false,
190
             confirmData:{},
195
             confirmData:{},
191
             departmentVisable:false,
196
             departmentVisable:false,
192
-            departmentData:{}
197
+            departmentData:{},
198
+            timeConfirmVisable:false,
199
+            timeConfirmData:{}
193
         };
200
         };
194
     },
201
     },
195
     created() {
202
     created() {
259
                 this.payForm.caseId = res.data.id;
266
                 this.payForm.caseId = res.data.id;
260
             });
267
             });
261
         },
268
         },
262
-        /** 确认时间/调解员 */
269
+        /** 确认调解员 */
263
         secretaryConfirm(val){
270
         secretaryConfirm(val){
264
             this.confirmVisable = true;
271
             this.confirmVisable = true;
265
             this.confirmData = val;
272
             this.confirmData = val;
266
         },
273
         },
267
-        /** 部门长确认时间/调解员 */
274
+        /** 部门长确认调解员 */
268
         department(val){
275
         department(val){
269
             this.departmentVisable = true;
276
             this.departmentVisable = true;
270
             this.departmentData = val;
277
             this.departmentData = val;
271
         },
278
         },
279
+        /**确认时间 */
280
+        timeConfirm(val){
281
+            this.timeConfirmVisable = true;
282
+            this.timeConfirmData = val;
283
+        },
272
         /** 时间改变处理 */
284
         /** 时间改变处理 */
273
         caseTimeChange() {
285
         caseTimeChange() {
274
             if (this.caseTime) {
286
             if (this.caseTime) {
325
         cancelDepartment(){
337
         cancelDepartment(){
326
             this.departmentVisable = false;
338
             this.departmentVisable = false;
327
         },
339
         },
340
+        cancelTimeConfirm(){
341
+            this.timeConfirmVisable = false;
342
+        },
328
         /** 搜索按钮操作 */
343
         /** 搜索按钮操作 */
329
         handleQuery() {
344
         handleQuery() {
330
             this.queryParams.pageNum = 1;
345
             this.queryParams.pageNum = 1;

+ 7
- 7
src/views/caseManagement/components/confirmMediator.vue Wyświetl plik

1
 <template>
1
 <template>
2
     <div>
2
     <div>
3
-        <el-dialog title="秘书确认时间/调解员" :visible="confirmVisable" v-if="confirmVisable" @close="cancel" center
3
+        <el-dialog title="秘书确认调解员" :visible="confirmVisable" v-if="confirmVisable" @close="cancel" center
4
             :distroy-on-close="true">
4
             :distroy-on-close="true">
5
             <div style="margin-bottom: 20px;">
5
             <div style="margin-bottom: 20px;">
6
                 <el-radio-group v-model="confirmFlag">
6
                 <el-radio-group v-model="confirmFlag">
25
                     <el-table-column prop="completeAmount" label="已办数量">
25
                     <el-table-column prop="completeAmount" label="已办数量">
26
                     </el-table-column>
26
                     </el-table-column>
27
                 </el-table>
27
                 </el-table>
28
-                <div>
28
+                <!-- <div>
29
                     <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
29
                     <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
30
                     <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
30
                     <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
31
                         <el-form-item label="时间">
31
                         <el-form-item label="时间">
32
                             <el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
32
                             <el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
33
                             </el-date-picker>
33
                             </el-date-picker>
34
-                        </el-form-item>
34
+                        </el-form-item> -->
35
                         <!-- 后期需要三个时间 -->
35
                         <!-- 后期需要三个时间 -->
36
                         <!-- <el-form-item label="时间2">
36
                         <!-- <el-form-item label="时间2">
37
                             <el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
37
                             <el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
41
                             <el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
41
                             <el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
42
                             </el-date-picker>
42
                             </el-date-picker>
43
                         </el-form-item> -->
43
                         </el-form-item> -->
44
-                    </el-form>
45
-                </div>
44
+                    <!-- </el-form>
45
+                </div> -->
46
             </div>
46
             </div>
47
             <div slot="footer" class="dialog-footer">
47
             <div slot="footer" class="dialog-footer">
48
                 <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
48
                 <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
125
                     id: this.confirmData.id,
125
                     id: this.confirmData.id,
126
                     caseFlowId: this.confirmData.caseFlowId,
126
                     caseFlowId: this.confirmData.caseFlowId,
127
                     userList: userArr,
127
                     userList: userArr,
128
-                    herDates: this.formLabelAlign.time
128
+                    // herDates: this.formLabelAlign.time
129
                 })
129
                 })
130
             } else {
130
             } else {
131
                 if (this.multipleSelection.length > 1) {
131
                 if (this.multipleSelection.length > 1) {
155
                     id: this.confirmData.id,
155
                     id: this.confirmData.id,
156
                     caseFlowId: this.confirmData.caseFlowId,
156
                     caseFlowId: this.confirmData.caseFlowId,
157
                     userList: this.mediatorArr,
157
                     userList: this.mediatorArr,
158
-                    herDates: this.formLabelAlign.time
158
+                    // herDates: this.formLabelAlign.time
159
                 })
159
                 })
160
             }
160
             }
161
         },
161
         },

+ 7
- 7
src/views/caseManagement/components/departmentMediator.vue Wyświetl plik

1
 <template>
1
 <template>
2
     <div>
2
     <div>
3
-        <el-dialog title="部门长确认时间/调解员" :visible="departmentVisable" v-if="departmentVisable" @close="cancel" center
3
+        <el-dialog title="部门长确认调解员" :visible="departmentVisable" v-if="departmentVisable" @close="cancel" center
4
             :distroy-on-close="true">
4
             :distroy-on-close="true">
5
             <div style="margin-bottom: 20px;">
5
             <div style="margin-bottom: 20px;">
6
                 <el-radio-group v-model="confirmFlag">
6
                 <el-radio-group v-model="confirmFlag">
25
                     <el-table-column prop="completeAmount" label="已办数量">
25
                     <el-table-column prop="completeAmount" label="已办数量">
26
                     </el-table-column>
26
                     </el-table-column>
27
                 </el-table>
27
                 </el-table>
28
-                <div>
28
+                <!-- <div>
29
                     <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
29
                     <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
30
                     <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
30
                     <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
31
                         <el-form-item label="时间">
31
                         <el-form-item label="时间">
32
                             <el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
32
                             <el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
33
                             </el-date-picker>
33
                             </el-date-picker>
34
-                        </el-form-item>
34
+                        </el-form-item> -->
35
                         <!-- 后期需要三个时间 -->
35
                         <!-- 后期需要三个时间 -->
36
                         <!-- <el-form-item label="时间2">
36
                         <!-- <el-form-item label="时间2">
37
                             <el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
37
                             <el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
41
                             <el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
41
                             <el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
42
                             </el-date-picker>
42
                             </el-date-picker>
43
                         </el-form-item> -->
43
                         </el-form-item> -->
44
-                    </el-form>
45
-                </div>
44
+                    <!-- </el-form>
45
+                </div> -->
46
             </div>
46
             </div>
47
             <div slot="footer" class="dialog-footer">
47
             <div slot="footer" class="dialog-footer">
48
                 <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
48
                 <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
125
                     id: this.departmentData.id,
125
                     id: this.departmentData.id,
126
                     caseFlowId: this.departmentData.caseFlowId,
126
                     caseFlowId: this.departmentData.caseFlowId,
127
                     userList: userArr,
127
                     userList: userArr,
128
-                    herDates: this.formLabelAlign.time
128
+                    // herDates: this.formLabelAlign.time
129
                 })
129
                 })
130
             } else {
130
             } else {
131
                 if (this.multipleSelection.length > 1) {
131
                 if (this.multipleSelection.length > 1) {
155
                     id: this.departmentData.id,
155
                     id: this.departmentData.id,
156
                     caseFlowId: this.departmentData.caseFlowId,
156
                     caseFlowId: this.departmentData.caseFlowId,
157
                     userList: this.mediatorArr,
157
                     userList: this.mediatorArr,
158
-                    herDates: this.formLabelAlign.time
158
+                    // herDates: this.formLabelAlign.time
159
                 })
159
                 })
160
             }
160
             }
161
         },
161
         },

+ 175
- 0
src/views/caseManagement/components/timeConfirm.vue Wyświetl plik

1
+<template>
2
+    <div>
3
+        <el-dialog title="秘书确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center
4
+            :distroy-on-close="true">
5
+            <div style="margin-bottom: 20px;">
6
+                <el-radio-group v-model="confirmFlag">
7
+                    <el-radio :label="1">同意</el-radio>
8
+                    <el-radio :label="2">拒绝</el-radio>
9
+                </el-radio-group>
10
+            </div>
11
+            <div>
12
+                <div>
13
+                    <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
14
+                    <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
15
+                        <el-form-item label="时间">
16
+                            <el-date-picker v-if="!confirmShow" v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
17
+                            </el-date-picker>
18
+                            <el-input v-else v-model="formLabelAlign.name"></el-input>
19
+                        </el-form-item>
20
+                    </el-form>
21
+                </div>
22
+            </div>
23
+            <div slot="footer" class="dialog-footer">
24
+                <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
25
+                <el-button @click="submitMediator" class="endbutton1"><span>确 认</span></el-button>
26
+            </div>
27
+        </el-dialog>
28
+    </div>
29
+</template>
30
+  
31
+<script>
32
+import { Message } from 'element-ui'
33
+import { listMediator, selectReservation,confirmDate } from '@/api/caseManagement/caseManagement.js'
34
+import moment from "moment";
35
+export default {
36
+    props: ["timeConfirmVisable", "timeConfirmData", "queryParams"],
37
+    data() {
38
+        return {
39
+            tableData: [],
40
+            multipleSelection: [],
41
+            formLabelAlign: {
42
+                time: [],
43
+                name:""
44
+            },
45
+            formTimeArr: [],
46
+            mediatorArr: [],
47
+            confirmFlag: 1,
48
+            confirmShow: true,
49
+        };
50
+    },
51
+    watch: {
52
+        timeConfirmVisable(val) {
53
+            if (val) {
54
+                this.confirmFlag = 1;
55
+                this.mediatorArr = [];
56
+                this.formTimeArr = [];
57
+                this.selectReservationFn({ id: this.timeConfirmData.id })
58
+            }
59
+        },
60
+        confirmFlag(val) {
61
+            if (val == 1) {
62
+                this.confirmShow = true;
63
+                console.log(this.timeConfirmData.id);
64
+                this.selectReservationFn({ id: this.timeConfirmData.id })
65
+            } else {
66
+                this.confirmShow = false;
67
+                listMediator().then(res => {
68
+                    this.tableData = res.data;
69
+                })
70
+            }
71
+        }
72
+    },
73
+    methods: {
74
+        cancel() {
75
+            this.$emit("cancelTimeConfirm");
76
+        },
77
+        selectReservationFn(data) {
78
+            selectReservation(data).then(res => {
79
+                this.tableData = res.data.mediatorList;
80
+                // this.formLabelAlign.time[0] = res.data.herDates[0];
81
+                this.formLabelAlign.name = res.data.herDates[0]
82
+            })
83
+        },
84
+        /**核实时间 */
85
+        verifyMediatorFn(data) {
86
+            confirmDate(data).then(res => {
87
+                this.$modal.msgSuccess("成功");
88
+                this.$emit("cancelTimeConfirm");
89
+                this.$emit('getList', this.queryParams);
90
+            })
91
+        },
92
+        /**提交选择结果*/
93
+        async submitMediator() {
94
+            if (this.confirmFlag == 1) {
95
+                let userArr = [];
96
+                this.tableData.forEach(item => {
97
+                    userArr.push({
98
+                        userId: item.mediatorId,
99
+                        userName: item.mediatorName
100
+                    })
101
+                })
102
+                this.verifyMediatorFn({
103
+                    id: this.timeConfirmData.id,
104
+                    caseFlowId: this.timeConfirmData.caseFlowId,
105
+                    // userList: userArr,
106
+                    herDates: this.formLabelAlign.time
107
+                })
108
+            } else {
109
+                if (this.multipleSelection.length > 1) {
110
+                    Message.error('最多选择一名调解员');
111
+                    return
112
+                } else if (this.multipleSelection.length < 1) {
113
+                    Message.error('至少选择一名调解员');
114
+                    return
115
+                }
116
+                if (this.formLabelAlign.time.length < 1) {
117
+                    Message.error('至少选择一个时间');
118
+                    return
119
+                }
120
+                this.formLabelAlign.time.forEach(item => {
121
+                    item = moment(
122
+                        item
123
+                    ).format("YYYY-MM-DD HH:mm:ss");
124
+                    this.formTimeArr.push(item)
125
+                })
126
+                this.multipleSelection.forEach(item => {
127
+                    this.mediatorArr.push({
128
+                        userId: item.mediatorId,
129
+                        userName: item.mediatorName
130
+                    })
131
+                })
132
+                this.verifyMediatorFn({
133
+                    id: this.timeConfirmData.id,
134
+                    caseFlowId: this.timeConfirmData.caseFlowId,
135
+                    // userList: this.mediatorArr,
136
+                    herDates: this.formLabelAlign.time
137
+                })
138
+            }
139
+        },
140
+        handleSelectionChange(val) {
141
+            this.multipleSelection = val;
142
+        }
143
+    },
144
+};
145
+</script>
146
+  
147
+<style lang="scss" scoped>
148
+.steps {
149
+    display: flex;
150
+    flex-wrap: wrap;
151
+}
152
+
153
+::v-deep .el-step {
154
+    // width: 150px;
155
+    flex-basis: 25% !important;
156
+    margin-right: 20px;
157
+    margin-bottom: 20px;
158
+}
159
+
160
+::v-deep .el-dialog__body {
161
+    height: 500px !important;
162
+    overflow: auto !important;
163
+}
164
+
165
+::v-deep .el-dialog {
166
+    width: 800px;
167
+    background: #ffffff;
168
+    border-radius: 20px;
169
+}
170
+
171
+.timeTitle {
172
+    width: 1000%;
173
+    text-align: center;
174
+}
175
+</style>