telephone-clients 4.0.0-1-88 → 4.0.0-1-90

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 (32) hide show
  1. package/package.json +2 -2
  2. package/src/components/pc/MaintenanceWorker.vue +152 -0
  3. package/src/components/pc/NewRepairPaper.vue +704 -704
  4. package/src/components/pc/NewRepairTablePaper.vue +442 -442
  5. package/src/components/pc/WorkHistory.vue +650 -650
  6. package/src/components/pc/WorkListNew.vue +838 -838
  7. package/src/components/sendsingle/onlinecharge.vue +424 -424
  8. package/src/components/workorder/ChangeMeterPageNew.vue +663 -663
  9. package/src/components/workorder/ChangeMeterUserInfo.vue +130 -130
  10. package/src/components/workorder/RepairFirstV.vue +736 -736
  11. package/src/components/workorder/RepairInfo.vue +178 -178
  12. package/src/components/workorder/RepairOrderT.vue +713 -713
  13. package/src/components/workorder/oldMeterPage.vue +104 -104
  14. package/src/components/workorder/repairFirstTable.vue +715 -715
  15. package/src/filiale/jinhong/android/FaultAll.vue +936 -936
  16. package/src/filiale/jinhong/android/ZHihuanFirst.vue +540 -540
  17. package/src/filiale/jinhong/pc/WorkListAllNew.vue +884 -884
  18. package/src/filiale/jinhong/telephone.js +10 -10
  19. package/src/filiale/jinhong/telephoneAndroid.js +13 -13
  20. package/src/filiale/meihekou/android/Othercharge.vue +454 -454
  21. package/src/filiale/meihekou/android/PhoneStandWorkNew.vue +692 -692
  22. package/src/filiale/meihekou/android/ServiceOnlineQuery.vue +477 -477
  23. package/src/filiale/meihekou/pc/WorkListAllNew.vue +925 -901
  24. package/src/filiale/meihekou/pc/WorkListNew.vue +1103 -1049
  25. package/src/filiale/meihekou/telephoneAndroid.js +26 -26
  26. package/src/filiale/xinjiangdexin/telephone.js +16 -16
  27. package/src/filiale/xinliansihui/android/FaultAll.vue +923 -923
  28. package/src/filiale/xinliansihui/android/RepairFirstV.vue +734 -734
  29. package/src/filiale/xinliansihui/android/RepairOrderT.vue +713 -713
  30. package/src/main.js +1 -1
  31. package/src/telephone-android.js +425 -425
  32. package/src/telephone.js +799 -796
