telephone-clients 3.0.103 → 3.0.104-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -56
  3. package/src/assets//345/210/240/351/231/244.png +0 -0
  4. package/src/components/Util/RightTreeSafe.vue +2 -2
  5. package/src/components/Util/RightTreeSafeDep.vue +350 -0
  6. package/src/components/android/AddMyTask.vue +7 -0
  7. package/src/components/guoxin/Console.vue +9 -0
  8. package/src/components/guoxin/VisitInfo.vue +0 -11
  9. package/src/components/pc/NewRepairPaper.vue +370 -370
  10. package/src/components/pc/RepairsWork.vue +23 -2
  11. package/src/components/pc/RoleSelectorDep.vue +158 -0
  12. package/src/components/pc/TelFindUser.vue +1 -1
  13. package/src/components/pc/TelListener.vue +47 -16
  14. package/src/components/pc/VisitInfo.vue +44 -17
  15. package/src/components/pc/WorkCenter.vue +1 -1
  16. package/src/components/pc/WorkCenterList.vue +1 -1
  17. package/src/components/pc/WorkHistory.vue +20 -2
  18. package/src/components/pc/WorkListAll.vue +1 -1
  19. package/src/components/pc/WorkListAllNew.vue +10 -3
  20. package/src/components/pc/WorkListNew.vue +9 -3
  21. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  22. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  23. package/src/components/telreport/TableFaultReport.vue +96 -0
  24. package/src/components/telreport/Traffic.vue +3 -3
  25. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  26. package/src/components/temp/ChangemeterInfo.vue +75 -87
  27. package/src/components/temp/DeviceInfo.vue +80 -82
  28. package/src/components/temp/HandplanInfo.vue +14 -3
  29. package/src/components/temp/InfoTable.vue +5 -2
  30. package/src/components/temp/MetereadInfo.vue +1 -4
  31. package/src/components/temp/OldRepairList.vue +100 -0
  32. package/src/components/temp/RepairList.vue +2 -2
  33. package/src/components/weinan/Console.vue +1 -1
  34. package/src/components/weinan/RecordList.vue +2 -2
  35. package/src/components/weinan/SiteSend.vue +2 -2
  36. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  37. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  38. package/src/components/weinan/WorkList.vue +73 -0
  39. package/src/components/weinan/WorkListAll.vue +90 -14
  40. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  41. package/src/components/workorder/CompletedRepair.vue +269 -183
  42. package/src/components/workorder/FaultAll.vue +826 -826
  43. package/src/components/workorder/PhoneStandWork.vue +354 -354
  44. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  45. package/src/components/workorder/RepairDetails.vue +12 -2
  46. package/src/components/workorder/RepairFirstV.vue +1 -1
  47. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  48. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  49. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/hanzhong/telephone.js +1 -1
  52. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  53. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  54. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  55. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  56. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  57. package/src/filiale/kelai/telephone.js +9 -8
  58. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  59. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  60. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  61. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  62. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  63. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  64. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  65. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
  66. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  67. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  68. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
  69. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  70. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  71. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  72. package/src/filiale/qianneng/telephone.js +2 -0
  73. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  74. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  75. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  76. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  77. package/src/filiale/rizhao/telephone.js +1 -1
  78. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  79. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  80. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  81. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  82. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  83. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  84. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  85. package/src/filiale/shanxian/telephone.js +13 -12
  86. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  87. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  88. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  89. package/src/filiale/shexian/android/Outlay.vue +182 -165
  90. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  91. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  92. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  93. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  94. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  95. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  96. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  97. package/src/filiale/shexian/telephone.js +21 -18
  98. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  99. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  100. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  101. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  102. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  103. package/src/filiale/tongchuan/telephone.js +52 -52
  104. package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
  105. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  106. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  107. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  108. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  109. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  110. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  111. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  112. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  113. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  114. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  115. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  116. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  117. package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
  118. package/src/filiale/wenxi/telephone.js +4 -5
  119. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  120. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  121. package/src/filiale/wuhai/telephone.js +1 -1
  122. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  123. package/src/filiale/yuncheng/telephone.js +12 -0
  124. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  125. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  126. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  127. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  128. package/src/filiale/zhongsheng/telephone.js +23 -23
  129. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  130. package/src/main.js +1 -1
  131. package/src/telephone.js +17 -1
  132. package/src/weinan.js +6 -0
