apply-clients 3.3.78 → 3.3.83

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 (24) hide show
  1. package/package.json +1 -1
  2. package/src/apply.js +5 -0
  3. package/src/applyAndroid.js +5 -0
  4. package/src/components/android/AppOnetomany.vue +50 -8
  5. package/src/components/android/AppServiceView.vue +88 -8
  6. package/src/components/android/AreaSelect/AppResAreaSelect.vue +108 -0
  7. package/src/components/android/AreaSelect/AppResAreaSelectGroup.vue +135 -0
  8. package/src/components/android/Process/AppExplorationUser.vue +4 -1
  9. package/src/components/android/Process/AppServiceControl.vue +71 -1
  10. package/src/components/android/Process/Processes/AppSupplementalAgreement.vue +1 -0
  11. package/src/components/android/Process/Processes/selectApply.vue +1 -1
  12. package/src/components/android/Process/Processes/selectUserinfo.vue +1 -1
  13. package/src/components/product/AreaSelect/MyAreaSelect.vue +423 -0
  14. package/src/components/product/AreaSelect/ResAreaSelect.vue +106 -0
  15. package/src/components/product/AreaSelect/ResAreaSelectGroup.vue +150 -0
  16. package/src/components/product/AreaSelect/utils/EventListener.js +29 -0
  17. package/src/components/product/AreaSelect/utils/coerceBoolean.js +7 -0
  18. package/src/components/product/Onetomany.vue +49 -7
  19. package/src/components/product/Print/BuildOrder/buildOrderList.vue +8 -4
  20. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +4 -0
  21. package/src/components/product/Process/ExplorationSelect.vue +36 -23
  22. package/src/components/product/Process/Service/ServiceControl.vue +62 -0
  23. package/src/components/product/ServiceView.vue +276 -6
  24. package/src/components/product/Supervisory/SupervisoryList.vue +29 -11
@@ -6,7 +6,7 @@
6
6
  <div v-for="(index,item) in data.fields">
7
7
  <!--input-->
8
8
  <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
9
- v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'pc' || !item.device) && (item.label !== '证件号码')&&(item.label !== '身份证') && (item.label !== '用户电话')"
9
+ v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'pc' || !item.device) && ( item.label != '证件号码')&&( item.label !== '身份证') && (item.label !== '用户电话')"
10
10
  :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
11
11
  <label :style="item.label_style ? item.label_style : ''"
12
12
  :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
@@ -26,6 +26,27 @@
26
26
  </div>
27
27
  </div>
28
28
 
29
+ <!--input-->
30
+ <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
31
+ v-if="((data.f_credentials === '军官证' ||data.f_credentials === '营业执照')&& item.label === '证件号码')"
32
+ :class="[item.required && !(item.value) ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">
33
+ <label :style="item.label_style ? item.label_style : ''"
34
+ :class="item.label_bootstraped ? item.label_bootstraped+' control-label-justify control-label' : 'control-label-justify control-label col-sm-6'">{{item.label}}</label>
35
+ <div :style="item.value_style ? item.value_style:''"
36
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-sm-6'">
37
+ <input class="form-control input_view" style=""
38
+ :type="item.type"
39
+ v-model="data.fields[index].value"
40
+ :placeholder="item.placeholder"
41
+ :value="data.fields[index].value"
42
+ :readonly="item.readonly"
43
+ :disabled="item.disabled"
44
+ @change="onchange(index)"
45
+ @blur="onblur(index)"
46
+ @input="oninput(index)"
47
+ />
48
+ </div>
49
+ </div>
29
50
 
30
51
  <div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"
31
52
  v-if="(item.label==='身份证') || (data.f_credentials === '身份证' && item.label === '证件号码')"
@@ -62,7 +83,7 @@
62
83
  <input class="form-control input_view" style=""
63
84
  type="number"
64
85
  oninput="if(value.length > 11) value=value.slice(0,11)"
65
- v-validate:f_user_phone="{minlength: 11, maxlength: 11 }"
86
+ v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
66
87
  v-model="data.fields[index].value"
