sale-client 3.6.501 → 3.6.502
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/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/package.json +1 -1
- package/src/filiale/yangchun/EticketPrint.vue +3 -3
- package/src/filiale/yangchun/EticketV4/CustQueryEticket.vue +5 -0
- package/src/filiale/yangchun/EticketV4/EticketManage.vue +3 -0
- package/src/filiale/yangchun/EticketV4/EticketOpenCard.vue +5 -0
- package/src/filiale/yangchun/EticketV4/EticketOpenJBPage.vue +5 -0
- package/src/filiale/yangchun/EticketV4/EticketOpenPage.vue +5 -2
- package/src/filiale/yangchun/EticketV4/SpecialQueryEticket.vue +365 -0
- package/src/filiale/yangchun/FilesManage/UserGeneralInfoTest.vue +1 -0
- package/src/filiale/yangchun/FilesManage/UserPaperInfoTest.vue +11 -1
- package/src/filiale/yangchun/sale.js +1 -0
- package/.gradle/file-system.probe +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Thu Feb 27 12:01:45 CST 2025
|
|
2
2
|
gradle.version=5.2.1
|
package/package.json
CHANGED
|
@@ -84,14 +84,14 @@ export default {
|
|
|
84
84
|
eticket_id: retry ? model.id : null,
|
|
85
85
|
invoice_kind: invoice_type,
|
|
86
86
|
f_buy_openbank: model.f_paper_account,
|
|
87
|
-
f_buy_phone: model.
|
|
87
|
+
f_buy_phone: model.f_user_phone,
|
|
88
88
|
bill_type: model.f_print ? model.f_print : null,
|
|
89
89
|
f_paper_name: model.f_paper_name,
|
|
90
90
|
f_taxpayer_id: model.f_taxpayer_id,
|
|
91
91
|
f_address_phone: model.f_address_phone,
|
|
92
92
|
f_email: model.f_email,
|
|
93
|
-
f_start_date: model.f_start_date,
|
|
94
|
-
f_end_date: model.f_end_date,
|
|
93
|
+
// f_start_date: model.f_start_date,
|
|
94
|
+
// f_end_date: model.f_end_date,
|
|
95
95
|
f_userinfo_id: model.f_userinfo_id,
|
|
96
96
|
org_id: this.$login.f.orgid,
|
|
97
97
|
bz: model.f_eticket_reason ? model.f_eticket_reason : null,
|
|
@@ -157,6 +157,11 @@
|
|
|
157
157
|
<input class="form-control col-sm-2"
|
|
158
158
|
v-model="row.f_address_phone" placeholder="开票地址">
|
|
159
159
|
</div>
|
|
160
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
161
|
+
<label class="control-label" style="width: 100px">手机推送:</label>
|
|
162
|
+
<input class="form-control col-sm-2"
|
|
163
|
+
v-model="row.f_user_phone" placeholder="手机推送">
|
|
164
|
+
</div>
|
|
160
165
|
<div class="col-sm-12 form-group form-input-group">
|
|
161
166
|
<label class="control-label" style="width: 100px">邮箱推送:</label>
|
|
162
167
|
<input class="form-control col-sm-2"
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
<tabs header="自定义开票" v-if="permission('自定义开票')">
|
|
16
16
|
<cust-query-eticket-query-v4></cust-query-eticket-query-v4>
|
|
17
17
|
</tabs>
|
|
18
|
+
<tabs header="特殊开票" v-if="permission('特殊开票')">
|
|
19
|
+
<e-ticket-special-query-v4></e-ticket-special-query-v4>
|
|
20
|
+
</tabs>
|
|
18
21
|
</tab-button>
|
|
19
22
|
</template>
|
|
20
23
|
|
|
@@ -154,6 +154,11 @@
|
|
|
154
154
|
<input class="form-control col-sm-2"
|
|
155
155
|
v-model="row.f_address_phone" placeholder="开票地址">
|
|
156
156
|
</div>
|
|
157
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
158
|
+
<label class="control-label" style="width: 100px">手机推送:</label>
|
|
159
|
+
<input class="form-control col-sm-2"
|
|
160
|
+
v-model="row.f_user_phone" placeholder="手机推送">
|
|
161
|
+
</div>
|
|
157
162
|
<div class="col-sm-12 form-group form-input-group">
|
|
158
163
|
<label class="control-label" style="width: 100px">邮箱推送:</label>
|
|
159
164
|
<input class="form-control col-sm-2"
|
|
@@ -153,6 +153,11 @@
|
|
|
153
153
|
<input class="form-control col-sm-2"
|
|
154
154
|
v-model="row.f_address_phone" placeholder="开票地址">
|
|
155
155
|
</div>
|
|
156
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
157
|
+
<label class="control-label" style="width: 100px">手机推送:</label>
|
|
158
|
+
<input class="form-control col-sm-2"
|
|
159
|
+
v-model="row.f_user_phone" placeholder="手机推送">
|
|
160
|
+
</div>
|
|
156
161
|
<div class="col-sm-12 form-group form-input-group">
|
|
157
162
|
<label class="control-label" style="width: 100px">邮箱推送:</label>
|
|
158
163
|
<input class="form-control col-sm-2"
|
|
@@ -139,6 +139,11 @@
|
|
|
139
139
|
<input class="form-control col-sm-2"
|
|
140
140
|
v-model="row.f_address_phone" placeholder="开票地址">
|
|
141
141
|
</div>
|
|
142
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
143
|
+
<label class="control-label" style="width: 100px">手机推送:</label>
|
|
144
|
+
<input class="form-control col-sm-2"
|
|
145
|
+
v-model="row.f_user_phone" placeholder="手机推送">
|
|
146
|
+
</div>
|
|
142
147
|
<div class="col-sm-12 form-group form-input-group">
|
|
143
148
|
<label class="control-label" style="width: 100px">邮箱推送:</label>
|
|
144
149
|
<input class="form-control col-sm-2"
|
|
@@ -278,8 +283,6 @@ export default {
|
|
|
278
283
|
}
|
|
279
284
|
}, {resolveMsg: null, rejectMsg: '获取地址失败!'})
|
|
280
285
|
console.log('查询到的记录:', row)
|
|
281
|
-
this.row.f_start_date = `${this.model.model.f_start_date} 00:00:00`
|
|
282
|
-
this.row.f_end_date = `${this.model.model.f_end_date} 23:59:59`
|
|
283
286
|
this.$refs.eticketbill.openETicket(row.data.map(item => item.id), this.row, '物联网结算', this.row.f_paper_type, false, this.invoice_is_pax, 't_web_handplan')
|
|
284
287
|
},
|
|
285
288
|
selfSearch (args) {
|
|
@@ -0,0 +1,365 @@
|
|
|
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 placeholder="开始日期"
|
|
53
|
+
v-model="model.startDate"
|
|
54
|
+
:value.sync="model.startDate"
|
|
55
|
+
:disabled-days-of-Week="[]"
|
|
56
|
+
style="width:60%"
|
|
57
|
+
class="datepicker"
|
|
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
|
+
style="width:60%"
|
|
68
|
+
>
|
|
69
|
+
</datepicker>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</criteria>
|
|
74
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
|
75
|
+
<template partial='head'>
|
|
76
|
+
<th>
|
|
77
|
+
<input type="checkbox" @click="$parent.$parent.$parent.addOrRemove($parent.$parent.$parent.selectAll)"
|
|
78
|
+
style="width: 22px;height: 22px" :checked="$parent.$parent.$parent.selectAll">
|
|
79
|
+
</th>
|
|
80
|
+
<tr>
|
|
81
|
+
<th>序号</th>
|
|
82
|
+
<th>客户编号</th>
|
|
83
|
+
<th>用户姓名</th>
|
|
84
|
+
<th>用户地址</th>
|
|
85
|
+
<th>气量</th>
|
|
86
|
+
<th>应交金额</th>
|
|
87
|
+
<th>实收金额</th>
|
|
88
|
+
<th>收费类型</th>
|
|
89
|
+
<th>收费时间</th>
|
|
90
|
+
<th>操作</th>
|
|
91
|
+
</tr>
|
|
92
|
+
</template>
|
|
93
|
+
<template partial='body' >
|
|
94
|
+
<td style="text-align:center">
|
|
95
|
+
<input type="checkbox" v-model="$parent.$parent.$parent.selecteds" :value="row"
|
|
96
|
+
style="width: 22px;height: 22px" @click="$parent.$parent.$parent.checkbox($index, $event)">
|
|
97
|
+
</td>
|
|
98
|
+
<td style="text-align:center">{{$index+1}}</td>
|
|
99
|
+
<td style="text-align:center">{{row.f_userinfo_code}}</td>
|
|
100
|
+
<td style="text-align:center">{{row.f_user_name}}</td>
|
|
101
|
+
<td style="text-align:center">{{row.f_address}}</td>
|
|
102
|
+
<td style="text-align:center">{{row.f_pregas}}</td>
|
|
103
|
+
<td style="text-align:center">{{row.f_preamount}}</td>
|
|
104
|
+
<td style="text-align:center">{{row.f_collection}}</td>
|
|
105
|
+
<td style="text-align:center">{{row.f_type}}</td>
|
|
106
|
+
<td style="text-align:center">{{row.f_operate_date}}</td>
|
|
107
|
+
<td>
|
|
108
|
+
<button class="btn btn-link" @click="$parent.$parent.$parent.kp(row)">开具发票</button>
|
|
109
|
+
</td>
|
|
110
|
+
</template>
|
|
111
|
+
<template partial='foot'></template>
|
|
112
|
+
</data-grid>
|
|
113
|
+
</criteria-paged>
|
|
114
|
+
</div>
|
|
115
|
+
<modal :show.sync="eticket_msg" v-ref:modal large backdrop="false" :width="900">
|
|
116
|
+
<header slot="modal-header" class="modal-header">
|
|
117
|
+
<button type="button" class="close" @click="eticket_msg = false"><span>×</span></button>
|
|
118
|
+
<h4 class="modal-title">发票信息</h4>
|
|
119
|
+
</header>
|
|
120
|
+
<article slot="modal-body" class="modal-body">
|
|
121
|
+
<div class="auto select-overspread form-horizontal">
|
|
122
|
+
<div class="row auto">
|
|
123
|
+
<div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
|
|
124
|
+
<label class="control-label" style="width: 100px">开票名称:</label>
|
|
125
|
+
<input class="form-control col-sm-2"
|
|
126
|
+
v-model="row.f_paper_name" placeholder="开票名称" :disabled="true">
|
|
127
|
+
</div>
|
|
128
|
+
<div class="col-sm-6 form-group form-input-group" :class="[!invoice_is_pax ? 'has-error' : '']">
|
|
129
|
+
<nobr class="col-sm-4"><label class="control-label" style="width: 100px">是否征税:</label></nobr>
|
|
130
|
+
<v-select v-model="invoice_is_pax"
|
|
131
|
+
placeholder='请选择'
|
|
132
|
+
:value.sync="invoice_is_pax"
|
|
133
|
+
close-on-select
|
|
134
|
+
:width="60"
|
|
135
|
+
:value-single="true"
|
|
136
|
+
:search="false"
|
|
137
|
+
:options='is_pax' clear-button>
|
|
138
|
+
</v-select>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_type || !row.f_paper_type === '' ? 'has-error' : '']">
|
|
141
|
+
<label class="control-label" style="width: 100px">发票种类:</label>
|
|
142
|
+
<v-select v-model="row.f_paper_type"
|
|
143
|
+
placeholder='请选择'
|
|
144
|
+
:value.sync="row.f_paper_type"
|
|
145
|
+
close-on-select
|
|
146
|
+
:width="60"
|
|
147
|
+
:value-single="true"
|
|
148
|
+
:search="false"
|
|
149
|
+
:options='invoice_types' clear-button>
|
|
150
|
+
</v-select>
|
|
151
|
+
</div>
|
|
152
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
153
|
+
<label class="control-label" style="width: 100px">开户行及账号:</label>
|
|
154
|
+
<input class="form-control col-sm-2"
|
|
155
|
+
v-model="row.f_paper_account" placeholder="购方开户行及账号">
|
|
156
|
+
</div>
|
|
157
|
+
<div class="col-sm-12 form-group form-input-group" >
|
|
158
|
+
<label class="control-label" style="width: 100px">纳税人识别号:</label>
|
|
159
|
+
<input class="form-control col-sm-2"
|
|
160
|
+
v-model="row.f_taxpayer_id" placeholder="纳税人识别号">
|
|
161
|
+
</div>
|
|
162
|
+
<div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
|
|
163
|
+
<label class="control-label" style="width: 100px">开票地址电话:</label>
|
|
164
|
+
<input class="form-control col-sm-2"
|
|
165
|
+
v-model="row.f_address_phone" placeholder="开票地址">
|
|
166
|
+
</div>
|
|
167
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
168
|
+
<label class="control-label" style="width: 100px">手机推送:</label>
|
|
169
|
+
<input class="form-control col-sm-2"
|
|
170
|
+
v-model="row.f_user_phone" placeholder="手机推送">
|
|
171
|
+
</div>
|
|
172
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
173
|
+
<label class="control-label" style="width: 100px">邮箱推送:</label>
|
|
174
|
+
<input class="form-control col-sm-2"
|
|
175
|
+
v-model="row.f_email" placeholder="邮箱推送">
|
|
176
|
+
</div>
|
|
177
|
+
<div class="col-sm-12 form-group form-input-group">
|
|
178
|
+
<label class="control-label" style="width: 100px">备注:</label>
|
|
179
|
+
<input class="form-control col-sm-2"
|
|
180
|
+
v-model="row.f_remarks" placeholder="备注">
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</article>
|
|
185
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
186
|
+
<button type="button" class="btn button_search"
|
|
187
|
+
:disabled="!(row.f_paper_name&&row.f_paper_type&&invoice_is_pax&&row.f_paper_type!== '')"
|
|
188
|
+
@click='confirm'>确认开票
|
|
189
|
+
</button>
|
|
190
|
+
</footer>
|
|
191
|
+
</modal>
|
|
192
|
+
<ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
|
|
193
|
+
</template>
|
|
194
|
+
|
|
195
|
+
<script>
|
|
196
|
+
/**
|
|
197
|
+
*发票冲红管理
|
|
198
|
+
*/
|
|
199
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
200
|
+
import Vue from 'vue'
|
|
201
|
+
export default {
|
|
202
|
+
title: '结算开票',
|
|
203
|
+
data () {
|
|
204
|
+
return {
|
|
205
|
+
criteriaShow: false,
|
|
206
|
+
f_filialeids: Vue.$login.f.orgids,
|
|
207
|
+
model: new PagedList('rs/sql/open_eTicket_special_query', 50, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}),
|
|
208
|
+
f_outlets: Vue.$login.f.f_parentname,
|
|
209
|
+
f_filiale: Vue.$login.f.f_fengongsi,
|
|
210
|
+
f_operator: Vue.$login.f.name,
|
|
211
|
+
f_orgstr: Vue.$login.f.orgpathstr,
|
|
212
|
+
invoice_types: this.$appdata.getParam('发票种类'),
|
|
213
|
+
invoice_is_pax: '征税',
|
|
214
|
+
is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
|
|
215
|
+
selecteds: [],
|
|
216
|
+
eticket_show: false,
|
|
217
|
+
eticket_msg: false,
|
|
218
|
+
invoice_show_gas: '否',
|
|
219
|
+
show_gas: [{label: '是', value: '是'}, {label: '否', value: '否'}],
|
|
220
|
+
row: {},
|
|
221
|
+
disabled: false,
|
|
222
|
+
printstyle: this.$appdata.getParam('打印电子格式') ? this.$appdata.getParam('打印电子格式') : [{label: '电子发票', value: '电子发票'}],
|
|
223
|
+
mid: [{label: '全部', value: ''}, {label: '是', value: ' > 0 '}, {label: '否', value: ' is null'}]
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
ready () {
|
|
227
|
+
this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
|
|
228
|
+
this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
229
|
+
},
|
|
230
|
+
methods: {
|
|
231
|
+
async kp (row) {
|
|
232
|
+
let HttpReset = new HttpResetClass()
|
|
233
|
+
let _row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
|
|
234
|
+
data: {
|
|
235
|
+
orderitem: 'f_userinfo_code',
|
|
236
|
+
condition: `f_userinfo_code = '${row.f_userinfo_code}'`
|
|
237
|
+
}
|
|
238
|
+
}, {resolveMsg: null, rejectMsg: '获取地址失败!'})
|
|
239
|
+
this.row = _row.data[0]
|
|
240
|
+
this.row.id = row.id
|
|
241
|
+
this.row.f_type = row.f_type
|
|
242
|
+
this.invoice_show_gas = this.row.f_collection_type === '按气量' ? '是' : '否'
|
|
243
|
+
if (!this.row.f_paper_name) {
|
|
244
|
+
this.row.f_paper_name = this.row.f_user_name
|
|
245
|
+
}
|
|
246
|
+
if (!this.row.f_address_phone) {
|
|
247
|
+
this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
|
|
248
|
+
}
|
|
249
|
+
this.eticket_msg = true
|
|
250
|
+
},
|
|
251
|
+
closeEticket () {
|
|
252
|
+
this.eticket_msg = false
|
|
253
|
+
this.disabled = false
|
|
254
|
+
},
|
|
255
|
+
getorg (val) {
|
|
256
|
+
this.f_orgid = this.$login.convertToIn(val)
|
|
257
|
+
this.f_filialeids = val[0]
|
|
258
|
+
},
|
|
259
|
+
cancel () {
|
|
260
|
+
this.show = false
|
|
261
|
+
this.info = {}
|
|
262
|
+
},
|
|
263
|
+
async open_eTicket () {
|
|
264
|
+
if (this.selecteds.length === 0) {
|
|
265
|
+
this.$showAlert('请先选择需要开票的记录!!', 'warning', 2000)
|
|
266
|
+
return
|
|
267
|
+
}
|
|
268
|
+
// 获取所有选中的收费类型
|
|
269
|
+
const chargeType = this.selecteds.map(item => item.f_type)
|
|
270
|
+
if (new Set(chargeType).size !== 1) {
|
|
271
|
+
this.$showAlert('选择的多条记录业务类型不一致!!', 'warning', 2000)
|
|
272
|
+
return
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// 获取所有选中用户的用户编号,使用 IN 查询
|
|
276
|
+
const userInfoCodes = [...new Set(this.selecteds.map(item => item.f_userinfo_code))].join("','");
|
|
277
|
+
|
|
278
|
+
// 获取第一条记录的用户信息
|
|
279
|
+
let HttpReset = new HttpResetClass()
|
|
280
|
+
let row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
|
|
281
|
+
data: {
|
|
282
|
+
orderitem: 'f_userinfo_code',
|
|
283
|
+
condition: `f_userinfo_code in ('${userInfoCodes}')`
|
|
284
|
+
}
|
|
285
|
+
}, {resolveMsg: null, rejectMsg: '获取用户信息失败!'})
|
|
286
|
+
|
|
287
|
+
// 提取所有用户的税号
|
|
288
|
+
const taxpayerIds = row.data.map(item => item.f_taxpayer_id)
|
|
289
|
+
// 检查所有税号是否一致
|
|
290
|
+
if (new Set(taxpayerIds).size !== 1) {
|
|
291
|
+
this.$showAlert('多条用户税号不一致或该用户不正常!!', 'warning', 2000)
|
|
292
|
+
return
|
|
293
|
+
}else if (taxpayerIds[0] === null || taxpayerIds[0] === '') {
|
|
294
|
+
this.$showAlert('用户税号为空,无法判断是否同一税号!!', 'warning', 2000)
|
|
295
|
+
return
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
this.row = row.data[0]
|
|
299
|
+
this.row.f_type = chargeType[0]
|
|
300
|
+
this.row.id = this.selecteds.map(item => item.id) // 设置为所有选中的ID
|
|
301
|
+
|
|
302
|
+
// 设置发票默认信息
|
|
303
|
+
this.invoice_show_gas = this.row.f_collection_type === '按气量' ? '是' : '否'
|
|
304
|
+
this.row.f_paper_name = this.row.f_user_name
|
|
305
|
+
this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
|
|
306
|
+
|
|
307
|
+
// 如果税号为空,则使用用户的身份证号(或其他默认值)
|
|
308
|
+
if (!this.row.f_taxpayer_id) {
|
|
309
|
+
this.row.f_taxpayer_id = this.row.f_idnumber
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
this.eticket_msg = true
|
|
313
|
+
},
|
|
314
|
+
confirm () {
|
|
315
|
+
console.log('确认开票', this.row)
|
|
316
|
+
// this.row.f_print = this.invoice_is_pax
|
|
317
|
+
this.row.invoice_is_pax = this.invoice_is_pax
|
|
318
|
+
this.eticket_msg = false
|
|
319
|
+
this.disabled = false
|
|
320
|
+
this.eticket_show = true
|
|
321
|
+
this.$refs.eticketbill.openETicket(this.row.id, this.row, this.row.f_type, this.row.f_paper_type, false, this.invoice_is_pax)
|
|
322
|
+
},
|
|
323
|
+
eticket_toggle () {
|
|
324
|
+
this.eticket_show = false
|
|
325
|
+
this.search()
|
|
326
|
+
},
|
|
327
|
+
async selfSearch (args) {
|
|
328
|
+
if (!this.f_orgid) {
|
|
329
|
+
this.getorg([this.$login.f.orgid])
|
|
330
|
+
}
|
|
331
|
+
args.condition = ` f_orgid='${this.f_filialeids}' and ${args.condition}`
|
|
332
|
+
|
|
333
|
+
await this.model.search(args.condition, this.model, {startDate: args.model.startDate, endDate: args.model.endDate})
|
|
334
|
+
this.addOrRemove(true)
|
|
335
|
+
},
|
|
336
|
+
search () {
|
|
337
|
+
this.$refs.paged.$refs.cri.search()
|
|
338
|
+
this.$dispatch('refresh')
|
|
339
|
+
},
|
|
340
|
+
addOrRemove (is) {
|
|
341
|
+
this.selecteds = []
|
|
342
|
+
if (!is) { // 添加本页所有数据到ids中
|
|
343
|
+
this.model.rows.forEach((row) => {
|
|
344
|
+
this.selecteds.push(row)
|
|
345
|
+
})
|
|
346
|
+
this.selectAll = true
|
|
347
|
+
} else { // 从ids中取消所有的数据
|
|
348
|
+
this.selecteds = []
|
|
349
|
+
this.selectAll = false
|
|
350
|
+
}
|
|
351
|
+
console.log('selectdde', this.selecteds)
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
computed: {
|
|
355
|
+
chargetypes () {
|
|
356
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费类型')]
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
watch: {
|
|
360
|
+
selecteds () {
|
|
361
|
+
console.log('框框的长度', this.selecteds.length)
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
</script>
|
|
@@ -439,6 +439,7 @@ export default {
|
|
|
439
439
|
this.data.baseinfo.base.f_user_name = Util.removerUnnecessary(this.data.baseinfo.base.f_user_name)
|
|
440
440
|
this.data.baseinfo.base.f_user_phone = Util.removerUnnecessary(this.data.baseinfo.base.f_user_phone)
|
|
441
441
|
this.data.baseinfo.base.f_paper_name = Util.removerUnnecessary(this.data.baseinfo.base.f_user_name)
|
|
442
|
+
this.data.baseinfo.base.f_is_special = this.data.baseinfo.base.f_is_special
|
|
442
443
|
console.log('档案保存之前,再看下。。。', this.data.baseinfo.base.f_paper_name)
|
|
443
444
|
this.data.meterinfo.forEach((item) => {
|
|
444
445
|
item.f_meternumber = Util.removerUnnecessary(item.f_meternumber)
|
|
@@ -46,6 +46,15 @@
|
|
|
46
46
|
v-model="baseinfo.base.f_email">
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
|
+
<div class="row">
|
|
50
|
+
<div class="col-sm-4 form-group">
|
|
51
|
+
<label class="font_normal_body" for="f_is_special">是否特殊用户</label>
|
|
52
|
+
<v-select :options='isSpecial'
|
|
53
|
+
:value-single="true"
|
|
54
|
+
:value.sync="baseinfo.base.f_is_special" close-on-select
|
|
55
|
+
placeholder='是否特殊用户'></v-select>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
49
58
|
|
|
50
59
|
</form>
|
|
51
60
|
</div>
|
|
@@ -55,7 +64,8 @@ export default {
|
|
|
55
64
|
title: '基本信息',
|
|
56
65
|
data () {
|
|
57
66
|
return {
|
|
58
|
-
papertype: this.$appdata.getParam('票据类型') ? [{label: '请选择', value: ''}, ...this.$appdata.getParam('票据类型')] : []
|
|
67
|
+
papertype: this.$appdata.getParam('票据类型') ? [{label: '请选择', value: ''}, ...this.$appdata.getParam('票据类型')] : [],
|
|
68
|
+
isSpecial :[{label: '是', value: 1}, {label: '否', value: 2}]
|
|
59
69
|
}
|
|
60
70
|
},
|
|
61
71
|
props: ['baseinfo']
|
|
@@ -70,6 +70,7 @@ export default function () {
|
|
|
70
70
|
Vue.component('e-ticket-open-card-query-v4', (resolve) => { require(['./EticketV4/EticketOpenCard'], resolve) })
|
|
71
71
|
// 自定义开票
|
|
72
72
|
Vue.component('cust-query-eticket-query-v4', (resolve) => { require(['./EticketV4/CustQueryEticket'], resolve) })
|
|
73
|
+
Vue.component('e-ticket-special-query-v4', (resolve) => { require(['./EticketV4/SpecialQueryEticket'], resolve) })
|
|
73
74
|
// 发票打印
|
|
74
75
|
Vue.component('ticket-print', (resolve) => { require(['./EticketPrint'], resolve) })
|
|
75
76
|
// 发票记录列表
|
|
Binary file
|