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.
Files changed (30) hide show
  1. package/package.json +1 -1
  2. package/src/components/guoxin/Console.vue +9 -0
  3. package/src/components/pc/RepairsWork.vue +11 -1
  4. package/src/components/pc/WorkList.vue +2 -1
  5. package/src/components/sendsingle/onlinequeryuser.vue +1 -1
  6. package/src/components/temp/HandplanInfo.vue +12 -1
  7. package/src/components/temp/InstructInfo.vue +1 -1
  8. package/src/filiale/hanzhong/telephone.js +1 -1
  9. package/src/filiale/jiaocheng/android/createQRcode.vue +204 -0
  10. package/src/filiale/jiaocheng/android/onlineBuyGas.vue +637 -0
  11. package/src/filiale/jiaocheng/telephone.js +8 -0
  12. package/src/filiale/jiaocheng/telephoneAndroid.js +15 -0
  13. package/src/filiale/rizhao/telephone.js +1 -1
  14. package/src/filiale/shanxian/pc/TelFindUser.vue +310 -0
  15. package/src/filiale/shanxian/pc/WorkList.vue +2 -2
  16. package/src/filiale/shanxian/telephone.js +14 -13
  17. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +9 -9
  18. package/src/filiale/shexian/pc/WorkList.vue +4 -1
  19. package/src/filiale/shexian/pc/WorkListAllNew.vue +735 -722
  20. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  21. package/src/filiale/tongchuan/telephoneAndroid.js +1 -0
  22. package/src/filiale/wenxi/pc/RepairsWork.vue +2 -2
  23. package/src/filiale/wenxi/pc/TelAgentVoiceReport.vue +290 -0
  24. package/src/filiale/wenxi/pc/WorkListAll.vue +698 -698
  25. package/src/filiale/wenxi/telephone.js +18 -17
  26. package/src/filiale/wuhai/telephone.js +1 -1
  27. package/src/filiale/yuncheng/pc/WorkList.vue +823 -0
  28. package/src/filiale/yuncheng/telephone.js +2 -1
  29. package/src/main.js +1 -1
  30. 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",
3
+ "version": "3.0.104-31",
4
4
  "description": "呼叫模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -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
@@ -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
@@ -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: '"t_handplan with (nolock)"', orderitem: '"id desc"'}),
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: '"f_callback_date desc"'}),
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
  }
@@ -4,7 +4,7 @@ import Vue from "vue";
4
4
  //pc和手机分别注册到两个文件中
5
5
  let specialComp = {
6
6
  'console': (resolve) => {
7
- require(['./pc/console'], resolve)
7
+ require(['./pc/Console'], resolve)
8
8
  },
9
9
  'record-list': (resolve) => {
10
10
  require(['./pc/RecordList'], resolve)
@@ -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>