@@ -121,28 +121,18 @@
121
121
  <label class="font_normal_body" style="width: 40%">故障明细</label>
122
122
  <v-select :value.sync="model.f_failure" v-model='model.f_failure'
123
123
  :value-single="true"
124
- :options='$parent.$parent.faultdetails' placeholder='故障明细'
124
+ :options='$parent.$parent.faultdetails' placeholder='故障明细'
125
125
  close-on-select
126
126
  condition="tswo.failure like '%{}%'"></v-select>
127
127
  </div>
128
128
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
129
129
  <label class="font_normal_body" style="width: 40%">派&ensp;单&ensp;员</label>
130
- <input type="text" class="input_search" v-model="model.f_single_man" placeholder='派单员'
131
- condition="f_single_man like '%{}%'"
132
- :size="model.f_single_man ? model.f_single_man.length : 6">
130
+ <input type="text" class="input_search" v-model="model.f_single_man" placeholder='派单员'
131
+ condition="tswo.f_single_man like '%{}%'"
132
+ :size="model.f_single_man ? model.f_single_man.length : 6">
133
133
  </div>
134
134
  </div>
135
135
  <div class="row" v-show="$parent.$parent.criteriaShow">
136
- <div class="col-sm-6 form-group form-input-group" style="width: 40%">
137
- <role-selector-tel
138
- role-name="维修员"
139
- role-lable="维&nbsp;修&nbsp;员"
140
- @re-res="$parent.$parent.getRes"
141
- :value.sync="model.f_checker_id"
142
- v-model="model.f_checker_id"
143
- condition="tswo.f_order_man = '{}'">
144
- </role-selector-tel>
145
- </div>
146
136
  <!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
147
137
  <!-- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;员</label>-->
148
138
  <!-- <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单员'-->
@@ -166,7 +156,7 @@
166
156
  close-on-select></v-select>
167
157
  </div>
168
158
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
169
- <label class="font_normal_body" style="width: 40%" >报修类型</label>
159
+ <label class="font_normal_body" style="width: 40%">报修类型</label>
170
160
  <v-select :value.sync="model.f_repairtype" :value-single="true" v-model="model.f_repairtype"
171
161
  :options='$parent.$parent.repairstypes' placeholder='报修类型'
172
162
  condition="f_repairtype like '%{}%'"
@@ -175,8 +165,29 @@
175
165
  </div>
176
166
  <div class="col-sm-3 form-group form-input-group" style="width: 20%">
177
167
  <label class="font_normal_body" style="width: 40%">小&emsp;&emsp;区</label>
178
- <input type="text" class="input_search" style="width: 40%" v-model="model.f_residential_area" placeholder='地址'
179
- condition=" f_residential_area like '%{}%' ">
168
+ <v-select :value.sync="model.f_residential_area" :value-single="true" v-model="model.f_residential_area"
169
+ :options='$parent.$parent.residential_areas' placeholder='小区'
170
+ condition="f_residential_area = '{}'"
171
+ close-on-select>
172
+ </v-select>
173
+ </div>
174
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
175
+ <label class="font_normal_body" style="width: 40%">用户类型</label>
176
+ <v-select :value.sync="model.f_user_type" :value-single="true" v-model="model.f_user_type"
177
+ :options='$parent.$parent.user_types' placeholder='用户类型'
178
+ condition="f_user_type = '{}'"
179
+ close-on-select>
180
+ </v-select>
181
+ </div>
182
+ <div class="col-sm-6 form-group form-input-group" style="width: 40%">
183
+ <role-selector-tel
184
+ role-name="维修员"
185
+ role-lable="维&nbsp;修&nbsp;员"
186
+ @re-res="$parent.$parent.getRes"
187
+ :value.sync="model.f_checker_id"
188
+ v-model="model.f_checker_id"
189
+ condition="tswo.f_order_man = '{}'">
190
+ </role-selector-tel>
180
191
  </div>
