sale-client 4.2.174 → 4.2.176

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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "diffEditor.renderSideBySide": false
3
+ }
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl ] = ['http://192.168.50.67:31567/', 'http://192.168.50.67:31567/']
4
+ const [ serverRul, localUrl ] = ['http://222.83.114.229:31785/', 'http://222.83.114.229:31785/']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.2.174",
3
+ "version": "4.2.176",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -152,8 +152,8 @@
152
152
  </div>
153
153
  </div>
154
154
 
155
- <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限')">
156
- <div class="col-sm-4">
155
+ <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限')|| hasDisCount">
156
+ <div class="col-sm-4" v-if="!hasDisCount">
157
157
  <label class="font_normal_body">优惠方式</label>
158
158
  <v-select v-model="model.f_privilege_id" @blur.native.capture="privilegeCalculate"
159
159
  placeholder='请选择'
@@ -466,6 +466,7 @@
466
466
  }
467
467
  let getLimit = await self.$resetpost('api/af-revenue/logic/sale_getLimitGas', {data: limit_param}, {
468
468
  resolveMsg: null,
469
+ newly: true,
469
470
  rejectMsg: '获取限购值失败!!'
470
471
  })
471
472
  console.log('获取限购值', getLimit)
@@ -516,6 +517,18 @@
516
517
  }
517
518
  })
518
519
  }
520
+ // 获取优惠信息
521
+ if (self.config.newDiscount) {
522
+ let getDiscount = await self.$resetpost('api/af-revenue/logic/getDiscountInfo', {data: nowrite_param}, {
523
+ resolveMsg: null,
524
+ newly: true,
525
+ rejectMsg: '获取优惠信息失败!!'
526
+ })
527
+ if (getDiscount.data.leftDiscount > 0) {
528
+ self.disCountInfo = getDiscount.data
529
+ self.hasDisCount = true
530
+ }
531
+ }
519
532
  }
520
533
  export default {
521
534
  title: '卡表收费',
@@ -524,12 +537,15 @@
524
537
  mjshow: false,
525
538
  serialShow: false,
526
539
  randomBusinessId: '',
540
+ hasDisCount: false,
541
+ disCountInfo: {},
527
542
  resid: [], // 存放新增的f_files表中id
528
543
  config: {
529
544
  calculatePreByCollection: false, // 可以更具收款来反向计算预购
530
545
  notShowFormula: false, // 不显示计算公式,默认显示
531
546
  autoCollection: true, // 自动填写收款
532
547
  quickSale: false,
548
+ newDiscount: false, // 新优惠
533
549
  showupload: true, // 显示上传
534
550
  hasPrint: true, // 默认打票
535
551
  MinSellGas: 0,
@@ -561,6 +577,7 @@
561
577
  f_banktransfer_person: '',
562
578
  f_banktransfer_date: '',
563
579
  f_privilege_id: 0,
580
+ f_privilege_gas: 0,
564
581
  f_privilege_money: 0,
565
582
  f_after_discount: 0,
566
583
  getDeduct: 0
@@ -705,8 +722,8 @@
705
722
  this.model.getDeduct = 0
706
723
  if (this.row.f_project_money && this.row.f_project_money > 0) {
707
724
  this.model.getDeduct = (this.$CommonService.getDeduct(this.row, this.model.f_pregas) - 0)
708
- this.model.f_totalcost = (this.model.f_totalcost - 0 ) + (this.model.getDeduct- 0 )
709
- this.model.f_collection = (this.model.f_collection - 0 ) + (this.model.getDeduct- 0 )
725
+ this.model.f_totalcost = (this.model.f_totalcost - 0) + (this.model.getDeduct - 0)
726
+ this.model.f_collection = (this.model.f_collection - 0) + (this.model.getDeduct - 0)
710
727
  }
711
728
  this.calText(dymoney2.data.chargeprice, this.model.getDeduct)
712
729
  } catch (error) {
@@ -899,6 +916,23 @@
899
916
  }
900
917
  this.privilegeCalculate()
901
918
  }
919
+ if (this.hasDisCount) {
920
+ this.calDisCount()
921
+ }
922
+ },
923
+ async calDisCount () {
924
+ // 初始化减免金额
925
+ this.model.f_privilege_money = 0
926
+ this.model.f_after_discount = this.model.f_collection
927
+ let param = this.disCountInfo
928
+ param.f_collection = this.model.f_collection
929
+ param.f_pregas = this.model.f_pregas
930
+ let privilegeData = await this.$resetpost('api/af-revenue/logic/calculateDiscount', param, {resolveMsg: null, rejectMsg: '计算优惠金额出错'})
931
+ // 减免金额
932
+ this.model.f_privilege_money = privilegeData.data.f_privilege_money
933
+ this.model.f_privilege_gas = privilegeData.data.f_privilege_gas
934
+ // 减免后收款金额
935
+ this.model.f_after_discount = privilegeData.data.f_collection
902
936
  },
903
937
  // 优惠计算
