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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.254",
3
+ "version": "3.6.255",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -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="true"
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">&ensp;表&ensp;&ensp;&ensp;&ensp;向</label>
170
+ <label for="gasmodel" class="font_normal_body"><span style="color: red;">&ensp;表&ensp;&ensp;&ensp;&ensp;向</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">&ensp;表&ensp;&ensp;&ensp;&ensp;向</label>
127
+ <label for="gasmodel" class="font_normal_body color-red">&ensp;表&ensp;&ensp;&ensp;&ensp;向</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">&emsp;人&ensp;口&ensp;数</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 '../../../comprehen/common/TabButton'
23
- import Tabs from '../../../comprehen/common/Tabs'
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" v-show="false">计算公式:{{calculatedetail ? calculatedetail : ' 暂无'}}</strong><br/>
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">&ensp;客户类型</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">&ensp;累购气量</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
- <div class="row" v-if="model.f_consolidated_user==='1'">
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
- if (this.model.f_resident_area && this.model.f_resident_price && this.model.f_non_resident_area && this.model.f_non_resident_price) {
381
- 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))
382
- console.log('money....' + money)
383
- let area = ((this.model.f_resident_area - 0) + (this.model.f_non_resident_area - 0))
384
- console.log('area....' + area)
385
- let price = (money / area).toFixed(2)
386
- console.log(price)
387
- this.model.detailprice = []
388
- this.model.detailprice.push({f_price: price})
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
  // 阶梯气价