181
192
  </div>
182
193
  </div>
@@ -187,6 +198,9 @@
187
198
  <th>
188
199
  <nobr>序号</nobr>
189
200
  </th>
201
+ <th>
202
+ <nobr>回访</nobr>
203
+ </th>
190
204
  <th>
191
205
  <nobr>用户编号</nobr>
192
206
  </th>
@@ -242,63 +256,71 @@
242
256
  </tr>
243
257
  </template>
244
258
  <template partial='body'>
245
- <td style="text-align: center;">
259
+ <td style="text-align: center;">
246
260
  <nobr>{{ $index + 1 }}</nobr>
247
261
  </td>
248
- <td style="text-align: center;">
262
+ <td :style="row.serviceacitivity && row.serviceacitivity[0].f_is_abnormal == '异常'?'color:red':''">
263
+ <nobr v-if="row.f_phone&&row.f_again_revisit!='否'">
264
+ <button-link type="button" class="btn btn-link"
265
+ @click="$parent.$parent.$parent.playWav(row.f_phone,row)">回访
266
+ </button-link>
267
+ </nobr>
268
+ <nobr v-if="(!row.f_phone)||row.f_again_revisit=='否'"></nobr>
269
+ </td>
270
+ <td style="text-align: center;">
249
271
  <nobr>{{ row.f_userinfo_code }}</nobr>
250
272
  </td>
251
- <td style="text-align: center;">
273
+ <td style="text-align: center;">
252
274
  <nobr>{{ row.f_workorder_type }}</nobr>
253
275
  </td>
254
- <td style="text-align: center;">
276
+ <td style="text-align: center;">
255
277
  <nobr>{{ row.f_service_id }}</nobr>
256
278
  </td>
257
- <td style="text-align: center;">
279
+ <td style="text-align: center;">
258
280
  <nobr>{{ row.f_created_date }}</nobr>
259
281
  </td>
260
- <td style="text-align: center;" >
282
+ <td style="text-align: center;">
261
283
  <nobr>
262
284
  {{ row.f_user_name }}&nbsp;&nbsp;&nbsp;{{ row.f_address }}&nbsp;&nbsp;&nbsp;
263
285
  </nobr>
264
286
  </td>
265
- <td style="text-align: center;">
287
+ <td style="text-align: center;">
266
288
  <nobr>{{ row.f_residential_area }}</nobr>
267
289
  </td>
268
- <td style="text-align: center;">
290
+ <td style="text-align: center;">
269
291
  <nobr>{{ row.f_contact_phone }}</nobr>
270
292
  </td>
271
- <td style="text-align: center;">
272
- <nobr>{{ $parent.$parent.$parent.trouble(row.failure) }}</nobr>
293
+ <td style="text-align: center;">
294
+ <nobr>{{ $parent.$parent.$parent.trouble(row.failure_str) }}</nobr>
273
295
  </td>
274
- <td style="text-align: center;">
296
+ <td style="text-align: center;">
275
297
  <nobr>{{ row.f_remarks }}</nobr>
276
298
  </td>
277
- <td style="text-align: center;">
299
+ <td style="text-align: center;">
278
300
  <nobr>{{ row.f_remar }}</nobr>
279
301
  </td>
280
302
  <td style="text-align: center;">
281
303
  <nobr>
282
304
  <!-- row.defname ?row.defname: (row.f_state === '撤销' ? '撤销' : '完成')-->
283
- {{ row.f_state ?row.f_state:(row.defname ?row.defname:'完成')}}
305
+ {{ row.f_state ? row.f_state : (row.defname ? row.defname : '完成') }}
284
306
  </nobr>
285
307
  </td>
286
- <td style="text-align: center;">
308
+ <td style="text-align: center;">
287
309
  <nobr>{{ row.f_single_man }}</nobr>
288
310
  </td>
289
- <td style="text-align: center;">
311
+ <td style="text-align: center;">
290
312
  <nobr>{{ row.f_order_man }} {{ row.f_repairman_phone }}</nobr>
