telephone-clients 3.0.103 → 3.0.104-1

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 (126) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +7 -9
  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/VisitInfo.vue +0 -11
  8. package/src/components/pc/NewRepairPaper.vue +3 -3
  9. package/src/components/pc/RepairsWork.vue +22 -2
  10. package/src/components/pc/RoleSelectorDep.vue +158 -0
  11. package/src/components/pc/TelFindUser.vue +1 -1
  12. package/src/components/pc/TelListener.vue +47 -16
  13. package/src/components/pc/VisitInfo.vue +0 -10
  14. package/src/components/pc/WorkCenter.vue +1 -1
  15. package/src/components/pc/WorkCenterList.vue +1 -1
  16. package/src/components/pc/WorkHistory.vue +20 -2
  17. package/src/components/pc/WorkListAll.vue +1 -1
  18. package/src/components/pc/WorkListAllNew.vue +10 -3
  19. package/src/components/pc/WorkListNew.vue +712 -706
  20. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  21. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  22. package/src/components/telreport/TableFaultReport.vue +96 -0
  23. package/src/components/telreport/Traffic.vue +3 -3
  24. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  25. package/src/components/temp/ChangemeterInfo.vue +75 -87
  26. package/src/components/temp/DeviceInfo.vue +80 -82
  27. package/src/components/temp/HandplanInfo.vue +2 -2
  28. package/src/components/temp/InfoTable.vue +5 -2
  29. package/src/components/temp/MetereadInfo.vue +1 -4
  30. package/src/components/temp/OldRepairList.vue +100 -0
  31. package/src/components/temp/RepairList.vue +2 -2
  32. package/src/components/weinan/Console.vue +1 -1
  33. package/src/components/weinan/RecordList.vue +2 -2
  34. package/src/components/weinan/SiteSend.vue +2 -2
  35. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  36. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  37. package/src/components/weinan/WorkList.vue +73 -0
  38. package/src/components/weinan/WorkListAll.vue +90 -14
  39. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  40. package/src/components/workorder/CompletedRepair.vue +269 -183
  41. package/src/components/workorder/FaultAll.vue +826 -826
  42. package/src/components/workorder/PhoneStandWork.vue +354 -354
  43. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  44. package/src/components/workorder/RepairDetails.vue +12 -2
  45. package/src/components/workorder/RepairFirstV.vue +1 -1
  46. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  47. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  48. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  49. package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  52. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  53. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  54. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  55. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  56. package/src/filiale/kelai/telephone.js +9 -8
  57. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  58. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  59. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  60. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  61. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  62. package/src/filiale/qianneng/android/TemporarySingle.vue +537 -512
  63. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  64. package/src/filiale/qianneng/pc/MaterialDetailed.vue +260 -248
  65. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  66. package/src/filiale/qianneng/pc/NewRepairPaper.vue +4 -4
  67. package/src/filiale/qianneng/pc/RepairsWork.vue +12 -2
  68. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  69. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  70. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  71. package/src/filiale/qianneng/telephone.js +22 -20
  72. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  73. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  74. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  75. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  76. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  77. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  78. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  79. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  80. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  81. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  82. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  83. package/src/filiale/shanxian/telephone.js +13 -12
  84. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  85. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  86. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  87. package/src/filiale/shexian/android/Outlay.vue +182 -165
  88. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  89. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  90. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  91. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  92. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  93. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  94. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  95. package/src/filiale/shexian/telephone.js +21 -18
  96. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  97. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  98. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  99. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  100. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  101. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  102. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  103. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  104. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  105. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  106. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  107. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  108. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  109. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  110. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  111. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  112. package/src/filiale/wenxi/telephone.js +4 -6
  113. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  114. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  115. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  116. package/src/filiale/yuncheng/telephone.js +12 -0
  117. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  118. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  119. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  120. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  121. package/src/filiale/zhongsheng/telephone.js +23 -23
  122. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  123. package/src/main.js +1 -1
  124. package/src/telephone.js +16 -0
  125. package/src/weinan.js +6 -0
  126. package/src/filiale/wenxi/pc/WorkListAll.vue +0 -647
