Ver código fonte

选择调解员,时间

Your Name 2 anos atrás
pai
commit
89b5718794

+ 16
- 0
src/api/caseManagement/caseManagement.js Ver arquivo

@@ -71,4 +71,20 @@ export function selectPaymentDetail(data) {
71 71
       method: "post",
72 72
       data: data,
73 73
     });
74
+  }
75
+  //获取调解员列表
76
+  export function listMediator(data) {
77
+    return request({
78
+      url: "caseApplication/listMediator",
79
+      method: "get",
80
+      params: data,
81
+    });
82
+  }
83
+//   确认仲裁员以及时间
84
+export function updateBooking(data) {
85
+    return request({
86
+      url: "/caseApplication/updateBooking",
87
+      method: "post",
88
+      data: data,
89
+    });
74 90
   }

+ 26
- 1
src/views/caseManagement/caseList.vue Ver arquivo

@@ -75,6 +75,7 @@
75 75
                     <el-button size="mini" type="text" icon="el-icon-edit"
76 76
                         @click="evidenceUpload(scope.row)">证据修改</el-button>
77 77
                     <el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)">缴费</el-button>
78
+                    <el-button size="mini" type="text" icon="el-icon-tickets" @click="selectMediator(scope.row)">预约时间</el-button>
78 79
                 </template>
79 80
             </el-table-column>
80 81
         </el-table>
@@ -102,6 +103,8 @@
102 103
         <paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle" :detailform="detailform" :flag="flag" :paymentConfirma="paymentConfirma" :getList="getList"></paymentdetailsDialog>
103 104
         <!-- 案件受理 -->
104 105
         <caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance" :caseAcceptanceData="caseAcceptanceData" :getList="getList"></caseAcceptance>
106
+        <!-- 调解员弹窗 -->
107
+        <selectMediator  @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData" :getList="getList" :queryParams="queryParams"></selectMediator>
105 108
     </div>
106 109
 </template>
107 110
 
@@ -117,6 +120,7 @@ import mediationCaseLog from './components/mediationCaseLog.vue'
117 120
 import payDialog from "./components/payDialog.vue";
118 121
 import paymentdetailsDialog from './components/paymentdetailsDialog.vue'
119 122
 import caseAcceptance from './components/caseAcceptance.vue'
123
+import selectMediator from './components/selectMediator.vue'
120 124
 export default {
121 125
     name: "caseList",
122 126
     dicts: ["case_flow_node"],
@@ -128,7 +132,8 @@ export default {
128 132
         evidenceDialog,
129 133
         payDialog,
130 134
         paymentdetailsDialog,
131
-        caseAcceptance
135
+        caseAcceptance,
136
+        selectMediator,//调解员弹窗
132 137
     },
133 138
     data() {
134 139
         return {
@@ -160,6 +165,9 @@ export default {
160 165
             paymentConfirma:{},//缴费确认
161 166
             showAcceptance:false,//案件受理弹框
162 167
             caseAcceptanceData:{},//案件受理数据
168
+            mediatorVisable:false,//选择调解员弹窗
169
+            timeVisable:false,//预约时间弹窗
170
+            mediatorData:{},
163 171
             flag: null,
164 172
             caseData: {},
165 173
             evidenceData: {},
@@ -221,6 +229,15 @@ export default {
221 229
                 })
222 230
                 .catch(() => { });
223 231
         },
232
+        /** 选择调解员 */
233
+        selectMediator(val){
234
+            this.mediatorVisable = true;
235
+            this.mediatorData = val;
236
+        },
237
+        /** 预约时间 */
238
+        selectTime(val){
239
+            this.timeVisable = true;
240
+        },
224 241
         getDetail(parms) {
225 242
             caseApplicationSelectById(parms).then((res) => {
226 243
                 this.formPayDetail = res.data;
@@ -270,6 +287,14 @@ export default {
270 287
         paycancelRow(row) {
271 288
             this.openPay = false;
272 289
         },
290
+        /** 取消调解员弹窗 */
291
+        cancelMediator(){
292
+            this.mediatorVisable = false;
293
+        },
294
+        /** 取消预约时间弹窗 */
295
+        cancelTime(){
296
+            this.timeVisable = false;
297
+        },
273 298
         /** 搜索按钮操作 */
274 299
         handleQuery() {
275 300
             this.queryParams.pageNum = 1;

+ 155
- 0
src/views/caseManagement/components/selectMediator.vue Ver arquivo

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

+ 7
- 0
src/views/system/user/index.vue Ver arquivo

@@ -301,6 +301,13 @@
301 301
             </el-form-item>
302 302
           </el-col>
303 303
         </el-row>
304
+        <el-row>
305
+          <el-col :span="24">
306
+            <el-form-item label="专长">
307
+              <el-input v-model="form.specialty" type="textarea" placeholder="请输入内容"></el-input>
308
+            </el-form-item>
309
+          </el-col>
310
+        </el-row>
304 311
       </el-form>
305 312
       <div slot="footer" class="dialog-footer">
306 313
         <el-button type="primary" @click="submitForm">确 定</el-button>