telephone-clients 3.0.104-3 → 3.0.104-31
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 +1 -1
- package/src/components/guoxin/Console.vue +9 -0
- package/src/components/pc/RepairsWork.vue +11 -1
- package/src/components/pc/WorkList.vue +2 -1
- package/src/components/sendsingle/onlinequeryuser.vue +1 -1
- package/src/components/temp/HandplanInfo.vue +12 -1
- package/src/components/temp/InstructInfo.vue +1 -1
- 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/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 +14 -13
- 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 +735 -722
- package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
- package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
- package/src/filiale/wenxi/pc/RepairsWork.vue +2 -2
- package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
- package/src/filiale/wenxi/pc/WorkListAll.vue +698 -698
- package/src/filiale/wenxi/telephone.js +18 -17
- package/src/filiale/wuhai/telephone.js +1 -1
- package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
- package/src/filiale/yuncheng/telephone.js +2 -1
- package/src/main.js +1 -1
- package/src/telephone.js +1 -1
package/package.json
CHANGED
|
@@ -179,7 +179,16 @@
|
|
|
179
179
|
}
|
|
180
180
|
this.showip = !this.showip
|
|
181
181
|
},
|
|
182
|
+
created() {
|
|
183
|
+
window.addEventListener('beforeunload', this.handleBeforeUnload);
|
|
184
|
+
},
|
|
182
185
|
methods: {
|
|
186
|
+
handleBeforeUnload(){
|
|
187
|
+
if(this.$webSocket){
|
|
188
|
+
this.zhimang();
|
|
189
|
+
this.$webSocket.closeWebsocket()
|
|
190
|
+
}
|
|
191
|
+
},
|
|
183
192
|
changeGroup(){
|
|
184
193
|
let name = this.groupName == '话务分组' ? '值班分组':'话务分组'
|
|
185
194
|
this.$showMessage(`确定要更改分组为${name}吗?`, ['confirm', 'cancel']).then(res=>{
|
|
@@ -248,6 +248,7 @@
|
|
|
248
248
|
f_meetunit: '',
|
|
249
249
|
f_phone: '',
|
|
250
250
|
f_user_name: '',
|
|
251
|
+
failure:'',
|
|
251
252
|
f_address: '',
|
|
252
253
|
f_json: '',
|
|
253
254
|
f_repair_date: Util.getNowDate(),
|
|
@@ -292,13 +293,17 @@
|
|
|
292
293
|
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
293
294
|
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
294
295
|
userid: this.$login.f.id,
|
|
296
|
+
is_to_other :false,
|
|
295
297
|
repairers: [] // 维修员
|
|
296
298
|
}
|
|
297
299
|
},
|
|
298
300
|
ready() {
|
|
299
301
|
// 获取sendType.json配置信息 获取派单类型 转站点,转维修员,自选模式
|
|
300
302
|
getSendType(this)
|
|
301
|
-
|
|
303
|
+
if (this.$appdata.getSingleValue('转班组长') && this.$appdata.getSingleValue('转班组长') == 'true'){
|
|
304
|
+
this.is_to_other = true
|
|
305
|
+
this.source = 'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($班组长$)))'
|
|
306
|
+
}
|
|
302
307
|
},
|
|
303
308
|
methods: {
|
|
304
309
|
// 当维修员发生改变,获取维修员手机号
|
|
@@ -621,6 +626,11 @@
|
|
|
621
626
|
}
|
|
622
627
|
data.model.f_state = null
|
|
623
628
|
this.saveing = true
|
|
629
|
+
|
|
630
|
+
if (this.is_to_other){
|
|
631
|
+
data.is_to_other = 'true'
|
|
632
|
+
}
|
|
633
|
+
|
|
624
634
|
return this.$resetpost(url, data).then((data) => {
|
|
625
635
|
if(data.data && data.data.id){
|
|
626
636
|
this.id = JSON.parse(data.data.id).id
|
|
@@ -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">
|
|
@@ -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: '
|
|
48
|
+
model: new PagedList((this.user && this.user.isphone) ? '${this.$androidUtil.getProxyUrl()}/' : '' + 'rs/sql/tel_singleTable_OrderBy', 8, {items: '"*"', tablename: 'this.tablename', orderitem: '"id desc"'}),
|
|
49
49
|
show: false,
|
|
50
50
|
row: Object
|
|
51
51
|
}
|
|
@@ -62,6 +62,11 @@
|
|
|
62
62
|
'user' (val) {
|
|
63
63
|
if(this.user) {
|
|
64
64
|
this.model.rows = []
|
|
65
|
+
if(val.f_meter_classify == '物联网表'){
|
|
66
|
+
this.model.tablename = 't_web_handplan with (nolock)'
|
|
67
|
+
}else{
|
|
68
|
+
this.model.tablename = 't_handplan with (nolock)'
|
|
69
|
+
}
|
|
65
70
|
this.model.search(`f_userinfo_id = '${this.user.f_userinfo_id}'`)
|
|
66
71
|
}
|
|
67
72
|
},
|
|
@@ -71,6 +76,12 @@
|
|
|
71
76
|
},
|
|
72
77
|
ready () {
|
|
73
78
|
if (this.user && this.user.f_userinfo_id) {
|
|
79
|
+
if(this.user.f_meter_classify == '物联网表'){
|
|
80
|
+
debugger
|
|
81
|
+
this.model.tablename = 't_web_handplan with (nolock)'
|
|
82
|
+
}else{
|
|
83
|
+
this.model.tablename = 't_handplan with (nolock)'
|
|
84
|
+
}
|
|
74
85
|
this.model.search(`f_userinfo_id = '${this.user.f_userinfo_id}'`)
|
|
75
86
|
}
|
|
76
87
|
}
|
|
@@ -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
|
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="height: auto;width: 100%">
|
|
3
|
+
<div partial>
|
|
4
|
+
<div class="" align="center">
|
|
5
|
+
<div class="" ><img src="../../../assets/scanCode.png">请扫描下方二维码进行购气</div>
|
|
6
|
+
<div class="row app-row">
|
|
7
|
+
<div class="col-xs-4">
|
|
8
|
+
<label class="font text-left">订单编号:</label>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="col-xs-8">
|
|
11
|
+
<input type="text" class ="search_input input-font" v-model="oderInfo.out_trade_no" />
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="row app-row">
|
|
15
|
+
<div class="col-xs-4">
|
|
16
|
+
<label class="font text-left">订单状态:</label>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-xs-8">
|
|
19
|
+
<input type="text" class ="search_input input-font" v-model="oderInfo.msg" />
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<!--<div @click="callBack('支付成功')">返回</div>-->
|
|
23
|
+
</div>
|
|
24
|
+
<div class="" align="center" >
|
|
25
|
+
<div class="QR-code">
|
|
26
|
+
<img src="../../../assets/qrcode_no.png" v-show="isTimeout" width="266" height="266" />
|
|
27
|
+
<div id="scan" style="margin-top: 25px"></div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</template>
|
|
33
|
+
<script>
|
|
34
|
+
import QRCode from 'qrcodejs2'
|
|
35
|
+
import {HttpResetClass} from "vue-client";
|
|
36
|
+
import Vue from 'vue'
|
|
37
|
+
|
|
38
|
+
export default {
|
|
39
|
+
title: '二维码扫码',
|
|
40
|
+
prop:['row'],
|
|
41
|
+
|
|
42
|
+
data () {
|
|
43
|
+
return {
|
|
44
|
+
// 订单状态定时器
|
|
45
|
+
timer1: {},
|
|
46
|
+
timer2: {},
|
|
47
|
+
// 订单信息
|
|
48
|
+
oderInfo: {
|
|
49
|
+
out_trade_no: "",
|
|
50
|
+
msg:''
|
|
51
|
+
},
|
|
52
|
+
// 下单信息
|
|
53
|
+
parameter: {
|
|
54
|
+
/*"attach": "梅河口POS支付",// 自定义字段 可不传
|
|
55
|
+
"bankName": "ccb", // 银行名字
|
|
56
|
+
// 商户配置 银行提供
|
|
57
|
+
"merchBase":{
|
|
58
|
+
"bankName": "ccb",
|
|
59
|
+
"socketUrl": "127.0.0.1",
|
|
60
|
+
"merchId":"105000049002821",
|
|
61
|
+
"posId":"051500429",
|
|
62
|
+
"branchId":"220000000",
|
|
63
|
+
"socketPort":"12345",
|
|
64
|
+
"operatorId":"105000049002821-003",
|
|
65
|
+
"operatorPassword":"mhrq2021",
|
|
66
|
+
"qrCodePayUrl": "https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?CCB_IBSVersion=V6&",
|
|
67
|
+
"pubKey": "30819c300d06092a864886f70d010101050003818a0030818602818055f36b8d4566e42635a6592d08bce92e1af3b9918dd3a7792531a7113622315fdd2541722cdeab6cd92349147589d3b86f496efd358fe967f8a35b0f2e53af55f3cba5ecde8d6f0fd3a7ead416d982432b2fe5872459e433faad329831188b218d4f85aa6b0a44fb7a10c157e8f8e1ec64b4559071a56661b7f5e399d068015f020111"
|
|
68
|
+
},
|
|
69
|
+
"money": 100, // 金额 分
|
|
70
|
+
"notifyUrl": "http://192.168.120.82:8445/bank/test" // 回调地址*/
|
|
71
|
+
},
|
|
72
|
+
isTimeout: true // 二维码图片
|
|
73
|
+
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
methods: {
|
|
77
|
+
callBack (para) {
|
|
78
|
+
//tag
|
|
79
|
+
this.$back(para)
|
|
80
|
+
},
|
|
81
|
+
// 生成二维码
|
|
82
|
+
async createOrder () {
|
|
83
|
+
if (!this.parameter) {
|
|
84
|
+
this.$showMessage('下单参数获取失败')
|
|
85
|
+
return
|
|
86
|
+
}
|
|
87
|
+
let http = new HttpResetClass()
|
|
88
|
+
//tag)
|
|
89
|
+
// let resp1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/PosJianHang/pay/`, this.parameter, {})
|
|
90
|
+
Vue.mmType = ''
|
|
91
|
+
Vue.mm = ""
|
|
92
|
+
let resp1 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/PSBCGetCode`, {
|
|
93
|
+
"f_revenue": "productV3",
|
|
94
|
+
"money": this.row.money * 100 + "",
|
|
95
|
+
"attach": {},
|
|
96
|
+
"config": "jiaocheng",
|
|
97
|
+
"pay_way": "pos支付"
|
|
98
|
+
}, {})
|
|
99
|
+
Vue.mmType = 'AES'
|
|
100
|
+
Vue.mm = "3KMKqvgwR8ULbR8Z"
|
|
101
|
+
console.log('resp1=', JSON.stringify(resp1))
|
|
102
|
+
//tag)
|
|
103
|
+
if (resp1.data.code == 200) {
|
|
104
|
+
// 订单编号
|
|
105
|
+
this.oderInfo.out_trade_no = resp1.data.f_out_trade_no
|
|
106
|
+
// 支付连接
|
|
107
|
+
//tag
|
|
108
|
+
// 将链接转成二维码
|
|
109
|
+
new QRCode(document.getElementById('scan'), {'text': resp1.data.url, width: 266, height: 266})
|
|
110
|
+
this.isTimeout = false
|
|
111
|
+
// 查询订单状态
|
|
112
|
+
if (this.oderInfo.out_trade_no) {
|
|
113
|
+
this.timer1 = window.setInterval (this.queryOrderSatus,3000)
|
|
114
|
+
}
|
|
115
|
+
}else {
|
|
116
|
+
this.$showMessage('生成二维码失败!')
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
// 查询订单状态
|
|
120
|
+
async queryOrderSatus () {
|
|
121
|
+
//tag)
|
|
122
|
+
let http1 = new HttpResetClass()
|
|
123
|
+
let resp = await http1.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
|
|
124
|
+
data: {
|
|
125
|
+
items: "id",
|
|
126
|
+
tablename: "t_weixinreturnxml",
|
|
127
|
+
condition: ` f_out_trade_no = '${this.oderInfo.out_trade_no}' and f_bill_state = 1 `,
|
|
128
|
+
orderitem: "id"
|
|
129
|
+
}
|
|
130
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
131
|
+
//tag)
|
|
132
|
+
if (resp.data.length > 0) {
|
|
133
|
+
//tag
|
|
134
|
+
this.oderInfo.msg = '支付成功'
|
|
135
|
+
// 清除定时器 返回上一层
|
|
136
|
+
await this.destroyed()
|
|
137
|
+
await this.callBack(this.oderInfo.out_trade_no)
|
|
138
|
+
}else {
|
|
139
|
+
this.oderInfo.msg = '订单未支付'
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
destroyed () {
|
|
143
|
+
// 停止计时器
|
|
144
|
+
//tag
|
|
145
|
+
window.clearInterval(this.timer1)
|
|
146
|
+
// window.clearInterval(this.timer2)
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
ready () {
|
|
150
|
+
//tag)
|
|
151
|
+
if(Vue.config.telephone != undefined){
|
|
152
|
+
if(Vue.config.telephone.ApproveConfig != undefined){
|
|
153
|
+
if(Vue.config.telephone.ApproveConfig.merchBase != undefined) {
|
|
154
|
+
// 下单信息
|
|
155
|
+
this.parameter = Vue.config.telephone.ApproveConfig.merchBase
|
|
156
|
+
if (this.row.money) {
|
|
157
|
+
// 下单金额
|
|
158
|
+
//tag)
|
|
159
|
+
this.parameter.money = this.row.money * 100
|
|
160
|
+
//tag)
|
|
161
|
+
this.createOrder()
|
|
162
|
+
}else {
|
|
163
|
+
this.$showMessage('金额获取失败!')
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
}else {
|
|
167
|
+
//tag
|
|
168
|
+
this.$showMessage('银行参数获取失败!')
|
|
169
|
+
}
|
|
170
|
+
}else {
|
|
171
|
+
//tag
|
|
172
|
+
this.$showMessage('银行参数获取失败!')
|
|
173
|
+
}
|
|
174
|
+
}else{
|
|
175
|
+
this.$showMessage('银行参数获取失败!')
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
destroyed () {
|
|
179
|
+
// 停止计时器
|
|
180
|
+
//tag
|
|
181
|
+
window.clearInterval(this.timer1)
|
|
182
|
+
// window.clearInterval(this.timer2)
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
</script>
|
|
186
|
+
<style>
|
|
187
|
+
.app-row {
|
|
188
|
+
background-color: white;
|
|
189
|
+
padding: 10px 10px 0 10px;
|
|
190
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.7);
|
|
191
|
+
}
|
|
192
|
+
.search_input {
|
|
193
|
+
border: 0;
|
|
194
|
+
outline: none;
|
|
195
|
+
}
|
|
196
|
+
.font{
|
|
197
|
+
font: 15px PingFang-SC-Medium;
|
|
198
|
+
color: #666666;
|
|
199
|
+
}
|
|
200
|
+
.input-font{
|
|
201
|
+
font: 15px PingFang-SC-Medium;
|
|
202
|
+
color: #333333;
|
|
203
|
+
}
|
|
204
|
+
</style>
|