apply-clients 3.5.4-2 → 3.5.4-21
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/build/dev-server.js +137 -133
- package/package.json +1 -1
- package/src/App.vue +25 -25
- package/src/components/android/Process/AppServiceControl.vue +5 -0
- package/src/components/android/Process/Processes/AppAddMaterialScience.vue +493 -493
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +1 -3
- package/src/components/image/dxf.png +0 -0
- package/src/components/product/Process/ExplorationUser.vue +1 -0
- package/src/components/product/Process/Processes/addMaterialScience.vue +471 -471
- package/src/filiale/baiyin/android/AppServiceControl.vue +1762 -0
- package/src/filiale/baiyin/android/ByAddMaterialScience.vue +801 -0
- package/src/filiale/baiyin/android/ByDeviceManagement.vue +917 -0
- package/src/filiale/baiyin/android.js +8 -0
- package/src/filiale/fugou/android/AppChargeManagement.vue +132 -1
- package/src/filiale/fugou/pc/ServiceControl.vue +27 -6
- package/src/filiale/qianneng/android/AppExplorationUser.vue +38 -0
- package/src/filiale/qianneng/android/AppInstallationDetails.vue +20 -11
- package/src/filiale/qianneng/pc/ApplyUpload.vue +292 -291
- package/src/filiale/qianneng/pc/Applybatchdispatch.vue +11 -6
- package/src/filiale/qianneng/pc/InstallationDetails.vue +614 -586
- package/src/filiale/qianneng/pc/ServiceControl.vue +1 -0
- package/src/filiale/qianneng/pc/printactivatecard.vue +6 -6
- package/src/filiale/ruihua/pc/InstallationDetails.vue +610 -0
- package/src/filiale/ruihua/pc/ServiceControl.vue +20 -0
- package/src/filiale/ruihua/pc/printVentilation.vue +21 -6
- package/src/filiale/ruihua/pc.js +1 -0
- package/src/filiale/shexian/android/AppServiceControl.vue +1758 -1753
- package/src/filiale/shexian/android/AppTakePic.vue +94 -140
- package/src/filiale/siyangRH/pc/chargeManagement.vue +810 -0
- package/src/filiale/siyangRH/pc.js +1 -0
- package/src/filiale/yangchunboneng/android/AppChargeManagement.vue +4 -0
- package/src/filiale/yangchunboneng/android/AppExplorationUser.vue +12 -0
- package/src/filiale/yangchunboneng/android/AppInstallationMaterial.vue +7 -3
- package/src/filiale/yangchunboneng/android/AppServiceControl.vue +17 -1
- package/src/filiale/yangchunboneng/android/AppSuperServiceControl.vue +1 -1
- package/src/filiale/yangchunboneng/android/AppUpload.vue +50 -8
- package/src/filiale/yangchunboneng/pc/ApplyUpload.vue +230 -219
- package/src/filiale/yangchunboneng/pc/ExplorationSelect.vue +53 -13
- package/src/filiale/yangchunboneng/pc/ServiceControl.vue +183 -2
- package/src/filiale/yangchunboneng/pc/SupervisoryControlNew.vue +140 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryList.vue +54 -13
- package/src/filiale/yangchunboneng/pc/SupervisoryListNew.vue +613 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceControl.vue +902 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceControlNew.vue +901 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceView.vue +1117 -0
- package/src/filiale/yangchunboneng/pc/chargeManagement.vue +99 -12
- package/src/filiale/yangchunboneng/pc.js +6 -1
- package/src/main.js +23 -23
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
|
|
3
|
+
let specialComp = {
|
|
4
|
+
'app-service-control': (resolve) => { require(['./android/AppServiceControl'], resolve) },
|
|
5
|
+
'by-add-material-science': (resolve) => { require(['./android/ByAddMaterialScience'], resolve) },
|
|
6
|
+
'by-device-management': (resolve) => { require(['./android/ByDeviceManagement'], resolve) }
|
|
7
|
+
}
|
|
8
|
+
exports.specialComp = specialComp
|
|
@@ -357,6 +357,32 @@
|
|
|
357
357
|
<button type="button" class="btn btn-primary" @click="print()">打印</button>
|
|
358
358
|
</footer>
|
|
359
359
|
</modal>
|
|
360
|
+
<modal v-if="showQrCode" :show.sync="showQrCode" v-ref:modal :large="true" :backdrop="false" title="二维码">
|
|
361
|
+
<header slot="modal-header" class="modal-header">
|
|
362
|
+
<button type="button" class="close" @click="closeQrCode"><span>×</span></button>
|
|
363
|
+
</header>
|
|
364
|
+
<article slot="modal-body" class="modal-body clearfix">
|
|
365
|
+
<div partial>
|
|
366
|
+
<div class="" align="center">
|
|
367
|
+
<div style="margin-bottom:10px "><img src="../../../assets/scanCode.png">请扫描下方二维码进行付款</div>
|
|
368
|
+
<div class="row app-row">
|
|
369
|
+
<div class="col-xs-12">
|
|
370
|
+
<label class="font text-left">订单编号:{{ order.body.tradeNo }}</label>
|
|
371
|
+
</div>
|
|
372
|
+
</div>
|
|
373
|
+
</div>
|
|
374
|
+
<div class="" align="center">
|
|
375
|
+
<div class="QR-code" >
|
|
376
|
+
<img src="../../../assets/qrcode_no.png" style="width: 266px;height: 266px"/>
|
|
377
|
+
<div id="qrcode" style="margin-top: 25px;width: 266px;height: 266px"></div>
|
|
378
|
+
</div>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
</article>
|
|
382
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
383
|
+
<button type="button" class="btn btn-primary" @click="closeQrCode()">关闭</button>
|
|
384
|
+
</footer>
|
|
385
|
+
</modal>
|
|
360
386
|
</div>
|
|
361
387
|
</template>
|
|
362
388
|
<script>
|
|
@@ -364,6 +390,7 @@ import {getNowDate,isEmpty} from '../../../components/Util'
|
|
|
364
390
|
import {PagedList} from 'vue-client'
|
|
365
391
|
import {HttpResetClass} from 'vue-client'
|
|
366
392
|
import Vue from 'vue'
|
|
393
|
+
import QRCode from "qrcodejs2";
|
|
367
394
|
|
|
368
395
|
export default {
|
|
369
396
|
title: '收费管理',
|
|
@@ -387,13 +414,114 @@ export default {
|
|
|
387
414
|
useraddresList: [], // 地址列表
|
|
388
415
|
charge: {
|
|
389
416
|
|
|
390
|
-
}
|
|
417
|
+
},
|
|
418
|
+
order:'',
|
|
419
|
+
isTimeout:false,
|
|
420
|
+
showQrCode:false
|
|
391
421
|
}
|
|
392
422
|
},
|
|
393
423
|
ready () {
|
|
394
424
|
this.search()
|
|
395
425
|
},
|
|
396
426
|
methods: {
|
|
427
|
+
closeQrCode(){
|
|
428
|
+
document.getElementById('qrcode').innerHTML = ''
|
|
429
|
+
},
|
|
430
|
+
async openQrCode() {
|
|
431
|
+
const merchantMsg =this.$appdata.getSingleValue('商户号')
|
|
432
|
+
if (!merchantMsg){
|
|
433
|
+
this.$showMessage('未配备商户号,请联系管理员!')
|
|
434
|
+
return
|
|
435
|
+
}
|
|
436
|
+
const outTradeNo = this.generateRandomString(30)
|
|
437
|
+
// 下订单
|
|
438
|
+
let http = new HttpResetClass()
|
|
439
|
+
const val = {
|
|
440
|
+
"body": this.charge.f_payment_term,
|
|
441
|
+
"detail": this.charge.f_payment_term,
|
|
442
|
+
"totalAmount": (this.charge.f_charge_money).toString(),
|
|
443
|
+
"merchantMsg": merchantMsg,//商户id
|
|
444
|
+
"outTradeNo": outTradeNo,//随机数30位
|
|
445
|
+
"service": "nativePay",//死值
|
|
446
|
+
"tradeType": "wechat_jsapi"//死值
|
|
447
|
+
}
|
|
448
|
+
try {
|
|
449
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/bank/rs/logic/BC_10001`, {data: val}, {
|
|
450
|
+
resolveMsg: null,
|
|
451
|
+
rejectMsg: null
|
|
452
|
+
})
|
|
453
|
+
if (res.data.status === 200) {
|
|
454
|
+
console.log("调用结果", res.data, res.data.body.url)
|
|
455
|
+
try {
|
|
456
|
+
this.order = res.data
|
|
457
|
+
this.isTimeout = false
|
|
458
|
+
this.showQrCode = true
|
|
459
|
+
console.log(this.order)
|
|
460
|
+
this.$nextTick(() => {
|
|
461
|
+
this.qrcode(res.data.body.url)
|
|
462
|
+
})
|
|
463
|
+
if (this.order.body.tradeNo) {
|
|
464
|
+
this.timer1 = window.setInterval(this.getOrderInformation, 3000)
|
|
465
|
+
}
|
|
466
|
+
} catch (e) {
|
|
467
|
+
this.$showMessage('创建订单失败!')
|
|
468
|
+
}
|
|
469
|
+
} else {
|
|
470
|
+
this.$showMessage('获取二维码失败!')
|
|
471
|
+
}
|
|
472
|
+
} catch (e) {
|
|
473
|
+
this.$showMessage('获取二维码失败,请检查网络!')
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
// 获取订单信息
|
|
477
|
+
async getOrderInformation() {
|
|
478
|
+
const merchantMsg =this.$appdata.getSingleValue('商户号')
|
|
479
|
+
// 查询订单信息
|
|
480
|
+
console.log('查询订单信息!!!', this.order)
|
|
481
|
+
try {
|
|
482
|
+
let http = new HttpResetClass()
|
|
483
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/bank/rs/logic/BC_10003`, {
|
|
484
|
+
data: {
|
|
485
|
+
"service": "queryOrder",
|
|
486
|
+
"outTradeNo": this.order.body.outTradeNo,
|
|
487
|
+
"merchantMsg": merchantMsg,
|
|
488
|
+
"tradeNo": ""
|
|
489
|
+
}
|
|
490
|
+
}, {
|
|
491
|
+
resolveMsg: null,
|
|
492
|
+
rejectMsg: null
|
|
493
|
+
})
|
|
494
|
+
// 支付成功
|
|
495
|
+
this.orderstatus = res.data
|
|
496
|
+
console.log('查询结果=======', res.data)
|
|
497
|
+
if (res.data.status == '200') {
|
|
498
|
+
window.clearInterval(this.timer1)
|
|
499
|
+
console.log('支付成功', this.orderstatus)
|
|
500
|
+
this.order = {}
|
|
501
|
+
}
|
|
502
|
+
} catch (e) {
|
|
503
|
+
window.clearInterval(this.timer1)
|
|
504
|
+
this.$showMessage('创建订单失败!')
|
|
505
|
+
this.order = {}
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
qrcode(url) {
|
|
509
|
+
new QRCode('qrcode', {
|
|
510
|
+
text: url, // 设置二维码内容或跳转地址
|
|
511
|
+
width: 266, // 设置宽度,单位像素
|
|
512
|
+
height: 266, // 设置高度,单位像素
|
|
513
|
+
correctLevel: QRCode.CorrectLevel.L //容错率,L/M/Hs
|
|
514
|
+
})
|
|
515
|
+
},
|
|
516
|
+
generateRandomString(length) {
|
|
517
|
+
let result = new Date().getTime().toString()
|
|
518
|
+
const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
519
|
+
const charactersLength = characters.length;
|
|
520
|
+
for (let i = 0; i < length; i++) {
|
|
521
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
522
|
+
}
|
|
523
|
+
return result.substring(0, 30);
|
|
524
|
+
},
|
|
397
525
|
async payerNumberChange () {
|
|
398
526
|
if (isEmpty(this.charge.f_payer_number)) {
|
|
399
527
|
return
|
|
@@ -452,6 +580,9 @@ export default {
|
|
|
452
580
|
},
|
|
453
581
|
// 新增收费
|
|
454
582
|
async saveCharge() {
|
|
583
|
+
if(this.charge.f_payment_method=='二维码收费'){
|
|
584
|
+
this.openQrCode()
|
|
585
|
+
}
|
|
455
586
|
let http = new HttpResetClass()
|
|
456
587
|
let data = {
|
|
457
588
|
apply: this.selectdata,
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
this.refurbish()
|
|
44
44
|
},
|
|
45
45
|
methods: {
|
|
46
|
+
getServicPeo(){
|
|
47
|
+
this.setLabelValue("服务人",this.$login.f.name)
|
|
48
|
+
},
|
|
46
49
|
async servicer(){
|
|
47
50
|
let data = {
|
|
48
51
|
tablename: 't_user',
|
|
@@ -166,8 +169,13 @@
|
|
|
166
169
|
|
|
167
170
|
}
|
|
168
171
|
}
|
|
169
|
-
|
|
170
|
-
|
|
172
|
+
if(item.rolename){
|
|
173
|
+
//判断当前用户是否有这个角色
|
|
174
|
+
if(!this.$login.f.rolestr.includes(item.rolename)){
|
|
175
|
+
item.readonly=true
|
|
176
|
+
item.disabled=true
|
|
177
|
+
}
|
|
178
|
+
}
|
|
171
179
|
if (item.type === 'checkbox') {
|
|
172
180
|
if (this.selectdata[item.field]) {
|
|
173
181
|
item.value = JSON.parse(this.selectdata[item.field])
|
|
@@ -309,6 +317,7 @@
|
|
|
309
317
|
this.$nextTick(() => {
|
|
310
318
|
this.showview = true
|
|
311
319
|
})
|
|
320
|
+
this.getServicPeo()
|
|
312
321
|
},
|
|
313
322
|
// 金额转大写
|
|
314
323
|
smalltoBIG(n) {
|
|
@@ -1405,7 +1414,7 @@
|
|
|
1405
1414
|
let f_address_type = this.show_data.fields[index].value
|
|
1406
1415
|
for (const item of this.show_data.fields) {
|
|
1407
1416
|
if (f_address_type === '民用市区') {
|
|
1408
|
-
if (
|
|
1417
|
+
if ( item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号'|| item.label === '小区') {
|
|
1409
1418
|
item.hidden = false
|
|
1410
1419
|
item.required = true
|
|
1411
1420
|
item.value = null
|
|
@@ -1421,7 +1430,7 @@
|
|
|
1421
1430
|
}
|
|
1422
1431
|
}
|
|
1423
1432
|
if (f_address_type === '民用乡镇') {
|
|
1424
|
-
if (
|
|
1433
|
+
if ( item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号'|| item.label === '小区') {
|
|
1425
1434
|
item.hidden = false
|
|
1426
1435
|
item.required = true
|
|
1427
1436
|
item.value = null
|
|
@@ -1442,7 +1451,7 @@
|
|
|
1442
1451
|
}
|
|
1443
1452
|
}
|
|
1444
1453
|
if (f_address_type === '特殊地址') {
|
|
1445
|
-
if (
|
|
1454
|
+
if ( item.label === '街道/乡镇') {
|
|
1446
1455
|
item.hidden = false
|
|
1447
1456
|
item.required = true
|
|
1448
1457
|
item.value = null
|
|
@@ -1844,7 +1853,19 @@
|
|
|
1844
1853
|
}
|
|
1845
1854
|
},
|
|
1846
1855
|
selectSearch (val, index) {},
|
|
1847
|
-
'onblur' (index) {
|
|
1856
|
+
'onblur' (index) {
|
|
1857
|
+
if(this.show_data.fields[index].label==="优惠金额"){
|
|
1858
|
+
let contract=this.getLableValue('合同金额')
|
|
1859
|
+
let add=this.getLableValue('追加款')
|
|
1860
|
+
let money = this.getLableValue('优惠金额')
|
|
1861
|
+
//转为数字,然后contract减去money,保留两位小数
|
|
1862
|
+
let money_num = parseFloat(money)
|
|
1863
|
+
let add_num = parseFloat(add)
|
|
1864
|
+
let contract_num = parseFloat(contract)
|
|
1865
|
+
let new_contract = contract_num+add_num - money_num
|
|
1866
|
+
this.setLabelValue('应交金额', new_contract.toFixed(2))
|
|
1867
|
+
}
|
|
1868
|
+
},
|
|
1848
1869
|
'oninput' (index) {},
|
|
1849
1870
|
'initializtionView' () {},
|
|
1850
1871
|
async 'onchangeModal' (index, fieldIndex) {
|
|
@@ -9,12 +9,24 @@
|
|
|
9
9
|
<input class="" v-model=model.f_user_name condition="u.f_user_name like '%{}%'" />
|
|
10
10
|
</div>
|
|
11
11
|
</div>
|
|
12
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
13
|
+
<label class="">客户编号:</label>
|
|
14
|
+
<div class="col-xs-8" >
|
|
15
|
+
<input class="" v-model=model.f_userinfo_code condition="u.f_userinfo_code like '%{}%'" />
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
12
18
|
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
13
19
|
<label class="">联系电话:</label>
|
|
14
20
|
<div class="col-xs-8" >
|
|
15
21
|
<input class="" v-model=model.f_phone condition="u.f_phone like '%{}%'" />
|
|
16
22
|
</div>
|
|
17
23
|
</div>
|
|
24
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
25
|
+
<label class="">入户证号:</label>
|
|
26
|
+
<div class="col-xs-8" >
|
|
27
|
+
<input class="" v-model=model.f_entry_number condition="u.f_entry_number like '%{}%'" />
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
18
30
|
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
19
31
|
<label class="">工程编号:</label>
|
|
20
32
|
<div class="col-xs-8" >
|
|
@@ -90,6 +102,32 @@
|
|
|
90
102
|
<input class="" v-model=model.f_igniter_people condition="f_igniter_people like '%{}%'" />
|
|
91
103
|
</div>
|
|
92
104
|
</div>
|
|
105
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
106
|
+
<label class="">验收预约时间:</label>
|
|
107
|
+
<div class="col-xs-8" >
|
|
108
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
109
|
+
style="width: 100%!important;"
|
|
110
|
+
v-model="model.startDate1"
|
|
111
|
+
:value.sync="model.startDate1"
|
|
112
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
113
|
+
:show-reset-button="true"
|
|
114
|
+
condition="u.f_start_build >= '{}'">
|
|
115
|
+
</datepicker>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
119
|
+
<label class="">验收预约时间:</label>
|
|
120
|
+
<div class="col-xs-8" >
|
|
121
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
122
|
+
style="width: 100%!important;"
|
|
123
|
+
v-model="model.endDate1"
|
|
124
|
+
:value.sync="model.endDate1"
|
|
125
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
126
|
+
:show-reset-button="true"
|
|
127
|
+
condition="f_start_build <= '{}'">
|
|
128
|
+
</datepicker>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
93
131
|
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
94
132
|
<label class="">开始时间:</label>
|
|
95
133
|
<div class="col-xs-8" >
|
|
@@ -201,28 +201,37 @@
|
|
|
201
201
|
<div class="form-group row vertical-center">
|
|
202
202
|
<label class="col-xs-4 control-label">安装日期:</label>
|
|
203
203
|
<div class="col-xs-8">
|
|
204
|
-
<input class="form-control input_view" style=""
|
|
204
|
+
<!-- <input class="form-control input_view" style=""
|
|
205
205
|
v-model="item.f_install_date"
|
|
206
206
|
:value.sync="installdate(item.f_install_date)"
|
|
207
207
|
placeholder="安装日期"
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
208
|
+
/>-->
|
|
209
|
+
<datepicker
|
|
210
|
+
placeholder="安装日期"
|
|
211
|
+
:value.sync="item.f_install_date"
|
|
212
|
+
v-model="item.f_install_date"
|
|
213
|
+
format="yyyy-MM-dd"
|
|
214
|
+
:default="true"
|
|
215
|
+
:show-reset-button="reset">
|
|
216
|
+
</datepicker>
|
|
216
217
|
</div>
|
|
217
218
|
</div>
|
|
218
219
|
<div class="form-group row vertical-center">
|
|
219
220
|
<label class="col-xs-4 control-label">生产日期:</label>
|
|
220
221
|
<div class="col-xs-8">
|
|
221
|
-
<input class="form-control input_view" style=""
|
|
222
|
+
<!-- <input class="form-control input_view" style=""
|
|
222
223
|
v-model="item.f_factory_date"
|
|
223
224
|
:value.sync="installdate(item.f_factory_date)"
|
|
224
225
|
placeholder="生产日期"
|
|
225
|
-
|
|
226
|
+
/>-->
|
|
227
|
+
<datepicker
|
|
228
|
+
placeholder="安装日期"
|
|
229
|
+
:value.sync="item.f_factory_date"
|
|
230
|
+
v-model="item.f_factory_date"
|
|
231
|
+
format="yyyy-MM-dd"
|
|
232
|
+
:default="true"
|
|
233
|
+
:show-reset-button="reset">
|
|
234
|
+
</datepicker>
|
|
226
235
|
</div>
|
|
227
236
|
</div>
|
|
228
237
|
</div>
|