sale-client 3.6.396 → 3.6.397
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 +1 -1
- package/src/components/common/userinfo_detail/UserInfoDetailManageNew.vue +11 -11
- package/src/components/revenue/base/rightview/carddetail/EnableManageDetail.vue +5 -1
- package/src/components/revenue/comprehen/insurance/insuranceGuanL.vue +2 -2
- package/src/filiale/alashan/EticketPrint.vue +230 -0
- package/src/filiale/alashan/sale.js +2 -0
- package/src/filiale/rongchuang/EticketPrint.vue +1 -1
- package/src/filiale/rongchuang/bill/EticketRecordList.vue +7 -3
package/package.json
CHANGED
|
@@ -95,12 +95,12 @@
|
|
|
95
95
|
<saletab header="用户重点记录" >
|
|
96
96
|
<user-key-record :row="row" @deal-msg="dealMsg"></user-key-record>
|
|
97
97
|
</saletab>
|
|
98
|
-
<saletab header="报装流转记录" v-if="permission('报装流转记录查看')"
|
|
99
|
-
<supervisory-control :row="row" ></supervisory-control
|
|
100
|
-
</saletab
|
|
101
|
-
<saletab header="报装收费记录" v-if="permission('报装收费记录查看')"
|
|
102
|
-
<apply-charge-search :row="row" ></apply-charge-search
|
|
103
|
-
</saletab
|
|
98
|
+
<!-- <saletab header="报装流转记录" v-if="permission('报装流转记录查看')">-->
|
|
99
|
+
<!-- <supervisory-control :row="row" ></supervisory-control>-->
|
|
100
|
+
<!-- </saletab>-->
|
|
101
|
+
<!-- <saletab header="报装收费记录" v-if="permission('报装收费记录查看')">-->
|
|
102
|
+
<!-- <apply-charge-search :row="row" ></apply-charge-search>-->
|
|
103
|
+
<!-- </saletab>-->
|
|
104
104
|
</saletabbut>
|
|
105
105
|
</div>
|
|
106
106
|
</div>
|
|
@@ -127,8 +127,8 @@
|
|
|
127
127
|
import UserDeviceQuery from './ic_detail/UserDeviceQuery'
|
|
128
128
|
import contractSigningList from './ic_detail/contractSigningList'
|
|
129
129
|
import UserKeyRecord from './ic_detail/UserKeyRecord'
|
|
130
|
-
import SupervisoryControl from './apply_detail/Supervisory/SupervisoryControl'
|
|
131
|
-
import ApplyChargeSearch from './apply_detail/applyCharge/ApplyChargeSearch'
|
|
130
|
+
// import SupervisoryControl from './apply_detail/Supervisory/SupervisoryControl'
|
|
131
|
+
// import ApplyChargeSearch from './apply_detail/applyCharge/ApplyChargeSearch'
|
|
132
132
|
// 导入物联网相关查询
|
|
133
133
|
import QueryInstruct from './iot_detail/QueryInstruct'
|
|
134
134
|
import QueryHistoryInstruct from './iot_detail/QueryHistoryInstruct'
|
|
@@ -170,9 +170,9 @@ export default {
|
|
|
170
170
|
MachineRecordQuery,
|
|
171
171
|
UserDeviceQuery,
|
|
172
172
|
contractSigningList,
|
|
173
|
-
UserKeyRecord
|
|
174
|
-
SupervisoryControl,
|
|
175
|
-
ApplyChargeSearch
|
|
173
|
+
UserKeyRecord
|
|
174
|
+
// SupervisoryControl,
|
|
175
|
+
// ApplyChargeSearch
|
|
176
176
|
},
|
|
177
177
|
data () {
|
|
178
178
|
return {
|
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
</div>
|
|
11
11
|
<div class="row">
|
|
12
12
|
<label class = "col-sm-4">启用原因:</label>
|
|
13
|
-
<pre style="padding:0" class = "col-sm-8">{{model.
|
|
13
|
+
<pre style="padding:0" class = "col-sm-8">{{model.f_comments}}</pre>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="row">
|
|
16
|
+
<label class = "col-sm-4">备注:</label>
|
|
17
|
+
<pre style="padding:0" class = "col-sm-8">{{model.f_othereason}}</pre>
|
|
14
18
|
</div>
|
|
15
19
|
<div class="row">
|
|
16
20
|
<label class = "col-sm-4">操作人:</label>
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
insurancestate: this.$appdata.getParam('保险状态'),
|
|
258
258
|
model: new PagedList('rs/sql/insuranceguanl', 20),
|
|
259
259
|
show: false,
|
|
260
|
-
orgCondtionStr:'',
|
|
260
|
+
orgCondtionStr: '',
|
|
261
261
|
stataDisabled: false,
|
|
262
262
|
criteriaShow: false,
|
|
263
263
|
// 公司下拉
|
|
@@ -321,7 +321,7 @@
|
|
|
321
321
|
},
|
|
322
322
|
selfSearch (args) {
|
|
323
323
|
if (!this.orgCondtionStr) {
|
|
324
|
-
args.condition = `${args.condition}` + ' and f_orgid = ' +
|
|
324
|
+
args.condition = `${args.condition}` + ' and f_orgid = ' + `'${this.$login.f.orgid}'`
|
|
325
325
|
} else {
|
|
326
326
|
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
327
327
|
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto form-horizontal">
|
|
3
|
+
<modal :show.sync="show" v-ref:modal large backdrop="false">
|
|
4
|
+
<header slot="modal-header" class="modal-header">
|
|
5
|
+
<h3 style="color:black" class="modal-title">收费电子发票</h3>
|
|
6
|
+
</header>
|
|
7
|
+
<article slot="modal-body" class="modal-body">
|
|
8
|
+
<div class="row" style="display: flex;justify-content: center;" v-if="!eticket_src">
|
|
9
|
+
{{ return_msg }}
|
|
10
|
+
</div>
|
|
11
|
+
<iframe :src="eticket_src" v-if="eticket_src" width="100%" height="500px">
|
|
12
|
+
</iframe>
|
|
13
|
+
</article>
|
|
14
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
15
|
+
<button type="button" class="btn btn-default" @click="cancel">{{ '关闭' }}</button>
|
|
16
|
+
</footer>
|
|
17
|
+
</modal>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
<script>
|
|
21
|
+
import {HttpResetClass} from 'vue-client'
|
|
22
|
+
import Vue from 'vue'
|
|
23
|
+
import axios from "axios";
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
title: '电子发票',
|
|
27
|
+
data () {
|
|
28
|
+
return {
|
|
29
|
+
eticket_src: '',
|
|
30
|
+
return_msg: '收到开票请求,正在查询开票状态,请稍后',
|
|
31
|
+
show: true
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
props: ['show'],
|
|
35
|
+
ready () {
|
|
36
|
+
},
|
|
37
|
+
methods: {
|
|
38
|
+
cancel () {
|
|
39
|
+
console.log('电子哈哈哈,你走了没')
|
|
40
|
+
this.eticket_src = ''
|
|
41
|
+
this.return_msg = '正在查询中,请稍后'
|
|
42
|
+
this.$dispatch('toggle')
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* src赋值 外部调用
|
|
46
|
+
* */
|
|
47
|
+
watch_ch (src) {
|
|
48
|
+
this.eticket_src = src
|
|
49
|
+
},
|
|
50
|
+
/** 冲红
|
|
51
|
+
* */
|
|
52
|
+
async rushRedInvoice (data) {
|
|
53
|
+
try {
|
|
54
|
+
// 否则正常打票
|
|
55
|
+
let result = await axios.post('/invoice/rs/logic/getInvoice', Object.assign(data, {invoice_type: 1}), {
|
|
56
|
+
resolveMsg: null,
|
|
57
|
+
rejectMsg: '发票冲红失败!!'
|
|
58
|
+
})
|
|
59
|
+
this.return_msg = '冲红成功请前往发票管理页面查看'
|
|
60
|
+
} catch (error) {
|
|
61
|
+
this.return_msg = '冲红失败请前往发票管理页面重试'
|
|
62
|
+
this.$showAlert('电子票冲红出现异常,请联系管理员!!!', 'warning', 5000)
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
*
|
|
67
|
+
* @param id 收费id
|
|
68
|
+
* @param model
|
|
69
|
+
* @param f_charge_type
|
|
70
|
+
* @param is_tax
|
|
71
|
+
* @param invoice_type
|
|
72
|
+
* @param retry
|
|
73
|
+
* @returns {Promise<void>} 如果查到返回url
|
|
74
|
+
*/
|
|
75
|
+
async openETicket (id, model, f_charge_type, invoice_type, retry, is_tax, handplanTableName) {
|
|
76
|
+
console.log('>>> f_invoice_type', invoice_type)
|
|
77
|
+
try {
|
|
78
|
+
let result = await axios.post('/invoice/rs/logic/getInvoice', Object.assign({
|
|
79
|
+
id,
|
|
80
|
+
f_charge_type,
|
|
81
|
+
retry,
|
|
82
|
+
handplanTableName,
|
|
83
|
+
isTax: is_tax === '不征税' ? 0 : 1,
|
|
84
|
+
eticket_id: retry ? model.id : null,
|
|
85
|
+
invoice_kind: invoice_type,
|
|
86
|
+
f_buy_openbank: model.f_paper_account,
|
|
87
|
+
f_buy_phone: model.f_buy_phone,
|
|
88
|
+
bill_type: model.f_print ? model.f_print : null,
|
|
89
|
+
f_paper_name: model.f_paper_name,
|
|
90
|
+
f_taxpayer_id: model.f_taxpayer_id,
|
|
91
|
+
f_address_phone: model.f_address_phone,
|
|
92
|
+
f_email: model.f_email,
|
|
93
|
+
org_id: this.$login.f.orgid,
|
|
94
|
+
bz: model.f_remarks ? model.f_remarks : null,
|
|
95
|
+
loginInfo: {
|
|
96
|
+
operator: Vue.$login.f.name,
|
|
97
|
+
operator_id: Vue.$login.f.id,
|
|
98
|
+
org_id: Vue.$login.f.orgid,
|
|
99
|
+
orgname: Vue.$login.f.orgs,
|
|
100
|
+
dep_id: Vue.$login.f.depids,
|
|
101
|
+
depname: Vue.$login.f.deps
|
|
102
|
+
}
|
|
103
|
+
}, {f_invoice_type: 0}), {
|
|
104
|
+
resolveMsg: null,
|
|
105
|
+
rejectMsg: '发票打印失败!!'
|
|
106
|
+
})
|
|
107
|
+
let res = result
|
|
108
|
+
if (res.code === '9999') {
|
|
109
|
+
this.return_msg = res.msg
|
|
110
|
+
} else {
|
|
111
|
+
this.return_msg = '开票成功,请前往发票管理页面查看'
|
|
112
|
+
}
|
|
113
|
+
} catch (error) {
|
|
114
|
+
this.return_msg = '开票失败请前往发票管理页面重试'
|
|
115
|
+
this.$showAlert('电子发票打印出现异常,请联系管理员!!!', 'warning', 5000)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
//* 公用保存信息接口 弃用 最新电子票接口自己保存 营收不做保存操作
|
|
120
|
+
// async save_msg (obj) {
|
|
121
|
+
// let model = {
|
|
122
|
+
// id: obj.f_eticket_id,
|
|
123
|
+
// f_bill_code: obj.f_bill_code ? obj.f_bill_code : undefined,
|
|
124
|
+
// f_bill_number: obj.f_bill_number ? obj.f_bill_number : undefined,
|
|
125
|
+
// f_jym: obj.f_jym ? obj.f_jym : undefined,
|
|
126
|
+
// f_bill_url: obj.f_bill_url ? obj.f_bill_url : undefined,
|
|
127
|
+
// f_red_url: obj.f_red_url ? obj.f_red_url : undefined,
|
|
128
|
+
// f_bill_state: obj.f_bill_state,
|
|
129
|
+
// f_sign_result: obj.f_sign_result ? obj.f_sign_result : undefined,
|
|
130
|
+
// f_sign_time: obj.f_sign_time ? obj.f_sign_time : undefined
|
|
131
|
+
// }
|
|
132
|
+
// await this.$resetpost('rs/entity/t_eticket', model, {resolveMsg: null, rejectMsg: '保存发票记录失败'})
|
|
133
|
+
// },
|
|
134
|
+
// 弃用 最新电子票接口自己开票组装数据 营收不做组装数据操作
|
|
135
|
+
// async openETicket (sellId, row, show_gas, is_pax, type) {
|
|
136
|
+
// try {
|
|
137
|
+
// let model = {
|
|
138
|
+
// id: sellId,
|
|
139
|
+
// f_charge_type: type,
|
|
140
|
+
// f_dept_id: this.$login.f.depids,
|
|
141
|
+
// f_operator: this.$login.f.name,
|
|
142
|
+
// f_orgid: this.$login.f.orgid,
|
|
143
|
+
// f_orgname: this.$login.f.orgs,
|
|
144
|
+
// f_depname: this.$login.f.deps,
|
|
145
|
+
// f_operatorid: this.$login.f.id,
|
|
146
|
+
// f_filialeids: this.$login.f.f_orgids,
|
|
147
|
+
// f_buy_name: row.f_paper_name,
|
|
148
|
+
// f_pay_id: row.f_taxpayer_id,
|
|
149
|
+
// f_buy_address: row.f_address_phone,
|
|
150
|
+
// f_mail_push: row.f_email,
|
|
151
|
+
// f_buy_openbank: row.f_paper_account,
|
|
152
|
+
// invoice_show_gas: show_gas === '是',
|
|
153
|
+
// is_pax: is_pax === '征税'
|
|
154
|
+
// }
|
|
155
|
+
// console.log('组织开票数据并保存', model)
|
|
156
|
+
// // TODO 组织开票数据并保存
|
|
157
|
+
// let ticket_id = await this.$resetpost('rs/logic/TCcombineData', model, {resolveMsg: null, rejectMsg: '保存开票信息失败'})
|
|
158
|
+
// return this.openEticketGen(ticket_id.data)
|
|
159
|
+
// } catch (error) {
|
|
160
|
+
// this.$showAlert(`电子发票开票失败!!请到发票管理重新开票。错误原因: ${JSON.stringify(error)}。`, 'danger', 0)
|
|
161
|
+
// }
|
|
162
|
+
// },
|
|
163
|
+
/**
|
|
164
|
+
* 电票查询 外部调用
|
|
165
|
+
* 弃用 最新电子票接口自己定时器查询发票 不需要用户手动查询
|
|
166
|
+
* */
|
|
167
|
+
// fp_search (row, ticket_id) {
|
|
168
|
+
// // 通过收费记录id查询
|
|
169
|
+
// let http = new HttpResetClass()
|
|
170
|
+
// http.load('POST', '/invoice/rs/tongchuan/queryInvoice', {eticket_id: ticket_id}, {
|
|
171
|
+
// resolveMsg: null,
|
|
172
|
+
// rejectMsg: null
|
|
173
|
+
// }).then((req) => {
|
|
174
|
+
// if (!req.data.RESPONSE_FPXXXZ) {
|
|
175
|
+
// this.$showAlert('电子票查询出错,暂无错误信息.请联系管理员', 'danger', 5000)
|
|
176
|
+
// return
|
|
177
|
+
// }
|
|
178
|
+
// req = req.data.RESPONSE_FPXXXZ
|
|
179
|
+
// let model
|
|
180
|
+
// if (req.RETURN_CODE === '0000') {
|
|
181
|
+
// if (req.PDF_URL) {
|
|
182
|
+
// model = {
|
|
183
|
+
// id: ticket_id,
|
|
184
|
+
// f_bill_code: req.FPDM,
|
|
185
|
+
// f_bill_number: req.FPHM,
|
|
186
|
+
// f_jym: req.INVOICE_CHECK_CODE,
|
|
187
|
+
// f_bill_url: req.PDF_URL,
|
|
188
|
+
// f_bill_state: '开票成功',
|
|
189
|
+
// f_sign_result: req.RETURN_MESSAGE
|
|
190
|
+
// }
|
|
191
|
+
// this.eticket_src = req.PDF_URL
|
|
192
|
+
// } else if (req.PDF_RED_URL) {
|
|
193
|
+
// model = {
|
|
194
|
+
// id: ticket_id,
|
|
195
|
+
// f_bill_code: req.FPDM,
|
|
196
|
+
// f_bill_number: req.FPHM,
|
|
197
|
+
// f_jym: req.INVOICE_CHECK_CODE,
|
|
198
|
+
// f_red_url: req.PDF_RED_URL,
|
|
199
|
+
// f_bill_state: '冲红',
|
|
200
|
+
// f_sign_result: req.RETURN_MESSAGE
|
|
201
|
+
// }
|
|
202
|
+
// this.eticket_src = req.PDF_RED_URL
|
|
203
|
+
// }
|
|
204
|
+
// } else if (req.RETURN_CODE === '0011') {
|
|
205
|
+
// model = {
|
|
206
|
+
// id: ticket_id,
|
|
207
|
+
// f_bill_state: '等待查询',
|
|
208
|
+
// f_sign_result: req.RETURN_MESSAGE
|
|
209
|
+
// }
|
|
210
|
+
// this.return_msg = '请稍后再试。' + req.RETURN_MESSAGE
|
|
211
|
+
// } else {
|
|
212
|
+
// model = {
|
|
213
|
+
// id: row.id,
|
|
214
|
+
// f_bill_state: '开票失败',
|
|
215
|
+
// f_sign_result: req.RETURN_MESSAGE
|
|
216
|
+
// }
|
|
217
|
+
// this.return_msg = ' 开票失败。' + req.RETURN_MESSAGE
|
|
218
|
+
// }
|
|
219
|
+
// this.$resetpost('rs/entity/t_eticket', model, {resolveMsg: null, rejectMsg: '保存发票记录失败'}).then(
|
|
220
|
+
// res => this.$dispatch('search')
|
|
221
|
+
// )
|
|
222
|
+
// })
|
|
223
|
+
// },
|
|
224
|
+
},
|
|
225
|
+
watch: {},
|
|
226
|
+
events: {}
|
|
227
|
+
}
|
|
228
|
+
</script>
|
|
229
|
+
<style>
|
|
230
|
+
</style>
|
|
@@ -28,4 +28,6 @@ export default function () {
|
|
|
28
28
|
// 当前选择用户的用户基本信息
|
|
29
29
|
Vue.component('sale-userinfo', (resolve) => { require(['./Userinfo'], resolve) })
|
|
30
30
|
Vue.component('user-base-info-new', (resolve) => { require(['./UserBaseInfoNew'], resolve) })
|
|
31
|
+
// 打印发票组件
|
|
32
|
+
Vue.component('ticket-print', (resolve) => { require(['./EticketPrint'], resolve) })
|
|
31
33
|
}
|
|
@@ -72,7 +72,7 @@ export default {
|
|
|
72
72
|
f_buy_phone: row.f_buy_phone,
|
|
73
73
|
f_buy_openbank: row.f_paper_account,
|
|
74
74
|
f_email: row.f_email,
|
|
75
|
-
remarks: row.f_eticket_reason || null,
|
|
75
|
+
remarks: `${row.f_address_phone.substring(0, row.f_address_phone.lastIndexOf(' '))} ` + row.f_eticket_reason || null,
|
|
76
76
|
loginInfo: {
|
|
77
77
|
operator: this.$login.f.name,
|
|
78
78
|
operator_id: this.$login.f.id,
|
|
@@ -317,9 +317,13 @@
|
|
|
317
317
|
})
|
|
318
318
|
},
|
|
319
319
|
async fpch (row) {
|
|
320
|
-
this.
|
|
321
|
-
|
|
322
|
-
|
|
320
|
+
this.$showMessage('是否冲红该发票!', ['confirm', 'cancel']).then(res => {
|
|
321
|
+
if (res === 'confirm') {
|
|
322
|
+
this.eticket_show = true
|
|
323
|
+
console.log('发票冲红')
|
|
324
|
+
this.$refs.eticketbill.rushRedInvoice(row.f_eticket_id.toString())
|
|
325
|
+
}
|
|
326
|
+
})
|
|
323
327
|
},
|
|
324
328
|
getorg (val) {
|
|
325
329
|
this.f_orgid = this.$login.convertToIn(val)
|