apply-clients 4.1.61 → 4.1.62-weinan

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/index.html +1 -1
  2. package/package.json +7 -5
  3. package/src/apply.js +81 -67
  4. package/src/applyAndroid.js +16 -3
  5. package/src/assets//345/210/240/351/231/244.png +0 -0
  6. package/src/components/app_apply/AppChargeManagement.vue +749 -0
  7. package/src/components/app_apply/AppInstallationDetails.vue +529 -0
  8. package/src/components/app_apply/AppProcessSupervisory.vue +214 -0
  9. package/src/components/app_apply/AppSupervisoryCart.vue +68 -0
  10. package/src/components/app_apply/AppTakePic.vue +146 -0
  11. package/src/components/app_apply/AppdevicesDetails.vue +867 -0
  12. package/src/components/app_apply/ApplyInfo.vue +1 -1
  13. package/src/components/app_apply/ApplyToDoList.vue +213 -86
  14. package/src/components/app_apply/PlaceControler.vue +51 -35
  15. package/src/components/app_apply/ServiceControl.vue +185 -12
  16. package/src/components/app_apply/ServiceView.vue +50 -11
  17. package/src/components/app_apply/materialshoufei.vue +243 -0
  18. package/src/components/product/ApplyCharge/ApplyChargeList.vue +6 -5
  19. package/src/components/product/Function/InstallInfoSelect.vue +40 -27
  20. package/src/components/product/Function/StopApplyCrrdList.vue +1 -1
  21. package/src/components/product/Function/functions/StopInstall.vue +7 -1
  22. package/src/components/product/Process/ExplorationSelect.vue +377 -355
  23. package/src/components/product/Process/ExplorationUser.vue +2 -2
  24. package/src/components/product/Process/Processes/InstallationDetails.vue +515 -452
  25. package/src/components/product/Process/Processes/UserFireInfo.vue +409 -0
  26. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +1597 -255
  27. package/src/components/product/Process/Processes/addressAndUserinfoManagementPro.vue +1221 -0
  28. package/src/components/product/Process/Processes/chargeManagement.vue +545 -539
  29. package/src/components/product/Process/Processes/devicesDetails.vue +843 -0
  30. package/src/components/product/Process/Processes/materialshoufei.vue +187 -0
  31. package/src/components/product/Process/Processes/printCharge.vue +4 -4
  32. package/src/components/product/Process/Processes/recordcancel.vue +50 -50
  33. package/src/components/product/Process/Processes/selectUserinfo.vue +199 -0
  34. package/src/components/product/Process/Processes/splitMaterial.vue +358 -0
  35. package/src/components/product/Process/Service/ServiceControl.vue +709 -82
  36. package/src/components/product/Process/ShowBackReason.vue +1 -0
  37. package/src/components/product/ServiceView.vue +816 -790
  38. package/src/components/product/Stop/StopApply.vue +101 -0
  39. package/src/components/product/Stop/StopApplyList.vue +266 -0
  40. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +6 -0
  41. package/src/components/product/Supervisory/SupervisoryControl.vue +124 -119
  42. package/src/components/product/Supervisory/SupervisoryList.vue +40 -27
  43. package/src/components/product/Supervisory/SupervisoryhCart.vue +0 -7
  44. package/src/components/product/Test.vue +8 -4
  45. package/src/components/product/VueUtils/ApplyUpload.vue +22 -7
  46. package/src/main.js +2 -0
  47. package/static/images/lefticon//347/237/251/345/275/2421183.png +0 -0
  48. package/dist.rar +0 -0
@@ -1,10 +1,11 @@
1
1
  <template>
2
2
 
3
3
  <div class="auto clearfix">
4
- <show-back-reason :selectdata="show_data"></show-back-reason>
4
+ <show-back-reason :selectdata="selectdata"></show-back-reason>
5
+ <stop-install :data="show_data" v-if="stope_view"></stop-install>
5
6
  </div>
6
7
 
7
- <service-view v-ref:serviceview :data="show_data" v-if="showview"></service-view>
8
+ <service-view v-ref:serviceview :data="show_data" v-if="showview"></service-view>
8
9
 
9
10
  </template>
10
11
  <script>
