Your Name 2 лет назад
Родитель
Сommit
8fca2aac8d

+ 8
- 0
src/api/caseManagement/caseManagement.js Просмотреть файл

@@ -119,3 +119,11 @@ export function verifyMediator(data) {
119 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 Просмотреть файл

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

+ 7
- 7
src/views/caseManagement/components/confirmMediator.vue Просмотреть файл

@@ -1,6 +1,6 @@
1 1
 <template>
2 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 4
             :distroy-on-close="true">
5 5
             <div style="margin-bottom: 20px;">
6 6
                 <el-radio-group v-model="confirmFlag">
@@ -25,13 +25,13 @@
25 25
                     <el-table-column prop="completeAmount" label="已办数量">
26 26
                     </el-table-column>
27 27
                 </el-table>
28
-                <div>
28
+                <!-- <div>
29 29
                     <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
30 30
                     <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
31 31
                         <el-form-item label="时间">
32 32
                             <el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
33 33
                             </el-date-picker>
34
-                        </el-form-item>
34
+                        </el-form-item> -->
35 35
                         <!-- 后期需要三个时间 -->
36 36
                         <!-- <el-form-item label="时间2">
37 37
                             <el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
@@ -41,8 +41,8 @@
41 41
                             <el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
42 42
                             </el-date-picker>
43 43
                         </el-form-item> -->
44
-                    </el-form>
45
-                </div>
44
+                    <!-- </el-form>
45
+                </div> -->
46 46
             </div>
47 47
             <div slot="footer" class="dialog-footer">
48 48
                 <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
@@ -125,7 +125,7 @@ export default {
125 125
                     id: this.confirmData.id,
126 126
                     caseFlowId: this.confirmData.caseFlowId,
127 127
                     userList: userArr,
128
-                    herDates: this.formLabelAlign.time
128
+                    // herDates: this.formLabelAlign.time
129 129
                 })
130 130
             } else {
131 131
                 if (this.multipleSelection.length > 1) {
@@ -155,7 +155,7 @@ export default {
155 155
                     id: this.confirmData.id,
156 156
                     caseFlowId: this.confirmData.caseFlowId,
157 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 Просмотреть файл

@@ -1,6 +1,6 @@
1 1
 <template>
2 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 4
             :distroy-on-close="true">
5 5
             <div style="margin-bottom: 20px;">
6 6
                 <el-radio-group v-model="confirmFlag">
@@ -25,13 +25,13 @@
25 25
                     <el-table-column prop="completeAmount" label="已办数量">
26 26
                     </el-table-column>
27 27
                 </el-table>
28
-                <div>
28
+                <!-- <div>
29 29
                     <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
30 30
                     <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
31 31
                         <el-form-item label="时间">
32 32
                             <el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
33 33
                             </el-date-picker>
34
-                        </el-form-item>
34
+                        </el-form-item> -->
35 35
                         <!-- 后期需要三个时间 -->
36 36
                         <!-- <el-form-item label="时间2">
37 37
                             <el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
@@ -41,8 +41,8 @@
41 41
                             <el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
42 42
                             </el-date-picker>
43 43
                         </el-form-item> -->
44
-                    </el-form>
45
-                </div>
44
+                    <!-- </el-form>
45
+                </div> -->
46 46
             </div>
47 47
             <div slot="footer" class="dialog-footer">
48 48
                 <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
@@ -125,7 +125,7 @@ export default {
125 125
                     id: this.departmentData.id,
126 126
                     caseFlowId: this.departmentData.caseFlowId,
127 127
                     userList: userArr,
128
-                    herDates: this.formLabelAlign.time
128
+                    // herDates: this.formLabelAlign.time
129 129
                 })
130 130
             } else {
131 131
                 if (this.multipleSelection.length > 1) {
@@ -155,7 +155,7 @@ export default {
155 155
                     id: this.departmentData.id,
156 156
                     caseFlowId: this.departmentData.caseFlowId,
157 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 Просмотреть файл

@@ -0,0 +1,175 @@
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>