瀏覽代碼

Merge branch 'debelop' of http://39.164.159.192:3000/zhoufan/RMYY_CallCenter_UI into debelop

scholar-wei 3 年之前
父節點
當前提交
713d1d0a7d

+ 395 - 0
CallCenterWeb.UI/RMYY/src/views/orderManage/components/cardetail.vue

@@ -0,0 +1,395 @@
1
+<template>
2
+  <div class="order_detail">
3
+    <el-row :gutter="20">
4
+      <el-col :md="24" class="order_detail_body">
5
+        <el-card shadow="hover">
6
+          <el-col :md="21">
7
+            <el-col :md="18">
8
+              <h1 class="title" style="display: inline-block;">
9
+                <svg-icon class="title_icon" icon-class="hongqi" />工单编号:{{ orderDetailData.F_WorkOrderCode }}
10
+                <span v-if="orderDetailData.StateName" class="wostate">{{ orderDetailData.StateName }}</span>
11
+              </h1>
12
+            </el-col>
13
+          </el-col>
14
+          <el-col :md="24" class="order_detail_content">
15
+            <table class="tabdept" cellspacing="0" cellpadding="0">
16
+              <tr>
17
+                <th>业务类别:</th>
18
+                <td>车辆调度</td>
19
+                <th>工单类别:</th>
20
+                <td>{{ orderDetailData.F_TypeName2 }}</td>
21
+                <th>超时时限:</th>
22
+                <td>{{ orderDetailData.GapTime || '-' }}</td>
23
+              </tr>
24
+              <tr>
25
+                <th>申请科室:</th>
26
+                <td>{{ orderDetailData.F_ProposerDeptName }}</td>
27
+                <th>申请人:</th>
28
+                <td>{{ orderDetailData.F_ProposerName }}</td>
29
+                <th>申请时间:</th>
30
+                <td>{{ orderDetailData.F_StartTime }}</td>
31
+              </tr>
32
+              <tr>
33
+                <th>联系电话:</th>
34
+                <td>{{ orderDetailData.F_Phon }}</td>
35
+                <th>出发地点:</th>
36
+                <td>{{ orderDetailData.F_DepartPlace }}</td>
37
+                <th>到达地点:</th>
38
+                <td>{{ orderDetailData.F_Destination }}</td>
39
+              </tr>
40
+              <tr>
41
+                <th>车牌号:</th>
42
+                <td>{{ orderDetailData.F_CarMessage }}</td>
43
+                <th>用车时间:</th>
44
+                <td>{{ orderDetailData.F_UseTime }}</td>
45
+                <th>是否出生:</th>
46
+                <td>{{ orderDetailData.F_Birth=='0'?'否':'是' }}</td>
47
+              </tr>
48
+              <tr>
49
+                <th>工单内容:</th>
50
+                <td colspan="5">{{ orderDetailData.F_Content }}</td>
51
+              </tr>
52
+            </table>
53
+          </el-col>
54
+        </el-card>
55
+      </el-col>
56
+    </el-row>
57
+    <el-row :gutter="20">
58
+      <el-col :md="24" class="order_detail_body">
59
+        <el-card shadow="hover">
60
+          <el-tabs ref="tabs" v-model="activeName">
61
+            <!-- <el-tab-pane label="处理结果" name="1">
62
+              <el-col :md="24" class="order_detail_content">
63
+                <table class="tabdept" cellspacing="0" cellpadding="0">
64
+                  <tr>
65
+                    <th>处理意见:</th>
66
+                    <td colspan="5">{{ orderDetailData.F_DealOpinions?orderDetailData.F_DealOpinions:'-' }}</td>
67
+                  </tr>
68
+                  <tr>
69
+                    <th>处理方式:</th>
70
+                    <td colspan="5">{{ orderDetailData.F_DealType?orderDetailData.F_DealType:'-' }}</td>
71
+                  </tr>
72
+                </table>
73
+              </el-col>
74
+            </el-tab-pane> -->
75
+            <el-tab-pane label="工单流程" name="1">
76
+              <el-table :data="workOrderCirculationList" border style="width: 100%">
77
+                <el-table-column prop="F_CreateUser" label="操作人" align="center"/>
78
+                <el-table-column prop="F_Message" label="内容" align="center"/>
79
+                <el-table-column prop="F_CreateTime" label="时间" align="center"/>
80
+              </el-table>
81
+            </el-tab-pane>
82
+          </el-tabs>
83
+        </el-card>
84
+      </el-col>
85
+    </el-row>
86
+  </div>
87
+</template>
88
+
89
+<script>
90
+import {
91
+  mapGetters
92
+} from 'vuex'
93
+import {
94
+  getModelDetail
95
+} from '@/api/vehicleDispatch/vehicleScheduling.js'
96
+import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
97
+
98
+export default {
99
+  name: 'CarDetail',
100
+  components: {
101
+    Pagination
102
+  },
103
+  props: {
104
+    rowid: {
105
+      type: String,
106
+      default: '0'
107
+    },
108
+    layerid: {
109
+      type: String,
110
+      default: ''
111
+    }
112
+  },
113
+  data() {
114
+    return {
115
+      activeName: '1',
116
+      ChatList: [], // 备注详情列表
117
+      isChatList: false, // 备注列表是否展示
118
+      // isFamily: false,
119
+      isSpecial: false,
120
+      showAppointmentTime: false,
121
+      // isConduit: false,
122
+      orderDetailData: {
123
+        F_CallID: '',
124
+        F_WorkOrderCode: '',
125
+        F_ID: '',
126
+        F_Source: '电话', // 业务类别
127
+        F_Type1: '', // 工单类别
128
+        F_TypeName1: '', // 工单类别
129
+        F_Type2: '', // 工单子类
130
+        F_TypeName2: '', // 工单子类
131
+        F_Type3: '', // 工单三类
132
+        F_TypeName3: '', // 工单三类
133
+        F_Customer: '', // 姓名
134
+        F_Sex: '0', // 性别
135
+        F_Phon: '', // 电话
136
+        F_CusAddress: '', // 家庭住址
137
+        F_IdCard: '', // 身份证号
138
+        F_ServiceItems: '', // 服务项目
139
+        F_Address: '', // 地区
140
+        F_FirstCheckHospital: '', // 首次检查医院
141
+        F_NoduleSize: '', // 肺结节大小
142
+        F_FirstFindTime: '', // 首次发现肺结节时间
143
+        F_Urgency: '0', // 紧急程度
144
+        F_Cathetertype: '', // 置管类型
145
+        F_Catheterdept: '', // 置管科室
146
+        F_Cathetertime: '', // 置管时间
147
+        F_BedNum: '', // 床号
148
+        F_InpatientNum: '', // 住院号
149
+        opt: '', // 处理方式
150
+        cont: '',
151
+        F_WorkOrderContents: '', // 工单内容
152
+        F_DealOpinions: '' // 处理意见
153
+      },
154
+      pageParams: {
155
+        pageindex: 1, // 当前第几页
156
+        pagesize: 5, // 每页几条数据
157
+        total: 0 // 总共多少数据
158
+      },
159
+      workOrderCirculationList: [] // 工单流转
160
+    }
161
+  },
162
+  computed: {
163
+    ...mapGetters(['rolecode'])
164
+  },
165
+  created() {
166
+    this.getDetail('0')
167
+    this.getDetail('1')
168
+  },
169
+  methods: {
170
+    handleClick(tab, event) {
171
+      console.log(tab, event)
172
+    },
173
+    // 详情
174
+    getDetail(num) {
175
+      const params = {
176
+        WorkOrderCode: this.rowid,
177
+        type: num
178
+      }
179
+      getModelDetail(params).then((response) => {
180
+        if (num === '1') {
181
+          this.workOrderCirculationList = response.data
182
+        } else {
183
+          const res = response.model
184
+          this.orderDetailData = res
185
+          this.orderDetailData.F_TypeName2 = this.$store.getters.workTypeMap[parseInt(res.F_Type)]
186
+            .text // 工单子类
187
+        }
188
+      })
189
+    }
190
+  }
191
+}
192
+</script>
193
+
194
+<style rel="stylesheet/scss" lang="scss">
195
+  .order_detail {
196
+    .tabdept {
197
+      width: 100%;
198
+      margin: 10px 0;
199
+      border: 1px solid #ccc;
200
+    }
201
+
202
+    .tabdept th {
203
+      width: 150px;
204
+      padding: 10px 0;
205
+      font-size: 14px;
206
+      text-align: center;
207
+      background-color: #ececec;
208
+      border: 1px solid #ccc;
209
+    }
210
+
211
+    .tabdept td {
212
+      font-size: 14px;
213
+      text-align: center;
214
+      background-color: #fafafa;
215
+      border: 1px solid #ccc;
216
+    }
217
+
218
+    .wostate {
219
+      color: #67aa60;
220
+      display: inline-block;
221
+      border: 1px solid #c1c1c1;
222
+      border-radius: 5px;
223
+      padding: 5px 10px 3px 10px;
224
+      font-size: 17px !important;
225
+    }
226
+
227
+    .el-col {
228
+      // margin-bottom: 20px;
229
+    }
230
+
231
+    .el-icon-time {
232
+      color: #d81e06;
233
+    }
234
+
235
+    .el-card__header {
236
+      padding-top: 14px;
237
+      padding-bottom: 14px;
238
+      background-color: #f5f5f6;
239
+    }
240
+
241
+    .order_file {
242
+      .el-card__body {
243
+        padding: 22px 0 0 0;
244
+        text-align: center;
245
+      }
246
+    }
247
+
248
+    .order_steps {
249
+      .el-step__icon-inner {
250
+        display: none;
251
+      }
252
+    }
253
+
254
+    .order_record {
255
+      .el-card__body {
256
+        padding: 0;
257
+      }
258
+
259
+      .el-tabs__header {
260
+        padding: 0px 20px;
261
+        background-color: #f5f5f6;
262
+
263
+        .el-tabs__item {
264
+          font-size: 16px;
265
+          height: 47px;
266
+          line-height: 47px;
267
+        }
268
+      }
269
+    }
270
+  }
271
+</style>
272
+
273
+<style rel="stylesheet/scss" lang="scss" scoped>
274
+  .order_detail {
275
+    .order_detail_body {
276
+      margin-bottom: 20px;
277
+
278
+      .round_img {
279
+        width: 90px;
280
+        height: 90px;
281
+        border-radius: 50%;
282
+        overflow: hidden;
283
+        margin: 14px;
284
+
285
+        img {
286
+          width: 100%;
287
+          height: 100%;
288
+        }
289
+      }
290
+
291
+      .title {
292
+        font-size: 20px;
293
+
294
+        .title_icon {
295
+          color: #d81e06;
296
+          font-size: 16px;
297
+          margin-right: 20px;
298
+        }
299
+      }
300
+
301
+      .title_sub {
302
+        font-size: 14px;
303
+        color: #666666;
304
+      }
305
+
306
+      .order_detail_content {
307
+        background-color: #f5f5f6;
308
+        padding-top: 20px;
309
+        color: #4c4c4c;
310
+        font-size: 14px;
311
+
312
+        .order_detail_item {
313
+          margin-bottom: 10px;
314
+
315
+          .order_content {
316
+            margin-top: 10px;
317
+          }
318
+
319
+          .order_file {
320
+            position: relative;
321
+            cursor: pointer;
322
+
323
+            .img_mask {
324
+              display: none;
325
+              position: absolute;
326
+              left: 0px;
327
+              top: 0px;
328
+              background-color: rgba(0, 0, 0, 0.3);
329
+              width: 100%;
330
+              height: 22px;
331
+              text-align: right;
332
+              z-index: 1;
333
+
334
+              i {
335
+                font-size: 20px;
336
+                line-height: 22px;
337
+                display: inline-block;
338
+                margin-right: 15px;
339
+                color: #fff;
340
+              }
341
+            }
342
+
343
+            p {
344
+              margin-top: 5px;
345
+              padding-left: 14px;
346
+              padding-right: 14px;
347
+              white-space: nowrap;
348
+              overflow: hidden;
349
+              text-overflow: ellipsis;
350
+            }
351
+
352
+            .file_icon {
353
+              height: 68px;
354
+              line-height: 68px;
355
+              font-size: 68px;
356
+              color: #409eff;
357
+            }
358
+          }
359
+
360
+          .order_file:hover .img_mask {
361
+            display: block;
362
+          }
363
+        }
364
+      }
365
+    }
366
+
367
+    .green {
368
+      color: #00c1de;
369
+    }
370
+
371
+    .done {
372
+      color: #198120;
373
+    }
374
+
375
+    .red {
376
+      color: #d81e06;
377
+    }
378
+
379
+    .yellow {
380
+      color: #e6a23c;
381
+    }
382
+
383
+    .order_steps {
384
+
385
+      // height: 240px;
386
+      .el-step__icon-inner {
387
+        display: none;
388
+      }
389
+    }
390
+
391
+    .tab_body {
392
+      padding: 0 20px 20px 20px;
393
+    }
394
+  }
395
+</style>