67
88
  :placeholder="item.placeholder"
68
89
  :value="data.fields[index].value"
@@ -167,6 +188,18 @@
167
188
  </div>
168
189
  </div>
169
190
  </div>
191
+ <!--区域地址联动-->
192
+ <div>
193
+ <res-area-select-group
194
+ v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
195
+ labelstyle = "control-label"
196
+ @shiji-select = "getSelectShijiValue"
197
+ @xian-select = "getSelectXianValue"
198
+ @shequ-select = "getSelectShequValue"
199
+ >
200
+ </res-area-select-group>
201
+ </div>
202
+
170
203
  </div>
171
204
 
172
205
  <!-- onetomany -->
@@ -179,7 +212,48 @@
179
212
  </div>
180
213
 
181
214
  <!--自定义组件-->
182
- <slot></slot>
215
+ <slot>
216
+ <!--<div :style="item.style ? item.style+';height: 40px;margin-bottom: 20px':'height: 40px;margin-bottom: 20px'"-->
217
+ <!-- v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工'"-->
218
+ <!-- :class="[$v.f_idnumber2.identityCardValid ? 'has-error' : '',item.bootstraped ? item.bootstraped + ' form-group':'col-sm-4 form-group']">-->
219
+
220
+ <!--<div class="col-sm-6 form-group "-->
221
+ <!-- :class="[$v.f_pcd_id.required ? 'has-error' : 'has-success']">-->
222
+ <!-- <label class="font_normal_body">省&ensp;市&ensp;区</label>-->
223
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_pcd_id"-->
224
+ <!-- v-validate:f_pcd_id='{required: true }'-->
225
+ <!-- >-->
226
+
227
+ <!-- <v-select :value.sync="model.f_pcd_id" :value-single="true"-->
228
+ <!-- :options='pcdslist' placeholder='请选择2'-->
229
+ <!-- close-on-select search="true" @change="pcdChange">-->
230
+ <!-- </v-select>-->
231
+ <!--</div>-->
232
+ <!--<div class="col-sm-6 form-group "-->
233
+ <!-- :class="[$v.f_street_id.required ? 'has-error' : 'has-success']">-->
234
+ <!-- <label class="font_normal_body">街道/乡镇</label>-->
235
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_street_id"-->
236
+ <!-- >-->
237
+ <!-- <v-select :value.sync="model.f_street_id" :value-single="true"-->
238
+ <!-- :options='streetslist' placeholder='请选择'-->
239
+ <!-- @change="streetChange"-->
240
+ <!-- close-on-select search="true">-->
241
+ <!-- </v-select>-->
242
+
243
+ <!--</div>-->
244
+ <!--<div class="col-sm-6 form-group "-->
245
+ <!-- :class="[$v.f_residential_area_id.required ? 'has-error' : 'has-success']">-->
246
+ <!-- <label class="font_normal_body">集收单位</label>-->
247
+ <!-- <input type="text" style="width:41%" v-show="false" v-model="model.f_residential_area_id"-->
248
+ <!-- v-validate:f_residential_area_id='{required: true }'>-->
249
+ <!-- <v-select :value.sync="model.f_residential_area_id" :value-single="true"-->
250
+ <!-- :options='areaslist' placeholder='请选择'-->
251
+ <!-- @change="" @select-search="selectSearch"-->
252
+ <!-- close-on-select search="true">-->
253
+ <!-- </v-select>-->
254
+ <!--</div>-->
255
+ <!--</div>-->
256
+ </slot>
183
257
  <!--公司等属性-->
184
258
  <div class="col-sm-12 form-group text-center" style="padding-top:8px">
185
259
  <div class="col-sm-3 form-group center-block">
@@ -339,6 +413,7 @@
339
413
  <script>
340
414
  import Vue from 'vue'
341
415
  import {isEmpty} from '../Util'
416
+ import {HttpResetClass} from 'vue-client'
342
417
  // Date格式化