@@ -30,25 +31,45 @@ Date.prototype.Format = function (fmt) {
30
31
 
31
32
  export default {
32
33
  title: '报建流程业务控制层',
33
- props: ['selectdata','selectedData'],
34
+ props: ['selectdata'],
34
35
  data() {
35
36
  return {
36
37
  data: null, // 数据库数据,json配置文件数据的数据集合
37
38
  json_datas: null, // Json配置文件集合
38
39
  showview: false, // 控制显示service-view组件
39
40
  show_data: null, // 给view层显示的数据
40
- selecteddd:[]
41
+ stope_view: false
41
42
  }
43
+
42
44
  },
43
45
  created () {
44
46
  this.refurbish()
45
47
  },
46
48
  ready(){
47
- this.data.selectedd=this.selectedData
48
- console.log("sleect")
49
- console.log(this.data.selectedd)
50
49
  },
51
50
  methods: {
51
+ stopapply(model1,model){
52
+ this.$showMessage('确定不具备条件,终止报建!',['confirm', 'cancel']).then((res)=>{
53
+ if (res=='confirm'){
54
+ this.selectdata = Object.assign( {},this.selectdata,model)
55
+ let data = {
56
+ loginUser: Vue.this.$login.f,
57
+ selectdata: this.selectdata,
58
+ model: model1
59
+ }
60
+ let http = new HttpResetClass()
61
+ http.load('POST', 'rs/logic/stopApply', {data: data}, {resolveMsg: null,rejectMsg: '删除失败'})
62
+ .then(res => {
63
+ if (res.data === 200) {
64
+ this.$dispatch('search')
65
+ this.$dispatch('close')
66
+ } else {
67
+ this.$showMessage('终止报建失败')
68
+ }
69
+ })
70
+ }
71
+ })
72
+ },
52
73
  // 组件初始化操作
53
74
  refurbish() {
54
75
  this.json_datas = this.$workflow_vue
@@ -79,7 +100,7 @@ export default {
79
100
  // json配置数据处理
80
101
  async initializeJSON() {
81
102
  // 有默认值,value就给默认值,没有就是null
82
- this.data.fields.forEach(item => {
103
+ for (const item of this.data.fields) {
83
104
  if (!item.value) {
84
105
  if (item.value === 0) {
85
106
  item.value = 0
@@ -88,7 +109,11 @@ export default {
88
109
  }
89
110
  }
90
111
  if (item.default || item.default == 0) {
91
- item.value = item.default
112
+ if(item.type === 'datepicker'){
113
+ item.value = ''
114
+ }else {
115
+ item.value = item.default
116
+ }
92
117
  }
93
118
  if (this.selectdata[item.field]) {
94
119
  // 将json字符串格式化赋值给value
@@ -125,13 +150,18 @@ export default {
125
150
  }
126
151
  }
127
152
  }
153
+ if (item.ready) {
154
+ item.options = await this[item.ready]()
155
+ }
128
156
  }
129
- })
157
+ }
130
158
 
131
159
  // 控制组件
132
160
  if (this.data.components) {
133
161
  this.data.components.forEach(item => {
134
- item.mark = 0
162
+ if (!item.mark) {
163
+ item.mark = 0
164
+ }
135
165
  })
136
166
  }
137
167
 
@@ -230,6 +260,7 @@ export default {
230
260
  })
231
261
  // 初始化加载
232
262
  // ========================= 中盛 =================================
263
+
233
264
  if (this.selectdata.defname === '报建登记') {
234
265
  let http = new HttpResetClass()
235
266
  let condition = "f_filialeid = " + this.$login.f.orgid
@@ -294,6 +325,25 @@ export default {
294
325
  }
295
326
  }
296
327
  }
328
+ if (this.selectdata.defname === '施工') {
329
+ // for (let i = 0; i < this.show_data.fields.length; i++) {
330
+ // if (this.show_data.fields[i].label == '工程状态') {
331
+ // this.show_data.fields[i].value = ''
332
+ // }
333
+ // }
334
+ for (const item of this.show_data.fields) {
335
+ if (item.label === '工程状态' && !item.value) {
336
+ return item.value = '未开工'
337
+ }
338
+ }
339
+ }
340
+ if (this.selectdata.defname === '现场勘察'|| this.selectdata.defname ==='入户安装') {
341
+ for (const item of this.show_data.fields) {
342
+ if (item.label === '现场勘察人员' && !item.value) {
343
+ return item.value = this.$login.f.name
344
+ }
345
+ }
346
+ }
297
347
  },
298
348
  // 初始化fields值
299
349
  initializeFields() {
@@ -342,11 +392,226 @@ export default {
342
392
  }
343
393
  }
344
394
  },
395
+ setLabelOptions(label, options) {
396
+ for (const item of this.show_data.fields) {
397
+ if (item.label === label) {
398
+ item.options = options
399
+ }
400
+ }
401
+ },
402
+ showLabels(...labels) {
403
+ for (const item of this.show_data.fields) {
404
+ if (labels.includes(item.label)) {
405
+ item.hidden = false
406
+ }
407
+ }
408
+ },
409
+ hideLabels(...labels) {
410
+ for (const item of this.show_data.fields) {
411
+ if (labels.includes(item.label)) {
412
+ item.hidden = true
413
+ }
414
+ }
415
+ },
416
+ requiredLabels(...labels) {
417
+ for (const item of this.show_data.fields) {
418
+ if (labels.includes(item.label)) {
419
+ item.required = true
420
+ }
421
+ }
422
+ },
423
+ electiveLabels(...labels) {
424
+ for (const item of this.show_data.fields) {
425
+ if (labels.includes(item.label)) {
426
+ item.required = false
427
+ }
428
+ }
429
+ },
430
+ readonlyLabels(...labels) {
431
+ for (const item of this.show_data.fields) {
432
+ if (labels.includes(item.label)) {
433
+ item.readonly = true
434
+ item.disabled = true
435
+ }
436
+ }
437
+ },
438
+ readwriteLabels(...labels) {
439
+ for (const item of this.show_data.fields) {
440
+ if (labels.includes(item.label)) {
441
+ item.readonly = false
442
+ item.disabled = false
443
+ }
444
+ }
445
+ },
446
+ showButtons(...buttons) {
447
+ for (const item of this.show_data.buttons) {
448
+ if (buttons.includes(item.button_name)) {
449
+ item.hidden = false
450
+ }
451
+ }
452
+ },
453
+ hideButtons(...buttons) {
454
+ for (const item of this.show_data.buttons) {
455
+ if (buttons.includes(item.button_name)) {
456
+ item.hidden = true
457
+ }
458
+ }
459
+ },
460
+ // 获取区县
461
+ async getPcd() {
462
+ let data = {
463
+ tablename: 't_pcd',
464
+ condition: `f_filialeid = '${this.$login.f.orgid}'`
465
+ }
466
+ let http = new HttpResetClass()
467
+ let res = await http.load(
468
+ 'POST',
469
+ `rs/sql/singleTable`,
470
+ {data: data},
471
+ {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
472
+ )
473
+
474
+ let pcd = res.data.map(item => {
475
+ return {
476
+ label: item.f_pcd,
477
+ value: item.f_pcd
478
+ }
479
+ })
480
+ this.setLabelOptions('区域',pcd)
481
+ },
482
+ // 获取气价
483
+ async getPrice(f_price_id) {
484
+ let data = {
485
+ condition: `sp.f_orgid = '${this.$login.f.orgid}'`
486
+ }
487
+
488
+ if (!isEmpty(f_price_id)) {
489
+ data.condition = `sp.f_orgid = '${this.$login.f.orgid}' and sp.f_price_id = ${f_price_id}`
490
+ }
491
+ let http = new HttpResetClass()
492
+ let res = await http.load(
493
+ 'POST',
494
+ `rs/sql/applyGetPrice`,
495
+ {data: data},
496
+ {resolveMsg: null, rejectMsg: '气价查询失败!!!'}
497
+ )
498
+
499
+ return res.data.map(item => {
500
+ return {
501
+ label: item.f_price_name,
502
+ value: item
503
+ }
504
+ })
505
+ },
506
+ // 地址关联
507
+ addressInitialization() {
508
+ this.$getConfig(this, 'UserAddress')
509
+
510
+ let f_address_type = this.show_data.f_address_type
511
+
512
+ for (const item of this.show_data.fields) {
513
+ if (f_address_type === '民用地址') {
514
+ if (item.label === '区域' || item.label === '街道' || item.label === '小区' || item.label === '门牌号') {
515
+ item.hidden = false
516
+ item.required = true
517
+ }
518
+ if (item.label === '楼号' || item.label === '单元' || item.label === '楼层') {
519
+ item.hidden = false
520
+ item.required = false
521
+ }
522
+ if (item.label === '地址') {
523
+ item.readonly = true
524
+ }
525
+ }
526
+ if (f_address_type === '特殊地址') {
527
+ if (item.label === '区域' || item.label === '街道') {
528
+ item.hidden = false
529
+ item.required = true
530
+ }
531
+ if (item.label === '小区') {
532
+ item.hidden = true
533
+ item.required = false
534
+ }
535
+ if (item.label === '楼号' || item.label === '单元' || item.label === '楼层' || item.label === '门牌号') {
536
+ item.hidden = true
537
+ item.required = false
538
+ }
539
+ if (item.label === '地址') {
540
+ item.readonly = false
541
+ }
542
+ }
543
+
544
+ if (this.show_data.f_apply_source === '线下发起' && item.label === '预约地址') {
545
+ item.hidden = true
546
+ }
547
+ }
548
+ },
549
+ async streetChange() {
550
+ if (isEmpty(this.show_data.f_street)) {
551
+ return
552
+ }
345
553
 
554
+ let data = {
555
+ tablename: 't_area',
556
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.show_data.f_street}'`
557
+ }
558
+ let http = new HttpResetClass()
559
+ let res = await http.load(
560
+ 'POST',
561
+ `rs/sql/singleTable`,
562
+ {data: data},
563
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
564
+ )
565
+
566
+ this.setLabelOptions('小区', res.data.map(item => {
567
+ return {
568
+ label: item.f_residential_area,
569
+ value: item.f_residential_area
570
+ }
571
+ }))
572
+ },
573
+ async pcdChange() {
574
+ if (isEmpty(this.show_data.f_pcd)) {
575
+ return
576
+ }
577
+
578
+ let data = {
579
+ tablename: 't_street',
580
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}'`
581
+ }
582
+ let f_address_type = this.getLableValue('地址类型')
583
+
584
+ if (f_address_type === '民用地址') {
585
+ data.condition = `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}'`
586
+ }
587
+
588
+ let http = new HttpResetClass()
589
+ let res = await http.load(
590
+ 'POST',
591
+ `rs/sql/singleTable`,
592
+ {data: data},
593
+ {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
594
+ )
595
+
596
+ this.setLabelOptions('街道', res.data.map(item => {
597
+ return {
598
+ label: item.f_street,
599
+ value: item.f_street
600
+ }
601
+ }))
602
+ },
346
603
  async buttonBefore(model) {
604
+ if (model.defname === '报建登记' && model.button.button_name === '提交') {
605
+
606
+ if (model.f_is_user === '是') {
607
+ if (isEmpty(model.f_user_name) || isEmpty(model.f_phone) || isEmpty(model.f_address)) {
608
+ throw '用户信息未填写完整,无法提交!!!'
609
+ }
610
+ }
611
+ }
347
612
  if (
348
613
  model.button.button_name === '提交' &&
349
- model.defname === '收费' &&
614
+ model.defname === '通气点火' &&
350
615
  (
351
616
  model.f_apply_type === '散户报建' ||
352
617
  model.f_apply_type === '工商户报建'
@@ -365,6 +630,75 @@ export default {
365
630
  throw `还有${res.data[0].num}户未安装,无法提交`
366
631
  }
367
632
  }
633
+ if (
634
+ model.f_apply_type === '工商户报建' &&
635
+ model.button.button_name === '提交' &&
636
+ (model.defname === '设计出图' || model.defname === '竣工验收' || model.defname === '合同签订' )
637
+ ) {
638
+ let http = new HttpResetClass()
639
+ let data = {
640
+ tablename: 't_files',
641
+ condition: `defname = '${model.defname}' and f_blobid = '${this.selectdata.f_process_id}'`
642
+ }
643
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
644
+ resolveMsg: null,
645
+ rejectMsg: '查询失败'
646
+ })
647
+ console.log("数据长度:" + res.data.length)
648
+ if (res.data.length <= 0) {
649
+ throw '请上传附件!!!'
650
+ }
651
+
652
+ }
653
+ if (
654
+ model.f_apply_type === '工商户报建' &&
655
+ model.button.button_name === '提交' &&
656
+ model.defname === '报建登记'
657
+ ) {
658
+ let http = new HttpResetClass()
659
+ let data = {
660
+ tablename: 't_files',
661
+ condition: `defname = '${model.defname}' and f_blobid = '${this.selectdata.f_process_id}'`
662
+ }
663
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
664
+ resolveMsg: null,
665
+ rejectMsg: '查询失败'
666
+ })
667
+ console.log("数据长度:" , res.data)
668
+ if (res.data.length <= 0) {
669
+ throw '请上传附件!!!'
670
+ }
671
+ let inc=true
672
+ let name1 = ''
673
+ let wenjian = ['营业执照','身份证','非居民用户申请表','灶具五证','厨房设备布置设计图']
674
+ for (let name = 0;name<wenjian.length;name++){
675
+ let has=false
676
+ for (let i=0;i<res.data.length;i++){
677
+ if(res.data[i].f_filename.includes(wenjian[name])){
678
+ has=true
679
+ }
680
+ }
681
+ if(!has){
682
+ name1=name1+wenjian[name]+','
683
+ inc=false
684
+ }
685
+ }
686
+ if (inc==false){
687
+ throw '请上传'+name1+'附件!!!'
688
+ }
689
+ /*for (let i=0;i<res.data.length;i++){
690
+ if (!(
691
+ res.data[i].f_filename.includes('营业执照')
692
+ || res.data[i].f_filename.includes('身份证')
693
+ || res.data[i].f_filename.includes('非居民用户申请表')
694
+ || res.data[i].f_filename.includes('灶具五证')
695
+ || res.data[i].f_filename.includes('厨房设备布置设计图')
696
+ )){
697
+ throw '请检查当前节点的附件,只能上传以下文件 营业执照/'
698
+ return
699
+ }
700
+ }*/
701
+ }
368
702
  return model
