sale-client 3.6.254 → 3.6.255
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/components/charge/business/IOTMeterCenter.vue +1 -1
- package/src/components/charge/business/ShowCardSellGas.vue +7 -0
- package/src/components/revenue/comprehen/Maintenance/revenue/MeterOperatemain.vue +6 -2
- package/src/filiale/qianneng/ChangeMeter.vue +17 -0
- package/src/filiale/qianneng/FilesManage/MeterinfoTest.vue +1 -1
- package/src/filiale/qianneng/FilesManageNew/MeterinfoTest.vue +1 -1
- package/src/filiale/qianneng/revenue/Userinfo.vue +281 -0
- package/src/filiale/qianneng/sale.js +2 -0
- package/src/filiale/tongchuan/CardMeterCenter.vue +8 -0
- package/src/filiale/tongchuan/EticketManage.vue +2 -2
- package/src/filiale/tongchuan/IOTMeterCenter.vue +9 -1
- package/src/filiale/tongchuan/MeterinfoTest.vue +14 -0
- package/src/filiale/tongchuan/StairPrice/ConsolidatedPrice.vue +26 -0
- package/src/filiale/tongchuan/StairPrice/GasPrice.vue +45 -49
- package/src/filiale/tongchuan/sale.js +2 -0
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<div class="col-sm-4 form-group"
|
|
37
37
|
:class="[$v.f_preamount.required || $v.f_preamount.dctest? 'has-error' : 'has-success']">
|
|
38
38
|
<label for="f_preamount" class=" font_normal_body">预购金额</label>
|
|
39
|
-
<input class="input_search" style="width:60%" @keyup.enter="preamount()" @blur="preamount()" type="number" v-model="model.f_preamount" id="f_preamount"
|
|
39
|
+
<input class="input_search" style="width:60%" @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm)),preamount()" @blur="preamount()" type="number" v-model="model.f_preamount" id="f_preamount"
|
|
40
40
|
v-validate:f_preamount='{required: true, dctest: [maxmoney, "<=" ] }'
|
|
41
41
|
:disabled="config.calculatePreByCollection"
|
|
42
42
|
v-scale="[model.f_preamount, row.f_fee_decimal||4]" placeholder="预购金额" >
|
|
@@ -198,6 +198,10 @@
|
|
|
198
198
|
<strong style="color:red;margin-right: 5px">{{ $refs.givechange.promptText }}</strong>
|
|
199
199
|
<strong style="font-size: large"
|
|
200
200
|
v-if="!config.notShowFormula">计算公式:{{ calculatedetail ? calculatedetail : ' 暂无' }}</strong><br/>
|
|
201
|
+
<strong style="font-size: 16px"
|
|
202
|
+
v-if="!config.notShowFormula && pricetext">合表气价:{{ pricetext }}</strong><br/>
|
|
203
|
+
<text style="font-size: 16px;font-style: italic;" class="text-info"
|
|
204
|
+
v-if="!config.notShowFormula && pricetext">合表气价公式:(居民单价×居民面积+非居民单价×非居民面积)÷(居民面积+非居民面积)</text><br/>
|
|
201
205
|
<payment-code-button :clickable="!$v.valid || validateOk || !islegal || clickConfirm || model.f_preamount === 0"
|
|
202
206
|
:payment.sync="model.f_payment" :payment-data="paytype"
|
|
203
207
|
@confirm-payment="confirm()">
|
|
@@ -314,6 +318,7 @@ let preamountGen = async function (self) {
|
|
|
314
318
|
}
|
|
315
319
|
self.model.f_preamount = (calFee - (self.dymoney - 0)).toFixed(self.row.f_fee_decimal || 4)
|
|
316
320
|
self.calText(getGas.data.chargeprice)
|
|
321
|
+
self.pricetext = getGas.data.chargeprice[0].pricetext ? getGas.data.chargeprice[0].pricetext:null
|
|
317
322
|
}
|
|
318
323
|
|
|
319
324
|
// 输入气量,换算金额
|
|
@@ -334,6 +339,7 @@ let pregasGen = async function (self) {
|
|
|
334
339
|
if (self.config.floor) {
|
|
335
340
|
self.model.f_collection = Math.ceil(self.model.f_collection)
|
|
336
341
|
}
|
|
342
|
+
self.pricetext = getAmount.data.chargeprice[0].pricetext?getAmount.data.chargeprice[0].pricetext:null
|
|
337
343
|
self.calText(getAmount.data.chargeprice)
|
|
338
344
|
}
|
|
339
345
|
}
|
|
@@ -469,6 +475,7 @@ export default {
|
|
|
469
475
|
data () {
|
|
470
476
|
return {
|
|
471
477
|
serialShow: false,
|
|
478
|
+
pricetext: null,
|
|
472
479
|
resid: [],
|
|
473
480
|
config: {
|
|
474
481
|
notShowFormula: false, // 不显示计算公式,默认显示
|
|
@@ -76,13 +76,13 @@
|
|
|
76
76
|
</div>
|
|
77
77
|
</div>
|
|
78
78
|
<div class="row">
|
|
79
|
-
<div class="col-sm-4 form-group">
|
|
79
|
+
<div class="col-sm-4 form-group" title="参数:操作时间, 权限:【收费记录时间修改】">
|
|
80
80
|
<label class="font_normal_body">操作时间</label>
|
|
81
81
|
<!--<input type="text" v-model="model.f_delivery_date" style="width: 60%" class="input_search">-->
|
|
82
82
|
<datepicker id="f_delivery_date" placeholder="操作时间" style="width:60%"
|
|
83
83
|
v-model="model.f_operate_date"
|
|
84
84
|
:value.sync="model.f_operate_date"
|
|
85
|
-
:disabled="
|
|
85
|
+
:disabled="editDate"
|
|
86
86
|
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
87
87
|
:show-reset-button="true">
|
|
88
88
|
</datepicker>
|
|
@@ -228,6 +228,7 @@
|
|
|
228
228
|
'f_serial_number' : '业务单号'
|
|
229
229
|
},
|
|
230
230
|
editstate:true,
|
|
231
|
+
editDate:true
|
|
231
232
|
}
|
|
232
233
|
},
|
|
233
234
|
props: {
|
|
@@ -242,6 +243,9 @@
|
|
|
242
243
|
if(this.$login.r.includes('收费记录状态修改')){
|
|
243
244
|
this.editstate=false
|
|
244
245
|
}
|
|
246
|
+
if(this.$login.r.includes('收费记录时间修改')){
|
|
247
|
+
this.editDate=false
|
|
248
|
+
}
|
|
245
249
|
this.oldmodel = JSON.parse(JSON.stringify(this.model))
|
|
246
250
|
this.model.f_bill_state = [this.oldmodel]
|
|
247
251
|
console.log('看看收费id', this.oldmodel)
|
|
@@ -409,6 +409,7 @@ export default {
|
|
|
409
409
|
books: {
|
|
410
410
|
data: []
|
|
411
411
|
},
|
|
412
|
+
audits: [],
|
|
412
413
|
addbalance: false,
|
|
413
414
|
newinfo: {
|
|
414
415
|
f_user_type: '',
|
|
@@ -853,6 +854,22 @@ export default {
|
|
|
853
854
|
|
|
854
855
|
async validateOwe () {
|
|
855
856
|
let http = new HttpResetClass()
|
|
857
|
+
let audits = await http.load('POST', 'rs/sql/singleTable_OrderBy', {
|
|
858
|
+
data: {
|
|
859
|
+
items: 'id',
|
|
860
|
+
tablename: 't_handplan',
|
|
861
|
+
condition: ` f_user_id = '${this.row.f_user_id}' and f_hand_state = '有效' and f_meter_state = '待审核' `,
|
|
862
|
+
orderitem: ' id desc'
|
|
863
|
+
}
|
|
864
|
+
}, {resolveMsg: null, rejectMsg: null}
|
|
865
|
+
)
|
|
866
|
+
console.log('获取到的待审核记录', audits.data)
|
|
867
|
+
this.audits = audits.data
|
|
868
|
+
if (this.audits.length > 0) {
|
|
869
|
+
this.$showAlert('此用户还有待审核的抄表记录,请到抄表审核页面审核完成后再对用户进行换表操作', 'warning', 5000)
|
|
870
|
+
this.$dispatch('refresh')
|
|
871
|
+
return
|
|
872
|
+
}
|
|
856
873
|
let books = await http.load('POST', 'rs/sql/singleTable_OrderBy', {
|
|
857
874
|
data: {
|
|
858
875
|
items: 'f_whether_pay',
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
v-el:cc></v-select>
|
|
168
168
|
</div>
|
|
169
169
|
<div class="col-sm-4 form-group" :class="[$m.f_aroundmeter.required ? 'select-error' : '']">
|
|
170
|
-
<label for="gasmodel" class="font_normal_body"> 表    向</label>
|
|
170
|
+
<label for="gasmodel" class="font_normal_body"><span style="color: red;"> 表    向</span></label>
|
|
171
171
|
<input type="text" v-show="false" v-model="$refs.f_aroundmeter.selectedItems" v-validate:f_aroundmeter='{required: true }'/>
|
|
172
172
|
<v-select :value.sync="row.f_aroundmeter" :options='aroundmeters' placeholder='左右表' close-on-select
|
|
173
173
|
v-model='row.f_aroundmeter' v-ref:f_aroundmeter></v-select>
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
<!--</div>-->
|
|
125
125
|
|
|
126
126
|
<div class="col-sm-4 form-group" :class="[$m.f_aroundmeter.required ? 'select-error' : '']">
|
|
127
|
-
<label for="gasmodel" class="font_normal_body"> 表    向</label>
|
|
127
|
+
<label for="gasmodel" class="font_normal_body color-red"> 表    向</label>
|
|
128
128
|
<input type="text" v-show="false" v-model="$refs.f_aroundmeter.selectedItems" v-validate:f_aroundmeter='{required: true }'>
|
|
129
129
|
<v-select :value.sync="row.f_aroundmeter" :options='aroundmeters' placeholder='左右表' close-on-select
|
|
130
130
|
v-model='row.f_aroundmeter' v-ref:f_aroundmeter></v-select>
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<partial-view v-ref:pv>
|
|
3
|
+
<div class="panel panel-info auto" style="margin-top: auto">
|
|
4
|
+
<div class="panel-heading" style="height: 35px">
|
|
5
|
+
<h4 style="display:inline-block;margin-top: auto">档案信息</h4>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="auto info-content">
|
|
8
|
+
<div class="row" v-if="warninginfo.data.insMsg">
|
|
9
|
+
<p align="center"><font color="red" style="font-weight: bold">{{ warninginfo.data.insMsg }}</font></p>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<div class="row" :class="[config.f_userinfo_code ? 'highlight' : '']">
|
|
13
|
+
<label class="col-sm-5">客户编号</label>
|
|
14
|
+
<span class="col-sm-7"><a
|
|
15
|
+
@click="dealmsg(data)">{{ data ? data.f_userinfo_code : dafault.f_userinfo_code }}</a></span>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="row" :class="[config.f_user_name ? 'highlight' : '']">
|
|
18
|
+
<label class="col-sm-5">客户名称</label>
|
|
19
|
+
<span class="col-sm-7">{{ data ? data.f_user_name : dafault.f_user_name }}</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="row" v-if="data.f_name_pinyin">
|
|
22
|
+
<label class="col-sm-5">名称首拼</label>
|
|
23
|
+
<span class="col-sm-7">{{ data ? data.f_name_pinyin : dafault.f_name_pinyin }}</span>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="row" :class="[config.f_user_type ? 'highlight' : '']">
|
|
26
|
+
<label class="col-sm-5">客户类型</label>
|
|
27
|
+
<span class="col-sm-7">{{ data ? data.f_user_type : dafault.f_user_type }}</span>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="row">
|
|
30
|
+
<label class="col-sm-5">账户余额</label>
|
|
31
|
+
<span class="col-sm-7">{{ data ? data.f_balance : dafault.f_user_type }}</span>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="row" v-show="data && data.f_sys_balance !== 0">
|
|
34
|
+
<label class="col-sm-5">系统余额</label>
|
|
35
|
+
<span class="col-sm-7">{{ data.f_sys_balance ? data.f_sys_balance : dafault.f_user_type }}</span>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="row" :class="[config.f_idnumber ? 'highlight' : '']">
|
|
38
|
+
<label class="col-sm-5">证件号码</label>
|
|
39
|
+
<span class="col-sm-7" style="word-break: break-all">{{ data ? data.f_idnumber : dafault.f_idnumber }}</span>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="row" :class="[config.f_user_phone ? 'highlight' : '']">
|
|
42
|
+
<label class="col-sm-5">客户电话</label>
|
|
43
|
+
<span class="col-sm-7">{{ data ? data.f_user_phone : dafault.f_user_phone }}
|
|
44
|
+
<span v-if="data && data.f_user_phone" @click.stop="changeuserphone"
|
|
45
|
+
class="glyphicon glyphicon-pencil clickchange" title="修正客户电话"></span>
|
|
46
|
+
</span>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="row">
|
|
49
|
+
<label class="col-sm-5">备用电话</label>
|
|
50
|
+
<span class="col-sm-7">{{ data ? data.f_rent_phone : dafault.f_rent_phone }}</span>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="row" :class="[config.f_user_state ? 'highlight' : '']">
|
|
53
|
+
<label class="col-sm-5">客户状态</label>
|
|
54
|
+
<span class="col-sm-7">{{ data ? data.f_user_state : dafault.f_user_state }}</span>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="row" :class="[config.f_comments ? 'highlight' : '']">
|
|
57
|
+
<label class="col-sm-5">备注信息</label>
|
|
58
|
+
<span class="col-sm-7">{{ data ? data.f_comments : dafault.f_comments }}
|
|
59
|
+
<span v-if="data" @click.stop="change_reason"
|
|
60
|
+
class="glyphicon glyphicon-pencil clickchange" title="修改备注信息"></span>
|
|
61
|
+
</span>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="row" :class="[config.f_enter_number ? 'highlight' : '']">
|
|
64
|
+
<label class="col-sm-5">入户证号</label>
|
|
65
|
+
<span class="col-sm-7">{{ data ? data.f_enter_number : dafault.f_enter_number }}</span>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="row" :class="[config.f_address ? 'highlight' : '']">
|
|
68
|
+
<label class="col-sm-5">客户地址</label>
|
|
69
|
+
<span class="col-sm-7">{{ data ? data.f_address : dafault.f_address }}</span>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="row" :class="[config.f_open_date ? 'highlight' : '']">
|
|
72
|
+
<label class="col-sm-5">开户时间</label>
|
|
73
|
+
<span class="col-sm-7">{{ data ? data.f_open_date.substr(0, 10) : dafault.f_open_date }}</span>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="row" :class="[config.f_input_date ? 'highlight' : '']">
|
|
76
|
+
<label class="col-sm-5">安装时间</label>
|
|
77
|
+
<span class="col-sm-7">{{ data ? data.f_install_date.substr(0, 10) : dafault.f_input_date }}</span>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="row" :class="[config.f_people_num ? 'highlight' : '']">
|
|
80
|
+
<label class="col-sm-5"> 人 口 数</label>
|
|
81
|
+
<span class="col-sm-7"
|
|
82
|
+
style="word-break: break-all">{{ data ? data.f_people_num : dafault.f_people_num }}</span>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="row">
|
|
85
|
+
<label class="col-sm-5">客户等级</label>
|
|
86
|
+
<span class="col-sm-7"
|
|
87
|
+
style="word-break: break-all">{{ data ? data.f_user_level : dafault.f_people_num }}</span>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="row">
|
|
90
|
+
<label class="col-sm-5">旧客户编号</label>
|
|
91
|
+
<span class="col-sm-7">{{ data ? data.f_olduserinfo_code : dafault.f_userinfo_code }}</span>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="row">
|
|
94
|
+
<label class="col-sm-5">合同编号</label>
|
|
95
|
+
<span class="col-sm-7">{{ data ? data.f_contract_id : dafault.f_contract_id }}</span>
|
|
96
|
+
</div>
|
|
97
|
+
<modal v-if="showselectncuserinfo" :show.sync="showselectncuserinfo" width="40%" title="修正客户电话号码"
|
|
98
|
+
v-ref:modal large backdrop="false">
|
|
99
|
+
<article slot="modal-body" class="modal-body">
|
|
100
|
+
<div class="form-horizontal">
|
|
101
|
+
<div class="row">
|
|
102
|
+
<div class="col-sm-12 form-group">
|
|
103
|
+
<label class="font_normal_body">旧客户电话</label>
|
|
104
|
+
<input disabled readonly type="text" style="width:80%" class="input_search"
|
|
105
|
+
v-model="data.f_user_phone" placeholder='旧客户电话'>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="row">
|
|
109
|
+
<div class="col-sm-12 form-group">
|
|
110
|
+
<label class="font_normal_body">新客户电话</label>
|
|
111
|
+
<input type="text" style="width:80%" class="input_search" v-model="newuserphone"
|
|
112
|
+
placeholder='新客户电话'>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</article>
|
|
117
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
118
|
+
<button class="button_search" :disabled='!$m.valid ' @click="modifyUser">确定</button>
|
|
119
|
+
<button type="button" class="button_clear" @click='close'>取消</button>
|
|
120
|
+
</footer>
|
|
121
|
+
</modal>
|
|
122
|
+
<modal v-if="reason_show" :show.sync="reason_show" width="40%" title="修改备注信息"
|
|
123
|
+
v-ref:modal large backdrop="false">
|
|
124
|
+
<article slot="modal-body" class="modal-body">
|
|
125
|
+
<div class="form-horizontal">
|
|
126
|
+
<div class="row">
|
|
127
|
+
<div class="col-sm-12 form-group">
|
|
128
|
+
<label class="font_normal_body">旧备注信息</label>
|
|
129
|
+
<input disabled readonly type="text" style="width:80%" class="input_search"
|
|
130
|
+
v-model="data.f_comments" placeholder='旧备注信息'>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="row">
|
|
134
|
+
<div class="col-sm-12 form-group">
|
|
135
|
+
<label class="font_normal_body">新备注信息</label>
|
|
136
|
+
<input type="text" style="width:80%" class="input_search" v-model="new_reason"
|
|
137
|
+
placeholder='新备注信息'>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
</article>
|
|
142
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
143
|
+
<button class="button_search" :disabled='!$m.valid ' @click="modifyUserSpecialReson">确定</button>
|
|
144
|
+
<button type="button" class="button_clear" @click='close'>取消</button>
|
|
145
|
+
</footer>
|
|
146
|
+
</modal>
|
|
147
|
+
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</partial-view>
|
|
151
|
+
</template>
|
|
152
|
+
|
|
153
|
+
<script>
|
|
154
|
+
/**
|
|
155
|
+
*用户档案相关信息组件
|
|
156
|
+
*/
|
|
157
|
+
|
|
158
|
+
export default {
|
|
159
|
+
ready () {
|
|
160
|
+
console.log('看看userinfo里面接收的data数据:', this.data)
|
|
161
|
+
this.$getConfig(this, 'getUserInfo')
|
|
162
|
+
},
|
|
163
|
+
title: '客户基本信息',
|
|
164
|
+
data () {
|
|
165
|
+
return {
|
|
166
|
+
dafault: {
|
|
167
|
+
f_user_name: '***',
|
|
168
|
+
f_userinfo_code: '********',
|
|
169
|
+
f_people_num: '**',
|
|
170
|
+
f_idnumber: '****',
|
|
171
|
+
f_user_phone: '************',
|
|
172
|
+
f_address: '*****',
|
|
173
|
+
f_enter_number: '*****',
|
|
174
|
+
f_user_type: '***',
|
|
175
|
+
f_open_date: '****年**月**日',
|
|
176
|
+
f_input_date: '****年**月**日',
|
|
177
|
+
f_hand_date: '****年**月**日',
|
|
178
|
+
f_rent_phone: '************',
|
|
179
|
+
f_comments: '**',
|
|
180
|
+
f_user_state: '****',
|
|
181
|
+
f_contract_id: '*************'
|
|
182
|
+
},
|
|
183
|
+
config: {
|
|
184
|
+
f_user_name: false,
|
|
185
|
+
f_userinfo_code: false,
|
|
186
|
+
f_people_num: false,
|
|
187
|
+
f_idnumber: false,
|
|
188
|
+
f_user_phone: false,
|
|
189
|
+
f_address: false,
|
|
190
|
+
f_enter_number: false,
|
|
191
|
+
f_user_type: false,
|
|
192
|
+
f_open_date: false,
|
|
193
|
+
f_input_date: false,
|
|
194
|
+
f_comments: false,
|
|
195
|
+
f_user_state: false
|
|
196
|
+
},
|
|
197
|
+
model: null,
|
|
198
|
+
showselectncuserinfo: false,
|
|
199
|
+
newuserphone: '',
|
|
200
|
+
reason_show: false,
|
|
201
|
+
new_reason: ''
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
props: ['data', 'warninginfo'],
|
|
205
|
+
methods: {
|
|
206
|
+
async modifyUserSpecialReson () {
|
|
207
|
+
let param = {
|
|
208
|
+
new_reason: this.new_reason,
|
|
209
|
+
f_userinfo_id: this.data.f_userinfo_id,
|
|
210
|
+
f_user_id: this.data.f_user_id,
|
|
211
|
+
f_operator: this.$login.f.name,
|
|
212
|
+
f_operatorid: this.$login.f.id,
|
|
213
|
+
f_orgid: this.$login.f.orgid,
|
|
214
|
+
f_orgname: this.$login.f.orgs,
|
|
215
|
+
f_depid: this.$login.f.depids,
|
|
216
|
+
f_depname: this.$login.f.deps
|
|
217
|
+
}
|
|
218
|
+
await this.$resetpost('/rs/logic/changeuserinfo', {data: param}, {resolveMsg: '修正成功', rejectMsg: null})
|
|
219
|
+
this.data.f_comments = this.new_reason
|
|
220
|
+
this.$parent.$parent.close()
|
|
221
|
+
this.$parent.$parent.clean()
|
|
222
|
+
this.$parent.$parent.$refs.list.searchNoData()
|
|
223
|
+
this.close()
|
|
224
|
+
},
|
|
225
|
+
change_reason () {
|
|
226
|
+
// 修正客户电话
|
|
227
|
+
this.reason_show = true
|
|
228
|
+
this.new_reason = ''
|
|
229
|
+
},
|
|
230
|
+
dealmsg (val) {
|
|
231
|
+
if (val.f_userinfo_code !== '********') {
|
|
232
|
+
this.$dispatch('deal-msg', val)
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
changeuserphone () {
|
|
236
|
+
// 修正客户电话
|
|
237
|
+
this.showselectncuserinfo = true
|
|
238
|
+
this.newuserphone = ''
|
|
239
|
+
},
|
|
240
|
+
async modifyUser () {
|
|
241
|
+
let param = {
|
|
242
|
+
new_userphone: this.newuserphone,
|
|
243
|
+
f_userinfo_id: this.data.f_userinfo_id,
|
|
244
|
+
f_user_id: this.data.f_user_id,
|
|
245
|
+
f_operator: this.$login.f.name,
|
|
246
|
+
f_operatorid: this.$login.f.id,
|
|
247
|
+
f_orgid: this.$login.f.orgid,
|
|
248
|
+
f_orgname: this.$login.f.orgs,
|
|
249
|
+
f_depid: this.$login.f.depids,
|
|
250
|
+
f_depname: this.$login.f.deps
|
|
251
|
+
}
|
|
252
|
+
await this.$resetpost('/rs/logic/changeuserinfo', {data: param}, {resolveMsg: '修正成功', rejectMsg: null})
|
|
253
|
+
this.data.f_user_phone = this.newuserphone
|
|
254
|
+
this.$parent.$parent.close()
|
|
255
|
+
this.$parent.$parent.clean()
|
|
256
|
+
this.$parent.$parent.$refs.list.searchNoData()
|
|
257
|
+
this.close()
|
|
258
|
+
},
|
|
259
|
+
close () {
|
|
260
|
+
this.showselectncuserinfo = false
|
|
261
|
+
this.reason_show = false
|
|
262
|
+
this.newuserphone = ''
|
|
263
|
+
this.new_reason = ''
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
watch: {
|
|
267
|
+
'data' (val) {
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
</script>
|
|
272
|
+
<style scoped>
|
|
273
|
+
.clickchange:hover {
|
|
274
|
+
color: #3592ef;
|
|
275
|
+
cursor: pointer;
|
|
276
|
+
}
|
|
277
|
+
.highlight {
|
|
278
|
+
color: brown;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
</style>
|
|
@@ -93,4 +93,6 @@ export default function () {
|
|
|
93
93
|
Vue.component('third-surplus', (resolve) => { require(['./components/thirdSurplus'], resolve) })
|
|
94
94
|
// 用户表具信息test
|
|
95
95
|
Vue.component('file-user-meter-info', (resolve) => { require(['./FilesManage/UserMeterInfoTest'], resolve) })
|
|
96
|
+
// 当前选择用户的表具基本信息
|
|
97
|
+
Vue.component('sale-userinfo', (resolve) => { require(['./revenue/Userinfo'], resolve) })
|
|
96
98
|
}
|
|
@@ -217,8 +217,13 @@
|
|
|
217
217
|
@printok="printok" v-ref:printbill></print-bill>
|
|
218
218
|
<div style="text-align:right; height: 25%">
|
|
219
219
|
<strong style="color:red;margin-right: 5px">{{ $refs.givechange.promptText }}</strong>
|
|
220
|
+
|
|
220
221
|
<strong style="font-size: large"
|
|
221
222
|
v-if="!config.notShowFormula">计算公式:{{ calculatedetail ? calculatedetail : ' 暂无' }}</strong><br/>
|
|
223
|
+
<strong style="font-size: 16px"
|
|
224
|
+
v-if="!config.notShowFormula && pricetext">合表气价:{{ pricetext }}</strong><br/>
|
|
225
|
+
<text style="font-size: 16px;font-style: italic;" class="text-info"
|
|
226
|
+
v-if="!config.notShowFormula && pricetext">合表气价公式:(居民单价×居民面积+非居民单价×非居民面积)÷(居民面积+非居民面积)</text><br/>
|
|
222
227
|
<payment-code-button :clickable="!$v.valid || validateOk || !islegal || clickConfirm"
|
|
223
228
|
:payment.sync="model.f_payment" :payment-data="paytype"
|
|
224
229
|
@confirm-payment="confirm()">
|
|
@@ -288,6 +293,7 @@ let preamountGen = async function (self) {
|
|
|
288
293
|
self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0)).toFixed(4)
|
|
289
294
|
}
|
|
290
295
|
self.model.f_preamount = (calFee - (self.dymoney - 0)).toFixed(4)
|
|
296
|
+
self.pricetext = getGas.data.chargeprice[0].pricetext ? getGas.data.chargeprice[0].pricetext:null
|
|
291
297
|
self.calText(getGas.data.chargeprice)
|
|
292
298
|
}
|
|
293
299
|
|
|
@@ -314,6 +320,7 @@ let pregasGen = async function (self) {
|
|
|
314
320
|
self.model.f_collection = Math.ceil(self.model.f_collection)
|
|
315
321
|
}
|
|
316
322
|
}
|
|
323
|
+
self.pricetext = getAmount.data.chargeprice[0].pricetext?getAmount.data.chargeprice[0].pricetext:null
|
|
317
324
|
self.calText(getAmount.data.chargeprice)
|
|
318
325
|
}
|
|
319
326
|
}
|
|
@@ -503,6 +510,7 @@ export default {
|
|
|
503
510
|
return {
|
|
504
511
|
mjshow: false,
|
|
505
512
|
serialShow: false,
|
|
513
|
+
pricetext:null,
|
|
506
514
|
resid: [], // 存放新增的f_files表中id
|
|
507
515
|
config: {
|
|
508
516
|
notShowFormula: false, // 不显示计算公式,默认显示
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
21
|
<script>
|
|
22
|
-
import TabButton from '
|
|
23
|
-
import Tabs from '
|
|
22
|
+
import TabButton from '../../components/revenue/comprehen/common/TabButton'
|
|
23
|
+
import Tabs from '../../components/revenue/comprehen/common/Tabs'
|
|
24
24
|
export default {
|
|
25
25
|
name: 'eticket',
|
|
26
26
|
title: '发票管理',
|
|
@@ -181,7 +181,12 @@
|
|
|
181
181
|
<print-bill :show="print" :bill-config='config' :bill-data='billData' :data='row' @toggle="close" @printok="printok" v-ref:printbill></print-bill>
|
|
182
182
|
<div style="text-align:right; height: 25%">
|
|
183
183
|
<strong style="color:red;margin-right: 5px">{{ $refs.givechange.promptText }}</strong>
|
|
184
|
-
<strong style="font-size: large"
|
|
184
|
+
<strong style="font-size: large"
|
|
185
|
+
v-if="!config.notShowFormula">计算公式:{{ calculatedetail ? calculatedetail : ' 暂无' }}</strong><br/>
|
|
186
|
+
<strong style="font-size: 16px"
|
|
187
|
+
v-if="!config.notShowFormula && pricetext">合表气价:{{ pricetext }}</strong><br/>
|
|
188
|
+
<text style="font-size: 16px;font-style: italic;" class="text-info"
|
|
189
|
+
v-if="!config.notShowFormula && pricetext">合表气价公式:(居民单价×居民面积+非居民单价×非居民面积)÷(居民面积+非居民面积)</text><br/>
|
|
185
190
|
<button class="button_search" style="width: max-content" @click="uploadFiles()">上传附件</button>
|
|
186
191
|
<payment-code-button :clickable="!$v.valid || validateOk || !islegal || clickConfirm"
|
|
187
192
|
:payment.sync="model.f_payment" :payment-data="paytype"
|
|
@@ -321,6 +326,7 @@
|
|
|
321
326
|
self.model.f_totalcost = self.model.f_preamount
|
|
322
327
|
self.model.f_collection = 0
|
|
323
328
|
}
|
|
329
|
+
self.pricetext = getGas.data.chargeprice[0].pricetext ? getGas.data.chargeprice[0].pricetext:null
|
|
324
330
|
self.calText(getGas.data.chargeprice)
|
|
325
331
|
}
|
|
326
332
|
// 输入气量,换算金额
|
|
@@ -342,6 +348,7 @@
|
|
|
342
348
|
self.model.f_totalcost = getAmount.data.chargenum
|
|
343
349
|
self.model.f_collection = 0
|
|
344
350
|
}
|
|
351
|
+
self.pricetext = getAmount.data.chargeprice[0].pricetext?getAmount.data.chargeprice[0].pricetext:null
|
|
345
352
|
self.calText(getAmount.data.chargeprice)
|
|
346
353
|
}
|
|
347
354
|
}
|
|
@@ -483,6 +490,7 @@
|
|
|
483
490
|
data () {
|
|
484
491
|
return {
|
|
485
492
|
resid: [], // 存放新增的f_files表中id
|
|
493
|
+
pricetext:null,
|
|
486
494
|
config: {
|
|
487
495
|
priceCalculation: false, // 划气量控制
|
|
488
496
|
showupload: true, // 默认不显示附件上传组件
|
|
@@ -74,6 +74,17 @@
|
|
|
74
74
|
close-on-select :disabled="permissionPrice" v-ref:name></v-select>
|
|
75
75
|
<input type="text" v-show="false" v-model="$refs.name.selectedItems" v-validate:name='{required: true }'>
|
|
76
76
|
</div>
|
|
77
|
+
<div v-if="row.pricetype==='合表气价'" :class="[$m.f_resident_area.required ? 'has-error' : 'has-success']" class="col-sm-4 form-group">
|
|
78
|
+
<label class="font_normal_body" for="f_resident_area">居民面积</label>
|
|
79
|
+
<input class="input_search" placeholder="居民面积" style="width:60%"
|
|
80
|
+
type="text" v-model="row.f_resident_area" v-validate:f_resident_area='{required: true }'>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div v-if="row.pricetype==='合表气价'" :class="[$m.f_non_resident_area.required ? 'has-error' : 'has-success']" class="col-sm-4 form-group">
|
|
84
|
+
<label class="font_normal_body" for="f_non_resident_area">非居民面积</label>
|
|
85
|
+
<input class="input_search" placeholder="非居民面积" style="width:60%"
|
|
86
|
+
type="text" v-model="row.f_non_resident_area" v-validate:f_non_resident_area='{required: true }'>
|
|
87
|
+
</div>
|
|
77
88
|
<div class="col-sm-4 form-group">
|
|
78
89
|
<label for="f_username" class="font_normal_body"> 客户类型</label>
|
|
79
90
|
<v-select :value.sync="row.f_user_type"
|
|
@@ -127,6 +138,7 @@
|
|
|
127
138
|
v-el:pricecomments v-next-el="meterbase">
|
|
128
139
|
</div>
|
|
129
140
|
|
|
141
|
+
|
|
130
142
|
<div class="col-sm-4 form-group">
|
|
131
143
|
<label for="f_meter_base" class="font_normal_body"> 累购气量</label>
|
|
132
144
|
<input type="number" class="input_search" style="width:60%" v-model="row.f_total_gas" placeholder='累购气量'
|
|
@@ -463,6 +475,8 @@ let meterBookGen = function * (self) {
|
|
|
463
475
|
console.log('看看meter里面的数据', this.meter, this.row)
|
|
464
476
|
console.log('--------------====================', this.meter.f_aroundmeter, this.row.f_aroundmeter)
|
|
465
477
|
this.row = Object.assign(this.row, this.meter, {})
|
|
478
|
+
console.log(this.meter.pricetype)
|
|
479
|
+
this.row.pricetype = this.meter.pricetype[0]
|
|
466
480
|
this.oldrow = this.row
|
|
467
481
|
this.isdecimal = this.row.gasbrand.length > 0 ? this.row.gasbrand.f_isdecimal : '否'
|
|
468
482
|
this.row.valid = false
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<validator name='v'>
|
|
4
|
+
<form novalidate class="auto form-horizontal select-overspread">
|
|
5
|
+
<div class="col-sm-6" :class="[$v.f_price.required ? 'has-error' : 'has-success']">
|
|
6
|
+
<label for="f_price" class="font_normal_body">居民单价</label>
|
|
7
|
+
<input style="width:60%" class="input_search" type="number" v-model="consolidateprice[0].f_price"
|
|
8
|
+
v-validate:f_price='{required: true }' placeholder="单价" :disabled="isDisable">
|
|
9
|
+
</div>
|
|
10
|
+
<div :class="[$v.f_non_resident_price.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
11
|
+
<label class="font_normal_body" for="f_non_resident_price">非居民气价</label>
|
|
12
|
+
<input class="input_search" placeholder="非居民气价" style="width:60%"
|
|
13
|
+
type="text" v-model="consolidateprice[1].f_price" v-validate:f_non_resident_price='{required: true }'>
|
|
14
|
+
</div>
|
|
15
|
+
</form>
|
|
16
|
+
</validator>
|
|
17
|
+
</div>
|
|
18
|
+
</template>
|
|
19
|
+
<script>
|
|
20
|
+
/**
|
|
21
|
+
*阶梯气价管理组件
|
|
22
|
+
*/
|
|
23
|
+
export default {
|
|
24
|
+
props: ['consolidateprice', 'isDisable']
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
@@ -20,41 +20,20 @@
|
|
|
20
20
|
v-model="model.f_user_type">
|
|
21
21
|
</v-select>
|
|
22
22
|
</div>
|
|
23
|
-
<div class="col-sm-6 form-group"
|
|
24
|
-
<input class="input_search" style="width:60%" type="text" v-model="model.f_consolidated_user" v-show="false"
|
|
25
|
-
|
|
26
|
-
<label class="font_normal_body" for="f_consolidated_user">合表用户</label
|
|
27
|
-
<v-select :disabled='isEdit'
|
|
28
|
-
:options='isLowIncomes'
|
|
29
|
-
:value-single="true"
|
|
30
|
-
:value.sync="model.f_consolidated_user"
|
|
31
|
-
close-on-select
|
|
32
|
-
placeholder='请选择'
|
|
33
|
-
v-model="model.f_consolidated_user"
|
|
34
|
-
</v-select
|
|
35
|
-
</div
|
|
36
|
-
|
|
37
|
-
<div :class="[$v.f_resident_area.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
38
|
-
<label class="font_normal_body" for="f_resident_area">居民面积</label>
|
|
39
|
-
<input :disabled='isEdit' class="input_search" placeholder="居民面积" style="width:60%" @blur="getPrice()"
|
|
40
|
-
type="text" v-model="model.f_resident_area" v-validate:f_resident_area='{required: true }'>
|
|
41
|
-
</div>
|
|
42
|
-
<div :class="[$v.f_resident_price.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
43
|
-
<label class="font_normal_body" for="f_resident_price">居民气价</label>
|
|
44
|
-
<input :disabled='isEdit' class="input_search" placeholder="居民气价" style="width:60%" @blur="getPrice()"
|
|
45
|
-
type="text" v-model="model.f_resident_price" v-validate:f_resident_price='{required: true }'>
|
|
46
|
-
</div>
|
|
47
|
-
<div :class="[$v.f_non_resident_area.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
48
|
-
<label class="font_normal_body" for="f_non_resident_area">非居民面积</label>
|
|
49
|
-
<input :disabled='isEdit' class="input_search" placeholder="非居民面积" style="width:60%" @blur="getPrice()"
|
|
50
|
-
type="text" v-model="model.f_non_resident_area" v-validate:f_non_resident_area='{required: true }'>
|
|
51
|
-
</div>
|
|
52
|
-
<div :class="[$v.f_non_resident_price.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
53
|
-
<label class="font_normal_body" for="f_non_resident_price">非居民气价</label>
|
|
54
|
-
<input :disabled='isEdit' class="input_search" placeholder="非居民气价" style="width:60%" @blur="getPrice()"
|
|
55
|
-
type="text" v-model="model.f_non_resident_price" v-validate:f_non_resident_price='{required: true }'>
|
|
56
|
-
</div>
|
|
57
|
-
</div>
|
|
23
|
+
<!-- <div class="col-sm-6 form-group">-->
|
|
24
|
+
<!-- <input class="input_search" style="width:60%" type="text" v-model="model.f_consolidated_user" v-show="false"-->
|
|
25
|
+
<!-- >-->
|
|
26
|
+
<!-- <label class="font_normal_body" for="f_consolidated_user">合表用户</label>-->
|
|
27
|
+
<!-- <v-select :disabled='isEdit'-->
|
|
28
|
+
<!-- :options='isLowIncomes'-->
|
|
29
|
+
<!-- :value-single="true"-->
|
|
30
|
+
<!-- :value.sync="model.f_consolidated_user"-->
|
|
31
|
+
<!-- close-on-select-->
|
|
32
|
+
<!-- placeholder='请选择'-->
|
|
33
|
+
<!-- v-model="model.f_consolidated_user">-->
|
|
34
|
+
<!-- </v-select>-->
|
|
35
|
+
<!-- </div>-->
|
|
36
|
+
|
|
58
37
|
<div :class="[$v.f_gasproperties.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
59
38
|
<input class="input_search" style="width:60%" type="text" v-model="model.f_gasproperties" v-show="false"
|
|
60
39
|
v-validate:f_gasproperties='{required: true }'>
|
|
@@ -88,6 +67,18 @@
|
|
|
88
67
|
type="text" v-model="model.f_price_name" v-validate:f_price_name='{required: true }'>
|
|
89
68
|
</div>
|
|
90
69
|
</div>
|
|
70
|
+
<!-- <div class="row" v-if="model.f_price_type === '合表气价'">-->
|
|
71
|
+
<!-- <div :class="[$v.f_price.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">-->
|
|
72
|
+
<!-- <label class="font_normal_body" for="f_price">居民气价</label>-->
|
|
73
|
+
<!-- <input :disabled='isEdit' class="input_search" placeholder="居民气价" style="width:60%"-->
|
|
74
|
+
<!-- type="text" v-model="model.f_price" v-validate:f_price='{required: true }'>-->
|
|
75
|
+
<!-- </div>-->
|
|
76
|
+
<!-- <div :class="[$v.f_non_resident_price.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">-->
|
|
77
|
+
<!-- <label class="font_normal_body" for="f_non_resident_price">非居民气价</label>-->
|
|
78
|
+
<!-- <input :disabled='isEdit' class="input_search" placeholder="非居民气价" style="width:60%"-->
|
|
79
|
+
<!-- type="text" v-model="model.f_non_resident_price" v-validate:f_non_resident_price='{required: true }'>-->
|
|
80
|
+
<!-- </div>-->
|
|
81
|
+
<!-- </div>-->
|
|
91
82
|
<div class="row" v-if="model.f_price_type === '阶梯气价'">
|
|
92
83
|
<div :class="[$v.f_stairmonths.required || $v.f_stairmonths.dctest ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
|
|
93
84
|
<label class="font_normal_body" for="f_stairmonths">阶段月数</label>
|
|
@@ -206,7 +197,7 @@
|
|
|
206
197
|
|
|
207
198
|
<!--<div style="width: 40%;overflow-y: scroll">-->
|
|
208
199
|
<div class='auto' style="margin-top: 10px;">
|
|
209
|
-
|
|
200
|
+
<consolidated-price :is-disable.sync='isEdit' :consolidateprice.sync='model.detailprice' v-if="consilidateshow"></consolidated-price>
|
|
210
201
|
<mix-price :is-disable.sync='isEdit' :mixmodel.sync='model.detailprice' v-if="mixshow"></mix-price>
|
|
211
202
|
<stair-price :is-disable.sync='isEdit' :isheat.sync="model.f_isheat" :stairmodel.sync='model.detailprice' style="height: 40%;"
|
|
212
203
|
v-if="stairshow"></stair-price>
|
|
@@ -236,6 +227,7 @@
|
|
|
236
227
|
*/
|
|
237
228
|
|
|
238
229
|
import {HttpResetClass} from 'vue-client'
|
|
230
|
+
import ConsolidatedPrice from './ConsolidatedPrice'
|
|
239
231
|
let initGen = async function (self, val) {
|
|
240
232
|
let http = new HttpResetClass()
|
|
241
233
|
self.blodid = self.data.id
|
|
@@ -292,6 +284,7 @@ let initGen = async function (self, val) {
|
|
|
292
284
|
}
|
|
293
285
|
|
|
294
286
|
export default {
|
|
287
|
+
components: {ConsolidatedPrice},
|
|
295
288
|
data () {
|
|
296
289
|
return {
|
|
297
290
|
unitshow: false,
|
|
@@ -315,7 +308,7 @@ let initGen = async function (self, val) {
|
|
|
315
308
|
},
|
|
316
309
|
// 编辑控制
|
|
317
310
|
isEdit: false,
|
|
318
|
-
|
|
311
|
+
consilidateshow: false,
|
|
319
312
|
// 扣费方式的改变 如果涉及日运算,则阶梯开始时间和生效时间不做显示
|
|
320
313
|
stairStartShow: true,
|
|
321
314
|
|
|
@@ -368,6 +361,9 @@ let initGen = async function (self, val) {
|
|
|
368
361
|
} else if (val === '阶梯气价') {
|
|
369
362
|
this.model.detailprice = [{f_gas: '', f_price: '', f_add_gas: 0, f_add_gas_heat: 0}]
|
|
370
363
|
this.stairshow = true
|
|
364
|
+
} else if (val === '合表气价') {
|
|
365
|
+
this.model.detailprice = []
|
|
366
|
+
this.consilidateshow = true
|
|
371
367
|
}
|
|
372
368
|
}
|
|
373
369
|
},
|
|
@@ -376,18 +372,18 @@ let initGen = async function (self, val) {
|
|
|
376
372
|
initGen(this, this.data)
|
|
377
373
|
},
|
|
378
374
|
methods: {
|
|
379
|
-
getPrice () {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
},
|
|
375
|
+
// getPrice () {
|
|
376
|
+
// if (this.model.f_resident_area && this.model.f_resident_price && this.model.f_non_resident_area && this.model.f_non_resident_price) {
|
|
377
|
+
// let money = ((this.model.f_resident_area - 0) * (this.model.f_resident_price - 0)) + ((this.model.f_non_resident_area - 0) * (this.model.f_non_resident_price - 0))
|
|
378
|
+
// console.log('money....' + money)
|
|
379
|
+
// let area = ((this.model.f_resident_area - 0) + (this.model.f_non_resident_area - 0))
|
|
380
|
+
// console.log('area....' + area)
|
|
381
|
+
// let price = (money / area).toFixed(2)
|
|
382
|
+
// console.log(price)
|
|
383
|
+
// this.model.detailprice = []
|
|
384
|
+
// this.model.detailprice.push({f_price: price})
|
|
385
|
+
// }
|
|
386
|
+
// },
|
|
391
387
|
async CheckDuplicate () {
|
|
392
388
|
if (!this.data) {
|
|
393
389
|
let http = new HttpResetClass()
|
|
@@ -68,6 +68,8 @@ export default function () {
|
|
|
68
68
|
|
|
69
69
|
// 混合气价
|
|
70
70
|
Vue.component('mix-price', (resolve) => { require(['./StairPrice/MixPrice'], resolve) })
|
|
71
|
+
// 合表气价
|
|
72
|
+
Vue.component('consolidated-price', (resolve) => { require(['./StairPrice/ConsolidatedPrice'], resolve) })
|
|
71
73
|
// 固定气价
|
|
72
74
|
Vue.component('unit-price', (resolve) => { require(['./StairPrice/UnitPrice'], resolve) })
|
|
73
75
|
// 阶梯气价
|