telephone-clients 3.0.104-5 → 3.0.104-51
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/components/guoxin/Console.vue +42 -14
- package/src/components/guoxin/call.state.api.js +3 -1
- package/src/components/pc/RecordListLeft.vue +39 -10
- package/src/components/pc/RepairsWork.vue +30 -3
- package/src/components/pc/SiteSend.vue +36 -1
- package/src/components/pc/TelLossList.vue +18 -1
- package/src/components/pc/WorkList.vue +2 -1
- package/src/components/pc/WorkListAllNew.vue +16 -8
- package/src/components/sendsingle/onlinequeryuser.vue +1 -1
- package/src/components/telreport/TrafficClassificationReport.vue +10 -9
- package/src/components/temp/HandplanInfo.vue +5 -1
- package/src/components/temp/InstructInfo.vue +1 -1
- package/src/components/workorder/RepairPaperAndroid.vue +351 -0
- package/src/components/workorder/ServiceOnlineQuery.vue +306 -0
- 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/qianneng/android/AppInstallationMaterial.vue +878 -845
- package/src/filiale/rizhao/pc/WorkListAllNew.vue +9 -5
- package/src/filiale/rizhao/telephone.js +1 -1
- 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/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/telephoneAndroid.js +1 -0
- package/src/filiale/wenxi/android/FaultAll.vue +710 -0
- package/src/filiale/wenxi/android/RepairOrderV.vue +1 -1
- package/src/filiale/wenxi/android/ZHihuanFirst.vue +3 -0
- package/src/filiale/wenxi/pc/DistributeWork.vue +1 -1
- package/src/filiale/wenxi/pc/RepairsWork.vue +143 -64
- package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
- package/src/filiale/wenxi/pc/WorkListAll.vue +1 -1
- package/src/filiale/wenxi/telephone.js +2 -0
- package/src/filiale/wenxi/telephoneAndroid.js +2 -1
- package/src/filiale/wuhai/telephone.js +1 -1
- package/src/filiale/yuncheng/pc/TelFindUser.vue +14 -1
- package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
- package/src/filiale/yuncheng/pc/WorkListAllNew.vue +722 -0
- package/src/filiale/yuncheng/telephone.js +3 -1
- package/src/telephone-android.js +6 -0
- package/src/telephone.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "telephone-clients",
|
|
3
|
-
"version": "3.0.104-
|
|
3
|
+
"version": "3.0.104-51",
|
|
4
4
|
"description": "呼叫模块前台组件",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"directories": {
|
|
@@ -94,11 +94,11 @@
|
|
|
94
94
|
"sinon-chai": "^2.8.0",
|
|
95
95
|
"style": "0.0.3",
|
|
96
96
|
"style-loader": "^0.20.3",
|
|
97
|
-
"system-clients": "3.2.
|
|
97
|
+
"system-clients": "3.2.61",
|
|
98
98
|
"system-phone": "1.2.100",
|
|
99
99
|
"terser-webpack-plugin-legacy": "^1.2.5",
|
|
100
100
|
"url-loader": "^0.5.7",
|
|
101
|
-
"vue-client": "1.24.
|
|
101
|
+
"vue-client": "1.24.116",
|
|
102
102
|
"vue-hot-reload-api": "^1.2.0",
|
|
103
103
|
"vue-html-loader": "^1.0.0",
|
|
104
104
|
"vue-loader": "^8.2.1",
|
|
@@ -96,6 +96,8 @@
|
|
|
96
96
|
initPhone: '',
|
|
97
97
|
phonelist: [],
|
|
98
98
|
timeSubscribeId:null,
|
|
99
|
+
timeZhiXianId:null,
|
|
100
|
+
timeZhiXianFen:300,
|
|
99
101
|
list: [],
|
|
100
102
|
newPhone: '',
|
|
101
103
|
interval: null, // 循环函数返回值,用来停止循环
|
|
@@ -141,7 +143,7 @@
|
|
|
141
143
|
//tag;
|
|
142
144
|
};
|
|
143
145
|
this.$webSocket.onCallState = (event) => {
|
|
144
|
-
|
|
146
|
+
console.log('国信websocaket返回得数据:')
|
|
145
147
|
const json = event;
|
|
146
148
|
// 弹屏通知
|
|
147
149
|
const id = json.id;
|
|
@@ -161,10 +163,12 @@
|
|
|
161
163
|
//tag
|
|
162
164
|
this.currentState = '已挂机'
|
|
163
165
|
this.currentState = '正在保存'
|
|
166
|
+
this.timeZhiXian()
|
|
164
167
|
} else if (state == "canceled") {
|
|
165
168
|
//tag
|
|
166
169
|
this.currentState = '已停止呼叫'
|
|
167
170
|
this.currentState = '正在保存'
|
|
171
|
+
this.timeZhiXian()
|
|
168
172
|
//这里发送置忙请求
|
|
169
173
|
} else if (state == "calling") {
|
|
170
174
|
//tag
|
|
@@ -179,16 +183,16 @@
|
|
|
179
183
|
}
|
|
180
184
|
this.showip = !this.showip
|
|
181
185
|
},
|
|
182
|
-
created() {
|
|
183
|
-
|
|
184
|
-
},
|
|
186
|
+
// created() {
|
|
187
|
+
// window.addEventListener('beforeunload', this.handleBeforeUnload);
|
|
188
|
+
// },
|
|
185
189
|
methods: {
|
|
186
|
-
handleBeforeUnload(){
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
},
|
|
190
|
+
// handleBeforeUnload(){
|
|
191
|
+
// if(this.$webSocket){
|
|
192
|
+
// this.zhimang();
|
|
193
|
+
// this.$webSocket.closeWebsocket()
|
|
194
|
+
// }
|
|
195
|
+
// },
|
|
192
196
|
changeGroup(){
|
|
193
197
|
let name = this.groupName == '话务分组' ? '值班分组':'话务分组'
|
|
194
198
|
this.$showMessage(`确定要更改分组为${name}吗?`, ['confirm', 'cancel']).then(res=>{
|
|
@@ -245,6 +249,7 @@
|
|
|
245
249
|
new HttpResetClass().load('POST',`/bridge/callctrl?extnum=${this.aChannel}&state=busy&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
|
|
246
250
|
if(res.data === 200){
|
|
247
251
|
this.currentState = '忙'
|
|
252
|
+
this.timeZhiXianId = null
|
|
248
253
|
}else if (res.data === 400){
|
|
249
254
|
this.$showMessage('参数错误,置忙失败')
|
|
250
255
|
}else if (res.data === 404){
|
|
@@ -258,9 +263,9 @@
|
|
|
258
263
|
new HttpResetClass().load('POST',`bridge/callctrl?extnum=${this.aChannel}&state=online&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
|
|
259
264
|
if(res.data === 200){
|
|
260
265
|
this.currentState = '空闲'
|
|
266
|
+
this.timeZhiXianId = null
|
|
261
267
|
}else if (res.data === 400){
|
|
262
268
|
this.$showMessage('参数错误,置忙失败')
|
|
263
|
-
|
|
264
269
|
}else if (res.data === 404){
|
|
265
270
|
// this.$showMessage('目标分机不存在,置忙失败')
|
|
266
271
|
this.currentState = '登录错误'
|
|
@@ -284,6 +289,23 @@
|
|
|
284
289
|
}
|
|
285
290
|
}, (60 * 1000));
|
|
286
291
|
},
|
|
292
|
+
timeZhiXian() {
|
|
293
|
+
let flag = this.$appdata.getSingleValue("是否自动置闲")
|
|
294
|
+
if(!flag){
|
|
295
|
+
return
|
|
296
|
+
}
|
|
297
|
+
let time = this.$appdata.getSingleValue('自动置闲时间')
|
|
298
|
+
if(time){
|
|
299
|
+
this.timeZhiXianFen = time
|
|
300
|
+
}
|
|
301
|
+
this.timeZhiXianId = setTimeout(()=> {
|
|
302
|
+
try {
|
|
303
|
+
this.zhixian();
|
|
304
|
+
} catch(err) {
|
|
305
|
+
//tag;
|
|
306
|
+
}
|
|
307
|
+
}, (this.timeZhiXianFen * 1000));
|
|
308
|
+
},
|
|
287
309
|
// 确认
|
|
288
310
|
confirm() {
|
|
289
311
|
//tag
|
|
@@ -313,14 +335,20 @@
|
|
|
313
335
|
}
|
|
314
336
|
},
|
|
315
337
|
},
|
|
316
|
-
|
|
338
|
+
destroyed () {
|
|
317
339
|
//国信置忙代表登出
|
|
318
|
-
|
|
319
340
|
if(this.$webSocket){
|
|
320
341
|
this.zhimang();
|
|
321
342
|
this.$webSocket.closeWebsocket()
|
|
322
343
|
}
|
|
323
|
-
}
|
|
344
|
+
},
|
|
345
|
+
// beforeDestroy() {
|
|
346
|
+
// //国信置忙代表登出
|
|
347
|
+
// if(this.$webSocket){
|
|
348
|
+
// this.zhimang();
|
|
349
|
+
// this.$webSocket.closeWebsocket()
|
|
350
|
+
// }
|
|
351
|
+
// }
|
|
324
352
|
}
|
|
325
353
|
</script>
|
|
326
354
|
<style lang="less">
|
|
@@ -104,11 +104,13 @@ import ReconnectingWebSocket from './reconnecting-websocket.min'
|
|
|
104
104
|
|
|
105
105
|
// 发送消息给服务器
|
|
106
106
|
function wsMsgSend(msg) {
|
|
107
|
+
console.log('国信发送订阅1')
|
|
107
108
|
if (!window.WebSocket) {
|
|
108
109
|
return;
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
+
console.log('国信发送订阅2')
|
|
111
112
|
if (self.socket.readyState == WebSocket.OPEN) {
|
|
113
|
+
console.log('国信发送订阅3')
|
|
112
114
|
// //tag;
|
|
113
115
|
self.socket.send(msg);
|
|
114
116
|
}
|
|
@@ -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"
|
|
@@ -43,6 +38,16 @@
|
|
|
43
38
|
@click="$parent.$parent.hidden()"></div>
|
|
44
39
|
</div>
|
|
45
40
|
|
|
41
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
|
|
42
|
+
<label class="font_normal_body" style="width: 40%">电话类型</label>
|
|
43
|
+
<v-select :value.sync="model.teltype" :value-single="true"
|
|
44
|
+
v-model="model.teltype"
|
|
45
|
+
condition="teltype='{}'"
|
|
46
|
+
:options='$parent.$parent.LoggedStates' placeholder='电话类型'
|
|
47
|
+
close-on-select >
|
|
48
|
+
</v-select>
|
|
49
|
+
|
|
50
|
+
</div>
|
|
46
51
|
<div class="col-sm-3 form-group form-input-group" style="width: 20%" v-if="$parent.$parent.criteriaShow">
|
|
47
52
|
<label class="font_normal_body" style="width: 40%">开始时间</label>
|
|
48
53
|
<datepicker placeholder="开始时间"
|
|
@@ -154,15 +159,33 @@ export default {
|
|
|
154
159
|
wavflie : '',
|
|
155
160
|
msgs: [],
|
|
156
161
|
infoobj:Object,
|
|
162
|
+
userid: this.$login.f.id,
|
|
163
|
+
source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
|
|
164
|
+
flag: '',
|
|
165
|
+
f_filiale_id: ''
|
|
157
166
|
}
|
|
158
167
|
},props: {
|
|
159
168
|
|
|
160
169
|
},
|
|
161
170
|
ready () {
|
|
171
|
+
this.flag = this.$appdata.getSingleValue('电话记录只查当前公司')
|
|
172
|
+
if (this.flag) {
|
|
173
|
+
if (this.flag == '是') {
|
|
174
|
+
this.model.f_filiale = this.$login.f.f_fengongsi
|
|
175
|
+
this.model.f_filiale_id = this.$login.f.f_orgids
|
|
176
|
+
}
|
|
177
|
+
}
|
|
162
178
|
},
|
|
163
179
|
watch: {
|
|
164
180
|
},
|
|
165
181
|
methods: {
|
|
182
|
+
getRes (obj) {
|
|
183
|
+
this.f_filiale_id = this.$login.convertToIn(obj.resids)
|
|
184
|
+
console.log('--------------------')
|
|
185
|
+
console.log(this.f_filiale_id)
|
|
186
|
+
this.orgname = obj.res[0]
|
|
187
|
+
this.$set('orgname', obj.res[0])
|
|
188
|
+
},
|
|
166
189
|
hidden () {
|
|
167
190
|
this.criteriaShow = !this.criteriaShow
|
|
168
191
|
},
|
|
@@ -171,6 +194,12 @@ export default {
|
|
|
171
194
|
//tag
|
|
172
195
|
},
|
|
173
196
|
search(args) {
|
|
197
|
+
console.log(this.f_filiale_id)
|
|
198
|
+
if (this.flag == '是') {
|
|
199
|
+
if (this.f_filiale_id) {
|
|
200
|
+
args.condition = args.condition + ' and f_filiale_id in ' + this.f_filiale_id
|
|
201
|
+
}
|
|
202
|
+
}
|
|
174
203
|
this.model.search(args.condition, args.model)
|
|
175
204
|
},
|
|
176
205
|
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',
|
|
@@ -242,12 +246,13 @@
|
|
|
242
246
|
f_service_acitivity_type: '派单'
|
|
243
247
|
}],
|
|
244
248
|
f_finish_date:'',
|
|
245
|
-
f_source:'
|
|
249
|
+
f_source:'话务来电',
|
|
246
250
|
f_service_id: '',
|
|
247
251
|
f_contact_phone: '',
|
|
248
252
|
f_meetunit: '',
|
|
249
253
|
f_phone: '',
|
|
250
254
|
f_user_name: '',
|
|
255
|
+
failure:'',
|
|
251
256
|
f_address: '',
|
|
252
257
|
f_json: '',
|
|
253
258
|
f_repair_date: Util.getNowDate(),
|
|
@@ -292,13 +297,18 @@
|
|
|
292
297
|
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
293
298
|
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
294
299
|
userid: this.$login.f.id,
|
|
300
|
+
is_to_other :false,
|
|
295
301
|
repairers: [] // 维修员
|
|
296
302
|
}
|
|
297
303
|
},
|
|
298
304
|
ready() {
|
|
299
305
|
// 获取sendType.json配置信息 获取派单类型 转站点,转维修员,自选模式
|
|
300
306
|
getSendType(this)
|
|
301
|
-
|
|
307
|
+
if (this.$appdata.getSingleValue('转班组长') && this.$appdata.getSingleValue('转班组长') == 'true'){
|
|
308
|
+
this.is_to_other = true
|
|
309
|
+
this.source = 'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($班组长$)))'
|
|
310
|
+
}
|
|
311
|
+
this.model.f_source = this.telsource == '转维修员' ? '部门派单':'话务来电'
|
|
302
312
|
},
|
|
303
313
|
methods: {
|
|
304
314
|
// 当维修员发生改变,获取维修员手机号
|
|
@@ -621,6 +631,11 @@
|
|
|
621
631
|
}
|
|
622
632
|
data.model.f_state = null
|
|
623
633
|
this.saveing = true
|
|
634
|
+
|
|
635
|
+
if (this.is_to_other){
|
|
636
|
+
data.is_to_other = 'true'
|
|
637
|
+
}
|
|
638
|
+
|
|
624
639
|
return this.$resetpost(url, data).then((data) => {
|
|
625
640
|
if(data.data && data.data.id){
|
|
626
641
|
this.id = JSON.parse(data.data.id).id
|
|
@@ -637,6 +652,8 @@
|
|
|
637
652
|
Util.afterCallBz(this.$login.f.id, this.$login.f.name)
|
|
638
653
|
}
|
|
639
654
|
this.saveing = false
|
|
655
|
+
}).catch(error=>{
|
|
656
|
+
this.saveing = false
|
|
640
657
|
})
|
|
641
658
|
},
|
|
642
659
|
address() {
|
|
@@ -696,6 +713,13 @@
|
|
|
696
713
|
},
|
|
697
714
|
},
|
|
698
715
|
watch: {
|
|
716
|
+
'telsource'(){
|
|
717
|
+
if(this.telsource == '转站点' ) {
|
|
718
|
+
this.servicesource = '话务来电'
|
|
719
|
+
}else{
|
|
720
|
+
this.servicesource = '部门派单'
|
|
721
|
+
}
|
|
722
|
+
},
|
|
699
723
|
// 转接类型
|
|
700
724
|
'model.f_handlingtype'(){
|
|
701
725
|
if(this.operType === '修改工单'){
|
|
@@ -767,6 +791,9 @@
|
|
|
767
791
|
getTestData() {
|
|
768
792
|
return this.testdata
|
|
769
793
|
},
|
|
794
|
+
getSource() {
|
|
795
|
+
return this.servicesource
|
|
796
|
+
},
|
|
770
797
|
serviceacitivity() {
|
|
771
798
|
return this.model.serviceacitivity.find((row) => {
|
|
772
799
|
return row.f_service_acitivity_type === '派单'
|
|
@@ -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,14 @@ 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.serviceacitivity[0].f_meetunit = val.res[0]
|
|
128
|
+
this.row.serviceacitivity[0].f_reciever = val.resids[0]
|
|
129
|
+
},
|
|
98
130
|
repiarmancg (val) {
|
|
99
131
|
if (val.isTrusted){
|
|
100
132
|
return
|
|
@@ -127,16 +159,19 @@ export default {
|
|
|
127
159
|
if (this.source == 'mobile') {
|
|
128
160
|
data = {
|
|
129
161
|
model: userdata,
|
|
162
|
+
f_handlingtype:this.f_handlingtype,
|
|
130
163
|
loginUser: {name: Vue.user.name, ename: Vue.user.ename}
|
|
131
164
|
// adduser:{userinfo: result, devices: []}
|
|
132
165
|
}
|
|
133
166
|
} else {
|
|
134
167
|
data = {
|
|
135
168
|
model: userdata,
|
|
169
|
+
f_handlingtype:this.f_handlingtype,
|
|
136
170
|
loginUser: {name: this.$login.f.name, ename: this.$login.f.ename}
|
|
137
171
|
// adduser:{userinfo: result, devices: []}
|
|
138
172
|
}
|
|
139
173
|
}
|
|
174
|
+
|
|
140
175
|
data.message = true
|
|
141
176
|
this.saveing = true
|
|
142
177
|
let HttpReset = new HttpResetClass()
|
|
@@ -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
|
},
|
|
@@ -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
|
}
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
<label class="font text-left">用户姓名:</label>
|
|
77
77
|
</div>
|
|
78
78
|
<div class="col-xs-8" >
|
|
79
|
-
<input class="search_input input-font" v-model="model.f_user_name" condition="ui.f_user_name
|
|
79
|
+
<input class="search_input input-font" v-model="model.f_user_name" condition="ui.f_user_name like '%{}%'" />
|
|
80
80
|
</div>
|
|
81
81
|
</div>
|
|
82
82
|
<div class="row app-row">
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
<v-select :value.sync="model.attendants"
|
|
32
32
|
:options='$parent.$parent.operators'
|
|
33
33
|
placeholder='请选择话务员'
|
|
34
|
+
:multiple="true"
|
|
34
35
|
style="width: 60%"
|
|
35
36
|
></v-select>
|
|
36
37
|
</div>
|
|
@@ -99,17 +100,17 @@
|
|
|
99
100
|
this.model.f_filialeid = this.$login.convertToIn(obj.resids);
|
|
100
101
|
},
|
|
101
102
|
search(args){
|
|
102
|
-
debugger
|
|
103
103
|
if (args.model.attendants && args.model.attendants.length>0){
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
args.model.attendant = args.model.attendants[0]
|
|
104
|
+
let attStr = ""
|
|
105
|
+
for (let attendantKey in args.model.attendants) {
|
|
106
|
+
attStr +=`'${args.model.attendants[attendantKey]}',',',`
|
|
107
|
+
}
|
|
108
|
+
attStr=attStr.substring(0, attStr.length-1)
|
|
109
|
+
args.model.attendant = attStr
|
|
110
|
+
// args.model.attendant = args.model.attendants[0]
|
|
111
111
|
}else {
|
|
112
|
-
|
|
112
|
+
this.$showMessage('请选择话务员')
|
|
113
|
+
return
|
|
113
114
|
}
|
|
114
115
|
this.model.search('1=1',args.model)
|
|
115
116
|
}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
title: '抄表记录',
|
|
46
46
|
data () {
|
|
47
47
|
return {
|
|
48
|
-
model: new PagedList((this.user && this.user.isphone) ? '${this.$androidUtil.getProxyUrl()}/' : '' + 'rs/sql/tel_singleTable_OrderBy', 8, {items: '"*"', tablename: 'this.tablename', orderitem: '"
|
|
48
|
+
model: new PagedList((this.user && this.user.isphone) ? '${this.$androidUtil.getProxyUrl()}/' : '' + 'rs/sql/tel_singleTable_OrderBy', 8, {items: '"*"', tablename: 'this.tablename', orderitem: '"f_hand_date desc"'}),
|
|
49
49
|
show: false,
|
|
50
50
|
row: Object
|
|
51
51
|
}
|
|
@@ -74,6 +74,10 @@
|
|
|
74
74
|
this.model.rows = []
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
|
+
/*
|
|
78
|
+
1.12月18 2W
|
|
79
|
+
2.1月18
|
|
80
|
+
*/
|
|
77
81
|
ready () {
|
|
78
82
|
if (this.user && this.user.f_userinfo_id) {
|
|
79
83
|
if(this.user.f_meter_classify == '物联网表'){
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
title: '指令查看',
|
|
46
46
|
data () {
|
|
47
47
|
return {
|
|
48
|
-
model: new PagedList('rs/sql/tel_singleTable_OrderBy', 8, {items: '"f_callback_date,f_instruct_date,f_receive_state,f_instruct_state,f_instruct_title,f_meternumber,f_instruct_type,f_manufacturers"', tablename: '"t_instruct with (nolock)"', orderitem: '"
|
|
48
|
+
model: new PagedList('rs/sql/tel_singleTable_OrderBy', 8, {items: '"f_callback_date,f_instruct_date,f_receive_state,f_instruct_state,f_instruct_title,f_meternumber,f_instruct_type,f_manufacturers"', tablename: '"t_instruct with (nolock)"', orderitem: '"f_instruct_date desc"'}),
|
|
49
49
|
show: false,
|
|
50
50
|
row: Object
|
|
51
51
|
}
|