sale-client 3.6.531 → 3.6.533

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.531",
3
+ "version": "3.6.533",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -0,0 +1,378 @@
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' @condition-changed='$parent.selfSearch' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div
9
+ :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
10
+ class="form-group">
11
+ <label class="font_normal_body">组织机构</label>
12
+ <res-select :initresid='$parent.$parent.curorgid'
13
+ @res-select="$parent.$parent.getorg"
14
+ class="select select_list"
15
+ restype='organization'
16
+ style="width: 60%">
17
+ </res-select>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label for="f_bank_name" class="font_normal_body">银行名称:</label>
21
+ <v-select id="f_bank_name"
22
+ v-model="model.f_bank_name"
23
+ placeholder='银行名称'
24
+ condition="(s.f_bank_name= '{}' or s.bankname='{}') "
25
+ :value.sync="model.f_bank_name"
26
+ :options='$parent.$parent.bankname'
27
+ close-on-select ></v-select>
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label for="msg" class="font_normal_body" title="对账信息">对账信息:</label>
31
+ <v-select id="msg"
32
+ v-model="model.msg"
33
+ placeholder='对账信息'
34
+ condition="msg = '{}' "
35
+ :value.sync="model.msg"
36
+ :options='$parent.$parent.msg'
37
+ close-on-select ></v-select>
38
+ </div>
39
+ <div class="col-sm-2 form-group">
40
+ <label for="startDate" class="font_normal_body">开始日期:</label>
41
+ <datepicker id="startDate" placeholder="开始日期"
42
+ v-model="model.startDate" style="width: 55%"
43
+ :value.sync="model.startDate"
44
+ condition="(f_trade_date >= '{} 00:00:00' or f_operate_date >= '{} 00:00:00')"
45
+ :disabled-days-of-Week="[]"
46
+ :format="'yyyy-MM-dd'"
47
+ :show-reset-button="reset">
48
+ </datepicker>
49
+ </div>
50
+ <div class="col-sm-2 form-group">
51
+ <label for="endDate" class="font_normal_body"> 结束日期:</label>
52
+ <datepicker id="endDate" placeholder="结束日期"
53
+ v-model="model.endDate" style="width: 55%"
54
+ :value.sync="model.endDate"
55
+ condition="(f_trade_date < '{} 23:59:59' or f_operate_date < '{} 23:59:59' )"
56
+ :disabled-days-of-Week="[]"
57
+ :format="'yyyy-MM-dd'"
58
+ :show-reset-button="reset">
59
+ </datepicker>
60
+
61
+ </div>
62
+ <div class="form-group button-range" style="float: right">
63
+ <button class="button_search button_spacing width-60" @click="search()" v-el:cx>查询</button>
64
+ <!-- <export-excel :data="{orderitem: 'msg_id,f_delivery_date DESC',condition: condition,startDate: this.model.startDate,endDate: this.model.endDate,bankname: this.model.f_bank_name[0]}"-->
65
+ <!-- bean="银行对账查询导出" sqlurl="rs/logic/exportfile"></export-excel>-->
66
+ <export-excel :data="$parent.$parent.getCondition" sql-name="bankPayment"
67
+ template-name="银行对账查询导出" sqlurl="rs/logic/saleExport"
68
+ :field="$parent.$parent.getfield" :choose-col="true"></export-excel>
69
+ <div style="float: right" class="button_spacing"
70
+ :class="{'button_shrink_top': $parent.$parent.criteriaShow,'button_shrink_bottom': !$parent.$parent.criteriaShow}"
71
+ @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></div>
72
+ </div>
73
+ </div>
74
+ <div class="row" v-show="$parent.$parent.criteriaShow">
75
+
76
+ <div class="col-sm-2 form-group">
77
+ <label class="font_normal_body">用户编号:</label>
78
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
79
+ condition="f_userinfo_code = '{}'" placeholder='用户编号'>
80
+ </div>
81
+ <div class="col-sm-2 form-group">
82
+ <label class="font_normal_body">&emsp;订单号:</label>
83
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_serial_id"
84
+ condition="(f_serial_id = '{}' or f_trade_number = '{}')" placeholder='订单号'>
85
+ </div>
86
+
87
+ </div>
88
+ </div>
89
+ </criteria>
90
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
91
+ <template partial='head'>
92
+ <tr>
93
+ <th>序号</th>
94
+ <th>用户编号</th>
95
+ <th>用户姓名</th>
96
+ <th>气表类型</th>
97
+ <th>银行名称</th>
98
+ <th>燃气方订单号</th>
99
+ <th>银行方订单号</th>
100
+ <th>燃气方金额</th>
101
+ <th>银行金额</th>
102
+ <th>燃气方日期</th>
103
+ <th>银行日期</th>
104
+ <th>燃气方记录是否有效</th>
105
+ <th>对账信息</th>
106
+ <th>操作</th>
107
+ </tr>
108
+ </template>
109
+ <template partial='body'>
110
+ <td style="text-align: center;">{{$index+1}}</td>
111
+ <td>{{row.f_userinfo_code}}</td>
112
+ <td>{{row.f_user_name}}</td>
113
+ <td>{{row.f_meter_classify}}</td>
114
+ <th>{{row.f_bank_name?row.f_bank_name:row.bankname}}</th>
115
+ <td>{{row.f_serial_id}}</td>
116
+ <td>{{row.f_trade_number}}</td>
117
+ <td>{{row.f_collection}}</td>
118
+ <td>{{row.f_total_charge}}</td>
119
+ <td>{{row.f_operate_date}}</td>
120
+ <td>{{row.f_trade_date}}</td>
121
+ <td>{{row.f_state}}</td>
122
+ <td>{{row.msg}}</td>
123
+ <td>
124
+ <button type="button" name="button" class="button_search button_spacing width-60" @click="$parent.$parent.$parent.chargecal(row)"
125
+ v-if="row.msg === '燃气方单方面账单' && row.maxid !== '' && row.maxid!== null">冲正</button>
126
+ <!-- <button type="button" name="button" class="button_search button_spacing width-60" @click="$parent.$parent.$parent.charge(row)"-->
127
+ <!-- v-if="row.msg === '银行方单方面账单'&& row.f_userinfo_id !=='' && row.f_userinfo_id !==null" >缴费</button>-->
128
+ <button type="button" name="button" class="button_search button_spacing width-60" @click="$parent.$parent.$parent.charge(row)"
129
+ v-if="row.msg === '银行方单方面账单'" >缴费</button>
130
+ <!-- <span v-if="row.f_type !== 1 && row.msg !== '对账成功' && row.msg !== '燃气方单方面账单'">需人工处理</span>-->
131
+ <span v-if="row.msg === '对账成功'">正常</span>
132
+ </td>
133
+ </template>
134
+ <!--<template partial='foot'>-->
135
+ <!--<td style="text-align: center;">合计</td>-->
136
+ <!--<td style="text-align: center;"></td>-->
137
+ <!--<td style="text-align: center;"></td>-->
138
+ <!--<td style="text-align: center;"></td>-->
139
+ <!--<td style="text-align: center;"></td>-->
140
+ <!--<td style="text-align: center;">{{model.sums.f_collection.toFixed(2)}}</td>-->
141
+ <!--<td style="text-align: center;">{{model.sums.f_total_charge.toFixed(2)}}</td>-->
142
+ <!--<td style="text-align: center;"></td>-->
143
+ <!--<td style="text-align: center;"></td>-->
144
+ <!--<td style="text-align: center;"></td>-->
145
+ <!--<td style="text-align: center;"></td>-->
146
+ <!--<td style="text-align: center;"></td>-->
147
+ <!--</template>-->
148
+ </data-grid>
149
+ </criteria-paged>
150
+ <table class="table-hover">
151
+ <tr style="position: relative" class="table-bordered">
152
+ <td
153
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
154
+ 汇总信息
155
+ </td>
156
+ <td
157
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
158
+ 燃气方金额汇总:&emsp;{{model.sums.f_collection.toFixed(2)}}
159
+ </td>
160
+ <td
161
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
162
+ 银行金额汇总:&emsp;{{model.sums.f_total_charge.toFixed(2)}}
163
+ </td>
164
+ <td
165
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
166
+ 差额汇总:&emsp;{{((model.sums.f_total_charge -0) - (model.sums.f_collection.toFixed(2) -0)).toFixed(2)}}
167
+ </td>
168
+ </tr>
169
+ </table>
170
+ </div>
171
+ </div>
172
+ </template>
173
+ <script>
174
+ import { PagedList } from 'vue-client'
175
+ import Vue from 'vue'
176
+
177
+ export default {
178
+ title: '银行对账',
179
+ data () {
180
+ return {
181
+ resid: [], // 存放新增的f_files表中id
182
+ criteriaShow: false,
183
+ f_orgid: this.$login.f.orgid,
184
+ curorgid: [this.$login.f.orgid],
185
+ model: new PagedList('rs/sql/bankPayment', 20, {bankname: 'this.model.f_bank_name[0]', startDate: 'this.model.startDate', endDate: 'this.model.endDate', orderitem: '"delivery_date DESC "'}, {f_collection: '', f_total_charge: ''}),
186
+ bodydata: ['f_userinfo_code', 'f_user_name', 'f_bank_name', 'f_serial_id', 'f_trade_number', 'f_collection', 'f_total_charge', 'f_operate_date', 'f_state', 'msg'],
187
+ header: ['用户编号', '用户姓名', '银行名称', '燃气方流水号', '银行流水号', '燃气方金额', '银行金额', '燃气方日期', '银行日期', '燃气方记录是否有效', '对账信息']
188
+
189
+ }
190
+ },
191
+ props: [],
192
+ ready () {
193
+ this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString()
194
+ this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString()
195
+ },
196
+ methods: {
197
+ search () {
198
+ this.$refs.paged.$refs.cri.search()
199
+ },
200
+ selfSearch (args) {
201
+ if (!this.f_orgid) {
202
+ this.getorg([this.$login.f.orgid])
203
+ }
204
+ if (!this.$refs.paged.$refs.cri.model.startDate) {
205
+ this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString()
206
+ }
207
+ if (!this.$refs.paged.$refs.cri.model.endDate) {
208
+ this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString()
209
+ }
210
+ console.log('查询。。。', this.f_orgid)
211
+ if (this.f_orgid) {
212
+ args.condition = `${args.condition} and f_orgid in ${this.f_orgid}`
213
+ }
214
+ this.model.search(args.condition, args.model)
215
+ },
216
+ async chargecal (row) {
217
+ let param = {
218
+ f_operator: Vue.$login.f.name,
219
+ f_sell_id: row.maxid,
220
+ f_cancel_reason: '',
221
+ f_orgid: Vue.$login.f.orgid,
222
+ f_orgname: Vue.$login.f.orgs,
223
+ f_depid: Vue.$login.f.depids,
224
+ f_depname: Vue.$login.f.deps,
225
+ f_zoneid: Vue.$login.f.zoneid,
226
+ f_zones: Vue.$login.f.zones
227
+ }
228
+ await Vue.resetpost('rs/logic/commonCancel', {data: param}, {resolveMsg: '撤销成功', rejectMsg: '撤销失败'})
229
+ this.$refs.paged.$refs.cri.search()
230
+ },
231
+ getorg (val) {
232
+ this.f_orgid = this.$login.convertToIn(val)
233
+ this.f_filialeid = val[0]
234
+ },
235
+ // 微信单方账单,系统可缴费
236
+ async charge (row) {
237
+ console.log('单边账补缴:', row)
238
+ row.f_operator = Vue.$login.f.name
239
+
240
+ // 判断表类型
241
+ if (row.f_meter_classify === '气量卡表' || row.f_meter_classify === '金额卡表') {
242
+ console.log('卡表补缴')
243
+ // 查询用户信息,获取卡号和卡表厂商别名
244
+ const userInfo = await this.$resetpost('rs/sql/sale_getUser', {
245
+ data: {
246
+ orderitem: 'f_userinfo_code',
247
+ condition: `f_userinfo_code = '${row.f_userinfo_code}'`
248
+ }
249
+ }, {resolveMsg: null, rejectMsg: '获取卡表用户信息失败'})
250
+ const f_card_id = userInfo.data[0].f_card_id
251
+ const f_alias = userInfo.data[0].f_alias
252
+ // 先按照金额进行划价
253
+ const pricingParams = {
254
+ data: {
255
+ model: {
256
+ f_card_id: f_card_id,
257
+ f_alias: f_alias
258
+ },
259
+ value: row.f_total_charge,
260
+ isGasValue: 1
261
+ }
262
+ }
263
+ const pricingRes = await this.$resetpost('rs/logic/commonCal', pricingParams, {resolveMsg: null, rejectMsg: '卡表划价失败'})
264
+ console.log('卡表划价结果:', pricingRes)
265
+ const chargeLength = pricingRes.data.chargeprice.length
266
+ let gasFee = 0
267
+ let gasAmountApproved = 0
268
+
269
+ if (chargeLength === 1) {
270
+ gasFee = pricingRes.data.chargeprice[0].f_money
271
+ gasAmountApproved = pricingRes.data.chargeprice[0].f_gas
272
+ } else if (chargeLength === 2) {
273
+ gasFee = pricingRes.data.f_stair1fee + pricingRes.data.f_stair2fee
274
+ gasAmountApproved = pricingRes.data.oughtamount
275
+ } else if (chargeLength === 3) {
276
+ gasFee = pricingRes.data.f_stair1fee + pricingRes.data.f_stair2fee + pricingRes.data.f_stair3fee
277
+ gasAmountApproved = pricingRes.data.oughtamount
278
+ }
279
+ // 缴费
280
+ const cardSellParams = {
281
+ f_card_id: f_card_id,
282
+ f_pregas: gasAmountApproved,
283
+ f_preamount: gasFee,
284
+ f_totalcost: row.f_total_charge,
285
+ isGasValue: 1,
286
+ f_unit: 'yuan',
287
+ f_write_card: '未写卡',
288
+ f_payment: '银行',
289
+ f_bank_name: row.f_bank_name,
290
+ f_print: '普通收据',
291
+ f_operator: row.f_bank_name,
292
+ f_userinfo_code: row.f_userinfo_code,
293
+ f_userfiles_id: userInfo.data[0].f_userfiles_id,
294
+ f_user_id: userInfo.data[0].f_user_id,
295
+ f_filialeids: `('${row.f_filialeid}')`,
296
+ f_serial_id: row.f_trade_number,
297
+ f_collection: row.f_total_charge,
298
+ f_operate_date: row.delivery_date,
299
+ f_comments: `本次缴费由 ${row.f_operator} 进行单边账补缴操作`
300
+ }
301
+ const res = await this.$resetpost('rs/logic/thirdPay', cardSellParams, {resolveMsg: '补缴成功', rejectMsg: '补缴失败'})
302
+ console.log('缴费结果:', res)
303
+ } else {
304
+ const requestSellData = {
305
+ f_userinfo_code: row.f_userinfo_code,
306
+ f_filialeids: `('${row.f_filialeid}')`,
307
+ f_serial_id: row.f_trade_number,
308
+ f_userfiles_id: row.f_userfiles_id,
309
+ f_payment: '银行',
310
+ f_print: '普通收据',
311
+ f_collection: row.f_total_charge,
312
+ f_bank_name: row.f_bank_name,
313
+ f_unit: 'yuan',
314
+ f_operator: row.f_bank_name,
315
+ f_operate_date: row.delivery_date,
316
+ f_comments: `本次缴费由 ${row.f_operator} 进行单边账补缴操作`
317
+ }
318
+ let url = 'rs/logic/'
319
+
320
+ if (row.f_meter_classify === '机表') {
321
+ console.log('机表补缴')
322
+ url += 'machinePay'
323
+ } else if (row.f_meter_classify === '物联网表') {
324
+ console.log('物联网表补缴')
325
+ url += 'iotPay'
326
+ requestSellData.f_preamount = row.f_total_charge
327
+ requestSellData.f_totalcost = row.f_total_charge
328
+ } else {
329
+ this.$showAlert('气表类型错误,无法进行补缴', 'warning', 3000)
330
+ }
331
+ const res = await this.$resetpost(url, requestSellData, {resolveMsg: '补缴成功', rejectMsg: '补缴失败'})
332
+ console.log('缴费结果:', res)
333
+ }
334
+ this.$refs.paged.$refs.cri.search()
335
+ }
336
+ // })
337
+ },
338
+ events: {
339
+ // 删除Resid数组元素
340
+ 'delResid' (val) {
341
+ this.resid.$remove({id: val, f_biobid: ''})
342
+ // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
343
+ },
344
+ // 增加Resid数组元素
345
+ 'resid' (val) {
346
+ console.log('-=', val)
347
+ this.resid.push({id: val, f_biobid: ''})
348
+ }
349
+ },
350
+ computed: {
351
+ bankname () {
352
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('银行名称')]
353
+ },
354
+ msg () {
355
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('对账信息')]
356
+ },
357
+ filiales () {
358
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('分公司')]
359
+ },
360
+ getCondition () {
361
+ return {
362
+ condition: this.$refs.paged.$refs.cri.condition,
363
+ orderitem: 'delivery_date DESC ',
364
+ startDate: this.$refs.paged.$refs.cri.model.startDate,
365
+ endDate: this.$refs.paged.$refs.cri.model.endDate
366
+ }
367
+ },
368
+ getfield () {
369
+ let data = {}
370
+ this.bodydata.forEach((value, index) => {
371
+ data[this.bodydata[index]] = this.header[index]
372
+ })
373
+ return data
374
+ console.log('field' + data)
375
+ }
376
+ }
377
+ }
378
+ </script>
@@ -14,4 +14,6 @@ export default function () {
14
14
  Vue.component('file-meter-info', (resolve) => { require(['./FilesManage/MeterinfoTest'], resolve) })
15
15
  // 用户基本信息test
16
16
  Vue.component('file-user-essential-info', (resolve) => { require(['./UserEssentialInfoTest'], resolve) })
17
+ // 对账
18
+ Vue.component('bank-payment', (resolve) => { require(['./BankPayment/BankPayment.vue'], resolve) })
17
19
  }
