sale-client 3.6.511 → 3.6.512
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
|
@@ -33,4 +33,6 @@ export default function () {
|
|
|
33
33
|
Vue.component('iot-refund', (resolve) => { require(['./IOTRefund'], resolve) })
|
|
34
34
|
// 收费页面的流水查询
|
|
35
35
|
Vue.component('meter-charge-record-query', (resolve) => { require(['./ChargeRecordQuery'], resolve) })
|
|
36
|
+
// pos对账界面
|
|
37
|
+
Vue.component('wechat-validate-manage', (resolve) => { require(['./wechatValidateManage.vue'], resolve) })
|
|
36
38
|
}
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 98%">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
|
+
<div class="row">
|
|
7
|
+
|
|
8
|
+
<!-- <res-select-group :initres="$parent.$parent.initres" :show-component="['company']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
|
|
9
|
+
|
|
10
|
+
<div class="col-sm-2 form-group">
|
|
11
|
+
<label for="startDate" class="font_normal_body">开始日期</label>
|
|
12
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
13
|
+
v-model="model.startDate" style="width: 60%"
|
|
14
|
+
:value.sync="model.startDate"
|
|
15
|
+
condition="f_delivery_date >= '{} 00:00:00'"
|
|
16
|
+
:disabled-days-of-Week="[]"
|
|
17
|
+
:format="'yyyy-MM-dd'"
|
|
18
|
+
:show-reset-button="reset">
|
|
19
|
+
</datepicker>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label for="endDate" class="font_normal_body"> 结束日期</label>
|
|
23
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
24
|
+
v-model="model.endDate" style="width: 60%"
|
|
25
|
+
:value.sync="model.endDate"
|
|
26
|
+
condition="f_delivery_date <= '{} 23:59:59'"
|
|
27
|
+
:disabled-days-of-Week="[]"
|
|
28
|
+
:format="'yyyy-MM-dd'"
|
|
29
|
+
:show-reset-button="reset">
|
|
30
|
+
</datepicker>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="col-sm-2 form-group" >
|
|
33
|
+
<label class="font_normal_body">客户编号</label>
|
|
34
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code" placeholder='客户编号'
|
|
35
|
+
condition="f_userinfo_code = '{}'">
|
|
36
|
+
</div>
|
|
37
|
+
<div class="col-sm-2 form-group">
|
|
38
|
+
<label class="font_normal_body" title="订单状态">订单状态</label>
|
|
39
|
+
<v-select
|
|
40
|
+
v-model="model.msg"
|
|
41
|
+
placeholder='订单状态'
|
|
42
|
+
condition="f_states like '%{}%'"
|
|
43
|
+
:value.sync="model.msg"
|
|
44
|
+
:options='$parent.$parent.letter'
|
|
45
|
+
close-on-select ></v-select>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<div class="span" style="float:right;">
|
|
49
|
+
<button class="button_search button_spacing width-60" @click="search()" v-el:cx>查询</button>
|
|
50
|
+
<div
|
|
51
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
52
|
+
@click="$parent.$parent.hidden()"
|
|
53
|
+
class="button_spacing"
|
|
54
|
+
style="float: right">
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
59
|
+
<div class="col-sm-2 form-group">
|
|
60
|
+
<label class="font_normal_body" title="操作标识">操作标识</label>
|
|
61
|
+
<v-select
|
|
62
|
+
v-model="model.pay_state"
|
|
63
|
+
placeholder='操作标识'
|
|
64
|
+
condition="pay_state like '%{}%'"
|
|
65
|
+
:value.sync="model.pay_state"
|
|
66
|
+
:options='$parent.$parent.paystate'
|
|
67
|
+
close-on-select ></v-select>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="form-group col-sm-2">
|
|
70
|
+
<label class="font_normal_body">终端编号</label>
|
|
71
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_num" placeholder='终端编号'
|
|
72
|
+
condition="f_terminal_num like '%{}%'">
|
|
73
|
+
</div>
|
|
74
|
+
<div class="form-group col-sm-2">
|
|
75
|
+
<label class="font_normal_body">客户名称</label>
|
|
76
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_user_name" placeholder='客户名称'
|
|
77
|
+
condition="f_user_name = '{}'">
|
|
78
|
+
</div>
|
|
79
|
+
<div class="form-group col-sm-2">
|
|
80
|
+
<label class="font_normal_body"> 电话 </label>
|
|
81
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_user_phone" placeholder='电话'
|
|
82
|
+
condition="f_user_phone like '{}%'">
|
|
83
|
+
</div>
|
|
84
|
+
<div class="form-group col-sm-2">
|
|
85
|
+
<label class="font_normal_body">客户地址</label>
|
|
86
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_address" placeholder='客户地址'
|
|
87
|
+
condition="f_address like '%{}%'">
|
|
88
|
+
</div>
|
|
89
|
+
<!--<div class="col-sm-2 form-group">-->
|
|
90
|
+
<!--<label class="font_normal_body">订单状态</label>-->
|
|
91
|
+
<!--<v-select-->
|
|
92
|
+
<!--v-model="model.msg"-->
|
|
93
|
+
<!--placeholder='订单状态'-->
|
|
94
|
+
<!--condition="f_states like '%{}%'"-->
|
|
95
|
+
<!--:value.sync="model.msg"-->
|
|
96
|
+
<!--:options='$parent.$parent.letter'-->
|
|
97
|
+
<!--close-on-select ></v-select>-->
|
|
98
|
+
<!--</div>-->
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</criteria>
|
|
102
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
|
103
|
+
<template partial='head'>
|
|
104
|
+
<tr>
|
|
105
|
+
<th>序号</th>
|
|
106
|
+
<th>客户编号</th>
|
|
107
|
+
<th>客户姓名</th>
|
|
108
|
+
<th>客户电话</th>
|
|
109
|
+
<th>客户地址</th>
|
|
110
|
+
<th>终端编号</th>
|
|
111
|
+
<th>订单号</th>
|
|
112
|
+
<th>订单金额</th>
|
|
113
|
+
<th>订单发生日期</th>
|
|
114
|
+
<th>订单状态</th>
|
|
115
|
+
<th>付款方式</th>
|
|
116
|
+
<th>购气量</th>
|
|
117
|
+
<th>购气金额</th>
|
|
118
|
+
<th>系统收费时间</th>
|
|
119
|
+
<th>系统收费状态</th>
|
|
120
|
+
<th>系统写卡状态</th>
|
|
121
|
+
<th>操作人</th>
|
|
122
|
+
<th>操作标识</th>
|
|
123
|
+
</tr>
|
|
124
|
+
</template>
|
|
125
|
+
<template partial='body'>
|
|
126
|
+
<td style="text-align: center;"><nobr>{{$index+1}}</nobr></td>
|
|
127
|
+
<td style="text-align: center;"><nobr>{{row.f_userinfo_code}}</nobr></td>
|
|
128
|
+
<td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
|
|
129
|
+
<td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
|
|
130
|
+
<td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
|
|
131
|
+
<td style="text-align: center;"><nobr>{{row.f_terminal_num}}</nobr></td>
|
|
132
|
+
<td style="text-align: center;"><nobr>{{row.f_transaction_id}}</nobr></td>
|
|
133
|
+
<td style="text-align: center;"><nobr>{{row.f_total_fee}}</nobr></td>
|
|
134
|
+
<td style="text-align: center;"><nobr>{{row.f_time_out}}</nobr></td>
|
|
135
|
+
<td style="text-align: center;"><nobr>{{row.f_states}}</nobr></td>
|
|
136
|
+
<td style="text-align: center;"><nobr>{{row.f_payment}}</nobr></td>
|
|
137
|
+
<td style="text-align: center;"><nobr>{{row.f_pregas}}</nobr></td>
|
|
138
|
+
<td style="text-align: center;"><nobr>{{row.f_collection}}</nobr></td>
|
|
139
|
+
<td style="text-align: center;"><nobr>{{row.f_delivery_date}}</nobr></td>
|
|
140
|
+
<td style="text-align: center;"><nobr>{{row.f_charge_state}}</nobr></td>
|
|
141
|
+
<td style="text-align: center;"><nobr>{{row.f_write_card}}</nobr></td>
|
|
142
|
+
<td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
|
|
143
|
+
<td v-if="row.pay_state==='对账成功'" style="text-align: center;">
|
|
144
|
+
<div v-if="!$parent.$parent.$parent.authArr.includes('无卡退费')">
|
|
145
|
+
<span>正常</span>
|
|
146
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.$parent.updateState(row)">退款</button>
|
|
147
|
+
</div>
|
|
148
|
+
<div v-else>
|
|
149
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.$parent.chargecal(row)">无卡退款</button>
|
|
150
|
+
</div>
|
|
151
|
+
</td>
|
|
152
|
+
<td v-if="row.pay_state==='无效'" style="text-align: center;">
|
|
153
|
+
无效
|
|
154
|
+
</td>
|
|
155
|
+
<td v-if="row.pay_state==='燃气单方面账单'" style="text-align: center;">
|
|
156
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.$parent.chargecal(row)">冲正</button>
|
|
157
|
+
</td>
|
|
158
|
+
<td v-if="row.pay_state==='自助机单方面账单'" style="text-align: center;">
|
|
159
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.$parent.updateState(row)">退款</button>
|
|
160
|
+
<button type="button" name="button" class="btn btn-link" @click="$parent.$parent.$parent.charge(row)">缴费</button>
|
|
161
|
+
</td>
|
|
162
|
+
</template>
|
|
163
|
+
</data-grid>
|
|
164
|
+
</criteria-paged>
|
|
165
|
+
<table class="table-hover">
|
|
166
|
+
<tr style="position: relative" class="table-bordered">
|
|
167
|
+
<td
|
|
168
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
|
|
169
|
+
汇总信息
|
|
170
|
+
</td>
|
|
171
|
+
<td
|
|
172
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
173
|
+
订单金额汇总: {{sumsmodel.f_total_fee}}
|
|
174
|
+
</td>
|
|
175
|
+
<td
|
|
176
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
177
|
+
购气金额汇总: {{sumsmodel.f_collection}}
|
|
178
|
+
</td>
|
|
179
|
+
</tr>
|
|
180
|
+
</table>
|
|
181
|
+
</div>
|
|
182
|
+
<modal v-if="show" :show.sync="show" >
|
|
183
|
+
<header slot="modal-header" class="modal-header">
|
|
184
|
+
<h4 class="modal-title">退费</h4>
|
|
185
|
+
</header>
|
|
186
|
+
<article slot="modal-body" class="modal-body">
|
|
187
|
+
<validator name='v'>
|
|
188
|
+
<form class="form-horizontal select-overspread">
|
|
189
|
+
<div class="form-group">
|
|
190
|
+
<label class=" col-sm-3 control-label">退费原因:</label>
|
|
191
|
+
<div class="col-sm-8">
|
|
192
|
+
<textarea class="form-control" v-model="watchComment" placeholder="退费原因" ></textarea>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</form>
|
|
196
|
+
</validator>
|
|
197
|
+
</article>
|
|
198
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
199
|
+
<button type="button" class="btn btn-success" @click='confirm()'>确认</button>
|
|
200
|
+
<button type="button" class="btn btn-default" @click='close'>取消</button>
|
|
201
|
+
</footer>
|
|
202
|
+
</modal>
|
|
203
|
+
</template>
|
|
204
|
+
<script>
|
|
205
|
+
import { PagedList } from 'vue-client'
|
|
206
|
+
import Vue from 'vue'
|
|
207
|
+
|
|
208
|
+
let readyGen = async function (self) {
|
|
209
|
+
// self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
|
|
210
|
+
// self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
211
|
+
self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
export default {
|
|
215
|
+
title: '自助机对账',
|
|
216
|
+
data () {
|
|
217
|
+
return {
|
|
218
|
+
model: new PagedList('rs/sql/wechatSelling', 20, {}, {f_total_fee: '', f_collection: ''}),
|
|
219
|
+
letter: this.$appdata.getParam('订单状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('订单状态')] : [],
|
|
220
|
+
paystate: this.$appdata.getParam('操作标识') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('操作标识')] : [],
|
|
221
|
+
criteriaShow: false,
|
|
222
|
+
show: false,
|
|
223
|
+
watchComment: '',
|
|
224
|
+
orgCondtionStr: '',
|
|
225
|
+
getfield: {},
|
|
226
|
+
// 合计数据
|
|
227
|
+
sumsmodel: {},
|
|
228
|
+
initres: {
|
|
229
|
+
org: [this.$login.f.orgid]
|
|
230
|
+
},
|
|
231
|
+
msgData: []
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
props: [],
|
|
235
|
+
ready () {
|
|
236
|
+
readyGen(this)
|
|
237
|
+
},
|
|
238
|
+
methods: {
|
|
239
|
+
async chargecal (row) {
|
|
240
|
+
let param = {
|
|
241
|
+
f_sell_id: row.f_sell_id,
|
|
242
|
+
f_cancel_reason: '',
|
|
243
|
+
f_orgid: Vue.$login.f.orgid,
|
|
244
|
+
f_orgname: Vue.$login.f.orgs,
|
|
245
|
+
f_depid: Vue.$login.f.depids,
|
|
246
|
+
f_depname: Vue.$login.f.deps,
|
|
247
|
+
f_zoneid: Vue.$login.f.zoneid,
|
|
248
|
+
f_zones: Vue.$login.f.zones
|
|
249
|
+
}
|
|
250
|
+
await Vue.resetpost('rs/logic/commonCancel', {data: param}, {resolveMsg: '撤销成功', rejectMsg: '撤销失败'})
|
|
251
|
+
this.$refs.paged.$refs.cri.search()
|
|
252
|
+
},
|
|
253
|
+
async getRes(condition,obj) {
|
|
254
|
+
this.orgCondtionStr = condition
|
|
255
|
+
},
|
|
256
|
+
// 微信单方账单,系统可缴费
|
|
257
|
+
async charge (row) {
|
|
258
|
+
row.f_operator=Vue.$login.f.name,
|
|
259
|
+
row.f_operatorid= Vue.$login.f.id,
|
|
260
|
+
row.f_orgid= Vue.$login.f.orgid,
|
|
261
|
+
row.f_orgname= Vue.$login.f.orgs,
|
|
262
|
+
row.f_depid= Vue.$login.f.depids,
|
|
263
|
+
row. f_depname= Vue.$login.f.deps,
|
|
264
|
+
row. f_zoneid= Vue.$login.f.zoneid,
|
|
265
|
+
row. f_zones= Vue.$login.f.zones
|
|
266
|
+
let res = await this.$resetpost('rs/logic/cardOneBank',row,{resolveMsg:'缴费成功',rejectMsg:'缴费失败'})
|
|
267
|
+
let param = []
|
|
268
|
+
for (let row of this.resid) {
|
|
269
|
+
param.push({id: row.id})
|
|
270
|
+
}
|
|
271
|
+
let data = {
|
|
272
|
+
param: param,
|
|
273
|
+
f_blobid: res.data
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
await this.$resetpost('rs/logic/updatefiles', data)
|
|
277
|
+
this.$refs.paged.$refs.cri.search()
|
|
278
|
+
},
|
|
279
|
+
hidden () {
|
|
280
|
+
this.criteriaShow = !this.criteriaShow
|
|
281
|
+
},
|
|
282
|
+
updateState (val) {
|
|
283
|
+
this.show = true
|
|
284
|
+
this.msgData = val
|
|
285
|
+
},
|
|
286
|
+
async confirm () {
|
|
287
|
+
this.msgData.f_operator = this.$login.f.name
|
|
288
|
+
let updateWechatData = {
|
|
289
|
+
watchComment: this.watchComment,
|
|
290
|
+
msgData: this.msgData
|
|
291
|
+
}
|
|
292
|
+
await Vue.resetpost('rs/logic/updateWechatState', {data: updateWechatData}, {resolveMsg: '退款请求已发送成功,稍后到账!', rejectMsg: '退款失败'})
|
|
293
|
+
this.close()
|
|
294
|
+
this.search()
|
|
295
|
+
},
|
|
296
|
+
close () {
|
|
297
|
+
this.show = false
|
|
298
|
+
this.watchComment = ''
|
|
299
|
+
this.msgData = []
|
|
300
|
+
},
|
|
301
|
+
search () {
|
|
302
|
+
this.$refs.paged.$refs.cri.search()
|
|
303
|
+
},
|
|
304
|
+
// getotherfooter () {
|
|
305
|
+
// // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
|
|
306
|
+
// // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
|
|
307
|
+
// this.other = []
|
|
308
|
+
// this.footer = []
|
|
309
|
+
// // let exportdata = this.getCondition;
|
|
310
|
+
// let otherInData = []
|
|
311
|
+
// otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
|
|
312
|
+
// let footerData = [], exportfield = this.getfield
|
|
313
|
+
// footerData.push('合计')
|
|
314
|
+
// let self = this
|
|
315
|
+
// for (var field in self.sumsmodel) {
|
|
316
|
+
// footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
|
|
317
|
+
// }
|
|
318
|
+
// this.footer.push(footerData)
|
|
319
|
+
// this.other.push(otherInData)
|
|
320
|
+
// },
|
|
321
|
+
selfSearch (args) {
|
|
322
|
+
this.model.params.startDate = this.$refs.paged.$refs.cri.model.startDate
|
|
323
|
+
this.model.params.endDate = this.$refs.paged.$refs.cri.model.endDate
|
|
324
|
+
// if (!this.orgCondtionStr) {
|
|
325
|
+
// args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
|
|
326
|
+
// } else {
|
|
327
|
+
// args.condition = `${args.condition}` + this.orgCondtionStr
|
|
328
|
+
// }
|
|
329
|
+
args.condition = `${args.condition}` + `and f_orgid = '${this.$login.f.orgid}'`
|
|
330
|
+
this.model.search(args.condition, args.model)
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
},
|
|
334
|
+
events: {
|
|
335
|
+
|
|
336
|
+
},
|
|
337
|
+
computed: {
|
|
338
|
+
authArr () {
|
|
339
|
+
return this.$login.r ? this.$login.r : []
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// watch: {
|
|
343
|
+
// sumsmodel: {
|
|
344
|
+
// handler: function (val) {
|
|
345
|
+
// this.getotherfooter()
|
|
346
|
+
// },
|
|
347
|
+
// deep: true
|
|
348
|
+
// }
|
|
349
|
+
// }
|
|
350
|
+
}
|
|
351
|
+
</script>
|