904
938
  async privilegeCalculate () {
@@ -128,6 +128,26 @@
128
128
  <span v-if="$v.f_collection.dctest" style="color:red ">收款不能小于应收金额</span>
129
129
  </div>
130
130
  </div>
131
+ <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限')|| hasDisCount">
132
+ <div class="col-sm-4" v-if="!hasDisCount">
133
+ <label class="font_normal_body">优惠方式</label>
134
+ <v-select v-model="model.f_privilege_id" @blur.native.capture="privilegeCalculate"
135
+ placeholder='请选择'
136
+ :value.sync="model.f_privilege_id"
137
+ :options='privilegeList' clear-button value-single>
138
+ </v-select>
139
+ </div>
140
+ <div class="col-sm-4">
141
+ <label for="f_preamount" class=" font_normal_body">&nbsp;优惠金额</label>
142
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_privilege_money"
143
+ v-scale="[model.f_privilege_money, row.f_fee_decimal||4]" placeholder="优惠金额" disabled>
144
+ </div>
145
+ <div class="col-sm-4">
146
+ <label for="f_preamount" class=" font_normal_body">&nbsp;实际收款</label>
147
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_after_discount"
148
+ v-scale="[model.f_after_discount, row.f_fee_decimal||4]" placeholder="优惠后收款" disabled>
149
+ </div>
150
+ </div>
131
151
  <div class="row" v-if="model.f_payment[0].includes('POS')">
132
152
  <div class="col-sm-4">
133
153
  <label for="f_voucher_number" class="font_normal_body">凭证号</label>
@@ -159,18 +179,19 @@
159
179
  <button class="button_clear btn-gn" @click="clean()">取消</button>
160
180
  </div>
161
181
  </validator>
162
- <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_collection"></payment-code>
182
+ <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_after_discount"></payment-code>
163
183
  <upload :blodid="row.f_userinfo_id" v-if="config.showupload" :businessid="randomBusinessId" isremark="true" fusetype="无卡收费"></upload>
164
184
  </div>
165
185
  </div>
166
186
  </template>
167
187
  <script>
168
- /**
188
+ /**
169
189
  *综合业务
170
190
  *卡表收费组件
171
- */
191
+ */
192
+ import {HttpResetClass} from 'vue-client'
172
193
 
173
- // 输入金额,换算气量
194
+ // 输入金额,换算气量
174
195
  let preamountGen = async function (self) {
175
196
  let dymoney = 0
176
197
  let calFee = (self.model.f_totalcost - 0) + (self.row.f_balance - 0)
@@ -194,8 +215,8 @@
194
215
  Object.assign(self.model, self.model, getGas.data)
195
216
  self.model.f_totalcost = ((self.model.f_totalcost - 0) - (dymoney - 0)).toFixed(4)
196
217
  // self.model.f_totalcost=Math.ceil(self.model.f_totalcost)
197
- if(self.config.floor){
198
- self.model.f_totalcost=Math.ceil(self.model.f_totalcost)
218
+ if (self.config.floor) {
219
+ self.model.f_totalcost = Math.ceil(self.model.f_totalcost)
199
220
  }
200
221
  self.calText(getGas.data.chargeprice)
201
222
  }
@@ -215,8 +236,8 @@
215
236
  Object.assign(self.model, self.model, getAmount.data)
216
237
  self.model.chargeprice = getAmount.data.chargeprice
217
238
  self.model.f_collection = self.model.f_totalcost
218
- if(self.config.floor){
219
- self.model.f_collection=Math.ceil(self.model.f_collection)
239
+ if (self.config.floor) {
240
+ self.model.f_collection = Math.ceil(self.model.f_collection)
220
241
  }
221
242
  self.calText(getAmount.data.chargeprice)
222
243
  }
@@ -294,7 +315,7 @@
294
315
  f_user_id: self.row.f_user_id,
295
316
  f_stairprice_id: self.row.f_stairprice_id
296
317
  }
297
- let getLimit = await self.$resetpost('api/af-revenue/logic/sale_getLimitGas', {data: limit_param}, {resolveMsg: null, rejectMsg: '获取限购值失败!!'})
318
+ let getLimit = await self.$resetpost('api/af-revenue/logic/sale_getLimitGas', {data: limit_param}, {resolveMsg: null, newly: true, rejectMsg: '获取限购值失败!!'})
298
319
  console.log('获取限购值', getLimit)
299
320
  self.hasLimit = getLimit.data.hasLimit
300
321
  if (self.hasLimit) {
@@ -314,6 +335,21 @@
314
335
  }
315
336
  }
316
337
  }
338
+ // 获取优惠信息
339
+ if (self.config.newDiscount) {
340
+ let nowrite_param = {
341
+ f_userfiles_id: self.row.f_userfiles_id
342
+ }
343
+ let getDiscount = await self.$resetpost('api/af-revenue/logic/getDiscountInfo', {data: nowrite_param}, {
344
+ resolveMsg: null,
345
+ newly: true,
346
+ rejectMsg: '获取优惠信息失败!!'
347
+ })
348
+ if (getDiscount.data.leftDiscount > 0) {
349
+ self.disCountInfo = getDiscount.data
350
+ self.hasDisCount = true
351
+ }
352
+ }
317
353
  }
318
354
  export default {
319
355
  title: '无卡收费',
@@ -321,10 +357,13 @@
321
357
  return {
322
358
  serialShow: false,
323
359
  resid: [], // 存放新增的f_files表中id
360
+ hasDisCount: false,
361
+ disCountInfo: {},
324
362
  config: {
325
363
  calculatePreByCollection: false, // 可以更具收款来反向计算预购
326
364
  notShowFormula: false, // 不显示计算公式,默认显示
327
365
  hasPrint: true, // 默认打票
366
+ newDiscount: false,
328
367
  hasBillManage: false, // 默认不启用发票管理
329
368
  floor: false, // 是否取整收费
330
369
  billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
@@ -340,6 +379,11 @@
340
379
  f_preamount: 0,
341
380
  f_totalcost: 0,
342
381
  f_curbalance: 0,
382
+ f_privilege_id: 0,
383
+ f_privilege_gas: 0,
384
+ f_privilege_money: 0,
385
+ f_after_discount: 0,
386
+ getDeduct: 0,
343
387
  f_collection: '',
344
388
  f_balance: 0,
345
389
  f_print: [],
@@ -363,7 +407,7 @@
363
407
  // 下拉框值
364
408
  paytype: this.$appdata.getParam('付款方式'),
365
409
  printstyle: this.$appdata.getParam('打印格式'),
366
- writecard: [{label: '写卡',value:'写卡'},{label: '不写卡',value:'不写卡'}],
410
+ writecard: [{label: '写卡', value: '写卡'}, {label: '不写卡', value: '不写卡'}],
367
411
  mjshow: false
368
412
  }
369
413
  },
@@ -443,6 +487,86 @@
443
487
  }
444
488
  })
445
489
  },