@@ -1,647 +0,0 @@
1
- <template>
2
- <div id="stand-work-list" class="flex bg-white p-10">
3
- <div class="span">
4
- <criteria-paged :model="model" v-ref:paged>
5
- <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
6
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
- <div class="row">
8
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
9
- <label class="font_normal_body" style="width: 40%">工单编号</label>
10
- <input type="text" class="input_search" v-model="model.f_service_id" placeholder='工单编号'
11
- condition="f_service_id like '%{}%'"
12
- :size="model.f_service_id ? model.f_service_id.length : 6">
13
- </div>
14
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
15
- <label class="font_normal_body" style="width: 40%">工单类型</label>
16
- <v-select :value.sync="model.f_workorder_type" :value-single="true" v-model="model.f_workorder_type"
17
- :options='$parent.$parent.serviceorders' placeholder='工单类型'
18
- condition="tswo.f_workorder_type like '%{}%'"
19
- close-on-select>
20
- </v-select>
21
- </div>
22
- <div class="col-sm-3 form-group form-input-group" style="width: 20%;">
23
- <label class="font_normal_body" style="width: 40%">客户姓名</label>
24
- <input type="text" class="input_search" v-model="model.f_user_name" placeholder='客户姓名'
25
- condition="tswo.f_user_name like '%{}%'"
26
- :size="model.f_user_name ? model.f_user_name.length : 6">
27
- </div>
28
-
29
- <div class="form-group col-sm-6 button-range" style="margin-right: 10px">
30
- <button class="button_search button_spacing" style="margin-right: 9px"
31
- @click="search(),$dispatch('search')">查询
32
- </button>
33
-
34
-
35
- <export-excel-tel
36
- :data="$parent.$parent.searchData"
37
- :field="$parent.$parent.excelHeaders"
38
- progress="telGetExportProgress"
39
- sqlurl="rs/logic/telephoneExport" sql-name="serviceDetails" template-name='工单详情导出'
40
- :choose-col="true">
41
- </export-excel-tel>
42
-
43
- <div style="float: right" class="button_spacing"
44
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
45
- @click="$parent.$parent.hidden()"></div>
46
-
47
- </div>
48
- </div>
49
- <div class="row" v-show="$parent.$parent.criteriaShow">
50
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
51
- <label class="font_normal_body" style="width: 40%">客户编号</label>
52
- <input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
53
- condition="tswo.f_userinfo_code like '%{}%'"
54
- :size="model.f_userinfo_code ? model.f_userinfo_code.length : 6">
55
- </div>
56
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
57
- <label class="font_normal_body" style="width: 40%">派单时间</label>
58
- <datepicker placeholder="起始派单时间"
59
- :value.sync="model.f_created_date"
60
- v-model="model.f_created_date"
61
- :format="'yyyy-MM-dd 00:00:00'"
62
- condition="f_created_date > '{}'"
63
- ></datepicker>
64
- </div>
65
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
66
- <label class="font_normal_body" style="width: 40%">派单时间</label>
67
- <datepicker placeholder="终止派单时间"
68
- :value.sync="model.f_created_enddate"
69
- v-model="model.f_created_enddate"
70
- :format="'yyyy-MM-dd 23:59:59'"
71
- condition="f_created_date < '{}'"
72
- ></datepicker>
73
- </div>
74
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
75
- <label class="font_normal_body" style="width: 40%">来电电话</label>
76
- <input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
77
- condition="tswo.f_phone like '%{}%'"
78
- :size="model.f_phone ? model.f_phone.length : 6">
79
- </div>
80
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
81
- <label class="font_normal_body" style="width: 40%">联系电话</label>
82
- <input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
83
- condition="tswo.f_contact_phone like '%{}%'"
84
- :size="model.f_contact_phone ? model.f_contact_phone.length : 6">
85
- </div>
86
- </div>
87
-
88
-
89
- <div class="row" v-show="$parent.$parent.criteriaShow">
90
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
91
- <label class="font_normal_body" style="width: 40%">地&emsp;&emsp;址</label>
92
- <input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
93
- condition="tswo.f_address like '%{}%'"
94
- :size="model.f_address ? model.f_address.length : 4">
95
- </div>
96
- <div v-show="false" class="col-sm-3 form-group form-input-group" style="width: 20%">
97
- <label class="font_normal_body" style="width: 40%">接单站点</label>
98
- <input type="text" class="input_search" v-model="model.f_outlets" placeholder='接单站点'
99
- condition="tswo.f_outlets like '%{}%'"
100
- :size="model.f_outlets ? model.f_outlets.length : 6">
101
- </div>
102
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
103
- <label class="font_normal_body" style="width: 40%">完成时间</label>
104
- <datepicker placeholder="维修完成时间"
105
- :value.sync="model.f_date_start"
106
- v-model="model.f_date_start"
107
- :format="'yyyy-MM-dd 00:00:00'"
108
- condition="f_date > '{}'"
109
- ></datepicker>
110
- </div>
111
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
112
- <label class="font_normal_body" style="width: 40%">完成时间</label>
113
- <datepicker placeholder="维修完成时间"
114
- :value.sync="model.f_date_end"
115
- v-model="model.f_date_end"
116
- :format="'yyyy-MM-dd 23:59:59'"
117
- condition="f_date < '{}'"
118
- ></datepicker>
119
- </div>
120
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
121
- <label class="font_normal_body" style="width: 40%">故障明细</label>
122
- <v-select :value.sync="model.f_failure" v-model='model.f_failure'
123
- :value-single="true"
124
- :options='$parent.$parent.faultdetails' placeholder='故障明细'
125
- close-on-select
126
- condition="tswo.failure like '%{}%'"></v-select>
127
- </div>
128
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
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">
133
- </div>
134
- </div>
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
- <!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
147
- <!-- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;员</label>-->
148
- <!-- <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单员'-->
149
- <!-- condition="tswo.f_order_man like '%{}%'"-->
150
- <!-- :size="model.f_order_man ? model.f_order_man.length : 6">-->
151
- <!-- </div>-->
152
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
153
- <label class="font_normal_body" style="width: 40%">工单来源</label>
154
- <v-select :value.sync="model.f_source" v-model='model.f_source'
155
- :value-single="true"
156
- :options='$parent.$parent.sources' placeholder='工单来源'
157
- close-on-select
158
- condition="tswo.f_source = '{}'"></v-select>
159
- </div>
160
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
161
- <label class="font_normal_body" style="width: 40%">工单状态</label>
162
- <v-select :value.sync="model.defname" v-model='model.defname'
163
- :value-single="true"
164
- :options='$parent.$parent.defnames' placeholder='工单状态'
165
- condition="sa.defname = '{}'"
166
- close-on-select></v-select>
167
- </div>
168
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
169
- <label class="font_normal_body" style="width: 40%" >报修类型</label>
170
- <v-select :value.sync="model.f_repairtype" :value-single="true" v-model="model.f_repairtype"
171
- :options='$parent.$parent.repairstypes' placeholder='报修类型'
172
- condition="f_repairtype like '%{}%'"
173
- close-on-select>
174
- </v-select>
175
- </div>
176
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
177
- <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 '%{}%' ">
180
- </div>
181
- </div>
182
- </div>
183
- </criteria>
184
- <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
185
- <template partial='head'>
186
- <tr>
187
- <th>
188
- <nobr>序号</nobr>
189
- </th>
190
- <th>
191
- <nobr>用户编号</nobr>
192
- </th>
193
- <th>
194
- <nobr>工单类型</nobr>
195
- </th>
196
- <!--<th><nobr>报修类型</nobr></th>-->
197
- <th>
198
- <nobr>工单编号</nobr>
199
- </th>
200
- <th>
201
- <nobr>派单时间</nobr>
202
- </th>
203
- <th>
204
- <nobr>客户信息</nobr>
205
- </th>
206
- <th>
207
- <nobr>小区</nobr>
208
- </th>
209
- <th>
210
- <nobr>联系电话</nobr>
211
- </th>
212
- <th>
213
- <nobr>故障明细</nobr>
214
- </th>
215
- <th>
216
- <nobr>派单备注</nobr>
217
- </th>
218
- <th>
219
- <nobr>工单完成备注</nobr>
220
- </th>
221
- <th>
222
- <nobr>工单状态</nobr>
223
- </th>
224
- <th>
225
- <nobr>派单员</nobr>
226
- </th>
227
- <th>
228
- <nobr>维修员</nobr>
229
- </th>
230
- <th>
231
- <nobr>上传时间</nobr>
232
- </th>
233
- <th>
234
- <nobr>到达时间</nobr>
235
- </th>
236
- <th>
237
- <nobr>离开时间</nobr>
238
- </th>
239
- <th>
240
- <nobr>工单结果</nobr>
241
- </th>
242
- </tr>
243
- </template>
244
- <template partial='body'>
245
- <td style="text-align: center;">
246
- <nobr>{{ $index + 1 }}</nobr>
247
- </td>
248
- <td style="text-align: center;">
249
- <nobr>{{ row.f_userinfo_code }}</nobr>
250
- </td>
251
- <td style="text-align: center;">
252
- <nobr>{{ row.f_workorder_type }}</nobr>
253
- </td>
254
- <td style="text-align: center;">
255
- <nobr>{{ row.f_service_id }}</nobr>
256
- </td>
257
- <td style="text-align: center;">
258
- <nobr>{{ row.f_created_date }}</nobr>
259
- </td>
260
- <td style="text-align: center;" >
261
- <nobr>
262
- {{ row.f_user_name }}&nbsp;&nbsp;&nbsp;{{ row.f_address }}&nbsp;&nbsp;&nbsp;
263
- </nobr>
264
- </td>
265
- <td style="text-align: center;">
266
- <nobr>{{ row.f_residential_area }}</nobr>
267
- </td>
268
- <td style="text-align: center;">
269
- <nobr>{{ row.f_contact_phone }}</nobr>
270
- </td>
271
- <td style="text-align: center;">
272
- <nobr>{{ $parent.$parent.$parent.trouble(row.failure) }}</nobr>
273
- </td>
274
- <td style="text-align: center;">
275
- <nobr>{{ row.f_remarks }}</nobr>
276
- </td>
277
- <td style="text-align: center;">
278
- <nobr>{{ row.f_remar }}</nobr>
279
- </td>
280
- <td style="text-align: center;">
281
- <nobr>
282
- <!-- row.defname ?row.defname: (row.f_state === '撤销' ? '撤销' : '完成')-->
283
- {{ row.f_state ?row.f_state:(row.defname ?row.defname:'完成')}}
284
- </nobr>
285
- </td>
286
- <td style="text-align: center;">
287
- <nobr>{{ row.f_single_man }}</nobr>
288
- </td>
289
- <td style="text-align: center;">
290
- <nobr>{{ row.f_order_man }} {{ row.f_repairman_phone }}</nobr>
291
- </td>
292
- <td style="text-align: center;">
293
- <nobr>{{ row.f_date }}</nobr>
294
- </td>
295
- <td style="text-align: center;">
296
- <nobr>{{ row.f_date_come }}</nobr>
297
- </td>
298
- <td style="text-align: center;">
299
- <nobr>{{ row.f_date_leave }}</nobr>
300
- </td>
301
- <td style="text-align: center;">
302
- <nobr>{{ row.f_result_status }}</nobr>
303
- </td>
304
- </template>
305
- </data-grid>
306
- </criteria-paged>
307
- </div>
308
- <!--打印-->
309
- <modal :show.sync="printshow" v-ref:modal backdrop="false">
310
- <header slot="modal-header" class="modal-header text-center">
311
- <h4 class="modal-title">打印列选择</h4>
312
- <input type="checkbox" class="" id="f_generations" v-model="all">
313
- <label for="f_generations" class="font-size">全选</label>
314
- </header>
315
- <article slot="modal-body">
316
- <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
317
- <div class="col-sm-3" v-for="f in fields">
318
- <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
319
- <label :for="'water-owe-details-'+$index" class="font-size">{{ f }}</label>
320
- </div>
321
- </div>
322
- </article>
323
- <footer slot="modal-footer" class="modal-footer">
324
- <center>
325
- <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
326
- <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
327
- <print-table :model='model' v-show="false" v-ref:print
328
- :top='40' :left='60' :right='40' :bottom='60'
329
- :thead="thead" :tfoot='tfoot' :attach="yangsen"
330
- :fields="modelval">
331
- </print-table>
332
- </center>
333
- </footer>
334
- </modal>
335
- </div>
336
- <modal :show.sync="showVisit" v-ref:modal backdrop="false">
337
- <header slot="modal-header" class="modal-header">
338
- </header>
339
- <article slot="modal-body" class="modal-body">
340
- <visit-info v-if="showVisit" :row="visitrow" :phone="wavflie"
341
- @show-obj="watchShow"></visit-info>
342
- </article>
343
- <footer slot="modal-footer" class="modal-footer">
344
- </footer>
345
- </modal>
346
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
347
- <header slot="modal-header" class="modal-header">
348
- 在线抢修照片
349
- </header>
350
- <article slot="modal-body" class="modal-body">
351
- <div class="from-group">
352
- <img-self :src="imgfilename" width="500" height="500"></img-self>
353
- </div>
354
- </article>
355
- <footer slot="modal-footer" class="modal-footer">
356
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
357
- </footer>
358
- </modal>
359
- </template>
360
-
361
- <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: '',
379
-
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
426
- },
427
- sum: 0,
428
- maintenance: [],
429
-
430
- serviceId: '',
431
-
432
- defname: {
433
- type: String
434
- },
435
- systemshow: {
436
- type: Boolean,
437
- default: false
438
- }
439
- },
440
- ready () {
441
-
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
488
- }
489
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
490
- + ' ' + hour + seperator2 + min
491
- + seperator2 + second
492
- return currentdate
493
- },
494
- watchShow (val) {
495
- this.visitrow = {}
496
- this.showVisit = val
497
- this.selfSearch()
498
- },
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'
517
- }
518
- return ''
519
- },
520
-
521
- search (args) {
522
-
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
- }
528
-
529
- this.searchData.condition = args.condition
530
- return this.model.search(args.condition, args.model)
531
- },
532
- selfSearch () {
533
- // 取消编辑状态
534
- let condition = '1=1'
535
-
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
- },
544
-
545
- // 发送数据给业务逻辑,并刷新界面
546
-
547
- // 是否可以退回
548
-
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":""}]
552
-
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+=","
561
- }
562
- }
563
-
564
- }else{
565
- failureall+=failure[i].f_failure_type
566
- }
567
- if (i+1!=failure.length){
568
- failureall+=';'
569
- }
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()
581
- },
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>'
588
- }
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
- },
635
- getfield () {
636
- let data = {}
637
- this.bodyData.forEach((value, index) => {
638
- data[this.bodyData[index]] = this.headData[index]
639
- })
640
- return data
641
- }
642
- },
643
- components: {
644
- 'delay-reply': DelayReply
645
- }
646
- }
647
- </script>