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.
- package/package.json +1 -1
- package/src/apply.js +5 -0
- package/src/applyAndroid.js +5 -0
- package/src/components/android/AppOnetomany.vue +50 -8
- package/src/components/android/AppServiceView.vue +88 -8
- package/src/components/android/AreaSelect/AppResAreaSelect.vue +108 -0
- package/src/components/android/AreaSelect/AppResAreaSelectGroup.vue +135 -0
- package/src/components/android/Process/AppExplorationUser.vue +4 -1
- package/src/components/android/Process/AppServiceControl.vue +71 -1
- package/src/components/android/Process/Processes/AppSupplementalAgreement.vue +1 -0
- package/src/components/android/Process/Processes/selectApply.vue +1 -1
- package/src/components/android/Process/Processes/selectUserinfo.vue +1 -1
- package/src/components/product/AreaSelect/MyAreaSelect.vue +423 -0
- package/src/components/product/AreaSelect/ResAreaSelect.vue +106 -0
- package/src/components/product/AreaSelect/ResAreaSelectGroup.vue +150 -0
- package/src/components/product/AreaSelect/utils/EventListener.js +29 -0
- package/src/components/product/AreaSelect/utils/coerceBoolean.js +7 -0
- package/src/components/product/Onetomany.vue +49 -7
- package/src/components/product/Print/BuildOrder/buildOrderList.vue +8 -4
- package/src/components/product/Print/BuildOrder/printBuildOrder.vue +4 -0
- package/src/components/product/Process/ExplorationSelect.vue +36 -23
- package/src/components/product/Process/Service/ServiceControl.vue +62 -0
- package/src/components/product/ServiceView.vue +276 -6
- package/src/components/product/Supervisory/SupervisoryList.vue +29 -11
package/package.json
CHANGED
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
|
}
|
package/src/applyAndroid.js
CHANGED
|
@@ -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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
|
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==='身份证') || (
|
|
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:
|
|
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
|
|
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
|
+
<!-->-->
|
|
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">市  县</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">社  区</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`,
|
|
@@ -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-
|
|
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-
|
|
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>
|