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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "3.3.78",
3
+ "version": "3.3.83",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
package/src/apply.js CHANGED
@@ -89,4 +89,9 @@ export default function () {
89
89
  Vue.component('ignition-bill-list', (resolve) => { require(['./components/product/Print/IgnitionBill/IgnitionBill'], resolve) })
90
90
 
91
91
  Vue.component('business-apply', (resolve) => { require(['./components/product/Business/BusinessApply'], resolve) })
92
+
93
+ // 区域 地址下拉框联动组件
94
+ Vue.component('res-area-select', (resolve) => { require(['./components/product/AreaSelect/ResAreaSelect'], resolve) })
95
+ Vue.component('res-area-select-group', (resolve) => { require(['./components/product/AreaSelect/ResAreaSelectGroup'], resolve) })
96
+ Vue.component('area-select', (resolve) => { require(['./components/product/AreaSelect/MyAreaSelect'], resolve) })
92
97
  }
@@ -31,4 +31,9 @@ export default function () {
31
31
  // 选择报建项目
32
32
  Vue.component('select-apply', (resolve) => { require(['./components/android/Process/Processes/selectApply'], resolve) })
33
33
  Vue.component('app-build-sign', (resolve) => { require(['./components/android/Process/Processes/AppBuildSign'], resolve) })
34
+
35
+ // 区域 地址下拉框联动组件
36
+ Vue.component('app-res-area-select', (resolve) => { require(['./components/android/AreaSelect/AppResAreaSelect'], resolve) })
37
+ Vue.component('app-res-area-select-group', (resolve) => { require(['./components/android/AreaSelect/AppResAreaSelectGroup'], resolve) })
38
+ Vue.component('area-select', (resolve) => { require(['./components/product/AreaSelect/MyAreaSelect'], resolve) })
34
39
  }
@@ -151,7 +151,7 @@ import {guid, toStandardTimeString} from '../Util'
151
151
  import Vue from 'vue'
