sale-client 3.6.172 → 3.6.173

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.172",
3
+ "version": "3.6.173",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -71,7 +71,7 @@
71
71
  <a @click.stop="$parent.$parent.$parent.operate('票据明细', row)" href="#">票据明细打印</a>
72
72
  </li>
73
73
  <li
74
- v-if="(row.type === '批量收费'||row.type === '团体收费' || row.type === '迁表' || row.type === '拆表' || row.type === '物联网开户' || row.type === '物联网收费' || row.type === '其他收费'|| row.type === '气费减免'||row.type === '维修收费' || row.type === '过户' || row.type === '换新表' || row.type === '气表清零' || row.type === '机表收费' || row.type === '超用收费' || row.type === '其他收费' || row.type === '补卡'|| row.type === '调价补费'|| row.type=='预存缴费' || row.type==='卡表赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='物联网赠气')||row.type==='气损收费'">
74
+ v-if="(row.type === '批量收费'||row.type === '团体调价补费' || row.type === '迁表' || row.type === '拆表' || row.type === '物联网开户' || row.type === '物联网收费' || row.type === '其他收费'|| row.type === '气费减免'||row.type === '维修收费' || row.type === '过户' || row.type === '换新表' || row.type === '气表清零' || row.type === '机表收费' || row.type === '超用收费' || row.type === '其他收费' || row.type === '补卡'|| row.type === '调价补费'|| row.type=='预存缴费' || row.type==='卡表赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='物联网赠气')||row.type==='气损收费'">
75
75
  <a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>
76
76
  </li>
77
77
  <li v-else>
@@ -133,7 +133,7 @@
133
133
  <advance-delivery-detail :data="row" v-if="row.type ==='卡表预交' "></advance-delivery-detail>
134
134
  <machinemetercenter-detail :data="row" v-if="row.type === '预存缴费'"></machinemetercenter-detail>
135
135
  <gasloss-detail :data="row" v-if="row.type === '气损收费'"></gasloss-detail>
136
- <batch-charge-detail :data="row" v-if="row.type === '批量收费' || row.type === '团体收费' || row.type === '团体退费' || row.type === '团体补费' || row.type === '团体扣费'"></batch-charge-detail>
136
+ <batch-charge-detail :data="row" v-if="row.type === '批量收费'|| row.type === '团体调价补费'|| row.type === '团体调价补费撤销' || row.type === '团体收费' || row.type === '团体退费' || row.type === '团体补费' || row.type === '团体扣费'"></batch-charge-detail>
137
137
  </div>
138
138
  <div style="margin-top: 8px;background: #FFF;" v-if="!$parent.$parent.$parent.isSelected(row)">
139
139
  <span>{{row.f_describe}}</span>
@@ -270,6 +270,8 @@
270
270
  name = 'gasLossCancel'
271
271
  } else if (type === '批量收费' || type === '团体收费') {
272
272
  name = 'batchPaymentCancel'
273
+ } else if (type === '团体调价补费') {
274
+ name = 'batchAddCancel'
273
275
  } else {
274
276
  return
275
277
  }
@@ -27,6 +27,7 @@
27
27
  v-model="model.f_user_phone">
28
28
  </div>
29
29
  <div class="form-group col-sm-3 button-range" style="padding-right: 10px">
30
+ <import-excel v-if="$parent.$parent.blackImport === '黑名单导入'" template-name="黑名单用户导入模板" logic-name="BlackListImport" import-json="blacklist.json"></import-excel>
30
31
  <button @click="$parent.$parent.search()" class="button_search button_spacing" style="width:80px;margin-left:30px;" v-el:cx>查询</button>
31
32
  <button @click="$parent.$parent.add()" class="button_export button_spacing" style="width: max-content;"
32
33
  v-el:cx>新增黑名单
@@ -170,6 +171,7 @@
170
171
  user: []
171
172
  },
172
173
  criteriaShow: false,
174
+ blackImport: '',
173
175
  model: new PagedList('rs/sql/sale_getBlackList', 20),
174
176
  // 公司下拉
175
177
  curorgid: [this.$login.f.orgid],
@@ -196,9 +198,15 @@
196
198
  ispartial: false
197
199
  },
198
200
  ready () {
201
+ this.getAuthority()
199
202
  this.search()
200
203
  },