369
703
  },
370
704
  // ========================= 武安 =================================
@@ -372,6 +706,7 @@ export default {
372
706
  addressType() {
373
707
  for (const item of this.show_data.fields) {
374
708
  if (item.label === '小区' && this.show_data.f_address_type === '民用地址') {
709
+ item.hidden = false
375
710
  item.required = true
376
711
  }
377
712
  if (item.label === '小区' && this.show_data.f_address_type === '特殊地址') {
@@ -379,9 +714,6 @@ export default {
379
714
  }
380
715
  if (
381
716
  (
382
- item.label === '楼号' ||
383
- item.label === '单元' ||
384
- item.label === '楼层' ||
385
717
  item.label === '门牌号'
386
718
  ) && this.show_data.f_address_type === '民用地址'
387
719
  ) {
@@ -389,6 +721,17 @@ export default {
389
721
  item.hidden = false
390
722
  item.value = null
391
723
  }
724
+ if (
725
+ (
726
+ item.label === '楼号' ||
727
+ item.label === '单元' ||
728
+ item.label === '楼层'
729
+ ) && this.show_data.f_address_type === '民用地址'
730
+ ) {
731
+ item.required = false
732
+ item.hidden = false
733
+ item.value = null
734
+ }
392
735
  if (
393
736
  (
394
737
  item.label === '楼号' ||
@@ -402,10 +745,39 @@ export default {
402
745
  item.value = null
403
746
  }
404
747
  }
748
+ this.getPcd()
749
+ },
750
+ getPerSon(){
751
+ //查询是否有用户
752
+ let http = new HttpResetClass()
753
+ let data = {
754
+ condition: '1=1',
755
+ f_filialeid: this.$login.f.orgid,
756
+ f_process_id: this.selectdata.f_process_id,
757
+ }
758
+ let res = http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
759
+ resolveMsg: null,
760
+ rejectMsg: null
761
+ })
762
+ return res
405
763
  }
406
764
  // ========================= 武安 =================================
407
765
  },
408
766
  events: {
767
+ // 选择气价
768
+ 'priceChange'(index) {
769
+ if (isEmpty(this.show_data.f_stair_price_name)) {
770
+ return
771
+ }
772
+
773
+ let stairPrice = this.getLableValue('气价名称')
774
+ console.log("气价信息", stairPrice)
775
+ this.setLabelValue('气价类型', stairPrice.f_price_type)
776
+ this.setLabelValue('用气性质', stairPrice.f_gasproperties)
777
+ this.setLabelValue('气价', stairPrice.f_price)
778
+ this.selectdata.f_price_id = stairPrice.f_price_id
779
+ this.selectdata.f_price_name = stairPrice.f_price_name
780
+ },
409
781
  // ========================= 武安 =================================
410
782
  // ========================= 武安 =================================
411
783
  'openAddModel'(index) {
@@ -414,14 +786,23 @@ export default {
414
786
  },
415
787
  // 获取view层button事件/
416
788
  async 'button'(model) {
417
- // 修改提交数据
418
789
  model = Object.assign({}, this.selectdata, model)
790
+ if(this.show_data.components.length>0 && model.button.button_name === '提交') {
791
+ for (let i = 0; i < this.show_data.components.length; i++) {
792
+ if (this.show_data.components[i].name == 'apply-address-userinfo-management') {
793
+ let result = await this.getPerSon()
794
+ if (result.data.length == 0) {
795
+ this.$showAlert('请录入用户信息', 'warning', 3000)
796
+ return
797
+ }
798
+ }
799
+ }
800
+ }
419
801
  // 点击重置按钮就重置数据
420
802
  if (model.button.button_name === '重置') {
421
803
  this.$dispatch('breakControl', this.data)
422
804
  return
423
805
  }
424
-
425
806
  // 提交前置
426
807
  try {
427
808
  model = await this.buttonBefore(model)
@@ -429,20 +810,64 @@ export default {
429
810
  this.$showAlert(e, 'warning', 3000)
430
811
  return
431
812
  }
432
-
813
+ if (model.f_entry_name && model.defname == '报建登记'){
814
+ let http = new HttpResetClass()
815
+ let data = {
816
+ tablename:'t_apply',
817
+ condition:`f_entry_name = '${model.f_entry_name}'`
818
+ }
819
+ let res = await http.load('post','rs/sql/singleTable', {data:data},{
820
+ resolveMsg: null,
821
+ rejectMsg: '查询失败'})
822
+ debugger
823
+ if (res.data.length > 0){
824
+ this.$showMessage('项目名称不能重复,请重新输入!!!')
825
+ return
826
+ }
827
+ }
433
828
  let http = new HttpResetClass()
829
+ if((this.selectdata.defname =='现场勘察' || this.selectdata.defname ==='入户安装') && model.f_is_have == '否'&& model.button.button_name == '提交'){
830
+ let model1 ={
831
+ f_stop_remarks : '不具备安装条件'
832
+ }
833
+ this.stopapply(model1,model)
834
+ return
835
+ }
836
+ if((this.selectdata.defname =='现场勘察' || this.selectdata.defname ==='入户安装') && model.f_is_aerate == '否' && model.button.button_name == '提交'){
837
+ let model1 ={
838
+ f_stop_remarks : '未通气'
839
+ }
840
+ this.stopapply(model1,model)
841
+ return
842
+ }
843
+ if( this.selectdata.defname ==='入户安装'&& model.button.button_name == '提交'){
844
+ let data = {
845
+ condition: " 1=1",
846
+ f_process_id: this.selectdata.f_process_id
847
+ }
848
+ let res1 = await http.load('POST', 'rs/sql/getAddresAndUserinfoAndUserfilesAmount', {data:data}, {
849
+ resolveMsg: null,
850
+ rejectMsg: null
851
+ })
852
+ debugger
853
+ if (res1.data[0].f_userfiles_num===null){
854
+ this.$showMessage("请填写表具信息!!!")
855
+ return
856
+ }
857
+
858
+ }
434
859
  let requestData = {
435
860
  tables: this.data.tables,
436
861
  start_activity: this.$workflow_vue.start_activity,
437
862
  model: model,
438
863
  loginUser: this.$login.f,
439
- workflow_xmlfilename: this.$workflow_vue.workflow_xmlfilename
864
+ workflow_gxmlfilename: this.$workflow_vue.workflow_xmlfilename
440
865
  }
866
+ console.log("gwfwe",this.selectdata)
441
867
  // 下发,提交,保存,退回通用业务后台处理logic
442
868
  let url = 'rs/logic/ApplyProductService'
443
869
  let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
444
-
445
- if (res.data.code == 200) {
870
+ if (res.data.code === 200) {
446
871
  this.$dispatch('search')
447
872
  } else {
448
873
  if (res.data.msg) {
@@ -459,10 +884,33 @@ export default {
459
884
  async 'onchange'(index) {
460
885
  console.log('失去焦点')
461
886
  // ========================= 武安 =================================
462
- if (this.show_data.defname === '报建登记'){
887
+ if (this.show_data.defname === '报建登记' || this.show_data.defname === '业务申请'){
888
+ if (this.show_data.fields[index].label === '是否具备安装条件') {
889
+ for (const button of this.show_data.buttons) {
890
+ if (this.show_data.fields[index].value === '否'&& button.button_name === '退回') {
891
+ button.hidden = false
892
+ }else {
893
+ button.hidden = true
894
+ }
895
+ }
896
+ }
463
897
  if (this.show_data.fields[index].label === '地址类型'){
464
898
  this.addressType()
465
899
  }
900
+ if (this.show_data.fields[index].label === '项目名称'){
901
+ let http = new HttpResetClass()
902
+ let data = {
903
+ tablename:'t_apply',
904
+ condition:`f_entry_name = '${this.show_data.fields[index].value}'`
905
+ }
906
+ let res = await http.load('post','rs/sql/singleTable', {data:data},{
907
+ resolveMsg: null,
908
+ rejectMsg: '查询失败'})
909
+ if (res.data.length > 0){
910
+ this.$showMessage('项目名称不能重复,请重新输入!!!')
911
+ this.show_data.fields[index].value = ''
912
+ }
913
+ }
466
914
  // if (this.show_data.fields[index].label === '街道'){
467
915
  // console.log('-----------添加街道-----------')
468
916
  // if (this.show_data.fields[index].value === null || this.show_data.fields[index].value === '') {
@@ -589,6 +1037,7 @@ export default {
589
1037
  // }
590
1038
  // 地址拼接
591
1039
  if (
1040
+ this.show_data.fields[index].label === '区域' ||
592
1041
  this.show_data.fields[index].label === '街道' ||
593
1042
  this.show_data.fields[index].label === '小区' ||
594
1043
  this.show_data.fields[index].label === '楼号' ||
@@ -614,6 +1063,7 @@ export default {
614
1063
  this.setLabelValue('地址', f_address)
615
1064
  }
616
1065
  }
1066
+
617
1067
  if (this.show_data.defname === '竣工验收') {
618
1068
  if (this.show_data.fields[index].label === '验收是否合格'){
619
1069
  for (const button of this.show_data.buttons) {
@@ -625,26 +1075,41 @@ export default {
625
1075
  }
626
1076
  }
627
1077
  }
628
- if (this.show_data.defname === '营业厅建档'){
629
- let http = new HttpResetClass()
630
- let data = {
631
- tablename: 't_userinfo',
632
- condition: `f_process_id='${this.selectdata.f_process_id}'`
633
-
634
- }
635
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
1078
+ if (this.show_data.defname === '报建登记'&&this.show_data.f_apply_type==='工商户报建') {
636
1079
 
637
- if (this.show_data.fields[index].label === '是否已建档') {
638
- if (res.data[0].f_user_state === '预备') {
639
- this.show_data.fields[index].value = ''
640
- button.hidden = false
641
- }else{
642
- this.show_data.fields[index].value = '是'
643
- button.hidden = true
1080
+ console.log("13f", this.selectdata.onetomany)
1081
+ for (const button of this.show_data.buttons) {
1082
+ if (this.selectdata.onetomany&& button.button_name === '提交') {
1083
+ console.log("1f")
1084
+ button.disable = true
1085
+ }
1086
+ else {
1087
+ button.disable = false
1088
+ console.log("2f")
644
1089
  }
645
1090
  }
646
1091
  }
647
- if(this.show_data.defname === '现场勘察') {
1092
+ // if (this.show_data.defname === '营业厅建档'){
1093
+ // let http = new HttpResetClass()
1094
+ // let data = {
1095
+ // tablename: 't_userinfo',
1096
+ // condition: `f_process_id='${this.selectdata.f_process_id}'`
1097
+ //
1098
+ // }
1099
+ // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
1100
+ //
1101
+ // if (this.show_data.fields[index].label === '是否已建档') {
1102
+ // if (res.data[0].f_user_state === '预备') {
1103
+ // this.show_data.fields[index].value = '否'
1104
+ // button.hidden = false
1105
+ // }else{
1106
+ // this.show_data.fields[index].value = '是'
1107
+ // button.hidden = true
1108
+ // }
1109
+ // }
1110
+ // }
1111
+ if(this.show_data.defname === '现场勘察' || this.show_data.defname ==='入户安装') {
1112
+ console.log("this.shdata",this.show_data)
648
1113
  if (this.show_data.fields[index].label === '是否具备安装条件') {
649
1114
  for (const button of this.show_data.buttons) {
650
1115
  if (this.show_data.fields[index].value === '否'&& button.button_name === '退回') {
@@ -655,51 +1120,53 @@ export default {
655
1120
  }
656
1121
  }
657
1122
  }
658
- if (this.show_data.defname === '通气点火'){
659
- let http = new HttpResetClass()
660
- let data = {
661
- tablename: 't_firemessage',
662
- condition: `f_process_id='${this.selectdata.f_process_id}'`
663
-
664
- }
665
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
666
- console.log("res")
667
- console.log(res.data)
668
- if (this.show_data.fields[index].label === '是否已通气') {
669
- if (res.data.length==0) {
670
- this.show_data.fields[index].value = '否'
671
- button.hidden = false
672
- }else{
673
- this.show_data.fields[index].value = '是'
674
- button.hidden = true
675
- }
676
- }
677
- }
1123
+ // if (this.show_data.defname === '通气点火'){
1124
+ // let http = new HttpResetClass()
1125
+ // let data = {
1126
+ // tablename: 't_firemessage',
1127
+ // condition: `f_process_id='${this.selectdata.f_process_id}'`
1128
+ //
1129
+ // }
1130
+ // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: null})
1131
+ // console.log("res")
1132
+ // console.log(res.data)
1133
+ // if (this.show_data.fields[index].label === '是否已通气') {
1134
+ // if (res.data.length==0) {
1135
+ // this.show_data.fields[index].value = '否'
1136
+ // button.hidden = false
1137
+ // }else{
1138
+ // this.show_data.fields[index].value = '是'
1139
+ // button.hidden = true
1140
+ // }
1141
+ // }
1142
+ // }
678
1143
  if (this.show_data.defname === '合同签订') {
679
1144
  if (this.show_data.fields[index].label === '合同编号') {
680
- this.show_data.fields[index].value==this.shwo_data.f_apply_num
681
- // if (!isEmpty(this.show_data.fields[index].value)) {
682
- // let http = new HttpResetClass()
683
- // let data = {
684
- // tablename: 't_apply',
685
- // condition: `f_contract_number='${this.show_data.fields[index].value}'`
686
- // }
687
- // let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
688
- // resolveMsg: null,
689
- // rejectMsg: '合同编号查重失败'
690
- // })
691
- // if (res.data.length > 0) {
692
- // for (const button of this.show_data.buttons) {
693
- // if (button.button_name === '提交') {
694
- // button.disable = true
695
- // }
696
- // }
697
- // this.show_data.fields[index].value = null
698
- // this.$showAlert('合同编号已存在!!!', 'warning', 3000)
699
- // }
700
- // }
701
- }
702
- if (this.show_data.fields[index].label === '单价(户)') {
1145
+ if (!isEmpty(this.show_data.fields[index].value)) {
1146
+ let http = new HttpResetClass()
1147
+ let data = {
1148
+ tablename: 't_apply',
1149
+ condition: `f_contract_number='${this.show_data.fields[index].value}'`
1150
+ }
1151
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1152
+ resolveMsg: null,
1153
+ rejectMsg: '合同编号查重失败'
1154
+ })
1155
+ if (res.data.length > 0) {
1156
+ this.show_data.fields[index].value = null
1157
+ this.$showAlert('合同编号已存在!!!', 'warning', 3000)
1158
+ }
1159
+ //拼写合同编号
1160
+ // if (this.selectdata.f_apply_type == '工商户报建') {
1161
+ // this.show_data.fields[index].value = "ZS-S-" + this.show_data.fields[index].value
1162
+ // // this.show_data.fields[index].value = "ZS-S-" + this.show_data.fields[index].value + "-" + new Date().Format('yyyy-MM-dd')
1163
+ // }else {
1164
+ // this.show_data.fields[index].value = "ZS-M-" + this.show_data.fields[index].value
1165
+ // // this.show_data.fields[index].value = "ZS-M-" + this.show_data.fields[index].value + "-" + new Date().Format('yyyy-MM-dd')
1166
+ // }
1167
+ }
1168
+ }
1169
+ if (this.show_data.fields[index].label === '单价') {
703
1170
  let http = new HttpResetClass()
704
1171
  let data = {
705
1172
  num1: this.getLableValue(this.show_data.fields[index].label),
@@ -721,11 +1188,51 @@ export default {
721
1188
  rejectMsg: null
722
1189
  })
723
1190
  this.setLabelValue('合同金额',res.data)
1191
+ if(this.show_data.f_apply_type === '居民报建'){
1192
+ this.show_data.f_contract_money = res.data
1193
+ this.show_data.f_due_money = res.data
1194
+ this.show_data.f_surplus_money = res.data
1195
+ this.setLabelValue('应交总金额',res.data)
1196
+ this.setLabelValue('未结总金额',res.data)
1197
+ }
724
1198
  } catch (e) {
725
1199
  this.$showAlert(e.data.msg, 'warning', 3000)
726
1200
  }
727
1201
  }
728
1202
  if (this.show_data.fields[index].label === '其他费用') {
1203
+ let http = new HttpResetClass()
1204
+ let data = {
1205
+ num1: this.getLableValue('单价'),
1206
+ num2: this.getLableValue('户数'),
1207
+ operator: '*'
1208
+ }
1209
+ try {
1210
+ let res = await http.load('POST', 'rs/logic/compute', {data: data}, {
1211
+ resolveMsg: null,
1212
+ rejectMsg: null
1213
+ })
1214
+ data = {
1215
+ num1: res.data,
1216
+ num2: this.getLableValue('其他费用'),
1217
+ operator: '+'
1218
+ }
1219
+ res = await http.load('POST', 'rs/logic/compute', {data: data}, {
1220
+ resolveMsg: null,
1221
+ rejectMsg: null
1222
+ })
1223
+ this.setLabelValue('合同金额',res.data)
1224
+ if(this.show_data.f_apply_type === '居民报建'){
1225
+ this.show_data.f_contract_money = res.data
1226
+ this.show_data.f_due_money = res.data
1227
+ this.show_data.f_surplus_money = res.data
1228
+ this.setLabelValue('应交总金额',res.data)
1229
+ this.setLabelValue('未结总金额',res.data)
1230
+ }
1231
+ } catch (e) {
1232
+ this.$showAlert(e.data.msg, 'warning', 3000)
1233
+ }
1234
+ }
1235
+ /*if (this.show_data.fields[index].label === '其他费用') {
729
1236
  let http = new HttpResetClass()
730
1237
  let data = {
731
1238
  num1: this.getLableValue(this.show_data.fields[index].label),
@@ -738,10 +1245,17 @@ export default {
738
1245
  rejectMsg: null
739
1246
  })
740
1247
  this.setLabelValue('合同金额',res.data)
1248
+ if(this.show_data.f_apply_type === '居民报建'){
1249
+ this.show_data.f_contract_money = res.data
1250
+ this.show_data.f_due_money = res.data
1251
+ this.show_data.f_surplus_money = res.data
1252
+ this.setLabelValue('应交总金额',res.data)
1253
+ this.setLabelValue('未结总金额',res.data)
1254
+ }
741
1255
  } catch (e) {
742
1256
  this.$showAlert(e.data.msg, 'warning', 3000)
743
1257
  }
744
- }
1258
+ }*/
745
1259
  }
746
1260
  // ========================= 武安 =================================
747
1261
  // 号码检测
@@ -842,6 +1356,119 @@ export default {
842
1356
 
843
1357
  this.$dispatch('breakControl', this.show_data)
844
1358
  },
1359
+ // 选择用户档案信息
1360
+ 'selectUserinfo'(row) {
1361
+ console.log("当前选择数据",row)
1362
+ if (this.selectdata.f_apply_type === '拆改装报建'){
1363
+ this.showLabels('用户编号')
1364
+ this.hideLabels('地址类型','区域','街道','小区','楼号','单元','楼层','门牌号')
1365
+ this.electiveLabels('地址类型','区域','街道','小区','楼号','单元','楼层','门牌号')
1366
+ this.show_data.f_address_type = '民用地址'
1367
+ this.show_data.f_pcd = row.f_pcd
1368
+ this.show_data.f_street = row.f_street
1369
+ this.show_data.f_residential_area = row.f_residential_area
1370
+ this.show_data.f_building = row.f_building
1371
+ this.show_data.f_unit = row.f_unit
1372
+ this.show_data.f_floor = row.f_floor
1373
+ this.show_data.f_room = row.f_room
1374
+ this.selectdata.flag = '旧用户'
1375
+ }
1376
+ this.setLabelValue('用户编号', row.f_userinfo_code)
1377
+ this.setLabelValue('用户名称', row.f_user_name)
1378
+ this.setLabelValue('用户电话', row.f_user_phone)
1379
+ this.setLabelValue('证件类型', row.f_credentials)
1380
+ this.setLabelValue('证件号码', row.f_idnumber)
1381
+ this.setLabelValue('地址', row.f_address)
1382
+
1383
+ this.selectdata.f_userinfo_id = row.f_userinfo_id
1384
+ this.selectdata.f_userinfo_code = row.f_userinfo_code
1385
+ console.log("当前选择数据",this.show_data)
1386
+ },
1387
+ async 'streetChange'(index) {
1388
+ if (isEmpty(this.show_data.f_street)) {
1389
+ return
1390
+ }
1391
+
1392
+ this.setLabelValue('小区', null)
1393
+
1394
+ let data = {
1395
+ tablename: 't_area',
1396
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.show_data.f_street}'`
1397
+ }
1398
+ let http = new HttpResetClass()
1399
+ let res = await http.load(
1400
+ 'POST',
1401
+ `rs/sql/singleTable`,
1402
+ {data: data},
1403
+ {resolveMsg: null, rejectMsg: '小区!!!'}
1404
+ )
1405
+
1406
+ this.setLabelOptions('小区', res.data.map(item => {
1407
+ return {
1408
+ label: item.f_residential_area,
1409
+ value: item.f_residential_area
1410
+ }
1411
+ }))
1412
+ },
1413
+ // 区县失去焦点
1414
+ async 'pcdChange'(index) {
1415
+ if (isEmpty(this.show_data.f_pcd)) {
1416
+ return
1417
+ }
1418
+
1419
+ this.setLabelValue('街道', null)
1420
+ this.setLabelValue('小区', null)
1421
+
1422
+
1423
+ let data = {
1424
+ tablename: 't_street',
1425
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}'`
1426
+ }
1427
+ let f_address_type = this.getLableValue('地址类型')
1428
+
1429
+ if (f_address_type === '民用地址') {
1430
+ data.condition = `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.show_data.f_pcd}'`
1431
+ }
1432
+
1433
+ let http = new HttpResetClass()
1434
+ let res = await http.load(
1435
+ 'POST',
1436
+ `rs/sql/singleTable`,
1437
+ {data: data},
1438
+ {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
1439
+ )
1440
+
1441
+ this.setLabelOptions('街道', res.data.map(item => {
1442
+ return {
1443
+ label: item.f_street,
1444
+ value: item.f_street
1445
+ }
1446
+ }))
1447
+ },
1448
+ 'buttonChange' (index) {
1449
+ if (this.show_data.fields[index].value === '否') {
1450
+ console.log("测试")
1451
+ this.hideButtons('下发','提交')
1452
+ this.showButtons('退回','终止')
1453
+ } else {
1454
+ this.hideButtons('退回','终止')
1455
+ this.showButtons('下发','提交')
1456
+ }
1457
+ },
1458
+ async 'stopApply'() {
1459
+ this.stope_view = true
1460
+ this.showview = false
1461
+ },
1462
+ async 'signUserInfo' (index) {
1463
+ if (this.show_data.fields[index].value === '是') {
1464
+ console.log("测试")
1465
+ this.showLabels("用户名称", "用户电话", "证件类型", "证件号码", '地址类型', '区域', '街道', '小区', '楼号', '单元', '楼层', '门牌号', '地址')
1466
+ this.requiredLabels("用户名称", "用户电话", "证件类型", "证件号码", '地址类型', '区域', '街道', '小区', '门牌号', '地址')
1467
+ } else {
1468
+ this.hideLabels("用户名称", "用户电话", "证件类型", "证件号码", '地址类型', '区域', '街道', '小区', '楼号', '单元', '楼层', '门牌号', '地址')
1469
+ this.electiveLabels("用户名称", "用户电话", "证件类型", "证件号码", '地址类型', '区域', '街道', '小区', '楼号', '单元', '楼层', '门牌号', '地址')
1470
+ }
1471
+ },
845
1472
  // onetomany模态框监听事件
846
1473
  async 'onchange_modal'(index, i) {
847
1474
  },