sale-client 3.6.583 → 3.6.585
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
CHANGED
|
@@ -87,6 +87,9 @@
|
|
|
87
87
|
v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state === '销户'">
|
|
88
88
|
启用
|
|
89
89
|
</button>
|
|
90
|
+
<button @click="$parent.$parent.openBatchModal()" class="button_clear button_spacing"
|
|
91
|
+
style="float: right">批量修改调压箱
|
|
92
|
+
</button>
|
|
90
93
|
<div
|
|
91
94
|
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
92
95
|
@click="$parent.$parent.hidden()"
|
|
@@ -302,7 +305,7 @@
|
|
|
302
305
|
</div>
|
|
303
306
|
</div>
|
|
304
307
|
</criteria>
|
|
305
|
-
<data-grid :model="model" class="list_area table_sy" @dblclick="$parent.modifyUser" v-ref:grid partial='list'>
|
|
308
|
+
<data-grid :model="model" class="list_area table_sy" @dblclick="$parent.modifyUser" v-ref:grid partial='list' optional>
|
|
306
309
|
<template partial='head'>
|
|
307
310
|
<tr>
|
|
308
311
|
<th>
|
|
@@ -476,6 +479,20 @@
|
|
|
476
479
|
</footer>
|
|
477
480
|
</modal>
|
|
478
481
|
<!--<user-flow-sheet :show="printflag" :bill-config='configs' :bill-data='billData' :data='newdata' v-on:toggle="close" @printok="printok" v-ref:printbill></user-flow-sheet>-->
|
|
482
|
+
<modal :show.sync="showModifyAdjustables" width="500px" title="批量修改调压箱" large backdrop="false">
|
|
483
|
+
<article slot="modal-body" class="modal-body" style="height: 70px">
|
|
484
|
+
<label class="font_normal_body">调 压 箱</label>
|
|
485
|
+
<v-select :options='adjustablesNew' :search='true'
|
|
486
|
+
:value.sync="f_adjustable_id"
|
|
487
|
+
close-on-select
|
|
488
|
+
placeholder='调压箱'
|
|
489
|
+
v-model='f_adjustable_id'></v-select>
|
|
490
|
+
</article>
|
|
491
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
492
|
+
<button class="button_search button_spacing" :disabled="!f_adjustable_id || f_adjustable_id.length < 1 " type="button" @click="batchModifyAdjustables()">确认</button>
|
|
493
|
+
<button class="button_search button_spacing" type="button" @click="closeBatchAdjustables()">取消</button>
|
|
494
|
+
</footer>
|
|
495
|
+
</modal>
|
|
479
496
|
|
|
480
497
|
<work-busy :is-busy="iswork" v-show="iswork"></work-busy>
|
|
481
498
|
</div>
|
|
@@ -570,6 +587,8 @@ let loadParamGem = async function (self) {
|
|
|
570
587
|
xiaohushow: false,
|
|
571
588
|
inputtores: this.$appdata.getParam('抄表员'),
|
|
572
589
|
adjustables: [],
|
|
590
|
+
adjustablesNew: [],
|
|
591
|
+
f_adjustable_id: '',
|
|
573
592
|
|
|
574
593
|
// 导入组件
|
|
575
594
|
show: false,
|
|
@@ -602,6 +621,7 @@ let loadParamGem = async function (self) {
|
|
|
602
621
|
showselectaddress: false,
|
|
603
622
|
isedit: false,
|
|
604
623
|
clientWidth: document.body.clientWidth,
|
|
624
|
+
showModifyAdjustables: false,
|
|
605
625
|
batchMeterShow: false,
|
|
606
626
|
billData: {
|
|
607
627
|
url: 'rs/report/userignition',
|
|
@@ -635,6 +655,38 @@ let loadParamGem = async function (self) {
|
|
|
635
655
|
}
|
|
636
656
|
},
|
|
637
657
|
methods: {
|
|
658
|
+
closeBatchAdjustables () {
|
|
659
|
+
this.showModifyAdjustables = false
|
|
660
|
+
},
|
|
661
|
+
openBatchModal () {
|
|
662
|
+
let rowdata = this.$refs.paged.$refs.grid.getRowData()
|
|
663
|
+
if (rowdata.length <= 0) {
|
|
664
|
+
this.$showMessage('请至少选择一个表具!')
|
|
665
|
+
return
|
|
666
|
+
}
|
|
667
|
+
this.showModifyAdjustables = true
|
|
668
|
+
},
|
|
669
|
+
async batchModifyAdjustables() {
|
|
670
|
+
let rowdata = this.$refs.paged.$refs.grid.getRowData()
|
|
671
|
+
let userfilesIds = rowdata.map(item => item.f_userfiles_id);
|
|
672
|
+
console.log('已选择的数据', userfilesIds)
|
|
673
|
+
console.log('已选择的调压箱', this.f_adjustable_id)
|
|
674
|
+
let model = {
|
|
675
|
+
f_adjustable_id: this.f_adjustable_id,
|
|
676
|
+
f_userfiles_ids: userfilesIds
|
|
677
|
+
}
|
|
678
|
+
await this.$resetpost('rs/af-revenue/logic/batchModifyAdjustables', model, {
|
|
679
|
+
resolveMsg: null,
|
|
680
|
+
rejectMsg: '批量修改调压箱失败'
|
|
681
|
+
}).then((res) => {
|
|
682
|
+
if (res && res.data) {
|
|
683
|
+
this.$showMessage(`本次批量修改: ${res.data}户`);
|
|
684
|
+
}
|
|
685
|
+
this.closeBatchAdjustables()
|
|
686
|
+
this.selfSearch()
|
|
687
|
+
})
|
|
688
|
+
|
|
689
|
+
},
|
|
638
690
|
getAuthority () {
|
|
639
691
|
if (this.$login.r.find(value => value == '销户导入')) {
|
|
640
692
|
this.bacthPin = '销户导入'
|
|
@@ -821,6 +873,7 @@ let loadParamGem = async function (self) {
|
|
|
821
873
|
this.model.rows.unshift(data)
|
|
822
874
|
},
|
|
823
875
|
selfSearch (args) {
|
|
876
|
+
this.$refs.paged.$refs.grid.selectInit()
|
|
824
877
|
args.condition = `${args.condition} ` + this.orgcondition
|
|
825
878
|
this.criteriaShow = false
|
|
826
879
|
this.$refs.paged.$refs.grid.$el.scrollTop = 0
|
|
@@ -874,6 +927,7 @@ let loadParamGem = async function (self) {
|
|
|
874
927
|
arr.push(temp)
|
|
875
928
|
})
|
|
876
929
|
this.adjustables = [{label: '全部', value: ''}, ...arr]
|
|
930
|
+
this.adjustablesNew = arr
|
|
877
931
|
// 初始化气表品牌
|
|
878
932
|
let brandArr = []
|
|
879
933
|
this.$GetSaleParam.getGasbrand().forEach((item) => {
|
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<validator name='v' @valid="$emit('valid')" @invalid="$emit('invalid')">
|
|
4
|
+
<form class="form-horizontal select-overspread ">
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-sm-4 form-group " :class="[!baseinfo.base.f_user_name ? 'has-error' : '']"
|
|
7
|
+
v-if="getConfigShowItem('f_user_name')">
|
|
8
|
+
<label for="f_user_name" class="font_normal_body">*{{getConfigLabelName('f_user_name','用户姓名')}}</label>
|
|
9
|
+
<input type="text" v-model="baseinfo.base.f_user_name"
|
|
10
|
+
v-validate:f_user_name='getConfigValidate("f_user_name",true)'
|
|
11
|
+
class="input_search" style="width:60%" :placeholder="getConfigPlaceholder('f_user_name','用户姓名')" v-next-el="phone">
|
|
12
|
+
</div>
|
|
13
|
+
<div style="" class="col-sm-4 form-group"
|
|
14
|
+
:class="[$v.f_user_phone.minlength || $v.f_user_phone.maxlength ? 'has-error' : '']" v-if="getConfigShowItem('f_user_phone')">
|
|
15
|
+
<label for="f_user_phone" class="font_normal_body">*{{getConfigLabelName('f_user_phone','客户电话')}}</label>
|
|
16
|
+
<input type="text" maxlength="11" v-model="baseinfo.base.f_user_phone"
|
|
17
|
+
v-validate:f_user_phone="getConfigValidate('f_user_phone')" class="input_search" style="width:60%"
|
|
18
|
+
:placeholder="getConfigPlaceholder('f_user_phone','客户电话')"
|
|
19
|
+
v-el:phone v-next-el="area">
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-4 form-group">
|
|
22
|
+
<label for="f_user_state" class="font_normal_body"> 客户状态</label>
|
|
23
|
+
<v-select :value.sync="baseinfo.base.f_user_state"
|
|
24
|
+
:disabled="false"
|
|
25
|
+
:value-single="true"
|
|
26
|
+
:options='userstates' placeholder='客户状态'
|
|
27
|
+
close-on-select></v-select>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="row">
|
|
31
|
+
<div style="" class="col-sm-4 form-group" >
|
|
32
|
+
<label for="f_credentials" class="font_normal_body"> 证件类型</label>
|
|
33
|
+
<v-select id="idCardType" :value.sync="baseinfo.base.f_credentials"
|
|
34
|
+
v-model="baseinfo.base.f_credentials"
|
|
35
|
+
:value-single="true"
|
|
36
|
+
:options='credentials'
|
|
37
|
+
:placeholder="getConfigPlaceholder('f_credentials','证件类型')"
|
|
38
|
+
style="width: 65%"
|
|
39
|
+
close-on-select></v-select>
|
|
40
|
+
</div>
|
|
41
|
+
<div style="" class="col-sm-8 form-group"
|
|
42
|
+
key="身份证号码"
|
|
43
|
+
:class="[$v.f_idnumber.identityCardValid ? 'has-error' : '']"
|
|
44
|
+
v-if="baseinfo.base.f_credentials.includes('身份证')">
|
|
45
|
+
<label for="f_idnumber" class="font_normal_body color-red">*证件号码</label>
|
|
46
|
+
<input type="text" maxlength="18" v-model="baseinfo.base.f_idnumber"
|
|
47
|
+
v-validate:f_idnumber='{identityCardValid: true}' class="input_search" style="width:80%"
|
|
48
|
+
:placeholder="getConfigPlaceholder('f_idnumber','证件号码')">
|
|
49
|
+
</div>
|
|
50
|
+
<div style="" class="col-sm-8 form-group"
|
|
51
|
+
key="证件号码"
|
|
52
|
+
v-else>
|
|
53
|
+
<label class="font_normal_body"> 证件号码</label>
|
|
54
|
+
<input type="text" v-model="baseinfo.base.f_idnumber" class="input_search" style="width:80%"
|
|
55
|
+
:placeholder="getConfigPlaceholder('f_idnumber','证件号码')">
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="row">
|
|
59
|
+
<div class="col-sm-12 form-group" :class="[$v.f_address.required ? 'has-error' : '']">
|
|
60
|
+
<label for="f_address" class="font_normal_body">*地址信息</label>
|
|
61
|
+
<input type="text" v-model="addressinfo.f_address" v-validate:f_address="{required: true}"
|
|
62
|
+
class="input_search" disabled="disabled" style="width:75%;" placeholder="用户地址" >
|
|
63
|
+
<span>
|
|
64
|
+
<button class="button_search button_spacing" type="button" style="width: max-content" v-if="!isedit" @click="selectaddress()">选择地址</button>
|
|
65
|
+
<!-- <button class="button_search button_spacing" type="button" style="width: max-content" v-if="isedit" @click="modifyaddress()">修改地址</button>-->
|
|
66
|
+
<button class="button_search button_spacing" type="button" style="width: max-content" v-if="isedit" @click="selectaddress()">修改地址</button>
|
|
67
|
+
</span>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="row">
|
|
71
|
+
<div class="col-sm-6 form-group">
|
|
72
|
+
<label style="letter-spacing: 2em;margin-right: -2em;margin-left: -2em" class="font_normal_body w2"> 经度</label>
|
|
73
|
+
<input type="text" v-model="lng"
|
|
74
|
+
class="input_search" :disabled="true" style="width:75%;" placeholder="经度" >
|
|
75
|
+
</div>
|
|
76
|
+
<div class="col-sm-6 form-group">
|
|
77
|
+
<label style="letter-spacing: 2em;margin-right: -2em;margin-left: -2em" class="font_normal_body w2"> 纬度</label>
|
|
78
|
+
<input type="text" v-model="lat"
|
|
79
|
+
class="input_search" :disabled="true" style="width:75%;" placeholder="经度" >
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="row">
|
|
83
|
+
<div style=""
|
|
84
|
+
v-show="(formconfig && formconfig.f_used_name && formconfig.f_used_name.required) || !onlyshowmust"
|
|
85
|
+
:class="[$v.f_used_name.required ? 'has-error' : '']"
|
|
86
|
+
class="col-sm-4 form-group" v-if="getConfigShowItem('f_used_name')">
|
|
87
|
+
<label style="letter-spacing: 0.5em;margin-right: -0.5em;margin-left: -0.5em" for="f_used_name" class="font_normal_body w3"> {{getConfigLabelName('f_used_name','曾用名')}}</label>
|
|
88
|
+
<input type="text" v-model="baseinfo.base.f_used_name" class="input_search" style="width:60%"
|
|
89
|
+
v-validate:f_used_name="getConfigValidate('f_used_name', false)"
|
|
90
|
+
:placeholder="getConfigPlaceholder('f_used_name','曾用名')">
|
|
91
|
+
</div>
|
|
92
|
+
<div style="" class="col-sm-4 form-group"
|
|
93
|
+
v-show="(formconfig && formconfig.f_rent_phone && formconfig.f_rent_phone.required) || !onlyshowmust"
|
|
94
|
+
:class="[$v.f_rent_phone.required ? 'has-error' : '']" v-if="getConfigShowItem('f_rent_phone')">
|
|
95
|
+
<label for="f_rent_phone" class="font_normal_body"> 备用电话</label>
|
|
96
|
+
<input type="text" v-model="baseinfo.base.f_rent_phone" class="input_search" style="width:60%"
|
|
97
|
+
v-validate:f_rent_phone="getConfigValidate('f_rent_phone', false)"
|
|
98
|
+
placeholder="备用电话">
|
|
99
|
+
</div>
|
|
100
|
+
<div class="col-sm-4 form-group"
|
|
101
|
+
v-show="(formconfig && formconfig.f_people_num && formconfig.f_people_num.required) || !onlyshowmust"
|
|
102
|
+
:class="[$v.f_people_num.dctest ? 'has-error' : '']" v-if="getConfigShowItem('f_people_num')">
|
|
103
|
+
<label for="f_people_num" style="letter-spacing: 0.5em;margin-right: -0.5em" class="font_normal_body w3">{{getConfigLabelName('f_people_num','人口数')}}</label>
|
|
104
|
+
<input type="number" v-model="baseinfo.base.f_people_num" v-show="!peopleMax" v-validate:f_people_num='{dctest: [0, ">=" ]}'
|
|
105
|
+
:disabled="!jurisdiction.includes('修改人口数')" class="input_search" style="width:60%"
|
|
106
|
+
placeholder="家庭人口数">
|
|
107
|
+
<v-select id="f_people_num" :value.sync="baseinfo.base.f_people_num"
|
|
108
|
+
v-if="peopleMax"
|
|
109
|
+
v-model="baseinfo.base.f_people_num"
|
|
110
|
+
:value-single="true"
|
|
111
|
+
:options='peoplenums'
|
|
112
|
+
:placeholder="getConfigPlaceholder('f_people_num','家庭人口数')"
|
|
113
|
+
style="width: 65%"
|
|
114
|
+
close-on-select></v-select>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="row">
|
|
118
|
+
<div style=""
|
|
119
|
+
v-show="(formconfig && formconfig.f_balance && formconfig.f_balance.required) || !onlyshowmust"
|
|
120
|
+
:class="[$v.f_balance.required ? 'has-error' : '']"
|
|
121
|
+
class="col-sm-4 form-group" v-if="getConfigShowItem('f_balance')">
|
|
122
|
+
<label for="f_balance" class="font_normal_body"> {{getConfigLabelName('f_balance','用户余额')}}</label>
|
|
123
|
+
<input type="text" v-model="baseinfo.base.f_balance" class="input_search" style="width:60%"
|
|
124
|
+
v-validate:f_balance="getConfigValidate('f_balance', false)"
|
|
125
|
+
:placeholder="getConfigPlaceholder('f_balance','用户余额')"
|
|
126
|
+
:disabled="!jurisdiction.includes('档案信息查询修改')">
|
|
127
|
+
</div>
|
|
128
|
+
<div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_is_mgq')"
|
|
129
|
+
v-show="(formconfig && formconfig.f_is_mgq && formconfig.f_is_mgq.required) || !onlyshowmust"
|
|
130
|
+
:class="[$v.f_is_mgq.required ? 'has-error' : '']">
|
|
131
|
+
<label for="f_is_mgq" style="letter-spacing: 0.5em;margin-right: -0.5em" class="font_normal_body w3">{{getConfigLabelName('f_is_mgq','煤改气')}}</label>
|
|
132
|
+
<input type="text" v-show="false" v-model="baseinfo.base.f_is_mgq"
|
|
133
|
+
v-validate:f_is_mgq="getConfigValidate('f_is_mgq', false)">
|
|
134
|
+
<v-select id="f_is_mgq" :value.sync="baseinfo.base.f_is_mgq" v-model="baseinfo.base.f_is_mgq"
|
|
135
|
+
:placeholder="getConfigPlaceholder('f_is_mgq','是否煤改气')"
|
|
136
|
+
:options='mgq' style="width: 65%" close-on-select></v-select>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="col-sm-4 form-group" v-if="getConfigShowItem('f_book_no')"
|
|
139
|
+
v-show="(formconfig && formconfig.f_book_no && formconfig.f_book_no.required) || !onlyshowmust"
|
|
140
|
+
:class="[$v.f_book_no.required ? 'has-error' : '']">
|
|
141
|
+
<label for="f_contract" class="font_normal_body"> {{getConfigLabelName('f_book_no','燃气本号')}}</label>
|
|
142
|
+
<input type="text" v-model="baseinfo.base.f_book_no" class="input_search" style="width:60%"
|
|
143
|
+
v-validate:f_book_no="getConfigValidate('f_book_no', false)"
|
|
144
|
+
:placeholder="getConfigPlaceholder('f_book_no','用户证号')">
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="row">
|
|
148
|
+
<div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_rent_name')"
|
|
149
|
+
v-show="(formconfig && formconfig.f_rent_name && formconfig.f_rent_name.required) || !onlyshowmust"
|
|
150
|
+
:class="[$v.f_rent_name.required ? 'has-error' : '']">
|
|
151
|
+
<label for="f_rent_name" class="font_normal_body"> {{getConfigLabelName('f_rent_name','租户姓名')}}</label>
|
|
152
|
+
<input type="text" v-model="baseinfo.base.f_rent_name" class="input_search" style="width:60%"
|
|
153
|
+
v-validate:f_rent_name="getConfigValidate('f_rent_name', false)"
|
|
154
|
+
:placeholder="getConfigPlaceholder('f_rent_name','租户姓名')">
|
|
155
|
+
</div>
|
|
156
|
+
<div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_zuhu_phone')"
|
|
157
|
+
v-show="(formconfig && formconfig.f_zuhu_phone && formconfig.f_zuhu_phone.required) || !onlyshowmust"
|
|
158
|
+
:class="[$v.f_zuhu_phone.required ? 'has-error' : '']">
|
|
159
|
+
<label for="f_zuhu_phone" class="font_normal_body">{{getConfigLabelName('f_zuhu_phone','租户电话')}}</label>
|
|
160
|
+
<input type="text" v-model="baseinfo.base.f_zuhu_phone" class="input_search" style="width:60%"
|
|
161
|
+
v-validate:f_zuhu_phone="getConfigValidate('f_zuhu_phone', false)"
|
|
162
|
+
:placeholder="getConfigPlaceholder('f_zuhu_phone','租户电话')">
|
|
163
|
+
</div>
|
|
164
|
+
<div style="" class="col-sm-4 form-group"
|
|
165
|
+
v-show="(formconfig && formconfig.f_cost_type && formconfig.f_cost_type.required) || !onlyshowmust"
|
|
166
|
+
v-if="getConfigShowItem('f_cost_type')">
|
|
167
|
+
<label for="f_is_mgq" class="font_normal_body "> {{getConfigLabelName('f_cost_type','付款类型')}}</label>
|
|
168
|
+
<v-select id="f_is_mgq" :value.sync="baseinfo.base.f_cost_type" v-model="baseinfo.base.f_cost_type"
|
|
169
|
+
:options='costtype'
|
|
170
|
+
:placeholder="getConfigPlaceholder('f_cost_type','付款类型')" style="width: 65%" close-on-select></v-select>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
<div class="row">
|
|
174
|
+
<div class="col-sm-8 form-group" v-if="getConfigShowItem('f_contract_id')"
|
|
175
|
+
v-show="(formconfig && formconfig.f_contract_id && formconfig.f_contract_id.required) || !onlyshowmust"
|
|
176
|
+
:class="[$v.f_contract_id.required ? 'has-error' : '']">
|
|
177
|
+
<label for="f_contract" class="font_normal_body"> {{getConfigLabelName('f_contract_id','合同编号')}}</label>
|
|
178
|
+
<input type="text" v-model="baseinfo.base.f_contract_id" class="input_search" style="width:80%"
|
|
179
|
+
v-validate:f_contract_id="getConfigValidate('f_contract_id', false)"
|
|
180
|
+
:placeholder="getConfigPlaceholder('f_contract_id','合同编号')">
|
|
181
|
+
</div>
|
|
182
|
+
<div class="col-sm-4 form-group"
|
|
183
|
+
v-show="(formconfig && formconfig.f_print_dh && formconfig.f_print_dh.required) || !onlyshowmust"
|
|
184
|
+
:class="[$v.f_print_dh.required ? 'has-error' : '']">
|
|
185
|
+
<label for="f_print_dh" class="font_normal_body "> {{getConfigLabelName('f_print_dh','打印类别')}}</label>
|
|
186
|
+
<input type="text" v-show="false" v-model="baseinfo.base.f_print_dh"
|
|
187
|
+
v-validate:f_print_dh="getConfigValidate('f_print_dh', false)">
|
|
188
|
+
<v-select id="f_print_dh" :value.sync="baseinfo.base.f_print_dh" v-model="baseinfo.base.f_print_dh"
|
|
189
|
+
:value-single="true" :disabled="baseinfo.base.f_print_dh_stats" :search="false"
|
|
190
|
+
:options='printstate' placeholder='流程单 | 点火单' style="width: 65%" close-on-select></v-select>
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
</div>
|
|
195
|
+
<div class="row">
|
|
196
|
+
<div style="" class="col-sm-12 form-group" v-if="getConfigShowItem('f_comments')"
|
|
197
|
+
v-show="(formconfig && formconfig.f_comments && formconfig.f_comments.required) || !onlyshowmust"
|
|
198
|
+
:class="[$v.f_comments.required ? 'has-error' : '']">
|
|
199
|
+
<label for="f_paper_accoun" style="letter-spacing: 2em;margin-right: -2em;margin-left: -2em" class="font_normal_body w2"> {{getConfigLabelName('f_comments','备注')}}</label>
|
|
200
|
+
<input class="input_search" style="width:86.5%;height: 40px" v-model="baseinfo.base.f_comments"
|
|
201
|
+
:placeholder="getConfigPlaceholder('f_comments','请输入备注信息')"
|
|
202
|
+
v-validate:f_comments="getConfigValidate('f_comments',false)" />
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
<div class="col-sm-4 form-group"
|
|
206
|
+
v-show="((formconfig && formconfig.f_house_type && formconfig.f_house_type.required) || !onlyshowmust) && getConfigShowItem('f_house_type')"
|
|
207
|
+
:class="[$v.f_house_type.required ? 'has-error' : '']">
|
|
208
|
+
<label for="f_user_state" class="font_normal_body"> {{getConfigLabelName('f_house_type','房屋类型')}}</label>
|
|
209
|
+
<input type="text" v-show="false" v-model="baseinfo.base.f_house_type"
|
|
210
|
+
v-validate:f_house_type="getConfigValidate('f_house_type',false)">
|
|
211
|
+
<v-select :value.sync="baseinfo.base.f_house_type"
|
|
212
|
+
:search="false"
|
|
213
|
+
:value-single="true"
|
|
214
|
+
:options='housetype' close-on-select
|
|
215
|
+
:placeholder="getConfigPlaceholder('f_house_type','房屋类型')">
|
|
216
|
+
</v-select>
|
|
217
|
+
</div>
|
|
218
|
+
</div>
|
|
219
|
+
<div class="row">
|
|
220
|
+
<a style="text-decoration: none;font-weight: 300;float: left;color: #333;margin-top: 15px;font-weight: 500"
|
|
221
|
+
v-if="baseinfo.base.f_cost_type[0] === '银行代扣'">银行信息</a>
|
|
222
|
+
</div>
|
|
223
|
+
<div v-if="baseinfo.base.f_cost_type[0] === '银行代扣'">
|
|
224
|
+
<div class="row">
|
|
225
|
+
<div class="col-sm-4 form-group"
|
|
226
|
+
:class="[$v.f_bank_accopen.required ? 'has-error' : '']">
|
|
227
|
+
<label for="f_username" class="font_normal_body">银行户名</label>
|
|
228
|
+
<input type="text" v-model="baseinfo.bank.f_bank_accopen"
|
|
229
|
+
class="input_search" style="width:60%" id="f_username" placeholder="客户名称"
|
|
230
|
+
v-validate:f_bank_accopen='{required: true}'
|
|
231
|
+
v-next-el="bankaccount">
|
|
232
|
+
</div>
|
|
233
|
+
<div class="col-sm-4 form-group" id=userfiles-useEssInf-银行名称>
|
|
234
|
+
<label for="f_username" class="font_normal_body ">银行名称</label>
|
|
235
|
+
<v-select :value.sync="baseinfo.bank.f_bank_name"
|
|
236
|
+
:options='banknames' placeholder='银行名称'
|
|
237
|
+
close-on-select></v-select>
|
|
238
|
+
</div>
|
|
239
|
+
<div class="col-sm-4 form-group">
|
|
240
|
+
<label for="f_bank_idnumber" class="font_normal_body">缴费编号</label>
|
|
241
|
+
<input type="text" v-model="baseinfo.bank.f_bank_pay_number"
|
|
242
|
+
class="input_search" style="width:60%"
|
|
243
|
+
aria-describedby="helpBlock" placeholder="缴费编号" v-el:bankpaynumber>
|
|
244
|
+
</div>
|
|
245
|
+
<div class="col-sm-12 form-group">
|
|
246
|
+
<label for="f_bank_idnumber" class="font_normal_body">身份证号</label>
|
|
247
|
+
<input type="text" v-model="baseinfo.bank.f_bank_idnumber"
|
|
248
|
+
class="input_search" style="width:54%"
|
|
249
|
+
aria-describedby="helpBlock" placeholder="身份证号" v-el:bankidnumber>
|
|
250
|
+
</div>
|
|
251
|
+
<div class="col-sm-12 form-group"
|
|
252
|
+
:class="[$v.f_bank_account.required ? 'has-error' : '']">
|
|
253
|
+
<label for="f_userid" class="font_normal_body">银行账号</label>
|
|
254
|
+
<input type="text" v-model="baseinfo.bank.f_bank_account" class="input_search" style="width:54%"
|
|
255
|
+
v-validate:f_bank_account='{required: true}' placeholder="银行账号" v-el:bankaccount
|
|
256
|
+
v-next-el="bankidnumber">
|
|
257
|
+
</div>
|
|
258
|
+
</div>
|
|
259
|
+
</div>
|
|
260
|
+
</form>
|
|
261
|
+
</validator>
|
|
262
|
+
<modal v-if="showselectaddress" :show.sync="showselectaddress" width="80%" title="地址信息" v-ref:modal large
|
|
263
|
+
backdrop="false">
|
|
264
|
+
<article slot="modal-body" class="modal-body" style="height: 700px;padding: 0!important;">
|
|
265
|
+
<file-address-manage-new :is-select="isSelect" :fileinfo="addressinfo"
|
|
266
|
+
@address-valid="doNothing" :showselectaddress.sync="showselectaddress"
|
|
267
|
+
:f_filialeid="f_filialeid"
|
|
268
|
+
v-ref:fileaddress></file-address-manage-new>
|
|
269
|
+
</article>
|
|
270
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
271
|
+
</footer>
|
|
272
|
+
</modal>
|
|
273
|
+
</div>
|
|
274
|
+
</template>
|
|
275
|
+
|
|
276
|
+
<script>
|
|
277
|
+
import {HttpResetClass} from 'vue-client'
|
|
278
|
+
|
|
279
|
+
let getEditUserState = async function (self) {
|
|
280
|
+
try {
|
|
281
|
+
let http = new HttpResetClass()
|
|
282
|
+
let result = await http.load('GET', `rs/vue/EditUserState.json`, {}, {resolveMsg: null, rejectMsg: null})
|
|
283
|
+
console.log(result.data.EditUserState)
|
|
284
|
+
self.edituserstate = result.data.EditUserState
|
|
285
|
+
Object.assign(self.config, result.data)
|
|
286
|
+
} catch (e) {
|
|
287
|
+
console.log(e)
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export default {
|
|
292
|
+
title: '基本信息',
|
|
293
|
+
props: ['baseinfo', 'addressinfo', 'isedit', 'f_filialeid', 'formconfig', 'onlyshowmust'],
|
|
294
|
+
data () {
|
|
295
|
+
return {
|
|
296
|
+
showselectaddress: false,
|
|
297
|
+
site: '',
|
|
298
|
+
areas: [],
|
|
299
|
+
streets: [],
|
|
300
|
+
residentials: [],
|
|
301
|
+
lng: '',
|
|
302
|
+
lat: '',
|
|
303
|
+
config: {
|
|
304
|
+
f_idnumber: true,
|
|
305
|
+
f_house_type: true
|
|
306
|
+
},
|
|
307
|
+
validateRules: {},
|
|
308
|
+
inputtores: this.$appdata.getParam('抄表员'),
|
|
309
|
+
credentials: this.$appdata.getParam('证件类型'),
|
|
310
|
+
costtypes: this.$appdata.getParam('缴费类型'),
|
|
311
|
+
banknames: this.$appdata.getParam('银行名称'),
|
|
312
|
+
userstates: this.$appdata.getParam('预备客户状态参数') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('预备客户状态参数')] : [{label: '预备', value: '预备'}],
|
|
313
|
+
housetype: this.$appdata.getParam('房屋类型'),
|
|
314
|
+
mgq: this.$appdata.getParam('是否煤改气'),
|
|
315
|
+
costtype: this.$appdata.getParam('付款类型'),
|
|
316
|
+
printstate: this.$appdata.getParam('建档打印类型') ? [{label: '暂不选择', value: '暂不选择'}, ...this.$appdata.getParam('建档打印类型')] : [{label: '暂不选择', value: '暂不选择'}],
|
|
317
|
+
peopleMax: this.$appdata.getSingleValue('最大人口数'),
|
|
318
|
+
jurisdiction: this.$login.r,
|
|
319
|
+
edituserstate: false,
|
|
320
|
+
// highMeterPlugin: {},
|
|
321
|
+
readCardFlag: true,
|
|
322
|
+
|
|
323
|
+
isSelect: false
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
ready () {
|
|
327
|
+
getEditUserState(this)
|
|
328
|
+
this.$resetValidation()
|
|
329
|
+
this.lng = this.addressinfo.f_lng
|
|
330
|
+
this.lat = this.addressinfo.f_lat
|
|
331
|
+
console.log('addressinfo', this.addressinfo)
|
|
332
|
+
// this.initValidateRules()
|
|
333
|
+
},
|
|
334
|
+
beforeDestroy () {
|
|
335
|
+
},
|
|
336
|
+
methods: {
|
|
337
|
+
// updateValidateRules() {
|
|
338
|
+
// if (!this.formconfig) return
|
|
339
|
+
//
|
|
340
|
+
// Object.keys(this.formconfig).forEach(field => {
|
|
341
|
+
// const fieldConfig = this.formconfig[field]
|
|
342
|
+
// const rules = {}
|
|
343
|
+
//
|
|
344
|
+
// if (fieldConfig.required) {
|
|
345
|
+
// rules.required = true
|
|
346
|
+
// }
|
|
347
|
+
//
|
|
348
|
+
// if (fieldConfig.minlength || fieldConfig.minlength === 0) {
|
|
349
|
+
// rules.minlength = fieldConfig.minlength
|
|
350
|
+
// }
|
|
351
|
+
//
|
|
352
|
+
// if (fieldConfig.maxlength) {
|
|
353
|
+
// rules.maxlength = fieldConfig.maxlength
|
|
354
|
+
// }
|
|
355
|
+
//
|
|
356
|
+
// this.validateRules[field] = Object.assign({}, this.validateRules[field], rules)
|
|
357
|
+
// })
|
|
358
|
+
// },
|
|
359
|
+
|
|
360
|
+
getConfigValidate (name, defaultVal) {
|
|
361
|
+
this.$resetValidation()
|
|
362
|
+
if (this.formconfig && this.formconfig[name]) {
|
|
363
|
+
let Validate = {}
|
|
364
|
+
if (this.formconfig[name].required) {
|
|
365
|
+
Object.assign(Validate, {required: true})
|
|
366
|
+
}
|
|
367
|
+
if (this.formconfig[name].minlength || this.formconfig[name].minlength === 0) {
|
|
368
|
+
Object.assign(Validate, {minlength: this.formconfig[name].minlength})
|
|
369
|
+
}
|
|
370
|
+
if (this.formconfig[name].maxlength) {
|
|
371
|
+
Object.assign(Validate, {maxlength: this.formconfig[name].maxlength})
|
|
372
|
+
}
|
|
373
|
+
return Validate
|
|
374
|
+
} else if (name === 'f_user_phone') {
|
|
375
|
+
return { minlength: 11, maxlength: 11 }
|
|
376
|
+
} else if (defaultVal) {
|
|
377
|
+
return {required: defaultVal}
|
|
378
|
+
}
|
|
379
|
+
return {}
|
|
380
|
+
},
|
|
381
|
+
getConfigShowItem (name, defaultVal = true) {
|
|
382
|
+
if (this.formconfig && this.formconfig[name] && this.formconfig[name].hasOwnProperty('showItem')) {
|
|
383
|
+
return this.formconfig[name].showItem
|
|
384
|
+
} else {
|
|
385
|
+
return defaultVal
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
getConfigLabelName (name, defaultVal) {
|
|
389
|
+
if (this.formconfig && this.formconfig[name] && this.formconfig[name].labelName) {
|
|
390
|
+
return this.formconfig[name].labelName
|
|
391
|
+
} else {
|
|
392
|
+
return defaultVal
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
getConfigPlaceholder (name, defaultVal) {
|
|
396
|
+
if (this.formconfig && this.formconfig[name] && this.formconfig[name].placeholder) {
|
|
397
|
+
return this.formconfig[name].placeholder
|
|
398
|
+
} else {
|
|
399
|
+
return defaultVal
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
selectaddress () {
|
|
403
|
+
this.showselectaddress = true
|
|
404
|
+
this.isSelect = true
|
|
405
|
+
},
|
|
406
|
+
modifyaddress () {
|
|
407
|
+
this.showselectaddress = true
|
|
408
|
+
this.isSelect = false
|
|
409
|
+
},
|
|
410
|
+
onValid (res) {
|
|
411
|
+
this.$dispatch('valid')
|
|
412
|
+
},
|
|
413
|
+
onInvalid (res) {
|
|
414
|
+
// 打印所有校验状态
|
|
415
|
+
this.$dispatch('invalid')
|
|
416
|
+
},
|
|
417
|
+
doNothing () {
|
|
418
|
+
// console.log('啥也不做')
|
|
419
|
+
},
|
|
420
|
+
resetValidation () {
|
|
421
|
+
this.baseinfo = Object.assign({}, this.baseinfo)
|
|
422
|
+
this.$nextTick(() => {
|
|
423
|
+
this.$resetValidation()
|
|
424
|
+
})
|
|
425
|
+
},
|
|
426
|
+
readIDCardCallback (compoent, msg) {
|
|
427
|
+
// console.log('进入高拍仪',msg)
|
|
428
|
+
if (msg.err !== 0) {
|
|
429
|
+
return
|
|
430
|
+
}
|
|
431
|
+
// document.getElementById("idCardType").getElementsByClassName("btn-content")[0].innerHTML="身份证"
|
|
432
|
+
compoent.baseinfo.base.f_idnumber = msg.strID
|
|
433
|
+
compoent.baseinfo.base.f_user_name = msg.strName.trim()
|
|
434
|
+
// compoent.baseinfo.base.f_credentials = '身份证'
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
watch: {
|
|
438
|
+
'baseinfo.base.f_credentials' () {
|
|
439
|
+
this.$resetValidation()
|
|
440
|
+
},
|
|
441
|
+
'baseinfo.base.f_cost_type[0]' () {
|
|
442
|
+
this.$resetValidation()
|
|
443
|
+
},
|
|
444
|
+
'baseinfo.base.f_user_name'(val) {
|
|
445
|
+
console.log('f_user_name变化', val)
|
|
446
|
+
},
|
|
447
|
+
'addressinfo.f_lat'(newVal) {
|
|
448
|
+
this.lat = newVal;
|
|
449
|
+
},
|
|
450
|
+
'addressinfo.f_lng'(newVal) {
|
|
451
|
+
this.lng = newVal;
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
computed: {
|
|
455
|
+
peoplenums () {
|
|
456
|
+
let peopleMax = this.$appdata.getSingleValue('最大人口数') ? this.$appdata.getSingleValue('最大人口数') : 0
|
|
457
|
+
let nums = []
|
|
458
|
+
for (let i = 1; i <= peopleMax; i++) {
|
|
459
|
+
let temp = {}
|
|
460
|
+
temp.label = i
|
|
461
|
+
temp.value = i
|
|
462
|
+
nums.push(temp)
|
|
463
|
+
}
|
|
464
|
+
return nums
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
events: {
|
|
468
|
+
'confirmaddress' (res) {
|
|
469
|
+
this.showselectaddress = false
|
|
470
|
+
this.addressinfo.f_address = res.f_address
|
|
471
|
+
this.addressinfo.id = res.id
|
|
472
|
+
this.lat = res.f_lat
|
|
473
|
+
this.lng = res.f_lng
|
|
474
|
+
this.$dispatch('defaultOtheret', res)
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
</script>
|
|
@@ -15,4 +15,6 @@ export default function () {
|
|
|
15
15
|
Vue.component('user-info-detail-manage-new', (resolve) => { require(['./UserInfoDetailManageNew'], resolve) })
|
|
16
16
|
// 物联网退费管理
|
|
17
17
|
Vue.component('iot-refund', (resolve) => { require(['./IOTRefund'], resolve) })
|
|
18
|
+
// 用户基本信息test
|
|
19
|
+
Vue.component('file-user-essential-info', (resolve) => { require(['./UserEssentialInfoTest'], resolve) })
|
|
18
20
|
}
|