201
204
  methods: {
205
+ getAuthority () {
206
+ if (this.$login.r.find(value => value == '黑名单导入')) {
207
+ this.blackImport = '黑名单导入'
208
+ }
209
+ },
202
210
  async getRes (condition, obj) {
203
211
  console.log('condition =', condition)
204
212
  console.log('obj =', obj)
@@ -0,0 +1,22 @@
1
+ <template>
2
+ <div class="auto">
3
+ <surplus-record-detail :row.sync="row" :civill.sync="civill"></surplus-record-detail>
4
+ <group-jb-compensation :row.sync="row" :civill="civill"></group-jb-compensation>
5
+ </div>
6
+ </template>
7
+ <script>
8
+ import GroupJbCompensation from './GroupJbCompensation'
9
+ import SurplusRecordDetail from './SurplusRecordDetail'
10
+
11
+ export default {
12
+ components: {GroupJbCompensation,SurplusRecordDetail},
13
+ title: '团缴调价补差',
14
+ data () {
15
+ return {
16
+ }
17
+ },
18
+ props: ['row', 'civill'],
19
+ ready () {
20
+ }
21
+ }
22
+ </script>
@@ -0,0 +1,368 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="span" style="overflow-y: auto;">
4
+ <validator name='v'>
5
+ <form novalidate class="form-horizontal">
6
+ <div class="row">
7
+ <div class="col-sm-4">
8
+ <label class=" font_normal_body">团体调价补差</label>
9
+ <v-select v-model="f_compensation_type"
10
+ placeholder='请选择'
11
+ :value-single="true"
12
+ :value.sync="model.f_compensation_type"
13
+ :options='compensationTypes'
14
+ close-on-select clear-button></v-select>
15
+ </div>
16
+ <div class="col-sm-4">
17
+ <label class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
18
+ <v-select v-model="f_payment"
19
+ placeholder='请选择'
20
+ :value.sync="model.f_payment"
21
+ :options='paytype'
22
+ close-on-select clear-button></v-select>
23
+ </div>
24
+ <div class="col-sm-4" :class="[$v.printstyle.required ? 'select-error' : '']">
25
+ <label for="f_print" class="font_normal_body">打印格式</label>
26
+ <input type="text" v-show="false" v-model="$refs.printstyle.selectedItems"
27
+ v-validate:printstyle='{required: true }'>
28
+ <v-select id="print"
29
+ v-model="f_print"
30
+ placeholder='请选择'
31
+ :multiple="mulPrint"
32
+ :value.sync="model.f_print"
33
+ :options='printstyle'
34
+ close-on-select clear-button v-ref:printstyle>
35
+ </v-select>
36
+ </div>
37
+ </div>
38
+ <div class="row" style="margin-top:6px;">
39
+ <div class="col-sm-8">
40
+ <label for="f_comments" class="font_normal_body">&nbsp;&nbsp;&nbsp;备注&nbsp;&nbsp;&nbsp;</label>
41
+ <input class="input_search" style="width:80%" v-model="model.f_comments" rows="1" placeholder="备注">
42
+ </div>
43
+ <div class="col-sm-4"
44
+ :class="[$v.f_preamount.required || $v.f_preamount.dctest ? 'has-error' : 'has-success']">
45
+ <label for="f_collection" class="font_normal_body"
46
+ v-if="model.f_compensation_type == '调价补费'">应补金额</label>
47
+ <label for="f_collection" class="font_normal_body" v-else>应退金额</label>
48
+ <input id="f_collection" class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
49
+ readonly
50
+ v-scale="[model.f_preamount, 4]"
51
+ v-validate:f_preamount='{required: true, dctest: [(model.f_preamount - 0), ">=" ] }'
52
+ placeholder="补费金额">
53
+ </div>
54
+
55
+ </div>
56
+ <div class="row" style="margin-top:6px;">
57
+ <div class="col-sm-4">
58
+ <label for="f_balance" class="font_normal_body">上期结余</label>
59
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_balance"
60
+ v-scale="[model.f_balance, 4]" placeholder="上期结余" disabled>
61
+ </div>
62
+
63
+ <div class="col-sm-4">
64
+ <label for="f_curbalance" class="font_normal_body">本期结余</label>
65
+ <input class="input_search" style="width:60%" type="number" v-model="curbalance"
66
+ v-scale="[curbalance, 2]" placeholder="本期结余" disabled>
67
+ </div>
68
+ <div class="col-sm-4"
69
+ :class="[$v.f_collection.required || $v.f_collection.dctest ? 'has-error' : 'has-success']">
70
+ <label for="f_collection" class=" font_normal_body">实际收款</label>
71
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
72
+ v-scale="[model.f_collection, 4]"
73
+ v-validate:f_preamount='{required: true, dctest: [(model.f_preamount - 0), ">=" ] }'
74
+ placeholder="实际收款">
75
+ </div>
76
+ <div class="row" style="margin-top:6px;">
77
+ <!--<div class="col-sm-4">-->
78
+ <!--<label for="f_change_price" class="font_normal_body">补差单价</label>-->
79
+ <!--<input class="input_search" style="width:60%" type="number" v-model="model.f_change_price"-->
80
+ <!--v-scale="[model.f_change_price, 4]" placeholder="补差单价" readonly>-->
81
+ <!--</div>-->
82
+ <div class="col-sm-4">
83
+ <label for="f_real_amount" class="font_normal_body">补差气量</label>
84
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_real_amount"
85
+ v-scale="[model.f_real_amount, 4]" placeholder="补差气量" readonly>
86
+ </div>
87
+ <div class="col-sm-4" :class="[$v.f_surplus_fee.required ? 'has-error' : 'has-success']">
88
+ <label for="f_surplus_fee" class="font_normal_body">补差金额</label>
89
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_surplus_fee"
90
+ v-scale="[model.f_surplus_fee, 4]" placeholder="补差金额"
91
+ v-validate:f_surplus_fee='{required: true}'>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </form>
96
+ <validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
97
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' :data='row' @toggle="close"
98
+ @printok="printok" v-ref:printbill></print-bill>
99
+ <div style="text-align:right; height: 25%">
100
+ <strong style="font-size: large"
101
+ v-if="!config.notShowFormula">计算公式:{{ calculatedetail ? calculatedetail : ' 暂无' }}</strong><br/>
102
+ <payment-code-button :clickable="!$v.valid || clickConfirm"
103
+ :payment.sync="model.f_payment" :payment-data="paytype"
104
+ @confirm-payment="confirm()">
105
+ </payment-code-button>
106
+ <button class="button_search btn-gn" type="submit" @click="confirm()" :disabled='!$v.valid || clickConfirm'>
107
+ 确认
108
+ </button>
109
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
110
+ </div>
111
+ </validator>
112
+ </div>
113
+ </div>
114
+ <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_collection"></payment-code>
115
+ <upload :blodid="blodid" v-if="config.showupload" isremark="true" fusetype="团体调价补差"></upload>
116
+ </template>
117
+ <script>
118
+ import {HttpResetClass} from 'vue-client'
119
+
120
+ /**
121
+ *综合业务
122
+ *团体调价补差收费组件
123
+ */
124
+
125
+ let compensationChargeGen = async function (self) {
126
+ try {
127
+ if (self.paymentModel.length === 0) {
128
+ self.paymentModel = [{
129
+ f_payment: self.model.f_payment[0],
130
+ f_money: self.model.f_preamount
131
+ }]
132
+ }
133
+ self.model.payments = self.paymentModel
134
+
135
+ let param = Object.assign({}, {}, self.model)
136
+ param.f_payment = self.model.f_payment.toString()
137
+ param.f_print = self.model.f_print.toString()
138
+ // 加入扫码盒付款码支付流水号
139
+ param.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
140
+ let res = await self.$resetpost('rs/logic/groupJBCompensation', {data: {model: param, row: self.row}}, {
141
+ warnMsg: `确定对客户${self.row.f_user_name}进行团体调价补差吗?`,
142
+ resolveMsg: '团体调价补差成功!!',
143
+ rejectMsg: '团体调价补差出错!!!'
144
+ })
145
+ // 开始打票
146
+ console.log('开始打票', self.config)
147
+ if (self.config.hasPrint) {
148
+ if (self.config.printType != '电子发票') {
149
+ if (self.config.hasBillManage) {
150
+ // 启用发票管理,获取票据管理中的票号并存储记录
151
+ self.row.id = res.data.id
152
+ self.row.f_bill_type = '团体调价补差'
153
+ self.row.f_bill_style = self.model.f_print[0]
154
+ self.print = true
155
+ } else {
156
+ self.row.id = res.data.id
157
+ self.print = true
158
+ }
159
+ } else if (self.config.printType === '国税发票') {
160
+ // TODO
161
+ } else if (self.config.printType === '电子发票') {
162
+ // TODO
163
+ }
164
+ } else {
165
+ self.$dispatch('success')
166
+ }
167
+ } catch (error) {
168
+ if (error.status === 301) {
169
+ self.$dispatch('refresh')
170
+ } else {
171
+ if (error) {
172
+ self.$showAlert(error, 'danger', 0)
173
+ }
174
+ }
175
+
176
+ self.$dispatch('refresh')
177
+ }
178
+ }
179
+ let asyncCardMeterCenter = async function (self) {
180
+ await self.$getConfig(self, 'JbCompensation')
181
+ console.log('卡表收费config', self.config)
182
+ self.blodid = self.row.f_userinfo_id
183
+ // 默认打印格式
184
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
185
+ self.model.f_payment = [self.config.payment]
186
+ self.mulPrint = self.config.printType instanceof Array
187
+ let http = new HttpResetClass()
188
+ let getSurplus = await http.load('POST', 'rs/sql/singleTable_OrderBy',
189
+ {
190
+ data: {
191
+ items: 'sum(f_real_amount) f_real_amount,sum(f_surplus_fee) f_surplus_fee',
192
+ tablename: 't_surplus_detail',
193
+ condition: `f_userinfo_id = any(select f_userinfo_id from t_userfiles where f_civill_id = '${self.civill}') and f_state='有效' and f_whether_pay = '否' `,
194
+ orderitem: 'f_surplus_fee'
195
+ }
196
+ },
197
+ {resolveMsg: null, rejectMsg: null})
198
+ if (getSurplus.data.length > 0) {
199
+ self.model.f_preamount = getSurplus.data[0].f_surplus_fee
200
+ self.model.f_collection = getSurplus.data[0].f_surplus_fee
201
+ self.model.f_surplus_fee = getSurplus.data[0].f_surplus_fee
202
+ self.model.f_real_amount = getSurplus.data[0].f_real_amount
203
+ // self.model.f_change_price=getSurplus.data[0].f_change_price
204
+ }
205
+ //self.model.f_price = getPrice.data[0].f_price
206
+ // 获取当前票号用
207
+ self.model.f_use_type = self.config.billType
208
+ self.model.f_bill_type = self.model.f_print
209
+ self.hasValidateBill = self.config.hasBillManage
210
+ }
211
+ export default {
212
+ title: '机表团体调价补差收费',
213
+ data () {
214
+ return {
215
+ config: {
216
+ notShowFormula: false, // 不显示计算公式,默认显示
217
+ // 控制附件显示
218
+ showupload: false,
219
+ hasPrint: false, // 默认打票
220
+ hasBillManage: false, // 默认不启用发票管理
221
+ billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
222
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
223
+ payment: '现金缴费'
224
+ },
225
+ model: {
226
+ f_compensation_type: '调价补费',
227
+ f_print: '',
228
+ f_balance: '',
229
+ f_preamount: '',
230
+ f_payment: '',
231
+ f_collection: '',
232
+ f_surplus_fee: '',
233
+ f_real_amount: ''
234
+ // f_change_price:''
235
+ },
236
+ blodid: '',
237
+ // 启用发票管理需要对票号进行验证
238
+ hasValidateBill: false,
239
+ validateOk: false,
240
+ print: false,
241
+ billData: {
242
+ url: 'rs/report/compensation_bill',
243
+ billnumber: ''
244
+ },
245
+ paymentModel: [],
246
+ mulPrint: false,
247
+ clickConfirm: false, // 控制确认按钮只能点击一次
248
+ // 下拉框值
249
+ paytype: this.$appdata.getParam('付款方式'),
250
+ printstyle: this.$appdata.getParam('打印格式'),
251
+ compensationTypes: [{label: '调价补费', value: '调价补费'}]
252
+ }
253
+ },
254
+ props: ['row', 'civill'],
255
+ ready () {
256
+ if (this.row) {
257
+ this.model.f_balance = this.row.f_balance
258
+ asyncCardMeterCenter(this)
259
+ }
260
+
261
+ },
262
+ watch: {
263
+ 'row' (val) {
264
+ if (val) {
265
+ this.model.f_balance = this.row.f_balance
266
+ asyncCardMeterCenter(this)
267
+ }
268
+
269
+ },
270
+ 'model.f_payment.length' (val) {
271
+ console.log('付款方式多选。。', val)
272
+ if (val > 1 && !this.model.f_preamount) {
273
+ this.model.f_payment = ['现金缴费']
274
+ this.$showAlert('请先计算付款金额', 'warning', 2000)
275
+ } else {
276
+ this.paymentModel = []
277
+
278
+ this.model.f_payment.forEach((res) => {
279
+ let temp = {
280
+ f_payment: res,
281
+ f_money: 0
282
+ }
283
+ this.paymentModel.push(temp)
284
+ })
285
+ this.$resetValidation()
286
+ }
287
+ }
288
+ },
289
+ methods: {
290
+ async confirm () {
291
+ this.clickConfirm = true
292
+ this.$dispatch('no-button')
293
+ this.model.f_userinfo_id = this.row.f_userinfo_id
294
+ this.model.f_userfiles_id = this.row.f_userfiles_id
295
+ this.model.version = this.row.version
296
+ this.model.f_surplus_id = this.row.f_surplus_id
297
+ this.model.f_user_id = this.row.f_user_id
298
+ this.model.f_total_fee = ((this.row.f_total_fee - 0) + (this.model.f_collection - 0)).toFixed(2)
299
+ this.model.f_total_usegas_amount = ((this.row.f_total_usegas_amount - 0) + (this.model.f_collection - 0)).toFixed(2)
300
+ this.model.f_total_gas = (this.row.f_total_gas - 0)
301
+ this.model.f_balance = this.row.f_balance - 0
302
+ this.model.f_curbalance = this.row.f_balance - 0
303
+ this.model.f_user_name = this.row.f_user_name
304
+ this.model.f_user_type = this.row.f_user_type
305
+ this.model.f_meter_type = this.row.f_meter_type
306
+ this.model.f_price_id = this.row.f_price_id
307
+ this.model.f_meter_brand = this.row.f_meter_brand
308
+ this.model.f_meter_style = this.row.f_meter_style
309
+ this.model.f_stairprice_id = this.row.f_stairprice_id
310
+ this.model.f_gasproperties = this.row.f_gasproperties
311
+ this.model.f_address = this.row.f_address
312
+ this.model.f_collection2 = (this.model.f_collection - 0) - (this.model.f_preamount - 0)
313
+ this.model.f_curbalance2 = this.curbalance
314
+ this.model.f_collection = (this.model.f_compensation_type == '调价补费' ? this.model.f_preamount : (0 - this.model.f_preamount))
315
+ this.model.f_times = this.row.f_times
316
+ this.model.f_type = this.model.f_compensation_type
317
+ this.model.f_state = '有效'
318
+ this.model.f_operat_type = this.model.f_compensation_type
319
+ this.model.f_describe = `${this.$login.f.name}对${this.row.f_user_name}进行${this.model.f_compensation_type}操作`
320
+ this.model.f_operator = this.$login.f.name
321
+ this.model.f_operatorid = this.$login.f.id
322
+ this.model.f_orgid = this.row.f_orgid
323
+ this.model.f_orgname = this.row.f_orgname
324
+ this.model.f_depid = this.$login.f.depids
325
+ this.model.f_depname = this.$login.f.deps
326
+ // 先调用付款码支付组件流程
327
+ let ss = await this.$refs.paymentcode.flowPath()
328
+ this.$refs.paymentcode.paymentCodeShow = false
329
+ console.log('付款码操作返回', ss)
330
+ if (!ss.result) return
331
+ compensationChargeGen(this)
332
+ },
333
+ clean () {
334
+ this.$info('取消操作')
335
+ this.$dispatch('refresh', this.row)
336
+ },
337
+ validateBill (val) {
338
+ this.validateOk = !val.isOk
339
+ this.billData.bill = val.bill
340
+ },
341
+ printok () {
342
+ // 收据打完,判断是否还有其他票据进行请求
343
+ for (let i = 0; i < this.model.f_print.length; i++) {
344
+ if (this.model.f_print[i] === '电子发票') {
345
+ this.$CommonService.openEticket(this.row.id, '售气收费')
346
+ }
347
+ }
348
+ this.$dispatch('success')
349
+ },
350
+ close () {
351
+ this.print = false
352
+ this.clean()
353
+ }
354
+ },
355
+ computed: {
356
+ 'curbalance' () {
357
+ if (this.model.f_collection) {
358
+ return ((this.row.f_balance - 0) + ((this.model.f_collection - 0) - (this.model.f_preamount - 0))).toFixed(2)
359
+ } else {
360
+ return this.row.f_balance
361
+ }
362
+ }
363
+ }
364
+ }
365
+ </script>
366
+
367
+ <style>
368
+ </style>
@@ -0,0 +1,184 @@
1
+ <template>
2
+ <div class="basic-main flex">
3
+ <div style="height: 400px;background:#E6E6FA;">
4
+ <data-grid :model="owe" class="table_sy" partial='list' v-ref:grid>
5
+ <template partial='head'>
6
+ <tr>
7
+ <th>
8
+ <nobr>序号</nobr>
9
+ </th>
10
+ <th>
11
+ <nobr>客户编号</nobr>
12
+ </th>
13
+ <th>
14
+ <nobr>客户姓名</nobr>
15
+ </th>
16
+ <th>
17
+ <nobr>气表类型</nobr>
18
+ </th>
19
+ <th>
20
+ <nobr>欠费期数</nobr>
21
+ </th>
22
+ <th>
23
+ <nobr>欠费区间</nobr>
24
+ </th>
25
+ <th>
26
+ <nobr>上期底数</nobr>
27
+ </th>
28
+ <th>
29
+ <nobr>本期底数</nobr>
30
+ </th>
31
+ <th>
32
+ <nobr>用气量</nobr>
33
+ </th>
34
+ <th>
35
+ <nobr>用气金额</nobr>
36
+ </th>
37
+ <th>
38
+ <nobr>已交金额</nobr>
39
+ </th>
40
+ <th>
41
+ <nobr>应交气费</nobr>
42
+ </th>
43
+ <th>
44
+ <nobr>违约金</nobr>
45
+ </th>
46
+ <th>
47
+ <nobr>合计欠费</nobr>
48
+ </th>
49
+ </tr>
50
+ </template>
51
+ <template partial='body'>
52
+ <tr>
53
+ <td style="text-align:center;white-space:nowrap;">{{ $index + 1 }}</td>
54
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_userinfo_code }}</td>
55
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_user_name }}</td>
56
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_meter_classify }}</td>
57
+ <td style="text-align:center;white-space:nowrap;">{{ row.c }}</td>
58
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_hand_date }}</td>
59
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_last_tablebase }}</td>
60
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_tablebase }}</td>
61
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_oughtamount }}</td>
62
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_oughtfee }}</td>
63
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_debt_money }}</td>
64
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_oughtfee_new }}</td>
65
+ <td style="text-align:center;white-space:nowrap;">{{ row.overdue }}</td>
66
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_oughtfee_all }}</td>
67
+ </tr>
68
+ </template>
69
+ </data-grid>
70
+ </div>
71
+ </div>
72
+ <div class="auto" style="margin-top: 1%;">
73
+ <div style="height: auto" class="select-overspread">
74
+ <div class="form-inline" style="height: auto">
75
+ <div class="form-group" v-for="btn in operBtns">
76
+ <button :id="btn.name" type="button" style="color:black"
77
+ :class="[($index === 0) ? 'btn btn-click' : 'btn btn-un-click']" @click="business(btn)">
78
+ <span style="color:black">{{ btn.name }}</span>
79
+ </button>
80
+ </div>
81
+ </div>
82
+ <div v-show="chargeShow" style="height: auto" class="select-overspread">
83
+ <route v-ref:route></route>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </template>
88
+
89
+ <script>
90
+ import {HttpResetClass} from 'vue-client'
91
+
92
+ export default {
93
+ title: '批量欠费查询',
94
+ data () {
95
+ return {
96
+ owe: {rows: []},
97
+ model: {f_collection: 0},
98
+ civill: null,
99
+ chargeShow: false,
100
+ operBtns: [
101
+ {name: '团体缴费', value: {routeName: 'batch-charge'}},
102
+ {name: '余额退款', value: {routeName: 'group-refund'}},
103
+ {name: '补费扣费', value: {routeName: 'group-fee-deduction'}},
104
+ {name: '制磁条卡', value: {routeName: 'show-citiao_card'}}
105
+ ]
106
+ }
107
+ },
108
+ props: ['searchdata', 'f_civill_id', 'row'],
109
+ ready () {
110
+ this.getsalerecord()
111
+ },
112
+ methods: {
113
+ async getsalerecord () {
114
+ let surplusdata = {
115
+ data: {
116
+ items: '*',
117
+ tablename: 't_surplus_detail',
118
+ condition: `f_userinfo_id = any(select f_userinfo_id from t_userfiles where f_civill_id = '${this.f_civill_id}') and f_state='有效' and f_whether_pay = '否'`,
119
+ orderitem: 'f_userinfo_id'
120
+ }
121
+ }
122
+ this.$resetpost('rs/sql/singleTable_OrderBy', surplusdata).then((res) => {
123
+ if (res.data.length === 0) {
124
+ this.operBtns = [
125
+ {name: '团体缴费', value: {routeName: 'batch-charge'}},
126
+ {name: '余额退款', value: {routeName: 'group-refund'}},
127
+ {name: '补费扣费', value: {routeName: 'group-fee-deduction'}},
128
+ {name: '制磁条卡', value: {routeName: 'show-citiao_card'}}
129
+ ]
130
+ this.getsale()
131
+ } else {
132
+ this.operBtns = [{name: '团体调价补差', value: {routeName: 'group-compensation'}}]
133
+ this.business(this.operBtns[0])
134
+ }
135
+ })
136
+ },
137
+ async getsale () {
138
+ let http = new HttpResetClass()
139
+ if (this.f_civill_id) {
140
+ this.condition = `p.f_civill_id = ${this.f_civill_id}`
141
+ } else {
142
+ let userfiles = Array.from(this.searchdata.keys())
143
+ this.condition = `p.f_userfiles_id in (${userfiles})`
144
+ }
145
+ let record = await http.load('POST', 'rs/logic/batchOwe', {
146
+ data: {
147
+ condition: this.condition,
148
+ f_civill_id: this.f_civill_id
149
+ }
150
+ }, {rejectMsg: '欠费查询出错!!', resolveMsg: null})
151
+ this.owe.rows = record.data.owe
152
+ this.model = Object.assign(this.model, record.data.model)
153
+ this.civill = record.data.civill
154
+ this.business(this.operBtns[0])
155
+ },
156
+ business (btn) {
157
+ // 处理按钮样式
158
+ this.styleChange(btn.name)
159
+ this.chargeShow = true
160
+ this.$refs.route.init(btn.value.routeName, {row: this.row, data: this.model, owe: this.owe, civill: this.f_civill_id})
161
+ },
162
+ styleChange (name) {
163
+ this.operBtns.forEach((res) => {
164
+ if (res.name === name) {
165
+ if (document.getElementById(res.name)) {
166
+ document.getElementById(res.name).style.backgroundColor = '#6aa6e2'
167
+ document.getElementById(res.name).style.color = 'white'
168
+ }
169
+ } else {
170
+ if (document.getElementById(res.name)) {
171
+ document.getElementById(res.name).style.backgroundColor = 'white'
172
+ document.getElementById(res.name).style.color = 'black'
173
+ }
174
+ }
175
+ })
176
+ }
177
+ },
178
+ watch: {
179
+ 'searchdata' () {
180
+ this.getsalerecord()
181
+ }
182
+ }
183
+ }
184
+ </script>
@@ -1,36 +1,58 @@
1
1
  <template>