152
152
  export default {
153
153
  title: 'onetomany',
154
- props: ['onetomany', 'index'],
154
+ props: ['onetomany', 'index','selectdata'],
155
155
  data () {
156
156
  return {
157
157
  showModal: false,
@@ -163,12 +163,54 @@ export default {
163
163
  ready () {
164
164
  },
165
165
  methods: {
166
- confirmModal () {
166
+ async confirmModal () {
167
167
  if (this.modelTitle === '新增') {
168
- if (this.onetomany.add.event) {
169
- this.$dispatch(this.onetomany.add.event, this.index)
170
- } else {
171
- this.$dispatch('onetomanyadd', this.index)
168
+ //报警器设备型号校验
169
+ if (this.modelTitle === '新增' && this.selectdata.f_apply_type === '报警器报建'){
170
+ let data = {
171
+ f_material_name : "",
172
+ f_bjq_sid: "",
173
+ }
174
+ this.onetomany.fields.forEach(item=>{
175
+ if (item.label === '材料编号'){
176
+ data.f_bjq_sid = item.value
177
+ }
178
+ if (item.label === '材料名称'){
179
+ data.f_material_name = item.value
180
+ }
181
+ })
182
+ if (data.f_material_name.substr(0,3) === '报警器'){
183
+ let res = await this.$resetpost(
184
+ `${this.$androidUtil.getProxyUrl()}/ncc/rs/logic/bjqcheck`,
185
+ // `/rs/logic/bjqcheck`,
186
+ data
187
+ )
188
+ if (res.data.code == 200){
189
+ if (this.onetomany.add.event) {
190
+ this.$dispatch(this.onetomany.add.event, this.index)
191
+ } else {
192
+ this.$dispatch('onetomanyadd', this.index)
193
+ }
194
+ this.closeModal()
195
+ }else {
196
+ this.disableButton = true
197
+ this.$showMessage(res.data.msg)
198
+ }
199
+ }else {
200
+ if (this.onetomany.add.event) {
201
+ this.$dispatch(this.onetomany.add.event, this.index)
202
+ } else {
203
+ this.$dispatch('onetomanyadd', this.index)
204
+ }
205
+ this.closeModal()
206
+ }
207
+ }else {
208
+ if (this.onetomany.add.event) {
209
+ this.$dispatch(this.onetomany.add.event, this.index)
210
+ } else {
211
+ this.$dispatch('onetomanyadd', this.index)
212
+ }
213
+ this.closeModal()
172
214
  }
173
215
  }
174
216
  if (this.modelTitle === '修改') {
@@ -177,9 +219,9 @@ export default {
177
219
  } else {
178
220
  this.$dispatch('onetomanyupdate', this.index, this.rowIndex)
179
221
  }
222
+ this.closeModal()
180
223
  }
181
-
182
- this.closeModal()
224
+ // this.closeModal()
183
225
  },
184
226
  onchange (fieldIndex) {
185
227
  this.disableModalButton()
@@ -5,7 +5,7 @@
5
5
  <div v-for="(index,item) in data.fields">
6
6
  <!--input-->
7
7
  <div :style="item.style ? item.style : ''"
8
- v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device)&& (item.label !== '证件号码')&&(item.label !== '身份证') && (item.label !== '用户电话')"
8
+ v-if="(item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email') && !item.hidden && (item.device === 'app' || !item.device) && (item.label != '证件号码')&&(item.label != '身份证') && (item.label != '用户电话')"
9
9
  :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
10
10
  <label class="control-label-justify">{{item.label}}</label>
11
11
  <div :style="item.value_style ? item.value_style:''"
@@ -24,9 +24,30 @@
24
24
  </div>
25
25
  </div>
26
26
 
27
+ <div :style="item.style ? item.style : ''"
28
+ v-if="(data.fields[index-1].value ==='营业执照'||data.fields[index-1].value ==='军官证')&& (item.label === '证件号码')"
29
+ :class="[item.required && !(item.value) ? 'apply-has-error' : '', item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
30
+ <label class="control-label-justify">{{item.label}}</label>
31
+ <div :style="item.value_style ? item.value_style:''"
32
+ :class="item.value_bootstraped ? item.value_bootstraped : 'col-xs-8'">
33
+ <input class="" style="width: 100%"
34
+ :type="item.type"
35
+ v-model="data.fields[index].value"
36
+ :placeholder="item.placeholder"
37
+ :value="data.fields[index].value"
38
+ :readonly="item.readonly"
39
+ :disabled="item.disabled"
40
+ @change="onchange(index)"
41
+ @blur="onblur(index)"
42
+ @input="oninput(index)"
43
+ />
44
+ </div>
45
+ </div>
46
+
47
+
27
48
  <!--input身份证验证-->
28
49
  <div :style="item.style ? item.style : ''"
29
- v-if="(item.label==='身份证') || (data.f_credentials === '身份证' && item.label === '证件号码')"
50
+ v-if="(item.label==='身份证') || (item.label === '证件号码' && data.fields[index-1].value ==='身份证')"
30
51
  :class="[$v.f_idnumber2.identityCardValid ? 'apply-has-error' : '',item.bootstraped ? item.bootstraped + ' form-group app-input':'col-xs-12 form-group app-input']">
31
52
  <label class="control-label-justify">{{item.label}}</label>
32
53
  <div :style="item.value_style ? item.value_style:''"
@@ -60,7 +81,7 @@
60
81
  type="number"
61
82
  onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"
62
83
  oninput="if(value.length > 11) value=value.slice(0,11)"
63
- v-validate:f_user_phone="{minlength: 11, maxlength: 11 }"
84
+ v-validate:f_user_phone="{minlength: 7, maxlength: 11 }"
64
85
  v-model="data.fields[index].value"
65
86
  :placeholder="item.placeholder"
66
87
  :value="data.fields[index].value"
@@ -158,11 +179,21 @@
158
179
  </div>
159
180
  </div>
160
181
  </div>
161
-
182
+ <!--区域地址联动-->
183
+ <div>
184
+ <app-res-area-select-group
185
+ v-if="data.f_apply_type === '报警器报建' && data.defname === '工程施工' && data.title === '工程施工' && data.f_sub_state !='完工'"
186
+ labelstyle = "control-label"
187
+ @shiji-select = "getSelectShijiValue"
188
+ @xian-select = "getSelectXianValue"
189
+ @shequ-select = "getSelectShequValue"
190
+ >
191
+ </app-res-area-select-group>
192
+ </div>
162
193
  <div class="col-sm-12 col-xs-12" id="test11">
163
194
  <accordion one-at-a-time="true">
164
195
  <panel v-for="(i,item) in data.onetomany" :header="item.title" :is-open="false" type="primary">
165
- <app-onetomany :onetomany="item" :index="i"></app-onetomany>
196
+ <app-onetomany :onetomany="item" :index="i" :selectdata="data"></app-onetomany>
166
197
  </panel>
167
198
  <panel v-for="(i,item) in data.components" :header="item.title" :is-open="false" type="primary" v-if="item.device === 'app' || !item.device">
168
199
  <component :is="item.name" :selectdata="data" :mark="item.mark"></component>
@@ -171,7 +202,8 @@
171
202
  </div>
172
203
 
173
204
  <!--自定义组件-->
174
- <slot></slot>
205
+ <slot>
206
+ </slot>
175
207
 
176
208
  <!-- 按钮组 -->
177
209
  <div class="text-center">
@@ -298,7 +330,7 @@
298
330
  </button>
299
331
  </footer>
300
332
  </modal>
301
- </form>>
333
+ </form>
302
334
  </div>
303
335
  </template>
304
336
  <script>
@@ -338,7 +370,12 @@ export default {
338
370
  model: {}, // 公司等属性
339
371
  disable_button: true, // 控制按钮禁用
340
372
  disable_modal_button: true, // 控制按钮禁用
341
- showButModal: false
373
+ showButModal: false,
374
+ areaData:{
375
+ sjvalue:'',
376
+ xianvalue:'',
377
+ sqvalue:'',
378
+ }
342
379
  }
343
380
  },
344
381
  watch: {
@@ -364,6 +401,34 @@ export default {
364
401
  // 是否禁用按钮
365
402
  this.disableButton()
366
403
  },
404
+ async getSelectShijiValue(sjvalue,sjlable) {
405
+
406
+ this.areaData.sjvalue = sjvalue
407
+ console.log("这是父级接收的市级值:",sjvalue,sjlable)
408
+ this.data.areaData = this.areaData
409
+ console.log(this.areaData)
410
+ // 是否禁用按钮
411
+ this.disableButton()
412
+ },
413
+ async getSelectXianValue(xianvalue,xianlable) {
414
+
415
+ this.areaData.xianvalue = xianvalue
416
+ this.data.areaData = this.areaData
417
+ console.log("这是父级接收的县级值:",xianvalue,xianlable)
418
+ console.log(this.areaData)
419
+
420
+ // 是否禁用按钮
421
+ this.disableButton()
422
+ },
423
+ async getSelectShequValue(sqvalue,sqlable) {
424
+ this.areaData.sqvalue = sqvalue
425
+ this.data.areaData = this.areaData
426
+ console.log(this.areaData)
427
+ console.log("这是父级接收的社区值:",sqvalue,sqlable)
428
+
429
+ // 是否禁用按钮
430
+ this.disableButton()
431
+ },
367
432
  // 是否禁用按钮
368
433
  disableButton () {
369
434
  let flag = false
@@ -383,6 +448,17 @@ export default {
383
448
  }
384
449
  }
385
450
 
451
+ //区域下拉框必选 流程模式为报警器报建
452
+ if (this.data.f_apply_type === '报警器报建' && this.data.defname === '工程施工' && this.data.title === '工程施工' && this.data.f_sub_state !='完工'){
453
+ if (!flag){
454
+ if (this.areaData.sjvalue ==null || this.areaData.sjvalue.length ==0 || this.areaData.sqvalue == null || this.areaData.sqvalue.length ==0
455
+ || this.areaData.xianvalue == null || this.areaData.xianvalue == 0){
456
+ console.log("区域为空禁止提交:",this.areaData)
457
+ flag = true
458
+ }
459
+ }
460
+ }
461
+
386
462
  this.disable_button = flag
387
463
  },
388
464
  // 失去焦点且值最终发生变化触发
@@ -435,6 +511,9 @@ export default {
435
511
  },
436
512
  // 点击按钮组按钮
437
513
  async click_but (button) {
514
+ //报警器区域地址
515
+ this.data.areaData = this.areaData
516
+
438
517
  if (this.data.defname === '通气点火') {
439
518
 
440
519
  this.$showMessage(`请确认表号是否正确`).then((res) => {
@@ -482,6 +561,7 @@ export default {
482
561
  this.$dispatch('button')
483
562
  }
484
563
  }
564
+
485
565
  },
486
566
  confirmModal () {
487
567
  this.closeModal()
@@ -0,0 +1,108 @@
1
+ <template>
2
+ <!--<v-select :options='options' placeholder='请选择'-->
3
+ <!-- :value.sync="selectres"-->
4
+ <!-- :multiple="isMul"-->
5
+ <!-- :search="issearch"-->
6
+ <!-- :close-on-select="!isMul"-->
7
+ <!-- @change="resChange"-->
8
+ <!-- :value-single="true"-->
9
+ <!--&gt;-->
10
+ <!--</v-select>-->
11
+ <area-select :options='options' placeholder='请选择'
12
+ :value.sync="selectres"
13
+ :multiple="!isMul"
14
+ :search="issearch"
15
+ :close-on-select="isMul"
16
+ @change="resChange"
17
+ :value-single="true"
18
+ >
19
+ </area-select>
20
+ </template>
21
+ <script>
22
+ import {HttpResetClass} from 'vue-client'
23
+
24
+ export default {
25
+ title: '资源管理',
26
+ props: {
27
+
28
+ //资源类型
29
+ restype:'',
30
+ //资源数据
31
+ resObj:{},
32
+ options:[],
33
+ isMul: {
34
+ type: Boolean,
35
+ default: true
36
+ },
37
+ issearch: {
38
+ type: Boolean,
39
+ default: true
40
+ },
41
+ //资源初始化数据 默认选中值
42
+ initresid: {
43
+ type: Array,
44
+ default() { return [] },
45
+ },
46
+ //父层id
47
+ parentresid: {
48
+ type: Array,
49
+ default() { return [] },
50
+ },
51
+ },
52
+ data () {
53
+ return {
54
+ //资源数据
55
+ resObj:{},
56
+ //资源数据列表
57
+ resoptions:[],
58
+ //选中资源数据
59
+ selectres: [],
60
+ }
61
+ },
62
+ ready () {
63
+ //获取资源列表
64
+ this.getResList()
65
+ },
66
+ methods:{
67
+ //资源改变
68
+ resChange(val){
69
+ let orgnames=[]
70
+ Object.keys(this.options).forEach((key) => {
71
+ if(this.selectres.includes(this.options[key].value))
72
+ orgnames.push(this.options[key].label)
73
+ })
74
+ // console.log("资源变化:",this.selectres, orgnames,this.options)
75
+ this.$dispatch('res-select', this.selectres, orgnames,this.options)
76
+ },
77
+ //获取资源数据
78
+ async getResList() {
79
+ this.dealdata()
80
+ },
81
+ dealdata(){
82
+ //赋值资源数据选中初始值
83
+ let arryselect=[]
84
+ this.options.forEach((item) => {
85
+ if(this.initresid.length>0){
86
+ this.initresid.forEach((init) => {
87
+ if(item.value==init){
88
+ arryselect.push(item.value)
89
+ }
90
+ })
91
+ }
92
+ })
93
+ //赋值资源选中初始值
94
+ this.selectres=arryselect
95
+ }
96
+ },
97
+ watch: {
98
+ //监听初始化资源id
99
+ 'initresid.length'(){
100
+ this.dealdata()
101
+ },
102
+ //监听初始化资源id
103
+ 'parentresid'(){
104
+ this.dealdata()
105
+ },
106
+ },
107
+ }
108
+ </script>
@@ -0,0 +1,135 @@
1
+ <template>
2
+ <div :class="style">
3
+ <label :class="labelstyle" :style="shijifontColors">市&emsp;&emsp;县</label>
4
+ <app-res-area-select
5
+ :options = options
6
+ @res-select="getXian"
7
+ :issearch = "false"
8
+ >
9
+ </app-res-area-select>
10
+ </div>
11
+ <div :class="style">
12
+ <label :class="labelstyle" :style="xianfontColors">街道乡镇</label>
13
+ <app-res-area-select
14
+ :options = xian_options
15
+ @res-select="getjdao"
16
+ :issearch = "false"
17
+ >
18
+ </app-res-area-select>
19
+ </div>
20
+ <div :class="style">
21
+ <label :class="labelstyle" :style="shequfontColors">社&emsp;&emsp;区</label>
22
+ <app-res-area-select
23
+ :options = jdao_options
24
+ @res-select="getshequ"
25
+ :issearch = "false"
26
+ >
27
+ </app-res-area-select>
28
+ </div>
29
+ </template>
30
+ <script>
31
+
32
+ import { HttpResetClass } from 'vue-client'
33
+ import Vue from "vue";
34
+ export default {
35
+ title: '区域选择分组',
36
+ props: {
37
+ style: {
38
+ type: String,
39
+ default: 'col-xs-12 form-group app-input'
40
+ },
41
+ labelstyle: {
42
+ type: String,
43
+ default: 'font_normal_title'
44
+ },
45
+ mul: {
46
+ type: Boolean,
47
+ default: true
48
+ },
49
+ //初始值 默认选中值
50
+ initres: {
51
+ type: Object,
52
+ default: null,
53
+ }
54
+ },
55
+ data () {
56
+ return {
57
+ options:[],
58
+ initres: [],
59
+ xianginitres: [],
60
+ jdaoinitres: [],
61
+ xian_options:[],
62
+ jdao_options:[],
63
+ shijifontColors:"color: #cd5c5c",//红色
64
+ xianfontColors:"color: #cd5c5c",//红色
65
+ shequfontColors:"color: #cd5c5c",//红色
66
+ pubColors:"color: #0c2e4d",// 黑色
67
+ pub2Colors:"color: #cd5c5c"// 红色
68
+ }
69
+ },
70
+ ready () {
71
+ this.getResList();
72
+ },
73
+ methods:{
74
+ //获取区域地址
75
+ async getResList() {
76
+ let http = new HttpResetClass()
77
+ let req = await http.load('POST', '/rs/logic/resAreaSelect', {
78
+ userid: Vue.user.id,
79
+ orgid: Vue.user.orgid
80
+ }, {resolveMsg: null, rejectMsg: '获取区域地址失败'})
81
+ this.options = []
82
+ this.options = req.data
83
+ },
84
+ async getXian(value,lable,obj) {
85
+ this.xian_options = []
86
+ this.jdao_options = []
87
+ let newFilArr = obj.filter( (item,i) =>{
88
+ if(item.value == value){
89
+ return item
90
+ }
91
+ } )
92
+ if (newFilArr.length>0){
93
+ this.xian_options = newFilArr[0].children
94
+ }
95
+ if (value !=null && value.length!=0){
96
+ this.shijifontColors = this.pubColors
97
+ }else {
98
+ this.shijifontColors = this.pub2Colors
99
+ this.xianfontColors = this.pub2Colors
100
+ this.shequfontColors = this.pub2Colors
101
+ }
102
+ this.$dispatch('shiji-select', value, lable)
103
+ },
104
+ async getjdao(value,lable,obj) {
105
+ this.jdao_options = []
106
+ let newFilArr = obj.filter( (item,i) =>{
107
+ if(item.value == value){
108
+ return item
109
+ }
110
+ } )
111
+ if (newFilArr.length>0){
112
+ this.jdao_options = newFilArr[0].children
113
+ }
114
+ if (value !=null && value.length!=0){
115
+ this.xianfontColors = this.pubColors
116
+ }else {
117
+ this.xianfontColors = this.pub2Colors
118
+ this.shequfontColors = this.pub2Colors
119
+ }
120
+ this.$dispatch('xian-select',value, lable)
121
+ },
122
+ async getshequ(value,lable,obj) {
123
+ if (value !=null && value.length!=0){
124
+ this.shequfontColors = this.pubColors
125
+ }else {
126
+ this.shequfontColors = this.pub2Colors
127
+ }
128
+ this.$dispatch('shequ-select',value, lable)
129
+ }
130
+ },
131
+ watch: {
132
+
133
+ }
134
+ }
135
+ </script>
@@ -269,7 +269,7 @@ export default {
269
269
  showModal: false,
270
270
  applyType: '', // 报建类型
271
271
  //applyTypes:this.$appdata.getParam("报建类型"),
272
- applyTypes:[{label:'散户报建',value:'散户报建'},{label:'工商户报建',value:'工商户报建'},{label:'团购报建',value:'团购报建'},{label:'改管报建',value:'改管报建'},{label:'增容报建',value:'增容报建'},{label:'退款报建',value:'退款报建'},{label:'团购转散户',value:'团购转散户'}],
272
+ applyTypes:[{label:'散户报建',value:'散户报建'},{label:'工商户报建',value:'工商户报建'},{label:'团购报建',value:'团购报建'},{label:'改管报建',value:'改管报建'},{label:'增容报建',value:'增容报建'},{label:'退款报建',value:'退款报建'},{label:'团购转散户',value:'团购转散户'},{label:'报警器报建',value:'报警器报建'}],
273
273
  criteriaShow: false,
274
274
  // applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
275
275
  applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型') || [] ], // 所有报建类型
@@ -385,6 +385,9 @@ export default {
385
385
  } else if (this.applyType === '团购转散户') {
386
386
  data.processname = '团购转散户报建流程'
387
387
  data.defname = '信息确认'
388
+ }else if (this.applyType === '报警器报建') {
389
+ data.processname = '报警器报建流程'
390
+ data.defname = '报装申请'
388
391
  } else {
389
392
  this.$showMessage('暂无此类报装')
390
393
  return
@@ -448,7 +448,7 @@ export default {
448
448
  //this.$getConfig(this, 'UserAddress')
449
449
  //获取地址配置文件
450
450
  try {
451
- let res = await new HttpResetClass().load('get',`${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`,{resolveMsg: null, rejectMsg: null})
451
+ let res = await new HttpResetClass().load('get',`${this.$androidUtil.getProxyUrl()}/rs/vue/UserAddress.json`,null,{resolveMsg: null, rejectMsg: null})
452
452
  Object.assign(this.config, res.data)
453
453
  } catch (error) {
454
454
  console.log("未获取到地址信息")
@@ -551,6 +551,13 @@ export default {
551
551
 
552
552
  this.refurbish()
553
553
  },
554
+ async addressTips () {
555
+ let res = await this.$showMessage('增容改管下单后将不能修改用户信息,请确认用户信息地址等是否正确,如不完善可在档案中进行修正!!!')
556
+ if (res == 'confirm') {
557
+ return
558
+ }
559
+ throw '用户信息确认!!!'
560
+ },
554
561
  // 缴费前置
555
562
  chargeBefore () {
556
563
  if (Number(this.show_data.f_due_money) > Number(this.show_data.f_cumulative_payment_money) || Number(this.show_data.f_surplus_money) > 0) {
@@ -949,6 +956,69 @@ export default {
949
956
  this.show_data.start_activity = this.json_datas.start_activity
950
957
  this.show_data.xmlfilename = this.json_datas.workflow_xmlfilename
951
958
 
959
+
960
+ if (this.show_data.f_apply_type === '报警器报建' && this.show_data.defname === '工程施工' && this.show_data.f_sub_state !='完工'){
961
+ //判断是否添加报警器材料
962
+ let bjqlag = false
963
+ let datatemp = {
964
+ 'bjqid':"",
965
+ 'fprocessid':"",
966
+ 'sqvalue':"",
967
+ 'f_bjq_sid':"",
968
+ 'f_material_code':""
969
+ }
970
+ let numOne = [];
971
+ this.show_data.onetomany.forEach(item=>{
972
+ item.rows.forEach(i=>{
973
+ if (i.f_material_name.substr(0,3) === '报警器'){
974
+ bjqlag = true
975
+ datatemp.bjqid = i.id
976
+ datatemp.fprocessid = i.f_process_id
977
+ datatemp.f_bjq_sid = i.f_bjq_sid
978
+ datatemp.f_material_code = i.f_material_code
979
+ numOne.push(i.f_bjq_sid)
980
+ }
981
+ })
982
+ })
983
+ if (!bjqlag){
984
+ this.$showMessage('请添加报警器物料信息!!!')
985
+ return
986
+ }
987
+ if (numOne.length > 1){
988
+ this.$showMessage("暂时支持单个报警器物料安装!!!")
989
+ return
990
+ }
991
+ datatemp.sqvalue = this.show_data.areaData.sqvalue
992
+ //区域地址存入材料记录表
993
+ let areares = await this.$resetpost(
994
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/saveArea`,
995
+ // `rs/logic/saveArea`,
996
+ {data: datatemp},
997
+ {resolveMsg: null, rejectMsg: '区域地址保存失败'}
998
+ )
999
+
1000
+ // 完工之后推送数据到汉威
1001
+ let adddata = {
1002
+ f_bjq_sid : datatemp.f_bjq_sid,
1003
+ f_material_code : datatemp.f_material_code,
1004
+ f_bjq_address: this.show_data.areaData.sqvalue,
1005
+ f_user_name: this.show_data.f_user_name,
1006
+ f_address: this.show_data.f_address,
1007
+ f_user_phone: this.show_data.f_phone,
1008
+ f_userinfo_code: this.show_data.f_userinfo_code,
1009
+ installtime: this.show_data.f_construction_date,
1010
+ }
1011
+ let res = await this.$resetpost(
1012
+ `${this.$androidUtil.getProxyUrl()}/ncc/rs/logic/bjqadduser`,
1013
+ // `/rs/logic/bjqadduser`,
1014
+ adddata
1015
+ )
1016
+ if (res.data.code != 200){
1017
+ this.$showMessage(res.data.msg)
1018
+ return
1019
+ }
1020
+
1021
+ }
952
1022
  let res = await this.$resetpost(
953
1023
  // `rs/logic/ApplyProductService`,
954
1024
  `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyProductService`,
@@ -176,6 +176,7 @@
176
176
  <script>
177
177
  import {getNowDate,isEmpty} from '../../../Util'
178
178
  import {PagedList} from 'vue-client'
179
+ import Vue from 'vue'
179
180
  import {HttpResetClass} from 'vue-client'
180
181
  export default {
181
182
  title: '补充协议',
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div style="margin-bottom: 20px" class="form-group select-overspread">
3
3
  <label class="control-label-justify control-label col-sm-3">选择项目</label>
4
- <div class="col-sm-10" >
4
+ <div class="col-sm-5" >
5
5
  <button class="button_search button_spacing" type="button" style="width: max-content;position: absolute" @click="openSelect" :disabled="mark === 1">选择</button>
6
6
  </div>
7
7
  </div>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div style="margin-bottom: 20px" class="form-group select-overspread">
3
3
  <label class="control-label-justify control-label col-sm-3">选择用户</label>
4
- <div class="col-sm-10" >
4
+ <div class="col-sm-5" >
5
5
  <button class="button_search button_spacing" type="button" style="width: max-content;position: absolute" @click="openSelect" :disabled="mark === 1">选择</button>
6
6
  </div>
7
7
  </div>