sale-client 4.2.34 → 4.2.36

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.
Files changed (98) hide show
  1. package/build/dev-server.js +42 -28
  2. package/package.json +1 -1
  3. package/src/App.vue +1 -1
  4. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  5. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  6. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  7. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  8. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  9. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  10. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  11. package/src/filiale/bayan/StockListmain.vue +543 -543
  12. package/src/filiale/bazhong/UserInfoDetailManageNew.vue +245 -0
  13. package/src/filiale/bazhong/ic_detail/ChangeMeterQueryUser.vue +370 -0
  14. package/src/filiale/bazhong/sale.js +8 -0
  15. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  16. package/src/filiale/fugou/FileManageService.js +1 -1
  17. package/src/filiale/jinhuang/WebHand.vue +1026 -1026
  18. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  19. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  20. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  21. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  22. package/src/filiale/rongcheng/business/CardMeterCenter.vue +455 -455
  23. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  24. package/src/filiale/ronghao/CardService.js +2144 -2144
  25. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  26. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  27. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  28. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  29. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  30. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  31. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  32. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  33. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  34. package/src/filiale/ronghao/Upload.vue +654 -654
  35. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  36. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  37. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  38. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  39. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  40. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  41. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  42. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  43. package/src/filiale/ronghao/specificInformation.vue +537 -537
  44. package/src/filiale/yangchun/ChargeList.vue +954 -954
  45. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  46. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  47. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  48. package/src/main.js +1 -1
  49. package/src/plugins/CardService.js +2217 -2217
  50. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  51. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  52. package/.gradle/5.2.1/gc.properties +0 -0
  53. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  54. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  55. package/.gradle/vcs-1/gc.properties +0 -0
  56. package/src/components/FilesManage/addressts/FileUserFilests.vue +0 -671
  57. package/src/components/FilesManage/ncUserinfoList.vue +0 -315
  58. package/src/components/SellGasCharge/MeterCharge/CardDataRewrite.vue +0 -107
  59. package/src/components/SendCard/SendCardData.vue +0 -208
  60. package/src/components/accounts/accountAdd.vue +0 -276
  61. package/src/components/accounts/accountsList.vue +0 -183
  62. package/src/components/accounts/accountsManage.vue +0 -87
  63. package/src/components/common/chargeinfo/chargeinfo.vue +0 -55
  64. package/src/components/common/userinfo_detail/config/exportConfig.js +0 -85
  65. package/src/components/ncarchives/ncArchivesAdd.vue +0 -468
  66. package/src/components/ncarchives/ncArchivesList.vue +0 -159
  67. package/src/components/ncarchives/ncUserfilesList.vue +0 -373
  68. package/src/components/ncarchives/ncarchivesmanage.vue +0 -80
  69. package/src/components/revenue/IOTArrears/arrears.vue +0 -323
  70. package/src/components/revenue/IOTArrears/iotRechargeAudit.vue +0 -369
  71. package/src/components/revenue/base/rightview/carddetail/cardiotfeeChangeDetail.vue +0 -59
  72. package/src/components/revenue/base/rightview/carddetail/reduceChangeDetail.vue +0 -59
  73. package/src/components/revenue/comprehen/ComprehenOperation/BatchChange/BatchCancellationts.vue +0 -73
  74. package/src/components/revenue/comprehen/ComprehenOperation/BatchChange/BatchEnablets.vue +0 -73
  75. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/ReduceAddGas.vue +0 -199
  76. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icdeductionManage.vue +0 -24
  77. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icdeductionYSManage.vue +0 -24
  78. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icfeeDeduction.vue +0 -185
  79. package/src/components/revenue/comprehen/ComprehenOperation/IcFeeDeduction/icfeeYSDeduction.vue +0 -185
  80. package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/ChangeFlowMeter.vue +0 -356
  81. package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/CorrectionMeter.vue +0 -148
  82. package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackUserList.vue +0 -136
  83. package/src/components/revenue/recordMainten/sellinggas/AddWarehousemain.vue +0 -65
  84. package/src/components/revenue/recordMainten/sellinggas/MeterOperateAdd.vue +0 -483
  85. package/src/components/revenue/recordMainten/sellinggas/MeterOperatemain.vue +0 -279
  86. package/src/components/revenue/recordMainten/sellinggas/MeterOperatemainImport.vue +0 -265
  87. package/src/components/thirdapply/thirdAdd.vue +0 -289
  88. package/src/components/thirdapply/thirdList.vue +0 -162
  89. package/src/components/thirdapply/thirdManage.vue +0 -74
  90. package/src/components/webMeter/InstructQuery.vue +0 -414
  91. package/src/components/webMeter/ParamSet/ParamSet.vue +0 -556
  92. package/src/components/webMeter/ParamSet/ParamSetForm.vue +0 -296
  93. package/src/components/webMeter/WebUserHand.vue +0 -483
  94. package/src/components/webMeter/instructionView/NewQueryInstruct.vue +0 -509
  95. package/src/components/webMeter/instructionView/NewQueryInstructMain.vue +0 -48
  96. package/src/components/webMeter/webManage/NewMeterList.vue +0 -461
  97. package/src/plugins/FileManageServicets.js +0 -214
  98. package/src/plugins/GetImg.js +0 -53