2
2
  <div style="height:100%">
3
- <data-grid :model="model" class="table_sy" partial='list' v-ref:grid >
4
- <template partial='head' >
3
+ <data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
4
+ <template partial='head'>
5
5
  <tr>
6
- <th style="text-align: center"><nobr>序号</nobr></th>
7
- <th style="text-align: center"><nobr>一阶补差单价</nobr></th>
8
- <th style="text-align: center"><nobr>二阶补差单价</nobr></th>
9
- <th style="text-align: center"><nobr>三阶补差单价</nobr></th>
10
- <th style="text-align: center"><nobr>补差气量</nobr></th>
11
- <th style="text-align: center"><nobr>补差金额</nobr></th>
6
+ <th style="text-align: center">
7
+ <nobr>序号</nobr>
8
+ </th>
9
+ <th style="text-align: center">
10
+ <nobr>一阶补差单价</nobr>
11
+ </th>
12
+ <th style="text-align: center">
13
+ <nobr>二阶补差单价</nobr>
14
+ </th>
15
+ <th style="text-align: center">
16
+ <nobr>三阶补差单价</nobr>
17
+ </th>
18
+ <th style="text-align: center">
19
+ <nobr>补差气量</nobr>
20
+ </th>
21
+ <th style="text-align: center">
22
+ <nobr>补差金额</nobr>
23
+ </th>
12
24
 
