weieryang 3 lat temu
rodzic
commit
7c249deda3

+ 34 - 2
CallCenterWeb.UI/RMYY/src/api/comDispatch/addOrEditDispatch.js

@@ -15,12 +15,20 @@ export function GetequipList(params) {
15 15
     params
16 16
   })
17 17
 }
18
+//
19
+export function GetOrderDetail(params) {
20
+  return request({
21
+    url: 'Scheduling/GetWorkOrder',
22
+    method: 'get',
23
+    params
24
+  })
25
+}
18 26
 // 添加工单
19 27
 export function AddSchedulingWorkOrder(params) {
20 28
   return request({
21 29
     url: 'Scheduling/AddSchedulingWorkOrder',
22 30
     method: 'post',
23
-    params
31
+    data: params
24 32
   })
25 33
 }
26 34
 // 编辑
@@ -28,7 +36,7 @@ export function UpdateSchedulingWorkOrder(params) {
28 36
   return request({
29 37
     url: 'Scheduling/UpdateSchedulingWorkOrder',
30 38
     method: 'post',
31
-    params
39
+    data: params
32 40
   })
33 41
 }
34 42
 // 工单列表
@@ -39,6 +47,30 @@ export function GetDealManWorkOrderList(params) {
39 47
     params
40 48
   })
41 49
 }
50
+// 接单
51
+export function postDispatchCheckWorkOrder(params) {
52
+  return request({
53
+    url: 'Scheduling/CheckWorkOrder',
54
+    method: 'get',
55
+    params
56
+  })
57
+}
58
+// 退回
59
+export function postDispatchBackWorkOrder(params) {
60
+  return request({
61
+    url: 'Scheduling/BackWorkOrder',
62
+    method: 'get',
63
+    params
64
+  })
65
+}
66
+// 送达
67
+export function postDispatchDealWorkOrder(params) {
68
+  return request({
69
+    url: 'Scheduling/DealWorkOrder',
70
+    method: 'get',
71
+    params
72
+  })
73
+}
42 74
 // 删除
