sale-client 3.6.188 → 3.6.189
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/build/dev-server.js +1 -1
- package/package.json +1 -1
- package/src/components/chargeBatch/CardList.vue +1 -1
- package/src/components/revenue/Common/EticketPrint.vue +1 -0
- package/src/filiale/alashan/CustQueryEticket.vue +271 -0
- package/src/filiale/alashan/sale.js +2 -0
- package/src/plugins/CommonService.js +3 -3
package/build/dev-server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
|
-
const [ serverRul, localUrl ] = ['http://
|
|
2
|
+
const [ serverRul, localUrl ] = ['http://59.48.150.94:8300/', 'http://59.48.150.94:8300/']
|
|
3
3
|
var merge = require('webpack-merge')
|
|
4
4
|
var baseConfig = require('./webpack.dev.conf')
|
|
5
5
|
var devConfig = {
|
package/package.json
CHANGED
|
@@ -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==='物联网赠气')||row.type==='气损收费'">
|
|
75
75
|
<a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>
|
|
76
76
|
</li>
|
|
77
77
|
<li v-else>
|
|
@@ -78,6 +78,7 @@ export default {
|
|
|
78
78
|
f_address_phone: model.f_address_phone,
|
|
79
79
|
f_email: model.f_email,
|
|
80
80
|
org_id: this.$login.f.orgid,
|
|
81
|
+
bz: model.f_eticket_reason ? model.f_eticket_reason : null,
|
|
81
82
|
loginInfo: {
|
|
82
83
|
operator: Vue.$login.f.name,
|
|
83
84
|
operator_id: Vue.$login.f.id,
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto basic-main" style="height:95%">
|
|
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
|
+
<div class="col-sm-2 form-group">
|
|
8
|
+
<label class="font_normal_body">组织机构</label>
|
|
9
|
+
<res-select restype='organization'
|
|
10
|
+
@res-select="$parent.$parent.getorg"
|
|
11
|
+
is-mul="false"
|
|
12
|
+
:initresid='$parent.$parent.curorgid'>
|
|
13
|
+
</res-select>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="form-group col-sm-2">
|
|
16
|
+
<label class="font_normal_body">客户编号</label>
|
|
17
|
+
<input type="text" class="form-control" v-model="model.f_userinfo_code" style="width:60%"
|
|
18
|
+
condition="f_userinfo_code = '{}' " placeholder="客户编号"
|
|
19
|
+
>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="form-group col-sm-2">
|
|
22
|
+
<label class="font_normal_body">用户姓名</label>
|
|
23
|
+
<input type="text" class="form-control" v-model="model.f_user_name" style="width:60%"
|
|
24
|
+
condition="f_user_name = '{}'" placeholder="用户姓名"
|
|
25
|
+
>
|
|
26
|
+
</div>
|
|
27
|
+
<div style="float: right">
|
|
28
|
+
<button class="button_search" @click="search()">查 询</button>
|
|
29
|
+
<button class="button_search" @click="$parent.$parent.open_eTicket()">开票</button>
|
|
30
|
+
<div
|
|
31
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
32
|
+
@click="$parent.$parent.criteriaShow=!$parent.$parent.criteriaShow"
|
|
33
|
+
class="button_spacing"
|
|
34
|
+
style="float: right"></div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
38
|
+
<div class="form-group col-sm-2" >
|
|
39
|
+
<label class="font_normal_body">业务类型</label>
|
|
40
|
+
<v-select id="f_charge_type"
|
|
41
|
+
style="width:60%"
|
|
42
|
+
v-model="model.f_type"
|
|
43
|
+
placeholder='业务类型'
|
|
44
|
+
condition="f_type ='{}'"
|
|
45
|
+
:value.sync="model.f_type"
|
|
46
|
+
:options='$parent.$parent.chargetypes'
|
|
47
|
+
close-on-select clear-button>
|
|
48
|
+
</v-select>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="form-group col-sm-2">
|
|
51
|
+
<label for="startDate" class="font_normal_body">开始日期</label>
|
|
52
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
53
|
+
v-model="model.startDate"
|
|
54
|
+
:value.sync="model.startDate"
|
|
55
|
+
:disabled-days-of-Week="[]"
|
|
56
|
+
condition="f_operate_date >='{}'"
|
|
57
|
+
style="width:60%"
|
|
58
|
+
>
|
|
59
|
+
</datepicker>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="form-group col-sm-2">
|
|
62
|
+
<label for="endDate" class="font_normal_body">结束日期</label>
|
|
63
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
64
|
+
v-model="model.endDate"
|
|
65
|
+
:value.sync="model.endDate"
|
|
66
|
+
:disabled-days-of-Week="[]"
|
|
67
|
+
condition="f_operate_date <='{}'"
|
|
68
|
+
style="width:60%"
|
|
69
|
+
>
|
|
70
|
+
</datepicker>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</criteria>
|
|
75
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :optional="true">
|
|
76
|
+
<template partial='head'>
|
|
77
|
+
<tr>
|
|
78
|
+
<th>序号</th>
|
|
79
|
+
<th>客户编号</th>
|
|
80
|
+
<th>用户姓名</th>
|
|
81
|
+
<th>用户地址</th>
|
|
82
|
+
<th>气量</th>
|
|
83
|
+
<th>应交金额</th>
|
|
84
|
+
<th>实收金额</th>
|
|
85
|
+
<th>收费类型</th>
|
|
86
|
+
<th>收费时间</th>
|
|
87
|
+
</tr>
|
|
88
|
+
</template>
|
|
89
|
+
<template partial='body' >
|
|
90
|
+
<td style="text-align:center">{{$index+1}}</td>
|
|
91
|
+
<td style="text-align:center">{{row.f_userinfo_code}}</td>
|
|
92
|
+
<td style="text-align:center">{{row.f_user_name}}</td>
|
|
93
|
+
<td style="text-align:center">{{row.f_address}}</td>
|
|
94
|
+
<td style="text-align:center">{{row.f_pregas}}</td>
|
|
95
|
+
<td style="text-align:center">{{row.f_preamount}}</td>
|
|
96
|
+
<td style="text-align:center">{{row.f_collection}}</td>
|
|
97
|
+
<td style="text-align:center">{{row.f_type}}</td>
|
|
98
|
+
<td style="text-align:center">{{row.f_operate_date}}</td>
|
|
99
|
+
</template>
|
|
100
|
+
<template partial='foot'></template>
|
|
101
|
+
</data-grid>
|
|
102
|
+
</criteria-paged>
|
|
103
|
+
</div>
|
|
104
|
+
<modal :show.sync="eticket_msg" v-ref:modal large backdrop="false" :width="900">
|
|
105
|
+
<header slot="modal-header" class="modal-header">
|
|
106
|
+
<button type="button" class="close" @click="closeEticket"><span>×</span></button>
|
|
107
|
+
<h4 class="modal-title">发票信息</h4>
|
|
108
|
+
</header>
|
|
109
|
+
<article slot="modal-body" class="modal-body">
|
|
110
|
+
<div class="auto select-overspread form-horizontal">
|
|
111
|
+
<div class="row auto">
|
|
112
|
+
<div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
|
|
113
|
+
<label class="control-label">开票名称:</label>
|
|
114
|
+
<input class="form-control col-sm-2"
|
|
115
|
+
v-model="row.f_paper_name" placeholder="开票名称">
|
|
116
|
+
</div>
|
|
117
|
+
<div class="col-sm-6 form-group form-input-group">
|
|
118
|
+
<nobr class="col-sm-4"><label class="control-label">是否征税:</label></nobr>
|
|
119
|
+
<v-select v-model="invoice_is_pax"
|
|
120
|
+
placeholder='请选择'
|
|
121
|
+
:value.sync="invoice_is_pax"
|
|
122
|
+
close-on-select
|
|
123
|
+
:width="60"
|
|
124
|
+
:disabled="disabled"
|
|
125
|
+
:value-single="true"
|
|
126
|
+
:search="false"
|
|
127
|
+
:options='is_pax' clear-button>
|
|
128
|
+
</v-select>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
131
|
+
<label class="control-label">开户行及账号:</label>
|
|
132
|
+
<input class="form-control col-sm-2"
|
|
133
|
+
v-model="row.f_paper_account" placeholder="购方开户行及账号">
|
|
134
|
+
</div>
|
|
135
|
+
<div class="col-sm-12 form-group form-input-group" :class="[!row.f_taxpayer_id ? 'has-error' : '']">
|
|
136
|
+
<label class="control-label">纳税人识别号:</label>
|
|
137
|
+
<input class="form-control col-sm-2"
|
|
138
|
+
v-model="row.f_taxpayer_id" placeholder="纳税人识别号">
|
|
139
|
+
</div>
|
|
140
|
+
<div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
|
|
141
|
+
<label class="control-label">开票地址电话:</label>
|
|
142
|
+
<input class="form-control col-sm-2"
|
|
143
|
+
v-model="row.f_address_phone" placeholder="开票地址">
|
|
144
|
+
</div>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
</article>
|
|
148
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
149
|
+
<button type="button" class="btn button_search"
|
|
150
|
+
:disabled="!(row.f_taxpayer_id&&row.f_paper_name&&row.f_address_phone)"
|
|
151
|
+
@click='confirm'>确认收费
|
|
152
|
+
</button>
|
|
153
|
+
</footer>
|
|
154
|
+
</modal>
|
|
155
|
+
<ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
|
|
156
|
+
</template>
|
|
157
|
+
|
|
158
|
+
<script>
|
|
159
|
+
/**
|
|
160
|
+
*发票冲红管理
|
|
161
|
+
*/
|
|
162
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
163
|
+
import Vue from 'vue'
|
|
164
|
+
export default {
|
|
165
|
+
title: '结算开票',
|
|
166
|
+
data () {
|
|
167
|
+
return {
|
|
168
|
+
criteriaShow: false,
|
|
169
|
+
f_filialeids: Vue.$login.f.orgids,
|
|
170
|
+
model: new PagedList('rs/sql/openSellelent', 50, {}),
|
|
171
|
+
f_outlets: Vue.$login.f.f_parentname,
|
|
172
|
+
f_filiale: Vue.$login.f.f_fengongsi,
|
|
173
|
+
f_operator: Vue.$login.f.name,
|
|
174
|
+
f_orgstr: Vue.$login.f.orgpathstr,
|
|
175
|
+
invoice_is_pax: '征税',
|
|
176
|
+
is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
|
|
177
|
+
selecteds: [],
|
|
178
|
+
eticket_show: false,
|
|
179
|
+
eticket_msg: false,
|
|
180
|
+
invoice_show_gas: '否',
|
|
181
|
+
show_gas: [{label: '是', value: '是'}, {label: '否', value: '否'}],
|
|
182
|
+
row: {},
|
|
183
|
+
disabled: false,
|
|
184
|
+
mid: [{label: '全部', value: ''}, {label: '是', value: ' > 0 '}, {label: '否', value: ' is null'}]
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
ready () {
|
|
188
|
+
this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
|
|
189
|
+
this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
190
|
+
},
|
|
191
|
+
methods: {
|
|
192
|
+
closeEticket () {
|
|
193
|
+
this.eticket_msg = false
|
|
194
|
+
this.disabled = false
|
|
195
|
+
},
|
|
196
|
+
getorg (val) {
|
|
197
|
+
this.f_orgid = this.$login.convertToIn(val)
|
|
198
|
+
this.f_filialeids = val[0]
|
|
199
|
+
},
|
|
200
|
+
cancel () {
|
|
201
|
+
this.show = false
|
|
202
|
+
this.info = {}
|
|
203
|
+
},
|
|
204
|
+
async open_eTicket () {
|
|
205
|
+
this.selecteds = this.$refs.paged.$refs.grid.getRowData()
|
|
206
|
+
if (this.selecteds.length > 1) {
|
|
207
|
+
this.$showAlert('选中条数大于一条,请重新修改!!', 'warning', 2000)
|
|
208
|
+
return
|
|
209
|
+
}
|
|
210
|
+
let HttpReset = new HttpResetClass()
|
|
211
|
+
let row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
|
|
212
|
+
data: {
|
|
213
|
+
orderitem: 'f_userinfo_code',
|
|
214
|
+
condition: `f_userinfo_code = '${this.selecteds[0].f_userinfo_code}'`
|
|
215
|
+
}
|
|
216
|
+
}, {resolveMsg: null, rejectMsg: '获取地址失败!'})
|
|
217
|
+
this.row = row.data[0]
|
|
218
|
+
this.invoice_show_gas = this.row.f_collection_type = '按气量' ? '是' : '否'
|
|
219
|
+
// if (!this.row.f_taxpayer_id) {
|
|
220
|
+
// this.row.f_taxpayer_id = this.row.f_idnumber
|
|
221
|
+
// }
|
|
222
|
+
if (!this.row.f_paper_name) {
|
|
223
|
+
this.row.f_paper_name = this.row.f_user_name
|
|
224
|
+
}
|
|
225
|
+
if (!this.row.f_address_phone) {
|
|
226
|
+
this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
|
|
227
|
+
}
|
|
228
|
+
if (this.selecteds.map(item => item.f_type).toString() == '其他收费') {
|
|
229
|
+
this.disabled = true
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
this.eticket_msg = true
|
|
233
|
+
},
|
|
234
|
+
confirm () {
|
|
235
|
+
this.eticket_msg = false
|
|
236
|
+
this.disabled = false
|
|
237
|
+
this.eticket_show = true
|
|
238
|
+
if (this.selecteds.map(item => item.f_type).toString() == '其他收费' || this.selecteds.map(item => item.f_type).toString() == '卡表收费' || this.selecteds.map(item => item.f_type).toString() == '发卡售气') {
|
|
239
|
+
this.invoice_show_gas = '是'
|
|
240
|
+
}
|
|
241
|
+
this.$refs.eticketbill.openETicket(this.selecteds.map(item => item.id)[0], this.row, this.selecteds[0].f_type)
|
|
242
|
+
},
|
|
243
|
+
eticket_toggle () {
|
|
244
|
+
this.eticket_show = false
|
|
245
|
+
this.search()
|
|
246
|
+
},
|
|
247
|
+
async selfSearch (args) {
|
|
248
|
+
if (!this.f_orgid) {
|
|
249
|
+
this.getorg([this.$login.f.orgid])
|
|
250
|
+
}
|
|
251
|
+
args.condition = ` f_orgid='${this.f_filialeids}' and ${args.condition}`
|
|
252
|
+
|
|
253
|
+
await this.model.search(args.condition, this.model)
|
|
254
|
+
},
|
|
255
|
+
search () {
|
|
256
|
+
this.$refs.paged.$refs.cri.search()
|
|
257
|
+
this.$dispatch('refresh')
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
computed: {
|
|
261
|
+
chargetypes () {
|
|
262
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费类型')]
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
watch: {
|
|
266
|
+
selecteds () {
|
|
267
|
+
console.log('框框的长度', this.selecteds.length)
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
</script>
|
|
@@ -266,9 +266,9 @@ let CommonService = {
|
|
|
266
266
|
if (cardParams.data.heatamount.includes(';')) {
|
|
267
267
|
let heatamounts = cardParams.data.heatamount.split(';')
|
|
268
268
|
if (heatamounts.length >= 2) {
|
|
269
|
-
result.cnstairgas1 = heatamounts[0] !== '' ? heatamounts[0] :
|
|
270
|
-
result.cnstairgas2 = heatamounts[1] !== '' ? heatamounts[1] :
|
|
271
|
-
result.cnstairgas3 = heatamounts[2] !== '' ? heatamounts[2] :
|
|
269
|
+
result.cnstairgas1 = heatamounts[0] !== '' ? parseInt(heatamounts[0] + result.stairgas1) : result.stairgas1
|
|
270
|
+
result.cnstairgas2 = heatamounts[1] !== '' ? parseInt(heatamounts[1] + result.stairgas2) : result.stairgas2
|
|
271
|
+
result.cnstairgas3 = heatamounts[2] !== '' ? parseInt(heatamounts[2] + result.stairgas3) : result.stairgas3
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
274
|
}
|