13
- <th style="text-align: center"><nobr>补差开始时间</nobr></th>
14
- <th style="text-align: center"><nobr>补差结束日期</nobr></th>
15
- <th style="text-align: center"><nobr>缴费状态</nobr></th>
16
- <th style="text-align: center"><nobr>操作时间</nobr></th>
17
- <th style="text-align: center"><nobr>操作人</nobr></th>
25
+ <th style="text-align: center">
26
+ <nobr>补差开始时间</nobr>
27
+ </th>
28
+ <th style="text-align: center">
29
+ <nobr>补差结束日期</nobr>
30
+ </th>
31
+ <th style="text-align: center">
32
+ <nobr>缴费状态</nobr>
33
+ </th>
34
+ <th style="text-align: center">
35
+ <nobr>操作时间</nobr>
36
+ </th>
37
+ <th style="text-align: center">
38
+ <nobr>操作人</nobr>
39
+ </th>
18
40
  </tr>
19
41
  </template>
20
- <template partial='body' >
21
- <tr >
22
- <td style="text-align: center;">{{$index + 1}}</td>
23
- <td style="text-align: center;">{{row.f_change_price1}}</td>
24
- <td style="text-align: center;">{{row.f_change_price2}}</td>
25
- <td style="text-align: center;">{{row.f_change_price3}}</td>
26
- <td style="text-align: center;">{{row.f_real_amount}}</td>
27
- <td style="text-align: center;">{{row.f_surplus_fee}}</td>
42
+ <template partial='body'>
43
+ <tr>
44
+ <td style="text-align: center;">{{ $index + 1 }}</td>
45
+ <td style="text-align: center;">{{ row.f_change_price1 }}</td>
46
+ <td style="text-align: center;">{{ row.f_change_price2 }}</td>
47
+ <td style="text-align: center;">{{ row.f_change_price3 }}</td>
48
+ <td style="text-align: center;">{{ row.f_real_amount }}</td>
49
+ <td style="text-align: center;">{{ row.f_surplus_fee }}</td>
28
50
 