43 75
 export function postDelDispatchWorkOrder(params) {
44 76
   return request({

+ 74 - 1
CallCenterWeb.UI/RMYY/src/components/button/orderList.vue

@@ -136,6 +136,41 @@
136 136
         <el-button type="primary" @click="submitForm('consumablesForm')">确 定</el-button>
137 137
       </div>
138 138
     </el-dialog>
139
+    <!-- 综合调度退回 -->
140
+    <el-dialog :visible.sync="dialogStatus.dialog_dispatch_tuihui" title="退回">
141
+      <el-form ref="backWorkForm" :model="backWorkForm" :rules="rules" label-width="100px">
142
+        <el-form-item label="原因" prop="BackReason">
143
+          <el-input
144
+            :autosize="{ minRows: 4, maxRows: 8}"
145
+            v-model="backWorkForm.BackReason"
146
+            show-word-limit
147
+            maxlength="100"
148
+            type="textarea" />
149
+        </el-form-item>
150
+      </el-form>
151
+      <div slot="footer" class="dialog-footer">
152
+        <el-button @click="dialogStatus.dialog_dispatch_tuihui = false">取 消</el-button>
153
+        <el-button type="primary" @click="submitForm('backWorkForm')">确 定</el-button>
154
+      </div>
155
+    </el-dialog>
156
+    <!-- 综合调度到达 -->
157
+    <el-dialog :visible.sync="dialogStatus.dialog_dispatch_daoda" title="到达">
158
+      <el-form ref="dealWorkForm" :model="dealWorkForm" :rules="rules" label-width="100px">
159
+        <el-form-item label="附件">
160
+          <el-upload
161
+            :headers="headers"
162
+            :on-success="handle_success"
163
+            :action="imgUrl"
164
+            list-type="picture-card">
165
+            <i class="el-icon-plus" />
166
+          </el-upload>
167
+        </el-form-item>
168
+      </el-form>
169
+      <div slot="footer" class="dialog-footer">
170
+        <el-button @click="dialogStatus.dialog_dispatch_daoda = false">取 消</el-button>
171
+        <el-button type="primary" @click="submitForm('dealWorkForm')">确 定</el-button>
172
+      </div>
173
+    </el-dialog>
139 174
   </div>
140 175
 </template>
141 176
 
@@ -157,6 +192,9 @@ import {
157 192
   getDealWorkOrder
158 193
 } from '@/api/orderManagement/ywzxOrder'
159 194
 import {
195
+  postDispatchCheckWorkOrder,
196
+  postDispatchBackWorkOrder,
197
+  postDispatchDealWorkOrder,
160 198
   postDelDispatchWorkOrder,
161 199
   postwithdrawDispatchWorkOrder
162 200
 } from '@/api/comDispatch/addOrEditDispatch'
@@ -184,6 +222,8 @@ export default {
184 222
         dialog_ywzx_jiedan: false,
185 223
         dialog_ywzx_tuihui: false,
186 224
         dialog_haocai: false,
225
+        dialog_dispatch_tuihui: false,
226
+        dialog_dispatch_daoda: false,
187 227
         dialog_ywzx_jiedan: {
188 228
           text: '确定要接单吗?',
189 229
           action: getSureWorkOrder,
@@ -214,6 +254,11 @@ export default {
214 254
           action: postMyRetractWorkOrder,
215 255
           type: 'confirm'
216 256
         },
257
+        dialog_dispatch_jiedan: {
258
+          text: '确定接单吗?',
259
+          action: postDispatchCheckWorkOrder,
260
+          type: 'confirm'
261
+        },
217 262
         dialog_dispatch_shanchu: {
218 263
           text: '确定删除该数据吗?',
219 264
           action: postDelDispatchWorkOrder,
@@ -257,7 +302,18 @@ export default {
257 302
         confirmtype: '',
258 303
         reason: ''
259 304
       },
305
+      backWorkForm: {
306
+        BackReason: ''
307
+      },
308
+      dealWorkForm: {
309
+        file: ''
310
+      },
260 311
       postEvent: null,
312
+      headers: {
313
+        Authorization: localStorage.getItem('Admin-Token')
314
+      },
315
+      imgUrl: this.$store.getters.serverConfig.BASE_API + 'FaultRepair/UploadFile',
316
+
261 317
       rules: {
262 318
         // todept: [{
263 319
         //   required: true,
@@ -319,6 +375,9 @@ export default {
319 375
 
320 376
   },
321 377
   methods: {
378
+    handle_success(res) {
379
+      this.dealWorkForm.file += res.data[0].F_FileId + ','
380
+    },
322 381
     butOptionMethod(name, code, row) {
323 382
       this.optionName = name
324 383
       this.wocode = code
@@ -339,7 +398,7 @@ export default {
339 398
         type: 'warning'
340 399
       }).then(() => {
341 400
         new Promise((resolve) => {
342
-          if (this.optionName == 'ywzx_jiedan' || this.optionName == 'ywzx_tuihui') {
401
+          if (this.optionName == 'ywzx_jiedan' || this.optionName == 'ywzx_tuihui' || this.optionName == 'dispatch_jiedan') {
343 402
             var params = {
344 403
               WorkOrderCode: this.wocode
345 404
             }
@@ -408,6 +467,14 @@ export default {
408 467
       this.$refs[formName].validate((valid) => {
409 468
         if (valid) {
410 469
           console.log(formName)
470
+          if (formName == 'dealWorkForm') {
471
+            if (this.dealWorkForm.file === '') {
472
+              this.dealWorkForm.file = ''
473
+            } else {
474
+              this.dealWorkForm.file = this.dealWorkForm.file.slice(0, this.dealWorkForm.file
475
+                .length - 1)
476
+            }
477
+          }
411 478
           if (formName == 'consumablesForm') {
412 479
             var params = Object.assign({
413 480
               workordercode: this.wocode
@@ -437,6 +504,12 @@ export default {
437 504
             case 'consumablesForm':
438 505
               this.postEvent = getHaocaiOrder
439 506
               break
507
+            case 'backWorkForm':
508
+              this.postEvent = postDispatchBackWorkOrder
509
+              break
510
+            case 'dealWorkForm':
511
+              this.postEvent = postDispatchDealWorkOrder
512
+              break
440 513
             default:
441 514
               break
442 515
           }

+ 1 - 1
CallCenterWeb.UI/RMYY/src/utils/request.js

@@ -64,7 +64,7 @@ const service = axios.create({
64 64
   // return qs.stringify({ids: [1, 2, 3]}, {arrayFormat: 'brackets'})  // 形式:ids[]=1&ids[]=2&ids[]=3
65 65
   // return qs.stringify({ids: [1, 2, 3]}, {arrayFormat: 'repeat'})  // 形式: ids=1&ids=2&id=3
66 66
   paramsSerializer: function(params) {
67
-    return qs.stringify(params, { arrayFormat: 'repeat' }) // 形式:ids=1&ids=2&id=3
67
+    return qs.stringify(params, { arrayFormat: 'indices' }) // 形式:ids=1&ids=2&id=3
68 68
   }
69 69
 })
70 70
 // request拦截器

+ 9 - 9
CallCenterWeb.UI/RMYY/src/views/comDispatch/components/addOrEditDispatch.vue

@@ -150,14 +150,14 @@
150 150
           </el-row>
151 151
         </el-row>
152 152
 
153
-        <el-row v-if="type2Arr[0]==2007">
153
+        <el-row v-if="type2Arr[0]==9010">
154 154
           <el-col>
155 155
             <el-form-item label="药品信息">
156 156
               <el-button @click="addItem()">添加</el-button>
157 157
             </el-form-item>
158 158
           </el-col>
159 159
         </el-row>
160
-        <el-row v-if="type2Arr[0]==2007">
160
+        <el-row v-if="type2Arr[0]==9010">
161 161
           <el-row v-for="(item,index) in devList" :key="index">
162 162
             <el-col :span="12">
163 163
               <el-form-item prop="devname">
@@ -180,7 +180,7 @@
180 180
 
181 181
         <el-col v-if="type2Arr[0]==2004" :span="12">
182 182
           <el-form-item label="处方数量">
183
-            <el-input-number v-model="ruleForm.specimenNumber" :min="1" size="medium" class="inputNumber" />
183
+            <el-input-number v-model="ruleForm.cfnum" :min="1" size="medium" class="inputNumber" />
184 184
           </el-form-item>
185 185
         </el-col>
186 186
         <el-row>
@@ -314,11 +314,11 @@ export default {
314 314
       deptidArr1: [],
315 315
       repairman: [],
316 316
       repairman1: [],
317
-      equipArr: [{ label: '设备1', value: '01' }, { label: '设备2', value: '02' }],
318
-      goodsArr: [{ label: '物资1', value: '01' }, { label: '物资2', value: '02' }],
319
-      bedsArr: [{ label: '床1', value: '01' }, { label: '床2', value: '02' }],
320
-      specimenArr: [{ label: '标本1', value: '01' }, { label: '标本2', value: '02' }],
321
-      drugArr: [{ label: '药1', value: '01' }, { label: '药2', value: '02' }],
317
+      equipArr: [],
318
+      goodsArr: [],
319
+      bedsArr: [],
320
+      specimenArr: [],
321
+      drugArr: [],
322 322
       ruleForm: {
323 323
         orderType: 2003, // 工单类型
324 324
         hospital: 0, // 院区
@@ -330,7 +330,7 @@ export default {
330 330
         position: '',
331 331
         toplace: '',
332 332
         content: '',
333
-        // bedmessInfo: '',
333
+        cfnum: '',
334 334
         opt: '1',
335 335
         remark: '', // 备注
336 336
         repairImageid: ''

+ 436 - 0
CallCenterWeb.UI/RMYY/src/views/comDispatch/components/dispatchdetail.vue

@@ -0,0 +1,436 @@
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>{{ orderDetailData.TypeName }}</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.applicantname }}</td>
27
+                <th>申请科室:</th>
28
+                <td>{{ orderDetailData.F_ApplicationDept }}</td>
29
+                <th>申请时间:</th>
30
+                <td>{{ orderDetailData.F_AssignTime }}</td>
31
+              </tr>
32
+              <tr>
33
+                <th>送达科室:</th>
34
+                <td colspan="3">{{ orderDetailData.F_ToPlace }}</td>
35
+                <th>提交人:</th>
36
+                <td>{{ orderDetailData.applicantname }}</td>
37
+              </tr>
38
+              <tr v-if="orderDetailData.PSInfo.length>0">
39
+                <th :rowspan="orderDetailData.PSInfo.length+1">配送信息:</th>
40
+              </tr>
41
+              <tr v-for="(item,index) in orderDetailData.PSInfo" :key="index">
42
+                <th>物品名称:</th>
43
+                <td>{{ item.F_DicName }}</td>
44
+                <th>数量:</th>
45
+                <td>{{ item.F_Number }}</td>
46
+                <th>-</th>
47
+              </tr>
48
+              <tr>
49
+                <th>工单内容:</th>
50
+                <td colspan="5">{{ orderDetailData.F_Content }}</td>
51
+              </tr>
52
+              <tr v-if="orderDetailData.FileUrl">
53
+                <th>附件:</th>
54
+                <td colspan="5" style="text-align: left;padding: 5px 10px;">
55
+                  <div class="imglist">
56
+                    <img v-for="(item,index) in orderDetailData.FileUrl" :key="index" :src="item.F_FileUrl" @click="bigImg(item.F_FileUrl)">
57
+                  </div>
58
+                </td>
59
+              </tr>
60
+            </table>
61
+          </el-col>
62
+        </el-card>
63
+      </el-col>
64
+    </el-row>
65
+    <el-row :gutter="20">
66
+      <el-col :md="24" class="order_detail_body">
67
+        <el-card shadow="hover">
68
+          <el-tabs ref="tabs" v-model="activeName">
69
+            <el-tab-pane label="工单流程" name="1">
70
+              <el-col :md="24" class="order_detail_content">
71
+                <el-table :data="workOrderCirculationList" border style="width: 100%">
72
+                  <el-table-column prop="username" label="操作人" align="center"/>
73
+                  <el-table-column prop="F_LogContent" label="内容" align="center"/>
74
+                  <el-table-column prop="F_OperationTime" label="时间" align="center"/>
75
+                </el-table>
76
+              </el-col>
77
+            </el-tab-pane>
78
+            <el-tab-pane label="评价" name="2">
79
+              <div class="evaluate">
80
+                <span class="demonstration">服务态度:</span>
81
+                <el-rate v-model="evaluateData.F_Attitude" show-text disabled style="display: inline-block;"/>
82
+              </div>
83
+              <div class="evaluate">
84
+                <span class="demonstration">维修质量:</span>
85
+                <el-rate v-model="evaluateData.F_Quality" show-text disabled style="display: inline-block;"/>
86
+              </div>
87
+              <div class="evaluate">
88
+                <span class="demonstration">完工时效:</span>
89
+                <el-rate v-model="evaluateData.F_Efficiency" show-text disabled style="display: inline-block;"/>
90
+              </div>
91
+              <div>
92
+                <el-col :md="24" style="font-size: 15px;color: #505050;"> 文字评价:{{ evaluateData.F_EvaluateContent }}
93
+              </el-col></div>
94
+            </el-tab-pane>
95
+          </el-tabs>
96
+        </el-card>
97
+      </el-col>
98
+    </el-row>
99
+    <el-dialog :visible.sync="dialogImgVisible" title="查看图片" width="50%" append-to-body>
100
+      <div>
101
+        <img :src="imgUrl" style="width: 100%;height: 500px;">
102
+      </div>
103
+    </el-dialog>
104
+  </div>
105
+</template>
106
+
107
+<script>
108
+import {
109
+  mapGetters
110
+} from 'vuex'
111
+import { GetOrderDetail } from '@/api/comDispatch/addOrEditDispatch'
112
+import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
113
+
114
+export default {
115
+  name: 'DispatchDetail',
116
+  components: {
117
+    Pagination
118
+  },
119
+  props: {
120
+    rowid: {
121
+      type: String,
122
+      default: ''
123
+    },
124
+    layerid: {
125
+      type: String,
126
+      default: ''
127
+    }
128
+  },
129
+  data() {
130
+    return {
131
+      imgUrl: '',
132
+      dialogImgVisible: false,
133
+      activeName: '1',
134
+      ChatList: [], // 备注详情列表
135
+      orderDetailData: {
136
+        F_CallID: '',
137
+        F_WorkOrderCode: '',
138
+        F_ID: '',
139
+        F_Source: '电话', // 业务类别
140
+        F_Type1: '', // 工单类别
141
+        F_TypeName1: '', // 工单类别
142
+        F_Type2: '', // 工单子类
143
+        F_TypeName2: '', // 工单子类
144
+        F_Type3: '', // 工单三类
145
+        F_TypeName3: '', // 工单三类
146
+        F_Customer: '', // 姓名
147
+        F_Sex: '0', // 性别
148
+        F_Phon: '', // 电话
149
+        F_CusAddress: '', // 家庭住址
150
+        F_IdCard: '', // 身份证号
151
+        F_ServiceItems: '', // 服务项目
152
+        F_Address: '', // 地区
153
+        F_FirstCheckHospital: '', // 首次检查医院
154
+        F_NoduleSize: '', // 肺结节大小
155
+        F_FirstFindTime: '', // 首次发现肺结节时间
156
+        F_Urgency: '0', // 紧急程度
157
+        F_Cathetertype: '', // 置管类型
158
+        F_Catheterdept: '', // 置管科室
159
+        F_Cathetertime: '', // 置管时间
160
+        F_BedNum: '', // 床号
161
+        F_InpatientNum: '', // 住院号
162
+        opt: '', // 处理方式
163
+        cont: '',
164
+        F_WorkOrderContents: '', // 工单内容
165
+        F_DealOpinions: '' // 处理意见
166
+      },
167
+      pageParams: {
168
+        pageindex: 1, // 当前第几页
169
+        pagesize: 5, // 每页几条数据
170
+        total: 0 // 总共多少数据
171
+      },
172
+      evaluateData: {}, // 评价
173
+      workOrderCirculationList: [] // 工单流转
174
+    }
175
+  },
176
+  computed: {
177
+    ...mapGetters(['rolecode'])
178
+  },
179
+  created() {
180
+    this.getDetail('0')
181
+    this.getDetail('1')
182
+    this.getDetail('2')
183
+  },
184
+  methods: {
185
+    bigImg(url) {
186
+      this.dialogImgVisible = true
187
+      this.imgUrl = url
188
+    },
189
+    handleClick(tab, event) {
190
+      console.log(tab, event)
191
+    },
192
+    // 详情
193
+    getDetail(num) {
194
+      const params = {
195
+        WorkOrderCode: this.rowid,
196
+        type: num
197
+      }
198
+      GetOrderDetail(params).then((response) => {
199
+        if (num == '1') {
200
+          this.workOrderCirculationList = response.data
201
+        } else if (num == '2') {
202
+          if (response.data.length > 0) {
203
+            this.evaluateData = response.data[0]
204
+          }
205
+        } else {
206
+          const res = response.data[0]
207
+          this.orderDetailData = res
208
+          this.orderDetailData.F_TypeName2 = this.$store.getters.workTypeMap[parseInt(res.F_WorkOrderCategory)]
209
+            .text // 工单子类
210
+        }
211
+      })
212
+    }
213
+  }
214
+}
215
+</script>
216
+
217
+<style rel="stylesheet/scss" lang="scss">
218
+  .order_detail {
219
+    .tabdept {
220
+      width: 100%;
221
+      margin: 10px 0;
222
+      border: 1px solid #ccc;
223
+    }
224
+
225
+    .tabdept th {
226
+      width: 150px;
227
+      padding: 10px 0;
228
+      font-size: 14px;
229
+      text-align: center;
230
+      background-color: #ececec;
231
+      border: 1px solid #ccc;
232
+    }
233
+
234
+    .tabdept td {
235
+      font-size: 14px;
236
+      text-align: center;
237
+      background-color: #fafafa;
238
+      border: 1px solid #ccc;
239
+    }
240
+
241
+    .wostate {
242
+      color: #67aa60;
243
+      display: inline-block;
244
+      border: 1px solid #c1c1c1;
245
+      border-radius: 5px;
246
+      padding: 5px 10px 3px 10px;
247
+      font-size: 17px !important;
248
+    }
249
+
250
+    .evaluate {
251
+      margin: 10px;
252
+      font-size: 15px;
253
+      color: #505050;
254
+    }
255
+
256
+    .el-col {
257
+      // margin-bottom: 20px;
258
+    }
259
+
260
+    .el-icon-time {
261
+      color: #d81e06;
262
+    }
263
+
264
+    .el-card__header {
265
+      padding-top: 14px;
266
+      padding-bottom: 14px;
267
+      background-color: #f5f5f6;
268
+    }
269
+
270
+    .order_file {
271
+      .el-card__body {
272
+        padding: 22px 0 0 0;
273
+        text-align: center;
274
+      }
275
+    }
276
+
277
+    .order_steps {
278
+      .el-step__icon-inner {
279
+        display: none;
280
+      }
281
+    }
282
+
283
+    .order_record {
284
+      .el-card__body {
285
+        padding: 0;
286
+      }
287
+
288
+      .el-tabs__header {
289
+        padding: 0px 20px;
290
+        background-color: #f5f5f6;
291
+
292
+        .el-tabs__item {
293
+          font-size: 16px;
294
+          height: 47px;
295
+          line-height: 47px;
296
+        }
297
+      }
298
+    }
299
+  }
300
+</style>
301
+
302
+<style rel="stylesheet/scss" lang="scss" scoped>
303
+  .order_detail {
304
+
305
+    .imglist {
306
+      display: inline-block;
307
+      vertical-align: middle;
308
+    }
309
+
310
+    .imglist img {
311
+      width: 72px;
312
+      height: 72px;
313
+      margin-right: 15px;
314
+    }
315
+
316
+    .order_detail_body {
317
+      margin-bottom: 20px;
318
+
319
+      .round_img {
320
+        width: 90px;
321
+        height: 90px;
322
+        border-radius: 50%;
323
+        overflow: hidden;
324
+        margin: 14px;
325
+
326
+        img {
327
+          width: 100%;
328
+          height: 100%;
329
+        }
330
+      }
331
+
332
+      .title {
333
+        font-size: 20px;
334
+
335
+        .title_icon {
336
+          color: #d81e06;
337
+          font-size: 16px;
338
+          margin-right: 20px;
339
+        }
340
+      }
341
+
342
+      .title_sub {
343
+        font-size: 14px;
344
+        color: #666666;
345
+      }
346
+
347
+      .order_detail_content {
348
+        background-color: #f5f5f6;
349
+        padding-top: 20px;
350
+        color: #4c4c4c;
351
+        font-size: 14px;
352
+
353
+        .order_detail_item {
354
+          margin-bottom: 10px;
355
+
356
+          .order_content {
357
+            margin-top: 10px;
358
+          }
359
+
360
+          .order_file {
361
+            position: relative;
362
+            cursor: pointer;
363
+
364
+            .img_mask {
365
+              display: none;
366
+              position: absolute;
367
+              left: 0px;
368
+              top: 0px;
369
+              background-color: rgba(0, 0, 0, 0.3);
370
+              width: 100%;
371
+              height: 22px;
372
+              text-align: right;
373
+              z-index: 1;
374
+
375
+              i {
376
+                font-size: 20px;
377
+                line-height: 22px;
378
+                display: inline-block;
379
+                margin-right: 15px;
380
+                color: #fff;
381
+              }
382
+            }
383
+
384
+            p {
385
+              margin-top: 5px;
386
+              padding-left: 14px;
387
+              padding-right: 14px;
388
+              white-space: nowrap;
389
+              overflow: hidden;
390
+              text-overflow: ellipsis;
391
+            }
392
+
393
+            .file_icon {
394
+              height: 68px;
395
+              line-height: 68px;
396
+              font-size: 68px;
397
+              color: #409eff;
398
+            }
399
+          }
400
+
401
+          .order_file:hover .img_mask {
402
+            display: block;
403
+          }
404
+        }
405
+      }
406
+    }
407
+
408
+    .green {
409
+      color: #00c1de;
410
+    }
411
+
412
+    .done {
413
+      color: #198120;
414
+    }
415
+
416
+    .red {
417
+      color: #d81e06;
418
+    }
419
+
420
+    .yellow {
421
+      color: #e6a23c;
422
+    }
423
+
424
+    .order_steps {
425
+
426
+      // height: 240px;
427
+      .el-step__icon-inner {
428
+        display: none;
429
+      }
430
+    }
431
+
432
+    .tab_body {
433
+      padding: 0 20px 20px 20px;
434
+    }
435
+  }
436
+</style>

+ 36 - 54
CallCenterWeb.UI/RMYY/src/views/comDispatch/scheduleList/index.vue

@@ -24,12 +24,9 @@
24 24
         start-placeholder="开始日期"
25 25
         end-placeholder="结束日期"
26 26
         size="medium" />
27
-      <!-- <el-select v-model="searchData.type" clearable placeholder="请选择业务类别" size="medium" @change="changeOrder">
28
-        <el-option v-for="item in orderData" :key="item.id" :label="item.text" :value="item.id" />
29
-      </el-select> -->
30 27
       <el-cascader
31 28
         ref="cascader"
32
-        v-model="searchData.category"
29
+        v-model="lowertype"
33 30
         :options="subclassData"
34 31
         :props="defaultProps"
35 32
         size="medium"
@@ -73,9 +70,6 @@
73 70
       <el-table-column v-if="fieldListFlag.F_AssignTime" prop="F_AssignTime" label="申请时间" align="center" />
74 71
       <el-table-column label="操作" align="center" class-name="oparate_btn" fixed="right">
75 72
         <template slot-scope="scope">
76
-          <!-- <el-button @click="onedit(scope.row.F_WorkOrderCode,'2000',scope.row.F_WorkOrderCategory)">编辑</el-button>
77
-          <el-button @click="ondel(scope.row.F_WorkOrderCode)">删除</el-button>
78
-          <el-button @click="ondel(scope.row.F_WorkOrderCode)">撤回</el-button> -->
79 73
           <el-button
80 74
             v-for="item in scope.row.Buttons"
81 75
             :key="item.key"
@@ -123,7 +117,7 @@ import {
123 117
 // import addOrEditFaultRepair from '../../faultRepair/clinicalReporting/components/addRepairbase.vue'
124 118
 // import RepairEdit from './repairEdit.vue'
125 119
 import addOrEditOrder from '../../callScreen/components/AddOrEditOrder.vue'
126
-// import detail from '../components/orderDetail.vue'
120
+import detail from '../components/dispatchdetail.vue'
127 121
 // import askDetail from '../components/askdetail.vue'
128 122
 // import evaluate from './evaluate.vue'
129 123
 import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
@@ -147,6 +141,7 @@ export default {
147 141
       secondOrderData: [],
148 142
       searchTime: '',
149 143
       buttonName: '',
144
+      lowertype: [],
150 145
       searchData: {
151 146
         workordercode: '', // 工单号
152 147
         category: '', // 类型
@@ -211,9 +206,6 @@ export default {
211 206
     btnClickEvents(button, wocode, row) {
212 207
       this.buttonName = button.key
213 208
       this.$refs.butOption.butOptionMethod(this.buttonName, wocode, row)
214
-      // if (this.buttonName === 'bianji') {
215
-      //   this.onedit(wocode, '2000', row.F_WorkOrderCategory)
216
-      // }
217 209
     },
218 210
     getDeptid(data) {
219 211
       this.searchData.dept = data[data.length - 1]
@@ -235,23 +227,23 @@ export default {
235 227
       })
236 228
     },
237 229
     // 编辑
238
-    onedit(rid, rtype, r2type) {
239
-      this.$layer.iframe({
240
-        content: {
241
-          content: addOrEditOrder, // 传递的组件对象
242
-          parent: this, // 当前的vue对象
243
-          data: {
244
-            wid: rid,
245
-            rtype: rtype.toString(),
246
-            r2type: r2type.toString(),
247
-            iswomanage: '1',
248
-            isedit: '1'
249
-          } // props
250
-        },
251
-        area: ['70%', '70%'],
252
-        title: '编辑工单'
253
-      })
254
-    },
230
+    // onedit(rid, rtype, r2type) {
231
+    //   this.$layer.iframe({
232
+    //     content: {
233
+    //       content: addOrEditOrder, // 传递的组件对象
234
+    //       parent: this, // 当前的vue对象
235
+    //       data: {
236
+    //         wid: rid,
237
+    //         rtype: rtype.toString(),
238
+    //         r2type: r2type.toString(),
239
+    //         iswomanage: '1',
240
+    //         isedit: '1'
241
+    //       } // props
242
+    //     },
243
+    //     area: ['70%', '70%'],
244
+    //     title: '编辑工单'
245
+    //   })
246
+    // },
255 247
     // btn_edit(rid) {
256 248
     //   this.$layer.iframe({
257 249
     //     content: {
@@ -291,6 +283,11 @@ export default {
291 283
         }
292 284
         this.searchData.page = this.pageParams.pageindex
293 285
         this.searchData.pagesize = this.pageParams.pagesize
286
+        if (this.lowertype.length > 0) {
287
+          this.searchData.category = this.lowertype[this.lowertype.length - 1]
288
+        } else {
289
+          this.searchData.category = ''
290
+        }
294 291
         GetDealManWorkOrderList(this.searchData).then((response) => {
295 292
           this.loading = false
296 293
           if (response.state.toLowerCase() === 'success') {
@@ -386,32 +383,17 @@ export default {
386 383
     //   })
387 384
     // },
388 385
     hadndleOrderCode(row) {
389
-      if (row.F_Type === 3000) {
390
-        this.$layer.iframe({
391
-          content: {
392
-            content: detail, // 传递的组件对象
393
-            parent: this, // 当前的vue对象
394
-            data: {
395
-              rowid: row.F_WoCode
396
-            } // props
397
-          },
398
-          area: ['80%', '90%'],
399
-          title: '订单详情'
400
-        })
401
-      }
402
-      if (row.F_Type === 1000) {
403
-        this.$layer.iframe({
404
-          content: {
405
-            content: askDetail,
406
-            parent: this,
407
-            data: {
408
-              rowid: row.F_WoCode
409
-            } // props
410
-          },
411
-          area: ['80%', '90%'],
412
-          title: '订单详情'
413
-        })
414
-      }
386
+      this.$layer.iframe({
387
+        content: {
388
+          content: detail, // 传递的组件对象
389
+          parent: this, // 当前的vue对象
390
+          data: {
391
+            rowid: row.F_WorkOrderCode
392
+          } // props
393
+        },
394
+        area: ['80%', '90%'],
395
+        title: '订单详情'
396
+      })
415 397
     },
416 398
     // 删除弹框
417 399
     btn_delete(operateId) {

+ 34 - 40
CallCenterWeb.UI/RMYY/src/views/orderManage/components/addOrEditInfOrder.vue

@@ -30,35 +30,23 @@
30 30
           </el-row>
31 31
           <el-row>
32 32
             <el-col :span="12">
33
-              <el-form-item label="姓名" prop="F_Customer">
33
+              <el-form-item label="来电人" prop="F_Customer">
34 34
                 <el-input v-model="ruleForm.F_Customer" placeholder="请输入姓名" />
35 35
               </el-form-item>
36 36
             </el-col>
37 37
             <el-col :span="12">
38
-              <el-form-item label="性别" prop="F_Sex">
39
-                <el-radio-group v-model="ruleForm.F_Sex">
40
-                  <el-radio label="0">男</el-radio>
41
-                  <el-radio label="1">女</el-radio>
42
-                </el-radio-group>
43
-              </el-form-item>
44
-            </el-col>
45
-          </el-row>
46
-          <el-row>
47
-            <el-col :span="12">
48 38
               <el-form-item label="电话" prop="F_Phon">
49 39
                 <el-input v-model="ruleForm.F_Phon" placeholder="请输入电话" />
50 40
               </el-form-item>
51 41
             </el-col>
52
-            <el-col :span="12">
53
-              <el-form-item label="身份证号" prop="F_IdCard">
54
-                <el-input v-model="ruleForm.F_IdCard" placeholder="请输入身份证号" />
55
-              </el-form-item>
56
-            </el-col>
57 42
           </el-row>
58 43
           <el-row>
59 44
             <el-col :span="12">
60
-              <el-form-item label="家庭住址" prop="F_CusAddress">
61
-                <el-input v-model="ruleForm.F_CusAddress" type="textarea" placeholder="请输入家庭住址" />
45
+              <el-form-item label="性别" prop="F_Sex">
46
+                <el-radio-group v-model="ruleForm.F_Sex">
47
+                  <el-radio label="0">男</el-radio>
48
+                  <el-radio label="1">女</el-radio>
49
+                </el-radio-group>
62 50
               </el-form-item>
63 51
             </el-col>
64 52
             <el-col :span="12">
@@ -69,13 +57,20 @@
69 57
           </el-row>
70 58
           <el-row>
71 59
             <el-col :span="12">
60
+              <el-form-item label="患者身份证号" prop="F_IDNumber">
61
+                <el-input v-model="ruleForm.F_IDNumber" placeholder="请输入患者身份证号" />
62
+              </el-form-item>
63
+            </el-col>
64
+            <el-col :span="12">
72 65
               <el-form-item label="患者姓名" prop="F_FullName">
73 66
                 <el-input v-model="ruleForm.F_FullName" placeholder="请输入患者姓名" />
74 67
               </el-form-item>
75 68
             </el-col>
76
-            <el-col :span="12">
77
-              <el-form-item label="患者身份证号" prop="F_IDNumber">
78
-                <el-input v-model="ruleForm.F_IDNumber" placeholder="请输入患者身份证号" />
69
+          </el-row>
70
+          <el-row>
71
+            <el-col :span="24">
72
+              <el-form-item label="家庭住址" prop="F_CusAddress">
73
+                <el-input v-model="ruleForm.F_CusAddress" type="textarea" placeholder="请输入家庭住址" />
79 74
               </el-form-item>
80 75
             </el-col>
81 76
           </el-row>
@@ -321,33 +316,32 @@ export default {
321 316
           message: '手机号不能为空',
322 317
           trigger: 'blur'
323 318
         }
324
-          // {
325
-          //   pattern: /^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/,
326
-          //   message: '请输入正确的电话号码或者固话号码',
327
-          //   trigger: 'blur'
328
-          // }
319
+        // {
320
+        //   pattern: /^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/,
321
+        //   message: '请输入正确的电话号码或者固话号码',
322
+        //   trigger: 'blur'
323
+        // }
329 324
         ],
330
-        F_IdCard: [{
325
+        F_IDNumber: [{
331 326
           required: true,
332 327
           message: '请输入身份证号',
333 328
           trigger: 'blur'
334
-        }
335
-          // {
336
-          //   pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
337
-          //   message: '请输入正确的身份证号码',
338
-          //   trigger: 'blur'
339
-          // }
340
-        ],
341
-        F_WorkOrderContents: [{
342
-          required: true,
343
-          message: '请输入工单内容',
329
+        },
330
+        {
331
+          pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
332
+          message: '请输入正确的身份证号码',
344 333
           trigger: 'blur'
345 334
         }],
346
-        F_DealOpinions: [{
335
+        F_WorkOrderContents: [{
347 336
           required: true,
348
-          message: '请输入处理意见',
337
+          message: '请输入工单内容',
349 338
           trigger: 'blur'
350 339
         }],
340
+        // F_DealOpinions: [{
341
+        //   required: true,
342
+        //   message: '请输入处理意见',
343
+        //   trigger: 'blur'
344
+        // }],
351 345
         F_FirstCheckHospital: [{
352 346
           required: true,
353 347
           message: '请输入首次检查医院',
@@ -486,7 +480,7 @@ export default {
486 480
   },
487 481
   created() {
488 482
     if (this.callinNum) {
489
-      this.ruleForm.telphone = this.callinNum
483
+      this.ruleForm.F_Phon = this.callinNum
490 484
     }
491 485
     if (this.wid && this.rtype == 1000) {
492 486
       this.OrderDetail()

+ 14 - 0
CallCenterWeb.UI/RMYY/src/views/orderManage/mySubmit/index.vue

@@ -116,6 +116,7 @@ import RepairEdit from './repairEdit.vue'
116 116
 import addOrEditOrder from '../../callScreen/components/AddOrEditOrder.vue'
117 117
 import detail from '../components/orderDetail.vue'
118 118
 import askDetail from '../components/askdetail.vue'
119
+import dispatchDetail from '../../comDispatch/components/dispatchdetail.vue'
119 120
 import evaluate from './evaluate.vue'
120 121
 import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
121 122
 import OrderButtonOperation from '@/components/button/orderList'
@@ -363,6 +364,19 @@ export default {
363 364
           title: '订单详情'
364 365
         })
365 366
       }
367
+      if (row.F_Type === 2000) {
368
+        this.$layer.iframe({
369
+          content: {
370
+            content: dispatchDetail,
371
+            parent: this,
372
+            data: {
373
+              rowid: row.F_WoCode
374
+            } // props
375
+          },
376
+          area: ['80%', '90%'],
377
+          title: '订单详情'
378
+        })
379
+      }
366 380
     },
367 381
     // 删除弹框
368 382
     btn_delete(operateId) {

+ 344 - 297
CallCenterWeb.UI/RMYY/src/views/orderManage/orderList/index.vue

@@ -1,18 +1,39 @@
1 1
 <template>
2 2
   <div class="app-container">
3 3
     <div class="filter-container">
4
-      <el-date-picker v-model="searchData.searchTime" type="daterange" format="yyyy年MM月dd日" value-format="yyyy-MM-dd"
5
-        align="left" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" size="medium" />
4
+      <el-date-picker
5
+        v-model="searchData.searchTime"
6
+        type="daterange"
7
+        format="yyyy年MM月dd日"
8
+        value-format="yyyy-MM-dd"
9
+        align="left"
10
+        unlink-panels
11
+        range-separator="至"
12
+        start-placeholder="开始日期"
13
+        end-placeholder="结束日期"
14
+        size="medium" />
6 15
       <!-- <el-input v-model="searchData.keyword" placeholder="请输入关键字" class="filter-item" size="medium" /> -->
7 16
       <el-select v-model="searchData.type" clearable placeholder="请选择业务类别" size="medium" @change="changeOrder">
8 17
         <el-option v-for="item in orderData" :key="item.id" :label="item.text" :value="item.id" />
9 18
       </el-select>
10
-      <el-cascader ref="cascader" v-model="searchData.orderids" :options="subclassData" :props="defaultProps"
11
-        size="medium" placeholder="请选择工单类别" filterable clearable @change="handleChange" />
19
+      <el-cascader
20
+        ref="cascader"
21
+        v-model="searchData.orderids"
22
+        :options="subclassData"
23
+        :props="defaultProps"
24
+        size="medium"
25
+        placeholder="请选择工单类别"
26
+        filterable
27
+        clearable
28
+        @change="handleChange" />
12 29
       <el-button type="primary" class="filter-btn" icon="el-icon-search" @click="btn_search">
13 30
         搜索
14 31
       </el-button>
15
-      <el-button v-permission="'orderListSetList'" type="primary" class="filter-btn" icon="el-icon-s-tools"
32
+      <el-button
33
+        v-permission="'orderListSetList'"
34
+        type="primary"
35
+        class="filter-btn"
36
+        icon="el-icon-s-tools"
16 37
         @click="btn_add_list">
17 38
         设置列
18 39
       </el-button>
@@ -27,349 +48,375 @@
27 48
         </template>
28 49
       </el-table-column>
29 50
       <el-table-column v-if="fieldListFlag.F_ProposerName" prop="F_ProposerName" label="姓名" align="center" min-width />
30
-      <el-table-column v-if="fieldListFlag.F_SonType" :formatter="formtOrder" prop="F_SonType" label="工单类别"
51
+      <el-table-column
52
+        v-if="fieldListFlag.F_SonType"
53
+        :formatter="formtOrder"
54
+        prop="F_SonType"
55
+        label="工单类别"
31 56
         align="center" />
32 57
       <el-table-column v-if="fieldListFlag.F_Content" prop="F_Content" label="工单内容" align="center" />
33 58
       <el-table-column v-if="fieldListFlag.StateName" prop="StateName" label="工单状态" align="center" />
34 59
       <el-table-column v-if="fieldListFlag.F_CreateTime" prop="F_CreateTime" label="创建时间" align="center" />
35 60
       <el-table-column label="操作" align="center" class-name="oparate_btn">
36 61
         <template slot-scope="scope">
37
-          <el-button v-for="item in scope.row.Buttons" :key="item.key" type="text"
62
+          <el-button
63
+            v-for="item in scope.row.Buttons"
64
+            :key="item.key"
65
+            type="text"
38 66
             @click="btnClickEvents(item, scope.row.F_WoCode, scope.row)">
39 67
             {{ item.value }}
40 68
           </el-button>
41 69
         </template>
42 70
       </el-table-column>
43 71
     </el-table>
44
-    <pagination v-show="pageParams.total > 0" :total="pageParams.total" :pageindex.sync="pageParams.pageindex"
45
-      :pagesize.sync="pageParams.pagesize" class="pagination" @pagination="getList" />
72
+    <pagination
73
+      v-show="pageParams.total > 0"
74
+      :total="pageParams.total"
75
+      :pageindex.sync="pageParams.pageindex"
76
+      :pagesize.sync="pageParams.pagesize"
77
+      class="pagination"
78
+      @pagination="getList" />
46 79
     <order-button-operation ref="butOption" @refList="refList" />
47 80
   </div>
48 81
 </template>
49 82
 
50 83
 <script>
51
-  // import { getDictionaryValueList } from '@/api/commonAPI'
52
-  import {
53
-    deleteOrder,
54
-    CompleteOrder,
55
-    comOrderList,
56
-    getOrderStateData
57
-  } from '@/api/orderManagement/orderList'
58
-  import {
59
-    getOrderTypeDrop
60
-  } from '@/api/systemSetup/roleSetting/menuSetup'
61
-  import addDefinedList from '@/components/context/addDefinedList'
62
-  import addOrEditFaultRepair from '../../faultRepair/clinicalReporting/components/addRepairbase.vue'
63
-  import addOrEditOrder from '../../callScreen/components/AddOrEditOrder.vue'
64
-  import detail from '../components/orderDetail.vue'
65
-  import askDetail from '../components/askdetail.vue'
66
-  import addAudit from './addAudit'
67
-  import {
68
-    GetFiledState,
69
-    AddFiled
70
-  } from '@/api/commonAPI'
71
-  import fieldDATA from '@/utils/fieldsData.js'
72
-  import orderDeal from './orderDeal'
73
-  import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
74
-  import OrderButtonOperation from '@/components/button/orderList'
84
+// import { getDictionaryValueList } from '@/api/commonAPI'
85
+import {
86
+  deleteOrder,
87
+  CompleteOrder,
88
+  comOrderList,
89
+  getOrderStateData
90
+} from '@/api/orderManagement/orderList'
91
+import {
92
+  getOrderTypeDrop
93
+} from '@/api/systemSetup/roleSetting/menuSetup'
94
+import addDefinedList from '@/components/context/addDefinedList'
95
+import addOrEditFaultRepair from '../../faultRepair/clinicalReporting/components/addRepairbase.vue'
96
+import addOrEditOrder from '../../callScreen/components/AddOrEditOrder.vue'
97
+import detail from '../components/orderDetail.vue'
98
+import askDetail from '../components/askdetail.vue'
99
+import dispatchDetail from '../../comDispatch/components/dispatchdetail.vue'
100
+import addAudit from './addAudit'
101
+import {
102
+  GetFiledState,
103
+  AddFiled
104
+} from '@/api/commonAPI'
105
+import fieldDATA from '@/utils/fieldsData.js'
106
+import orderDeal from './orderDeal'
107
+import Pagination from '@/components/context/Pagination' // 对el-pagination 二次封装
108
+import OrderButtonOperation from '@/components/button/orderList'
75 109
 
76
-  export default {
77
-    name: 'OrderList',
78
-    components: {
79
-      Pagination,
80
-      OrderButtonOperation
81
-    },
82
-    data() {
83
-      return {
84
-        isDisable: false, // 防止多次点击
85
-        loading: false,
86
-        isedit: '1',
87
-        deleteId: [],
88
-        fieldListFlag: {},
89
-        buttonName: '',
90
-        searchData: {
91
-          keyword: '', // 关键字
92
-          searchTime: '', // 时间
93
-          starttime: '', // 开始时间
94
-          endtime: '', // 结束时间
95
-          type: '', // 工单类型
96
-          orderids: [],
97
-          menutypeid: '',
98
-          menutype: '',
99
-          state: '' // 工单状态
100
-        },
101
-        pageParams: {
102
-          pageindex: 1, // 当前第几页
103
-          pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
104
-          total: 0 // 总共多少数据
105
-        },
106
-        dataLists: [], // 列表数据数据
107
-        defaultProps: {
108
-          checkStrictly: true,
109
-          children: 'children',
110
-          label: 'text',
111
-          value: 'id'
112
-        },
113
-        orderData: [],
114
-        subclassData: [],
115
-        orderstate: [], // 工单状态数据
116
-        DefinedId: ''
110
+export default {
111
+  name: 'OrderList',
112
+  components: {
113
+    Pagination,
114
+    OrderButtonOperation
115
+  },
116
+  data() {
117
+    return {
118
+      isDisable: false, // 防止多次点击
119
+      loading: false,
120
+      isedit: '1',
121
+      deleteId: [],
122
+      fieldListFlag: {},
123
+      buttonName: '',
124
+      searchData: {
125
+        keyword: '', // 关键字
126
+        searchTime: '', // 时间
127
+        starttime: '', // 开始时间
128
+        endtime: '', // 结束时间
129
+        type: '', // 工单类型
130
+        orderids: [],
131
+        menutypeid: '',
132
+        menutype: '',
133
+        state: '' // 工单状态
134
+      },
135
+      pageParams: {
136
+        pageindex: 1, // 当前第几页
137
+        pagesize: Number(this.$store.getters.serverConfig.PAGESIZE), // 每页几条数据
138
+        total: 0 // 总共多少数据
139
+      },
140
+      dataLists: [], // 列表数据数据
141
+      defaultProps: {
142
+        checkStrictly: true,
143
+        children: 'children',
144
+        label: 'text',
145
+        value: 'id'
146
+      },
147
+      orderData: [],
148
+      subclassData: [],
149
+      orderstate: [], // 工单状态数据
150
+      DefinedId: ''
151
+    }
152
+  },
153
+  created() {
154
+    this.getList()
155
+    this.getTreeList()
156
+    this.getOrderStat()
157
+
158
+    this.getFiledTabDetail(this.$route.path.split('/').join('_'))
159
+    document.onkeyup = (e) => {
160
+      if (e.keyCode === 13) {
161
+        this.getList()
117 162
       }
163
+    }
164
+  },
165
+  methods: {
166
+    refList() {
167
+      this.getList()
118 168
     },
119
-    created() {
169
+    handleClick(res) {
170
+      this.searchData.state = Number(res.name)
120 171
       this.getList()
121
-      this.getTreeList()
122
-      this.getOrderStat()
123
-
124
-      this.getFiledTabDetail(this.$route.path.split('/').join('_'))
125
-      document.onkeyup = (e) => {
126
-        if (e.keyCode === 13) {
127
-          this.getList()
128
-        }
172
+    },
173
+    formtOrder(row, column) {
174
+      if (row.F_SonType) {
175
+        return this.$store.getters.workTypeMap[parseInt(row.F_SonType)].text
129 176
       }
130 177
     },
131
-    methods: {
132
-      refList() {
133
-        this.getList()
134
-      },
135
-      handleClick(res) {
136
-        this.searchData.state = Number(res.name)
137
-        this.getList()
138
-      },
139
-      formtOrder(row, column) {
140
-        if (row.F_SonType) {
141
-          return this.$store.getters.workTypeMap[parseInt(row.F_SonType)].text
142
-        }
143
-      },
144
-      btnClickEvents(button, wocode, row) {
145
-        this.buttonName = button.key
146
-        this.$refs.butOption.butOptionMethod(this.buttonName, wocode, row)
147
-        if (this.buttonName === 'bianji') {
148
-          this.btn_edit(wocode, row.F_Type)
178
+    btnClickEvents(button, wocode, row) {
179
+      this.buttonName = button.key
180
+      this.$refs.butOption.butOptionMethod(this.buttonName, wocode, row)
181
+      if (this.buttonName === 'bianji') {
182
+        this.btn_edit(wocode, row.F_Type)
183
+      }
184
+    },
185
+    getList() {
186
+      this.loading = true
187
+      return new Promise((resolve) => {
188
+        const params = {
189
+          // keyword: this.searchData.keyword, // 关键字
190
+          starttime: this.searchData.searchTime[0], // 开始时间
191
+          endtime: this.searchData.searchTime[1], // 结束时间
192
+          type: this.searchData.type, // 工单类型
193
+          loweltype: this.searchData.orderids[this.searchData.orderids.length - 1],
194
+          state: this.searchData.state, // 工单状态
195
+          pageindex: this.pageParams.pageindex, // int 第几页
196
+          pagesize: this.pageParams.pagesize // int 每页几条信息
149 197
         }
150
-      },
151
-      getList() {
152
-        this.loading = true
153
-        return new Promise((resolve) => {
154
-          const params = {
155
-            // keyword: this.searchData.keyword, // 关键字
156
-            starttime: this.searchData.searchTime[0], // 开始时间
157
-            endtime: this.searchData.searchTime[1], // 结束时间
158
-            type: this.searchData.type, // 工单类型
159
-            loweltype: this.searchData.orderids[this.searchData.orderids.length - 1],
160
-            state: this.searchData.state, // 工单状态
161
-            pageindex: this.pageParams.pageindex, // int 第几页
162
-            pagesize: this.pageParams.pagesize // int 每页几条信息
198
+        comOrderList(params).then((response) => {
199
+          this.loading = false
200
+          if (response.state.toLowerCase() === 'success') {
201
+            this.pageParams.total = response.total
202
+            this.dataLists = response.rows
163 203
           }
164
-          comOrderList(params).then((response) => {
165
-            this.loading = false
166
-            if (response.state.toLowerCase() === 'success') {
167
-              this.pageParams.total = response.total
168
-              this.dataLists = response.rows
169
-            }
170
-          })
171
-          resolve()
172 204
         })
173
-      },
174
-      getFiledTabDetail(TableId) {
175
-        GetFiledState(TableId).then((res) => {
176
-          if (res.F_Fileds) {
177
-            this.fieldListFlag = fieldDATA.getFieldListFlag(res.F_Fileds)
178
-            this.$refs['multipleTable'].doLayout()
179
-          } else {
180
-            const Fileds = fieldDATA.getOptionsValue(fieldDATA[TableId])
181
-            AddFiled({
182
-                TableId,
183
-                Fileds
184
-              })
185
-              .then((response) => {
186
-                if (response.state.toLowerCase() === 'success') {
187
-                  this.getFiledTabDetail(TableId)
188
-                }
189
-              })
190
-              .catch(() => {
191
-                this.loading = false
192
-              })
193
-          }
194
-        })
195
-      },
196
-      btn_search() {
197
-        this.pageParams.pageindex = 1
198
-        this.getList()
199
-      },
200
-      btn_add_list() {
205
+        resolve()
206
+      })
207
+    },
208
+    getFiledTabDetail(TableId) {
209
+      GetFiledState(TableId).then((res) => {
210
+        if (res.F_Fileds) {
211
+          this.fieldListFlag = fieldDATA.getFieldListFlag(res.F_Fileds)
212
+          this.$refs['multipleTable'].doLayout()
213
+        } else {
214
+          const Fileds = fieldDATA.getOptionsValue(fieldDATA[TableId])
215
+          AddFiled({
216
+            TableId,
217
+            Fileds
218
+          })
219
+            .then((response) => {
220
+              if (response.state.toLowerCase() === 'success') {
221
+                this.getFiledTabDetail(TableId)
222
+              }
223
+            })
224
+            .catch(() => {
225
+              this.loading = false
226
+            })
227
+        }
228
+      })
229
+    },
230
+    btn_search() {
231
+      this.pageParams.pageindex = 1
232
+      this.getList()
233
+    },
234
+    btn_add_list() {
235
+      this.$layer.iframe({
236
+        content: {
237
+          content: addDefinedList, // 传递的组件对象
238
+          parent: this, // 当前的vue对象
239
+          data: {
240
+            definedId: this.$route.path
241
+          } // props
242
+        },
243
+        area: ['70%', '30%'],
244
+        title: '自定义字段'
245
+      })
246
+    },
247
+    // 编辑
248
+    btn_edit(rid, rtype) {
249
+      this.$layer.iframe({
250
+        content: {
251
+          content: addOrEditOrder, // 传递的组件对象
252
+          parent: this, // 当前的vue对象
253
+          data: {
254
+            wid: rid,
255
+            rtype: rtype.toString(),
256
+            iswomanage: '1',
257
+            isedit: '1'
258
+          } // props
259
+        },
260
+        area: ['70%', '70%'],
261
+        title: '编辑工单'
262
+      })
263
+    },
264
+    hadndleOrderCode(row) {
265
+      if (row.F_Type === 3000) {
201 266
         this.$layer.iframe({
202 267
           content: {
203
-            content: addDefinedList, // 传递的组件对象
268
+            content: detail, // 传递的组件对象
204 269
             parent: this, // 当前的vue对象
205 270
             data: {
206
-              definedId: this.$route.path
271
+              rowid: row.F_WoCode
207 272
             } // props
208 273
           },
209
-          area: ['70%', '30%'],
210
-          title: '自定义字段'
274
+          area: ['80%', '90%'],
275
+          title: '订单详情'
211 276
         })
212
-      },
213
-      // 编辑
214
-      btn_edit(rid, rtype) {
277
+      }
278
+      if (row.F_Type === 1000) {
215 279
         this.$layer.iframe({
216 280
           content: {
217
-            content: addOrEditOrder, // 传递的组件对象
218
-            parent: this, // 当前的vue对象
281
+            content: askDetail,
282
+            parent: this,
219 283
             data: {
220
-              wid: rid,
221
-              rtype: rtype.toString(),
222
-              iswomanage: '1',
223
-              isedit: '1'
284
+              rowid: row.F_WoCode
224 285
             } // props
225 286
           },
226
-          area: ['70%', '70%'],
227
-          title: '编辑工单'
287
+          area: ['80%', '90%'],
288
+          title: '订单详情'
228 289
         })
229
-      },
230
-      hadndleOrderCode(row) {
231
-        if (row.F_Type === 3000) {
232
-          this.$layer.iframe({
233
-            content: {
234
-              content: detail, // 传递的组件对象
235
-              parent: this, // 当前的vue对象
236
-              data: {
237
-                rowid: row.F_WoCode
238
-              } // props
239
-            },
240
-            area: ['80%', '90%'],
241
-            title: '订单详情'
242
-          })
243
-        }
244
-        if (row.F_Type === 1000) {
245
-          this.$layer.iframe({
246
-            content: {
247
-              content: askDetail,
248
-              parent: this,
249
-              data: {
250
-                rowid: row.F_WoCode
251
-              } // props
252
-            },
253
-            area: ['80%', '90%'],
254
-            title: '订单详情'
255
-          })
256
-        }
257
-      },
258
-      // 删除弹框
259
-      btn_delete(operateId) {
260
-        this.deleteId = []
261
-        this.deleteId.push(operateId)
262
-        this.$confirm('此操作将永久删除当前工单, 是否继续?', '提示', {
263
-            confirmButtonText: '确定',
264
-            cancelButtonText: '取消',
265
-            type: 'warning'
266
-          })
267
-          .then(() => {
268
-            deleteOrder(this.deleteId).then((response) => {
269
-              if (response.state.toLowerCase() === 'success') {
270
-                this.getList()
271
-                this.$message.success('删除成功!')
272
-              }
273
-            })
274
-          })
275
-          .catch(() => {
276
-            this.$message.info('已取消删除')
277
-          })
278
-      },
279
-      // 工单完结
280
-      btn_Complete(operateId) {
281
-        this.$confirm('此操作完结当前工单, 是否继续?', '提示', {
282
-            confirmButtonText: '确定',
283
-            cancelButtonText: '取消',
284
-            type: 'warning'
285
-          })
286
-          .then(() => {
287
-            CompleteOrder(operateId).then((response) => {
288
-              if (response.state.toLowerCase() === 'success') {
289
-                this.getList()
290
-                this.$message.success('完结成功!')
291
-              }
292
-            })
293
-          })
294
-          .catch(() => {
295
-            this.$message.info('已取消完结')
296
-          })
297
-      },
298
-      // 工单处理 orderDeal
299
-      // btn_Deal(operateId) {
300
-      //   this.$layer.iframe({
301
-      //     content: {
302
-      //       content: orderDeal, // 传递的组件对象
303
-      //       parent: this, // 当前的vue对象
304
-      //       data: {
305
-      //         rowid: operateId
306
-      //       } // props
307
-      //     },
308
-      //     area: ['40%', '30%'],
309
-      //     title: '订单详情'
310
-      //   })
311
-      // },
312
-      // 工单审核
313
-      // btn_Audit(operateId) {
314
-      //   this.$layer.iframe({
315
-      //     content: {
316
-      //       content: addAudit, // 传递的组件对象
317
-      //       parent: this, // 当前的vue对象
318
-      //       data: {
319
-      //         rowid: operateId
320
-      //       } // props
321
-      //     },
322
-      //     area: ['40%', '30%'],
323
-      //     title: '订单详情'
324
-      //   })
325
-      // },
326
-      // 工单状态
327
-      getOrderStat() {
328
-        return new Promise((resolve) => {
329
-          const params = {}
330
-          getOrderStateData(params).then((response) => {
331
-            this.loading = false
332
-            if (response) {
333
-              this.orderstate = response
334
-            }
335
-          })
336
-          resolve()
290
+      }
291
+      if (row.F_Type === 2000) {
292
+        this.$layer.iframe({
293
+          content: {
294
+            content: dispatchDetail,
295
+            parent: this,
296
+            data: {
297
+              rowid: row.F_WoCode
298
+            } // props
299
+          },
300
+          area: ['80%', '90%'],
301
+          title: '订单详情'
337 302
         })
338
-      },
339
-      getTreeList() {
340
-        return new Promise((resolve) => {
341
-          getOrderTypeDrop(this.pid).then((response) => {
303
+      }
304
+    },
305
+    // 删除弹框
306
+    btn_delete(operateId) {
307
+      this.deleteId = []
308
+      this.deleteId.push(operateId)
309
+      this.$confirm('此操作将永久删除当前工单, 是否继续?', '提示', {
310
+        confirmButtonText: '确定',
311
+        cancelButtonText: '取消',
312
+        type: 'warning'
313
+      })
314
+        .then(() => {
315
+          deleteOrder(this.deleteId).then((response) => {
342 316
             if (response.state.toLowerCase() === 'success') {
343
-              this.orderData = response.data
317
+              this.getList()
318
+              this.$message.success('删除成功!')
344 319
             }
345 320
           })
346
-          resolve()
347 321
         })
348
-      },
349
-      handleChange(data) {
350
-        this.searchData.menutype = data[data.length - 1]
351
-        this.searchData.orderids = data
352
-      },
353
-      changeOrder(data) {
354
-        if (!data) {
355
-          return
356
-        }
357
-        this.searchData.menutypeid = data
358
-        const params = {
359
-          pid: data,
360
-          flag: 1
361
-        }
362
-        return new Promise((resolve) => {
363
-          getOrderTypeDrop(params).then((response) => {
322
+        .catch(() => {
323
+          this.$message.info('已取消删除')
324
+        })
325
+    },
326
+    // 工单完结
327
+    btn_Complete(operateId) {
328
+      this.$confirm('此操作完结当前工单, 是否继续?', '提示', {
329
+        confirmButtonText: '确定',
330
+        cancelButtonText: '取消',
331
+        type: 'warning'
332
+      })
333
+        .then(() => {
334
+          CompleteOrder(operateId).then((response) => {
364 335
             if (response.state.toLowerCase() === 'success') {
365
-              this.subclassData = response.data
336
+              this.getList()
337
+              this.$message.success('完结成功!')
366 338
             }
367 339
           })
368
-          resolve()
369 340
         })
341
+        .catch(() => {
342
+          this.$message.info('已取消完结')
343
+        })
344
+    },
345
+    // 工单处理 orderDeal
346
+    // btn_Deal(operateId) {
347
+    //   this.$layer.iframe({
348
+    //     content: {
349
+    //       content: orderDeal, // 传递的组件对象
350
+    //       parent: this, // 当前的vue对象
351
+    //       data: {
352
+    //         rowid: operateId
353
+    //       } // props
354
+    //     },
355
+    //     area: ['40%', '30%'],
356
+    //     title: '订单详情'
357
+    //   })
358
+    // },
359
+    // 工单审核
360
+    // btn_Audit(operateId) {
361
+    //   this.$layer.iframe({
362
+    //     content: {
363
+    //       content: addAudit, // 传递的组件对象
364
+    //       parent: this, // 当前的vue对象
365
+    //       data: {
366
+    //         rowid: operateId
367
+    //       } // props
368
+    //     },
369
+    //     area: ['40%', '30%'],
370
+    //     title: '订单详情'
371
+    //   })
372
+    // },
373
+    // 工单状态
374
+    getOrderStat() {
375
+      return new Promise((resolve) => {
376
+        const params = {}
377
+        getOrderStateData(params).then((response) => {
378
+          this.loading = false
379
+          if (response) {
380
+            this.orderstate = response
381
+          }
382
+        })
383
+        resolve()
384
+      })
385
+    },
386
+    getTreeList() {
387
+      return new Promise((resolve) => {
388
+        getOrderTypeDrop(this.pid).then((response) => {
389
+          if (response.state.toLowerCase() === 'success') {
390
+            this.orderData = response.data
391
+          }
392
+        })
393
+        resolve()
394
+      })
395
+    },
396
+    handleChange(data) {
397
+      this.searchData.menutype = data[data.length - 1]
398
+      this.searchData.orderids = data
399
+    },
400
+    changeOrder(data) {
401
+      if (!data) {
402
+        return
370 403
       }
404
+      this.searchData.menutypeid = data
405
+      const params = {
406
+        pid: data,
407
+        flag: 1
408
+      }
409
+      return new Promise((resolve) => {
410
+        getOrderTypeDrop(params).then((response) => {
411
+          if (response.state.toLowerCase() === 'success') {
412
+            this.subclassData = response.data
413
+          }
414
+        })
415
+        resolve()
416
+      })
371 417
     }
372 418
   }
419
+}
373 420
 </script>
374 421
 
375 422
 <style rel="stylesheet/scss" lang="scss" scoped>