telephone-clients 4.0.0-1-89 → 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,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%">地  址</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%">受 理 人</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%">接 单 人</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 }} {{ row.f_address }} {{ 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%">地  址</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%">受 理 人</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%">接 单 人</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 }} {{ row.f_address }} {{ 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
|
+
|