@@ -1,415 +1,415 @@
1
- <template>
2
- <div class="auto">
3
- <validator name='v'>
4
- <form novalidate class="form-horizontal">
5
- <div class="row" style="margin-top:5px;" v-if="config.isPickTable">
6
-
7
- <div class="col-sm-3" :class="[$v.pick.required ? 'select-error' : '']">
8
- <label class=" font_normal_body">是否过表</label>
9
- <input type="text" v-show="false" v-model="$refs.pick.selectedItems"
10
- v-validate:pick='{required: true }'>
11
- <v-select v-model="f_ispick_table"
12
- placeholder='请选择'
13
- :value.sync="model.f_ispick_table"
14
- :options='pickTables'
15
- :value-single="true"
16
- close-on-select clear-button v-ref:pick></v-select>
17
- </div>
18
- </div>
19
-
20
- <div class="row" style="margin-top:5px;">
21
- <label class="radio-inline col-sm-3">
22
- <input type="radio" value="IC卡丢失或损坏" v-model="model.f_type" class="magic-radio" checked id="type_two">
23
- <label for="type_two">IC卡丢失或损坏</label>
24
- <!-- <strong>IC卡丢失或损坏</strong> -->
25
- </label>
26
- <label class="radio-inline col-sm-4" v-if="row.f_meter_type !== '机表'">
27
- <input type="radio" value="IC卡信息错乱" v-model="model.f_type" class="magic-radio" id="type_three">
28
- <label for="type_three">IC卡信息错乱</label>
29
- <!-- <strong>IC卡信息错乱</strong> -->
30
- </label>
31
- <label class="radio-inline col-sm-3" v-if="row.f_meter_type !== '机表'">
32
- <input type="radio" value="其他" v-model="model.f_type" class="magic-radio" id="type_four">
33
- <label for="type_four">其他</label>
34
- <!-- <strong>其他</strong> -->
35
- </label>
36
- </div>
37
-
38
- <div class="row" style="margin-top:10px;" v-if='lose'>
39
- <!-- <div class="col-sm-4" :class="[$v.payment.required ? 'has-error' : '']">-->
40
- <!-- <label class=" font_normal_body" title="参数名称:付款方式">收款方式</label>-->
41
- <!-- <input type="text" v-show="false" v-model="$refs.payment.selectedItems" v-validate:payment='{required: true }'>-->
42
- <!-- <v-select v-model="model.f_payment"-->
43
- <!-- placeholder='请选择'-->
44
- <!-- :value.sync="model.f_payment"-->
45
- <!-- :options='paytype'-->
46
- <!-- v-ref:payment-->
47
- <!-- close-on-select clear-button></v-select>-->
48
- <!-- </div>-->
49
-
50
- <div class="col-sm-4" :class="[$v.printstyle.required ? 'select-error' : '']">
51
- <label for="f_print" class="font_normal_body">打印格式</label>
52
- <input type="text" v-show="false" v-model="$refs.printstyle.selectedItems" v-validate:printstyle='{required: true }'>
53
- <v-select id="print"
54
- v-model="model.f_print"
55
- placeholder='请选择'
56
- :multiple="mulPrint"
57
- :value.sync="model.f_print"
58
- :options='printstyle'
59
- close-on-select clear-button v-ref:printstyle>
60
- </v-select>
61
- </div>
62
- <div class="col-sm-4" :class="[$v.f_cardfees.required ? 'has-error' : '']">
63
- <label class=" font_normal_body">补&emsp;卡&emsp;费</label>
64
- <input class="input_search" style="width:60%" v-validate:f_cardfees='{required: true }' type="number" v-model="model.f_cardfees">
65
- </div>
66
- </div>
67
- <div class="row" style="margin-top:5px;">
68
- <div class="col-sm-4" :class="[$v.f_fill_type.required ? 'select-error' : '']">
69
- <label for="f_print" title="参数名称:补卡种类" class="font_normal_body">补卡种类</label>
70
- <input type="text" v-show="false" v-model="model.f_fill_type" v-validate:f_fill_type='{required: true }'>
71
- <v-select v-model="model.f_fill_type"
72
- placeholder='请选择'
73
- :value.sync="model.f_fill_type"
74
- :options='filltypes'
75
- v-ref:f_fill_type
76
- close-on-select clear-button>
77
- </v-select>
78
- </div>
79
- </div>
80
- <!--<div class="row" style="margin-top:10px;" v-if="model.f_type === '其他'" :class="[$v.f_reason.required ? 'has-error' : 'has-success']">-->
81
- <!--<label for="f_reason" class=" font_normal_body">*补卡原因</label>-->
82
- <!--<input class="input_search" style="width:60%" v-model="model.f_reason" v-validate:f_reason='{required: true }'-->
83
- <!--placeholder="补卡原因" />-->
84
- <!--</div>-->
85
-
86
-
87
-
88
- <div class="row" style="margin-top:5px;">
89
- <label for="f_comments" class="font_normal_body">备&emsp;&emsp;注</label>
90
- <input class="input_search" style="width:87%" v-model="model.f_comments" placeholder="备注">
91
- </div>
92
- </form>
93
- <accept-bill :show="acceptprint" :bill-url='acceptUrl' v-on:toggle="close" :data='row' :billdata="printData" @closeaccept="closeAccept" v-ref:acceptbill></accept-bill>
94
- <validate-bill v-if="hasValidateBill && lose" :data="model" @validate-bill="validateBill"></validate-bill>
95
- <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="close" @printok="printok" :data='row' v-ref:printbill></print-bill>
96
- <ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
97
- <modal :show.sync="eticket_msg" v-ref:modal large backdrop="false" :width="900">
98
- <header slot="modal-header" class="modal-header">
99
- <button type="button" class="close" @click="eticket_msg = false"><span>&times;</span></button>
100
- <h4 class="modal-title">发票信息</h4>
101
- </header>
102
- <article slot="modal-body" class="modal-body">
103
- <div class="auto select-overspread form-horizontal">
104
- <div class="row auto">
105
- <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
106
- <label class="control-label">开票名称:</label>
107
- <input class="form-control col-sm-2" :disabled="true"
108
- v-model="row.f_paper_name" placeholder="开票名称">
109
- </div>
110
- <div class="col-sm-6 form-group form-input-group">
111
- <nobr class="col-sm-4"><label class="control-label">是否征税:</label></nobr>
112
- <v-select v-model="invoice_is_pax"
113
- placeholder='请选择'
114
- :value.sync="invoice_is_pax"
115
- close-on-select
116
- :width="60"
117
- :value-single="true"
118
- :search="false"
119
- :options='is_pax' clear-button>
120
- </v-select>
121
- </div>
122
- <div class="col-sm-12 form-group form-input-group">
123
- <label class="control-label">开户行及账号:</label>
124
- <input class="form-control col-sm-2" :disabled="true"
125
- v-model="row.f_paper_account" placeholder="购方开户行及账号">
126
- </div>
127
- <div class="col-sm-12 form-group form-input-group" >
128
- <label class="control-label">纳税人识别号:</label>
129
- <input class="form-control col-sm-2" :disabled="true"
130
- v-model="row.f_taxpayer_id" placeholder="纳税人识别号">
131
- </div>
132
- <div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
133
- <label class="control-label">开票地址电话:</label>
134
- <input class="form-control col-sm-2" :disabled="true"
135
- v-model="row.f_address_phone" placeholder="开票地址">
136
- </div>
137
- <div class="col-sm-12 form-group form-input-group">
138
- <label class="control-label">邮箱推送:</label>
139
- <input class="form-control col-sm-2" :disabled="true"
140
- v-model="row.f_email" placeholder="邮箱推送">
141
- </div>
142
- </div>
143
- </div>
144
- </article>
145
- <footer slot="modal-footer" class="modal-footer">
146
- <button type="button" class="btn button_search"
147
- :disabled="!(row.f_paper_name&&row.f_address_phone)"
148
- @click='confirm'>确认收费
149
- </button>
150
- </footer>
151
- </modal>
152
- <div style="text-align:right;height:auto;margin-top:30px;margin-right:50px;">
153
- <button class="button_clear" @click="accept()" v-if="config.hasAcceptance">受理单</button>
154
- <payment-code-button :clickable="!$v.valid || validateOk"
155
- :payment.sync="model.f_payment" :payment-data="paytype"
156
- @confirm-payment="confirm()">
157
- </payment-code-button>
158
- <button class="button_search" @click="checkInvoiceMsg()" :disabled='!$v.valid || validateOk'>确认</button>
159
- <button class="button_clear" @click="clean()" >取消</button>
160
- </div>
161
- </validator>
162
-
163
- <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_cardfees"></payment-code>
164
- </div>
165
- <upload :blodid="row.f_userinfo_id" v-if="config.showupload" isremark="true" fusetype="补卡"></upload>
166
-
167
- </template>
168
- <script>
169
- import XML from '../../plugins/ObjTree'
170
- import {HttpResetClass} from 'vue-client'
171
- /**
172
- *综合业务
173
- *补卡管理组件
174
- */
175
-
176
- let asyncReplaceManage = async function (self) {
177
- await self.$getConfig(self, 'ReplaceCardManage')
178
- console.log('补卡config', self.config)
179
- self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
180
- self.model.f_payment = [self.config.payment]
181
- if (self.config.isPickTable) {
182
- self.model.f_ispick_table = '已过表'
183
- }
184
- self.model.f_fill_type = [self.config.filltype]
185
- self.model.f_use_type = self.config.billType
186
- self.model.f_bill_type = self.model.f_print
187
- self.hasValidateBill = self.config.hasBillManage
188
-
189
- self.fillcardChange(self.model.f_type)
190
- }
191
-
192
- export default {
193
- title: '补卡管理',
194
- data () {
195
- return {
196
- config: {
197
- showupload: false, // 控制附件显示
198
- hasPrint: true, // 默认打票
199
- hasBillManage: false, // 默认不启用发票管理
200
- billType: '其他费用', // 票据类型(燃气费,其他费用,调用的发票代码不同)
201
- printType: '普通收据', // 收据/电子票/专用发票/国税发票
202
- payment: '现金缴费',
203
- filltype: '原卡补卡',
204
- hasAcceptance: false, // 是否需要打印受理单
205
- isPickTable: false // 是否添加接表判断(对于那些对次数严格限制的表)
206
- },
207
- resid: [], // 存放新增的f_files表中id
208
- eticket_msg: false,
209
- eticket_show: false,
210
- invoice_is_pax: '征税',
211
- is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
212
- model: {
213
- f_comments: '',
214
- f_type: 'IC卡丢失或损坏',
215
- f_cardfees: '',
216
- f_payment: [],
217
- f_print: [],
218
- f_fill_type: [],
219
- f_replace_time: ''
220
- },
221
- printData: {
222
- reason: '',
223
- cardfee: ''
224
- },
225
- cardallot: null,
226
- lose: false,
227
- f_payment: [],
228
- f_ispick_table: '',
229
- print: false,
230
- billData: {
231
- url: 'api/af-revenue/report/replace_sell',
232
- bill: ''
233
- },
234
- paytype: this.$appdata.getParam('付款方式') ? this.$appdata.getParam('付款方式') : [],
235
- printstyle: this.$appdata.getParam('打印格式') ? this.$appdata.getParam('打印格式') : [],
236
- pickTables: [{label: '已过表', value: '已过表'}, {label: '未过表', value: '未过表'}],
237
- // 启用发票管理需要对票号进行验证
238
- hasValidateBill: false,
239
- validateOk: false,
240
-
241
- acceptprint: false,
242
- acceptUrl: '',
243
- filltypes: this.$appdata.getParam('补卡种类') ? this.$appdata.getParam('补卡种类') : []
244
- }
245
- },
246
- props: ['row', 'cardData'],
247
- ready () {
248
- asyncReplaceManage(this).then(() => {
249
- this.$emit(ready())
250
- }).catch((error) => {
251
- this.$emit('error', error)
252
- })
253
- },
254
- watch: {
255
- 'model.f_type' (val) {
256
- this.fillcardChange(val)
257
- }
258
- },
259
- methods: {
260
- // 校验发票信息
261
- checkInvoiceMsg () {
262
- if (this.model.f_print[0] === '电子发票') {
263
- if (!this.row.f_taxpayer_id) {
264
- this.row.f_taxpayer_id = this.row.f_idnumber
265
- }
266
- if (!this.row.f_paper_name) {
267
- this.row.f_paper_name = this.row.f_user_name
268
- }
269
- if (!this.row.f_address_phone) {
270
- this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
271
- }
272
- if(!this.row.f_email){
273
- this.row.f_email = this.row.f_email
274
- }
275
- this.eticket_msg = true
276
- } else {
277
- this.confirm()
278
- }
279
- },
280
- eticket_toggle () {
281
- this.eticket_show = false
282
- this.$dispatch('success')
283
- },
284
- confirm () {
285
- this.eticket_msg = false
286
- this.$dispatch('no-button')
287
- // 判断是否接表提示
288
- if (this.config.isPickTable) {
289
- this.$showMessage(`您确定客户${this.model.f_ispick_table}了吗?`, ['confirm', 'cancel']).then((res) => {
290
- if (res === 'confirm') {
291
- this.writeCard()
292
- }
293
- })
294
- } else if (this.row.f_meter_type.indexOf('卡表') === -1) {
295
- this.writeCard()
296
- } else {
297
- this.$showMessage(`请确保你已经插入了IC卡`, ['confirm', 'cancel']).then((res) => {
298
- if (res === 'confirm') {
299
- this.writeCard()
300
- }
301
- })
302
- }
303
- },
304
- // 写卡保存数据 迁至此处'
305
- async writeCard () {
306
- // 如果是付款码支付则显示界面扫用户付款码收钱
307
- if (this.model.f_type == 'IC卡丢失或损坏' && this.model.f_cardfees - 0 > 0) {
308
- // 先调用付款码支付组件流程
309
- let ss = await this.$refs.paymentcode.flowPath()
310
- this.$refs.paymentcode.paymentCodeShow = false
311
- console.log('付款码操作返回', ss)
312
- if (!ss.result) return
313
- }
314
- // 加入扫码盒付款码支付流水号
315
- this.model.f_serial_id = this.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
316
- this.row.cardInfo = this.cardData
317
- this.$CardService.replaceCard(this.model, this.row).then(async (res) => {
318
- if (this.config.showupload) {
319
- let param = []
320
- for (let row of this.resid) {
321
- param.push({id: row.id})
322
- }
323
- let data = {
324
- param: param,
325
- f_blobid: res.data.id
326
- }
327
- let http = new HttpResetClass()
328
- await http.load('POST', 'api/af-revenue/logic/updatefiles', data, {resolveMsg: null, rejectMsg: '补卡上传附件失败!!'})
329
-
330
- }
331
- console.log('补卡返回。。', res)
332
- if (this.config.hasPrint && this.lose) {
333
- if (this.config.hasBillManage) {
334
- this.row.id = res.data.id
335
- this.row.f_bill_type = '补卡'
336
- this.row.f_bill_style = this.model.f_print[0]
337
- this.print = true
338
- } else if (this.model.f_print[0] === '电子发票') {
339
- this.row.id = res.data.id
340
- this.eticket_show = true
341
- await this.$refs.eticketbill.openETicket([res.data.id], this.row, '是', this.invoice_is_pax, '补卡费')
342
- } else {
343
- console.log('不保存打票记录')
344
- this.row.id = res.data.id
345
- this.print = true
346
- }
347
- } else {
348
- console.log('我没走打票')
349
- this.$dispatch('success', '补卡管理', this.row, res)
350
- }
351
- }
352
- ).catch(
353
- (error) => {
354
- if (error.status === 603) {
355
- this.$error('重复提交')
356
- return
357
- }
358
- this.$dispatch('error', '补卡管理', this.row, error)
359
- }
360
- )
361
- },
362
- closeAccept () {
363
- this.acceptprint = false
364
- },
365
- accept () {
366
- // 打印受理单
367
- console.log('受累单中model', this.model)
368
- this.printData.reason = this.model.f_comments ? `'${this.model.f_reason}'` : `'${this.model.f_type}'`
369
- this.printData.cardfee = this.model.f_cardfees ? `'${this.model.f_cardfees}'` : `'${0}'`
370
- console.log('受累单中printData', this.printData)
371
- this.acceptUrl = 'api/af-revenue/report/acceptcard_bill'
372
- this.acceptprint = true
373
- },
374
- clean () {
375
- this.$dispatch('refresh')
376
- },
377
- close () {
378
- this.print = false
379
- this.acceptprint = false
380
- this.clean()
381
- },
382
- validateBill (val) {
383
- this.validateOk = !val.isOk
384
- this.billData.bill = val.bill
385
- },
386
- printok () {
387
- // 收据打完,判断是否还有其他票据进行请求 TODO
388
- this.$dispatch('success')
389
- },
390
- fillcardChange (val) {
391
- if (val === 'IC卡丢失或损坏') {
392
- this.lose = true
393
- this.model.f_cardfees = this.$appdata.getSingleValue('默认卡费')
394
- } else {
395
- this.model.f_cardfees = 0
396
- this.lose = false
397
- }
398
- }
399
- },
400
- events: {
401
- // 删除Resid数组元素
402
- 'delResid' (val) {
403
- this.resid.$remove({id: val, f_biobid: ''})
404
- // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
405
- },
406
- // 增加Resid数组元素
407
- 'resid' (val) {
408
- this.resid.push({id: val, f_biobid: ''})
409
- }
410
- }
411
- }
412
- </script>
413
-
414
- <style>
415
- </style>
1
+ <template>
2
+ <div class="auto">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+ <div class="row" style="margin-top:5px;" v-if="config.isPickTable">
6
+
7
+ <div class="col-sm-3" :class="[$v.pick.required ? 'select-error' : '']">
8
+ <label class=" font_normal_body">是否过表</label>
9
+ <input type="text" v-show="false" v-model="$refs.pick.selectedItems"
10
+ v-validate:pick='{required: true }'>
11
+ <v-select v-model="f_ispick_table"
12
+ placeholder='请选择'
13
+ :value.sync="model.f_ispick_table"
14
+ :options='pickTables'
15
+ :value-single="true"
16
+ close-on-select clear-button v-ref:pick></v-select>
17
+ </div>
18
+ </div>
19
+
20
+ <div class="row" style="margin-top:5px;">
21
+ <label class="radio-inline col-sm-3">
22
+ <input type="radio" value="IC卡丢失或损坏" v-model="model.f_type" class="magic-radio" checked id="type_two">
23
+ <label for="type_two">IC卡丢失或损坏</label>
24
+ <!-- <strong>IC卡丢失或损坏</strong> -->
25
+ </label>
26
+ <label class="radio-inline col-sm-4" v-if="row.f_meter_type !== '机表'">
27
+ <input type="radio" value="IC卡信息错乱" v-model="model.f_type" class="magic-radio" id="type_three">
28
+ <label for="type_three">IC卡信息错乱</label>
29
+ <!-- <strong>IC卡信息错乱</strong> -->
30
+ </label>
31
+ <label class="radio-inline col-sm-3" v-if="row.f_meter_type !== '机表'">
32
+ <input type="radio" value="其他" v-model="model.f_type" class="magic-radio" id="type_four">
33
+ <label for="type_four">其他</label>
34
+ <!-- <strong>其他</strong> -->
35
+ </label>
36
+ </div>
37
+
38
+ <div class="row" style="margin-top:10px;" v-if='lose'>
39
+ <!-- <div class="col-sm-4" :class="[$v.payment.required ? 'has-error' : '']">-->
40
+ <!-- <label class=" font_normal_body" title="参数名称:付款方式">收款方式</label>-->
41
+ <!-- <input type="text" v-show="false" v-model="$refs.payment.selectedItems" v-validate:payment='{required: true }'>-->
42
+ <!-- <v-select v-model="model.f_payment"-->
43
+ <!-- placeholder='请选择'-->
44
+ <!-- :value.sync="model.f_payment"-->
45
+ <!-- :options='paytype'-->
46
+ <!-- v-ref:payment-->
47
+ <!-- close-on-select clear-button></v-select>-->
48
+ <!-- </div>-->
49
+
50
+ <div class="col-sm-4" :class="[$v.printstyle.required ? 'select-error' : '']">
51
+ <label for="f_print" class="font_normal_body">打印格式</label>
52
+ <input type="text" v-show="false" v-model="$refs.printstyle.selectedItems" v-validate:printstyle='{required: true }'>
53
+ <v-select id="print"
54
+ v-model="model.f_print"
55
+ placeholder='请选择'
56
+ :multiple="mulPrint"
57
+ :value.sync="model.f_print"
58
+ :options='printstyle'
59
+ close-on-select clear-button v-ref:printstyle>
60
+ </v-select>
61
+ </div>
62
+ <div class="col-sm-4" :class="[$v.f_cardfees.required ? 'has-error' : '']">
63
+ <label class=" font_normal_body">补&emsp;卡&emsp;费</label>
64
+ <input class="input_search" style="width:60%" v-validate:f_cardfees='{required: true }' type="number" v-model="model.f_cardfees">
65
+ </div>
66
+ </div>
67
+ <div class="row" style="margin-top:5px;">
68
+ <div class="col-sm-4" :class="[$v.f_fill_type.required ? 'select-error' : '']">
69
+ <label for="f_print" title="参数名称:补卡种类" class="font_normal_body">补卡种类</label>
70
+ <input type="text" v-show="false" v-model="model.f_fill_type" v-validate:f_fill_type='{required: true }'>
71
+ <v-select v-model="model.f_fill_type"
72
+ placeholder='请选择'
73
+ :value.sync="model.f_fill_type"
74
+ :options='filltypes'
75
+ v-ref:f_fill_type
76
+ close-on-select clear-button>
77
+ </v-select>
78
+ </div>
79
+ </div>
80
+ <!--<div class="row" style="margin-top:10px;" v-if="model.f_type === '其他'" :class="[$v.f_reason.required ? 'has-error' : 'has-success']">-->
81
+ <!--<label for="f_reason" class=" font_normal_body">*补卡原因</label>-->
82
+ <!--<input class="input_search" style="width:60%" v-model="model.f_reason" v-validate:f_reason='{required: true }'-->
83
+ <!--placeholder="补卡原因" />-->
84
+ <!--</div>-->
85
+
86
+
87
+
88
+ <div class="row" style="margin-top:5px;">
89
+ <label for="f_comments" class="font_normal_body">备&emsp;&emsp;注</label>
90
+ <input class="input_search" style="width:87%" v-model="model.f_comments" placeholder="备注">
91
+ </div>
92
+ </form>
93
+ <accept-bill :show="acceptprint" :bill-url='acceptUrl' v-on:toggle="close" :data='row' :billdata="printData" @closeaccept="closeAccept" v-ref:acceptbill></accept-bill>
94
+ <validate-bill v-if="hasValidateBill && lose" :data="model" @validate-bill="validateBill"></validate-bill>
95
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="close" @printok="printok" :data='row' v-ref:printbill></print-bill>
96
+ <ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
97
+ <modal :show.sync="eticket_msg" v-ref:modal large backdrop="false" :width="900">
98
+ <header slot="modal-header" class="modal-header">
99
+ <button type="button" class="close" @click="eticket_msg = false"><span>&times;</span></button>
100
+ <h4 class="modal-title">发票信息</h4>
101
+ </header>
102
+ <article slot="modal-body" class="modal-body">
103
+ <div class="auto select-overspread form-horizontal">
104
+ <div class="row auto">
105
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
106
+ <label class="control-label">开票名称:</label>
107
+ <input class="form-control col-sm-2" :disabled="true"
108
+ v-model="row.f_paper_name" placeholder="开票名称">
109
+ </div>
110
+ <div class="col-sm-6 form-group form-input-group">
111
+ <nobr class="col-sm-4"><label class="control-label">是否征税:</label></nobr>
112
+ <v-select v-model="invoice_is_pax"
113
+ placeholder='请选择'
114
+ :value.sync="invoice_is_pax"
115
+ close-on-select
116
+ :width="60"
117
+ :value-single="true"
118
+ :search="false"
119
+ :options='is_pax' clear-button>
120
+ </v-select>
121
+ </div>
122
+ <div class="col-sm-12 form-group form-input-group">
123
+ <label class="control-label">开户行及账号:</label>
124
+ <input class="form-control col-sm-2" :disabled="true"
125
+ v-model="row.f_paper_account" placeholder="购方开户行及账号">
126
+ </div>
127
+ <div class="col-sm-12 form-group form-input-group" >
128
+ <label class="control-label">纳税人识别号:</label>
129
+ <input class="form-control col-sm-2" :disabled="true"
130
+ v-model="row.f_taxpayer_id" placeholder="纳税人识别号">
131
+ </div>
132
+ <div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
133
+ <label class="control-label">开票地址电话:</label>
134
+ <input class="form-control col-sm-2" :disabled="true"
135
+ v-model="row.f_address_phone" placeholder="开票地址">
136
+ </div>
137
+ <div class="col-sm-12 form-group form-input-group">
138
+ <label class="control-label">邮箱推送:</label>
139
+ <input class="form-control col-sm-2" :disabled="true"
140
+ v-model="row.f_email" placeholder="邮箱推送">
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </article>
145
+ <footer slot="modal-footer" class="modal-footer">
146
+ <button type="button" class="btn button_search"
147
+ :disabled="!(row.f_paper_name&&row.f_address_phone)"
148
+ @click='confirm'>确认收费
149
+ </button>
150
+ </footer>
151
+ </modal>
152
+ <div style="text-align:right;height:auto;margin-top:30px;margin-right:50px;">
153
+ <button class="button_clear" @click="accept()" v-if="config.hasAcceptance">受理单</button>
154
+ <payment-code-button :clickable="!$v.valid || validateOk"
155
+ :payment.sync="model.f_payment" :payment-data="paytype"
156
+ @confirm-payment="confirm()">
157
+ </payment-code-button>
158
+ <button class="button_search" @click="checkInvoiceMsg()" :disabled='!$v.valid || validateOk'>确认</button>
159
+ <button class="button_clear" @click="clean()" >取消</button>
160
+ </div>
161
+ </validator>
162
+
163
+ <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_cardfees"></payment-code>
164
+ </div>
165
+ <upload :blodid="row.f_userinfo_id" v-if="config.showupload" isremark="true" fusetype="补卡"></upload>
166
+
167
+ </template>
168
+ <script>
169
+ import XML from '../../plugins/ObjTree'
170
+ import {HttpResetClass} from 'vue-client'
171
+ /**
172
+ *综合业务
173
+ *补卡管理组件
174
+ */
175
+
176
+ let asyncReplaceManage = async function (self) {
177
+ await self.$getConfig(self, 'ReplaceCardManage')
178
+ console.log('补卡config', self.config)
179
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
180
+ self.model.f_payment = [self.config.payment]
181
+ if (self.config.isPickTable) {
182
+ self.model.f_ispick_table = '已过表'
183
+ }
184
+ self.model.f_fill_type = [self.config.filltype]
185
+ self.model.f_use_type = self.config.billType
186
+ self.model.f_bill_type = self.model.f_print
187
+ self.hasValidateBill = self.config.hasBillManage
188
+
189
+ self.fillcardChange(self.model.f_type)
190
+ }
191
+
192
+ export default {
193
+ title: '补卡管理',
194
+ data () {
195
+ return {
196
+ config: {
197
+ showupload: false, // 控制附件显示
198
+ hasPrint: true, // 默认打票
199
+ hasBillManage: false, // 默认不启用发票管理
200
+ billType: '其他费用', // 票据类型(燃气费,其他费用,调用的发票代码不同)
201
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
202
+ payment: '现金缴费',
203
+ filltype: '原卡补卡',
204
+ hasAcceptance: false, // 是否需要打印受理单
205
+ isPickTable: false // 是否添加接表判断(对于那些对次数严格限制的表)
206
+ },
207
+ resid: [], // 存放新增的f_files表中id
208
+ eticket_msg: false,
209
+ eticket_show: false,
210
+ invoice_is_pax: '征税',
211
+ is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
212
+ model: {
213
+ f_comments: '',
214
+ f_type: 'IC卡丢失或损坏',
215
+ f_cardfees: '',
216
+ f_payment: [],
217
+ f_print: [],
218
+ f_fill_type: [],
219
+ f_replace_time: ''
220
+ },
221
+ printData: {
222
+ reason: '',
223
+ cardfee: ''
224
+ },
225
+ cardallot: null,
226
+ lose: false,
227
+ f_payment: [],
228
+ f_ispick_table: '',
229
+ print: false,
230
+ billData: {
231
+ url: 'api/af-revenue/report/replace_sell',
232
+ bill: ''
233
+ },
234
+ paytype: this.$appdata.getParam('付款方式') ? this.$appdata.getParam('付款方式') : [],
235
+ printstyle: this.$appdata.getParam('打印格式') ? this.$appdata.getParam('打印格式') : [],
236
+ pickTables: [{label: '已过表', value: '已过表'}, {label: '未过表', value: '未过表'}],
237
+ // 启用发票管理需要对票号进行验证
238
+ hasValidateBill: false,
239
+ validateOk: false,
240
+
241
+ acceptprint: false,
242
+ acceptUrl: '',
243
+ filltypes: this.$appdata.getParam('补卡种类') ? this.$appdata.getParam('补卡种类') : []
244
+ }
245
+ },
246
+ props: ['row', 'cardData'],
247
+ ready () {
248
+ asyncReplaceManage(this).then(() => {
249
+ this.$emit(ready())
250
+ }).catch((error) => {
251
+ this.$emit('error', error)
252
+ })
253
+ },
254
+ watch: {
255
+ 'model.f_type' (val) {
256
+ this.fillcardChange(val)
257
+ }
258
+ },
259
+ methods: {
260
+ // 校验发票信息
261
+ checkInvoiceMsg () {
262
+ if (this.model.f_print[0] === '电子发票') {
263
+ if (!this.row.f_taxpayer_id) {
264
+ this.row.f_taxpayer_id = this.row.f_idnumber
265
+ }
266
+ if (!this.row.f_paper_name) {
267
+ this.row.f_paper_name = this.row.f_user_name
268
+ }
269
+ if (!this.row.f_address_phone) {
270
+ this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
271
+ }
272
+ if(!this.row.f_email){
273
+ this.row.f_email = this.row.f_email
274
+ }
275
+ this.eticket_msg = true
276
+ } else {
277
+ this.confirm()
278
+ }
279
+ },
280
+ eticket_toggle () {
281
+ this.eticket_show = false
282
+ this.$dispatch('success')
283
+ },
284
+ confirm () {
285
+ this.eticket_msg = false
286
+ this.$dispatch('no-button')
287
+ // 判断是否接表提示
288
+ if (this.config.isPickTable) {
289
+ this.$showMessage(`您确定客户${this.model.f_ispick_table}了吗?`, ['confirm', 'cancel']).then((res) => {
290
+ if (res === 'confirm') {
291
+ this.writeCard()
292
+ }
293
+ })
294
+ } else if (this.row.f_meter_type.indexOf('卡表') === -1) {
295
+ this.writeCard()
296
+ } else {
297
+ this.$showMessage(`请确保你已经插入了IC卡`, ['confirm', 'cancel']).then((res) => {
298
+ if (res === 'confirm') {
299
+ this.writeCard()
300
+ }
301
+ })
302
+ }
303
+ },
304
+ // 写卡保存数据 迁至此处'
305
+ async writeCard () {
306
+ // 如果是付款码支付则显示界面扫用户付款码收钱
307
+ if (this.model.f_type == 'IC卡丢失或损坏' && this.model.f_cardfees - 0 > 0) {
308
+ // 先调用付款码支付组件流程
309
+ let ss = await this.$refs.paymentcode.flowPath()
310
+ this.$refs.paymentcode.paymentCodeShow = false
311
+ console.log('付款码操作返回', ss)
312
+ if (!ss.result) return
313
+ }
314
+ // 加入扫码盒付款码支付流水号
315
+ this.model.f_serial_id = this.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
316
+ this.row.cardInfo = this.cardData
317
+ this.$CardService.replaceCard(this.model, this.row).then(async (res) => {
318
+ if (this.config.showupload) {
319
+ let param = []
320
+ for (let row of this.resid) {
321
+ param.push({id: row.id})
322
+ }
323
+ let data = {
324
+ param: param,
325
+ f_blobid: res.data.id
326
+ }
327
+ let http = new HttpResetClass()
328
+ await http.load('POST', 'api/af-revenue/logic/updatefiles', data, {resolveMsg: null, rejectMsg: '补卡上传附件失败!!'})
329
+
330
+ }
331
+ console.log('补卡返回。。', res)
332
+ if (this.config.hasPrint && this.lose) {
333
+ if (this.config.hasBillManage) {
334
+ this.row.id = res.data.id
335
+ this.row.f_bill_type = '补卡'
336
+ this.row.f_bill_style = this.model.f_print[0]
337
+ this.print = true
338
+ } else if (this.model.f_print[0] === '电子发票') {
339
+ this.row.id = res.data.id
340
+ this.eticket_show = true
341
+ await this.$refs.eticketbill.openETicket([res.data.id], this.row, '是', this.invoice_is_pax, '补卡费')
342
+ } else {
343
+ console.log('不保存打票记录')
344
+ this.row.id = res.data.id
345
+ this.print = true
346
+ }
347
+ } else {
348
+ console.log('我没走打票')
349
+ this.$dispatch('success', '补卡管理', this.row, res)
350
+ }
351
+ }
352
+ ).catch(
353
+ (error) => {
354
+ if (error.status === 603) {
355
+ this.$error('重复提交')
356
+ return
357
+ }
358
+ this.$dispatch('error', '补卡管理', this.row, error)
359
+ }
360
+ )
361
+ },
362
+ closeAccept () {
363
+ this.acceptprint = false
364
+ },
365
+ accept () {
366
+ // 打印受理单
367
+ console.log('受累单中model', this.model)
368
+ this.printData.reason = this.model.f_comments ? `'${this.model.f_reason}'` : `'${this.model.f_type}'`
369
+ this.printData.cardfee = this.model.f_cardfees ? `'${this.model.f_cardfees}'` : `'${0}'`
370
+ console.log('受累单中printData', this.printData)
371
+ this.acceptUrl = 'api/af-revenue/report/acceptcard_bill'
372
+ this.acceptprint = true
373
+ },
374
+ clean () {
375
+ this.$dispatch('refresh')
376
+ },
377
+ close () {
378
+ this.print = false
379
+ this.acceptprint = false
380
+ this.clean()
381
+ },
382
+ validateBill (val) {
383
+ this.validateOk = !val.isOk
384
+ this.billData.bill = val.bill
385
+ },
386
+ printok () {
387
+ // 收据打完,判断是否还有其他票据进行请求 TODO
388
+ this.$dispatch('success')
389
+ },
390
+ fillcardChange (val) {
391
+ if (val === 'IC卡丢失或损坏') {
392
+ this.lose = true
393
+ this.model.f_cardfees = this.$appdata.getSingleValue('默认卡费')
394
+ } else {
395
+ this.model.f_cardfees = 0
396
+ this.lose = false
397
+ }
398
+ }
399
+ },
400
+ events: {
401
+ // 删除Resid数组元素
402
+ 'delResid' (val) {
403
+ this.resid.$remove({id: val, f_biobid: ''})
404
+ // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
405
+ },
406
+ // 增加Resid数组元素
407
+ 'resid' (val) {
408
+ this.resid.push({id: val, f_biobid: ''})
409
+ }
410
+ }
411
+ }
412
+ </script>
413
+
414
+ <style>
415
+ </style>