sale-client 3.6.102 → 3.6.104

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.
@@ -1,5 +1,5 @@
1
1
  var path = require('path')
2
- const [serverRul, localUrl ] = ['http://121.36.106.17:8400/', 'http://121.36.106.17:8400/']
2
+ const [serverRul, localUrl ] = ['http://192.168.50.4:8400/', 'http://127.0.0.1:8080/']
3
3
  var merge = require('webpack-merge')
4
4
  var baseConfig = require('./webpack.dev.conf')
5
5
  var devConfig = {
package/index.html CHANGED
@@ -17,34 +17,6 @@
17
17
  <script src="https://webapi.amap.com/ui/1.1/main.js?v=1.1.1"></script>
18
18
  </head>
19
19
  <body id="bodymain" class="themeOne">
20
- <!-- <widget></widget> -->
21
20
  <app></app>
22
- <!-- built files will be auto injected -->
23
21
  </body>
24
- <script>
25
- window.onload = function () {
26
- var baseUrlName = '客服营收管理系统';
27
- var nameUrl = '';
28
- switch (window.location.pathname) {
29
- case '/jicheng':
30
- nameUrl = "积成";
31
- break;
32
- case '/zhonghaiyou':
33
- nameUrl = "中海油";
34
- break;
35
- case '/jincheng':
36
- nameUrl = "晋城";
37
- break;
38
- case '/haili':
39
- nameUrl = "海力";
40
- break;
41
- case '/paipu':
42
- nameUrl = "派普";
43
- break;
44
- default:
45
- break;
46
- }
47
- document.getElementsByTagName("title")[0].innerText = nameUrl+baseUrlName;
48
- }
49
- </script>
50
22
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.102",
3
+ "version": "3.6.104",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
 
19
19
  <div class="col-sm-4" :class="[$v.f_adjustable_address.required ? 'has-error' : '']">
20
- <label for="f_area" class="font_normal_body"><span class="glyphicon glyphicon-map-marker" @click="openModal" ></span>&nbsp;&nbsp;地址&nbsp;&nbsp;</label>
20
+ <label for="f_area" class="font_normal_body"><span v-if="mapShow" class="glyphicon glyphicon-map-marker" @click="openModal" ></span>&nbsp;&nbsp;地址&nbsp;&nbsp;</label>
21
21
  <input type="text" v-model="model.f_adjustable_address" v-validate:f_adjustable_address='{required: true }'
22
22
  class="input_search" style="width:60%" placeholder="地址" v-el:type v-next-el="street" >
23
23
  </div>
@@ -174,7 +174,8 @@ export default {
174
174
  havename: false,
175
175
  changedate: true,
176
176
  adjustabletype: this.$appdata.getParam('装置类型'),
177
- manufacturer: this.$appdata.getParam('生产厂家')
177
+ manufacturer: this.$appdata.getParam('生产厂家'),
178
+ mapShow: true
178
179
  }
179
180
  },
180
181
  props: ['data', 'f_filialeid'],
@@ -184,6 +185,11 @@ export default {
184
185
  }
185
186
  },
186
187
  ready () {
188
+ try {
189
+ var map = new AMap.Map('container')
190
+ } catch (e) {
191
+ this.mapShow = false
192
+ }
187
193
  console.log(this.$login.toStandardTimeString())
188
194
  this.datatomodel()
189
195
  },
@@ -1,6 +1,11 @@
1
1
  <template>
2
2
  <div class="flex-row">
3
3
  <div class="span" style="overflow-y: auto;">
4
+ <div class="auto" style="height: auto; overflow: auto" v-if="owes.length">
5
+ <div v-for="owe of owes" >
6
+ <owe-list :row='owe' :floor="config.floor" :charge="true"></owe-list>
7
+ </div>
8
+ </div>
4
9
  <validator name='v'>
5
10
  <form novalidate class="form-horizontal">
6
11
  <div class="row">
@@ -179,6 +184,7 @@
179
184
  <div style="text-align:right; height: 25%">
180
185
  <strong style="color:red;margin-right: 5px">{{ $refs.givechange.promptText }}</strong>
181
186
  <strong style="font-size: large" v-if="!config.notShowFormula">计算公式:{{calculatedetail ? calculatedetail : ' 暂无'}}</strong><br/>
