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.
- package/package.json +2 -2
- package/src/components/pc/MaintenanceWorker.vue +152 -0
- package/src/components/pc/NewRepairPaper.vue +704 -704
- package/src/components/pc/NewRepairTablePaper.vue +442 -442
- package/src/components/pc/WorkHistory.vue +650 -650
- package/src/components/pc/WorkListNew.vue +838 -838
- package/src/components/sendsingle/onlinecharge.vue +424 -424
- package/src/components/workorder/ChangeMeterPageNew.vue +663 -663
- package/src/components/workorder/ChangeMeterUserInfo.vue +130 -130
- package/src/components/workorder/RepairFirstV.vue +736 -736
- package/src/components/workorder/RepairInfo.vue +178 -178
- package/src/components/workorder/RepairOrderT.vue +713 -713
- package/src/components/workorder/oldMeterPage.vue +104 -104
- package/src/components/workorder/repairFirstTable.vue +715 -715
- package/src/filiale/jinhong/android/FaultAll.vue +936 -936
- package/src/filiale/jinhong/android/ZHihuanFirst.vue +540 -540
- package/src/filiale/jinhong/pc/WorkListAllNew.vue +884 -884
- package/src/filiale/jinhong/telephone.js +10 -10
- package/src/filiale/jinhong/telephoneAndroid.js +13 -13
- package/src/filiale/meihekou/android/Othercharge.vue +454 -454
- package/src/filiale/meihekou/android/PhoneStandWorkNew.vue +692 -692
- package/src/filiale/meihekou/android/ServiceOnlineQuery.vue +477 -477
- package/src/filiale/meihekou/pc/WorkListAllNew.vue +925 -901
- package/src/filiale/meihekou/pc/WorkListNew.vue +1103 -1049
- package/src/filiale/meihekou/telephoneAndroid.js +26 -26
- package/src/filiale/xinjiangdexin/telephone.js +16 -16
- package/src/filiale/xinliansihui/android/FaultAll.vue +923 -923
- package/src/filiale/xinliansihui/android/RepairFirstV.vue +734 -734
- package/src/filiale/xinliansihui/android/RepairOrderT.vue +713 -713
- package/src/main.js +1 -1
- package/src/telephone-android.js +425 -425
- package/src/telephone.js +799 -796
|
@@ -1,884 +1,884 @@
|
|
|
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="tswo.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
|
-
<div class="form-group col-sm-6 button-range" style="margin-right: 10px">
|
|
29
|
-
<button class="button_search button_spacing" style="margin-right: 9px"
|
|
30
|
-
@click="$parent.$parent.clearmsg()">清空
|
|
31
|
-
</button>
|
|
32
|
-
<button class="button_search button_spacing" style="margin-right: 9px"
|
|
33
|
-
@click="search(),$dispatch('search')">查询
|
|
34
|
-
</button>
|
|
35
|
-
<export-excel-tel
|
|
36
|
-
:data="$parent.$parent.searchData"
|
|
37
|
-
:field="$parent.$parent.excelHeaders"
|
|
38
|
-
sqlurl="af-telephone/rs/logic/telephoneExport"
|
|
39
|
-
sql-name="serviceDetails"
|
|
40
|
-
template-name='工单详情导出'
|
|
41
|
-
:choose-col="true">
|
|
42
|
-
</export-excel-tel>
|
|
43
|
-
|
|
44
|
-
<div style="float: right" class="button_spacing"
|
|
45
|
-
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
46
|
-
@click="$parent.$parent.hidden()"></div>
|
|
47
|
-
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
51
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
52
|
-
<label class="font_normal_body" style="width: 40%">客户编号</label>
|
|
53
|
-
<input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
|
|
54
|
-
condition="tswo.f_userinfo_code like '%{}%'"
|
|
55
|
-
:size="model.f_userinfo_code ? model.f_userinfo_code.length : 6">
|
|
56
|
-
</div>
|
|
57
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
58
|
-
<label class="font_normal_body" style="width: 40%">派单时间</label>
|
|
59
|
-
<datepicker placeholder="起始派单时间"
|
|
60
|
-
:value.sync="model.f_created_date"
|
|
61
|
-
v-model="model.f_created_date"
|
|
62
|
-
:format="'yyyy-MM-dd 00:00:00'"
|
|
63
|
-
condition="f_created_date > '{}'"
|
|
64
|
-
></datepicker>
|
|
65
|
-
</div>
|
|
66
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
67
|
-
<label class="font_normal_body" style="width: 40%">派单时间</label>
|
|
68
|
-
<datepicker placeholder="终止派单时间"
|
|
69
|
-
:value.sync="model.f_created_enddate"
|
|
70
|
-
v-model="model.f_created_enddate"
|
|
71
|
-
:format="'yyyy-MM-dd 23:59:59'"
|
|
72
|
-
condition="f_created_date < '{}'"
|
|
73
|
-
></datepicker>
|
|
74
|
-
</div>
|
|
75
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
76
|
-
<label class="font_normal_body" style="width: 40%">来电电话</label>
|
|
77
|
-
<input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
|
|
78
|
-
condition="tswo.f_phone like '%{}%'"
|
|
79
|
-
:size="model.f_phone ? model.f_phone.length : 6">
|
|
80
|
-
</div>
|
|
81
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
82
|
-
<label class="font_normal_body" style="width: 40%">联系电话</label>
|
|
83
|
-
<input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
|
|
84
|
-
condition="tswo.f_contact_phone like '%{}%'"
|
|
85
|
-
:size="model.f_contact_phone ? model.f_contact_phone.length : 6">
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
89
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
90
|
-
<label class="font_normal_body" style="width: 40%">地  址</label>
|
|
91
|
-
<input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
|
|
92
|
-
condition="tswo.f_address like '%{}%'"
|
|
93
|
-
:size="model.f_address ? model.f_address.length : 4">
|
|
94
|
-
</div>
|
|
95
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
96
|
-
<label class="font_normal_body" style="width: 40%">接单站点</label>
|
|
97
|
-
<v-select :value.sync="model.f_outlets" v-model='model.f_outlets'
|
|
98
|
-
multiple="true"
|
|
99
|
-
:options='$parent.$parent.outlets' placeholder='接单站点'
|
|
100
|
-
close-on-select></v-select>
|
|
101
|
-
<!-- <input type="text" class="input_search" v-model="model.f_outlets" placeholder='接单站点'-->
|
|
102
|
-
<!-- condition="tswo.f_outlets like '%{}%'"-->
|
|
103
|
-
<!-- :size="model.f_outlets ? model.f_outlets.length : 6">-->
|
|
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_date_start"
|
|
109
|
-
v-model="model.f_date_start"
|
|
110
|
-
:format="'yyyy-MM-dd 00:00:00'"
|
|
111
|
-
condition="f_date > '{}'"
|
|
112
|
-
></datepicker>
|
|
113
|
-
</div>
|
|
114
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
115
|
-
<label class="font_normal_body" style="width: 40%">完成时间</label>
|
|
116
|
-
<datepicker placeholder="维修结束时间"
|
|
117
|
-
:value.sync="model.f_date_end"
|
|
118
|
-
v-model="model.f_date_end"
|
|
119
|
-
:format="'yyyy-MM-dd 23:59:59'"
|
|
120
|
-
condition="f_date < '{}'"
|
|
121
|
-
></datepicker>
|
|
122
|
-
</div>
|
|
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_attendant" placeholder='话务员'
|
|
126
|
-
condition="tswo.f_attendant like '%{}%'"
|
|
127
|
-
:size="model.f_attendant ? model.f_attendant.length : 6">
|
|
128
|
-
</div>
|
|
129
|
-
</div>
|
|
130
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
131
|
-
<div class="col-sm-6 form-group form-input-group" style="width: 40%">
|
|
132
|
-
<role-selector-tel
|
|
133
|
-
role-name="维修员"
|
|
134
|
-
role-lable="维 修 员"
|
|
135
|
-
@re-res="$parent.$parent.getRes"
|
|
136
|
-
:value.sync="model.f_checker_id"
|
|
137
|
-
v-model="model.f_checker_id"
|
|
138
|
-
condition="tswo.f_order_man = '{}'">
|
|
139
|
-
</role-selector-tel>
|
|
140
|
-
</div>
|
|
141
|
-
<!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
|
|
142
|
-
<!-- <label class="font_normal_body" style="width: 40%">接 单 员</label>-->
|
|
143
|
-
<!-- <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单员'-->
|
|
144
|
-
<!-- condition="tswo.f_order_man like '%{}%'"-->
|
|
145
|
-
<!-- :size="model.f_order_man ? model.f_order_man.length : 6">-->
|
|
146
|
-
<!-- </div>-->
|
|
147
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
148
|
-
<label class="font_normal_body" style="width: 40%">工单状态</label>
|
|
149
|
-
<v-select :value.sync="model.defname" v-model='model.defname'
|
|
150
|
-
:value-single="true"
|
|
151
|
-
:options='$parent.$parent.defnames' placeholder='工单状态'
|
|
152
|
-
condition="sa.defname = '{}'"
|
|
153
|
-
close-on-select></v-select>
|
|
154
|
-
</div>
|
|
155
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
156
|
-
<label class="font_normal_body" style="width: 40%" >报修类型</label>
|
|
157
|
-
<v-select :value.sync="model.f_repairtype" :value-single="true" v-model="model.f_repairtype"
|
|
158
|
-
:options='$parent.$parent.repairstypes' placeholder='报修类型'
|
|
159
|
-
condition="f_repairtype like '%{}%'"
|
|
160
|
-
close-on-select>
|
|
161
|
-
</v-select>
|
|
162
|
-
</div>
|
|
163
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
164
|
-
<label class="font_normal_body" style="width: 40%" >逾期天数</label>
|
|
165
|
-
<v-select :value.sync="model.overday" :value-single="true" v-model="model.overday"
|
|
166
|
-
:options='$parent.$parent.overdays' placeholder='逾期天数'
|
|
167
|
-
close-on-select>
|
|
168
|
-
</v-select>
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
171
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
172
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
173
|
-
<label class="font_normal_body" style="width: 40%" >是否回访</label>
|
|
174
|
-
<v-select :value.sync="model.f_revisit" :value-single="true" v-model="model.f_revisit"
|
|
175
|
-
:options='$parent.$parent.revisits' placeholder='是否回访'
|
|
176
|
-
close-on-select>
|
|
177
|
-
</v-select>
|
|
178
|
-
</div>
|
|
179
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
180
|
-
<label class="font_normal_body" style="width: 40%" >故障类型</label>
|
|
181
|
-
<v-select :value.sync="model.failure" :value-single="true" v-model="model.failure"
|
|
182
|
-
:options='$parent.$parent.failures' placeholder='故障类型'
|
|
183
|
-
condition="failure like '%{}%'"
|
|
184
|
-
close-on-select>
|
|
185
|
-
</v-select>
|
|
186
|
-
</div>
|
|
187
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
188
|
-
<label class="font_normal_body" style="width: 40%">工单来源</label>
|
|
189
|
-
<v-select :value.sync="model.f_source" v-model='model.f_source'
|
|
190
|
-
:value-single="true"
|
|
191
|
-
:options='$parent.$parent.sources' placeholder='工单来源'
|
|
192
|
-
close-on-select
|
|
193
|
-
condition="tswo.f_source = '{}'"></v-select>
|
|
194
|
-
</div>
|
|
195
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
196
|
-
<label class="font_normal_body" style="width: 40%">工单结果</label>
|
|
197
|
-
<v-select :value.sync="model.f_result_status" v-model='model.f_result_status'
|
|
198
|
-
:value-single="true"
|
|
199
|
-
condition="tsw.f_result_status = '{}'"
|
|
200
|
-
:options='$parent.$parent.result_status' placeholder='工单结果'
|
|
201
|
-
close-on-select
|
|
202
|
-
></v-select>
|
|
203
|
-
</div>
|
|
204
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
205
|
-
<label class="font_normal_body" style="width: 40%">维修内容</label>
|
|
206
|
-
<input type="text" class="input_search" v-model="model.f_remarks" placeholder='维修内容'
|
|
207
|
-
condition="tsw.f_remarks like '%{}%'"
|
|
208
|
-
:size="model.f_remarks ? model.f_remarks.length : 6">
|
|
209
|
-
</div>
|
|
210
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
211
|
-
<label class="font_normal_body" style="width: 40%">用户类型</label>
|
|
212
|
-
<v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
|
|
213
|
-
:value-single="true"
|
|
214
|
-
:options='$parent.$parent.userType' placeholder='用户类型'
|
|
215
|
-
close-on-select
|
|
216
|
-
condition="tswo.f_user_type = '{}'"></v-select>
|
|
217
|
-
</div>
|
|
218
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
219
|
-
<label class="font_normal_body" style="width: 40%">是否封堵</label>
|
|
220
|
-
<v-select :value.sync="model.f_is_block" v-model='model.f_is_block'
|
|
221
|
-
:value-single="true"
|
|
222
|
-
:options='$parent.$parent.is_block' placeholder='是否封堵'
|
|
223
|
-
close-on-select
|
|
224
|
-
></v-select>
|
|
225
|
-
</div>
|
|
226
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
227
|
-
<label class="font_normal_body" style="width: 40%">是否退回</label>
|
|
228
|
-
<v-select :value.sync="model.f_isback" v-model='model.f_isback'
|
|
229
|
-
:value-single="true"
|
|
230
|
-
:options='$parent.$parent.revisits'
|
|
231
|
-
placeholder='是否退回'
|
|
232
|
-
close-on-select
|
|
233
|
-
></v-select>
|
|
234
|
-
</div>
|
|
235
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
236
|
-
<label class="font_normal_body" style="width: 40%">接单时间</label>
|
|
237
|
-
<datepicker placeholder="接单开始时间"
|
|
238
|
-
:value.sync="model.f_order_date_start"
|
|
239
|
-
v-model="model.f_order_date_start"
|
|
240
|
-
:format="'yyyy-MM-dd 00:00:00'"
|
|
241
|
-
condition="tswo.f_order_date > '{}'"
|
|
242
|
-
></datepicker>
|
|
243
|
-
</div>
|
|
244
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
245
|
-
<label class="font_normal_body" style="width: 40%">接单时间</label>
|
|
246
|
-
<datepicker placeholder="接单结束时间"
|
|
247
|
-
:value.sync="model.f_order_date_end"
|
|
248
|
-
v-model="model.f_order_date_end"
|
|
249
|
-
:format="'yyyy-MM-dd 23:59:59'"
|
|
250
|
-
condition="tswo.f_order_date < '{}'"
|
|
251
|
-
></datepicker>
|
|
252
|
-
</div>
|
|
253
|
-
</div>
|
|
254
|
-
|
|
255
|
-
</div>
|
|
256
|
-
</criteria>
|
|
257
|
-
|
|
258
|
-
<data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
|
|
259
|
-
<template partial='head'>
|
|
260
|
-
<tr>
|
|
261
|
-
<th>
|
|
262
|
-
<nobr>序号</nobr>
|
|
263
|
-
</th>
|
|
264
|
-
<th>
|
|
265
|
-
<nobr>回访</nobr>
|
|
266
|
-
</th>
|
|
267
|
-
<th>
|
|
268
|
-
<nobr>工单类型</nobr>
|
|
269
|
-
</th>
|
|
270
|
-
<!--<th><nobr>报修类型</nobr></th>-->
|
|
271
|
-
<th>
|
|
272
|
-
<nobr>工单编号</nobr>
|
|
273
|
-
</th>
|
|
274
|
-
<th>
|
|
275
|
-
<nobr>派单时间</nobr>
|
|
276
|
-
</th>
|
|
277
|
-
|
|
278
|
-
<th>
|
|
279
|
-
<nobr>客户信息</nobr>
|
|
280
|
-
</th>
|
|
281
|
-
<th>
|
|
282
|
-
<nobr>用户类型</nobr>
|
|
283
|
-
</th>
|
|
284
|
-
<th>
|
|
285
|
-
<nobr>表号</nobr>
|
|
286
|
-
</th>
|
|
287
|
-
<th>
|
|
288
|
-
<nobr>来电电话</nobr>
|
|
289
|
-
</th>
|
|
290
|
-
<th>
|
|
291
|
-
<nobr>联系电话</nobr>
|
|
292
|
-
</th>
|
|
293
|
-
<th>
|
|
294
|
-
<nobr>故障明细</nobr>
|
|
295
|
-
</th>
|
|
296
|
-
<th>
|
|
297
|
-
<nobr>工单来源</nobr>
|
|
298
|
-
</th>
|
|
299
|
-
<th>
|
|
300
|
-
<nobr>工单状态</nobr>
|
|
301
|
-
</th>
|
|
302
|
-
<th>
|
|
303
|
-
<nobr>派单人</nobr>
|
|
304
|
-
</th>
|
|
305
|
-
<th>
|
|
306
|
-
<nobr>话务员</nobr>
|
|
307
|
-
</th>
|
|
308
|
-
<th>
|
|
309
|
-
<nobr>接单员</nobr>
|
|
310
|
-
</th>
|
|
311
|
-
<th>
|
|
312
|
-
<nobr>接单时间</nobr>
|
|
313
|
-
</th>
|
|
314
|
-
<th>
|
|
315
|
-
<nobr>结单时间</nobr>
|
|
316
|
-
</th>
|
|
317
|
-
<th>
|
|
318
|
-
<nobr>到达时间</nobr>
|
|
319
|
-
</th>
|
|
320
|
-
<th>
|
|
321
|
-
<nobr>离开时间</nobr>
|
|
322
|
-
</th>
|
|
323
|
-
|
|
324
|
-
<th>
|
|
325
|
-
<nobr>逾期状态</nobr>
|
|
326
|
-
</th>
|
|
327
|
-
<th>
|
|
328
|
-
<nobr>截止时间</nobr>
|
|
329
|
-
</th>
|
|
330
|
-
<th>
|
|
331
|
-
<nobr>工单结果</nobr>
|
|
332
|
-
</th>
|
|
333
|
-
<th>
|
|
334
|
-
<nobr>维护信息</nobr>
|
|
335
|
-
</th>
|
|
336
|
-
<th>
|
|
337
|
-
<nobr>是否加急</nobr>
|
|
338
|
-
</th>
|
|
339
|
-
<th>
|
|
340
|
-
<nobr>是否封堵</nobr>
|
|
341
|
-
</th>
|
|
342
|
-
<th>
|
|
343
|
-
<nobr>备注</nobr>
|
|
344
|
-
</th>
|
|
345
|
-
</tr>
|
|
346
|
-
</template>
|
|
347
|
-
<template partial='body'>
|
|
348
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
349
|
-
<nobr>{{ $index + 1 }}</nobr>
|
|
350
|
-
</td>
|
|
351
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
352
|
-
<nobr v-if="row.f_phone&&row.f_again_revisit!='否'">
|
|
353
|
-
<button-link type="button" class="btn btn-link"
|
|
354
|
-
@click="$parent.$parent.$parent.playWav(row.f_phone,row)">回访
|
|
355
|
-
</button-link>
|
|
356
|
-
</nobr>
|
|
357
|
-
<nobr v-if="(!row.f_phone)||row.f_again_revisit=='否'">回访</nobr>
|
|
358
|
-
</td>
|
|
359
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
360
|
-
<nobr>{{ row.f_workorder_type }}</nobr>
|
|
361
|
-
</td>
|
|
362
|
-
|
|
363
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
364
|
-
<nobr>{{ row.f_service_id }}</nobr>
|
|
365
|
-
</td>
|
|
366
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
367
|
-
<nobr>{{ row.f_created_date }}</nobr>
|
|
368
|
-
</td>
|
|
369
|
-
|
|
370
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
371
|
-
<nobr>
|
|
372
|
-
{{ row.f_user_name }} {{ row.f_address }}
|
|
373
|
-
</nobr>
|
|
374
|
-
</td>
|
|
375
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
376
|
-
<nobr>
|
|
377
|
-
{{ row.f_user_type}}
|
|
378
|
-
</nobr>
|
|
379
|
-
</td>
|
|
380
|
-
|
|
381
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
382
|
-
<nobr>
|
|
383
|
-
{{ row.f_meternumber }}
|
|
384
|
-
</nobr>
|
|
385
|
-
</td>
|
|
386
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
387
|
-
<nobr>
|
|
388
|
-
{{ row.f_phone }}
|
|
389
|
-
</nobr>
|
|
390
|
-
</td>
|
|
391
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
392
|
-
<nobr>{{ row.f_contact_phone }}</nobr>
|
|
393
|
-
</td>
|
|
394
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
395
|
-
<nobr>{{ $parent.$parent.$parent.trouble(row.failure) }}</nobr>
|
|
396
|
-
</td>
|
|
397
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
398
|
-
<nobr>{{ row.f_source }}</nobr>
|
|
399
|
-
</td>
|
|
400
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
401
|
-
<nobr>
|
|
402
|
-
<!-- row.defname ?row.defname: (row.f_state === '撤销' ? '撤销' : '完成')-->
|
|
403
|
-
{{ row.f_state ?row.f_state:(row.defname ?row.defname:'完成')}}
|
|
404
|
-
</nobr>
|
|
405
|
-
</td>
|
|
406
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
407
|
-
<nobr>{{ row.f_single_man }}</nobr>
|
|
408
|
-
</td>
|
|
409
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
410
|
-
<nobr>{{ row.f_attendant }}</nobr>
|
|
411
|
-
</td>
|
|
412
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
413
|
-
<nobr>{{ row.f_order_man }} {{ row.f_repairman_phone }}</nobr>
|
|
414
|
-
</td>
|
|
415
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
416
|
-
<nobr>{{ row.f_order_date }}</nobr>
|
|
417
|
-
</td>
|
|
418
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
419
|
-
<nobr>{{ row.f_date }}</nobr>
|
|
420
|
-
</td>
|
|
421
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
422
|
-
<nobr>{{ row.f_date_come }}</nobr>
|
|
423
|
-
</td>
|
|
424
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
425
|
-
<nobr>{{ row.f_date_leave }}</nobr>
|
|
426
|
-
</td>
|
|
427
|
-
|
|
428
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
429
|
-
<nobr>{{ row.f_overdue_show}}</nobr>
|
|
430
|
-
</td>
|
|
431
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
432
|
-
<nobr>{{ row.f_finish_time_show }}</nobr>
|
|
433
|
-
</td>
|
|
434
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
435
|
-
<nobr>{{ row.f_result_status }}</nobr>
|
|
436
|
-
</td>
|
|
437
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
438
|
-
<nobr>{{ row.f_content }}</nobr>
|
|
439
|
-
</td>
|
|
440
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
441
|
-
<nobr>{{ row.f_remindersign }}</nobr>
|
|
442
|
-
</td>
|
|
443
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
444
|
-
<nobr>{{ row.f_is_block }}</nobr>
|
|
445
|
-
</td>
|
|
446
|
-
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
447
|
-
<nobr>{{ row.f_repair_remarks }}</nobr>
|
|
448
|
-
</td>
|
|
449
|
-
</template>
|
|
450
|
-
</data-grid>
|
|
451
|
-
</criteria-paged>
|
|
452
|
-
</div>
|
|
453
|
-
<!--打印-->
|
|
454
|
-
<modal :show.sync="printshow" v-ref:modal backdrop="false">
|
|
455
|
-
<header slot="modal-header" class="modal-header text-center">
|
|
456
|
-
<h4 class="modal-title">打印列选择</h4>
|
|
457
|
-
<input type="checkbox" class="" id="f_generations" v-model="all">
|
|
458
|
-
<label for="f_generations" class="font-size">全选</label>
|
|
459
|
-
</header>
|
|
460
|
-
<article slot="modal-body">
|
|
461
|
-
<div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
|
|
462
|
-
<div class="col-sm-3" v-for="f in fields">
|
|
463
|
-
<input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
|
|
464
|
-
<label :for="'water-owe-details-'+$index" class="font-size">{{ f }}</label>
|
|
465
|
-
</div>
|
|
466
|
-
</div>
|
|
467
|
-
</article>
|
|
468
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
469
|
-
<center>
|
|
470
|
-
<button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
|
|
471
|
-
<button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
|
|
472
|
-
<print-table :model='model' v-show="false" v-ref:print
|
|
473
|
-
:top='40' :left='60' :right='40' :bottom='60'
|
|
474
|
-
:thead="thead" :tfoot='tfoot' :attach="yangsen"
|
|
475
|
-
:fields="modelval">
|
|
476
|
-
</print-table>
|
|
477
|
-
</center>
|
|
478
|
-
</footer>
|
|
479
|
-
</modal>
|
|
480
|
-
</div>
|
|
481
|
-
<modal :show.sync="showVisit" v-ref:modal backdrop="false">
|
|
482
|
-
<header slot="modal-header" class="modal-header">
|
|
483
|
-
</header>
|
|
484
|
-
<article slot="modal-body" class="modal-body">
|
|
485
|
-
<visit-info v-if="showVisit" :row="visitrow" :phone="wavflie"
|
|
486
|
-
@show-obj="watchShow" @visitback="visitback"></visit-info>
|
|
487
|
-
</article>
|
|
488
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
489
|
-
</footer>
|
|
490
|
-
</modal>
|
|
491
|
-
<modal :show.sync="imgshow" v-ref:modal backdrop="true">
|
|
492
|
-
<header slot="modal-header" class="modal-header">
|
|
493
|
-
在线抢修照片
|
|
494
|
-
</header>
|
|
495
|
-
<article slot="modal-body" class="modal-body">
|
|
496
|
-
<div class="from-group">
|
|
497
|
-
<img-self :src="imgfilename" width="500" height="500"></img-self>
|
|
498
|
-
</div>
|
|
499
|
-
</article>
|
|
500
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
501
|
-
<button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
|
|
502
|
-
</footer>
|
|
503
|
-
</modal>
|
|
504
|
-
</template>
|
|
505
|
-
|
|
506
|
-
<script>
|
|
507
|
-
import {PagedList} from 'vue-client'
|
|
508
|
-
import DelayReply from '../../../components/pc/DelayReply'
|
|
509
|
-
import defaultPrint from './../../../components/pc/config/DefaultPrint'
|
|
510
|
-
import {HttpResetClass} from 'vue-client'
|
|
511
|
-
|
|
512
|
-
export default {
|
|
513
|
-
title: '工单列表',
|
|
514
|
-
data () {
|
|
515
|
-
return {
|
|
516
|
-
orgstrs: [{label: '全部', value: ''}],
|
|
517
|
-
editflag: null,
|
|
518
|
-
showVisit: false,
|
|
519
|
-
outltime: this.getNowFormatDate(),
|
|
520
|
-
wavflie: '',
|
|
521
|
-
selectone: '',
|
|
522
|
-
model: new PagedList('af-telephone/rs/sql/serviceDetails', 20,{overday:'this.overday'}),
|
|
523
|
-
row: null,
|
|
524
|
-
orderMan: '',
|
|
525
|
-
msgs: [],
|
|
526
|
-
service: Object,
|
|
527
|
-
pendingCount: 0,
|
|
528
|
-
// 打印
|
|
529
|
-
all: false,
|
|
530
|
-
modelval: [],
|
|
531
|
-
visitrow: {},
|
|
532
|
-
printshow: false,
|
|
533
|
-
imgshow: false,
|
|
534
|
-
imgfilename: '',
|
|
535
|
-
fields: {},
|
|
536
|
-
thead: '',
|
|
537
|
-
tfoot: '',
|
|
538
|
-
userType:this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
|
|
539
|
-
outlets:this.$appdata.getParam('呼叫所属部门')? [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫所属部门')]:this.$appdata.getParam('呼叫所属部门'),
|
|
540
|
-
result_status:this.$appdata.getParam('工单结果')?[{label: '全部', value: ''}, ...this.$appdata.getParam('工单结果')]:[{label: '全部', value: ''}],
|
|
541
|
-
revisits:[{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: 'null'}],
|
|
542
|
-
is_block:[{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: 'null'}],
|
|
543
|
-
overdays:[{label: '全部', value: ''}, {label: '一级(7天以上)', value: '一级'}, {label: '二级(7天内)', value: '二级'}],
|
|
544
|
-
zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
|
|
545
|
-
headData: ['工单类型', '工单编号', '派单时间','客户姓名','客户地址', '客户表号', '来电电话', '联系电话', '故障明细', '工单来源', '工单状态', '派单人', '话务员','接单站点','接单员','接单时间',
|
|
546
|
-
'结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息','备注'],
|
|
547
|
-
bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', 'f_user_name','f_address','f_meternumber','f_phone','f_contact_phone', 'f_json', 'f_source',
|
|
548
|
-
'f_state_show', 'f_single_man','f_attendant','f_outlets','f_order_man','f_order_date','f_date','f_date_come','f_date_leave',
|
|
549
|
-
'f_overdue_show','f_finish_time_show','f_result_status','f_content','f_remarks'],
|
|
550
|
-
searchData: {
|
|
551
|
-
condition: '1=1',
|
|
552
|
-
overday: ''
|
|
553
|
-
},
|
|
554
|
-
excelHeaders: {
|
|
555
|
-
'f_workorder_type': '工单类型',
|
|
556
|
-
'f_service_id': '工单编号',
|
|
557
|
-
'f_created_date': '派单时间',
|
|
558
|
-
'f_user_name': '客户姓名',
|
|
559
|
-
'f_address': '客户地址',
|
|
560
|
-
'f_meternumber': '客户表号',
|
|
561
|
-
'f_phone': '来电电话',
|
|
562
|
-
'f_contact_phone': '联系电话',
|
|
563
|
-
'f_json': '故障明细',
|
|
564
|
-
'f_source': '工单来源',
|
|
565
|
-
'f_state_show': '工单状态',
|
|
566
|
-
'f_single_man': '派单人',
|
|
567
|
-
'f_attendant': '话务员',
|
|
568
|
-
'f_outlets': '接单站点',
|
|
569
|
-
'f_order_man': '接单员',
|
|
570
|
-
'f_order_date': '接单时间',
|
|
571
|
-
'f_date': '结单时间',
|
|
572
|
-
'f_date_come': '到达时间',
|
|
573
|
-
'f_date_leave': '离开时间',
|
|
574
|
-
'f_overdue_show': '逾期状态',
|
|
575
|
-
'f_finish_time_show': '截止时间',
|
|
576
|
-
'f_result_status': '工单结果',
|
|
577
|
-
'f_content': '维护信息',
|
|
578
|
-
'f_remarks':'备注'
|
|
579
|
-
},
|
|
580
|
-
criteriaShow: false
|
|
581
|
-
}
|
|
582
|
-
},
|
|
583
|
-
props: {
|
|
584
|
-
user: {
|
|
585
|
-
type: Object
|
|
586
|
-
},
|
|
587
|
-
sum: 0,
|
|
588
|
-
maintenance: [],
|
|
589
|
-
|
|
590
|
-
serviceId: '',
|
|
591
|
-
|
|
592
|
-
defname: {
|
|
593
|
-
type: String
|
|
594
|
-
},
|
|
595
|
-
systemshow: {
|
|
596
|
-
type: Boolean,
|
|
597
|
-
default: false
|
|
598
|
-
}
|
|
599
|
-
},
|
|
600
|
-
ready () {
|
|
601
|
-
|
|
602
|
-
this.selfSearch()
|
|
603
|
-
},
|
|
604
|
-
watch: {
|
|
605
|
-
'all' (val) {
|
|
606
|
-
if (val) {
|
|
607
|
-
this.modelval = this.bodyData
|
|
608
|
-
} else {
|
|
609
|
-
this.modelval = defaultPrint.config
|
|
610
|
-
this.put()
|
|
611
|
-
}
|
|
612
|
-
},
|
|
613
|
-
'modelval.length' () {
|
|
614
|
-
this.put()
|
|
615
|
-
},
|
|
616
|
-
'serviceId' () {
|
|
617
|
-
this.selfSearch()
|
|
618
|
-
},
|
|
619
|
-
'sum' (val) {
|
|
620
|
-
this.selfSearch()
|
|
621
|
-
//this.model.search()
|
|
622
|
-
}
|
|
623
|
-
},
|
|
624
|
-
methods: {
|
|
625
|
-
visitback(val) {
|
|
626
|
-
this.visitrow = {}
|
|
627
|
-
this.showVisit = false
|
|
628
|
-
if (val == 'commit') {
|
|
629
|
-
this.model.search(this.searchData.condition)
|
|
630
|
-
}
|
|
631
|
-
},
|
|
632
|
-
clearmsg(){
|
|
633
|
-
this.$refs.paged.$refs.criteria.model={}
|
|
634
|
-
},
|
|
635
|
-
d1(row){
|
|
636
|
-
return row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?'已逾期':'未逾期'):(this.datejisuan(row.f_finish_date,this.getNowFormatDate())<0?'已逾期':'未逾期')):''
|
|
637
|
-
},
|
|
638
|
-
d2(row){
|
|
639
|
-
const result = row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?this.formatDuring(new Date(row.f_date).getTime(),new Date(row.f_finish_date).getTime()):'未逾期'):(this.datejisuan(row.f_finish_date,'')<0?this.formatDuring(new Date().getTime(),new Date(row.f_finish_date).getTime()):'未逾期')):''
|
|
640
|
-
if (result == '未逾期' && row.f_finish_date == '1900-01-01 00:00:00'){
|
|
641
|
-
return ''
|
|
642
|
-
}
|
|
643
|
-
return result
|
|
644
|
-
},
|
|
645
|
-
datejisuan(a,b){
|
|
646
|
-
if (a && b && a != '1900-01-01 00:00:00'){
|
|
647
|
-
return new Date(a).getTime()-new Date(b).getTime()
|
|
648
|
-
}else {
|
|
649
|
-
return ''
|
|
650
|
-
}
|
|
651
|
-
},
|
|
652
|
-
getNowFormatDate () {
|
|
653
|
-
var date = new Date()
|
|
654
|
-
var seperator1 = '-'
|
|
655
|
-
var seperator2 = ':'
|
|
656
|
-
var month = date.getMonth() + 1
|
|
657
|
-
var strDate = date.getDate()
|
|
658
|
-
var hour = date.getHours()
|
|
659
|
-
var min = date.getMinutes()
|
|
660
|
-
var second = date.getSeconds()
|
|
661
|
-
if (month >= 1 && month <= 9) {
|
|
662
|
-
month = '0' + month
|
|
663
|
-
}
|
|
664
|
-
if (strDate >= 0 && strDate <= 9) {
|
|
665
|
-
strDate = '0' + strDate
|
|
666
|
-
}
|
|
667
|
-
if (hour >= 0 && hour <= 9) {
|
|
668
|
-
hour = '0' + hour
|
|
669
|
-
}
|
|
670
|
-
if (min >= 0 && min <= 9) {
|
|
671
|
-
min = '0' + min
|
|
672
|
-
}
|
|
673
|
-
if (second >= 0 && second <= 9) {
|
|
674
|
-
second = '0' + second
|
|
675
|
-
}
|
|
676
|
-
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
|
677
|
-
+ ' ' + hour + seperator2 + min
|
|
678
|
-
+ seperator2 + second
|
|
679
|
-
return currentdate
|
|
680
|
-
},
|
|
681
|
-
watchShow (val) {
|
|
682
|
-
this.visitrow = {}
|
|
683
|
-
this.showVisit = val
|
|
684
|
-
this.selfSearch()
|
|
685
|
-
},
|
|
686
|
-
playWav (val, val2) {
|
|
687
|
-
//tag
|
|
688
|
-
this.wavflie = val
|
|
689
|
-
this.visitrow = val2
|
|
690
|
-
this.showVisit = true
|
|
691
|
-
},
|
|
692
|
-
showpicture (val) {
|
|
693
|
-
//tag
|
|
694
|
-
//tag)
|
|
695
|
-
this.imgshow = true
|
|
696
|
-
this.imgfilename = 'rs/image/file/' + val.f_single_path
|
|
697
|
-
},
|
|
698
|
-
imgclose () {
|
|
699
|
-
this.imgshow = false
|
|
700
|
-
},
|
|
701
|
-
yccolor (val) {
|
|
702
|
-
if (val == '异常') {
|
|
703
|
-
return 'color:red'
|
|
704
|
-
}
|
|
705
|
-
return ''
|
|
706
|
-
},
|
|
707
|
-
|
|
708
|
-
search (args) {
|
|
709
|
-
|
|
710
|
-
if (this.f_filialeids) {
|
|
711
|
-
args.condition += ` and f_filiale_id in ${this.f_filialeids}`
|
|
712
|
-
} else {
|
|
713
|
-
args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
714
|
-
}
|
|
715
|
-
if(args.model.overday){
|
|
716
|
-
if(args.model.overday == '一级'){
|
|
717
|
-
this.model.overday = ` and overday > 604800 and (f_state != '撤销' or f_state is null)`
|
|
718
|
-
}
|
|
719
|
-
if(args.model.overday == '二级'){
|
|
720
|
-
this.model.overday = ` and overday <= 604800 and overday > 0 and (f_state != '撤销' or f_state is null)`
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
if(args.model.f_result_status === '未完成'){
|
|
724
|
-
args.condition += ` and tsw.f_result_status is null`
|
|
725
|
-
}
|
|
726
|
-
if(args.model.f_result_status === '已完成'){
|
|
727
|
-
args.condition += ` and tsw.f_result_status = '已完成'`
|
|
728
|
-
}
|
|
729
|
-
if(args.model.f_revisit == '是'){
|
|
730
|
-
args.condition += ` and f_revisit = '是'`
|
|
731
|
-
}
|
|
732
|
-
if(args.model.f_revisit == 'null'){
|
|
733
|
-
args.condition += ` and f_revisit is null`
|
|
734
|
-
}
|
|
735
|
-
if(args.model.f_isback == '是'){
|
|
736
|
-
args.condition += ` and f_isback = '是'`
|
|
737
|
-
}
|
|
738
|
-
if(args.model.f_isback == 'null'){
|
|
739
|
-
args.condition += ` and f_isback is null`
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
if(args.model.f_is_block == '是'){
|
|
743
|
-
args.condition += ` and tswo.f_is_block = '封堵'`
|
|
744
|
-
}
|
|
745
|
-
if(args.model.f_is_block == 'null'){
|
|
746
|
-
args.condition += ` and tswo.f_is_block is null`
|
|
747
|
-
}
|
|
748
|
-
if(args.model.f_outlets && args.model.f_outlets.length > 0){
|
|
749
|
-
let info = ``
|
|
750
|
-
args.model.f_outlets.forEach((value) => {
|
|
751
|
-
info += `'${value}',`
|
|
752
|
-
})
|
|
753
|
-
info = info.substring(0, info.length - 1)
|
|
754
|
-
args.condition += ` and tswo.f_outlets in (${info})`
|
|
755
|
-
}
|
|
756
|
-
this.searchData.condition = args.condition
|
|
757
|
-
this.searchData.overday = this.model.overday
|
|
758
|
-
return this.model.search(args.condition, args.model)
|
|
759
|
-
},
|
|
760
|
-
selfSearch () {
|
|
761
|
-
// 取消编辑状态
|
|
762
|
-
let condition = '1=1'
|
|
763
|
-
|
|
764
|
-
if (this.f_filialeids) {
|
|
765
|
-
condition += ` and f_filiale_id in ${this.f_filialeids}`
|
|
766
|
-
//tag
|
|
767
|
-
} else {
|
|
768
|
-
condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
769
|
-
}
|
|
770
|
-
return this.model.search(condition)
|
|
771
|
-
},
|
|
772
|
-
|
|
773
|
-
// 发送数据给业务逻辑,并刷新界面
|
|
774
|
-
|
|
775
|
-
// 是否可以退回
|
|
776
|
-
|
|
777
|
-
trouble (val) {
|
|
778
|
-
let failureall=''
|
|
779
|
-
// val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
|
|
780
|
-
|
|
781
|
-
let failure = JSON.parse(val)
|
|
782
|
-
for (let i = 0; i <failure.length; i++) {
|
|
783
|
-
if (failure[i].failurecase.length>0){
|
|
784
|
-
failureall+=failure[i].f_failure_type+":"
|
|
785
|
-
for (let j = 0; j < failure[i].failurecase.length; j++) {
|
|
786
|
-
failureall+=failure[i].failurecase[j]
|
|
787
|
-
if (j+1!=failure[i].failurecase.length){
|
|
788
|
-
failureall+=","
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
}else{
|
|
793
|
-
failureall+=failure[i].f_failure_type
|
|
794
|
-
}
|
|
795
|
-
if (i+1!=failure.length){
|
|
796
|
-
failureall+=';'
|
|
797
|
-
}
|
|
798
|
-
}
|
|
799
|
-
return failureall
|
|
800
|
-
},
|
|
801
|
-
// 打印
|
|
802
|
-
stamp () {
|
|
803
|
-
this.all = false
|
|
804
|
-
// 默认选择要打印的列
|
|
805
|
-
this.modelval = defaultPrint.config
|
|
806
|
-
this.fields = this.getfield
|
|
807
|
-
this.printshow = true
|
|
808
|
-
this.put()
|
|
809
|
-
},
|
|
810
|
-
put () {
|
|
811
|
-
// 对Modelval进行排序
|
|
812
|
-
this.sortModelval()
|
|
813
|
-
this.thead = `<tr><th colspan=${this.modelval.length}>工单详情报表</th></tr><tr>`
|
|
814
|
-
for (let key of this.modelval) {
|
|
815
|
-
this.thead += '<th>' + this.fields[key] + '</th>'
|
|
816
|
-
}
|
|
817
|
-
this.thead += '</tr>'
|
|
818
|
-
},
|
|
819
|
-
print () {
|
|
820
|
-
this.$refs.print.PrintAsFile()
|
|
821
|
-
this.printshow = false
|
|
822
|
-
},
|
|
823
|
-
close () {
|
|
824
|
-
this.printshow = false
|
|
825
|
-
this.all = false
|
|
826
|
-
},
|
|
827
|
-
// 对选择的列进行排序
|
|
828
|
-
sortModelval () {
|
|
829
|
-
let sortModel = []
|
|
830
|
-
Object.keys(this.fields).forEach((key) => {
|
|
831
|
-
if (this.modelval.includes(key)) {
|
|
832
|
-
sortModel.push(key)
|
|
833
|
-
}
|
|
834
|
-
})
|
|
835
|
-
this.modelval = sortModel
|
|
836
|
-
},
|
|
837
|
-
hidden () {
|
|
838
|
-
this.criteriaShow = !this.criteriaShow
|
|
839
|
-
},
|
|
840
|
-
getRes (obj) {
|
|
841
|
-
//tag
|
|
842
|
-
////tag)
|
|
843
|
-
this.f_filialeids = this.$login.convertToIn(obj.resids)
|
|
844
|
-
//tag
|
|
845
|
-
},
|
|
846
|
-
formatDuring (s1,s2) {
|
|
847
|
-
var millisecond = s1-s2
|
|
848
|
-
var days = parseInt(millisecond / (1000 * 60 * 60 * 24))
|
|
849
|
-
var hours = parseInt((millisecond % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
|
|
850
|
-
var minutes = parseInt((millisecond % (1000 * 60 * 60)) / (1000 * 60))
|
|
851
|
-
var seconds = parseInt((millisecond % (1000 * 60)) / 1000)
|
|
852
|
-
return days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"
|
|
853
|
-
}
|
|
854
|
-
|
|
855
|
-
},
|
|
856
|
-
computed: {
|
|
857
|
-
failures(){
|
|
858
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫故障类型')]
|
|
859
|
-
},
|
|
860
|
-
defnames () {
|
|
861
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫工单状态')]
|
|
862
|
-
},
|
|
863
|
-
repairstypes () {
|
|
864
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修类型')]
|
|
865
|
-
},
|
|
866
|
-
serviceorders () {
|
|
867
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
|
|
868
|
-
},
|
|
869
|
-
sources () {
|
|
870
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单来源')]
|
|
871
|
-
},
|
|
872
|
-
getfield () {
|
|
873
|
-
let data = {}
|
|
874
|
-
this.bodyData.forEach((value, index) => {
|
|
875
|
-
data[this.bodyData[index]] = this.headData[index]
|
|
876
|
-
})
|
|
877
|
-
return data
|
|
878
|
-
}
|
|
879
|
-
},
|
|
880
|
-
components: {
|
|
881
|
-
'delay-reply': DelayReply
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
</script>
|
|
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="tswo.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
|
+
<div class="form-group col-sm-6 button-range" style="margin-right: 10px">
|
|
29
|
+
<button class="button_search button_spacing" style="margin-right: 9px"
|
|
30
|
+
@click="$parent.$parent.clearmsg()">清空
|
|
31
|
+
</button>
|
|
32
|
+
<button class="button_search button_spacing" style="margin-right: 9px"
|
|
33
|
+
@click="search(),$dispatch('search')">查询
|
|
34
|
+
</button>
|
|
35
|
+
<export-excel-tel
|
|
36
|
+
:data="$parent.$parent.searchData"
|
|
37
|
+
:field="$parent.$parent.excelHeaders"
|
|
38
|
+
sqlurl="af-telephone/rs/logic/telephoneExport"
|
|
39
|
+
sql-name="serviceDetails"
|
|
40
|
+
template-name='工单详情导出'
|
|
41
|
+
:choose-col="true">
|
|
42
|
+
</export-excel-tel>
|
|
43
|
+
|
|
44
|
+
<div style="float: right" class="button_spacing"
|
|
45
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
46
|
+
@click="$parent.$parent.hidden()"></div>
|
|
47
|
+
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
51
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
52
|
+
<label class="font_normal_body" style="width: 40%">客户编号</label>
|
|
53
|
+
<input type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
|
|
54
|
+
condition="tswo.f_userinfo_code like '%{}%'"
|
|
55
|
+
:size="model.f_userinfo_code ? model.f_userinfo_code.length : 6">
|
|
56
|
+
</div>
|
|
57
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
58
|
+
<label class="font_normal_body" style="width: 40%">派单时间</label>
|
|
59
|
+
<datepicker placeholder="起始派单时间"
|
|
60
|
+
:value.sync="model.f_created_date"
|
|
61
|
+
v-model="model.f_created_date"
|
|
62
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
63
|
+
condition="f_created_date > '{}'"
|
|
64
|
+
></datepicker>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
67
|
+
<label class="font_normal_body" style="width: 40%">派单时间</label>
|
|
68
|
+
<datepicker placeholder="终止派单时间"
|
|
69
|
+
:value.sync="model.f_created_enddate"
|
|
70
|
+
v-model="model.f_created_enddate"
|
|
71
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
72
|
+
condition="f_created_date < '{}'"
|
|
73
|
+
></datepicker>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
76
|
+
<label class="font_normal_body" style="width: 40%">来电电话</label>
|
|
77
|
+
<input type="text" class="input_search" v-model="model.f_phone" placeholder='来电电话'
|
|
78
|
+
condition="tswo.f_phone like '%{}%'"
|
|
79
|
+
:size="model.f_phone ? model.f_phone.length : 6">
|
|
80
|
+
</div>
|
|
81
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
82
|
+
<label class="font_normal_body" style="width: 40%">联系电话</label>
|
|
83
|
+
<input type="text" class="input_search" v-model="model.f_contact_phone" placeholder='联系电话'
|
|
84
|
+
condition="tswo.f_contact_phone like '%{}%'"
|
|
85
|
+
:size="model.f_contact_phone ? model.f_contact_phone.length : 6">
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
89
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
90
|
+
<label class="font_normal_body" style="width: 40%">地  址</label>
|
|
91
|
+
<input type="text" class="input_search" v-model="model.f_address" placeholder='地址'
|
|
92
|
+
condition="tswo.f_address like '%{}%'"
|
|
93
|
+
:size="model.f_address ? model.f_address.length : 4">
|
|
94
|
+
</div>
|
|
95
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
96
|
+
<label class="font_normal_body" style="width: 40%">接单站点</label>
|
|
97
|
+
<v-select :value.sync="model.f_outlets" v-model='model.f_outlets'
|
|
98
|
+
multiple="true"
|
|
99
|
+
:options='$parent.$parent.outlets' placeholder='接单站点'
|
|
100
|
+
close-on-select></v-select>
|
|
101
|
+
<!-- <input type="text" class="input_search" v-model="model.f_outlets" placeholder='接单站点'-->
|
|
102
|
+
<!-- condition="tswo.f_outlets like '%{}%'"-->
|
|
103
|
+
<!-- :size="model.f_outlets ? model.f_outlets.length : 6">-->
|
|
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_date_start"
|
|
109
|
+
v-model="model.f_date_start"
|
|
110
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
111
|
+
condition="f_date > '{}'"
|
|
112
|
+
></datepicker>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
115
|
+
<label class="font_normal_body" style="width: 40%">完成时间</label>
|
|
116
|
+
<datepicker placeholder="维修结束时间"
|
|
117
|
+
:value.sync="model.f_date_end"
|
|
118
|
+
v-model="model.f_date_end"
|
|
119
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
120
|
+
condition="f_date < '{}'"
|
|
121
|
+
></datepicker>
|
|
122
|
+
</div>
|
|
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_attendant" placeholder='话务员'
|
|
126
|
+
condition="tswo.f_attendant like '%{}%'"
|
|
127
|
+
:size="model.f_attendant ? model.f_attendant.length : 6">
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
131
|
+
<div class="col-sm-6 form-group form-input-group" style="width: 40%">
|
|
132
|
+
<role-selector-tel
|
|
133
|
+
role-name="维修员"
|
|
134
|
+
role-lable="维 修 员"
|
|
135
|
+
@re-res="$parent.$parent.getRes"
|
|
136
|
+
:value.sync="model.f_checker_id"
|
|
137
|
+
v-model="model.f_checker_id"
|
|
138
|
+
condition="tswo.f_order_man = '{}'">
|
|
139
|
+
</role-selector-tel>
|
|
140
|
+
</div>
|
|
141
|
+
<!-- <div class="col-sm-3 form-group form-input-group" style="width: 20%">-->
|
|
142
|
+
<!-- <label class="font_normal_body" style="width: 40%">接 单 员</label>-->
|
|
143
|
+
<!-- <input type="text" class="input_search" v-model="model.f_order_man" placeholder='接单员'-->
|
|
144
|
+
<!-- condition="tswo.f_order_man like '%{}%'"-->
|
|
145
|
+
<!-- :size="model.f_order_man ? model.f_order_man.length : 6">-->
|
|
146
|
+
<!-- </div>-->
|
|
147
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
148
|
+
<label class="font_normal_body" style="width: 40%">工单状态</label>
|
|
149
|
+
<v-select :value.sync="model.defname" v-model='model.defname'
|
|
150
|
+
:value-single="true"
|
|
151
|
+
:options='$parent.$parent.defnames' placeholder='工单状态'
|
|
152
|
+
condition="sa.defname = '{}'"
|
|
153
|
+
close-on-select></v-select>
|
|
154
|
+
</div>
|
|
155
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
156
|
+
<label class="font_normal_body" style="width: 40%" >报修类型</label>
|
|
157
|
+
<v-select :value.sync="model.f_repairtype" :value-single="true" v-model="model.f_repairtype"
|
|
158
|
+
:options='$parent.$parent.repairstypes' placeholder='报修类型'
|
|
159
|
+
condition="f_repairtype like '%{}%'"
|
|
160
|
+
close-on-select>
|
|
161
|
+
</v-select>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
164
|
+
<label class="font_normal_body" style="width: 40%" >逾期天数</label>
|
|
165
|
+
<v-select :value.sync="model.overday" :value-single="true" v-model="model.overday"
|
|
166
|
+
:options='$parent.$parent.overdays' placeholder='逾期天数'
|
|
167
|
+
close-on-select>
|
|
168
|
+
</v-select>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
172
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
173
|
+
<label class="font_normal_body" style="width: 40%" >是否回访</label>
|
|
174
|
+
<v-select :value.sync="model.f_revisit" :value-single="true" v-model="model.f_revisit"
|
|
175
|
+
:options='$parent.$parent.revisits' placeholder='是否回访'
|
|
176
|
+
close-on-select>
|
|
177
|
+
</v-select>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
180
|
+
<label class="font_normal_body" style="width: 40%" >故障类型</label>
|
|
181
|
+
<v-select :value.sync="model.failure" :value-single="true" v-model="model.failure"
|
|
182
|
+
:options='$parent.$parent.failures' placeholder='故障类型'
|
|
183
|
+
condition="failure like '%{}%'"
|
|
184
|
+
close-on-select>
|
|
185
|
+
</v-select>
|
|
186
|
+
</div>
|
|
187
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
188
|
+
<label class="font_normal_body" style="width: 40%">工单来源</label>
|
|
189
|
+
<v-select :value.sync="model.f_source" v-model='model.f_source'
|
|
190
|
+
:value-single="true"
|
|
191
|
+
:options='$parent.$parent.sources' placeholder='工单来源'
|
|
192
|
+
close-on-select
|
|
193
|
+
condition="tswo.f_source = '{}'"></v-select>
|
|
194
|
+
</div>
|
|
195
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
196
|
+
<label class="font_normal_body" style="width: 40%">工单结果</label>
|
|
197
|
+
<v-select :value.sync="model.f_result_status" v-model='model.f_result_status'
|
|
198
|
+
:value-single="true"
|
|
199
|
+
condition="tsw.f_result_status = '{}'"
|
|
200
|
+
:options='$parent.$parent.result_status' placeholder='工单结果'
|
|
201
|
+
close-on-select
|
|
202
|
+
></v-select>
|
|
203
|
+
</div>
|
|
204
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
205
|
+
<label class="font_normal_body" style="width: 40%">维修内容</label>
|
|
206
|
+
<input type="text" class="input_search" v-model="model.f_remarks" placeholder='维修内容'
|
|
207
|
+
condition="tsw.f_remarks like '%{}%'"
|
|
208
|
+
:size="model.f_remarks ? model.f_remarks.length : 6">
|
|
209
|
+
</div>
|
|
210
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
211
|
+
<label class="font_normal_body" style="width: 40%">用户类型</label>
|
|
212
|
+
<v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
|
|
213
|
+
:value-single="true"
|
|
214
|
+
:options='$parent.$parent.userType' placeholder='用户类型'
|
|
215
|
+
close-on-select
|
|
216
|
+
condition="tswo.f_user_type = '{}'"></v-select>
|
|
217
|
+
</div>
|
|
218
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
219
|
+
<label class="font_normal_body" style="width: 40%">是否封堵</label>
|
|
220
|
+
<v-select :value.sync="model.f_is_block" v-model='model.f_is_block'
|
|
221
|
+
:value-single="true"
|
|
222
|
+
:options='$parent.$parent.is_block' placeholder='是否封堵'
|
|
223
|
+
close-on-select
|
|
224
|
+
></v-select>
|
|
225
|
+
</div>
|
|
226
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
227
|
+
<label class="font_normal_body" style="width: 40%">是否退回</label>
|
|
228
|
+
<v-select :value.sync="model.f_isback" v-model='model.f_isback'
|
|
229
|
+
:value-single="true"
|
|
230
|
+
:options='$parent.$parent.revisits'
|
|
231
|
+
placeholder='是否退回'
|
|
232
|
+
close-on-select
|
|
233
|
+
></v-select>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
236
|
+
<label class="font_normal_body" style="width: 40%">接单时间</label>
|
|
237
|
+
<datepicker placeholder="接单开始时间"
|
|
238
|
+
:value.sync="model.f_order_date_start"
|
|
239
|
+
v-model="model.f_order_date_start"
|
|
240
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
241
|
+
condition="tswo.f_order_date > '{}'"
|
|
242
|
+
></datepicker>
|
|
243
|
+
</div>
|
|
244
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
245
|
+
<label class="font_normal_body" style="width: 40%">接单时间</label>
|
|
246
|
+
<datepicker placeholder="接单结束时间"
|
|
247
|
+
:value.sync="model.f_order_date_end"
|
|
248
|
+
v-model="model.f_order_date_end"
|
|
249
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
250
|
+
condition="tswo.f_order_date < '{}'"
|
|
251
|
+
></datepicker>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
|
|
255
|
+
</div>
|
|
256
|
+
</criteria>
|
|
257
|
+
|
|
258
|
+
<data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
|
|
259
|
+
<template partial='head'>
|
|
260
|
+
<tr>
|
|
261
|
+
<th>
|
|
262
|
+
<nobr>序号</nobr>
|
|
263
|
+
</th>
|
|
264
|
+
<th>
|
|
265
|
+
<nobr>回访</nobr>
|
|
266
|
+
</th>
|
|
267
|
+
<th>
|
|
268
|
+
<nobr>工单类型</nobr>
|
|
269
|
+
</th>
|
|
270
|
+
<!--<th><nobr>报修类型</nobr></th>-->
|
|
271
|
+
<th>
|
|
272
|
+
<nobr>工单编号</nobr>
|
|
273
|
+
</th>
|
|
274
|
+
<th>
|
|
275
|
+
<nobr>派单时间</nobr>
|
|
276
|
+
</th>
|
|
277
|
+
|
|
278
|
+
<th>
|
|
279
|
+
<nobr>客户信息</nobr>
|
|
280
|
+
</th>
|
|
281
|
+
<th>
|
|
282
|
+
<nobr>用户类型</nobr>
|
|
283
|
+
</th>
|
|
284
|
+
<th>
|
|
285
|
+
<nobr>表号</nobr>
|
|
286
|
+
</th>
|
|
287
|
+
<th>
|
|
288
|
+
<nobr>来电电话</nobr>
|
|
289
|
+
</th>
|
|
290
|
+
<th>
|
|
291
|
+
<nobr>联系电话</nobr>
|
|
292
|
+
</th>
|
|
293
|
+
<th>
|
|
294
|
+
<nobr>故障明细</nobr>
|
|
295
|
+
</th>
|
|
296
|
+
<th>
|
|
297
|
+
<nobr>工单来源</nobr>
|
|
298
|
+
</th>
|
|
299
|
+
<th>
|
|
300
|
+
<nobr>工单状态</nobr>
|
|
301
|
+
</th>
|
|
302
|
+
<th>
|
|
303
|
+
<nobr>派单人</nobr>
|
|
304
|
+
</th>
|
|
305
|
+
<th>
|
|
306
|
+
<nobr>话务员</nobr>
|
|
307
|
+
</th>
|
|
308
|
+
<th>
|
|
309
|
+
<nobr>接单员</nobr>
|
|
310
|
+
</th>
|
|
311
|
+
<th>
|
|
312
|
+
<nobr>接单时间</nobr>
|
|
313
|
+
</th>
|
|
314
|
+
<th>
|
|
315
|
+
<nobr>结单时间</nobr>
|
|
316
|
+
</th>
|
|
317
|
+
<th>
|
|
318
|
+
<nobr>到达时间</nobr>
|
|
319
|
+
</th>
|
|
320
|
+
<th>
|
|
321
|
+
<nobr>离开时间</nobr>
|
|
322
|
+
</th>
|
|
323
|
+
|
|
324
|
+
<th>
|
|
325
|
+
<nobr>逾期状态</nobr>
|
|
326
|
+
</th>
|
|
327
|
+
<th>
|
|
328
|
+
<nobr>截止时间</nobr>
|
|
329
|
+
</th>
|
|
330
|
+
<th>
|
|
331
|
+
<nobr>工单结果</nobr>
|
|
332
|
+
</th>
|
|
333
|
+
<th>
|
|
334
|
+
<nobr>维护信息</nobr>
|
|
335
|
+
</th>
|
|
336
|
+
<th>
|
|
337
|
+
<nobr>是否加急</nobr>
|
|
338
|
+
</th>
|
|
339
|
+
<th>
|
|
340
|
+
<nobr>是否封堵</nobr>
|
|
341
|
+
</th>
|
|
342
|
+
<th>
|
|
343
|
+
<nobr>备注</nobr>
|
|
344
|
+
</th>
|
|
345
|
+
</tr>
|
|
346
|
+
</template>
|
|
347
|
+
<template partial='body'>
|
|
348
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
349
|
+
<nobr>{{ $index + 1 }}</nobr>
|
|
350
|
+
</td>
|
|
351
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
352
|
+
<nobr v-if="row.f_phone&&row.f_again_revisit!='否'">
|
|
353
|
+
<button-link type="button" class="btn btn-link"
|
|
354
|
+
@click="$parent.$parent.$parent.playWav(row.f_phone,row)">回访
|
|
355
|
+
</button-link>
|
|
356
|
+
</nobr>
|
|
357
|
+
<nobr v-if="(!row.f_phone)||row.f_again_revisit=='否'">回访</nobr>
|
|
358
|
+
</td>
|
|
359
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
360
|
+
<nobr>{{ row.f_workorder_type }}</nobr>
|
|
361
|
+
</td>
|
|
362
|
+
|
|
363
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
364
|
+
<nobr>{{ row.f_service_id }}</nobr>
|
|
365
|
+
</td>
|
|
366
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
367
|
+
<nobr>{{ row.f_created_date }}</nobr>
|
|
368
|
+
</td>
|
|
369
|
+
|
|
370
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
371
|
+
<nobr>
|
|
372
|
+
{{ row.f_user_name }} {{ row.f_address }}
|
|
373
|
+
</nobr>
|
|
374
|
+
</td>
|
|
375
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
376
|
+
<nobr>
|
|
377
|
+
{{ row.f_user_type}}
|
|
378
|
+
</nobr>
|
|
379
|
+
</td>
|
|
380
|
+
|
|
381
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
382
|
+
<nobr>
|
|
383
|
+
{{ row.f_meternumber }}
|
|
384
|
+
</nobr>
|
|
385
|
+
</td>
|
|
386
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
387
|
+
<nobr>
|
|
388
|
+
{{ row.f_phone }}
|
|
389
|
+
</nobr>
|
|
390
|
+
</td>
|
|
391
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
392
|
+
<nobr>{{ row.f_contact_phone }}</nobr>
|
|
393
|
+
</td>
|
|
394
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
395
|
+
<nobr>{{ $parent.$parent.$parent.trouble(row.failure) }}</nobr>
|
|
396
|
+
</td>
|
|
397
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
398
|
+
<nobr>{{ row.f_source }}</nobr>
|
|
399
|
+
</td>
|
|
400
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
401
|
+
<nobr>
|
|
402
|
+
<!-- row.defname ?row.defname: (row.f_state === '撤销' ? '撤销' : '完成')-->
|
|
403
|
+
{{ row.f_state ?row.f_state:(row.defname ?row.defname:'完成')}}
|
|
404
|
+
</nobr>
|
|
405
|
+
</td>
|
|
406
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
407
|
+
<nobr>{{ row.f_single_man }}</nobr>
|
|
408
|
+
</td>
|
|
409
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
410
|
+
<nobr>{{ row.f_attendant }}</nobr>
|
|
411
|
+
</td>
|
|
412
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
413
|
+
<nobr>{{ row.f_order_man }} {{ row.f_repairman_phone }}</nobr>
|
|
414
|
+
</td>
|
|
415
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
416
|
+
<nobr>{{ row.f_order_date }}</nobr>
|
|
417
|
+
</td>
|
|
418
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
419
|
+
<nobr>{{ row.f_date }}</nobr>
|
|
420
|
+
</td>
|
|
421
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
422
|
+
<nobr>{{ row.f_date_come }}</nobr>
|
|
423
|
+
</td>
|
|
424
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
425
|
+
<nobr>{{ row.f_date_leave }}</nobr>
|
|
426
|
+
</td>
|
|
427
|
+
|
|
428
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
429
|
+
<nobr>{{ row.f_overdue_show}}</nobr>
|
|
430
|
+
</td>
|
|
431
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
432
|
+
<nobr>{{ row.f_finish_time_show }}</nobr>
|
|
433
|
+
</td>
|
|
434
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
435
|
+
<nobr>{{ row.f_result_status }}</nobr>
|
|
436
|
+
</td>
|
|
437
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
438
|
+
<nobr>{{ row.f_content }}</nobr>
|
|
439
|
+
</td>
|
|
440
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
441
|
+
<nobr>{{ row.f_remindersign }}</nobr>
|
|
442
|
+
</td>
|
|
443
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
444
|
+
<nobr>{{ row.f_is_block }}</nobr>
|
|
445
|
+
</td>
|
|
446
|
+
<td style="text-align: center;" :style="row.f_overdue_show == '已逾期'?'color:#FF5744':row.defname == '话务员派单'? 'color:#FF9900':''">
|
|
447
|
+
<nobr>{{ row.f_repair_remarks }}</nobr>
|
|
448
|
+
</td>
|
|
449
|
+
</template>
|
|
450
|
+
</data-grid>
|
|
451
|
+
</criteria-paged>
|
|
452
|
+
</div>
|
|
453
|
+
<!--打印-->
|
|
454
|
+
<modal :show.sync="printshow" v-ref:modal backdrop="false">
|
|
455
|
+
<header slot="modal-header" class="modal-header text-center">
|
|
456
|
+
<h4 class="modal-title">打印列选择</h4>
|
|
457
|
+
<input type="checkbox" class="" id="f_generations" v-model="all">
|
|
458
|
+
<label for="f_generations" class="font-size">全选</label>
|
|
459
|
+
</header>
|
|
460
|
+
<article slot="modal-body">
|
|
461
|
+
<div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
|
|
462
|
+
<div class="col-sm-3" v-for="f in fields">
|
|
463
|
+
<input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
|
|
464
|
+
<label :for="'water-owe-details-'+$index" class="font-size">{{ f }}</label>
|
|
465
|
+
</div>
|
|
466
|
+
</div>
|
|
467
|
+
</article>
|
|
468
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
469
|
+
<center>
|
|
470
|
+
<button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
|
|
471
|
+
<button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
|
|
472
|
+
<print-table :model='model' v-show="false" v-ref:print
|
|
473
|
+
:top='40' :left='60' :right='40' :bottom='60'
|
|
474
|
+
:thead="thead" :tfoot='tfoot' :attach="yangsen"
|
|
475
|
+
:fields="modelval">
|
|
476
|
+
</print-table>
|
|
477
|
+
</center>
|
|
478
|
+
</footer>
|
|
479
|
+
</modal>
|
|
480
|
+
</div>
|
|
481
|
+
<modal :show.sync="showVisit" v-ref:modal backdrop="false">
|
|
482
|
+
<header slot="modal-header" class="modal-header">
|
|
483
|
+
</header>
|
|
484
|
+
<article slot="modal-body" class="modal-body">
|
|
485
|
+
<visit-info v-if="showVisit" :row="visitrow" :phone="wavflie"
|
|
486
|
+
@show-obj="watchShow" @visitback="visitback"></visit-info>
|
|
487
|
+
</article>
|
|
488
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
489
|
+
</footer>
|
|
490
|
+
</modal>
|
|
491
|
+
<modal :show.sync="imgshow" v-ref:modal backdrop="true">
|
|
492
|
+
<header slot="modal-header" class="modal-header">
|
|
493
|
+
在线抢修照片
|
|
494
|
+
</header>
|
|
495
|
+
<article slot="modal-body" class="modal-body">
|
|
496
|
+
<div class="from-group">
|
|
497
|
+
<img-self :src="imgfilename" width="500" height="500"></img-self>
|
|
498
|
+
</div>
|
|
499
|
+
</article>
|
|
500
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
501
|
+
<button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
|
|
502
|
+
</footer>
|
|
503
|
+
</modal>
|
|
504
|
+
</template>
|
|
505
|
+
|
|
506
|
+
<script>
|
|
507
|
+
import {PagedList} from 'vue-client'
|
|
508
|
+
import DelayReply from '../../../components/pc/DelayReply'
|
|
509
|
+
import defaultPrint from './../../../components/pc/config/DefaultPrint'
|
|
510
|
+
import {HttpResetClass} from 'vue-client'
|
|
511
|
+
|
|
512
|
+
export default {
|
|
513
|
+
title: '工单列表',
|
|
514
|
+
data () {
|
|
515
|
+
return {
|
|
516
|
+
orgstrs: [{label: '全部', value: ''}],
|
|
517
|
+
editflag: null,
|
|
518
|
+
showVisit: false,
|
|
519
|
+
outltime: this.getNowFormatDate(),
|
|
520
|
+
wavflie: '',
|
|
521
|
+
selectone: '',
|
|
522
|
+
model: new PagedList('af-telephone/rs/sql/serviceDetails', 20,{overday:'this.overday'}),
|
|
523
|
+
row: null,
|
|
524
|
+
orderMan: '',
|
|
525
|
+
msgs: [],
|
|
526
|
+
service: Object,
|
|
527
|
+
pendingCount: 0,
|
|
528
|
+
// 打印
|
|
529
|
+
all: false,
|
|
530
|
+
modelval: [],
|
|
531
|
+
visitrow: {},
|
|
532
|
+
printshow: false,
|
|
533
|
+
imgshow: false,
|
|
534
|
+
imgfilename: '',
|
|
535
|
+
fields: {},
|
|
536
|
+
thead: '',
|
|
537
|
+
tfoot: '',
|
|
538
|
+
userType:this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
|
|
539
|
+
outlets:this.$appdata.getParam('呼叫所属部门')? [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫所属部门')]:this.$appdata.getParam('呼叫所属部门'),
|
|
540
|
+
result_status:this.$appdata.getParam('工单结果')?[{label: '全部', value: ''}, ...this.$appdata.getParam('工单结果')]:[{label: '全部', value: ''}],
|
|
541
|
+
revisits:[{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: 'null'}],
|
|
542
|
+
is_block:[{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: 'null'}],
|
|
543
|
+
overdays:[{label: '全部', value: ''}, {label: '一级(7天以上)', value: '一级'}, {label: '二级(7天内)', value: '二级'}],
|
|
544
|
+
zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
|
|
545
|
+
headData: ['工单类型', '工单编号', '派单时间','客户姓名','客户地址', '客户表号', '来电电话', '联系电话', '故障明细', '工单来源', '工单状态', '派单人', '话务员','接单站点','接单员','接单时间',
|
|
546
|
+
'结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息','备注'],
|
|
547
|
+
bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', 'f_user_name','f_address','f_meternumber','f_phone','f_contact_phone', 'f_json', 'f_source',
|
|
548
|
+
'f_state_show', 'f_single_man','f_attendant','f_outlets','f_order_man','f_order_date','f_date','f_date_come','f_date_leave',
|
|
549
|
+
'f_overdue_show','f_finish_time_show','f_result_status','f_content','f_remarks'],
|
|
550
|
+
searchData: {
|
|
551
|
+
condition: '1=1',
|
|
552
|
+
overday: ''
|
|
553
|
+
},
|
|
554
|
+
excelHeaders: {
|
|
555
|
+
'f_workorder_type': '工单类型',
|
|
556
|
+
'f_service_id': '工单编号',
|
|
557
|
+
'f_created_date': '派单时间',
|
|
558
|
+
'f_user_name': '客户姓名',
|
|
559
|
+
'f_address': '客户地址',
|
|
560
|
+
'f_meternumber': '客户表号',
|
|
561
|
+
'f_phone': '来电电话',
|
|
562
|
+
'f_contact_phone': '联系电话',
|
|
563
|
+
'f_json': '故障明细',
|
|
564
|
+
'f_source': '工单来源',
|
|
565
|
+
'f_state_show': '工单状态',
|
|
566
|
+
'f_single_man': '派单人',
|
|
567
|
+
'f_attendant': '话务员',
|
|
568
|
+
'f_outlets': '接单站点',
|
|
569
|
+
'f_order_man': '接单员',
|
|
570
|
+
'f_order_date': '接单时间',
|
|
571
|
+
'f_date': '结单时间',
|
|
572
|
+
'f_date_come': '到达时间',
|
|
573
|
+
'f_date_leave': '离开时间',
|
|
574
|
+
'f_overdue_show': '逾期状态',
|
|
575
|
+
'f_finish_time_show': '截止时间',
|
|
576
|
+
'f_result_status': '工单结果',
|
|
577
|
+
'f_content': '维护信息',
|
|
578
|
+
'f_remarks':'备注'
|
|
579
|
+
},
|
|
580
|
+
criteriaShow: false
|
|
581
|
+
}
|
|
582
|
+
},
|
|
583
|
+
props: {
|
|
584
|
+
user: {
|
|
585
|
+
type: Object
|
|
586
|
+
},
|
|
587
|
+
sum: 0,
|
|
588
|
+
maintenance: [],
|
|
589
|
+
|
|
590
|
+
serviceId: '',
|
|
591
|
+
|
|
592
|
+
defname: {
|
|
593
|
+
type: String
|
|
594
|
+
},
|
|
595
|
+
systemshow: {
|
|
596
|
+
type: Boolean,
|
|
597
|
+
default: false
|
|
598
|
+
}
|
|
599
|
+
},
|
|
600
|
+
ready () {
|
|
601
|
+
|
|
602
|
+
this.selfSearch()
|
|
603
|
+
},
|
|
604
|
+
watch: {
|
|
605
|
+
'all' (val) {
|
|
606
|
+
if (val) {
|
|
607
|
+
this.modelval = this.bodyData
|
|
608
|
+
} else {
|
|
609
|
+
this.modelval = defaultPrint.config
|
|
610
|
+
this.put()
|
|
611
|
+
}
|
|
612
|
+
},
|
|
613
|
+
'modelval.length' () {
|
|
614
|
+
this.put()
|
|
615
|
+
},
|
|
616
|
+
'serviceId' () {
|
|
617
|
+
this.selfSearch()
|
|
618
|
+
},
|
|
619
|
+
'sum' (val) {
|
|
620
|
+
this.selfSearch()
|
|
621
|
+
//this.model.search()
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
methods: {
|
|
625
|
+
visitback(val) {
|
|
626
|
+
this.visitrow = {}
|
|
627
|
+
this.showVisit = false
|
|
628
|
+
if (val == 'commit') {
|
|
629
|
+
this.model.search(this.searchData.condition)
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
clearmsg(){
|
|
633
|
+
this.$refs.paged.$refs.criteria.model={}
|
|
634
|
+
},
|
|
635
|
+
d1(row){
|
|
636
|
+
return row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?'已逾期':'未逾期'):(this.datejisuan(row.f_finish_date,this.getNowFormatDate())<0?'已逾期':'未逾期')):''
|
|
637
|
+
},
|
|
638
|
+
d2(row){
|
|
639
|
+
const result = row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?this.formatDuring(new Date(row.f_date).getTime(),new Date(row.f_finish_date).getTime()):'未逾期'):(this.datejisuan(row.f_finish_date,'')<0?this.formatDuring(new Date().getTime(),new Date(row.f_finish_date).getTime()):'未逾期')):''
|
|
640
|
+
if (result == '未逾期' && row.f_finish_date == '1900-01-01 00:00:00'){
|
|
641
|
+
return ''
|
|
642
|
+
}
|
|
643
|
+
return result
|
|
644
|
+
},
|
|
645
|
+
datejisuan(a,b){
|
|
646
|
+
if (a && b && a != '1900-01-01 00:00:00'){
|
|
647
|
+
return new Date(a).getTime()-new Date(b).getTime()
|
|
648
|
+
}else {
|
|
649
|
+
return ''
|
|
650
|
+
}
|
|
651
|
+
},
|
|
652
|
+
getNowFormatDate () {
|
|
653
|
+
var date = new Date()
|
|
654
|
+
var seperator1 = '-'
|
|
655
|
+
var seperator2 = ':'
|
|
656
|
+
var month = date.getMonth() + 1
|
|
657
|
+
var strDate = date.getDate()
|
|
658
|
+
var hour = date.getHours()
|
|
659
|
+
var min = date.getMinutes()
|
|
660
|
+
var second = date.getSeconds()
|
|
661
|
+
if (month >= 1 && month <= 9) {
|
|
662
|
+
month = '0' + month
|
|
663
|
+
}
|
|
664
|
+
if (strDate >= 0 && strDate <= 9) {
|
|
665
|
+
strDate = '0' + strDate
|
|
666
|
+
}
|
|
667
|
+
if (hour >= 0 && hour <= 9) {
|
|
668
|
+
hour = '0' + hour
|
|
669
|
+
}
|
|
670
|
+
if (min >= 0 && min <= 9) {
|
|
671
|
+
min = '0' + min
|
|
672
|
+
}
|
|
673
|
+
if (second >= 0 && second <= 9) {
|
|
674
|
+
second = '0' + second
|
|
675
|
+
}
|
|
676
|
+
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
|
677
|
+
+ ' ' + hour + seperator2 + min
|
|
678
|
+
+ seperator2 + second
|
|
679
|
+
return currentdate
|
|
680
|
+
},
|
|
681
|
+
watchShow (val) {
|
|
682
|
+
this.visitrow = {}
|
|
683
|
+
this.showVisit = val
|
|
684
|
+
this.selfSearch()
|
|
685
|
+
},
|
|
686
|
+
playWav (val, val2) {
|
|
687
|
+
//tag
|
|
688
|
+
this.wavflie = val
|
|
689
|
+
this.visitrow = val2
|
|
690
|
+
this.showVisit = true
|
|
691
|
+
},
|
|
692
|
+
showpicture (val) {
|
|
693
|
+
//tag
|
|
694
|
+
//tag)
|
|
695
|
+
this.imgshow = true
|
|
696
|
+
this.imgfilename = 'rs/image/file/' + val.f_single_path
|
|
697
|
+
},
|
|
698
|
+
imgclose () {
|
|
699
|
+
this.imgshow = false
|
|
700
|
+
},
|
|
701
|
+
yccolor (val) {
|
|
702
|
+
if (val == '异常') {
|
|
703
|
+
return 'color:red'
|
|
704
|
+
}
|
|
705
|
+
return ''
|
|
706
|
+
},
|
|
707
|
+
|
|
708
|
+
search (args) {
|
|
709
|
+
|
|
710
|
+
if (this.f_filialeids) {
|
|
711
|
+
args.condition += ` and f_filiale_id in ${this.f_filialeids}`
|
|
712
|
+
} else {
|
|
713
|
+
args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
714
|
+
}
|
|
715
|
+
if(args.model.overday){
|
|
716
|
+
if(args.model.overday == '一级'){
|
|
717
|
+
this.model.overday = ` and overday > 604800 and (f_state != '撤销' or f_state is null)`
|
|
718
|
+
}
|
|
719
|
+
if(args.model.overday == '二级'){
|
|
720
|
+
this.model.overday = ` and overday <= 604800 and overday > 0 and (f_state != '撤销' or f_state is null)`
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
if(args.model.f_result_status === '未完成'){
|
|
724
|
+
args.condition += ` and tsw.f_result_status is null`
|
|
725
|
+
}
|
|
726
|
+
if(args.model.f_result_status === '已完成'){
|
|
727
|
+
args.condition += ` and tsw.f_result_status = '已完成'`
|
|
728
|
+
}
|
|
729
|
+
if(args.model.f_revisit == '是'){
|
|
730
|
+
args.condition += ` and f_revisit = '是'`
|
|
731
|
+
}
|
|
732
|
+
if(args.model.f_revisit == 'null'){
|
|
733
|
+
args.condition += ` and f_revisit is null`
|
|
734
|
+
}
|
|
735
|
+
if(args.model.f_isback == '是'){
|
|
736
|
+
args.condition += ` and f_isback = '是'`
|
|
737
|
+
}
|
|
738
|
+
if(args.model.f_isback == 'null'){
|
|
739
|
+
args.condition += ` and f_isback is null`
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
if(args.model.f_is_block == '是'){
|
|
743
|
+
args.condition += ` and tswo.f_is_block = '封堵'`
|
|
744
|
+
}
|
|
745
|
+
if(args.model.f_is_block == 'null'){
|
|
746
|
+
args.condition += ` and tswo.f_is_block is null`
|
|
747
|
+
}
|
|
748
|
+
if(args.model.f_outlets && args.model.f_outlets.length > 0){
|
|
749
|
+
let info = ``
|
|
750
|
+
args.model.f_outlets.forEach((value) => {
|
|
751
|
+
info += `'${value}',`
|
|
752
|
+
})
|
|
753
|
+
info = info.substring(0, info.length - 1)
|
|
754
|
+
args.condition += ` and tswo.f_outlets in (${info})`
|
|
755
|
+
}
|
|
756
|
+
this.searchData.condition = args.condition
|
|
757
|
+
this.searchData.overday = this.model.overday
|
|
758
|
+
return this.model.search(args.condition, args.model)
|
|
759
|
+
},
|
|
760
|
+
selfSearch () {
|
|
761
|
+
// 取消编辑状态
|
|
762
|
+
let condition = '1=1'
|
|
763
|
+
|
|
764
|
+
if (this.f_filialeids) {
|
|
765
|
+
condition += ` and f_filiale_id in ${this.f_filialeids}`
|
|
766
|
+
//tag
|
|
767
|
+
} else {
|
|
768
|
+
condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
769
|
+
}
|
|
770
|
+
return this.model.search(condition)
|
|
771
|
+
},
|
|
772
|
+
|
|
773
|
+
// 发送数据给业务逻辑,并刷新界面
|
|
774
|
+
|
|
775
|
+
// 是否可以退回
|
|
776
|
+
|
|
777
|
+
trouble (val) {
|
|
778
|
+
let failureall=''
|
|
779
|
+
// val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
|
|
780
|
+
|
|
781
|
+
let failure = JSON.parse(val)
|
|
782
|
+
for (let i = 0; i <failure.length; i++) {
|
|
783
|
+
if (failure[i].failurecase.length>0){
|
|
784
|
+
failureall+=failure[i].f_failure_type+":"
|
|
785
|
+
for (let j = 0; j < failure[i].failurecase.length; j++) {
|
|
786
|
+
failureall+=failure[i].failurecase[j]
|
|
787
|
+
if (j+1!=failure[i].failurecase.length){
|
|
788
|
+
failureall+=","
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
}else{
|
|
793
|
+
failureall+=failure[i].f_failure_type
|
|
794
|
+
}
|
|
795
|
+
if (i+1!=failure.length){
|
|
796
|
+
failureall+=';'
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
return failureall
|
|
800
|
+
},
|
|
801
|
+
// 打印
|
|
802
|
+
stamp () {
|
|
803
|
+
this.all = false
|
|
804
|
+
// 默认选择要打印的列
|
|
805
|
+
this.modelval = defaultPrint.config
|
|
806
|
+
this.fields = this.getfield
|
|
807
|
+
this.printshow = true
|
|
808
|
+
this.put()
|
|
809
|
+
},
|
|
810
|
+
put () {
|
|
811
|
+
// 对Modelval进行排序
|
|
812
|
+
this.sortModelval()
|
|
813
|
+
this.thead = `<tr><th colspan=${this.modelval.length}>工单详情报表</th></tr><tr>`
|
|
814
|
+
for (let key of this.modelval) {
|
|
815
|
+
this.thead += '<th>' + this.fields[key] + '</th>'
|
|
816
|
+
}
|
|
817
|
+
this.thead += '</tr>'
|
|
818
|
+
},
|
|
819
|
+
print () {
|
|
820
|
+
this.$refs.print.PrintAsFile()
|
|
821
|
+
this.printshow = false
|
|
822
|
+
},
|
|
823
|
+
close () {
|
|
824
|
+
this.printshow = false
|
|
825
|
+
this.all = false
|
|
826
|
+
},
|
|
827
|
+
// 对选择的列进行排序
|
|
828
|
+
sortModelval () {
|
|
829
|
+
let sortModel = []
|
|
830
|
+
Object.keys(this.fields).forEach((key) => {
|
|
831
|
+
if (this.modelval.includes(key)) {
|
|
832
|
+
sortModel.push(key)
|
|
833
|
+
}
|
|
834
|
+
})
|
|
835
|
+
this.modelval = sortModel
|
|
836
|
+
},
|
|
837
|
+
hidden () {
|
|
838
|
+
this.criteriaShow = !this.criteriaShow
|
|
839
|
+
},
|
|
840
|
+
getRes (obj) {
|
|
841
|
+
//tag
|
|
842
|
+
////tag)
|
|
843
|
+
this.f_filialeids = this.$login.convertToIn(obj.resids)
|
|
844
|
+
//tag
|
|
845
|
+
},
|
|
846
|
+
formatDuring (s1,s2) {
|
|
847
|
+
var millisecond = s1-s2
|
|
848
|
+
var days = parseInt(millisecond / (1000 * 60 * 60 * 24))
|
|
849
|
+
var hours = parseInt((millisecond % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
|
|
850
|
+
var minutes = parseInt((millisecond % (1000 * 60 * 60)) / (1000 * 60))
|
|
851
|
+
var seconds = parseInt((millisecond % (1000 * 60)) / 1000)
|
|
852
|
+
return days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
},
|
|
856
|
+
computed: {
|
|
857
|
+
failures(){
|
|
858
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫故障类型')]
|
|
859
|
+
},
|
|
860
|
+
defnames () {
|
|
861
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('呼叫工单状态')]
|
|
862
|
+
},
|
|
863
|
+
repairstypes () {
|
|
864
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('报修类型')]
|
|
865
|
+
},
|
|
866
|
+
serviceorders () {
|
|
867
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单类型')]
|
|
868
|
+
},
|
|
869
|
+
sources () {
|
|
870
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('工单来源')]
|
|
871
|
+
},
|
|
872
|
+
getfield () {
|
|
873
|
+
let data = {}
|
|
874
|
+
this.bodyData.forEach((value, index) => {
|
|
875
|
+
data[this.bodyData[index]] = this.headData[index]
|
|
876
|
+
})
|
|
877
|
+
return data
|
|
878
|
+
}
|
|
879
|
+
},
|
|
880
|
+
components: {
|
|
881
|
+
'delay-reply': DelayReply
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
</script>
|