29
- <td style="text-align: center;">{{row.f_start_date}}</td>
30
- <td style="text-align: center;">{{row.f_end_date}}</td>
31
- <td style="text-align: center;">{{row.f_whether_pay}}</td>
32
- <td style="text-align: center;">{{row.f_operate_date}}</td>
33
- <td style="text-align: center;">{{row.f_operator}}</td>
51
+ <td style="text-align: center;">{{ row.f_start_date }}</td>
52
+ <td style="text-align: center;">{{ row.f_end_date }}</td>
53
+ <td style="text-align: center;">{{ row.f_whether_pay }}</td>
54
+ <td style="text-align: center;">{{ row.f_operate_date }}</td>
55
+ <td style="text-align: center;">{{ row.f_operator }}</td>
34
56
  </tr>
35
57
  </template>
36
58
  </data-grid>
@@ -44,7 +66,7 @@ let asyncReady = async function (self) {
44
66
  }
45
67
  export default {
46
68
  title: '调价补差记录',
47
- props: ['row'],
69
+ props: ['row', 'civill'],
48
70
  data () {
49
71
  return {
50
72
  model: {rows: []}
@@ -54,19 +76,45 @@ export default {
54
76
  asyncReady(this)
55
77
  },
56
78
  methods: {
57
- async refresh(){
58
- let http = new HttpResetClass()
59
- var suplusList = await http.load('POST', 'rs/sql/singleTable_OrderBy',
60
- {data: {items: "*",
61
- tablename: 't_surplus_detail',
62
- condition: `f_userinfo_id = '${this.row.f_userinfo_id}' and f_state='有效' and f_whether_pay = ''`,
63
- orderitem: 'f_userinfo_id'}},
64
- {resolveMsg: null, rejectMsg: null})
65
- this.model.rows = suplusList.data
79
+ async refresh () {
80
+ console.log('团缴id' + this.civill)
81
+ if (!this.civill) {
82
+ if (this.row && this.row.f_userinfo_id) {
83
+ let http = new HttpResetClass()
84
+ var suplusList = await http.load('POST', 'rs/sql/singleTable_OrderBy',
85
+ {
86
+ data: {
87
+ items: '*',
88
+ tablename: 't_surplus_detail',
89
+ condition: `f_userinfo_id = '${this.row.f_userinfo_id}' and f_state='有效' and f_whether_pay = '否'`,
90
+ orderitem: 'f_userinfo_id'
91
+ }
92
+ },
93
+ {resolveMsg: null, rejectMsg: null})
94
+ this.model.rows = suplusList.data
95
+ }
96
+ } else {
97
+ let http = new HttpResetClass()
98
+ var suplusList1 = await http.load('POST', 'rs/sql/singleTable_OrderBy',
99
+ {
100
+ data: {
101
+ items: '*',
102
+ tablename: 't_surplus_detail',
103
+ condition: `f_userinfo_id = any(select f_userinfo_id from t_userfiles where f_civill_id = '${this.civill}') and f_state='有效' and f_whether_pay = '否'`,
104
+ orderitem: 'f_userinfo_id'
105
+ }
106
+ },
107
+ {resolveMsg: null, rejectMsg: null})
108
+ this.model.rows = suplusList1.data
109
+
110
+ }
66
111
  }
67
112
  },
68
113
  watch: {
69
- 'row.f_userfiles_id'(){
114
+ 'row.f_userfiles_id' () {
115
+ this.refresh()
116
+ },
117
+ 'civill' () {
70
118
  this.refresh()
71
119
  }
72
120
  }
@@ -104,9 +104,13 @@ export default function () {
104
104
  require(['./ChargeGroupList'], resolve) })
105
105
  // 调价补差
106
106
  Vue.component('compensation-manage', (resolve) => { require(['./PriceChangeCompensation/CompensationManage'], resolve) })
107
+ // 团体缴费查询列表
108
+ Vue.component('group-compensation', (resolve) => {
109
+ require(['./PriceChangeCompensation/GroupCompensation'], resolve) })
107
110
  // 调价补差(新)
108
111
  Vue.component('new-price-adjustment', (resolve) => { require(['./NewPriceAdjustment'], resolve) })
109
112
  Vue.component('new-price-adjustment-sell', (resolve) => { require(['./NewPriceAdjustmentSell'], resolve) })
110
113
  Vue.component('new-price-adjustment-webmeter', (resolve) => { require(['./NewPriceAdjustmentWebmeter'], resolve) })
111
114
  Vue.component('new-price-adjustment-manage', (resolve) => { require(['./PriceAdjustmentManage'], resolve) })
115
+ Vue.component('owe-record-query', (resolve) => { require(['./PriceChangeCompensation/OweRecordQuery'], resolve) })
112
116
  }