187
+ <strong style="font-size: large" v-if="alldue_fee>0">旧表机表欠费:{{alldue_fee}} 元</strong><br/>
182
188
  <payment-code-button :clickable="!$v.valid || validateOk || !islegal || clickConfirm"
183
189
  :payment.sync="model.f_payment" :payment-data="paytype"
184
190
  @confirm-payment="confirm()">
@@ -203,6 +209,7 @@
203
209
 
204
210
  </template>
205
211
  <script>
212
+ import OweList from './machine/OweList'
206
213
  /**
207
214
  *综合业务
208
215
  *卡表收费组件
@@ -249,7 +256,7 @@
249
256
 
250
257
  self.model.chargeprice = getGas.data.chargeprice
251
258
  Object.assign(self.model, self.model, getGas.data)
252
- self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0)).toFixed(self.row.f_fee_decimal || 4)
259
+ self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0) + (self.alldue_fee - 0)).toFixed(self.row.f_fee_decimal || 4)
253
260
  if (self.config.floor) {
254
261
  self.model.f_totalcost = Math.ceil(self.model.f_totalcost)
255
262
  }
@@ -274,6 +281,7 @@
274
281
  let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
275
282
  self.model.f_preamount = getAmount.data.chargenum
276
283
  self.model.f_totalcost = (self.row.f_balance - 0) > (getAmount.data.chargenum - 0) ? 0 : ((getAmount.data.chargenum - 0) - (self.row.f_balance - 0)).toFixed(self.row.f_fee_decimal || 4)
284
+ self.model.f_totalcost = ((self.model.f_totalcost - 0) + (self.alldue_fee - 0)).toFixed(self.row.f_fee_decimal || 4)
277
285
  Object.assign(self.model, self.model, getAmount.data)
278
286
  self.model.chargeprice = getAmount.data.chargeprice
279
287
  if (self.config.floor) {
@@ -301,6 +309,7 @@
301
309
 
302
310
  let param = Object.assign({}, {}, self.model)
303
311
  param.f_payment = self.model.f_payment.toString()
312
+ param.alldue_fee = self.alldue_fee
304
313
  param.f_print = self.model.f_print.toString()
305
314
  param.f_serial_number = self.model.f_serial_number ? self.model.f_serial_number : ''
306
315
  // 加入扫码盒付款码支付流水号
@@ -369,7 +378,7 @@
369
378
  }
370
379
  let asyncCardMeterCenter = async function (self) {
371
380
  await self.$getConfig(self, 'IOTMeterCenter')
372
- console.log('卡表收费config', self.config)
381
+ await self.$getConfig(self, 'ChangeMeter')
373
382
 
374
383
  // 添加 “系统余额透支” 付款方式
375
384
  let i = -1
@@ -428,6 +437,23 @@
428
437
  }
429
438
  }
430
439
  }
440
+
441
+ if (self.config.hasArrearsChange) {
442
+ let http = new HttpResetClass()
443
+ let res = await http.load('POST', 'rs/logic/sale_getOwe', {data: {f_userinfo_id: self.row.f_userinfo_id}}, {resolveMsg: null, rejectMsg: '获取欠费出错!!'})
444
+ let owes = []
445
+ for (let i = 0; i < res.data.length; i++) {
446
+ for (let j = 0; j < res.data[i].rows.length; j++) {
447
+ owes.push(res.data[i].rows[j])
448
+ }
449
+ }
450
+ console.log('获取到的欠费记录', owes)
451
+ self.alldue_fee = owes.reduce((total, item) => {
452
+ return total + (item.f_oughtfee + item.overdue - item.f_debt_money)
453
+ }, 0)
454
+ console.log('总欠费金额为', self.alldue_fee)
455
+ self.owes = res.data
456
+ }
431
457
  }
432
458
  export default {
433
459
  title: '物联网收费',
@@ -445,6 +471,7 @@
445
471
  billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
446
472
  printType: '普通收据', // 收据/电子票/专用发票/国税发票
447
473
  payment: '',
474
+ hasArrearsChange: true, // 是否可以有欠费换表 收费时用来判断是否查询旧表欠费
448
475
  overdraftBalance: false // 是否支持系统余额透支
449
476
  },
450
477
  model: {
@@ -473,7 +500,8 @@
473
500
  // 启用发票管理需要对票号进行验证
474
501
  hasValidateBill: false,
475
502
  validateOk: false,
476
-
503
+ alldue_fee: 0, // 欠费金额
504
+ owes: [], // 欠费未交记录
477
505
  print: false,
478
506
  billData: {
479
507
  url: 'rs/report/iot_bill',
@@ -499,6 +527,7 @@
499
527
  dymoney: 0
500
528
  }
501
529
  },
530
+ components: {OweList},
502
531
  props: ['row'],
503
532
  mounted () {
504
533
  this.$refs.email.focus()
@@ -764,7 +793,7 @@
764
793
  return this.row.f_balance
765
794
  }
766
795
  if (this.model.f_preamount) {
767
- return ((this.model.f_collection - 0) - (this.model.f_preamount - 0) + (this.row.f_balance - 0)).toFixed(2) - 0
796
+ return ((this.model.f_collection - 0) - (this.model.f_preamount - 0) + (this.row.f_balance - 0) - this.alldue_fee).toFixed(2) - 0
768
797
  } else {
769
798
  return 0
770
799
  }
@@ -122,7 +122,7 @@
122
122
  :payment.sync="model.f_payment" :payment-data="paytype"
123
123
  @confirm-payment="confirm()">
124
124
  </payment-code-button>
125
- <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || validateOk'>确认</button>
125
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || validateOk || !model.f_collection'>确认</button>
126
126
  <button class="button_clear btn-gn" @click="clean()">取消</button>
127
127
  </div>
128
128
  </validator>
@@ -162,9 +162,9 @@
162
162
  @confirm-payment="confirm()">
163
163
  </payment-code-button>
164
164
  <button class="button_search btn-gn" v-if="authArr.includes('其它欠费生成')" @click="createQianfei()"
165
- :disabled=' validflag || validateOk'>生成欠费
165
+ :disabled=' validflag || validateOk || !model.f_collection'>生成欠费
166
166
  </button>
167
- <button class="button_search btn-gn" @click="checkInvoiceMsg()" :disabled='validflag || validateOk || chargetypecheckflag'>确认
167
+ <button class="button_search btn-gn" @click="checkInvoiceMsg()" :disabled='validflag || validateOk || chargetypecheckflag || !model.f_collection'>确认
168
168
  </button>
169
169
  <button class="button_clear btn-gn" @click="clean()">取消</button>
170
170
  </div>
@@ -55,7 +55,10 @@
55
55
  </div>
56
56
  <div class="row" :class="[config.f_comments ? 'highlight' : '']">
57
57
  <label class="col-sm-5">备注信息</label>
58
- <span class="col-sm-7">{{ data ? data.f_comments : dafault.f_comments }}</span>
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>
59
62
  </div>
60
63
  <div class="row" :class="[config.f_address ? 'highlight' : '']">
61
64
  <label class="col-sm-5">客户地址</label>
@@ -108,6 +111,32 @@
108
111
  <button type="button" class="button_clear" @click='close'>取消</button>
109
112
  </footer>
110
113
  </modal>
114
+ <modal v-if="reason_show" :show.sync="reason_show" width="40%" title="修改备注信息"
115
+ v-ref:modal large backdrop="false">
116
+ <article slot="modal-body" class="modal-body">
117
+ <div class="form-horizontal">
118
+ <div class="row">
119
+ <div class="col-sm-12 form-group">
120
+ <label class="font_normal_body">旧备注信息</label>
121
+ <input disabled readonly type="text" style="width:80%" class="input_search"
122
+ v-model="data.f_comments" placeholder='旧备注信息'>
123
+ </div>
124
+ </div>
125
+ <div class="row">
126
+ <div class="col-sm-12 form-group">
127
+ <label class="font_normal_body">新备注信息</label>
128
+ <input type="text" style="width:80%" class="input_search" v-model="new_reason"
129
+ placeholder='新备注信息'>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </article>
134
+ <footer slot="modal-footer" class="modal-footer">
135
+ <button class="button_search" :disabled='!$m.valid ' @click="modifyUserSpecialReson">确定</button>
136
+ <button type="button" class="button_clear" @click='close'>取消</button>
137
+ </footer>
138
+ </modal>
139
+
111
140
  </div>
112
141
  </div>
113
142
  </partial-view>
@@ -119,12 +148,12 @@
119
148
  */