+ 15 - 1
CallCenterWeb.UI/RMYY/src/views/orderManage/mySubmit/index.vue

@@ -188,6 +188,7 @@ import scheduleEdit from './scheduleEdit.vue'
188 188
 import addOrEditOrder from '../../callScreen/components/AddOrEditOrder.vue'
189 189
 import detail from '../components/orderDetail.vue'
190 190
 import askDetail from '../components/askdetail.vue'
191
+import carDetail from '../components/cardetail.vue'
191 192
 import dispatchDetail from '../../comDispatch/components/dispatchdetail.vue'
192 193
 import evaluate from './evaluate.vue'
193 194
 import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
@@ -278,7 +279,7 @@ export default {
278 279
         this.btn_ywzxedit(wocode, row.F_Type, row.F_SonType)
279 280
       }
280 281
       if (this.buttonName === 'cldu_bianji') {
281
-        this.btn_ywzxedit(wocode, row.F_Type, row.F_SonType)
282
+        this.btn_clduedit(wocode, row.F_Type, row.F_SonType)
282 283
       }
283 284
     },
284 285
     // 编辑
@@ -490,6 +491,19 @@ export default {
490 491
           title: '工单详情'
491 492
         })
492 493
       }
494
+      if (row.F_Type === 4000) {
495
+        this.$layer.iframe({
496
+          content: {
497
+            content: carDetail,
498
+            parent: this,
499
+            data: {
500
+              rowid: row.F_WoCode
501
+            } // props
502
+          },
503
+          area: ['80%', '90%'],
504
+          title: '工单详情'
505
+        })
506
+      }
493 507
     },
494 508
     // 删除弹框
495 509
     btn_delete(operateId) {