490
+ // 根据选择的付款方式 获取优惠列表
491
+ async getPrivilegeList () {
492
+ // 初始化下拉选择列表
493
+ this.privilegeList = [{label: '无优惠', value: '0'}]
494
+ // 初始为无优惠
495
+ this.model.f_privilege_id = '0'
496
+ if (this.model.f_payment && this.model.f_payment.length) {
497
+ // 查询条件
498
+ let payments = JSON.stringify(this.model.f_payment)
499
+ payments = payments.replace('[', '(').replace(']', ')').replace(/"/g, '\'')
500
+ let HttpReset = new HttpResetClass()
501
+ let privilege = await HttpReset.load('POST', 'api/af-revenue/sql/singleTable_OrderBy', {
502
+ data: {
503
+ items: 'id,f_privilege_name,f_privilege_type',
504
+ tablename: 't_privilege',
505
+ condition: `f_payment in ${payments} and f_gasproperties = '${this.row.f_gasproperties}' and f_user_type = '${this.row.f_user_type}' and f_perform_date <= GETDATE() and f_end_date >= GETDATE() and f_state = '有效'`,
506
+ orderitem: 'id'
507
+ }
508
+ }, {resolveMsg: null, rejectMsg: '查询优惠信息失败'})
509
+ // 查询结果放到下拉列表
510
+ for (let p of privilege.data) {
511
+ this.privilegeList.push({label: p.f_privilege_name, value: p.id, type: p.f_privilege_type})
512
+ }
513
+ this.privilegeCalculate()
514
+ }
515
+ if (this.hasDisCount) {
516
+ this.calDisCount()
517
+ }
518
+ },
519
+ async calDisCount () {
520
+ // 初始化减免金额
521
+ this.model.f_privilege_money = 0
522
+ this.model.f_after_discount = this.model.f_collection
523
+ let param = this.disCountInfo
524
+ param.f_collection = this.model.f_collection
525
+ param.f_pregas = this.model.f_pregas
526
+ let privilegeData = await this.$resetpost('api/af-revenue/logic/calculateDiscount', param, {resolveMsg: null, rejectMsg: '计算优惠金额出错'})
527
+ // 减免金额
528
+ this.model.f_privilege_money = privilegeData.data.f_privilege_money
529
+ this.model.f_privilege_gas = privilegeData.data.f_privilege_gas
530
+ // 减免后收款金额
531
+ this.model.f_after_discount = privilegeData.data.f_collection
532
+ },
533
+ // 优惠计算
534
+ async privilegeCalculate () {
535
+ // 初始化减免金额
536
+ this.model.f_privilege_money = 0
537
+ this.model.f_after_discount = this.model.f_collection
538
+ // 判断是否是自定义优惠
539
+ if (parseInt(this.model.f_privilege_id)) {
540
+ for (let p of this.privilegeList) {
541
+ if (p.value == this.model.f_privilege_id && p.type == '自定义') {
542
+ this.model.f_privilege_money = window.prompt('请输入你想优惠的金额')
543
+ if (!(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_money) || !(/^[1-9]\d*(\.\d+)?$/).test(this.model.f_privilege_money)) {
544
+ this.$showMessage('金额输入格式不正确!')
545
+ this.model.f_privilege_money = 0
546
+ return
547
+ }
548
+ if ((this.model.f_privilege_money - 0) >= this.model.f_collection) {
549
+ this.$showMessage('减免金额不能大于等于收款金额')
550
+ this.model.f_privilege_money = 0
551
+ return
552
+ }
553
+ }
554
+ }
555
+ }
556
+ // 优惠方式, 收款 缺一不计算
557
+ if (this.model.f_payment && this.model.f_payment.length && parseInt(this.model.f_privilege_id) && this.model.f_collection) {
558
+ let c = {
559
+ f_privilege_id: this.model.f_privilege_id,
560
+ f_collection: this.model.f_collection,
561
+ f_privilege_money: this.model.f_privilege_money
562
+ }
563
+ let privilegeData = await this.$resetpost('api/af-revenue/logic/calculatePrivilege', c, {resolveMsg: null, rejectMsg: '计算优惠金额出错'})
564
+ // 减免金额
565
+ this.model.f_privilege_money = privilegeData.data.f_privilege_money
566
+ // 减免后收款金额
567
+ this.model.f_after_discount = privilegeData.data.f_collection
568
+ }
569
+ },
446
570
  clean () {
447
571
  this.$info('取消操作')
448
572
  this.$dispatch('refresh', this.row)
@@ -496,15 +620,49 @@
496
620
  }
497
621
  },