120
149
 
121
150
  export default {
122
- ready() {
151
+ ready () {
123
152
  console.log('看看userinfo里面接收的data数据:', this.data)
124
153
  this.$getConfig(this, 'getUserInfo')
125
154
  },
126
155
  title: '客户基本信息',
127
- data() {
156
+ data () {
128
157
  return {
129
158
  dafault: {
130
159
  f_user_name: '***',
@@ -156,22 +185,48 @@ export default {
156
185
  },
157
186
  model: null,
158
187
  showselectncuserinfo: false,
159
- newuserphone: ''
188
+ newuserphone: '',
189
+ reason_show: false,
190
+ new_reason: ''
160
191
  }
161
192
  },
162
193
  props: ['data', 'warninginfo'],
163
194
  methods: {
164
- dealmsg(val) {
195
+ async modifyUserSpecialReson () {
196
+ let param = {
197
+ new_reason: this.new_reason,
198
+ f_userinfo_id: this.data.f_userinfo_id,
199
+ f_user_id: this.data.f_user_id,
200
+ f_operator: this.$login.f.name,
201
+ f_operatorid: this.$login.f.id,
202
+ f_orgid: this.$login.f.orgid,
203
+ f_orgname: this.$login.f.orgs,
204
+ f_depid: this.$login.f.depids,
205
+ f_depname: this.$login.f.deps
206
+ }
207
+ await this.$resetpost('/rs/logic/changeuserinfo', {data: param}, {resolveMsg: '修正成功', rejectMsg: null})
208
+ this.data.f_comments = this.new_reason
209
+ this.$parent.$parent.close()
210
+ this.$parent.$parent.clean()
211
+ this.$parent.$parent.$refs.list.searchNoData()
212
+ this.close()
213
+ },
214
+ change_reason () {
215
+ // 修正客户电话
216
+ this.reason_show = true
217
+ this.new_reason = ''
218
+ },
219
+ dealmsg (val) {
165
220
  if (val.f_userinfo_code !== '********') {
166
221
  this.$dispatch('deal-msg', val)
167
222
  }
168
223
  },
169
- changeuserphone() {
224
+ changeuserphone () {
170
225
  // 修正客户电话
171
226
  this.showselectncuserinfo = true
172
227
  this.newuserphone = ''
173
228
  },
174
- async modifyUser() {
229
+ async modifyUser () {
175
230
  let param = {
176
231
  new_userphone: this.newuserphone,
177
232
  f_userinfo_id: this.data.f_userinfo_id,
@@ -190,13 +245,15 @@ export default {
190
245
  this.$parent.$parent.$refs.list.searchNoData()
191
246
  this.close()
192
247
  },
193
- close() {
248
+ close () {
194
249
  this.showselectncuserinfo = false
250
+ this.reason_show = false
195
251
  this.newuserphone = ''
252
+ this.new_reason = ''
196
253
  }
197
254
  },
198
255
  watch: {
199
- 'data'(val) {
256
+ 'data' (val) {
200
257
  }
201
258
  }
202
259
  }
@@ -17,10 +17,10 @@
17
17
  close-on-select clear-button>
18
18
  </v-select>
19
19
  </div>
20
- <div class="col-sm-4 form-group" v-if="row.f_collection_type == '按金额'">
21
- <label for="f_change_operator" class=" font_normal_body">旧表金额</label>
22
- <input class="input_search" style="width:60%" type="text" v-model="model.f_using_fee_old"
23
- placeholder="旧表金额" @blur="feeOldChange()">
20
+ <div class="col-sm-4 form-group">
21
+ <label for="f_change_operator" class=" font_normal_body">换&ensp;表&ensp;人</label>
22
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_change_operator"
23
+ placeholder="换表人">
24
24
  </div>
25
25
 
26
26
  <div class="col-sm-4 form-group"
@@ -236,11 +236,6 @@
236
236
  :options='opentype'
237
237
  close-on-select clear-button></v-select>
238
238
  </div>
239
- <div class="col-sm-4 form-group">
240
- <label for="f_change_operator" class=" font_normal_body">换&ensp;表&ensp;人</label>
241
- <input class="input_search" style="width:60%" type="text" v-model="model.f_change_operator"
242
- placeholder="换表人">
243
- </div>
244
239
  </div>
245
240
  <div class="row auto">
246
241
  <div class="col-sm-12"
@@ -611,10 +606,8 @@ export default {
611
606
  this.addTaskModalShow = true
612
607
  },
613
608
  async confirmbefore () {
614
- if (this.model.metermessage.f_meter_type[0] != '机表') {
615
- console.log('进来了')
616
- if (this.books.data.length > 0) {
617
- console.log('进来了2')
609
+ if (this.model.metermessage.f_meter_type[0] !== '机表') {
610
+ if (!this.config.hasArrearsChange && this.books.data && this.books.data.length > 0) {
618
611
  if (this.books.data[0].f_whether_pay === '否') {
619
612
  this.$showAlert('该表有欠费,请到机表缴费界面进行缴费', 'warning', 3000)
620
613
  this.$dispatch('button-specifies', {name: '机表收费', value: 'machine-charge'}, this.row)
@@ -695,6 +688,7 @@ export default {
695
688
  this.model.f_depname = this.$login.f.deps
696
689
  this.model.f_zoneid = this.$login.f.zoneid
697
690
  this.model.f_zones = this.$login.f.zones
691
+ this.model.alldue_fee = this.alldue_fee
698
692
  let data = {
699
693
  model: this.model,
700
694
  f_meter_book: this.newinfo.f_meter_book[0],
@@ -986,21 +980,39 @@ export default {
986
980
 
987
981
  async validateOwe () {
988
982
  let http = new HttpResetClass()
989
- let books = await http.load('POST', 'rs/sql/singleTable_OrderBy', {
990
- data: {
991
- items: 'f_whether_pay',
992
- tablename: 't_handplan',
993
- condition: ` f_user_id = '${this.row.f_user_id}' and f_oughtfee > 0 and f_hand_state = '有效' and f_meter_state='已抄表' `,
994
- orderitem: ' id desc'
983
+ // 有欠费是否能换表 如果能则需要获取到欠费金额
984
+ if (this.config.hasArrearsChange) {
985
+ let res = await http.load('POST', 'rs/logic/sale_getOwe', {data: {f_userinfo_id: this.row.f_userinfo_id}}, {resolveMsg: null, rejectMsg: '获取欠费出错!!'})
986
+ let owes = []
987
+ for (let i = 0; i < res.data.length; i++) {
988
+ for (let j = 0; j < res.data[i].rows.length; j++) {
989
+ owes.push(res.data[i].rows[j])
990
+ }
991
+ }
992
+ console.log('获取到的欠费记录', owes)
993
+ this.alldue_fee = owes.reduce((total, item) => {
994
+ return total + (item.f_oughtfee + item.overdue - item.f_debt_money)
995
+ }, 0)
996
+ console.log('总欠费金额为', this.alldue_fee)
997
+ this.books = owes
998
+ } else {
999
+ // 如果 不能 则只需要获取到记录数,采用相对节省资源的查询
1000
+ let books = await http.load('POST', 'rs/sql/singleTable_OrderBy', {
1001
+ data: {
1002
+ items: 'f_whether_pay',
1003
+ tablename: 't_handplan',
1004
+ condition: ` f_user_id = '${this.row.f_user_id}' and f_oughtfee > 0 and f_hand_state = '有效' and f_meter_state='已抄表' `,
1005
+ orderitem: ' id desc'
1006
+ }
1007
+ }, {resolveMsg: null, rejectMsg: null}
1008
+ )
1009
+ console.log('获取到的欠费记录', books)
1010
+ this.books = books
1011
+ // 如果是机表验证是否有欠费
1012
+ if ((this.row.f_balance - 0) < 0) {
1013
+ this.$showAlert('该表有欠费,请到机表缴费界面进行缴费', 'warning', 3000)
1014
+ this.$dispatch('button-specifies', {name: '机表收费', value: 'machine-charge'}, this.row)
995
1015
  }
996
- }, {resolveMsg: null, rejectMsg: null}
997
- )
998
- console.log('获取到的欠费记录', books)
999
- this.books = books
1000
- // 如果是机表验证是否有欠费
1001
- if ((this.row.f_balance - 0) < 0) {
1002
- this.$showAlert('该表有欠费,请到机表缴费界面进行缴费', 'warning', 3000)
1003
- this.$dispatch('button-specifies', {name: '机表收费', value: 'machine-charge'}, this.row)
1004
1016
  }
1005
1017
  }
1006
1018
  },
@@ -1474,7 +1474,7 @@
1474
1474
  row.state = '失败'
1475
1475
  Vue.set(row, 'error', '底数不能小于0')
1476
1476
  this.speckText('底数不能小于0,请注意!')
1477
- } else if (row.f_tablebase.toString().split('.')[1].length > 3) {
1477
+ } else if (this.danhu.f_tablebase.toString().split('.').length > 1 && this.danhu.f_tablebase.toString().split('.')[1].length > 3) {
1478
1478
  row.state = '失败'
1479
1479
  Vue.set(row, 'error', '底数最多只能输入小数点后3位')
1480
1480
  this.speckText('底数最多只能输入小数点后3位,请注意!')
@@ -111,7 +111,7 @@
111
111
  <input id="f_collection" class="input_search" style="width:60%" type="number" v-model="model.f_collection"
112
112
  v-validate:f_collection='{required: true, dctest: [(model.f_totalcost - 0), ">=" ] }'
113
113
  v-el:fcollection @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))"
114
- v-scale="[model.f_totalcost, row.f_fee_decimal||4]" :disabled="true"/>
114
+ v-scale="[model.f_totalcost, row.f_fee_decimal||4]" :readonly="true"/>
115
115
  </div>
116
116
  <div class="col-sm-3" v-if="row.f_collection_type === '按气量' && model.f_payment!='赠气' && row.f_meter_type.includes('卡表') && config.calculatePreByCollection">
117
117
  <label for="f_collection" class=" font_normal_body">*收&emsp;&emsp;款</label>
@@ -119,19 +119,19 @@
119
119
  v-validate:f_collection='{required: true }'
120
120
  @blur="calculatePreByCollection()"
121
121
  v-el:fcollection
122
- @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))"/>
122
+ @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))" :readonly="true"/>
123
123
  </div>
124
124
  <div class="col-sm-3" v-if="row.f_collection_type === '按气量' && model.f_payment=='赠气' && row.f_meter_type.includes('卡表')">
125
125
  <label for="f_collection" class=" font_normal_body"><font size="4px" style="font-weight:bold">*收&emsp;款</font></label>
126
126
  <input id="f_collection" class="input_search" style="width:60%;font-size: 18px;font-weight:bold;" type="number" v-model="model.f_collection"
127
127
  @blur="config.calculatePreByCollection && calculatePreByCollection()"
128
- v-el:fcollection @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))" v-scale="[model.f_totalcost, row.f_fee_decimal||4]" :disabled="true">
128
+ v-el:fcollection @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))" v-scale="[model.f_totalcost, row.f_fee_decimal||4]" :readonly="true">
129
129
  </div>
130
130
  <div class="col-sm-3" v-if="row.f_collection_type === '按金额' && row.f_meter_type.includes('卡表')">
131
131
  <label for="f_collection" class=" font_normal_body"><font size="4px" style="font-weight:bold">*收&emsp;款</font></label>
132
132
  <input id="f_collection" class="input_search" style="width:50%;font-size: 18px;font-weight:bold;" type="number" v-model="model.f_collection"
133
133
  @blur="config.calculatePreByCollection && calculatePreByCollection()"
134
- v-el:fcollection @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))" v-scale="[model.f_collection, row.f_fee_decimal||4]" :disabled="true">
134
+ v-el:fcollection @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))" v-scale="[model.f_collection, row.f_fee_decimal||4]" :readonly="true">
135
135
  </div>
136
136
  <div class="col-sm-4" v-if="!row.f_meter_type.includes('卡表')">
137
137
  <label for="f_collection" class=" font_normal_body"><font size="4px"
@@ -141,7 +141,7 @@
141
141
  v-el:fcollection
142
142
  @blur="config.calculatePreByCollection && calculatePreByCollection()"
143
143
  @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))"
144
- v-scale="[model.f_collection, row.f_fee_decimal||4]" :disabled="true">
144
+ v-scale="[model.f_collection, row.f_fee_decimal||4]" :readonly="true">
145
145
  </div>
146
146
 
147
147
  <!-- <div class="col-sm-3" v-if="row.f_collection_type === '按气量' && model.f_payment!='赠气' && row.f_meter_type.includes('卡表') && !config.calculatePreByCollection"-->