343
418
  Date.prototype.Format = function (fmt) {
344
419
  var o = {
@@ -369,7 +444,18 @@ export default {
369
444
  model: {}, // 公司等属性
370
445
  disable_button: true, // 控制按钮禁用
371
446
  disable_modal_button: true, // 控制按钮禁用
372
- showButModal: false
447
+ //初始化省市区数据
448
+ pcdslist: [],
449
+ //初始化街道数据
450
+ streetslist: [],
451
+ //初始化街道数据
452
+ areaslist: [],
453
+ showButModal: false,
454
+ areaData:{
455
+ sjvalue:'',
456
+ xianvalue:'',
457
+ sqvalue:'',
458
+ }
373
459
  }
374
460
  },
375
461
  watch: {
@@ -395,7 +481,6 @@ export default {
395
481
 
396
482
  // 是否禁用按钮
397
483
  this.disableButton()
398
-
399
484
  // 公司等属性初始化
400
485
  if (this.data.orgs) {
401
486
  this.model.orgs = this.data.orgs
@@ -417,11 +502,182 @@ export default {
417
502
  } else {
418
503
  this.model.operator = this.$login.f.name
419
504
  }
505
+
506
+ this.initpcds(` j_orgid = '${this.$login.f.orgid}'`)
507
+ },
508
+ async getSelectShijiValue(sjvalue,sjlable) {
509
+ this.areaData.sjvalue = sjvalue
510
+ console.log("这是父级接收的市级值:",sjvalue,sjlable)
511
+ this.data.areaData = this.areaData
512
+
513
+ // 是否禁用按钮
514
+ this.disableButton()
515
+ },
516
+ async getSelectXianValue(xianvalue,xianlable) {
517
+ this.areaData.xianvalue = xianvalue
518
+ this.data.areaData = this.areaData
519
+ console.log("这是父级接收的县级值:",xianvalue,xianlable)
520
+
521
+ // 是否禁用按钮
522
+ this.disableButton()
523
+ },
524
+ async getSelectShequValue(sqvalue,sqlable) {
525
+ this.areaData.sqvalue = sqvalue
526
+ this.data.areaData = this.areaData
527
+ console.log("这是父级接收的社区值:",sqvalue,sqlable)
528
+
529
+ // 是否禁用按钮
530
+ this.disableButton()
531
+ },
532
+ //初始化省市区,添加街道
533
+ async initpcds(pconditon) {
534
+ // console.log('initpcds', pconditon)
535
+ // this.pcdslist = []
536
+ // let HttpReset = new HttpResetClass()
537
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=9999999', {
538
+ // data: {
539
+ // items: '*',
540
+ // tablename: 'j_bjqpcd',
541
+ // orderitem: 'id',
542
+ // condition: pconditon
543
+ // }
544
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
545
+ // let redata = []
546
+ // req.data.forEach((row, n) => {
547
+ // redata[n] = {
548
+ // label: row.j_areaname,
549
+ // value: row.j_areaid,
550
+ // data: row,
551
+ // id: row.id
552
+ // }
553
+ // })
554
+ // console.log('市区', redata)
555
+ // this.pcdslist = redata
556
+ },
557
+ //初始化街道 添加小区
558
+ async initstreets(pconditon) {
559
+ // console.log('市区32', pconditon)
560
+ // this.streetslist = []
561
+ // let HttpReset = new HttpResetClass()
562
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
563
+ // data: {
564
+ // items: '*',
565
+ // tablename: 'j_bjqstreet',
566
+ // orderitem: 'id',
567
+ // condition: pconditon
568
+ // }
569
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
570
+ // let redata = []
571
+ // req.data.forEach((row, n) => {
572
+ // redata[n] = {
573
+ // label: row.j_areaname,
574
+ // value: row.j_areaid,
575
+ // data: row,
576
+ // id: row.id
577
+ // }
578
+ // })
579
+ // console.log('市区333', redata)
580
+ // this.streetslist = redata
581
+ // this.model.f_iscity = this.findbyid(this.streetslist, this.model.f_street_id).f_iscity
582
+ },
583
+ //初始化小区添加小区
584
+ async initareas(pconditon) {
585
+ // if(this.usertype){
586
+ // pconditon=pconditon+` and f_special='1' `
587
+ // }
588
+ // this.areaslist = []
589
+ // let HttpReset = new HttpResetClass()
590
+ // let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy?pageNo=1&pageSize=100', {
591
+ // data: {
592
+ // items: '*',
593
+ // tablename: 'j_bjqarea',
594
+ // orderitem: 'id',
595
+ // condition: pconditon
596
+ // }
597
+ // }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
598
+ // let redata = []
599
+ // req.data.forEach((row) => {
600
+ // redata.push({
601
+ // label: row.j_areaname,
602
+ // value: row.j_areaid,
603
+ // data: row,
604
+ // id: row.id
605
+ // })
606
+ // })
607
+ // console.log('市区666', redata)
608
+ // if (redata.length>0){
609
+ // this.areaslist = redata
610
+ // }
611
+ },
612
+ //省/市/区变化
613
+ async pcdChange(val) {
614
+
615
+ // console.log("省/市/区变化", val)
616
+ // console.log("省/市/区变化", ` f_pcd_id ='${val}' `)
617
+ // if (val) {
618
+ // //那就把[小区,街道]重新组织一下
619
+ // await this.initstreets(` j_parentid ='${val}' `)
620
+ // if (this.model.f_street_id) {
621
+ // if (this.findbyid(this.streetslist, this.model.f_street_id)) {
622
+ // let pcd_id = this.findbyid(this.streetslist, this.model.f_street_id).f_pcd_id
623
+ // if (pcd_id != val) {
624
+ // this.model.f_street_id = ''
625
+ // }
626
+ // } else {
627
+ // this.model.f_street_id = ''
628
+ // }
629
+ //
630
+ // //那就把[小区,街道]重新组织一下
631
+ // if (this.model.f_street_id) {
632
+ // await this.initareas(` j_parentid ='${this.model.f_street_id}' `)
633
+ // if (this.model.f_residential_area_id) {
634
+ // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
635
+ // let pcd_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_pcd_id
636
+ // if (pcd_id != val) {
637
+ // this.model.f_residential_area_id = ''
638
+ // }
639
+ // } else {
640
+ // this.model.f_residential_area_id = ''
641
+ // }
642
+ //
643
+ // }
644
+ // }
645
+ // }
646
+ // }
647
+ // this.$resetValidation()
648
+ },
649
+ //街道变化
650
+ async streetChange(val) {
651
+ // console.log("街道变化", val)
652
+ // if (this.streetslist[0]) {
653
+ // var street = ''
654
+ // this.streetslist.forEach((item) => {
655
+ // if (item.id === val) {
656
+ // street = item.label
657
+ // }
658
+ // })
659
+ // this.model.f_address = street
660
+ // }
661
+ // if (val) {
662
+ // //那就把[小区]重新组织一下
663
+ // await this.initareas(` j_parentid ='${val}' `)
664
+ // if (this.model.f_residential_area_id) {
665
+ // if (this.findbyid(this.areaslist, this.model.f_residential_area_id)) {
666
+ // let street_id = this.findbyid(this.areaslist, this.model.f_residential_area_id).f_street_id
667
+ // if (street_id != val) {
668
+ // this.model.f_residential_area_id = ''
669
+ // }
670
+ // } else {
671
+ // this.model.f_residential_area_id = ''
672
+ // }
673
+ //
674
+ // }
675
+ // }
676
+ // this.$resetValidation()
420
677
  },
421
678
  // 是否禁用按钮
422
679
  disableButton () {
423
680
  let flag = false
424
-
425
681
  for (const field of this.data.fields) {
426
682
  if (field.required && !field.value && !field.hidden && field.value !== 0) {
427
683
  flag = true
@@ -437,6 +693,16 @@ export default {
437
693
  }
438
694
  }
439
695
 
696
+ //区域下拉框必选 流程模式为报警器报建
697
+ if (this.data.f_apply_type === '报警器报建' && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
698
+ if (!flag){
699
+ if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
700
+ || this.areaData.xianvalue == null || this.areaData.xianvalue == 0){
701
+ console.log("区域为空禁止提交:",this.areaData)
702
+ flag = true
703
+ }
704
+ }
705
+ }
440
706
  this.disable_button = flag
441
707
  },
442
708
  // 失去焦点且值最终发生变化触发
@@ -493,6 +759,9 @@ export default {
493
759
  },
494
760
  // 点击按钮组按钮
495
761
  async click_but (button) {
762
+ //报警器区域地址
763
+ this.data.areaData = this.areaData
764
+
496
765
  this.disable_button = true
497
766
 
498
767
  this.data.fields.forEach(item => {
@@ -511,6 +780,7 @@ export default {
511
780
  } else {
512
781
  this.$dispatch('button')
513
782
  }
783
+
514
784
  },
515
785
  confirmModal () {
516
786
  this.closeModal()
@@ -4,21 +4,26 @@
4
4
  <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row">
7
+ <div class="form-group col-sm-3">
8
+ <label class="font_normal_body">客户名称:</label>
9
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
10
+ v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
11
+ </div>
7
12
  <div class="form-group col-sm-3">
8
13
  <label class="font_normal_body">组织机构:</label>
9
14
  <res-select
10
15
  restype='organization'
11
- :initresid='$parent.$parent.curorgid'
16
+ :initresid='$parent.$parent.curorgid'·
12
17
  @res-select="$parent.$parent.getorg"
13
18
  is-mul="false"
14
19
  ></res-select>
15
20
  </div>
16
- <div class="form-group col-sm-3">
17
- <label class="font_normal_body">工程编号:</label>
18
- <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
19
- v-on:keyup.enter="search"
20
- condition="f_apply_num = '{}'">
21
- </div>
21
+ <!-- <div class="form-group col-sm-3">-->
22
+ <!-- <label class="font_normal_body">工程编号:</label>-->
23
+ <!-- <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"-->
24
+ <!-- v-on:keyup.enter="search"-->
25
+ <!-- condition="f_apply_num = '{}'">-->
26
+ <!-- </div>-->
22
27
  <div class="form-group col-sm-2 button-range">
23
28
  <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
24
29
  <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
@@ -38,10 +43,16 @@
38
43
  </div>
39
44
  </div>
40
45
  <div class="row" v-show="$parent.$parent.criteriaShow">
46
+ <!-- <div class="form-group col-sm-3">-->
47
+ <!-- <label class="font_normal_body">客户名称:</label>-->
48
+ <!-- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"-->
49
+ <!-- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>-->
50
+ <!-- </div>-->
41
51
  <div class="form-group col-sm-3">
42
- <label class="font_normal_body">客户名称:</label>
43
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
44
- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
52
+ <label class="font_normal_body">工程编号:</label>
53
+ <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
54
+ v-on:keyup.enter="search"
55
+ condition="f_apply_num = '{}'">
45
56
  </div>
46
57
  <div class="form-group col-sm-3">
47
58
  <label class="font_normal_body">联系电话:</label>
@@ -137,6 +148,12 @@
137
148
  <input type="text" style="width:60%" class="input_search" v-model="model.f_construction_unit"
138
149
  v-on:keyup.enter="$parent.$parent.search()" condition="f_construction_unit like '%{}%'" placeholder='施工单位'>
139
150
  </div>
151
+ <div class="form-group col-sm-3">
152
+ <label class="font_normal_body">表&emsp;&emsp;号:</label>
153
+ <input type="text" style="width:60%" class="input_search" placeholder='表号' v-model="model.f_meternumber"
154
+ v-on:keyup.enter="$parent.$parent.search()"
155
+ condition="f_meternumber like '%{}%'">
156
+ </div>
140
157
  </div>
141
158
  </div>
142
159
  </criteria>
@@ -252,7 +269,8 @@
252
269
  'f_operator': '发起人',
253
270
  'f_install_project': '安装项目',
254
271
  'f_construction_unit': '施工单位',
255
- 'f_construction_date': '施工时间'
272
+ 'f_construction_date': '施工时间',
273
+ 'f_meternumber':'表号'
256
274
  }
257
275
  }
258
276
  },