498
622
  watch: {
623
+ 'model.f_payment.length' (val) {
624
+ console.log('付款方式多选。。', val)
625
+ if (val > 1 && !this.model.f_preamount) {
626
+ this.model.f_payment = ['现金缴费']
627
+ this.$showAlert('请先计算付款金额', 'warning', 2000)
628
+ } else {
629
+ this.paymentModel = []
630
+
631
+ this.model.f_payment.forEach((res) => {
632
+ let temp = {
633
+ f_payment: res,
634
+ f_money: 0
635
+ }
636
+ this.paymentModel.push(temp)
637
+ })
638
+ this.$resetValidation()
639
+
640
+ // 获取计算优惠
641
+ this.getPrivilegeList()
642
+ }
643
+ },
499
644
  'model.f_payment' (val) {
500
- if (val == '免交') {
645
+ let _payment = this.$appdata.getSingleValue('需要输入业务单号的付款方式') || ''
646
+ if (val == '免交' || _payment.includes(val)) {
501
647
  this.mjshow = true
502
648
  } else {
503
649
  this.mjshow = false
504
650
  }
651
+ // if(this.row.f_collection_type == '按气量'){
652
+ // this.pregas();
653
+ // }else{
654
+ // this.preamount();
655
+ // }
656
+ },
657
+ 'model.f_collection' (val) {
658
+ // 获取计算优惠
659
+ this.getPrivilegeList()
505
660
  }
506
661
  },
507
662
  computed: {
663
+ authArr () {
664
+ return this.$login.r ? this.$login.r : []
665
+ },
508
666
  'curbalance' () {
509
667
  if (this.model.f_preamount) {
510
668
  if (this.config.calculatePreByCollection) {
@@ -109,7 +109,7 @@
109
109
  v-ref:givechange></give-change>
110
110
  </div>
111
111
  </div>
112
- <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限')">
112
+ <div class="row" style="margin-top:5px;" v-show="authArr.includes('优惠权限') || hasDisCount">
113
113
  <div class="col-sm-4 form-group">
114
114
  <label class="font_normal_body">优惠方式</label>
115
115
  <v-select v-model="model.f_privilege_id" @blur.native.capture="privilegeCalculate"
@@ -318,7 +318,7 @@ let preamountGen = async function (self) {
318
318
  }
319
319
  self.model.f_preamount = (calFee - (self.dymoney - 0)).toFixed(self.row.f_fee_decimal || 4)
320
320
  self.calText(getGas.data.chargeprice)
321
- self.pricetext = getGas.data.chargeprice[0].pricetext ? getGas.data.chargeprice[0].pricetext:null
321
+ self.pricetext = getGas.data.chargeprice[0].pricetext ? getGas.data.chargeprice[0].pricetext : null
322
322
  }
323
323
 
324
324
  // 输入气量,换算金额
@@ -339,7 +339,7 @@ let pregasGen = async function (self) {
339
339
  if (self.config.floor) {
340
340
  self.model.f_collection = Math.ceil(self.model.f_collection)
341
341
  }
342
- self.pricetext = getAmount.data.chargeprice[0].pricetext?getAmount.data.chargeprice[0].pricetext:null
342
+ self.pricetext = getAmount.data.chargeprice[0].pricetext ? getAmount.data.chargeprice[0].pricetext : null
343
343
  self.calText(getAmount.data.chargeprice)
344
344
  }
345
345
  }
@@ -447,6 +447,7 @@ let asyncShowCardSellGas = async function (self) {
447
447
  let http = new HttpResetClass()
448
448
  let getLimit = await http.load('POST', 'api/af-revenue/logic/sale_getLimitGas', {data: limit_param}, {
449
449
  resolveMsg: null,
450
+ newly: true,
450
451
  rejectMsg: '获取限购值失败!!'
451
452
  })
452
453
  console.log('获取限购值', getLimit)
@@ -472,6 +473,21 @@ let asyncShowCardSellGas = async function (self) {
472
473
  }
473
474
  }
474
475
  }
476
+ // 获取优惠信息
477
+ if (self.config.newDiscount) {
478
+ let nowrite_param = {
479
+ f_userfiles_id: self.row.f_userfiles_id
480
+ }
481
+ let getDiscount = await self.$resetpost('api/af-revenue/logic/getDiscountInfo', {data: nowrite_param}, {
482
+ resolveMsg: null,
483
+ newly: true,
484
+ rejectMsg: '获取优惠信息失败!!'
485
+ })
486
+ if (getDiscount.data.leftDiscount > 0) {
487
+ self.disCountInfo = getDiscount.data
488
+ self.hasDisCount = true
489
+ }
490
+ }
475
491
  }
476
492
 
477
493
  export default {
@@ -480,12 +496,15 @@ export default {
480
496
  return {
481
497
  serialShow: false,
482
498
  pricetext: null,
499
+ hasDisCount: false,
500
+ disCountInfo: {},
483
501
  resid: [],
484
502
  config: {
485
503
  notShowFormula: false, // 不显示计算公式,默认显示
486
504
  calculatePreByCollection: false, // 可以更具收款来反向计算预购
487
505
  showupload: true, // 默认不显示上传附件
488
506
  hasPrint: false, // 默认打票
507
+ newDiscount: false,
489
508
  floor: true, // 是否取整收费
490
509
  hasBillManage: false, // 默认不启用发票管理
491
510
  billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
@@ -506,6 +525,7 @@ export default {
506
525
  f_meter_type: '',
507
526
  f_voucher_number: '',
508
527
  f_privilege_id: 0,
528
+ f_privilege_gas: 0,
509
529
  f_privilege_money: 0,
510
530
  f_after_discount: 0
511
531
  },
@@ -842,6 +862,23 @@ export default {
842
862
  }
843
863
  this.privilegeCalculate()
844
864
  }
865
+ if (this.hasDisCount) {
866
+ this.calDisCount()
867
+ }
868
+ },
869
+ async calDisCount () {
870
+ // 初始化减免金额
871
+ this.model.f_privilege_money = 0
872
+ this.model.f_after_discount = this.model.f_collection
873
+ let param = this.disCountInfo
874
+ param.f_collection = this.model.f_collection
875
+ param.f_pregas = this.model.f_pregas
876
+ let privilegeData = await this.$resetpost('api/af-revenue/logic/calculateDiscount', param, {resolveMsg: null, rejectMsg: '计算优惠金额出错'})
877
+ // 减免金额
878
+ this.model.f_privilege_money = privilegeData.data.f_privilege_money
879
+ this.model.f_privilege_gas = privilegeData.data.f_privilege_gas
880
+ // 减免后收款金额
881
+ this.model.f_after_discount = privilegeData.data.f_collection
845
882
  },
846
883
  // 优惠计算
847
884
  async privilegeCalculate () {
@@ -0,0 +1,310 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
5
+ <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch">
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="col-sm-3 form-group">
9
+ <label class="font_normal_body">用户姓名:</label>
10
+ <input type="text" class="input_search" v-model="model.f_user_name"
11
+ condition="f_user_name like '%{}%'" placeholder='请输入用户姓名'>
12
+ </div>
13
+ <div class="col-sm-3 form-group">
14
+ <label class="font_normal_body">用户标识:</label>
15
+ <input type="text" class="input_search" v-model="model.f_user_id"
16
+ condition="f_user_id like '%{}%'" placeholder='请输入用户标识'>
17
+ </div>
18
+ <div class="col-sm-3 form-group">
19
+ <label class="font_normal_body">用户地址:</label>
20
+ <input type="text" class="input_search" v-model="model.f_user_address"
21
+ condition="f_user_address like '%{}%'" placeholder='请输入用户地址'>
22
+ </div>
23
+ <div class="col-sm-3 form-group">
24
+ <label class="font_normal_body">回复人:</label>
25
+ <input type="text" class="input_search" v-model="model.f_attendant"
26
+ condition="f_attendant like '%{}%'" placeholder='请输入回复人'>
27
+ </div>
28
+ </div>
29
+ <div class="row">
30
+ <div class="col-sm-3 form-group">
31
+ <label class="font_normal_body">转人工时间:</label>
32
+ <div style="display: flex; align-items: center;">
33
+ <datepicker placeholder="开始日期"
34
+ style="width: 100px; margin-right: 5px;"
35
+ v-model="model.startDate"
36
+ :value.sync="model.startDate"
37
+ :format="'yyyy-MM-dd'"></datepicker>
38
+ <span style="margin: 0 5px;">~</span>
39
+ <datepicker placeholder="结束日期"
40
+ style="width: 100px;"
41
+ v-model="model.endDate"
42
+ :value.sync="model.endDate"
43
+ :format="'yyyy-MM-dd'"></datepicker>
44
+ </div>
45
+ </div>
46
+ <div class="col-sm-3 form-group">
47
+ <label class="font_normal_body">人工回复时间:</label>
48
+ <div style="display: flex; align-items: center;">
49
+ <datepicker placeholder="开始日期"
50
+ style="width: 100px; margin-right: 5px;"
51
+ v-model="model.startMsgDate"
52
+ :value.sync="model.startMsgDate"
53
+ :format="'yyyy-MM-dd'"></datepicker>
54
+ <span style="margin: 0 5px;">~</span>
55
+ <datepicker placeholder="结束日期"
56
+ style="width: 100px;"
57
+ v-model="model.endMsgDate"
58
+ :value.sync="model.endMsgDate"
59
+ :format="'yyyy-MM-dd'"></datepicker>
60
+ </div>
61
+ </div>
62
+ <div class="col-sm-6 form-group" style="text-align: right;">
63
+ <button class="button_search button_spacing" @click="search()">查询</button>
64
+ <button class="button_clear button_spacing" @click="clear()">重置</button>
65
+ <export-excel
66
+ :data="getCondition"
67
+ :field="getfield"
68
+ sqlurl="rs/logic/userExport"
69
+ sql-name="userQuery"
70
+ template-name='用户导出'
71
+ :choose-col="true">
72
+ </export-excel>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </criteria>
77
+
78
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
79
+ <template partial='head'>
80
+ <tr>
81
+ <th><input type='checkbox' v-model="allSelect" @change="selectAll"></th>
82
+ <th>序号</th>
83
+ <th>
84
+ <nobr>
85
+ <data-order field="f_user_name" name="用户姓名"
86
+ :order.sync="orderFields.f_user_name"></data-order>
87
+ </nobr>
88
+ </th>
89
+ <th>
90
+ <nobr>
91
+ <data-order field="f_user_id" name="用户标识"
92
+ :order.sync="orderFields.f_user_id"></data-order>
93
+ </nobr>
94
+ </th>
95
+ <th>
96
+ <nobr>
97
+ <data-order field="f_user_address" name="用户地址"
98
+ :order.sync="orderFields.f_user_address"></data-order>
99
+ </nobr>
100
+ </th>
101
+ <th>
102
+ <nobr>
103
+ <data-order field="f_ivr_time" name="转人工时间"
104
+ :order.sync="orderFields.f_ivr_time"></data-order>
105
+ </nobr>
106
+ </th>
107
+ <th>
108
+ <nobr>
109
+ <data-order field="f_msg_time" name="人工回复时间"
110
+ :order.sync="orderFields.f_msg_time"></data-order>
111
+ </nobr>
112
+ </th>
113
+ <th>
114
+ <nobr>
115
+ <data-order field="f_attendant" name="回复人"
116
+ :order.sync="orderFields.f_attendant"></data-order>
117
+ </nobr>
118
+ </th>
119
+ <th>
120
+ <nobr>
121
+ <data-order field="f_rate" name="评价等级"
122
+ :order.sync="orderFields.f_rate"></data-order>
123
+ </nobr>
124
+ </th>
125
+ </tr>
126
+ </template>
127
+
128
+ <template partial='body' scope="row">
129
+ <tr>
130
+ <td><input type='checkbox' @change="selectRow($event, row)" :checked="row.selected"></td>
131
+ <td>{{ $index + 1 }}</td>
132
+ <td>{{ row.f_user_name }}</td>
133
+ <td>{{ row.f_user_id }}</td>
134
+ <td>{{ row.f_user_address }}</td>
135
+ <td>{{ row.f_ivr_time }}</td>
136
+ <td>{{ row.f_msg_time }}</td>
137
+ <td>{{ row.f_attendant }}</td>
138
+ <td>{{ row.f_rate }}</td>
139
+ </tr>
140
+ </template>
141
+ </data-grid>
142
+ </criteria-paged>
143
+ </div>
144
+ </div>
145
+ </template>
146
+
147
+ <script>
148
+ import { PagedList } from 'vue-client'
149
+
150
+ export default {
151
+ data() {
152
+ return {
153
+ model: new PagedList('rs/sql/saleSingleTable', 20, {
154
+ tablename: 't_text_log'
155
+ }, {
156
+ f_user_name: '',
157
+ f_user_id: '',
158
+ f_user_address: '',
159
+ f_ivr_time: '',
160
+ f_msg_time: '',
161
+ f_attendant: '',
162
+ f_rate: ''
163
+ }),
164
+ allSelect: false,
165
+ orderFields: {
166
+ f_user_name: 'no',
167
+ f_user_id: 'no',
168
+ f_user_address: 'no',
169
+ f_ivr_time: 'no',
170
+ f_msg_time: 'no',
171
+ f_attendant: 'no',
172
+ f_rate: 'no'
173
+ },
174
+ getfield: {
175
+ 'f_user_name': '用户姓名',
176
+ 'f_user_id': '用户标识',
177
+ 'f_user_address': '用户地址',
178
+ 'f_ivr_time': '转人工时间',
179
+ 'f_msg_time': '人工回复时间',
180
+ 'f_attendant': '回复人',
181
+ 'f_rate': '评价等级'
182
+ }
183
+ }
184
+ },
185
+ methods: {
186
+ search() {
187
+ this.$refs.paged.$refs.criteria.search()
188
+ },
189
+ clear() {
190
+ Object.keys(this.model).forEach(key => {
191
+ if (key !== 'items' && key !== 'tablename') {
192
+ this.model[key] = ''
193
+ }
194
+ })
195
+ this.$refs.paged.$refs.criteria.model.f_user_name = ''
196
+ this.$refs.paged.$refs.criteria.model.f_user_id = ''
197
+ this.$refs.paged.$refs.criteria.model.f_user_address = ''
198
+ this.$refs.paged.$refs.criteria.model.f_attendant = ''
199
+ this.startDate = ''
200
+ this.endDate = ''
201
+ this.startMsgDate = ''
202
+ this.endMsgDate = ''
203
+ this.$refs.paged.$refs.criteria.search()
204
+ },
205
+ selectAll(event) {
206
+ this.model.rows.forEach(row => {
207
+ row.selected = event.target.checked
208
+ })
209
+ },
210
+ selectRow(event, row) {
211
+ row.selected = event.target.checked
212
+ },
213
+ sort(field) {
214
+ this.orderFields[field] = this.orderFields[field] === 'asc' ? 'desc' : 'asc'
215
+ }
216
+ },
217
+ computed: {
218
+ getCondition() {
219
+ let condition = ''
220
+ if (this.model.f_user_name) {
221
+ condition += ` and f_user_name like '%${this.model.f_user_name}%'`
222
+ }
223
+ if (this.model.f_user_id) {
224
+ condition += ` and f_user_id like '%${this.model.f_user_id}%'`
225
+ }
226
+ if (this.model.f_user_address) {
227
+ condition += ` and f_user_address like '%${this.model.f_user_address}%'`
228
+ }
229
+ if (this.model.f_attendant) {
230
+ condition += ` and f_attendant like '%${this.model.f_attendant}%'`
231
+ }
232
+ if (this.startDate && this.endDate) {
233
+ condition += ` and f_ivr_time between '${this.startDate}' and '${this.endDate}'`
234
+ }
235
+ if (this.startMsgDate && this.endMsgDate) {
236
+ condition += ` and f_msg_time between '${this.startMsgDate}' and '${this.endMsgDate}'`
237
+ }
238
+ return condition
239
+ }
240
+ }
241
+ }
242
+ </script>
243
+
244
+ <style scoped>
245
+ .flex-row {
246
+ display: flex;
247
+ flex-direction: row;
248
+ }
249
+
250
+ .basic-main {
251
+ width: 100%;
252
+ }
253
+
254
+ .form-group {
255
+ margin-bottom: 15px;
256
+ }
257
+
258
+ .input_search {
259
+ width: 200px;
260
+ padding: 6px;
261
+ border: 1px solid #ccc;
262
+ border-radius: 4px;
263
+ }
264
+
265
+ .button_search {
266
+ background-color: #007bff;
267
+ color: white;
268
+ padding: 6px 12px;
269
+ border: none;
270
+ border-radius: 4px;
271
+ cursor: pointer;
272
+ }
273
+
274
+ .button_clear {
275
+ background-color: #6c757d;
276
+ color: white;
277
+ padding: 6px 12px;
278
+ border: none;
279
+ border-radius: 4px;
280
+ cursor: pointer;
281
+ }
282
+
283
+ .button_spacing {
284
+ margin-left: 10px;
285
+ }
286
+
287
+ .list_area {
288
+ width: 100%;
289
+ border-collapse: collapse;
290
+ margin-top: 10px;
291
+ }
292
+
293
+ .list_area th,
294
+ .list_area td {
295
+ padding: 8px;
296
+ text-align: left;
297
+ border-bottom: 1px solid #ddd;
298
+ }
299
+
300
+ .list_area th {
301
+ background-color: #f2f2f2;
302
+ position: sticky;
303
+ top: 0;
304
+ z-index: 1;
305
+ }
306
+
307
+ .list_area tr:hover {
308
+ background-color: #f5f5f5;
309
+ }
310
+ </style>
@@ -4,7 +4,14 @@
4
4
  <criteria @condition-changed='$parent.selfSearch' partial='criteria' v-ref:cri>
5
5
  <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
6
6
  <div class="row">
7
- <res-select-group :style="$parent.$parent.style" :show-component="['company','slicearea']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getorg" v-ref:sel></res-select-group>
7
+ <res-select-group :style="$parent.$parent.style" :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getorg" v-ref:sel></res-select-group>
8
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}"
9
+ v-if="!$parent.$parent.downshow&&!$parent.$parent.$parent.isdetail">
10
+ <label class="font_normal_body">地&emsp;&emsp;址</label>
11
+ <input :size="model.f_street ? model.f_address.length * 2 : 4" class="input_search" condition="f_street like '%{}%'" placeholder='区/县' style="width:60%"
12
+ type="text"
13
+ v-model="model.f_street">
14
+ </div>
8
15
  <div class="form-group" :class="{'col-sm-2':!$parent.$parent.$parent.isdetail, 'col-sm-3':$parent.$parent.$parent.isdetail}">
9
16
  <label class="font_normal_body">用户编号</label>
10
17
  <input class="input_search" condition="f_userinfo_code like '%{}%'" placeholder="用户编号" style="width:60%"
@@ -139,7 +146,7 @@
139
146
  <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>卡号</th>
140
147
  <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>电话</th>
141
148
  <th style="text-align: center;">地址</th>
142
- <th style="text-align: center;">片区</th>
149
+ <th style="text-align: center;">区/县</th>
143
150
  <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>安检日期</th>
144
151
  <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>限购日期</th>
145
152
  <th style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>操作人</th>
@@ -156,7 +163,7 @@
156
163
  <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_card_id}}</td>
157
164
  <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_user_phone}}</td>