291
313
  </td>
292
- <td style="text-align: center;">
314
+ <td style="text-align: center;">
293
315
  <nobr>{{ row.f_date }}</nobr>
294
316
  </td>
295
- <td style="text-align: center;">
317
+ <td style="text-align: center;">
296
318
  <nobr>{{ row.f_date_come }}</nobr>
297
319
  </td>
298
- <td style="text-align: center;">
320
+ <td style="text-align: center;">
299
321
  <nobr>{{ row.f_date_leave }}</nobr>
300
322
  </td>
301
- <td style="text-align: center;">
323
+ <td style="text-align: center;">
302
324
  <nobr>{{ row.f_result_status }}</nobr>
303
325
  </td>
304
326
  </template>
@@ -333,12 +355,12 @@
333
355
  </footer>
334
356
  </modal>
335
357
  </div>
336
- <modal :show.sync="showVisit" v-ref:modal backdrop="false">
358
+ <modal :show.sync="showVisit" v-ref:modal>
337
359
  <header slot="modal-header" class="modal-header">
338
360
  </header>
339
361
  <article slot="modal-body" class="modal-body">
340
- <visit-info v-if="showVisit" :row="visitrow" :phone="wavflie"
341
- @show-obj="watchShow"></visit-info>
362
+ <visit-info v-if="showVisit" :row="visitrow" :phone="wavflie" :outltime="outltime"
363
+ @show-obj="watchShow" @visitback="visitback"></visit-info>
342
364
  </article>
343
365
  <footer slot="modal-footer" class="modal-footer">
344
366
  </footer>
@@ -359,289 +381,318 @@
359
381
  </template>
360
382
 
361
383
  <script>
