telephone-clients 3.0.104-1 → 3.0.104-100
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 +54 -54
- package/src/components/android/ImgArea.vue +80 -0
- package/src/components/guoxin/Console.vue +42 -5
- package/src/components/guoxin/call.state.api.js +3 -1
- package/src/components/pc/ComplainWork.vue +3 -0
- package/src/components/pc/NewRepairPaper.vue +370 -370
- package/src/components/pc/RecordListLeft.vue +80 -10
- package/src/components/pc/RepairsWork.vue +33 -3
- package/src/components/pc/RoleSelector.vue +7 -1
- package/src/components/pc/Seekwork.vue +3 -0
- package/src/components/pc/SiteSend.vue +38 -1
- package/src/components/pc/TelLossList.vue +20 -3
- package/src/components/pc/VisitInfo.vue +44 -7
- package/src/components/pc/WorkHistory.vue +1 -1
- package/src/components/pc/WorkList.vue +4 -3
- package/src/components/pc/WorkListAllNew.vue +16 -8
- package/src/components/pc/WorkListNew.vue +722 -712
- package/src/components/sendsingle/onlinequeryuser.vue +1 -1
- package/src/components/telcount/TelByOrderMan.vue +22 -4
- package/src/components/telreport/RepairsDetailsReport.vue +2 -2
- package/src/components/telreport/TrafficClassificationReport.vue +13 -13
- package/src/components/telreport/Trafficassess.vue +2 -2
- package/src/components/temp/HandplanInfo.vue +16 -1
- package/src/components/temp/InstructInfo.vue +1 -1
- package/src/components/temp/SecuritycheckInfo.vue +14 -0
- package/src/components/workorder/RepairDetails.vue +8 -2
- package/src/components/workorder/RepairInfo.vue +3 -3
- package/src/components/workorder/RepairPaperAndroid.vue +351 -0
- package/src/components/workorder/ServiceOnlineQuery.vue +306 -0
- package/src/components/workorder/TemporarySingle.vue +346 -302
- package/src/filiale/furuike/pc/QueryVisitHistory.vue +14 -1
- package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
- package/src/filiale/hanzhong/telephone.js +1 -1
- package/src/filiale/jiaocheng/android/createQRcode.vue +204 -0
- package/src/filiale/jiaocheng/android/onlineBuyGas.vue +637 -0
- package/src/filiale/jiaocheng/telephone.js +8 -0
- package/src/filiale/jiaocheng/telephoneAndroid.js +15 -0
- package/src/filiale/lixian/onlineChangeMeter.vue +481 -0
- package/src/filiale/lixian/onlineoperation.vue +606 -0
- package/src/filiale/lixian/onlinequeryuser.vue +509 -0
- package/src/filiale/lixian/telephoneAndroid.js +23 -0
- package/src/filiale/qianneng/android/AppInstallationMaterial.vue +880 -845
- package/src/filiale/qianneng/android/TemporarySingle.vue +537 -537
- package/src/filiale/qianneng/pc/MaterialDetailed.vue +260 -260
- package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
- package/src/filiale/qianneng/pc/RepairsWork.vue +992 -992
- package/src/filiale/qianneng/pc/WorkListAllNew.vue +11 -3
- package/src/filiale/qianneng/pc/changetable.vue +273 -273
- package/src/filiale/qianneng/telephone.js +22 -22
- package/src/filiale/rizhao/pc/IgnitionVentilation.vue +0 -1
- package/src/filiale/rizhao/pc/RepairsWork.vue +0 -1
- package/src/filiale/rizhao/pc/WorkListAllNew.vue +11 -5
- package/src/filiale/rizhao/telephone.js +1 -1
- package/src/filiale/shanxian/android/RepairFirstV.vue +3 -0
- package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
- package/src/filiale/shanxian/pc/WorkList.vue +2 -2
- package/src/filiale/shanxian/telephone.js +1 -0
- package/src/filiale/shexian/android/AddMyTask.vue +7 -0
- package/src/filiale/shexian/android/RepairFirstV.vue +5 -0
- package/src/filiale/shexian/android/RepairInfo.vue +1 -0
- package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +9 -9
- package/src/filiale/shexian/pc/TelByRepairType.vue +3 -3
- package/src/filiale/shexian/pc/WorkList.vue +4 -1
- package/src/filiale/shexian/pc/WorkListAllNew.vue +14 -1
- package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
- package/src/filiale/tongchuan/pc/AnalysisMain.vue +7 -7
- package/src/filiale/tongchuan/pc/RepairsWork.vue +8 -0
- package/src/filiale/tongchuan/pc/UserWork.vue +8 -0
- package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
- package/src/filiale/wenxi/android/FaultAll.vue +710 -0
- package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +73 -162
- package/src/filiale/wenxi/android/RepairOrderV.vue +1 -1
- package/src/filiale/wenxi/android/ZHihuanFirst.vue +149 -129
- package/src/filiale/wenxi/pc/DistributeWork.vue +1 -1
- package/src/filiale/wenxi/pc/RecordListLeft.vue +272 -0
- package/src/filiale/wenxi/pc/RepairsWork.vue +143 -64
- package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
- package/src/filiale/wenxi/pc/TelLossList.vue +272 -0
- package/src/filiale/wenxi/pc/WorkListAll.vue +698 -0
- package/src/filiale/wenxi/telephone.js +5 -0
- package/src/filiale/wenxi/telephoneAndroid.js +2 -1
- package/src/filiale/wuhai/telephone.js +1 -1
- package/src/filiale/yuncheng/android/LdapHelper.js +75 -0
- package/src/filiale/yuncheng/android/Outlay.vue +201 -0
- package/src/filiale/yuncheng/android/RepairInfo.vue +163 -0
- package/src/filiale/yuncheng/android/RepairOrderV.vue +1483 -0
- package/src/filiale/yuncheng/android/RepairUserInfo.vue +390 -0
- package/src/filiale/yuncheng/android/RightTree.vue +218 -0
- package/src/filiale/yuncheng/android/TemporarySingle.vue +522 -0
- package/src/filiale/yuncheng/android/ZHihuanFirst.vue +541 -0
- package/src/filiale/yuncheng/pc/DistributeWork.vue +199 -0
- package/src/filiale/yuncheng/pc/GasWork.vue +773 -0
- package/src/filiale/yuncheng/pc/TelFindUser.vue +31 -11
- package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
- package/src/filiale/yuncheng/pc/WorkListAllNew.vue +781 -0
- package/src/filiale/yuncheng/telephone.js +5 -1
- package/src/filiale/yuncheng/telephoneAndroid.js +19 -0
- package/src/filiale/zhongyi/pc/WorkListAllNew.vue +2 -1
- package/src/main.js +1 -1
- package/src/telephone-android.js +7 -0
- package/src/telephone.js +1 -1
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
<criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
|
|
5
5
|
<div novalidate class="select-overspread form-horizontal" partial>
|
|
6
6
|
<div class="row" >
|
|
7
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.flag == '是'">
|
|
8
|
+
<label class="font_normal_body" style="width: 40%">公 司</label>
|
|
9
|
+
<right-tree :userid.sync='$parent.$parent.userid' style="width: 60%;"
|
|
10
|
+
:source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes"></right-tree>
|
|
11
|
+
</div>
|
|
7
12
|
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
8
13
|
<label class="font_normal_body" style="width: 40%">录音 ID</label>
|
|
9
14
|
<input type="text" class="form-control" v-model="model.id" placeholder='录音ID'
|
|
@@ -22,16 +27,6 @@
|
|
|
22
27
|
condition="telname like '%{}%'"
|
|
23
28
|
:size="model.telname ? model.telname.length : 7">
|
|
24
29
|
</div>
|
|
25
|
-
<div class="col-sm-3 form-group form-input-group" style="width: 20%" >
|
|
26
|
-
<label class="font_normal_body" style="width: 40%">电话类型</label>
|
|
27
|
-
<v-select :value.sync="model.teltype" :value-single="true"
|
|
28
|
-
v-model="model.teltype"
|
|
29
|
-
condition="teltype='{}'"
|
|
30
|
-
:options='$parent.$parent.LoggedStates' placeholder='电话类型'
|
|
31
|
-
close-on-select >
|
|
32
|
-
</v-select>
|
|
33
|
-
|
|
34
|
-
</div>
|
|
35
30
|
|
|
36
31
|
<div style="float: right;" class="form-group span">
|
|
37
32
|
<button type="button" name="button"
|
|
@@ -41,8 +36,33 @@
|
|
|
41
36
|
<div style="float: right;" class="button_spacing button_search"
|
|
42
37
|
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
43
38
|
@click="$parent.$parent.hidden()"></div>
|
|
39
|
+
<export-excel-tel :data="$parent.$parent.searchData"
|
|
40
|
+
:field="$parent.$parent.excelHeaders"
|
|
41
|
+
:choose-col="true"
|
|
42
|
+
sqlurl="rs/logic/telephoneExport" sql-name="tel_recordlist"
|
|
43
|
+
:template-name="$parent.$parent.excelTitle"></export-excel-tel>
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
|
|
48
|
+
<label class="font_normal_body" style="width: 40%">电话类型</label>
|
|
49
|
+
<v-select :value.sync="model.teltype" :value-single="true"
|
|
50
|
+
v-model="model.teltype"
|
|
51
|
+
condition="teltype='{}'"
|
|
52
|
+
:options='$parent.$parent.LoggedStates' placeholder='电话类型'
|
|
53
|
+
close-on-select >
|
|
54
|
+
</v-select>
|
|
55
|
+
|
|
44
56
|
</div>
|
|
57
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
|
|
58
|
+
<label class="font_normal_body" style="width: 40%">是否接通</label>
|
|
59
|
+
<v-select :value.sync="model.istelon" :value-single="true"
|
|
60
|
+
v-model="model.istelon"
|
|
61
|
+
:options='$parent.$parent.istelons' placeholder='是否接通'
|
|
62
|
+
close-on-select >
|
|
63
|
+
</v-select>
|
|
45
64
|
|
|
65
|
+
</div>
|
|
46
66
|
<div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
|
|
47
67
|
<label class="font_normal_body" style="width: 40%">开始时间</label>
|
|
48
68
|
<datepicker placeholder="开始时间"
|
|
@@ -140,6 +160,9 @@ export default {
|
|
|
140
160
|
title: "电话记录列表",
|
|
141
161
|
data () {
|
|
142
162
|
return {
|
|
163
|
+
istelons:[{label: '全部', value: ''},
|
|
164
|
+
{label: '是', value: '是'},
|
|
165
|
+
{label: '否', value: '否'}],
|
|
143
166
|
criteriaShow: false,
|
|
144
167
|
LoggedStates: [{label: '全部', value: ''},
|
|
145
168
|
{label: '呼入', value: '呼入'},
|
|
@@ -154,15 +177,48 @@ export default {
|
|
|
154
177
|
wavflie : '',
|
|
155
178
|
msgs: [],
|
|
156
179
|
infoobj:Object,
|
|
180
|
+
userid: this.$login.f.id,
|
|
181
|
+
source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
|
|
182
|
+
flag: '',
|
|
183
|
+
f_filiale_id: '',
|
|
184
|
+
excelTitle: '电话记录录导出',
|
|
185
|
+
excelHeaders: {
|
|
186
|
+
'teltype': '电话类型',
|
|
187
|
+
'telnum': '电话号码',
|
|
188
|
+
'outltime': '呼入/呼出',
|
|
189
|
+
'findtime':'寻找坐席',
|
|
190
|
+
'inltime': '响铃',
|
|
191
|
+
'starttime': '开始通话',
|
|
192
|
+
'endtime': '结束通话',
|
|
193
|
+
'savetime': '保存工单',
|
|
194
|
+
'telname': '话务员'
|
|
195
|
+
},
|
|
196
|
+
searchData: {
|
|
197
|
+
condition: '1=1'
|
|
198
|
+
},
|
|
157
199
|
}
|
|
158
200
|
},props: {
|
|
159
201
|
|
|
160
202
|
},
|
|
161
203
|
ready () {
|
|
204
|
+
this.flag = this.$appdata.getSingleValue('电话记录只查当前公司')
|
|
205
|
+
if (this.flag) {
|
|
206
|
+
if (this.flag == '是') {
|
|
207
|
+
this.model.f_filiale = this.$login.f.f_fengongsi
|
|
208
|
+
this.model.f_filiale_id = this.$login.f.f_orgids
|
|
209
|
+
}
|
|
210
|
+
}
|
|
162
211
|
},
|
|
163
212
|
watch: {
|
|
164
213
|
},
|
|
165
214
|
methods: {
|
|
215
|
+
getRes (obj) {
|
|
216
|
+
this.f_filiale_id = this.$login.convertToIn(obj.resids)
|
|
217
|
+
console.log('--------------------')
|
|
218
|
+
console.log(this.f_filiale_id)
|
|
219
|
+
this.orgname = obj.res[0]
|
|
220
|
+
this.$set('orgname', obj.res[0])
|
|
221
|
+
},
|
|
166
222
|
hidden () {
|
|
167
223
|
this.criteriaShow = !this.criteriaShow
|
|
168
224
|
},
|
|
@@ -171,6 +227,20 @@ export default {
|
|
|
171
227
|
//tag
|
|
172
228
|
},
|
|
173
229
|
search(args) {
|
|
230
|
+
console.log(this.f_filiale_id)
|
|
231
|
+
if (this.flag == '是') {
|
|
232
|
+
if (this.f_filiale_id) {
|
|
233
|
+
args.condition = args.condition + ' and f_filiale_id in ' + this.f_filiale_id
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if(args.model.istelon == '是'){
|
|
237
|
+
args.condition = args.condition + " and recordfile is not null and recordfile != '' "
|
|
238
|
+
}
|
|
239
|
+
if(args.model.istelon == '否'){
|
|
240
|
+
args.condition = args.condition + "and (recordfile is null or recordfile = '') "
|
|
241
|
+
}
|
|
242
|
+
this.searchData.condition = args.condition
|
|
243
|
+
this.searchData.orderitem= " outltime desc"
|
|
174
244
|
this.model.search(args.condition, args.model)
|
|
175
245
|
},
|
|
176
246
|
clearmsg(){
|
|
@@ -208,6 +208,10 @@
|
|
|
208
208
|
type: String,
|
|
209
209
|
default: '转维修员'
|
|
210
210
|
},
|
|
211
|
+
telsource:{
|
|
212
|
+
type: String,
|
|
213
|
+
default: '转维修员'
|
|
214
|
+
},
|
|
211
215
|
// 其他类型工单提交,清空控制
|
|
212
216
|
cleantf: {
|
|
213
217
|
type: Number
|
|
@@ -231,7 +235,7 @@
|
|
|
231
235
|
f_residential_area: ''
|
|
232
236
|
},
|
|
233
237
|
residentialquery: '',
|
|
234
|
-
servicesource:'
|
|
238
|
+
servicesource:'话务来电', // 工单来源
|
|
235
239
|
areacondition: '',
|
|
236
240
|
testdata: {f_equipment: ''},
|
|
237
241
|
residentialTemplate: 'f_villagename',
|
|
@@ -241,13 +245,15 @@
|
|
|
241
245
|
serviceacitivity: [{
|
|
242
246
|
f_service_acitivity_type: '派单'
|
|
243
247
|
}],
|
|
248
|
+
f_small_area:'',
|
|
244
249
|
f_finish_date:'',
|
|
245
|
-
f_source:'
|
|
250
|
+
f_source:'话务来电',
|
|
246
251
|
f_service_id: '',
|
|
247
252
|
f_contact_phone: '',
|
|
248
253
|
f_meetunit: '',
|
|
249
254
|
f_phone: '',
|
|
250
255
|
f_user_name: '',
|
|
256
|
+
failure:'',
|
|
251
257
|
f_address: '',
|
|
252
258
|
f_json: '',
|
|
253
259
|
f_repair_date: Util.getNowDate(),
|
|
@@ -292,13 +298,18 @@
|
|
|
292
298
|
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
293
299
|
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
294
300
|
userid: this.$login.f.id,
|
|
301
|
+
is_to_other :false,
|
|
295
302
|
repairers: [] // 维修员
|
|
296
303
|
}
|
|
297
304
|
},
|
|
298
305
|
ready() {
|
|
299
306
|
// 获取sendType.json配置信息 获取派单类型 转站点,转维修员,自选模式
|
|
300
307
|
getSendType(this)
|
|
301
|
-
|
|
308
|
+
if (this.$appdata.getSingleValue('转班组长') && this.$appdata.getSingleValue('转班组长') == 'true'){
|
|
309
|
+
this.is_to_other = true
|
|
310
|
+
this.source = 'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($班组长$)))'
|
|
311
|
+
}
|
|
312
|
+
this.model.f_source = this.telsource == '转维修员' ? '部门派单':'话务来电'
|
|
302
313
|
},
|
|
303
314
|
methods: {
|
|
304
315
|
// 当维修员发生改变,获取维修员手机号
|
|
@@ -481,6 +492,7 @@
|
|
|
481
492
|
assignObj() {
|
|
482
493
|
if (this.data) {
|
|
483
494
|
this.model.failure_str = ''
|
|
495
|
+
this.model.f_small_area = this.data.f_slice_area
|
|
484
496
|
this.model.f_address = this.data.f_address
|
|
485
497
|
this.model.f_user_name = this.data.f_user_name
|
|
486
498
|
this.model.f_user_type = this.data.f_user_type
|
|
@@ -517,6 +529,7 @@
|
|
|
517
529
|
f_meetunit:this.model.serviceacitivity[0].f_meetunit,
|
|
518
530
|
f_reciever:this.model.serviceacitivity[0].f_reciever
|
|
519
531
|
}],
|
|
532
|
+
f_small_area:'',
|
|
520
533
|
f_finish_date:'',
|
|
521
534
|
f_meetunit : this.model.f_meetunit,
|
|
522
535
|
f_orgstr : this.model.f_orgstr,
|
|
@@ -621,6 +634,11 @@
|
|
|
621
634
|
}
|
|
622
635
|
data.model.f_state = null
|
|
623
636
|
this.saveing = true
|
|
637
|
+
|
|
638
|
+
if (this.is_to_other){
|
|
639
|
+
data.is_to_other = 'true'
|
|
640
|
+
}
|
|
641
|
+
|
|
624
642
|
return this.$resetpost(url, data).then((data) => {
|
|
625
643
|
if(data.data && data.data.id){
|
|
626
644
|
this.id = JSON.parse(data.data.id).id
|
|
@@ -637,6 +655,8 @@
|
|
|
637
655
|
Util.afterCallBz(this.$login.f.id, this.$login.f.name)
|
|
638
656
|
}
|
|
639
657
|
this.saveing = false
|
|
658
|
+
}).catch(error=>{
|
|
659
|
+
this.saveing = false
|
|
640
660
|
})
|
|
641
661
|
},
|
|
642
662
|
address() {
|
|
@@ -696,6 +716,13 @@
|
|
|
696
716
|
},
|
|
697
717
|
},
|
|
698
718
|
watch: {
|
|
719
|
+
'telsource'(){
|
|
720
|
+
if(this.telsource == '转站点' ) {
|
|
721
|
+
this.servicesource = '话务来电'
|
|
722
|
+
}else{
|
|
723
|
+
this.servicesource = '部门派单'
|
|
724
|
+
}
|
|
725
|
+
},
|
|
699
726
|
// 转接类型
|
|
700
727
|
'model.f_handlingtype'(){
|
|
701
728
|
if(this.operType === '修改工单'){
|
|
@@ -767,6 +794,9 @@
|
|
|
767
794
|
getTestData() {
|
|
768
795
|
return this.testdata
|
|
769
796
|
},
|
|
797
|
+
getSource() {
|
|
798
|
+
return this.servicesource
|
|
799
|
+
},
|
|
770
800
|
serviceacitivity() {
|
|
771
801
|
return this.model.serviceacitivity.find((row) => {
|
|
772
802
|
return row.f_service_acitivity_type === '派单'
|
|
@@ -78,6 +78,9 @@ import {HttpResetClass} from 'vue-client'
|
|
|
78
78
|
methods: {
|
|
79
79
|
valuechange(val){
|
|
80
80
|
|
|
81
|
+
if (val instanceof Event){
|
|
82
|
+
return
|
|
83
|
+
}
|
|
81
84
|
if(this.valueMultiple && Array.isArray(val)){
|
|
82
85
|
if(val&&val.length > 0){
|
|
83
86
|
var valuesele = `(`
|
|
@@ -91,7 +94,10 @@ import {HttpResetClass} from 'vue-client'
|
|
|
91
94
|
}else{
|
|
92
95
|
this.value = val
|
|
93
96
|
}
|
|
94
|
-
this.
|
|
97
|
+
if (!this.value instanceof Event) {
|
|
98
|
+
this.changeval = val
|
|
99
|
+
this.value = val
|
|
100
|
+
}
|
|
95
101
|
},
|
|
96
102
|
getRes(obj) {
|
|
97
103
|
this.resids = obj.resids
|
|
@@ -123,6 +123,7 @@ export default {
|
|
|
123
123
|
f_reciever:'',
|
|
124
124
|
f_complaint_results:''
|
|
125
125
|
}],
|
|
126
|
+
f_small_area:'',
|
|
126
127
|
f_content: '', //咨询内容
|
|
127
128
|
f_user_name: '',
|
|
128
129
|
f_phone: '',
|
|
@@ -205,6 +206,7 @@ export default {
|
|
|
205
206
|
assignObj () {
|
|
206
207
|
this.model = Object.assign(this.model, {}, this.data)
|
|
207
208
|
this.model.f_user_name = this.data.f_user_name
|
|
209
|
+
this.model.f_small_area = this.data.f_slice_area
|
|
208
210
|
this.model.f_contact_phone = this.data.f_user_phone
|
|
209
211
|
},
|
|
210
212
|
cleardata () {
|
|
@@ -218,6 +220,7 @@ export default {
|
|
|
218
220
|
f_reciever:f_reciever1,
|
|
219
221
|
f_complaint_results:''
|
|
220
222
|
}],
|
|
223
|
+
f_small_area:'',
|
|
221
224
|
f_content: '',
|
|
222
225
|
f_user_name: '',
|
|
223
226
|
f_phone: '',
|
|
@@ -15,7 +15,24 @@
|
|
|
15
15
|
<progress-bar v-if="btnshow" :label="bartext" :color="barcolor" :percentage="barperc"
|
|
16
16
|
:height="barheight"></progress-bar>
|
|
17
17
|
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
18
|
-
<div class="row">
|
|
18
|
+
<div class="row" v-if="issitesend && source != 'mobile'">
|
|
19
|
+
<div class="col-sm-5 form-group form-input-group">
|
|
20
|
+
<label class="col-sm-5" >派单类型:</label>
|
|
21
|
+
<v-select :value.sync="f_handlingtype" :value-single="true"
|
|
22
|
+
:options='handling' placeholder='派单类型'
|
|
23
|
+
close-on-select :max-height="120"></v-select>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="row" v-if="f_handlingtype == '转站点'">
|
|
27
|
+
<div class="col-sm-5 form-group form-input-group">
|
|
28
|
+
<label class="col-sm-5" >接单站点:</label>
|
|
29
|
+
<input style="width: 60%" type="text" v-show="false" v-model="row.serviceacitivity[0].f_reciever">
|
|
30
|
+
<right-tree islist :userid="userid" :source="sourcesite" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
|
|
31
|
+
|
|
32
|
+
</right-tree>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="row" v-if="f_handlingtype == '转维修员'">
|
|
19
36
|
<div class="col-sm-5 form-group form-input-group">
|
|
20
37
|
<label class="col-sm-5" >接 单 人:</label>
|
|
21
38
|
<v-select :value="row.serviceacitivity[0].f_reciever" :value-single="true"
|
|
@@ -59,6 +76,13 @@ export default {
|
|
|
59
76
|
},
|
|
60
77
|
data () {
|
|
61
78
|
return {
|
|
79
|
+
sourcesite:
|
|
80
|
+
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
81
|
+
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
82
|
+
userid: this.$login.f.id,
|
|
83
|
+
f_handlingtype:'转维修员',
|
|
84
|
+
handling:[{label:'转站点',value:'转站点'},{label:'转维修员',value:'转维修员'}],
|
|
85
|
+
issitesend:this.$appdata.getSingleValue('是否允许站点转站点'),
|
|
62
86
|
saveing:false,
|
|
63
87
|
show: false,
|
|
64
88
|
btnshow: false,
|
|
@@ -95,6 +119,15 @@ export default {
|
|
|
95
119
|
}
|
|
96
120
|
},
|
|
97
121
|
methods: {
|
|
122
|
+
// 选中部门
|
|
123
|
+
reres(val){
|
|
124
|
+
if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
|
|
125
|
+
return
|
|
126
|
+
}
|
|
127
|
+
this.row.f_outlets = val.res[0]
|
|
128
|
+
this.row.serviceacitivity[0].f_meetunit = val.res[0]
|
|
129
|
+
this.row.serviceacitivity[0].f_reciever = val.resids[0]
|
|
130
|
+
},
|
|
98
131
|
repiarmancg (val) {
|
|
99
132
|
if (val.isTrusted){
|
|
100
133
|
return
|
|
@@ -127,16 +160,19 @@ export default {
|
|
|
127
160
|
if (this.source == 'mobile') {
|
|
128
161
|
data = {
|
|
129
162
|
model: userdata,
|
|
163
|
+
f_handlingtype:this.f_handlingtype,
|
|
130
164
|
loginUser: {name: Vue.user.name, ename: Vue.user.ename}
|
|
131
165
|
// adduser:{userinfo: result, devices: []}
|
|
132
166
|
}
|
|
133
167
|
} else {
|
|
134
168
|
data = {
|
|
135
169
|
model: userdata,
|
|
170
|
+
f_handlingtype:this.f_handlingtype,
|
|
136
171
|
loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}
|
|
137
172
|
// adduser:{userinfo: result, devices: []}
|
|
138
173
|
}
|
|
139
174
|
}
|
|
175
|
+
|
|
140
176
|
data.message = true
|
|
141
177
|
this.saveing = true
|
|
142
178
|
let HttpReset = new HttpResetClass()
|
|
@@ -192,6 +228,7 @@ export default {
|
|
|
192
228
|
userdata.f_advice = this.f_advice
|
|
193
229
|
let data = {
|
|
194
230
|
model: userdata,
|
|
231
|
+
handlingtype: this.f_handlingtype,
|
|
195
232
|
loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}
|
|
196
233
|
// adduser:{userinfo: result, devices: []}
|
|
197
234
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<datepicker placeholder="查询日期"
|
|
9
9
|
:value.sync="searchDate"
|
|
10
10
|
v-model="searchDate"
|
|
11
|
-
:format="'yyyy-MM-dd
|
|
11
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
12
12
|
></datepicker>
|
|
13
13
|
<button type="button" name="button"
|
|
14
14
|
class="button_search button_spacing" style="z-index: 2" @click="searchEcharts()">查询</button>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
<datepicker placeholder="来电时间"
|
|
36
36
|
:value.sync="model.f_date"
|
|
37
37
|
v-model="model.f_date"
|
|
38
|
-
:format="'yyyy-MM-dd
|
|
38
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
39
39
|
condition="outltime > '{}'"
|
|
40
40
|
></datepicker>
|
|
41
41
|
</div>
|
|
@@ -52,6 +52,12 @@
|
|
|
52
52
|
<div style="float: right;" class="form-group span">
|
|
53
53
|
<button type="button" name="button"
|
|
54
54
|
class="button_search button_spacing" @click="search(),$dispatch('search')" style="z-index: 2">查询</button>
|
|
55
|
+
<export-excel-tel
|
|
56
|
+
:data="$parent.$parent.searchData"
|
|
57
|
+
:field="$parent.$parent.excelHeaders"
|
|
58
|
+
sqlurl="rs/logic/telephoneExport" sql-name="tel_singleTable_OrderBy" template-name='呼损记录导出'
|
|
59
|
+
:choose-col="false">
|
|
60
|
+
</export-excel-tel>
|
|
55
61
|
</div>
|
|
56
62
|
</div>
|
|
57
63
|
</div>
|
|
@@ -109,7 +115,17 @@ export default {
|
|
|
109
115
|
pendingCount: 0,
|
|
110
116
|
serobj:Object,
|
|
111
117
|
showVisit:false,
|
|
112
|
-
outltime:this.getNowFormatDate()
|
|
118
|
+
outltime:this.getNowFormatDate(),
|
|
119
|
+
searchData:{
|
|
120
|
+
items: "*",
|
|
121
|
+
tablename: "t_records",
|
|
122
|
+
orderitem: "outltime desc",
|
|
123
|
+
condition: '1=1'
|
|
124
|
+
},
|
|
125
|
+
excelHeaders: {
|
|
126
|
+
'telnum': '电话号码',
|
|
127
|
+
'outltime': '来电时间',
|
|
128
|
+
},
|
|
113
129
|
}
|
|
114
130
|
},
|
|
115
131
|
ready () {
|
|
@@ -240,6 +256,7 @@ export default {
|
|
|
240
256
|
}
|
|
241
257
|
}
|
|
242
258
|
args.condition += " AND isnull(starttime,'') = '' AND isnull(findtime,'') != ''"
|
|
259
|
+
this.searchData.condition = args.condition
|
|
243
260
|
this.model.search(args.condition)
|
|
244
261
|
},
|
|
245
262
|
},
|
|
@@ -79,6 +79,28 @@
|
|
|
79
79
|
</div>
|
|
80
80
|
</div>
|
|
81
81
|
</div>
|
|
82
|
+
<modal :show.sync="showcalloutResult" width="50%" backdrop="false">
|
|
83
|
+
<header slot="modal-header" class="modal-header">
|
|
84
|
+
<center><h4 class="modal-title ">{{showTitle}}结果</h4></center>
|
|
85
|
+
</header>
|
|
86
|
+
<article slot="modal-body" class="modal-body" style="height: 100px;padding-top: 15px!important;">
|
|
87
|
+
<div v-show="!calloutResult"><label>正在{{ showTitle }},请稍后。。。。。。</label></div>
|
|
88
|
+
<div v-show="calloutResult">
|
|
89
|
+
<div class="row auto" v-show="calloutResult.area">
|
|
90
|
+
<label>真实归属地:</label><span>{{calloutResult.area}}</span>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="row auto" v-show="calloutResult.calloutNo">
|
|
93
|
+
<label>真实呼出号码:</label><span>{{calloutResult.calloutNo}}</span>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="row auto" v-show="calloutResult.err">
|
|
96
|
+
<label>其他信息:</label><span>{{calloutResult.err}}</span>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</article>
|
|
100
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
101
|
+
<button type="button" class="btn btn-success" @click='calloutConfirm()'>确认</button>
|
|
102
|
+
</footer>
|
|
103
|
+
</modal>
|
|
82
104
|
</div>
|
|
83
105
|
</template>
|
|
84
106
|
|
|
@@ -93,7 +115,11 @@
|
|
|
93
115
|
row:Object,
|
|
94
116
|
phone:'',
|
|
95
117
|
idwavfile:'',
|
|
96
|
-
outltime:''
|
|
118
|
+
outltime:'',
|
|
119
|
+
showcalloutResult:false,
|
|
120
|
+
calloutResult:null,
|
|
121
|
+
showTitle:'呼出'
|
|
122
|
+
|
|
97
123
|
},
|
|
98
124
|
data () {
|
|
99
125
|
return {
|
|
@@ -117,6 +143,10 @@
|
|
|
117
143
|
}
|
|
118
144
|
},
|
|
119
145
|
methods: {
|
|
146
|
+
calloutConfirm(){
|
|
147
|
+
this.calloutResult=null
|
|
148
|
+
this.showcalloutResult=false
|
|
149
|
+
},
|
|
120
150
|
//获取当前时间
|
|
121
151
|
getNowFormatDate() {
|
|
122
152
|
var date = new Date();
|
|
@@ -201,7 +231,6 @@
|
|
|
201
231
|
if(telnum){
|
|
202
232
|
let http = new HttpResetClass()
|
|
203
233
|
try{
|
|
204
|
-
this.$showMessage("号码"+telnum+" 正在呼出...")
|
|
205
234
|
http.load('POST', wxcon.voiceUrl, {
|
|
206
235
|
aId: this.$login.f.id,
|
|
207
236
|
aChannel: Util.attendant.aChannel,
|
|
@@ -213,15 +242,23 @@
|
|
|
213
242
|
RoleId:this.$login.f.rolesnames,
|
|
214
243
|
sendTime:Util.toStandardTimeString()
|
|
215
244
|
}, {resolveMsg: null, rejectMsg: null}).then((req) => {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
245
|
+
this.calloutResult = req.data.calloutResult
|
|
246
|
+
if (req.data.desc === '呼出失败') {
|
|
247
|
+
this.$showAlert(`呼出${telnum}失败`, 'danger', 0)
|
|
248
|
+
}else{
|
|
249
|
+
this.showcalloutResult=true
|
|
250
|
+
this.showTitle='呼出'
|
|
251
|
+
// 返回录音ID 存在回访数据里
|
|
252
|
+
this.model.f_record_sound = req.data.RecordsID
|
|
253
|
+
}
|
|
219
254
|
})
|
|
220
255
|
}catch(e){
|
|
221
|
-
|
|
256
|
+
this.$showAlert(`${e.data},呼出失败`, 'danger', 0)
|
|
257
|
+
this.callContent = '呼出失败'
|
|
222
258
|
}
|
|
223
259
|
}else{
|
|
224
|
-
|
|
260
|
+
this.$showAlert(`无电话号码`, 'danger', 0)
|
|
261
|
+
this.callContent = '呼出失败'
|
|
225
262
|
}
|
|
226
263
|
},
|
|
227
264
|
},
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<div class="row"
|
|
15
15
|
v-if="service.f_workorder_type=='报修单'|| service.f_workorder_type=='置换通气单'|| service.f_workorder_type=='安装单'">
|
|
16
16
|
<label class="col-sm-4 ">当前状态:</label>
|
|
17
|
-
<span class="col-sm-8">{{ rowOne.
|
|
17
|
+
<span class="col-sm-8">{{ rowOne.defname }}</span>
|
|
18
18
|
</div>
|
|
19
19
|
<div class="row">
|
|
20
20
|
<label class="col-sm-4 ">工单时间:</label>
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
</div>
|
|
274
274
|
|
|
275
275
|
<div class="col-sm-12 form-input-group" >
|
|
276
|
-
<label class="font_normal_body" style="width: 10%"
|
|
276
|
+
<label class="font_normal_body" style="width: 10%">描述</label>
|
|
277
277
|
<textarea name="name" rows="3" v-model="showModalComplan.f_remarks"
|
|
278
278
|
class="form-control ver-textarea" readonly="readonly"></textarea>
|
|
279
279
|
</div>
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
</div>
|
|
327
327
|
|
|
328
328
|
<div class="col-sm-12 form-input-group" >
|
|
329
|
-
<label class="font_normal_body" style="width: 10%"
|
|
329
|
+
<label class="font_normal_body" style="width: 10%">描述</label>
|
|
330
330
|
<textarea name="name" rows="3" v-model="showModalSeekWork.f_remarks"
|
|
331
331
|
class="form-control ver-textarea" readonly="readonly"></textarea>
|
|
332
332
|
</div>
|
|
@@ -646,7 +646,8 @@ export default {
|
|
|
646
646
|
},
|
|
647
647
|
proc (selectone, type) {
|
|
648
648
|
this.editflag = type
|
|
649
|
-
this.selectone = selectone
|
|
649
|
+
//this.selectone = selectone
|
|
650
|
+
this.selectone = Object.assign({},selectone)
|
|
650
651
|
},
|
|
651
652
|
complanReview (itemVal, type) {
|
|
652
653
|
//tag
|
|
@@ -251,6 +251,9 @@
|
|
|
251
251
|
<th>
|
|
252
252
|
<nobr>维护信息</nobr>
|
|
253
253
|
</th>
|
|
254
|
+
<th>
|
|
255
|
+
<nobr>备注</nobr>
|
|
256
|
+
</th>
|
|
254
257
|
</tr>
|
|
255
258
|
</template>
|
|
256
259
|
<template partial='body'>
|
|
@@ -316,10 +319,10 @@
|
|
|
316
319
|
</td>
|
|
317
320
|
|
|
318
321
|
<td style="text-align: center;">
|
|
319
|
-
<nobr>{{
|
|
322
|
+
<nobr>{{ row.f_overdue_show}}</nobr>
|
|
320
323
|
</td>
|
|
321
324
|
<td style="text-align: center;">
|
|
322
|
-
<nobr>{{ row.
|
|
325
|
+
<nobr>{{ row.f_finish_time_show }}</nobr>
|
|
323
326
|
</td>
|
|
324
327
|
<td style="text-align: center;">
|
|
325
328
|
<nobr>{{ row.f_result_status }}</nobr>
|
|
@@ -327,6 +330,9 @@
|
|
|
327
330
|
<td style="text-align: center;">
|
|
328
331
|
<nobr>{{ row.f_content }}</nobr>
|
|
329
332
|
</td>
|
|
333
|
+
<td style="text-align: center;">
|
|
334
|
+
<nobr>{{ row.f_remarks }}</nobr>
|
|
335
|
+
</td>
|
|
330
336
|
|
|
331
337
|
|
|
332
338
|
</template>
|
|
@@ -420,11 +426,11 @@ export default {
|
|
|
420
426
|
thead: '',
|
|
421
427
|
tfoot: '',
|
|
422
428
|
zhihuans: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '异常', value: '异常'}],
|
|
423
|
-
headData: ['工单类型', '工单编号', '派单时间','
|
|
424
|
-
'结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息'],
|
|
425
|
-
bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', '
|
|
429
|
+
headData: ['工单类型', '工单编号', '派单时间','客户姓名','客户地址', '联系电话', '故障明细', '工单来源', '工单状态', '派单人', '话务员','接单员',
|
|
430
|
+
'结单时间','到达时间', '离开时间','逾期状态','截止时间','工单结果','维护信息','备注'],
|
|
431
|
+
bodyData: ['f_workorder_type', 'f_service_id', 'f_created_date', 'f_user_name','f_address','f_contact_phone', 'f_json', 'f_source',
|
|
426
432
|
'f_state_show', 'f_single_man','f_attendant','f_order_man','f_date','f_date_come','f_date_leave',
|
|
427
|
-
'f_overdue_show','f_finish_time_show','f_result_status','f_content'],
|
|
433
|
+
'f_overdue_show','f_finish_time_show','f_result_status','f_content','f_remarks'],
|
|
428
434
|
searchData: {
|
|
429
435
|
condition: '1=1'
|
|
430
436
|
},
|
|
@@ -432,7 +438,8 @@ export default {
|
|
|
432
438
|
'f_workorder_type': '工单类型',
|
|
433
439
|
'f_service_id': '工单编号',
|
|
434
440
|
'f_created_date': '派单时间',
|
|
435
|
-
'
|
|
441
|
+
'f_user_name': '客户姓名',
|
|
442
|
+
'f_address': '客户地址',
|
|
436
443
|
'f_contact_phone': '联系电话',
|
|
437
444
|
'f_json': '故障明细',
|
|
438
445
|
'f_source': '工单来源',
|
|
@@ -446,7 +453,8 @@ export default {
|
|
|
446
453
|
'f_overdue_show': '逾期状态',
|
|
447
454
|
'f_finish_time_show': '截止时间',
|
|
448
455
|
'f_result_status': '工单结果',
|
|
449
|
-
'f_content': '维护信息'
|
|
456
|
+
'f_content': '维护信息',
|
|
457
|
+
'f_remarks':'备注'
|
|
450
458
|
},
|
|
451
459
|
criteriaShow: false
|
|
452
460
|
}
|