158
165
  <td style="text-align: center;">{{row.f_address}}</td>
159
- <td style="text-align: center;">{{row.f_zones}}</td>
166
+ <td style="text-align: center;">{{row.f_street}}</td>
160
167
  <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_last_check_date}}</td>
161
168
  <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_parameter_value}}</td>
162
169
  <td style="text-align: center;" v-show='!$parent.$parent.$parent.$parent.isdetail'>{{row.f_operator}}</td>
@@ -207,8 +214,8 @@
207
214
  'f_last_check_date': '安检日期',
208
215
  'f_parameter_value': '限购日期',
209
216
  'f_comments': '限购原因',
210
- 'f_zones': '片区',
211
- 'f_user_type': '用户类型'
217
+ 'f_user_type': '用户类型',
218
+ 'f_street': '区/县'
212
219
  }
213
220
  }
214
221
  },
@@ -223,6 +230,7 @@
223
230
  ready () {
224
231
  this.getAuthority()
225
232
  this.search()
233
+ this.getAreaAddressList()
226
234
  },
227
235
  methods: {
228
236
  selected (row) {
@@ -235,6 +243,7 @@
235
243
  this.blackImport = '黑名单导入'
236
244
  }
237
245
  },
246
+
238
247
  async getRes (condition, obj) {
239
248
  console.log('condition =', condition)
240
249
  console.log('obj =', obj)
@@ -0,0 +1,219 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 98%">
3
+ <div class="flex">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.selfSearch'>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <!-- 用户姓名查询 -->
9
+ <div class="col-sm-2 form-group">
10
+ <label class="font_normal_body">用户姓名</label>
11
+ <input type="text" class="input_search"
12
+ style="width:60%"
13
+ v-model="model.f_user_name"
14
+ condition="f_user_name like '%{}%'"
15
+ placeholder="请输入用户姓名"/>
16
+ </div>
17
+
18
+ <!-- 用户标识查询 -->
19
+ <div class="col-sm-2 form-group">
20
+ <label class="font_normal_body">用户标识</label>
21
+ <input type="text" class="input_search"
22
+ style="width:60%"
23
+ v-model="model.f_user_id"
24
+ condition="f_user_id like '%{}%'"
25
+ placeholder="请输入用户标识"/>
26
+ </div>
27
+
28
+ <!-- 回复人查询 -->
29
+ <div class="col-sm-2 form-group">
30
+ <label class="font_normal_body">回复人</label>
31
+ <input type="text" class="input_search"
32
+ style="width:60%"
33
+ v-model="model.f_attendant"
34
+ condition="f_attendant like '%{}%'"
35
+ placeholder="请输入回复人"/>
36
+ </div>
37
+
38
+ <!-- 查询按钮 -->
39
+ <div class="span col-sm-2 form-group button-range" style="float: right">
40
+ <button class="button_search button_spacing" @click="search()" v-el:cx>查询</button>
41
+ <button class="button_clear button_spacing" @click="clear">清空</button>
42
+ <div style="float: right" class="button_spacing"
43
+ :class="{'button_shrink_top': criteriaShow,'button_shrink_bottom': !criteriaShow}"
44
+ @click="criteriaShow = !criteriaShow"></div>
45
+ </div>
46
+ </div>
47
+
48
+ <!-- 扩展查询条件 -->
49
+ <div class="row" v-show="criteriaShow">
50
+ <!-- 转人工时间范围 -->
51
+ <div class="col-sm-3 form-group">
52
+ <label class="font_normal_body">转人工起始时间</label>
53
+ <datepicker placeholder='转人工起始时间' style="width:60%"
54
+ v-model="model.ivrStartDate"
55
+ :value.sync="model.ivrStartDate"
56
+ :format="'yyyy-MM-dd HH:mm:ss'"
57
+ :show-reset-button="true"
58
+ condition="f_ivr_time >= '{}'">
59
+ </datepicker>
60
+ </div>
61
+ <div class="col-sm-3 form-group">
62
+ <label class="font_normal_body">转人工结束时间</label>
63
+ <datepicker placeholder='转人工结束时间' style="width:60%"
64
+ v-model="model.ivrEndDate"
65
+ :value.sync="model.ivrEndDate"
66
+ :format="'yyyy-MM-dd HH:mm:ss'"
67
+ :show-reset-button="true"
68
+ condition="f_ivr_time <= '{}'">
69
+ </datepicker>
70
+ </div>
71
+
72
+ <!-- 人工回复时间范围 -->
73
+ <div class="col-sm-3 form-group">
74
+ <label class="font_normal_body">回复起始时间</label>
75
+ <datepicker placeholder='回复起始时间' style="width:60%"
76
+ v-model="model.msgStartDate"
77
+ :value.sync="model.msgStartDate"
78
+ :format="'yyyy-MM-dd HH:mm:ss'"
79
+ :show-reset-button="true"
80
+ condition="f_msg_time >= '{}'">
81
+ </datepicker>
82
+ </div>
83
+ <div class="col-sm-3 form-group">
84
+ <label class="font_normal_body">回复结束时间</label>
85
+ <datepicker placeholder='回复结束时间' style="width:60%"
86
+ v-model="model.msgEndDate"
87
+ :value.sync="model.msgEndDate"
88
+ :format="'yyyy-MM-dd HH:mm:ss'"
89
+ :show-reset-button="true"
90
+ condition="f_msg_time <= '{}'">
91
+ </datepicker>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </criteria>
96
+
97
+ <!-- 数据表格 -->
98
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
99
+ <template partial='head'>
100
+ <tr>
101
+ <th>序号</th>
102
+ <th>用户姓名</th>
103
+ <th>用户标识</th>
104
+ <th>转人工时间</th>
105
+ <th>人工回复时间</th>
106
+ <th>回复人</th>
107
+ <th>评价等级</th>
108
+ </tr>
109
+ </template>
110
+ <template partial='body'>
111
+ <tr>
112
+ <td style="text-align:center">{{$index+1}}</td>
113
+ <td style="text-align:center">{{row.f_user_name}}</td>
114
+ <td style="text-align:center">{{row.f_user_id}}</td>
115
+ <td style="text-align:center">{{row.f_ivr_time}}</td>
116
+ <td style="text-align:center">{{row.f_msg_time}}</td>
117
+ <td style="text-align:center">{{row.f_attendant}}</td>
118
+ <td style="text-align:center">{{row.f_rate}}</td>
119
+ </tr>
120
+ </template>
121
+ </data-grid>
122
+ </criteria-paged>
123
+ </div>
124
+ </div>
125
+ </template>
126
+
127
+ <script>
128
+ import { PagedList } from 'vue-client'
129
+
130
+ export default {
131
+ title: '转人工管理',
132
+ data() {
133
+ return {
134
+ model: new PagedList('rs/sql/saleSingleTable', 20, {
135
+ tablename: '`t_text_log`',
136
+ items: '`*`'
137
+ }),
138
+ criteriaShow: false,
139
+ condition2: '',
140
+ rateOptions: [
141
+ {label: '全部', value: ''},
142
+ {label: '1星', value: 1},
143
+ {label: '2星', value: 2},
144
+ {label: '3星', value: 3},
145
+ {label: '4星', value: 4},
146
+ {label: '5星', value: 5}
147
+ ]
148
+ }
149
+ },
150
+ ready() {
151
+ this.search()
152
+ },
153
+ methods: {
154
+ search() {
155
+ this.selfSearch({condition: '1=1', model: this.model})
156
+ },
157
+
158
+ clear() {
159
+ // 清空所有查询条件
160
+ this.model.f_user_name = ''
161
+ this.model.f_user_id = ''
162
+ this.model.f_attendant = ''
163
+ this.model.f_rate = ''
164
+ this.model.ivrStartDate = ''
165
+ this.model.ivrEndDate = ''
166
+ this.model.msgStartDate = ''
167
+ this.model.msgEndDate = ''
168
+
169
+ // 清空后自动查询
170
+ this.search()
171
+ },
172
+
173
+ selfSearch(args) {
174
+ let condition = args.condition || '1=1'
175
+
176
+ // 用户姓名条件
177
+ if (this.model.f_user_name) {
178
+ condition += ` and f_user_name like '%${this.model.f_user_name}%'`
179
+ }
180
+
181
+ // 用户标识条件
182
+ if (this.model.f_user_id) {
183
+ condition += ` and f_user_id like '%${this.model.f_user_id}%'`
184
+ }
185
+
186
+ // 回复人条件
187
+ if (this.model.f_attendant) {
188
+ condition += ` and f_attendant like '%${this.model.f_attendant}%'`
189
+ }
190
+
191
+
192
+ // 转人工时间范围条件 - 使用 SQL Server 兼容的格式
193
+ if (this.model.ivrStartDate && this.model.ivrEndDate) {
194
+ condition += ` and f_ivr_time between '${this.model.ivrStartDate}' and '${this.model.ivrEndDate}'`
195
+ } else if (this.model.ivrStartDate) {
196
+ condition += ` and f_ivr_time >= '${this.model.ivrStartDate}'`
197
+ } else if (this.model.ivrEndDate) {
198
+ condition += ` and f_ivr_time <= '${this.model.ivrEndDate}'`
199
+ }
200
+
201
+ // 人工回复时间范围条件 - 使用 SQL Server 兼容的格式
202
+ if (this.model.msgStartDate && this.model.msgEndDate) {
203
+ condition += ` and f_msg_time between '${this.model.msgStartDate}' and '${this.model.msgEndDate}'`
204
+ } else if (this.model.msgStartDate) {
205
+ condition += ` and f_msg_time >= '${this.model.msgStartDate}'`
206
+ } else if (this.model.msgEndDate) {
207
+ condition += ` and f_msg_time <= '${this.model.msgEndDate}'`
208
+ }
209
+
210
+ console.log('转人工管理查询条件:', condition)
211
+ this.condition2 = condition
212
+ this.model.search(condition, args.model)
213
+ }
214
+ }
215
+ }
216
+ </script>
217
+
218
+ <style lang="less" scoped>
219
+ </style>
package/src/main.js CHANGED
@@ -2,7 +2,7 @@ import Vue from 'vue'
2
2
  import all from 'vue-client/src/all'
3
3
  import App from './App'
4
4
  import system from 'system-clients/src/system'
5
- import FilialeSale from './filiale/HuaiLai/sale'
5
+ import FilialeSale from './filiale/dexin/sale'
6
6
  import sale from './sale'
7
7
  import address from 'address-client/src/address'
8
8
  import ldap from 'ldap-clients/src/ldap'
@@ -455,6 +455,7 @@ let CardService = {
455
455
  // 无卡收费
456
456
  noCardSellGas (model, row) {
457
457
  let f_serial_number = ''
458
+ let f_privilege_gas = 0
458
459
  if (model.f_serial_number) {
459
460
  f_serial_number = model.f_serial_number
460
461
  }
@@ -462,6 +463,9 @@ let CardService = {
462
463
  if (model.f_write_card) {
463
464
  f_write_card = model.f_write_card
464
465
  }
466
+ if (model.f_privilege_gas) {
467
+ f_privilege_gas = model.f_privilege_gas
468
+ }
465
469
  let param = {
466
470
  f_userinfo_id: row.f_userinfo_id,
467
471
  f_serial_number: f_serial_number,
@@ -470,6 +474,10 @@ let CardService = {
470
474
  f_pregas: model.f_pregas,
471
475
  f_write_money: model.f_write_money,
472
476
  f_balance: row.f_balance,
477
+ // 优惠金额
478
+ f_privilege_money: model.f_privilege_money,
479
+ f_privilege_gas: f_privilege_gas,
480
+ f_after_discount: model.f_after_discount,
473
481
  f_preamount: model.f_preamount,
474
482
  f_total_gas: (row.f_total_gas - 0) + (model.f_pregas - 0),
475
483
  f_write_totalgas: (row.f_write_totalgas - 0) + (model.f_pregas - 0),