362
- import {PagedList} from 'vue-client'
363
- import DelayReply from '../../../components/pc/DelayReply'
364
- import defaultPrint from '../../../components/pc/config/DefaultPrint'
365
- import {HttpResetClass} from 'vue-client'
366
- export default {
367
- title: '工单列表',
368
- data () {
369
- return {
370
- orgstrs: [{label: '全部', value: ''}],
371
- editflag: null,
372
- showVisit: false,
373
- outltime: this.getNowFormatDate(),
374
- wavflie: '',
375
- selectone: '',
376
- model: new PagedList('rs/sql/serviceDetails', 20),
377
- row: null,
378
- orderMan: '',
384
+ import {HttpResetClass, PagedList} from 'vue-client'
385
+ import DelayReply from '../../../components/pc/DelayReply'
386
+ import defaultPrint from '../../../components/pc/config/DefaultPrint'
379
387
 
380
- msgs: [],
381
- service: Object,
382
- pendingCount: 0,
383
- // 打印
384
- all: false,
385
- modelval: [],
386
- visitrow: {},
387
- printshow: false,
388
- imgshow: false,
389
- imgfilename: '',
390
- fields: {},
391
- thead: '',
392
- tfoot: '',
393
- zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
394
- headData: ['用户编号','工单类型', '工单编号', '派单时间', '用户姓名', '用户地址','来电电话', '派单员', '维修员', '工单状态', '完成时间','派单备注', '故障明细','维修员备注'],
395
- bodyData: ['f_userinfo_code','f_workorder_type', 'f_service_id', 'f_created_date', 'f_user_name', 'f_address', 'f_phone','f_single_man', 'f_order_man', 'f_date_leave', 'f_remarks','failure', 'f_remar'],
396
- searchData: {
397
- condition: '1=1'
398
- },
399
- excelHeaders: {
400
- 'f_userinfo_code': '用户编号',
401
- 'f_workorder_type': '工单类型',
402
- 'f_service_id': '工单编号',
403
- 'f_created_date': '派单时间',
404
- 'f_user_name': '用户姓名',
405
- 'f_residential_area':'小区',
406
- 'f_contact_phone':'联系电话',
407
- 'f_address': '用户地址',
408
- 'f_phone': '来电电话',
409
- 'f_single_man': '派单员',
410
- 'f_order_man': '维修员',
411
- 'defname': '工单状态',
412
- 'f_date_come': '到达时间',
413
- 'f_date_leave': '离开时间',
414
- 'f_result_status': '工单结果',
415
- 'f_date': '上传时间',
416
- 'f_remarks': '派单备注',
417
- 'failure':'故障明细',
418
- 'f_remar': '工单完成备注'
419
- },
420
- criteriaShow: false
421
- }
422
- },
423
- props: {
424
- user: {
425
- type: Object
388
+ export default {
389
+ title: '工单列表',
390
+ data() {
391
+ return {
392
+ orgstrs: [{label: '全部', value: ''}],
393
+ editflag: null,
394
+ showVisit: false,
395
+ outltime: this.getNowFormatDate(),
396
+ wavflie: '',
397
+ selectone: '',
398
+ model: new PagedList('rs/sql/serviceDetails', 20),
399
+ row: null,
400
+ orderMan: '',
401
+ msgs: [],
402
+ residential_areas:[{label: '全部', value: ''}],
403
+ service: Object,
404
+ pendingCount: 0,
405
+ // 打印
406
+ all: false,
407
+ modelval: [],
408
+ visitrow: {},
409
+ printshow: false,
410
+ imgshow: false,
411
+ imgfilename: '',
412
+ fields: {},
413
+ thead: '',
414
+ tfoot: '',
415
+ zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
416
+ headData: ['用户编号', '工单类型', '工单编号', '派单时间', '用户姓名', '用户地址', '来电电话', '派单员', '维修员', '工单状态', '完成时间', '派单备注', '故障明细', '维修员备注'],
417
+ bodyData: ['f_userinfo_code', 'f_workorder_type', 'f_service_id', 'f_created_date', 'f_user_name', 'f_address', 'f_phone', 'f_single_man', 'f_order_man', 'f_date_leave', 'f_remarks', 'failure', 'f_remar'],
418
+ searchData: {
419
+ condition: '1=1'
420
+ },
421
+ excelHeaders: {
422
+ 'f_userinfo_code': '用户编号',
423
+ 'f_workorder_type': '工单类型',
424
+ 'f_service_id': '工单编号',
425
+ 'f_created_date': '派单时间',
426
+ 'f_user_name': '用户姓名',
427
+ 'f_residential_area': '小区',
428
+ 'f_contact_phone': '联系电话',
429
+ 'f_address': '用户地址',
430
+ 'f_phone': '来电电话',
431
+ 'f_single_man': '派单员',
432
+ 'f_order_man': '维修员',
433
+ 'defname': '工单状态',
434
+ 'f_date_come': '到达时间',
435
+ 'f_date_leave': '离开时间',
436
+ 'f_result_status': '工单结果',
437
+ 'f_date': '上传时间',
438
+ 'f_remarks': '派单备注',
439
+ 'failure_str': '故障明细',
440
+ 'f_remar': '工单完成备注'
441
+ },
442
+ criteriaShow: false
443
+ }
426
444
  },
427
- sum: 0,
428
- maintenance: [],
429
-
430
- serviceId: '',
445
+ props: {
446
+ user: {
447
+ type: Object
448
+ },
449
+ sum: 0,
450
+ maintenance: [],
431
451
 
432
- defname: {
433
- type: String
434
- },
435
- systemshow: {
436
- type: Boolean,
437
- default: false
438
- }
439
- },
440
- ready () {
452
+ serviceId: '',
441
453
 
442
- this.selfSearch()
443
- },
444
- watch: {
445
- 'all' (val) {
446
- if (val) {
447
- this.modelval = this.bodyData
448
- } else {
449
- this.modelval = defaultPrint.config
450
- this.put()
451
- }
452
- },
453
- 'modelval.length' () {
454
- this.put()
455
- },
456
- 'serviceId' () {
457
- this.selfSearch()
458
- },
459
- 'sum' (val) {
460
- this.selfSearch()
461
- //this.model.search()
462
- }
463
- },
464
- methods: {
465
- getNowFormatDate () {
466
- var date = new Date()
467
- var seperator1 = '-'
468
- var seperator2 = ':'
469
- var month = date.getMonth() + 1
470
- var strDate = date.getDate()
471
- var hour = date.getHours()
472
- var min = date.getMinutes()
473
- var second = date.getSeconds()
474
- if (month >= 1 && month <= 9) {
475
- month = '0' + month
476
- }
477
- if (strDate >= 0 && strDate <= 9) {
478
- strDate = '0' + strDate
479
- }
480
- if (hour >= 0 && hour <= 9) {
481
- hour = '0' + hour
482
- }
483
- if (min >= 0 && min <= 9) {
484
- min = '0' + min
485
- }
486
- if (second >= 0 && second <= 9) {
487
- second = '0' + second
454
+ defname: {
455
+ type: String
456
+ },
457
+ systemshow: {
458
+ type: Boolean,
459
+ default: false
488
460
  }
489
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
490
- + ' ' + hour + seperator2 + min
491
- + seperator2 + second
492
- return currentdate
493
461
  },
494
- watchShow (val) {
495
- this.visitrow = {}
496
- this.showVisit = val
462
+ ready() {
463
+
497
464
  this.selfSearch()
465
+ this.get_residential_areas()
498
466
  },
499
- playWav (val, val2) {
500
- //tag
501
- this.wavflie = val
502
- this.visitrow = val2
503
- this.showVisit = true
504
- },
505
- showpicture (val) {
506
- //tag
507
- //tag)
508
- this.imgshow = true
509
- this.imgfilename = 'rs/image/file/' + val.f_single_path
510
- },
511
- imgclose () {
512
- this.imgshow = false
513
- },
514
- yccolor (val) {
515
- if (val == '异常') {
516
- return 'color:red'
467
+ watch: {
468
+ 'all'(val) {
469
+ if (val) {
470
+ this.modelval = this.bodyData
471
+ } else {
472
+ this.modelval = defaultPrint.config
473
+ this.put()
474
+ }
475
+ },
476
+ 'modelval.length'() {
477
+ this.put()
478
+ },
479
+ 'serviceId'() {
480
+ this.selfSearch()
481
+ },
482
+ 'sum'(val) {
483
+ this.selfSearch()
484
+ //this.model.search()
517
485
  }
518
- return ''
519
486
  },
487
+ methods: {
488
+ getNowFormatDate() {
489
+ var date = new Date()
490
+ var seperator1 = '-'
491
+ var seperator2 = ':'
492
+ var month = date.getMonth() + 1
493
+ var strDate = date.getDate()
494
+ var hour = date.getHours()
495
+ var min = date.getMinutes()
496
+ var second = date.getSeconds()
497
+ if (month >= 1 && month <= 9) {
498
+ month = '0' + month
499
+ }
500
+ if (strDate >= 0 && strDate <= 9) {
501
+ strDate = '0' + strDate
502
+ }
503
+ if (hour >= 0 && hour <= 9) {
504
+ hour = '0' + hour
505
+ }
506
+ if (min >= 0 && min <= 9) {
507
+ min = '0' + min
508
+ }
509
+ if (second >= 0 && second <= 9) {
510
+ second = '0' + second
511
+ }
512
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
513
+ + ' ' + hour + seperator2 + min
514
+ + seperator2 + second
515
+ return currentdate
516
+ },
517
+ watchShow(val) {
518
+ this.visitrow = {}
519
+ this.showVisit = val
520
+ this.selfSearch()
521
+ },
522
+ visitback(val) {
523
+ this.visitrow = {}
524
+ this.showVisit = false
525
+ if (val == 'commit') {
526
+ this.model.search(this.searchData.condition)
527
+ }
528
+ },
529
+ playWav(val, val2) {
530
+ //tag
531
+ this.wavflie = val
532
+ this.visitrow = val2
533
+ this.showVisit = true
534
+ },
535
+ showpicture(val) {
536
+ //tag
537
+ //tag)
538
+ this.imgshow = true
539
+ this.imgfilename = 'rs/image/file/' + val.f_single_path
540
+ },
541
+ imgclose() {
542
+ this.imgshow = false
543
+ },
544
+ yccolor(val) {
545
+ if (val == '异常') {
546
+ return 'color:red'
547
+ }
548
+ return ''
549
+ },
520
550
 
521
- search (args) {
551
+ search(args) {
522
552
 
523
- if (this.f_filialeids) {
524
- args.condition += ` and f_filiale_id in ${this.f_filialeids}`
525
- } else {
526
- args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
527
- }
553
+ if (this.f_filialeids) {
554
+ args.condition += ` and f_filiale_id in ${this.f_filialeids}`
555
+ } else {
556
+ args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
557
+ }
528
558
 
529
- this.searchData.condition = args.condition
530
- return this.model.search(args.condition, args.model)
531
- },
532
- selfSearch () {
533
- // 取消编辑状态
534
- let condition = '1=1'
559
+ this.searchData.condition = args.condition
560
+ return this.model.search(args.condition, args.model)
561
+ },
562
+ selfSearch() {
563
+ // 取消编辑状态
564
+ let condition = '1=1'
535
565
 
536
- if (this.f_filialeids) {
537
- condition += ` and f_filiale_id in ${this.f_filialeids}`
538
- //tag
539
- } else {
540
- condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
541
- }
542
- return this.model.search(condition)
543
- },
566
+ if (this.f_filialeids) {
567
+ condition += ` and f_filiale_id in ${this.f_filialeids}`
568
+ //tag
569
+ } else {
570
+ condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
571
+ }
572
+ return this.model.search(condition)
573
+ },
544
574
 
545
- // 发送数据给业务逻辑,并刷新界面
575
+ // 发送数据给业务逻辑,并刷新界面
546
576
 
547
- // 是否可以退回
577
+ // 是否可以退回
548
578
 
549
- trouble (val) {
550
- let failureall=''
551
- // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
579
+ trouble(val) {
580
+ if (!val.startsWith('[')) {
581
+ return val
582
+ }
583
+ let failureall = ''
584
+ // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
552
585
 
553
- let failure = JSON.parse(val)
554
- for (let i = 0; i <failure.length; i++) {
555
- if (failure[i].failurecase.length>0){
556
- failureall+=failure[i].f_failure_type+":"
557
- for (let j = 0; j < failure[i].failurecase.length; j++) {
558
- failureall+=failure[i].failurecase[j]
559
- if (j+1!=failure[i].failurecase.length){
560
- failureall+=","
586
+ let failure = JSON.parse(val)
587
+ for (let i = 0; i < failure.length; i++) {
588
+ if (failure[i].failurecase.length > 0) {
589
+ failureall += failure[i].f_failure_type + ":"
590
+ for (let j = 0; j < failure[i].failurecase.length; j++) {
591
+ failureall += failure[i].failurecase[j]
592
+ if (j + 1 != failure[i].failurecase.length) {
593
+ failureall += ","
594
+ }
561
595
  }
562
- }
563
596
 
564
- }else{
565
- failureall+=failure[i].f_failure_type
597
+ } else {
598
+ failureall += failure[i].f_failure_type
599
+ }
600
+ if (i + 1 != failure.length) {
601
+ failureall += ';'
602
+ }
566
603
  }
567
- if (i+1!=failure.length){
568
- failureall+=';'
604
+ return failureall
605
+ },
606
+ // 打印
607
+ stamp() {
608
+ this.all = false
609
+ // 默认选择要打印的列
610
+ this.modelval = defaultPrint.config
611
+ this.fields = this.getfield
612
+ this.printshow = true
613
+ this.put()
614
+ },
615
+ put() {
616
+ // 对Modelval进行排序
617
+ this.sortModelval()
618
+ this.thead = `<tr><th colspan=${this.modelval.length}>工单详情报表</th></tr><tr>`
619
+ for (let key of this.modelval) {
620
+ this.thead += '<th>' + this.fields[key] + '</th>'
569
621
  }
570
- }
571
- return failureall
572
- },
573
- // 打印
574
- stamp () {
575
- this.all = false
576
- // 默认选择要打印的列
577
- this.modelval = defaultPrint.config
578
- this.fields = this.getfield
579
- this.printshow = true
580
- this.put()
622
+ this.thead += '</tr>'
623
+ },
624
+ print() {
625
+ this.$refs.print.PrintAsFile()
626
+ this.printshow = false
627
+ },
628
+ close() {
629
+ this.printshow = false
630
+ this.all = false
631
+ },
632
+ // 对选择的列进行排序
633
+ sortModelval() {
634
+ let sortModel = []
635
+ Object.keys(this.fields).forEach((key) => {
636
+ if (this.modelval.includes(key)) {
637
+ sortModel.push(key)
638
+ }
639
+ })
640
+ this.modelval = sortModel
641
+ },
642
+ hidden() {
643
+ this.criteriaShow = !this.criteriaShow
644
+ },
645
+ getRes(obj) {
646
+ //tag
647
+ ////tag)
648
+ this.f_filialeids = this.$login.convertToIn(obj.resids)
649
+ //tag
650
+ },
651
+ get_residential_areas() {
652
+ new HttpResetClass().load('POST', 'rs/sql/tel_singleTable_GroupBy', {
653
+ data: {
654
+ items: 'f_residential_area',
655
+ tablename: 't_area',
656
+ condition: `1=1`,
657
+ groupitem: 'f_residential_area'
658
+ }
659
+ }, {resolveMsg: null, rejectMsg: null}).then(response => {
660
+ debugger
661
+ for (let dataKey in response.data) {
662
+ this.residential_areas.push({label: response.data[dataKey].f_residential_area, value: response.data[dataKey].f_residential_area})
663
+ }
664
+ })
665
+ },
581
666
  },
582
- put () {
583
- // 对Modelval进行排序
584
- this.sortModelval()
585
- this.thead = `<tr><th colspan=${this.modelval.length}>工单详情报表</th></tr><tr>`
586
- for (let key of this.modelval) {
587
- this.thead += '<th>' + this.fields[key] + '</th>'
667
+ computed: {
668
+ user_types() {
669
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
670
+ },
671
+ defnames() {
672
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫工单状态')]
673
+ },
674
+ repairstypes() {
675
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')]
676
+ },
677
+ serviceorders() {
678
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
679
+ },
680
+ sources() {
681
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单来源')]
682
+ },
683
+ faultdetails() {
684
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('故障明细')]
685
+ },
686
+ getfield() {
687
+ let data = {}
688
+ this.bodyData.forEach((value, index) => {
689
+ data[this.bodyData[index]] = this.headData[index]
690
+ })
691
+ return data
588
692
  }
589
- this.thead += '</tr>'
590
- },
591
- print () {
592
- this.$refs.print.PrintAsFile()
593
- this.printshow = false
594
- },
595
- close () {
596
- this.printshow = false
597
- this.all = false
598
- },
599
- // 对选择的列进行排序
600
- sortModelval () {
601
- let sortModel = []
602
- Object.keys(this.fields).forEach((key) => {
603
- if (this.modelval.includes(key)) {
604
- sortModel.push(key)
605
- }
606
- })
607
- this.modelval = sortModel
608
- },
609
- hidden () {
610
- this.criteriaShow = !this.criteriaShow
611
- },
612
- getRes (obj) {
613
- //tag
614
- ////tag)
615
- this.f_filialeids = this.$login.convertToIn(obj.resids)
616
- //tag
617
- }
618
- },
619
- computed: {
620
- defnames () {
621
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫工单状态')]
622
- },
623
- repairstypes () {
624
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')]
625
- },
626
- serviceorders () {
627
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
628
- },
629
- sources () {
630
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单来源')]
631
- },
632
- faultdetails () {
633
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('故障明细')]
634
693
  },
635
- getfield () {
636
- let data = {}
637
- this.bodyData.forEach((value, index) => {
638
- data[this.bodyData[index]] = this.headData[index]
639
- })
640
- return data
694
+ components: {
695
+ 'delay-reply': DelayReply
641
696
  }
642
- },
643
- components: {
644
- 'delay-reply': DelayReply
645
697
  }
646
- }
647
698
  </script>