telephone-clients 3.0.103-7 → 3.0.103-71
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 +3 -3
- package/src/App.vue +5 -3
- package/src/components/Util/RightTreeSafe.vue +2 -2
- package/src/components/Util/RightTreeSafeDep.vue +350 -0
- package/src/components/android/AddMyTask.vue +7 -0
- package/src/components/pc/RepairsWork.vue +19 -0
- package/src/components/pc/RoleSelectorDep.vue +158 -0
- package/src/components/pc/TelFindUser.vue +1 -1
- package/src/components/pc/TelListener.vue +47 -16
- package/src/components/pc/WorkCenter.vue +1 -1
- package/src/components/pc/WorkCenterList.vue +1 -1
- package/src/components/pc/WorkHistory.vue +560 -548
- package/src/components/pc/WorkListAllNew.vue +1 -1
- package/src/components/pc/WorkListNew.vue +9 -3
- package/src/components/pc/olddata/OldWorkList.vue +193 -0
- package/src/components/telreport/RepairsDetailsReport.vue +98 -0
- package/src/components/telreport/TableFaultReport.vue +96 -0
- package/src/components/telreport/Traffic.vue +3 -3
- package/src/components/temp/InfoTable.vue +5 -2
- package/src/components/temp/OldRepairList.vue +100 -0
- package/src/components/weinan/SiteSend.vue +2 -2
- package/src/components/weinan/SiteSendWeixiu.vue +7 -16
- package/src/components/weinan/StandWorkWeixiu.vue +1 -1
- package/src/components/weinan/WorkList.vue +73 -0
- package/src/components/weinan/WorkListAll.vue +90 -14
- package/src/components/weinan/WorkListWeixiu.vue +1 -1
- package/src/components/workorder/CompletedRepair.vue +269 -183
- package/src/components/workorder/FaultAll.vue +9 -9
- package/src/components/workorder/PhoneUpDetail.vue +3 -0
- package/src/components/workorder/RepairFirstV.vue +1 -1
- package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
- package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
- package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
- package/src/filiale/kelai/telephone.js +9 -8
- package/src/filiale/qianneng/android/FaultAll.vue +1 -1
- package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
- package/src/filiale/qianneng/pc/MaterialDetailed.vue +10 -0
- package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
- package/src/filiale/qianneng/pc/NewRepairPaper.vue +2 -2
- package/src/filiale/qianneng/pc/RepairsWork.vue +12 -2
- package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
- package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
- package/src/filiale/qianneng/telephone.js +1 -0
- package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
- package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
- package/src/filiale/rizhao/pc/Traffic.vue +3 -3
- package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
- package/src/filiale/rongcheng/CliWorkListAll.vue +440 -407
- package/src/filiale/rongcheng/FaultAll.vue +3 -3
- package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
- package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
- package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
- package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
- package/src/filiale/shanxian/telephone.js +2 -1
- package/src/filiale/shexian/android/AddMyTask.vue +7 -0
- package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
- package/src/filiale/shexian/android/FaultAll.vue +16 -0
- package/src/filiale/shexian/android/Outlay.vue +182 -165
- package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
- package/src/filiale/shexian/android/RepairInfo.vue +1 -0
- package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
- package/src/filiale/shexian/pc/WorkList.vue +25 -1
- package/src/filiale/shexian/pc/WorkListAllNew.vue +65 -61
- package/src/filiale/shexian/telephoneAndroid.js +3 -0
- package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
- package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
- package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
- package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
- package/src/filiale/wenxi/pc/WorkListAll.vue +5 -2
- package/src/filiale/wenxi/telephone.js +1 -7
- package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
- package/src/filiale/yuncheng/telephone.js +12 -0
- package/src/filiale/zhongsheng/android/FaultAll.vue +830 -0
- package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
- package/src/main.js +1 -1
- package/src/telephone.js +746 -733
- package/src/weinan.js +6 -0
|
@@ -165,6 +165,31 @@
|
|
|
165
165
|
close-on-select>
|
|
166
166
|
</v-select>
|
|
167
167
|
</div>
|
|
168
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
169
|
+
<label class="font_normal_body" style="width: 40%" >是否退单</label>
|
|
170
|
+
<v-select :value.sync="model.f_state" :value-single="true" v-model="model.f_state"
|
|
171
|
+
:options='$parent.$parent.states' placeholder='是否退单'
|
|
172
|
+
close-on-select>
|
|
173
|
+
</v-select>
|
|
174
|
+
</div>
|
|
175
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
176
|
+
<label class="font_normal_body" style="width: 40%">截至时间</label>
|
|
177
|
+
<datepicker placeholder="开始时间"
|
|
178
|
+
:value.sync="model.f_jzdate_start"
|
|
179
|
+
v-model="model.f_jzdate_start"
|
|
180
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
181
|
+
condition="f_result_status is null and f_finish_date > '{}'"
|
|
182
|
+
></datepicker>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
185
|
+
<label class="font_normal_body" style="width: 40%">截至时间</label>
|
|
186
|
+
<datepicker placeholder="结束时间"
|
|
187
|
+
:value.sync="model.f_jzdate_end"
|
|
188
|
+
v-model="model.f_jzdate_end"
|
|
189
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
190
|
+
condition="f_finish_date < '{}'"
|
|
191
|
+
></datepicker>
|
|
192
|
+
</div>
|
|
168
193
|
|
|
169
194
|
</div>
|
|
170
195
|
|
|
@@ -234,13 +259,12 @@
|
|
|
234
259
|
<th>
|
|
235
260
|
<nobr>逾期时间</nobr>
|
|
236
261
|
</th>
|
|
237
|
-
|
|
238
|
-
|
|
262
|
+
<th>
|
|
263
|
+
<nobr>剩余时间</nobr>
|
|
264
|
+
</th>
|
|
239
265
|
<th>
|
|
240
266
|
<nobr>工单结果</nobr>
|
|
241
267
|
</th>
|
|
242
|
-
|
|
243
|
-
|
|
244
268
|
</tr>
|
|
245
269
|
</template>
|
|
246
270
|
<template partial='body'>
|
|
@@ -314,7 +338,9 @@
|
|
|
314
338
|
<td style="text-align: center;">
|
|
315
339
|
<nobr>{{ $parent.$parent.$parent.d2(row) }}</nobr>
|
|
316
340
|
</td>
|
|
317
|
-
|
|
341
|
+
<td style="text-align: center;">
|
|
342
|
+
<nobr>{{ $parent.$parent.$parent.d3(row) }}</nobr>
|
|
343
|
+
</td>
|
|
318
344
|
|
|
319
345
|
<td style="text-align: center;">
|
|
320
346
|
<nobr>{{ row.f_result_status }}</nobr>
|
|
@@ -397,7 +423,7 @@ export default {
|
|
|
397
423
|
model: new PagedList('rs/sql/serviceDetails', 20),
|
|
398
424
|
row: null,
|
|
399
425
|
orderMan: '',
|
|
400
|
-
|
|
426
|
+
states:[{label: '全部', value: ''}, {label: '是', value: '是'},{label: '否', value: '否'}],
|
|
401
427
|
msgs: [],
|
|
402
428
|
service: Object,
|
|
403
429
|
pendingCount: 0,
|
|
@@ -456,7 +482,7 @@ export default {
|
|
|
456
482
|
},
|
|
457
483
|
ready () {
|
|
458
484
|
|
|
459
|
-
this.selfSearch()
|
|
485
|
+
// this.selfSearch()
|
|
460
486
|
},
|
|
461
487
|
watch: {
|
|
462
488
|
'all' (val) {
|
|
@@ -483,7 +509,13 @@ export default {
|
|
|
483
509
|
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,'')<0?'已逾期':'未逾期')):''
|
|
484
510
|
},
|
|
485
511
|
d2(row){
|
|
486
|
-
return 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,
|
|
512
|
+
return 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,this.getNowFormatDate())<0?this.formatDuring(new Date(this.getNowFormatDate()).getTime(),new Date(row.f_finish_date).getTime()):'未逾期')):''
|
|
513
|
+
},
|
|
514
|
+
d3(row){
|
|
515
|
+
return row.f_workorder_type == '报修单' && row.f_finish_date ?
|
|
516
|
+
(row.f_result_status == '已完成'?
|
|
517
|
+
'0天':(this.datejisuan(row.f_finish_date,this.getNowFormatDate())<0?
|
|
518
|
+
'已逾期':this.formatDuring(new Date(row.f_finish_date).getTime(),new Date(this.getNowFormatDate()).getTime()))):''
|
|
487
519
|
},
|
|
488
520
|
datejisuan(a,b){
|
|
489
521
|
return new Date(a).getTime()-new Date(b).getTime()
|
|
@@ -551,7 +583,13 @@ export default {
|
|
|
551
583
|
} else {
|
|
552
584
|
args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
553
585
|
}
|
|
554
|
-
|
|
586
|
+
if (this.$refs.paged.$refs.criteria.model.f_state.length > 0){
|
|
587
|
+
if (this.$refs.paged.$refs.criteria.model.f_state[0] == '是'){
|
|
588
|
+
args.condition += ` and f_state = '撤销' `
|
|
589
|
+
}else {
|
|
590
|
+
args.condition += ` and f_state is null `
|
|
591
|
+
}
|
|
592
|
+
}
|
|
555
593
|
this.searchData.condition = args.condition
|
|
556
594
|
return this.model.search(args.condition, args.model)
|
|
557
595
|
},
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto ">
|
|
3
|
+
<div class="">
|
|
4
|
+
<label class="control-label">{{row.f_user_name}}</label>
|
|
5
|
+
<span>{{row.f_phone}}</span>
|
|
6
|
+
<span>{{row.f_address}}</span>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="">
|
|
9
|
+
<span>报修时间:{{row.f_repair_date}}</span>
|
|
10
|
+
<span>工单编号:{{row.f_service_id}}</span>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="form-input-group">
|
|
13
|
+
<label class="control-label text-justify">撤销内容</label>
|
|
14
|
+
<textarea name="name" rows="3" cols="80" v-model="row.serviceacitivity[0].f_backaccount"></textarea>
|
|
15
|
+
</div>
|
|
16
|
+
<button type="button" name="button" class="btn btn-default" style="float: left;" @click="$emit('cancel')">取消</button>
|
|
17
|
+
<button type="button" name="button" class="btn btn-success" style="float: right;" @click="confirm()">保存</button>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
<script>
|
|
21
|
+
export default {
|
|
22
|
+
title: '撤销',
|
|
23
|
+
props: {
|
|
24
|
+
// 报修单,不含关联关系
|
|
25
|
+
row: { // 工单信息
|
|
26
|
+
type: Object
|
|
27
|
+
},
|
|
28
|
+
loginUser: { // 当前登录人
|
|
29
|
+
type: Object
|
|
30
|
+
},
|
|
31
|
+
callObj: { // 来电电话
|
|
32
|
+
type: Object
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
methods: {
|
|
36
|
+
confirm () {
|
|
37
|
+
console.log("撤销工单")
|
|
38
|
+
let data = {model: this.row, loginUser: {name:this.$login.f.name, ename: this.$login.f.ename}}
|
|
39
|
+
// 将数据发送给业务逻辑
|
|
40
|
+
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/serviceDelete`, data).then(() => {
|
|
41
|
+
this.$emit('success')
|
|
42
|
+
})
|
|
43
|
+
// return this.$resetpost('rs/logic/reminder', {model: this.row, loginUser: this.loginUser, callObj: this.callObj}).then(() => {
|
|
44
|
+
// this.$emit('success')
|
|
45
|
+
// })
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
watch: {
|
|
49
|
+
// 报修单发生改变,给报修单设置默认派单对象
|
|
50
|
+
row (val) {
|
|
51
|
+
this.row.serviceacitivity = [{}]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
</script>
|
|
@@ -14,23 +14,24 @@ let specialComp = {
|
|
|
14
14
|
'telloss-list': (resolve) => {require(['./pc/TelLossList'], resolve)},
|
|
15
15
|
// 呼叫大屏主页面
|
|
16
16
|
'call-report-main-page-kelai': (resolve) => { require(['./pc/CallReport/CallReportMainPage-Kelai'], resolve) },
|
|
17
|
-
|
|
17
|
+
//时间
|
|
18
18
|
'time-comp': (resolve) => { require(['./pc/CallReport/Time'], resolve) },
|
|
19
|
-
|
|
19
|
+
//运行天数
|
|
20
20
|
'time-running': (resolve) => { require(['./pc/CallReport/timeRunning'], resolve) },
|
|
21
|
-
|
|
21
|
+
//累计通话
|
|
22
22
|
'cumulative-calls': (resolve) => { require(['./pc/CallReport/CumulativeCalls'], resolve) },
|
|
23
|
-
|
|
23
|
+
//坐席状态
|
|
24
24
|
'seat-status': (resolve) => { require(['./pc/CallReport/SeatStatus'], resolve) },
|
|
25
|
-
|
|
25
|
+
//呼入接听量
|
|
26
26
|
'incoming-callvolume': (resolve) => { require(['./pc/CallReport/Incomingcallvolume'], resolve) },
|
|
27
|
-
|
|
27
|
+
//呼入时间数据
|
|
28
28
|
'tncoming-timedata': (resolve) => { require(['./pc/CallReport/IncomingTimedata'], resolve) },
|
|
29
|
-
|
|
29
|
+
//工单类型统计
|
|
30
30
|
'workorder-typesum': (resolve) => { require(['./pc/CallReport/WorkorderTypesum'], resolve) },
|
|
31
|
+
'service-delete-order': (resolve) => { require(['./pc/serviceDeleteOrder'], resolve) },
|
|
31
32
|
'record-list-left':(resolve) => { require(['./pc/RecordListLeft'], resolve) },
|
|
32
33
|
'work-listall-new':(resolve) => { require(['./pc/WorkListAllNew.vue'], resolve) },
|
|
33
|
-
'
|
|
34
|
+
'work-center-list':(resolve) => { require(['./pc/WorkCenterList.vue'], resolve) }
|
|
34
35
|
}
|
|
35
36
|
exports.specialComp = specialComp
|
|
36
37
|
|
|
@@ -486,7 +486,7 @@ export default {
|
|
|
486
486
|
// if ((this.savevalid.uservalid && this.savevalid.doorvalid) || this.norepair || this.liGuanWeiXou || this.sheBeiRepairAll) {
|
|
487
487
|
this.msg.serviceacitivity[0].f_date_leave = Util.toStandardTimeString()
|
|
488
488
|
this.msg.serviceacitivity[0].f_result_status = param
|
|
489
|
-
this.msg.serviceacitivity[0].f_button = '
|
|
489
|
+
this.msg.serviceacitivity[0].f_button = '维修完成'
|
|
490
490
|
if (this.msg.defname == '审核验收'){
|
|
491
491
|
this.msg.serviceacitivity[0].f_button = '维修完成'
|
|
492
492
|
}
|
|
@@ -368,6 +368,9 @@
|
|
|
368
368
|
this.$showMessage('请填写报警内容类别')
|
|
369
369
|
return
|
|
370
370
|
}
|
|
371
|
+
if(data.model.failure){
|
|
372
|
+
data.model.f_json = this.trouble(data.model.failure)
|
|
373
|
+
}
|
|
371
374
|
//tag)
|
|
372
375
|
let data = {
|
|
373
376
|
model: this.model, loginUser: {
|
|
@@ -427,6 +430,28 @@
|
|
|
427
430
|
failure.push({"f_failure_type": val[i], "failurecase": []})
|
|
428
431
|
}
|
|
429
432
|
this.model.failure=JSON.stringify(failure)
|
|
433
|
+
},
|
|
434
|
+
trouble (val) {
|
|
435
|
+
let failureall=''
|
|
436
|
+
let failure = JSON.parse(val)
|
|
437
|
+
for (let i = 0; i <failure.length; i++) {
|
|
438
|
+
if (failure[i].failurecase.length>0){
|
|
439
|
+
failureall+=failure[i].f_failure_type+":"
|
|
440
|
+
for (let j = 0; j < failure[i].failurecase.length; j++) {
|
|
441
|
+
failureall+=failure[i].failurecase[j]
|
|
442
|
+
if (j+1!=failure[i].failurecase.length){
|
|
443
|
+
failureall+=","
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
}else{
|
|
448
|
+
failureall+=failure[i].f_failure_type
|
|
449
|
+
}
|
|
450
|
+
if (i+1!=failure.length){
|
|
451
|
+
failureall+=';'
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return failureall
|
|
430
455
|
}
|
|
431
456
|
},
|
|
432
457
|
ready(){
|
|
@@ -111,7 +111,9 @@
|
|
|
111
111
|
<tr>
|
|
112
112
|
<th>序号</th>
|
|
113
113
|
<th>工单编号</th>
|
|
114
|
+
<th>客户编号</th>
|
|
114
115
|
<th>客户名称</th>
|
|
116
|
+
<th>客户电话</th>
|
|
115
117
|
<th>地址</th>
|
|
116
118
|
<th>故障明细</th>
|
|
117
119
|
<th>用户类型</th>
|
|
@@ -135,9 +137,15 @@
|
|
|
135
137
|
<td style="text-align: center;">
|
|
136
138
|
<nobr><font>{{row.f_service_id}}</font></nobr>
|
|
137
139
|
</td>
|
|
140
|
+
<td style="text-align: center;">
|
|
141
|
+
<nobr><font>{{row.f_userinfo_code}}</font></nobr>
|
|
142
|
+
</td>
|
|
138
143
|
<td style="text-align: center;">
|
|
139
144
|
<nobr><font>{{row.f_user_name}}</font></nobr>
|
|
140
145
|
</td>
|
|
146
|
+
<td style="text-align: center;">
|
|
147
|
+
<nobr><font>{{row.f_contact_phone}}</font></nobr>
|
|
148
|
+
</td>
|
|
141
149
|
<td style="text-align: center;">
|
|
142
150
|
<nobr><font>{{row.f_address}}</font></nobr>
|
|
143
151
|
</td>
|
|
@@ -197,7 +205,9 @@ export default {
|
|
|
197
205
|
criteriaShow: false,
|
|
198
206
|
getfield: {
|
|
199
207
|
'f_service_id': '工单编号',
|
|
208
|
+
'f_userinfo_code': '客户编号',
|
|
200
209
|
'f_user_name': '客户名称',
|
|
210
|
+
'f_contact_phone': '客户电话',
|
|
201
211
|
'f_address': '地址',
|
|
202
212
|
'f_json': '故障明细',
|
|
203
213
|
'f_user_type': '用户类型',
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row">
|
|
3
|
+
<div style="height: 95%" class="basic-main" >
|
|
4
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
5
|
+
<criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
|
|
6
|
+
<div class="form-horizontal select-overspread container-fluid auto" style="margin-bottom: 10px" partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<div class="col-sm-6 form-group form-input-group" style="width: 40%">
|
|
9
|
+
<role-selector-tel
|
|
10
|
+
role-name="维修员"
|
|
11
|
+
role-lable="维 修 员"
|
|
12
|
+
@re-res="$parent.$parent.getRes"
|
|
13
|
+
:value.sync="model.f_checker_id"
|
|
14
|
+
v-model="model.f_checker_id"
|
|
15
|
+
condition="f_order_man = '{}'">
|
|
16
|
+
</role-selector-tel>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
19
|
+
<label class="font_normal_body" style="width: 40%">操作时间</label>
|
|
20
|
+
<datepicker placeholder="起始操作时间"
|
|
21
|
+
:value.sync="model.f_created_date"
|
|
22
|
+
v-model="model.f_created_date"
|
|
23
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
24
|
+
condition="f_date >= '{}'"
|
|
25
|
+
></datepicker>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
28
|
+
<label class="font_normal_body" style="width: 40%">操作时间</label>
|
|
29
|
+
<datepicker placeholder="终止操作时间"
|
|
30
|
+
:value.sync="model.f_created_enddate"
|
|
31
|
+
v-model="model.f_created_enddate"
|
|
32
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
33
|
+
condition="f_date <= '{}'"
|
|
34
|
+
></datepicker>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="form-group col-sm-3 button-range">
|
|
37
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
38
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
39
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
40
|
+
:field="$parent.$parent.getfield"
|
|
41
|
+
sqlurl="rs/logic/telephoneExport"
|
|
42
|
+
sql-name="getMaterialStatistics"
|
|
43
|
+
template-name='材料汇总导出'
|
|
44
|
+
:choose-col="true"></export-excel>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</criteria>
|
|
49
|
+
<data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
|
|
50
|
+
<template partial='head'>
|
|
51
|
+
<tr>
|
|
52
|
+
<th>序号</th>
|
|
53
|
+
<th>维修员</th>
|
|
54
|
+
<th>材料名称</th>
|
|
55
|
+
<th>材料型号</th>
|
|
56
|
+
<th>数量</th>
|
|
57
|
+
<th>金额(元)</th>
|
|
58
|
+
</tr>
|
|
59
|
+
</template>
|
|
60
|
+
<template partial='body'>
|
|
61
|
+
<tr >
|
|
62
|
+
<td style="text-align: center;">
|
|
63
|
+
<nobr><font>{{$index+1}}</font></nobr>
|
|
64
|
+
</td>
|
|
65
|
+
<td style="text-align: center;">
|
|
66
|
+
<nobr><font>{{row.f_repair_man}}</font></nobr>
|
|
67
|
+
</td>
|
|
68
|
+
<td style="text-align: center;">
|
|
69
|
+
<nobr><font>{{row.f_material_name}}</font></nobr>
|
|
70
|
+
</td>
|
|
71
|
+
<td style="text-align: center;">
|
|
72
|
+
<nobr><font>{{row.f_material_type}}</font></nobr>
|
|
73
|
+
</td>
|
|
74
|
+
<td style="text-align: center;">
|
|
75
|
+
<nobr><font>{{row.f_count}}</font></nobr>
|
|
76
|
+
</td>
|
|
77
|
+
<td style="text-align: center;">
|
|
78
|
+
<nobr><font>{{row.f_money}}</font></nobr>
|
|
79
|
+
</td>
|
|
80
|
+
</tr>
|
|
81
|
+
</template>
|
|
82
|
+
</data-grid>
|
|
83
|
+
</criteria-paged>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
</div>
|
|
87
|
+
</template>
|
|
88
|
+
|
|
89
|
+
<script>
|
|
90
|
+
import {PagedList} from 'vue-client'
|
|
91
|
+
export default {
|
|
92
|
+
title: '材料汇总',
|
|
93
|
+
data () {
|
|
94
|
+
return {
|
|
95
|
+
model: new PagedList('rs/sql/getMaterialStatistics', 30, null),
|
|
96
|
+
criteriaShow: false,
|
|
97
|
+
getfield: {
|
|
98
|
+
'f_repair_man': '维修员',
|
|
99
|
+
'f_material_name': '材料名称',
|
|
100
|
+
'f_material_type': '材料型号',
|
|
101
|
+
'f_count': '数量',
|
|
102
|
+
'f_money': '金额(元)',
|
|
103
|
+
},
|
|
104
|
+
f_filialeids: ''
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
ready () {
|
|
108
|
+
// 调用查询
|
|
109
|
+
this.search()
|
|
110
|
+
},
|
|
111
|
+
methods: {
|
|
112
|
+
clear () {
|
|
113
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
114
|
+
this.$refs.cp.$refs.cri.model[key] = ''
|
|
115
|
+
})
|
|
116
|
+
},
|
|
117
|
+
searchCondition (args) {
|
|
118
|
+
if (this.f_filialeids) {
|
|
119
|
+
args.condition += ` and t2.f_filiale_id in ${this.f_filialeids}`
|
|
120
|
+
} else {
|
|
121
|
+
args.condition += ` and t2.f_filiale_id = '${this.$login.f.orgid}'`
|
|
122
|
+
}
|
|
123
|
+
this.model.search(args.condition, args.model)
|
|
124
|
+
},
|
|
125
|
+
// 查询
|
|
126
|
+
search () {
|
|
127
|
+
this.$refs.cp.$refs.cri.search()
|
|
128
|
+
},
|
|
129
|
+
getRes (obj) {
|
|
130
|
+
this.f_filialeids = this.$login.convertToIn(obj.resids)
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
computed: {
|
|
134
|
+
getCondition () {
|
|
135
|
+
return {
|
|
136
|
+
condition: this.model.condition
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
</script>
|
|
142
|
+
|
|
143
|
+
<style scoped>
|
|
144
|
+
</style>
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
|
|
66
66
|
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
|
|
67
67
|
</tr>
|
|
68
|
-
<tr>
|
|
68
|
+
<!-- <tr>
|
|
69
69
|
|
|
70
70
|
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>
|
|
71
71
|
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>
|
|
72
72
|
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>
|
|
73
73
|
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>
|
|
74
|
-
</tr
|
|
74
|
+
</tr>-->
|
|
75
75
|
<tr>
|
|
76
76
|
|
|
77
77
|
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
<label class="font_normal_body" style="width: 30%">来电电话</label>
|
|
7
7
|
<input style="width: 60%" type="text" readonly v-model='model.f_phone' class="form-control"></input>
|
|
8
8
|
</div>
|
|
9
|
+
<div class="col-sm-6 form-group form-fix-width">
|
|
10
|
+
<label class="font_normal_body" for="f_user_name" :class="model.f_userinfo_code ? '': 'class-error' "
|
|
11
|
+
style="width: 30%">客户编号</label>
|
|
12
|
+
<input style="width: 60%" type="text" readonly v-model='model.f_userinfo_code' id="f_userinfo_code" name="f_userinfo_code"
|
|
13
|
+
class="form-control"/>
|
|
14
|
+
</div>
|
|
9
15
|
<div class="col-sm-6 form-group form-fix-width">
|
|
10
16
|
<label class="font_normal_body" for="f_user_name" :class="model.f_user_name ? '': 'class-error' "
|
|
11
17
|
style="width: 30%">客户姓名</label>
|
|
@@ -93,7 +99,8 @@
|
|
|
93
99
|
</div>
|
|
94
100
|
<div class="col-sm-6 form-group form-fix-width">
|
|
95
101
|
<label class=" font_normal_body" style="width: 30%">截止天数</label>
|
|
96
|
-
<v-select :value="model.day" :value-single="true"
|
|
102
|
+
<v-select :value.sync="model.day" :value-single="true"
|
|
103
|
+
v-model="model.day"
|
|
97
104
|
:options='days' placeholder='请选择截止天数'
|
|
98
105
|
close-on-select
|
|
99
106
|
v-on:change="daychange" style="width: 60%"></v-select>
|
|
@@ -310,12 +317,14 @@
|
|
|
310
317
|
f_service_acitivity_type: '派单'
|
|
311
318
|
}],
|
|
312
319
|
f_source: '话务来电',
|
|
320
|
+
day:'',
|
|
313
321
|
f_finish_date:'',
|
|
314
322
|
f_service_id: '',
|
|
315
323
|
f_contact_phone: '',
|
|
316
324
|
f_enter_number: '',
|
|
317
325
|
f_meetunit: '',
|
|
318
326
|
f_phone: '',
|
|
327
|
+
f_userinfo_code: '',
|
|
319
328
|
f_user_name: '',
|
|
320
329
|
f_address: '',
|
|
321
330
|
f_alarm_accident: '',//报警详细地址
|
|
@@ -631,6 +640,7 @@
|
|
|
631
640
|
f_meetunit: this.model.serviceacitivity[0].f_meetunit,
|
|
632
641
|
f_reciever: this.model.serviceacitivity[0].f_reciever
|
|
633
642
|
}],
|
|
643
|
+
day:'',
|
|
634
644
|
f_finish_date:'',
|
|
635
645
|
f_repairman_phone:this.model.f_repairman_phone,
|
|
636
646
|
f_meetunit: this.model.f_meetunit,
|
|
@@ -760,7 +770,7 @@
|
|
|
760
770
|
',报警人:' + this.showMessageData.model.f_user_name +
|
|
761
771
|
',报警电话:' + this.showMessageData.model.f_phone +
|
|
762
772
|
',联系电话:' + this.showMessageData.model.f_contact_phone +
|
|
763
|
-
'
|
|
773
|
+
',接警时间:' + Util.getNowDate() +
|
|
764
774
|
',警情类别:' + this.showMessageData.model.f_repairtype +
|
|
765
775
|
',报警类别:' + JSON.parse(this.showMessageData.model.failure)[0].f_failure_type +
|
|
766
776
|
',报警事故地址:' + this.showMessageData.model.f_alarm_accident +
|
|
@@ -154,13 +154,13 @@
|
|
|
154
154
|
@click="repairlist($index)">查看详情
|
|
155
155
|
</button>
|
|
156
156
|
</div>
|
|
157
|
-
<div style="margin-top: 5px" v-if="activity.type === 't_servicework' && activity.f_button =='维修完成' ">
|
|
157
|
+
<!-- <div style="margin-top: 5px" v-if="activity.type === 't_servicework' && activity.f_button =='维修完成' ">
|
|
158
158
|
<p>验收人员: {{ activity.f_name }} 完成结果: {{ activity.f_result_status }}
|
|
159
159
|
</p>
|
|
160
160
|
<button type="button" name="button"style="margin-left: 0px" class="button_spacing button_search-1"
|
|
161
161
|
@click="repairlist($index)">查看详情
|
|
162
162
|
</button>
|
|
163
|
-
</div
|
|
163
|
+
</div>-->
|
|
164
164
|
<!-- 工单结案 -->
|
|
165
165
|
<div style="margin-top: 5px" v-if="activity.type === 't_serviceend'">
|
|
166
166
|
<p>{{ activity.f_date }}</p>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
9
9
|
<label class="font_normal_body" style="width: 40%">工单编号</label>
|
|
10
10
|
<input type="text" class="input_search" v-model="model.f_service_id" placeholder='工单编号'
|
|
11
|
-
condition="f_service_id like '%{}%'"
|
|
11
|
+
condition="tswo.f_service_id like '%{}%'"
|
|
12
12
|
:size="model.f_service_id ? model.f_service_id.length : 6">
|
|
13
13
|
</div>
|
|
14
14
|
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
@@ -177,7 +177,6 @@
|
|
|
177
177
|
<label class="font_normal_body" style="width: 40%">工单结果</label>
|
|
178
178
|
<v-select :value.sync="model.f_result_status" :value-single="true" v-model="model.f_result_status"
|
|
179
179
|
:options='$parent.$parent.result_status' placeholder='工单结果'
|
|
180
|
-
condition="tsw.f_result_status = '{}'"
|
|
181
180
|
close-on-select>
|
|
182
181
|
</v-select>
|
|
183
182
|
</div>
|
|
@@ -187,6 +186,20 @@
|
|
|
187
186
|
condition="tswo.f_single_man like '%{}%'"
|
|
188
187
|
:size="model.f_single_man ? model.f_single_man.length : 6">
|
|
189
188
|
</div>
|
|
189
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
190
|
+
<label class="font_normal_body" style="width: 40%">客户类型</label>
|
|
191
|
+
<v-select :value.sync="model.f_user_type" :value-single="true" v-model="model.f_user_type"
|
|
192
|
+
:options='$parent.$parent.user_types' placeholder='客户类型'
|
|
193
|
+
condition="tswo.f_user_type = '{}'"
|
|
194
|
+
close-on-select>
|
|
195
|
+
</v-select>
|
|
196
|
+
</div>
|
|
197
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
198
|
+
<label class="font_normal_body" style="width: 40%">维修类型</label>
|
|
199
|
+
<input type="text" class="input_search" v-model="model.f_failure" placeholder='维修类型'
|
|
200
|
+
condition="tf.f_failure like '%{}%'" style="width: 150px"
|
|
201
|
+
>
|
|
202
|
+
</div>
|
|
190
203
|
</div>
|
|
191
204
|
</div>
|
|
192
205
|
</criteria>
|
|
@@ -251,9 +264,21 @@
|
|
|
251
264
|
<th>
|
|
252
265
|
<nobr>工单结果</nobr>
|
|
253
266
|
</th>
|
|
267
|
+
<th>
|
|
268
|
+
<nobr>客户类型</nobr>
|
|
269
|
+
</th>
|
|
270
|
+
<th>
|
|
271
|
+
<nobr>维修类型</nobr>
|
|
272
|
+
</th>
|
|
254
273
|
<th>
|
|
255
274
|
<nobr>派单类型</nobr>
|
|
256
275
|
</th>
|
|
276
|
+
<th>
|
|
277
|
+
<nobr>汇总备注</nobr>
|
|
278
|
+
</th>
|
|
279
|
+
<th>
|
|
280
|
+
<nobr>隐患备注</nobr>
|
|
281
|
+
</th>
|
|
257
282
|
</tr>
|
|
258
283
|
</template>
|
|
259
284
|
<template partial='body'>
|
|
@@ -281,7 +306,7 @@
|
|
|
281
306
|
|
|
282
307
|
<td>
|
|
283
308
|
<nobr>
|
|
284
|
-
{{ row.f_user_name }} {{ row.f_address }}
|
|
309
|
+
{{ row.f_userinfo_code }} {{ row.f_user_name }} {{ row.f_address }}
|
|
285
310
|
</nobr>
|
|
286
311
|
</td>
|
|
287
312
|
<td style="text-align: center;">
|
|
@@ -324,9 +349,21 @@
|
|
|
324
349
|
<td style="text-align: center;">
|
|
325
350
|
<nobr>{{ row.f_result_status }}</nobr>
|
|
326
351
|
</td>
|
|
352
|
+
<td style="text-align: center;">
|
|
353
|
+
<nobr>{{ row.f_user_type }}</nobr>
|
|
354
|
+
</td>
|
|
355
|
+
<td style="text-align: center;">
|
|
356
|
+
<nobr>{{ row.f_failure }}</nobr>
|
|
357
|
+
</td>
|
|
327
358
|
<td style="text-align: center;">
|
|
328
359
|
<nobr>{{ row.f_handlingtype }}</nobr>
|
|
329
360
|
</td>
|
|
361
|
+
<td style="text-align: center;">
|
|
362
|
+
<nobr>{{ row.f_repair_remarks }}</nobr>
|
|
363
|
+
</td>
|
|
364
|
+
<td style="text-align: center;">
|
|
365
|
+
<nobr>{{ row.f_content }}</nobr>
|
|
366
|
+
</td>
|
|
330
367
|
</template>
|
|
331
368
|
</data-grid>
|
|
332
369
|
</criteria-paged>
|
|
@@ -403,6 +440,7 @@ export default {
|
|
|
403
440
|
model: new PagedList('rs/sql/serviceDetails', 20),
|
|
404
441
|
row: null,
|
|
405
442
|
orderMan: '',
|
|
443
|
+
user_types:[{label: '全部', value: ''}, {label: '民用', value: '民用'},{label: '非民用', value: '非民用'}],
|
|
406
444
|
handling_types:[{label: '全部', value: ''}, {label: '转站点', value: '转站点'},{label: '转维修员', value: '转维修员'},{label: '转运营系统', value: '转运营系统'}],
|
|
407
445
|
msgs: [],
|
|
408
446
|
service: Object,
|
|
@@ -443,7 +481,11 @@ export default {
|
|
|
443
481
|
'f_overdue_show': '逾期状态',
|
|
444
482
|
'f_finish_time_show': '截止时间',
|
|
445
483
|
'f_result_status': '工单结果',
|
|
446
|
-
'
|
|
484
|
+
'f_user_type': '客户类型',
|
|
485
|
+
'f_failure': '维修类型',
|
|
486
|
+
'f_handlingtype': '派单类型',
|
|
487
|
+
'f_repair_remarks': '汇总备注',
|
|
488
|
+
'f_content': '隐患备注'
|
|
447
489
|
},
|
|
448
490
|
criteriaShow: false
|
|
449
491
|
}
|
|
@@ -570,7 +612,13 @@ export default {
|
|
|
570
612
|
} else {
|
|
571
613
|
args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
572
614
|
}
|
|
573
|
-
|
|
615
|
+
if (args.model.f_result_status) {
|
|
616
|
+
if (args.model.f_result_status == '已完成') {
|
|
617
|
+
args.condition += ` and tsw.f_result_status = '已完成'`
|
|
618
|
+
}else {
|
|
619
|
+
args.condition += ` and tsw.f_result_status is null `
|
|
620
|
+
}
|
|
621
|
+
}
|
|
574
622
|
this.searchData.condition = args.condition
|
|
575
623
|
return this.model.search(args.condition, args.model)
|
|
576
624
|
},
|
|
@@ -12,6 +12,7 @@ let specialComp = {
|
|
|
12
12
|
'failure-edit':(resolve) => { require(['./pc/FailureEdit'], resolve) },
|
|
13
13
|
'new-repair-paper': (resolve) => { require(['./pc/NewRepairPaper'], resolve)},
|
|
14
14
|
'tel-material-detailed': (resolve) => { require(['./pc/MaterialDetailed'], resolve)},
|
|
15
|
+
'material-statistics': (resolve) => { require(['./pc/MaterialStatistics'], resolve)},
|
|
15
16
|
}
|
|
16
17
|
exports.specialComp = specialComp
|
|
17
18
|
|