@@ -1,838 +1,838 @@
1
- <template>
2
- <div class="flex">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
8
- <label class="font_normal_body" style="width: 40%">工单编号</label>
9
- <input type="text" class="input_search" v-model="model.f_service_id" placeholder='工单编号'
10
- condition="tswo.f_service_id like '%{}%'"
11
- :size="model.f_service_id ? model.f_service_id.length : 6"
12
- >
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
- <input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='用户编号'
17
- condition="tswo.f_userinfo_code like '%{}%'"
18
- :size="model.f_userinfo_code ? model.f_userinfo_code.length : 6"
19
- >
20
- </div>
21
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
22
- <label class="font_normal_body" style="width: 40%">用户姓名</label>
23
- <input type="text" class="input_search" v-model="model.f_user_name" placeholder='用户姓名'
24
- condition="tswo.f_user_name like '%{}%'"
25
- :size="model.f_user_name ? model.f_user_name.length : 6"
26
- >
27
- </div>
28
- <div class="form-group col-sm-6 button-range" style="margin-right: 10px">
29
-
30
- <button class="button_search button_spacing" @click="search(),$dispatch('search')"
31
- style="margin-right: 9px">查询
32
- </button>
33
- <button class="button_search button_spacing" @click="$parent.$parent.repairSendAll()"
34
- style="margin-right: 9px">批量下发
35
- </button>
36
-
37
- <export-excel-tel
38
- :data="$parent.$parent.searchData"
39
- :field="$parent.$parent.excelHeaders"
40
- sqlurl="af-telephone/rs/logic/telephoneExport" sql-name="operatorService" template-name='工单导出'
41
- :choose-col="true"></export-excel-tel>
42
- <div style="float: right;" class="button_spacing"
43
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
44
- @click="$parent.$parent.hidden()"></div>
45
-
46
- </div>
47
- </div>
48
- <div class="row" v-show="$parent.$parent.criteriaShow">
49
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
50
- <label class="font_normal_body" style="width: 40%">来电电话</label>
51
- <input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
52
- condition="tswo.f_phone like '%{}%'"
53
- :size="model.f_phone ? model.f_phone.length : 6"
54
- >
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
- <input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
59
- condition="tswo.f_contact_phone = '{}'"
60
- :size="model.f_contact_phone ? model.f_contact_phone.length : 6"
61
- >
62
- </div>
63
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
64
- <label class="font_normal_body" style="width: 40%">地&emsp;&emsp;址</label>
65
- <input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
66
- condition="tswo.f_address like '%{}%'"
67
- :size="model.f_address ? model.f_address.length : 6"
68
- >
69
- </div>
70
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
71
- <label class="font_normal_body" style="width: 40%">受&ensp;理&ensp;人</label>
72
- <input type="text" class="input_search" v-model="model.f_attendant" placeholder='受理人'
73
- condition="tswo.f_attendant like '%{}%'"
74
- :size="model.f_attendant ? model.f_attendant.length : 6"
75
- >
76
- </div>
77
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
78
- <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;人</label>
79
- <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单人'
80
- condition="tswo.f_order_man like '%{}%'"
81
- :size="model.f_order_man ? model.f_order_man.length : 6"
82
- >
83
- </div>
84
- </div>
85
- <div class="row" v-show="$parent.$parent.criteriaShow">
86
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
87
- <label class=" font_normal_body" for="f_workorder_type" style="width: 40%">工单类型</label>
88
- <v-select id="f_workorder_type" :value.sync="model.f_workorder_type" :value-single="true"
89
- v-model="model.f_workorder_type"
90
- :options='$parent.$parent.serviceorders' placeholder='工单类型'
91
- condition="tswo.f_workorder_type like '%{}%'"
92
- close-on-select>
93
- </v-select>
94
- </div>
95
-
96
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
97
- <label class="font_normal_body" style="width: 40%">派单时间</label>
98
- <datepicker placeholder="起始派单时间"
99
- :value.sync="model.f_created_date"
100
- v-model="model.f_created_date"
101
- :format="'yyyy-MM-dd 00:00:00'"
102
- condition="tswo.f_created_date > '{}'"
103
- ></datepicker>
104
- </div>
105
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
106
- <label class="font_normal_body" style="width: 40%">派单时间</label>
107
- <datepicker placeholder="终止派单时间"
108
- :value.sync="model.f_finish_date"
109
- v-model="model.f_finish_date"
110
- :format="'yyyy-MM-dd 23:59:59'"
111
- condition="tswo.f_created_date < '{}'"
112
- ></datepicker>
113
- </div>
114
- <div class="col-sm-2 form-group form-input-group" style="float:right;width: 15%;margin-left: 20px">
115
- <input type="radio" id="one" value="wait" style="float: left" v-model="$parent.$parent.picked">
116
- <label for="one" style="margin-top: 10px;float: left">待办</label>
117
- <input type="radio" id="two" value="done" style="float: left" v-model="$parent.$parent.picked">
118
- <label for="two" style="margin-top: 10px;float: left">已办</label>
119
- </div>
120
-
121
- </div>
122
- <div class="row" v-show="$parent.$parent.criteriaShow">
123
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
124
- <label class="font_normal_body" style="width: 40%">故障明细</label>
125
- <input type="text" class="input_search" v-model="model.f_failure" placeholder='故障明细'
126
- condition="tswo.failure like '%{}%'"
127
- :size="model.f_failure ? model.f_failure.length : 6"
128
- >
129
- </div>
130
- <div class="col-sm-3 form-group form-input-group" style="width: 20%">
131
- <label class="font_normal_body" style="width: 40%">工单备注</label>
132
- <input type="text" class="input_search" v-model="model.fo_remarks" placeholder='工单备注'
133
- condition="tswo.f_remarks like '%{}%'"
134
- :size="model.fo_remarks ? model.fo_remarks.length : 6"
135
- >
136
- </div>
137
- </div>
138
-
139
-
140
- </div>
141
- </criteria>
142
- <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy"
143
- :classname="'table tablenew table-bordered table-striped table-hover'">
144
- <template partial='head'>
145
- <tr>
146
- <th>
147
- <nobr><input type="checkbox" v-model="$parent.$parent.$parent.checkAll"/> 全选</nobr>
148
- </th>
149
-
150
- <th><nobr>
151
- 工单类型
152
- </nobr></th>
153
- <th><nobr>
154
- 工单编号
155
- </nobr></th>
156
- <th><nobr>
157
- 派单时间
158
- </nobr></th>
159
- <th><nobr>
160
- 用户信息
161
- </nobr></th>
162
- <th><nobr>
163
- 来电电话
164
- </nobr></th>
165
- <th><nobr>
166
- 工单状态
167
- </nobr></th>
168
- <th><nobr>
169
- 报修内容
170
- </nobr></th>
171
- <th><nobr>
172
- 故障明细
173
- </nobr></th>
174
- <th><nobr>
175
- 工单备注
176
- </nobr></th>
177
- <th><nobr>
178
- 操作
179
- </nobr></th>
180
- </tr>
181
- </template>
182
- <template partial='body'>
183
- <td style="text-align: center;white-space:nowrap;"><input class="rowCheckbox" type="checkbox"
184
- v-if="row.defname === '站点接单'"
185
- onClick="event.cancelBubble = true"
186
- :checked="$parent.$parent.$parent.isChecked(row.id)"
187
- @change="$parent.$parent.$parent.setCheckes(row)"/><nobr></nobr>
188
- </td>
189
-
190
- <td
191
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
192
- {{ row.f_workorder_type }}<span style="color: red" v-if="row.f_remindersign==='true'">(催单)</span>
193
- <nobr><span style="color: red" v-if="row.f_state==='打回'">(打回)</span>
194
- </nobr></td>
195
- <td
196
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
197
- <nobr>{{ row.f_service_id }}</nobr>
198
- </td>
199
- <td
200
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
201
- <nobr>{{ row.f_created_date }}</nobr>
202
- </td>
203
- <td
204
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
205
- <nobr> {{ row.f_user_name }}&nbsp;&nbsp;&nbsp;{{ row.f_address }}&nbsp;&nbsp;&nbsp;{{ row.f_contact_name }}</nobr>
206
- </td>
207
- <td
208
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
209
- <nobr>{{ row.f_phone }}</nobr>
210
- </td>
211
- <td
212
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
213
- <nobr>{{ row.defname }}</nobr>
214
- </td>
215
- <td
216
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
217
- <nobr>{{ row.f_repairtype + ':' + row.f_json}}</nobr>
218
- </td>
219
- <td
220
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
221
- <nobr>{{ $parent.$parent.$parent.trouble(row.failure) }}</nobr>
222
- </td>
223
- <td
224
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
225
- <nobr>{{ row.f_remarks}}</nobr>
226
- </td>
227
- <td
228
- :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''"
229
- style="text-align: center;"><nobr>
230
- <div
231
- v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type != '投诉单'&&row.f_workorder_type != '咨询单'">
232
- <button type="button" name="button" class="button_spacing button_search-2"
233
- @click.stop="$parent.$parent.$parent.proc(row, '结案')">结案
234
- </button>
235
- <button type="button" name="button" class="button_spacing button_search-2"
236
- @click.stop="$parent.$parent.$parent.proc(row, '工单退回')">退回
237
- </button>
238
- <button type="button" name="button" class="button_spacing button_search-2"
239
- @click.stop="$parent.$parent.$parent.proc(row, '工单下发')">下发
240
- </button>
241
- <div v-if="row.f_single_path">
242
- <button type="button" name="button" class="button_spacing button_search-2"
243
- @click.stop="$parent.$parent.$parent.showpicture(row)">抢修图片
244
- </button>
245
- </div>
246
- </div>
247
- <div
248
- v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '投诉单'">
249
- <button type="button" name="button" class="button_spacing button_search-2"
250
- @click.stop="$parent.$parent.$parent.complanReview(row, '投诉处理')">
251
- 投诉处理
252
- </button>
253
- </div>
254
-
255
- <div
256
- v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '咨询单'">
257
- <button type="button" name="button" class="button_spacing button_search-2"
258
- @click.stop="$parent.$parent.$parent.seekworkReview(row, '咨询处理')">
259
- 咨询处理
260
- </button>
261
- </div>
262
- </nobr></td>
263
- </template>
264
- </data-grid>
265
- </criteria-paged>
266
- </div>
267
- <modal :show.sync="editflag==='工单退回'||editflag==='工单下发'" v-ref:modal backdrop="false">
268
- <header slot="modal-header" class="modal-header">
269
- {{ editflag }}
270
- </header>
271
- <article slot="modal-body" class="modal-body">
272
- <div v-if="editflag==='工单退回'" class="form-inline">
273
- <site-back :row="selectone" @success="selfSearch()" @cancel='editflag = null'></site-back>
274
- </div>
275
- <div v-if="editflag==='工单下发'">
276
- <site-send :row="selectone" :rowlist="serlist" @success="selfSearch()" @cancel="editflag = null"></site-send>
277
- </div>
278
- </article>
279
- <footer slot="modal-footer" class="modal-footer" v-show="false">
280
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
281
- </footer>
282
- </modal>
283
- <modal :show.sync="editflag==='结案'" v-ref:modalCase backdrop="false">
284
- <header slot="modal-header" class="modal-header">
285
- 工单结案
286
- </header>
287
- <article slot="modal-body" class="modal-body">
288
- <div class="col-sm-12 form-group">
289
- <label class="control-label col-sm-2">结案备注</label>
290
- <div class="col-sm-9">
291
- <input class="form-control" type="text" v-model="f_caseremarks"/>
292
- </div>
293
- </div>
294
- </article>
295
- <footer slot="modal-footer" class="modal-footer">
296
- <button type="button" class="btn btn-success" @click='caseok'>确定</button>
297
- <button type="button" class="btn btn-success" @click='caseclose'>关闭</button>
298
- </footer>
299
- </modal>
300
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
301
- <header slot="modal-header" class="modal-header">
302
- 在线抢修照片
303
- </header>
304
- <article slot="modal-body" class="modal-body">
305
- <div class="from-group" style="display: flex">
306
- <img-self :src="'rs/image/file/'+imgfilename" width="220" height="300"></img-self>
307
- <img-self v-if="imgfilename1" :src="'rs/image/file/'+imgfilename1" style="margin-left: 10px" width="220"
308
- height="300"></img-self>
309
- <img-self v-if="imgfilename2" :src="'rs/image/file/'+imgfilename2" style="margin-left: 10px" width="220"
310
- height="300"></img-self>
311
- </div>
312
- </article>
313
- <footer slot="modal-footer" class="modal-footer">
314
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
315
- </footer>
316
- </modal>
317
- <!-- 投诉单处理弹窗 -->
318
- <modal :show.sync="isComplanReview" v-ref:complanModal backdrop="false">
319
- <header slot="modal-header" class="modal-header">
320
- 投诉审核
321
- </header>
322
- <article slot="modal-body" class="modal-body">
323
- <div class="select-overspread form-horizontal auto workOrderInfo">
324
- <div class="row">
325
- <div class="col-sm-12 form-group form-input-group">
326
- <label class="font_normal_body" style="width: 10%">工单编号</label>
327
- <h5 style="padding: 0px">{{ showModalComplan.f_service_id }}</h5>
328
- </div>
329
- <div class="col-sm-12 form-input-group">
330
- <label class="font_normal_body" style="width: 10%">投诉内容</label>
331
- <textarea name="name" rows="3" v-model="showModalComplan.f_content"
332
- class="form-control ver-textarea" id="f_content" name="f_content" readonly="readonly"></textarea>
333
- </div>
334
- <div class="col-sm-4 form-group form-input-group">
335
- <label class="font_normal_body" style="width: 30%">来电电话</label>
336
- <input type="text" name="" v-model='showModalComplan.f_phone'
337
- class="form-control" readonly="readonly">
338
- </div>
339
- <div class="col-sm-4 form-group form-input-group">
340
- <label class="font_normal_body" style="width: 30%">联系人</label>
341
- <input type="text" name="" v-model='showModalComplan.f_user_name'
342
- class="form-control" readonly="readonly">
343
- </div>
344
- <div class="col-sm-4 form-group form-input-group">
345
- <label class="font_normal_body" style="width: 30%">联系电话</label>
346
- <input type="text" name="" v-model='showModalComplan.f_contact_phone'
347
- class="form-control" readonly="readonly">
348
- </div>
349
-
350
- <div class="col-sm-12 form-input-group">
351
- <label class="font_normal_body" style="width: 10%">描述</label>
352
- <textarea name="name" rows="3" v-model="showModalComplan.f_remarks"
353
- class="form-control ver-textarea" readonly="readonly"></textarea>
354
- </div>
355
- <div class="col-sm-12 form-input-group">
356
- <label class="font_normal_body" style="width: 10%">处理结果</label>
357
- <textarea name="name" rows="4" v-model="f_complaint_results"
358
- class="form-control ver-textarea"></textarea>
359
- </div>
360
- </div>
361
- </div>
362
- </article>
363
- <footer slot="modal-footer" class="modal-footer">
364
- <button type="button" name="button"
365
- class="button_search button_spacing" @click='inputCompainInfo()'>提交
366
- </button>
367
- <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
368
- class="button_spacing button_search" @click='isComplanReview=false;showModalComplan = {}'>取消
369
- </button>
370
- </footer>
371
- </modal>
372
- <!-- 咨询处理弹窗 -->
373
- <modal :show.sync="isSeekWork" v-ref:seekWorkModel backdrop="false">
374
- <header slot="modal-header" class="modal-header">
375
- 咨询审核
376
- </header>
377
- <article slot="modal-body" class="modal-body">
378
- <div class="select-overspread form-horizontal auto workOrderInfo">
379
- <div class="row">
380
- <div class="col-sm-12 form-group form-input-group">
381
- <label class="font_normal_body" style="width: 10%">工单编号</label>
382
- <h5 style="padding: 0px">{{ showModalSeekWork.f_service_id }}</h5>
383
- </div>
384
- <div class="col-sm-12 form-input-group">
385
- <label class="font_normal_body" style="width: 10%">咨询内容</label>
386
- <textarea name="name" rows="3" v-model="showModalSeekWork.f_content"
387
- class="form-control ver-textarea" id="f_content1" name="f_content" readonly="readonly"></textarea>
388
- </div>
389
- <div class="col-sm-4 form-group form-input-group">
390
- <label class="font_normal_body" style="width: 30%">来电电话</label>
391
- <input type="text" name="" v-model='showModalSeekWork.f_phone'
392
- class="form-control" readonly="readonly">
393
- </div>
394
- <div class="col-sm-4 form-group form-input-group">
395
- <label class="font_normal_body" style="width: 30%">联系人</label>
396
- <input type="text" name="" v-model='showModalSeekWork.f_user_name'
397
- class="form-control" readonly="readonly">
398
- </div>
399
- <div class="col-sm-4 form-group form-input-group">
400
- <label class="font_normal_body" style="width: 30%">联系电话</label>
401
- <input type="text" name="" v-model='showModalSeekWork.f_contact_phone'
402
- class="form-control" readonly="readonly">
403
- </div>
404
-
405
- <div class="col-sm-12 form-input-group">
406
- <label class="font_normal_body" style="width: 10%">描述</label>
407
- <textarea name="name" rows="3" v-model="showModalSeekWork.f_remarks"
408
- class="form-control ver-textarea" readonly="readonly"></textarea>
409
- </div>
410
- <div class="col-sm-12 form-input-group">
411
- <label class="font_normal_body" style="width: 10%">处理结果</label>
412
- <textarea name="name" rows="4" v-model="f_complaint_seekwork_results"
413
- class="form-control ver-textarea"></textarea>
414
- </div>
415
- </div>
416
- </div>
417
- </article>
418
- <footer slot="modal-footer" class="modal-footer">
419
-
420
- <button type="button" name="button"
421
- class="button_search button_spacing" @click='inputSeekWorkInfo()'>提交
422
- </button>
423
- <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
424
- class="button_spacing button_search" @click='isSeekWork=false;showModalSeekWork = {}'>取消
425
- </button>
426
- </footer>
427
- </modal>
428
- </template>
429
-
430
- <script>
431
- import {PagedList, HttpResetClass} from 'vue-client'
432
-
433
- export default {
434
- title: '工单列表',
435
- data() {
436
- return {
437
- // 结案备注
438
- f_caseremarks: '',
439
- criteriaShow: false,
440
- f_complaint_results: '',
441
- serlist: [],
442
- checkes: [],
443
- remakes: null,
444
- editflag: null,
445
- selectone: '',
446
- model: new PagedList('af-telephone/rs/sql/operatorService', 20),
447
- row: null,
448
- orderMan: '',
449
- checkAll: false,
450
- msgs: [],
451
- // repairstypes : [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')],
452
- service: Object,
453
- pendingCount: 0,
454
- imgfilename: '',
455
- imgfilename1: '',
456
- imgfilename2: '',
457
- select: {
458
- defname: ''
459
- },
460
- rowlist: [],
461
- // 待办/已办选择
462
- picked: 'wait',
463
- imgshow: false,
464
- isComplanReview: false,
465
- // defname:this.$appdata.getParam('工单状态'),
466
- searchData: {
467
- condition: {
468
- condition: '1=1',
469
- sign: '1=1'
470
- },
471
- userid: this.$login.f.name
472
- },
473
- excelHeaders: {
474
- 'f_workorder_type': '工单类型',
475
- 'f_service_id': '工单编号',
476
- 'f_created_date': '派单时间',
477
- 'f_user_name': '用户姓名',
478
- 'f_address': '用户地址',
479
- 'f_contact_name': '联系人',
480
- 'f_phone': '来电电话',
481
- 'f_repairtype' : '报修类型',
482
- 'f_json': '故障明细',
483
- 'f_remarks': '工单备注'
484
- },
485
- //投诉单在modal框显示的信息
486
- showModalComplan: {
487
- serviceacitivity: [{f_complaint_results: ''}]
488
- },
489
- isSeekWork: false,
490
- /*咨询单信息*/
491
- showModalSeekWork: {
492
- serviceacitivity: [{f_complaint_results: ''}]
493
- },
494
- /*咨询单结果*/
495
- f_complaint_seekwork_results: ''
496
- }
497
-
498
- },
499
- props: {
500
- user: {
501
- type: Object
502
- },
503
- maintenance: [],
504
- // serviceId : [String, Number]
505
- serviceId: '',
506
- // 工单状态 工单位置
507
- defname: {
508
- type: String
509
- }
510
- },
511
- ready() {
512
- // this.getEmp()
513
- let messageTime = 60
514
- const time = this.$appdata.getSingleValue("站点提醒时间")
515
- if (time && time > 60) {
516
- messageTime = time
517
- }
518
- setInterval(() => {
519
- const data = {
520
- condition: {
521
- condition: '1=1',
522
- sign: '1=1'
523
- },
524
- userid: this.$login.f.name
525
- }
526
- new HttpResetClass().load('post', 'af-telephone/rs/sql/operatorService', {data: data}, {
527
- resolveMsg: null,
528
- rejectMsg: null
529
- }).then(res => {
530
- if (res.data && res.data.length > 0) {
531
- this.$showMessage("您有" + res.data.length + "条工单待处理,请及时处理")
532
- }
533
- })
534
- }, messageTime * 1000)
535
- this.selfSearch().then(() => {
536
- this.$emit('ready')
537
- }).catch((error) => {
538
- this.$emit('error', error)
539
- })
540
- // 开启轮询查询是否由自己的工单
541
- // this.pollQuery()
542
- },
543
- watch: {
544
- 'serviceId'() {
545
- this.selfSearch()
546
- },
547
- // 待办/已办选择变化后,根据选择内容,重新设置path查询路径,进行查询
548
- 'picked'() {
549
- this.serlist = []
550
- if (this.picked) {
551
- if (this.picked === 'wait') {
552
- this.model.url = 'af-telephone/rs/sql/operatorService'
553
- } else if (this.picked === 'done') {
554
- this.model.url = 'af-telephone/rs/sql/doneService'
555
- }
556
- this.model.rows = []
557
- this.selfSearch()
558
- }
559
- }
560
- },
561
- methods: {
562
- trouble (val) {
563
- let failureall=''
564
- // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
565
-
566
- let failure = JSON.parse(val)
567
- for (let i = 0; i <failure.length; i++) {
568
- if (failure[i].failurecase.length>0){
569
- failureall+=failure[i].f_failure_type+":"
570
- for (let j = 0; j < failure[i].failurecase.length; j++) {
571
- failureall+=failure[i].failurecase[j]
572
- if (j+1!=failure[i].failurecase.length){
573
- failureall+=","
574
- }
575
- }
576
-
577
- }else{
578
- failureall+=failure[i].f_failure_type
579
- }
580
- if (i+1!=failure.length){
581
- failureall+=';'
582
- }
583
- }
584
- return failureall
585
- },
586
- // 结案确认
587
- caseok() {
588
- // 工单结案操作
589
- let data = {
590
- model: this.selectone,
591
- loginUser: {name: this.$login.f.name, ename: this.$login.f.ename},
592
- f_caseremarks: this.f_caseremarks
593
- }
594
- this.$resetpost(`af-telephone/rs/logic/serviceCase`, data).then(() => {
595
- this.f_caseremarks = ''
596
- // 刷新界面
597
- this.selfSearch()
598
- })
599
- },
600
- // 结案返回
601
- caseclose() {
602
- this.f_caseremarks = ''
603
- this.editflag = null
604
- },
605
- repairSendAll() {
606
- //tag
607
- if (!this.$refs.paged.$refs.criteria.model.f_workorder_type) {
608
- this.$showMessage('必须选择工单类型后查询')
609
- return
610
- }
611
- this.selectone = {
612
- f_workorder_type: this.$refs.paged.$refs.criteria.model.f_workorder_type
613
- }
614
-
615
- if (this.checkAll) {
616
- //如果全选,根据条件去查询数据
617
- let data = {
618
- condition: this.model.params.condition,
619
- userid: this.$login.f.name
620
- }
621
- new HttpResetClass().load('post', 'af-telephone/rs/sql/operatorService', {data: data}, {
622
- resolveMsg: null,
623
- rejectMsg: null
624
- }).then(res => {
625
- const results = res.data
626
- this.rowlist = results.filter(result => {
627
- //tag)
628
- console.log("999", result, JSON.stringify(result).indexOf('站点接单') != -1)
629
- return JSON.stringify(result).indexOf('站点接单') != -1
630
- })
631
- console.log(this.rowlist)
632
- //tag
633
- this.serlist = JSON.parse(JSON.stringify(this.rowlist))
634
- this.editflag = '工单下发'
635
- })
636
-
637
- } else {
638
- if (this.rowlist.length === 0) {
639
- this.$showMessage('请选择工单')
640
- return
641
- }
642
- //不全选,去取数据
643
- this.serlist = JSON.parse(JSON.stringify(this.rowlist))
644
- console.log("752752", this.rowlist)
645
- this.editflag = '工单下发'
646
- }
647
- },
648
- isChecked(v) {
649
- // 如果全选,不在的按选中算,否则,在的按选中算
650
- if (this.checkAll) {
651
- return true
652
- } else {
653
- return this.rowlist.includes(v)
654
- }
655
- },
656
-
657
- setCheckes(row) {
658
- if (!this.checkAll) {
659
- let index = this.checkes.indexOf(row.id)
660
- if (index < 0) {
661
- this.checkes.push(row.id)
662
- this.rowlist.push(row)
663
- } else {
664
- this.checkes.splice(index, 1)
665
- this.rowlist.splice(this.rowlist.findIndex(res => {
666
- return res.id === row.id
667
- }), 1)
668
- }
669
- }
670
- },
671
- hidden() {
672
- this.criteriaShow = !this.criteriaShow
673
- },
674
- // 提交投诉单内容
675
- inputCompainInfo() {
676
- if (this.f_complaint_results != '') {
677
- this.showModalComplan.serviceacitivity[0].f_complaint_results = this.f_complaint_results
678
- this.$resetpost('af-telephone/rs/logic/saveComplaintResult', {
679
- showModalComplan: this.showModalComplan,
680
- loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
681
- }).then((res) => {
682
- this.isComplanReview = false
683
- this.showModalComplan = {}
684
- this.$refs.paged.$refs.criteria.search()
685
- })
686
- } else {
687
- //tag
688
- return this.$showAlert('请填写投诉单结果!', 'warning', 2000)
689
- }
690
-
691
- },
692
- //提交咨询单内容
693
- inputSeekWorkInfo() {
694
- if (this.f_complaint_seekwork_results != '') {
695
- this.showModalSeekWork.serviceacitivity[0].f_complaint_results = this.f_complaint_seekwork_results
696
- this.$resetpost('af-telephone/rs/logic/saveConsultResult', {
697
- model: this.showModalSeekWork,
698
- loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
699
- }).then((res) => {
700
- this.isSeekWork = false
701
- this.showModalSeekWork = {}
702
- this.f_complaint_seekwork_results = ''
703
- this.$refs.paged.$refs.criteria.search()
704
- })
705
- } else {
706
- //tag
707
- return this.$showAlert('请填写咨询单结果!', 'warning', 2000)
708
- }
709
- },
710
- imgclose() {
711
- this.imgshow = false
712
- },
713
- //检查是否为同一类型
714
- addInList(val) {
715
- if (!this.checkInList(val)) {
716
- this.serlist.push(val)
717
- //tag
718
- } else {
719
- var copyserlist = []
720
- for (var index in this.serlist) {
721
- if (this.serlist[index].f_service_id != val.f_service_id) {
722
- copyserlist.push(this.serlist[index])
723
- }
724
- }
725
- this.serlist = copyserlist
726
- //tag
727
- }
728
- },
729
- checkInList(val) {
730
- var checkstr = false
731
- this.serlist.forEach((item) => {
732
- if (item.f_service_id == val.f_service_id) {
733
- checkstr = true
734
- }
735
- })
736
- return checkstr
737
- },
738
- isInList(val) {
739
- var checkstr = false
740
- this.serlist.forEach((item) => {
741
- if (item.f_service_id == val.f_service_id) {
742
- checkstr = true
743
- }
744
- })
745
- return checkstr
746
- },
747
- proc(selectone, type) {
748
- this.editflag = type
749
- this.selectone = selectone
750
- },
751
- complanReview(itemVal, type) {
752
- //tag
753
- this.showModalComplan = itemVal
754
- this.showModalComplan.serviceacitivity = [
755
- {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
756
- this.showModalComplan.id_back = this.showModalComplan.id
757
- this.isComplanReview = true
758
- },
759
- seekworkReview(itemVal, type) {
760
- //tag
761
- this.showModalSeekWork = itemVal
762
- this.showModalSeekWork.serviceacitivity = [
763
- {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
764
- this.showModalSeekWork.id_back = this.showModalSeekWork.id
765
- this.isSeekWork = true
766
- },
767
- showpicture(val) {
768
- //tag
769
- //tag)
770
- this.imgshow = true
771
- this.imgfilename = val.f_single_path
772
- this.imgfilename1 = val.f_singlea_path
773
- this.imgfilename2 = val.f_singleb_path
774
- },
775
- search(args) {
776
- this.serlist = []
777
- this.checkes = []
778
- //tag
779
- let data = {}
780
- data.condition = this.$refs.paged.$refs.criteria.condition ? this.$refs.paged.$refs.criteria.condition : '1=1'
781
- data.sign = this.$refs.paged.$refs.criteria.select ? `defname = '${this.$refs.paged.$refs.criteria.select.defname[0]}'` : '1=1'
782
- data.condition += ` and tswo.f_filiale_id = '${this.$login.f.orgid}'`
783
- this.searchData.condition = data
784
- this.searchData = Object.assign(this.searchData, args.model)
785
- return this.model.search(data, args.model)
786
- },
787
- clearAllCheckboxes() {
788
- const checkboxes = document.querySelectorAll('.rowCheckbox');
789
- checkboxes.forEach(checkbox => {
790
- checkbox.checked = false;
791
- });
792
- },
793
- selfSearch() {
794
- this.clearAllCheckboxes()
795
- // 取消编辑状态
796
- this.serlist = []
797
- this.rowlist = []
798
- this.checkes = []
799
- this.editflag = null
800
-
801
- this.model.paramSource = {
802
- userid: '\'' + this.$login.f.name + '\''
803
- }
804
- //tag
805
- let data = {}
806
- data.condition = ` 1 = 1 and tswo.f_filiale_id = '${this.$login.f.orgid}'`
807
- data.sign = '1=1'
808
- return this.model.search(data)
809
- },
810
- },
811
- computed: {
812
- serviceorders() {
813
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
814
- },
815
- repairstypes() {
816
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')]
817
- },
818
- defname() {
819
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单状态')]
820
- }
821
-
822
- }
823
- }
824
- </script>
825
- <style scoped lang="less">
826
- .workOrderInfo {
827
- .row {
828
- div {
829
- margin-top: 10px;
830
-
831
- [readonly] {
832
- background-color: #eeeeee;
833
- }
834
- }
835
- }
836
- }
837
- </style>
838
-
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
8
+ <label class="font_normal_body" style="width: 40%">工单编号</label>
9
+ <input type="text" class="input_search" v-model="model.f_service_id" placeholder='工单编号'
10
+ condition="tswo.f_service_id like '%{}%'"
11
+ :size="model.f_service_id ? model.f_service_id.length : 6"
12
+ >
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
+ <input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='用户编号'
17
+ condition="tswo.f_userinfo_code like '%{}%'"
18
+ :size="model.f_userinfo_code ? model.f_userinfo_code.length : 6"
19
+ >
20
+ </div>
21
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
22
+ <label class="font_normal_body" style="width: 40%">用户姓名</label>
23
+ <input type="text" class="input_search" v-model="model.f_user_name" placeholder='用户姓名'
24
+ condition="tswo.f_user_name like '%{}%'"
25
+ :size="model.f_user_name ? model.f_user_name.length : 6"
26
+ >
27
+ </div>
28
+ <div class="form-group col-sm-6 button-range" style="margin-right: 10px">
29
+
30
+ <button class="button_search button_spacing" @click="search(),$dispatch('search')"
31
+ style="margin-right: 9px">查询
32
+ </button>
33
+ <button class="button_search button_spacing" @click="$parent.$parent.repairSendAll()"
34
+ style="margin-right: 9px">批量下发
35
+ </button>
36
+
37
+ <export-excel-tel
38
+ :data="$parent.$parent.searchData"
39
+ :field="$parent.$parent.excelHeaders"
40
+ sqlurl="af-telephone/rs/logic/telephoneExport" sql-name="operatorService" template-name='工单导出'
41
+ :choose-col="true"></export-excel-tel>
42
+ <div style="float: right;" class="button_spacing"
43
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
44
+ @click="$parent.$parent.hidden()"></div>
45
+
46
+ </div>
47
+ </div>
48
+ <div class="row" v-show="$parent.$parent.criteriaShow">
49
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
50
+ <label class="font_normal_body" style="width: 40%">来电电话</label>
51
+ <input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
52
+ condition="tswo.f_phone like '%{}%'"
53
+ :size="model.f_phone ? model.f_phone.length : 6"
54
+ >
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
+ <input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
59
+ condition="tswo.f_contact_phone = '{}'"
60
+ :size="model.f_contact_phone ? model.f_contact_phone.length : 6"
61
+ >
62
+ </div>
63
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
64
+ <label class="font_normal_body" style="width: 40%">地&emsp;&emsp;址</label>
65
+ <input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
66
+ condition="tswo.f_address like '%{}%'"
67
+ :size="model.f_address ? model.f_address.length : 6"
68
+ >
69
+ </div>
70
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
71
+ <label class="font_normal_body" style="width: 40%">受&ensp;理&ensp;人</label>
72
+ <input type="text" class="input_search" v-model="model.f_attendant" placeholder='受理人'
73
+ condition="tswo.f_attendant like '%{}%'"
74
+ :size="model.f_attendant ? model.f_attendant.length : 6"
75
+ >
76
+ </div>
77
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
78
+ <label class="font_normal_body" style="width: 40%">接&ensp;单&ensp;人</label>
79
+ <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单人'
80
+ condition="tswo.f_order_man like '%{}%'"
81
+ :size="model.f_order_man ? model.f_order_man.length : 6"
82
+ >
83
+ </div>
84
+ </div>
85
+ <div class="row" v-show="$parent.$parent.criteriaShow">
86
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
87
+ <label class=" font_normal_body" for="f_workorder_type" style="width: 40%">工单类型</label>
88
+ <v-select id="f_workorder_type" :value.sync="model.f_workorder_type" :value-single="true"
89
+ v-model="model.f_workorder_type"
90
+ :options='$parent.$parent.serviceorders' placeholder='工单类型'
91
+ condition="tswo.f_workorder_type like '%{}%'"
92
+ close-on-select>
93
+ </v-select>
94
+ </div>
95
+
96
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
97
+ <label class="font_normal_body" style="width: 40%">派单时间</label>
98
+ <datepicker placeholder="起始派单时间"
99
+ :value.sync="model.f_created_date"
100
+ v-model="model.f_created_date"
101
+ :format="'yyyy-MM-dd 00:00:00'"
102
+ condition="tswo.f_created_date > '{}'"
103
+ ></datepicker>
104
+ </div>
105
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
106
+ <label class="font_normal_body" style="width: 40%">派单时间</label>
107
+ <datepicker placeholder="终止派单时间"
108
+ :value.sync="model.f_finish_date"
109
+ v-model="model.f_finish_date"
110
+ :format="'yyyy-MM-dd 23:59:59'"
111
+ condition="tswo.f_created_date < '{}'"
112
+ ></datepicker>
113
+ </div>
114
+ <div class="col-sm-2 form-group form-input-group" style="float:right;width: 15%;margin-left: 20px">
115
+ <input type="radio" id="one" value="wait" style="float: left" v-model="$parent.$parent.picked">
116
+ <label for="one" style="margin-top: 10px;float: left">待办</label>
117
+ <input type="radio" id="two" value="done" style="float: left" v-model="$parent.$parent.picked">
118
+ <label for="two" style="margin-top: 10px;float: left">已办</label>
119
+ </div>
120
+
121
+ </div>
122
+ <div class="row" v-show="$parent.$parent.criteriaShow">
123
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
124
+ <label class="font_normal_body" style="width: 40%">故障明细</label>
125
+ <input type="text" class="input_search" v-model="model.f_failure" placeholder='故障明细'
126
+ condition="tswo.failure like '%{}%'"
127
+ :size="model.f_failure ? model.f_failure.length : 6"
128
+ >
129
+ </div>
130
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
131
+ <label class="font_normal_body" style="width: 40%">工单备注</label>
132
+ <input type="text" class="input_search" v-model="model.fo_remarks" placeholder='工单备注'
133
+ condition="tswo.f_remarks like '%{}%'"
134
+ :size="model.fo_remarks ? model.fo_remarks.length : 6"
135
+ >
136
+ </div>
137
+ </div>
138
+
139
+
140
+ </div>
141
+ </criteria>
142
+ <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy"
143
+ :classname="'table tablenew table-bordered table-striped table-hover'">
144
+ <template partial='head'>
145
+ <tr>
146
+ <th>
147
+ <nobr><input type="checkbox" v-model="$parent.$parent.$parent.checkAll"/> 全选</nobr>
148
+ </th>
149
+
150
+ <th><nobr>
151
+ 工单类型
152
+ </nobr></th>
153
+ <th><nobr>
154
+ 工单编号
155
+ </nobr></th>
156
+ <th><nobr>
157
+ 派单时间
158
+ </nobr></th>
159
+ <th><nobr>
160
+ 用户信息
161
+ </nobr></th>
162
+ <th><nobr>
163
+ 来电电话
164
+ </nobr></th>
165
+ <th><nobr>
166
+ 工单状态
167
+ </nobr></th>
168
+ <th><nobr>
169
+ 报修内容
170
+ </nobr></th>
171
+ <th><nobr>
172
+ 故障明细
173
+ </nobr></th>
174
+ <th><nobr>
175
+ 工单备注
176
+ </nobr></th>
177
+ <th><nobr>
178
+ 操作
179
+ </nobr></th>
180
+ </tr>
181
+ </template>
182
+ <template partial='body'>
183
+ <td style="text-align: center;white-space:nowrap;"><input class="rowCheckbox" type="checkbox"
184
+ v-if="row.defname === '站点接单'"
185
+ onClick="event.cancelBubble = true"
186
+ :checked="$parent.$parent.$parent.isChecked(row.id)"
187
+ @change="$parent.$parent.$parent.setCheckes(row)"/><nobr></nobr>
188
+ </td>
189
+
190
+ <td
191
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
192
+ {{ row.f_workorder_type }}<span style="color: red" v-if="row.f_remindersign==='true'">(催单)</span>
193
+ <nobr><span style="color: red" v-if="row.f_state==='打回'">(打回)</span>
194
+ </nobr></td>
195
+ <td
196
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
197
+ <nobr>{{ row.f_service_id }}</nobr>
198
+ </td>
199
+ <td
200
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
201
+ <nobr>{{ row.f_created_date }}</nobr>
202
+ </td>
203
+ <td
204
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
205
+ <nobr> {{ row.f_user_name }}&nbsp;&nbsp;&nbsp;{{ row.f_address }}&nbsp;&nbsp;&nbsp;{{ row.f_contact_name }}</nobr>
206
+ </td>
207
+ <td
208
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
209
+ <nobr>{{ row.f_phone }}</nobr>
210
+ </td>
211
+ <td
212
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
213
+ <nobr>{{ row.defname }}</nobr>
214
+ </td>
215
+ <td
216
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
217
+ <nobr>{{ row.f_repairtype + ':' + row.f_json}}</nobr>
218
+ </td>
219
+ <td
220
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
221
+ <nobr>{{ $parent.$parent.$parent.trouble(row.failure) }}</nobr>
222
+ </td>
223
+ <td
224
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''">
225
+ <nobr>{{ row.f_remarks}}</nobr>
226
+ </td>
227
+ <td
228
+ :style="Math.floor((new Date().getTime() - new Date(row.f_created_date).getTime())/1000/60/60)>3&&row.defname=='站点接单'?'background-color: #f1eecb':''"
229
+ style="text-align: center;"><nobr>
230
+ <div
231
+ v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type != '投诉单'&&row.f_workorder_type != '咨询单'">
232
+ <button type="button" name="button" class="button_spacing button_search-2"
233
+ @click.stop="$parent.$parent.$parent.proc(row, '结案')">结案
234
+ </button>
235
+ <button type="button" name="button" class="button_spacing button_search-2"
236
+ @click.stop="$parent.$parent.$parent.proc(row, '工单退回')">退回
237
+ </button>
238
+ <button type="button" name="button" class="button_spacing button_search-2"
239
+ @click.stop="$parent.$parent.$parent.proc(row, '工单下发')">下发
240
+ </button>
241
+ <div v-if="row.f_single_path">
242
+ <button type="button" name="button" class="button_spacing button_search-2"
243
+ @click.stop="$parent.$parent.$parent.showpicture(row)">抢修图片
244
+ </button>
245
+ </div>
246
+ </div>
247
+ <div
248
+ v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '投诉单'">
249
+ <button type="button" name="button" class="button_spacing button_search-2"
250
+ @click.stop="$parent.$parent.$parent.complanReview(row, '投诉处理')">
251
+ 投诉处理
252
+ </button>
253
+ </div>
254
+
255
+ <div
256
+ v-show="row.defname === '站点接单' && $parent.$parent.$parent.picked === 'wait' && row.f_workorder_type == '咨询单'">
257
+ <button type="button" name="button" class="button_spacing button_search-2"
258
+ @click.stop="$parent.$parent.$parent.seekworkReview(row, '咨询处理')">
259
+ 咨询处理
260
+ </button>
261
+ </div>
262
+ </nobr></td>
263
+ </template>
264
+ </data-grid>
265
+ </criteria-paged>
266
+ </div>
267
+ <modal :show.sync="editflag==='工单退回'||editflag==='工单下发'" v-ref:modal backdrop="false">
268
+ <header slot="modal-header" class="modal-header">
269
+ {{ editflag }}
270
+ </header>
271
+ <article slot="modal-body" class="modal-body">
272
+ <div v-if="editflag==='工单退回'" class="form-inline">
273
+ <site-back :row="selectone" @success="selfSearch()" @cancel='editflag = null'></site-back>
274
+ </div>
275
+ <div v-if="editflag==='工单下发'">
276
+ <site-send :row="selectone" :rowlist="serlist" @success="selfSearch()" @cancel="editflag = null"></site-send>
277
+ </div>
278
+ </article>
279
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
280
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
281
+ </footer>
282
+ </modal>
283
+ <modal :show.sync="editflag==='结案'" v-ref:modalCase backdrop="false">
284
+ <header slot="modal-header" class="modal-header">
285
+ 工单结案
286
+ </header>
287
+ <article slot="modal-body" class="modal-body">
288
+ <div class="col-sm-12 form-group">
289
+ <label class="control-label col-sm-2">结案备注</label>
290
+ <div class="col-sm-9">
291
+ <input class="form-control" type="text" v-model="f_caseremarks"/>
292
+ </div>
293
+ </div>
294
+ </article>
295
+ <footer slot="modal-footer" class="modal-footer">
296
+ <button type="button" class="btn btn-success" @click='caseok'>确定</button>
297
+ <button type="button" class="btn btn-success" @click='caseclose'>关闭</button>
298
+ </footer>
299
+ </modal>
300
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
301
+ <header slot="modal-header" class="modal-header">
302
+ 在线抢修照片
303
+ </header>
304
+ <article slot="modal-body" class="modal-body">
305
+ <div class="from-group" style="display: flex">
306
+ <img-self :src="'rs/image/file/'+imgfilename" width="220" height="300"></img-self>
307
+ <img-self v-if="imgfilename1" :src="'rs/image/file/'+imgfilename1" style="margin-left: 10px" width="220"
308
+ height="300"></img-self>
309
+ <img-self v-if="imgfilename2" :src="'rs/image/file/'+imgfilename2" style="margin-left: 10px" width="220"
310
+ height="300"></img-self>
311
+ </div>
312
+ </article>
313
+ <footer slot="modal-footer" class="modal-footer">
314
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
315
+ </footer>
316
+ </modal>
317
+ <!-- 投诉单处理弹窗 -->
318
+ <modal :show.sync="isComplanReview" v-ref:complanModal backdrop="false">
319
+ <header slot="modal-header" class="modal-header">
320
+ 投诉审核
321
+ </header>
322
+ <article slot="modal-body" class="modal-body">
323
+ <div class="select-overspread form-horizontal auto workOrderInfo">
324
+ <div class="row">
325
+ <div class="col-sm-12 form-group form-input-group">
326
+ <label class="font_normal_body" style="width: 10%">工单编号</label>
327
+ <h5 style="padding: 0px">{{ showModalComplan.f_service_id }}</h5>
328
+ </div>
329
+ <div class="col-sm-12 form-input-group">
330
+ <label class="font_normal_body" style="width: 10%">投诉内容</label>
331
+ <textarea name="name" rows="3" v-model="showModalComplan.f_content"
332
+ class="form-control ver-textarea" id="f_content" name="f_content" readonly="readonly"></textarea>
333
+ </div>
334
+ <div class="col-sm-4 form-group form-input-group">
335
+ <label class="font_normal_body" style="width: 30%">来电电话</label>
336
+ <input type="text" name="" v-model='showModalComplan.f_phone'
337
+ class="form-control" readonly="readonly">
338
+ </div>
339
+ <div class="col-sm-4 form-group form-input-group">
340
+ <label class="font_normal_body" style="width: 30%">联系人</label>
341
+ <input type="text" name="" v-model='showModalComplan.f_user_name'
342
+ class="form-control" readonly="readonly">
343
+ </div>
344
+ <div class="col-sm-4 form-group form-input-group">
345
+ <label class="font_normal_body" style="width: 30%">联系电话</label>
346
+ <input type="text" name="" v-model='showModalComplan.f_contact_phone'
347
+ class="form-control" readonly="readonly">
348
+ </div>
349
+
350
+ <div class="col-sm-12 form-input-group">
351
+ <label class="font_normal_body" style="width: 10%">描述</label>
352
+ <textarea name="name" rows="3" v-model="showModalComplan.f_remarks"
353
+ class="form-control ver-textarea" readonly="readonly"></textarea>
354
+ </div>
355
+ <div class="col-sm-12 form-input-group">
356
+ <label class="font_normal_body" style="width: 10%">处理结果</label>
357
+ <textarea name="name" rows="4" v-model="f_complaint_results"
358
+ class="form-control ver-textarea"></textarea>
359
+ </div>
360
+ </div>
361
+ </div>
362
+ </article>
363
+ <footer slot="modal-footer" class="modal-footer">
364
+ <button type="button" name="button"
365
+ class="button_search button_spacing" @click='inputCompainInfo()'>提交
366
+ </button>
367
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
368
+ class="button_spacing button_search" @click='isComplanReview=false;showModalComplan = {}'>取消
369
+ </button>
370
+ </footer>
371
+ </modal>
372
+ <!-- 咨询处理弹窗 -->
373
+ <modal :show.sync="isSeekWork" v-ref:seekWorkModel backdrop="false">
374
+ <header slot="modal-header" class="modal-header">
375
+ 咨询审核
376
+ </header>
377
+ <article slot="modal-body" class="modal-body">
378
+ <div class="select-overspread form-horizontal auto workOrderInfo">
379
+ <div class="row">
380
+ <div class="col-sm-12 form-group form-input-group">
381
+ <label class="font_normal_body" style="width: 10%">工单编号</label>
382
+ <h5 style="padding: 0px">{{ showModalSeekWork.f_service_id }}</h5>
383
+ </div>
384
+ <div class="col-sm-12 form-input-group">
385
+ <label class="font_normal_body" style="width: 10%">咨询内容</label>
386
+ <textarea name="name" rows="3" v-model="showModalSeekWork.f_content"
387
+ class="form-control ver-textarea" id="f_content1" name="f_content" readonly="readonly"></textarea>
388
+ </div>
389
+ <div class="col-sm-4 form-group form-input-group">
390
+ <label class="font_normal_body" style="width: 30%">来电电话</label>
391
+ <input type="text" name="" v-model='showModalSeekWork.f_phone'
392
+ class="form-control" readonly="readonly">
393
+ </div>
394
+ <div class="col-sm-4 form-group form-input-group">
395
+ <label class="font_normal_body" style="width: 30%">联系人</label>
396
+ <input type="text" name="" v-model='showModalSeekWork.f_user_name'
397
+ class="form-control" readonly="readonly">
398
+ </div>
399
+ <div class="col-sm-4 form-group form-input-group">
400
+ <label class="font_normal_body" style="width: 30%">联系电话</label>
401
+ <input type="text" name="" v-model='showModalSeekWork.f_contact_phone'
402
+ class="form-control" readonly="readonly">
403
+ </div>
404
+
405
+ <div class="col-sm-12 form-input-group">
406
+ <label class="font_normal_body" style="width: 10%">描述</label>
407
+ <textarea name="name" rows="3" v-model="showModalSeekWork.f_remarks"
408
+ class="form-control ver-textarea" readonly="readonly"></textarea>
409
+ </div>
410
+ <div class="col-sm-12 form-input-group">
411
+ <label class="font_normal_body" style="width: 10%">处理结果</label>
412
+ <textarea name="name" rows="4" v-model="f_complaint_seekwork_results"
413
+ class="form-control ver-textarea"></textarea>
414
+ </div>
415
+ </div>
416
+ </div>
417
+ </article>
418
+ <footer slot="modal-footer" class="modal-footer">
419
+
420
+ <button type="button" name="button"
421
+ class="button_search button_spacing" @click='inputSeekWorkInfo()'>提交
422
+ </button>
423
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
424
+ class="button_spacing button_search" @click='isSeekWork=false;showModalSeekWork = {}'>取消
425
+ </button>
426
+ </footer>
427
+ </modal>
428
+ </template>
429
+
430
+ <script>
431
+ import {PagedList, HttpResetClass} from 'vue-client'
432
+
433
+ export default {
434
+ title: '工单列表',
435
+ data() {
436
+ return {
437
+ // 结案备注
438
+ f_caseremarks: '',
439
+ criteriaShow: false,
440
+ f_complaint_results: '',
441
+ serlist: [],
442
+ checkes: [],
443
+ remakes: null,
444
+ editflag: null,
445
+ selectone: '',
446
+ model: new PagedList('af-telephone/rs/sql/operatorService', 20),
447
+ row: null,
448
+ orderMan: '',
449
+ checkAll: false,
450
+ msgs: [],
451
+ // repairstypes : [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')],
452
+ service: Object,
453
+ pendingCount: 0,
454
+ imgfilename: '',
455
+ imgfilename1: '',
456
+ imgfilename2: '',
457
+ select: {
458
+ defname: ''
459
+ },
460
+ rowlist: [],
461
+ // 待办/已办选择
462
+ picked: 'wait',
463
+ imgshow: false,
464
+ isComplanReview: false,
465
+ // defname:this.$appdata.getParam('工单状态'),
466
+ searchData: {
467
+ condition: {
468
+ condition: '1=1',
469
+ sign: '1=1'
470
+ },
471
+ userid: this.$login.f.name
472
+ },
473
+ excelHeaders: {
474
+ 'f_workorder_type': '工单类型',
475
+ 'f_service_id': '工单编号',
476
+ 'f_created_date': '派单时间',
477
+ 'f_user_name': '用户姓名',
478
+ 'f_address': '用户地址',
479
+ 'f_contact_name': '联系人',
480
+ 'f_phone': '来电电话',
481
+ 'f_repairtype' : '报修类型',
482
+ 'f_json': '故障明细',
483
+ 'f_remarks': '工单备注'
484
+ },
485
+ //投诉单在modal框显示的信息
486
+ showModalComplan: {
487
+ serviceacitivity: [{f_complaint_results: ''}]
488
+ },
489
+ isSeekWork: false,
490
+ /*咨询单信息*/
491
+ showModalSeekWork: {
492
+ serviceacitivity: [{f_complaint_results: ''}]
493
+ },
494
+ /*咨询单结果*/
495
+ f_complaint_seekwork_results: ''
496
+ }
497
+
498
+ },
499
+ props: {
500
+ user: {
501
+ type: Object
502
+ },
503
+ maintenance: [],
504
+ // serviceId : [String, Number]
505
+ serviceId: '',
506
+ // 工单状态 工单位置
507
+ defname: {
508
+ type: String
509
+ }
510
+ },
511
+ ready() {
512
+ // this.getEmp()
513
+ let messageTime = 60
514
+ const time = this.$appdata.getSingleValue("站点提醒时间")
515
+ if (time && time > 60) {
516
+ messageTime = time
517
+ }
518
+ setInterval(() => {
519
+ const data = {
520
+ condition: {
521
+ condition: '1=1',
522
+ sign: '1=1'
523
+ },
524
+ userid: this.$login.f.name
525
+ }
526
+ new HttpResetClass().load('post', 'af-telephone/rs/sql/operatorService', {data: data}, {
527
+ resolveMsg: null,
528
+ rejectMsg: null
529
+ }).then(res => {
530
+ if (res.data && res.data.length > 0) {
531
+ this.$showMessage("您有" + res.data.length + "条工单待处理,请及时处理")
532
+ }
533
+ })
534
+ }, messageTime * 1000)
535
+ this.selfSearch().then(() => {
536
+ this.$emit('ready')
537
+ }).catch((error) => {
538
+ this.$emit('error', error)
539
+ })
540
+ // 开启轮询查询是否由自己的工单
541
+ // this.pollQuery()
542
+ },
543
+ watch: {
544
+ 'serviceId'() {
545
+ this.selfSearch()
546
+ },
547
+ // 待办/已办选择变化后,根据选择内容,重新设置path查询路径,进行查询
548
+ 'picked'() {
549
+ this.serlist = []
550
+ if (this.picked) {
551
+ if (this.picked === 'wait') {
552
+ this.model.url = 'af-telephone/rs/sql/operatorService'
553
+ } else if (this.picked === 'done') {
554
+ this.model.url = 'af-telephone/rs/sql/doneService'
555
+ }
556
+ this.model.rows = []
557
+ this.selfSearch()
558
+ }
559
+ }
560
+ },
561
+ methods: {
562
+ trouble (val) {
563
+ let failureall=''
564
+ // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
565
+
566
+ let failure = JSON.parse(val)
567
+ for (let i = 0; i <failure.length; i++) {
568
+ if (failure[i].failurecase.length>0){
569
+ failureall+=failure[i].f_failure_type+":"
570
+ for (let j = 0; j < failure[i].failurecase.length; j++) {
571
+ failureall+=failure[i].failurecase[j]
572
+ if (j+1!=failure[i].failurecase.length){
573
+ failureall+=","
574
+ }
575
+ }
576
+
577
+ }else{
578
+ failureall+=failure[i].f_failure_type
579
+ }
580
+ if (i+1!=failure.length){
581
+ failureall+=';'
582
+ }
583
+ }
584
+ return failureall
585
+ },
586
+ // 结案确认
587
+ caseok() {
588
+ this.selectone.f_caseremarks = this.f_caseremarks
589
+ let data = {
590
+ model: this.selectone,
591
+ loginUser: {name: this.$login.f.name, ename: this.$login.f.ename},
592
+ f_caseremarks: this.f_caseremarks
593
+ }
594
+ this.$resetpost(`af-telephone/rs/logic/serviceCase`, data).then(() => {
595
+ this.f_caseremarks = ''
596
+ // 刷新界面
597
+ this.selfSearch()
598
+ })
599
+ },
600
+ // 结案返回
601
+ caseclose() {
602
+ this.f_caseremarks = ''
603
+ this.editflag = null
604
+ },
605
+ repairSendAll() {
606
+ //tag
607
+ if (!this.$refs.paged.$refs.criteria.model.f_workorder_type) {
608
+ this.$showMessage('必须选择工单类型后查询')
609
+ return
610
+ }
611
+ this.selectone = {
612
+ f_workorder_type: this.$refs.paged.$refs.criteria.model.f_workorder_type
613
+ }
614
+
615
+ if (this.checkAll) {
616
+ //如果全选,根据条件去查询数据
617
+ let data = {
618
+ condition: this.model.params.condition,
619
+ userid: this.$login.f.name
620
+ }
621
+ new HttpResetClass().load('post', 'af-telephone/rs/sql/operatorService', {data: data}, {
622
+ resolveMsg: null,
623
+ rejectMsg: null
624
+ }).then(res => {
625
+ const results = res.data
626
+ this.rowlist = results.filter(result => {
627
+ //tag)
628
+ console.log("999", result, JSON.stringify(result).indexOf('站点接单') != -1)
629
+ return JSON.stringify(result).indexOf('站点接单') != -1
630
+ })
631
+ console.log(this.rowlist)
632
+ //tag
633
+ this.serlist = JSON.parse(JSON.stringify(this.rowlist))
634
+ this.editflag = '工单下发'
635
+ })
636
+
637
+ } else {
638
+ if (this.rowlist.length === 0) {
639
+ this.$showMessage('请选择工单')
640
+ return
641
+ }
642
+ //不全选,去取数据
643
+ this.serlist = JSON.parse(JSON.stringify(this.rowlist))
644
+ console.log("752752", this.rowlist)
645
+ this.editflag = '工单下发'
646
+ }
647
+ },
648
+ isChecked(v) {
649
+ // 如果全选,不在的按选中算,否则,在的按选中算
650
+ if (this.checkAll) {
651
+ return true
652
+ } else {
653
+ return this.rowlist.includes(v)
654
+ }
655
+ },
656
+
657
+ setCheckes(row) {
658
+ if (!this.checkAll) {
659
+ let index = this.checkes.indexOf(row.id)
660
+ if (index < 0) {
661
+ this.checkes.push(row.id)
662
+ this.rowlist.push(row)
663
+ } else {
664
+ this.checkes.splice(index, 1)
665
+ this.rowlist.splice(this.rowlist.findIndex(res => {
666
+ return res.id === row.id
667
+ }), 1)
668
+ }
669
+ }
670
+ },
671
+ hidden() {
672
+ this.criteriaShow = !this.criteriaShow
673
+ },
674
+ // 提交投诉单内容
675
+ inputCompainInfo() {
676
+ if (this.f_complaint_results != '') {
677
+ this.showModalComplan.serviceacitivity[0].f_complaint_results = this.f_complaint_results
678
+ this.$resetpost('af-telephone/rs/logic/saveComplaintResult', {
679
+ showModalComplan: this.showModalComplan,
680
+ loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
681
+ }).then((res) => {
682
+ this.isComplanReview = false
683
+ this.showModalComplan = {}
684
+ this.$refs.paged.$refs.criteria.search()
685
+ })
686
+ } else {
687
+ //tag
688
+ return this.$showAlert('请填写投诉单结果!', 'warning', 2000)
689
+ }
690
+
691
+ },
692
+ //提交咨询单内容
693
+ inputSeekWorkInfo() {
694
+ if (this.f_complaint_seekwork_results != '') {
695
+ this.showModalSeekWork.serviceacitivity[0].f_complaint_results = this.f_complaint_seekwork_results
696
+ this.$resetpost('af-telephone/rs/logic/saveConsultResult', {
697
+ model: this.showModalSeekWork,
698
+ loginUser: {name: this.$login.f.name, ename: this.$login.f.ename, loginid: this.$login.f.id}
699
+ }).then((res) => {
700
+ this.isSeekWork = false
701
+ this.showModalSeekWork = {}
702
+ this.f_complaint_seekwork_results = ''
703
+ this.$refs.paged.$refs.criteria.search()
704
+ })
705
+ } else {
706
+ //tag
707
+ return this.$showAlert('请填写咨询单结果!', 'warning', 2000)
708
+ }
709
+ },
710
+ imgclose() {
711
+ this.imgshow = false
712
+ },
713
+ //检查是否为同一类型
714
+ addInList(val) {
715
+ if (!this.checkInList(val)) {
716
+ this.serlist.push(val)
717
+ //tag
718
+ } else {
719
+ var copyserlist = []
720
+ for (var index in this.serlist) {
721
+ if (this.serlist[index].f_service_id != val.f_service_id) {
722
+ copyserlist.push(this.serlist[index])
723
+ }
724
+ }
725
+ this.serlist = copyserlist
726
+ //tag
727
+ }
728
+ },
729
+ checkInList(val) {
730
+ var checkstr = false
731
+ this.serlist.forEach((item) => {
732
+ if (item.f_service_id == val.f_service_id) {
733
+ checkstr = true
734
+ }
735
+ })
736
+ return checkstr
737
+ },
738
+ isInList(val) {
739
+ var checkstr = false
740
+ this.serlist.forEach((item) => {
741
+ if (item.f_service_id == val.f_service_id) {
742
+ checkstr = true
743
+ }
744
+ })
745
+ return checkstr
746
+ },
747
+ proc(selectone, type) {
748
+ this.editflag = type
749
+ this.selectone = selectone
750
+ },
751
+ complanReview(itemVal, type) {
752
+ //tag
753
+ this.showModalComplan = itemVal
754
+ this.showModalComplan.serviceacitivity = [
755
+ {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
756
+ this.showModalComplan.id_back = this.showModalComplan.id
757
+ this.isComplanReview = true
758
+ },
759
+ seekworkReview(itemVal, type) {
760
+ //tag
761
+ this.showModalSeekWork = itemVal
762
+ this.showModalSeekWork.serviceacitivity = [
763
+ {f_service_acitivity_type: '投诉单', f_result_status: '已完成'}]
764
+ this.showModalSeekWork.id_back = this.showModalSeekWork.id
765
+ this.isSeekWork = true
766
+ },
767
+ showpicture(val) {
768
+ //tag
769
+ //tag)
770
+ this.imgshow = true
771
+ this.imgfilename = val.f_single_path
772
+ this.imgfilename1 = val.f_singlea_path
773
+ this.imgfilename2 = val.f_singleb_path
774
+ },
775
+ search(args) {
776
+ this.serlist = []
777
+ this.checkes = []
778
+ //tag
779
+ let data = {}
780
+ data.condition = this.$refs.paged.$refs.criteria.condition ? this.$refs.paged.$refs.criteria.condition : '1=1'
781
+ data.sign = this.$refs.paged.$refs.criteria.select ? `defname = '${this.$refs.paged.$refs.criteria.select.defname[0]}'` : '1=1'
782
+ data.condition += ` and tswo.f_filiale_id = '${this.$login.f.orgid}'`
783
+ this.searchData.condition = data
784
+ this.searchData = Object.assign(this.searchData, args.model)
785
+ return this.model.search(data, args.model)
786
+ },
787
+ clearAllCheckboxes() {
788
+ const checkboxes = document.querySelectorAll('.rowCheckbox');
789
+ checkboxes.forEach(checkbox => {
790
+ checkbox.checked = false;
791
+ });
792
+ },
793
+ selfSearch() {
794
+ this.clearAllCheckboxes()
795
+ // 取消编辑状态
796
+ this.serlist = []
797
+ this.rowlist = []
798
+ this.checkes = []
799
+ this.editflag = null
800
+
801
+ this.model.paramSource = {
802
+ userid: '\'' + this.$login.f.name + '\''
803
+ }
804
+ //tag
805
+ let data = {}
806
+ data.condition = ` 1 = 1 and tswo.f_filiale_id = '${this.$login.f.orgid}'`
807
+ data.sign = '1=1'
808
+ return this.model.search(data)
809
+ },
810
+ },
811
+ computed: {
812
+ serviceorders() {
813
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
814
+ },
815
+ repairstypes() {
816
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修全部类型')]
817
+ },
818
+ defname() {
819
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单状态')]
820
+ }
821
+
822
+ }
823
+ }
824
+ </script>
825
+ <style scoped lang="less">
826
+ .workOrderInfo {
827
+ .row {
828
+ div {
829
+ margin-top: 10px;
830
+
831
+ [readonly] {
832
+ background-color: #eeeeee;
833
+ }
834
+ }
835
+ }
836
+ }
837
+ </style>
838
+