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.
Files changed (48) hide show
  1. package/build/dev-server.js +137 -133
  2. package/package.json +1 -1
  3. package/src/App.vue +25 -25
  4. package/src/components/android/Process/AppServiceControl.vue +5 -0
  5. package/src/components/android/Process/Processes/AppAddMaterialScience.vue +493 -493
  6. package/src/components/android/Process/Processes/AppInstallationDetails.vue +1 -3
  7. package/src/components/image/dxf.png +0 -0
  8. package/src/components/product/Process/ExplorationUser.vue +1 -0
  9. package/src/components/product/Process/Processes/addMaterialScience.vue +471 -471
  10. package/src/filiale/baiyin/android/AppServiceControl.vue +1762 -0
  11. package/src/filiale/baiyin/android/ByAddMaterialScience.vue +801 -0
  12. package/src/filiale/baiyin/android/ByDeviceManagement.vue +917 -0
  13. package/src/filiale/baiyin/android.js +8 -0
  14. package/src/filiale/fugou/android/AppChargeManagement.vue +132 -1
  15. package/src/filiale/fugou/pc/ServiceControl.vue +27 -6
  16. package/src/filiale/qianneng/android/AppExplorationUser.vue +38 -0
  17. package/src/filiale/qianneng/android/AppInstallationDetails.vue +20 -11
  18. package/src/filiale/qianneng/pc/ApplyUpload.vue +292 -291
  19. package/src/filiale/qianneng/pc/Applybatchdispatch.vue +11 -6
  20. package/src/filiale/qianneng/pc/InstallationDetails.vue +614 -586
  21. package/src/filiale/qianneng/pc/ServiceControl.vue +1 -0
  22. package/src/filiale/qianneng/pc/printactivatecard.vue +6 -6
  23. package/src/filiale/ruihua/pc/InstallationDetails.vue +610 -0
  24. package/src/filiale/ruihua/pc/ServiceControl.vue +20 -0
  25. package/src/filiale/ruihua/pc/printVentilation.vue +21 -6
  26. package/src/filiale/ruihua/pc.js +1 -0
  27. package/src/filiale/shexian/android/AppServiceControl.vue +1758 -1753
  28. package/src/filiale/shexian/android/AppTakePic.vue +94 -140
  29. package/src/filiale/siyangRH/pc/chargeManagement.vue +810 -0
  30. package/src/filiale/siyangRH/pc.js +1 -0
  31. package/src/filiale/yangchunboneng/android/AppChargeManagement.vue +4 -0
  32. package/src/filiale/yangchunboneng/android/AppExplorationUser.vue +12 -0
  33. package/src/filiale/yangchunboneng/android/AppInstallationMaterial.vue +7 -3
  34. package/src/filiale/yangchunboneng/android/AppServiceControl.vue +17 -1
  35. package/src/filiale/yangchunboneng/android/AppSuperServiceControl.vue +1 -1
  36. package/src/filiale/yangchunboneng/android/AppUpload.vue +50 -8
  37. package/src/filiale/yangchunboneng/pc/ApplyUpload.vue +230 -219
  38. package/src/filiale/yangchunboneng/pc/ExplorationSelect.vue +53 -13
  39. package/src/filiale/yangchunboneng/pc/ServiceControl.vue +183 -2
  40. package/src/filiale/yangchunboneng/pc/SupervisoryControlNew.vue +140 -0
  41. package/src/filiale/yangchunboneng/pc/SupervisoryList.vue +54 -13
  42. package/src/filiale/yangchunboneng/pc/SupervisoryListNew.vue +613 -0
  43. package/src/filiale/yangchunboneng/pc/SupervisoryServiceControl.vue +902 -0
  44. package/src/filiale/yangchunboneng/pc/SupervisoryServiceControlNew.vue +901 -0
  45. package/src/filiale/yangchunboneng/pc/SupervisoryServiceView.vue +1117 -0
  46. package/src/filiale/yangchunboneng/pc/chargeManagement.vue +99 -12
  47. package/src/filiale/yangchunboneng/pc.js +6 -1
  48. 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>&times;</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 (item.label === '区/县' || item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号'|| item.label === '小区') {
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 (item.label === '区/县' || item.label === '街道/乡镇' || item.label === '集收单位' || item.label === '门牌号'|| item.label === '小区') {
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 (item.label === '区/县' || item.label === '街道/乡镇') {
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
- <!-- <datepicker-->
210
- <!-- placeholder="安装日期"-->
211
- <!-- :value.sync="item.f_install_date"-->
212
- <!-- v-model="item.f_install_date"-->
213
- <!-- format="yyyy-MM-dd HH:mm:ss"-->
214
- <!-- :show-reset-button="reset">-->
215
- <!-- </datepicker>-->
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>