@@ -127,8 +127,8 @@
127
127
  </div>
128
128
  </div>
129
129
  <div class="row" style="margin-top:10px;">
130
- <div class="col-sm-4">
131
- <label for="f_voucher_number" class="font_normal_body">服务人员</label>
130
+ <div class="col-sm-4" :class="{'has-error': !model.f_service_person[0],'has-success': model.f_service_person[0]}">
131
+ <label for="f_voucher_number" class="font_normal_body">*服务人员</label>
132
132
  <v-select v-model="model.f_service_person"
133
133
  placeholder='请选择'
134
134
  :value.sync="model.f_service_person"
@@ -150,9 +150,9 @@
150
150
  <!-- <tax-other-bill :show="taxprint" v-ref:taxprintbill :row='row' :logic='model' v-on:success="close" v-on:toggle="close"></tax-other-bill> -->
151
151
  <div style="text-align:right;height: 25%;">
152
152
  <button v-if="config.modificationList" class="button_search" @click="confirm(true)"
153
- :disabled='!$v.valid || validateOk'>确认并转单
153
+ :disabled='!$v.valid || validateOk || !model.f_service_person[0]'>确认并转单
154
154
  </button>
155
- <button class="button_search btn-gn" @click="checkInvoiceMsg()" :disabled='!$v.valid || validateOk'>确认</button>
155
+ <button class="button_search btn-gn" @click="checkInvoiceMsg()" :disabled='!$v.valid || validateOk || !model.f_service_person[0]'>确认</button>
156
156
  <button class="button_clear btn-gn" @click="clean()">取消</button>
157
157
  </div>
158
158
  </validator>
@@ -288,7 +288,7 @@
288
288
  f_collection: 0,
289
289
  f_comments: '',
290
290
  f_voucher_number: '',
291
- f_service_person: '',
291
+ f_service_person: [],
292
292
  // 用户其他费用信息
293
293
  t_userfees: '',
294
294
  f_fee_type: [],
@@ -12,6 +12,7 @@
12
12
  :value.sync="model.startDate"
13
13
  :disabled-days-of-Week="[]"
14
14
  :format="'yyyy-MM-dd'"
15
+ condition="f_time_end >= '{}'"
15
16
  :show-reset-button="reset">
16
17
  </datepicker>
17
18
  </div>
@@ -22,6 +23,7 @@
22
23
  :value.sync="model.endDate"
23
24
  :disabled-days-of-Week="[]"
24
25
  :format="'yyyy-MM-dd'"
26
+ condition="f_time_end <= '{}'"
25
27
  :show-reset-button="reset">
26
28
  </datepicker>
27
29
  </div>