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,428 +1,428 @@
1
- <template>
2
- <div class="auto basic-main" style="height:95%">
3
- <criteria-paged :model="model" v-ref:paged @sort="sort">
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="form-group col-sm-2">
8
- <label class="font_normal_body">客户编号</label>
9
- <input type="text" class="form-control" v-model="model.f_userinfo_code" style="width:60%"
10
- condition="f_userinfo_code = '{}' " placeholder="客户编号"
11
- >
12
- </div>
13
- <div class="form-group col-sm-2">
14
- <label class="font_normal_body">用户姓名</label>
15
- <input type="text" class="form-control" v-model="model.f_user_name" style="width:60%"
16
- condition="f_user_name = '{}'" placeholder="用户姓名"
17
- >
18
- </div>
19
- <div class="form-group col-sm-2">
20
- <label class="font_normal_body">客户地址</label>
21
- <input type="text" class="form-control" v-model="model.f_buy_address_phone" style="width:60%"
22
- condition="f_buy_address_phone like '%{}%'" placeholder="客户地址"
23
- >
24
- </div>
25
- <div class="form-group col-sm-2">
26
- <label class="font_normal_body">票据状态</label>
27
- <v-select id="f_bill_state"
28
- style="width:60%"
29
- v-model="model.f_bill_state"
30
- placeholder='票据状态'
31
- condition="f_bill_state ='{}'"
32
- :value.sync="model.f_bill_state"
33
- :options='$parent.$parent.eticktypes'
34
- :search="false"
35
- close-on-select clear-button>
36
- </v-select>
37
- </div>
38
- <div class="form-group col-sm-2">
39
- <label class="font_normal_body">开票人&nbsp;&nbsp;</label>
40
- <v-select id="f_operator"
41
- style="width:60%"
42
- v-model="model.f_operator"
43
- placeholder='开票人'
44
- condition="f_operator ='{}'"
45
- :value.sync="model.f_operator"
46
- :options='$parent.$parent.drawers'
47
- :search="false"
48
- close-on-select clear-button>
49
- </v-select>
50
- </div>
51
- <div style="float: right">
52
- <button class="button_search" @click="search()">查 询</button>
53
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
54
- <export-excel :data="$parent.$parent.getCondition"
55
- :field="$parent.$parent.fields"
56
- sqlurl="api/af-revenue/logic/saleExport" sql-name="eticket_query"
57
- template-name='发票记录导出'
58
- :choose-col="true">
59
- </export-excel>
60
- <div
61
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
62
- @click="$parent.$parent.criteriaShow=!$parent.$parent.criteriaShow"
63
- class="button_spacing"
64
- style="float: right"></div>
65
- </div>
66
- </div>
67
- <div class="row" v-show="$parent.$parent.criteriaShow">
68
- <div class="form-group col-sm-2">
69
- <label class="font_normal_body">开票日期</label>
70
- <datepicker id="f_operate_datestarthate" placeholder="开始日期"
71
- v-model="model.f_operate_datestarthate"
72
- :value.sync="model.f_operate_datestarthate"
73
- format="yyyy-MM-dd"
74
- condition="f_operate_date >= '{} 00:00:00'"
75
- style="width:60%">
76
- </datepicker>
77
- </div>
78
- <div class="form-group col-sm-2">
79
- <label class="font_normal_body">&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
80
- <datepicker id="f_operate_dateendDate" placeholder="结束日期"
81
- v-model="model.f_operate_dateendDate"
82
- :value.sync="model.f_operate_dateendDate"
83
- format="yyyy-MM-dd"
84
- condition=" f_operate_date <= '{} 23:59:59'"
85
- style="width:60%">
86
- </datepicker>
87
- </div>
88
- <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
89
- <label class="font_normal_body">发票金额</label>
90
- <div class="row">
91
- <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_small"
92
- condition="f_total_money >= {} " placeholder="">
93
- <label class="font_normal_body"> ≤ x ≤ </label>
94
- <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_big"
95
- condition="f_total_money <= {} " placeholder="">
96
- </div>
97
- </div>
98
- <div class="form-group col-sm-2">
99
- <label class="font_normal_body">收款人&nbsp;&nbsp;</label>
100
- <v-select id="sell_operator"
101
- style="width:60%"
102
- v-model="model.sell_operator"
103
- placeholder='收款人'
104
- condition="(s.sell_operator = '{}' or other.sell_operator = '{}') "
105
- :value.sync="model.sell_operator"
106
- :options='$parent.$parent.recipients'
107
- :search="false"
108
- close-on-select clear-button>
109
- </v-select>
110
- </div>
111
- <div class="col-sm-2 form-group">
112
- <label class="font_normal_body">用户类型</label>
113
- <v-select :value.sync="model.f_user_type"
114
- :options='$parent.$parent.usertypes'
115
- placeholder='请选择' v-model="model.f_user_type"
116
- condition="(s.f_user_type = '{}' or uf.f_user_type = '{}') "
117
- close-on-select></v-select>
118
- </div>
119
- </div>
120
- <div class="row" v-show="$parent.$parent.criteriaShow">
121
- <div class="form-group col-sm-2">
122
- <label class="font_normal_body">发票号码&nbsp;&nbsp;</label>
123
- <input type="text" class="form-control" v-model="model.f_bill_number" style="width:60%"
124
- condition="f_bill_number = '{}'" placeholder="发票号码"
125
- >
126
- </div>
127
- <div class="form-group col-sm-2">
128
- <label class="font_normal_body">发票类型</label>
129
- <v-select id="f_invoice_category"
130
- style="width:60%"
131
- v-model="model.f_invoice_category"
132
- placeholder='票据状态'
133
- condition="f_invoice_category ='{}'"
134
- :value.sync="model.f_invoice_category"
135
- :options='$parent.$parent.eticketcategory'
136
- :search="false"
137
- close-on-select clear-button>
138
- </v-select>
139
- </div>
140
- </div>
141
- </div>
142
- </criteria>
143
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
144
- <template partial='head'>
145
- <tr>
146
- <th>
147
- <nobr>客户编号</nobr>
148
- </th>
149
- <th>
150
- <nobr>客户姓名</nobr>
151
- </th>
152
- <th>
153
- <nobr>客户地址电话</nobr>
154
- </th>
155
- <th>
156
- <nobr>用户类型</nobr>
157
- </th>
158
- <th>
159
- <data-order field="f_total_money" name="实收金额"
160
- :order.sync="$parent.$parent.$parent.orderFields.f_collection"></data-order>
161
- </th>
162
- <th>
163
- <data-order field="f_total_money" name="开票金额"
164
- :order.sync="$parent.$parent.$parent.orderFields.f_total_money"></data-order>
165
- </th>
166
- <th>
167
- <nobr>发票号码</nobr>
168
- </th>
169
- <th>
170
- <nobr>发票状态</nobr>
171
- </th>
172
- <th>
173
- <nobr>失败原因</nobr>
174
- </th>
175
- <th>
176
- <nobr>业务类型</nobr>
177
- </th>
178
- <th>
179
- <nobr>开票描述</nobr>
180
- </th>
181
- <th>
182
- <nobr>收费时间</nobr>
183
- </th>
184
- <th>
185
- <nobr>开票时间</nobr>
186
- </th>
187
- <th>
188
- <nobr>开票人</nobr>
189
- </th>
190
- <th>
191
- <nobr>收款人</nobr>
192
- </th>
193
- <th>
194
- <nobr>查看发票</nobr>
195
- </th>
196
- <th>
197
- <nobr>操作</nobr>
198
- </th>
199
- </tr>
200
- </template>
201
- <template partial='body' :model="model">
202
- <tr>
203
- <th style="text-align:center">{{ row.f_userinfo_code }}</th>
204
- <th style="text-align:center">{{ row.f_user_name }}</th>
205
- <th style="text-align:center">{{ row.f_buy_address_phone }}</th>
206
- <th style="text-align:center">{{ row.f_user_type }}</th>
207
- <th style="text-align:center">{{ row.f_collection }}</th>
208
- <th style="text-align:center">{{ row.f_total_money }}</th>
209
- <th style="text-align:center">{{ row.f_bill_number }}</th>
210
- <th style="text-align:center">{{ row.f_bill_state }}</th>
211
- <th style="text-align:center">{{ row.f_remessage }}</th>
212
- <th style="text-align:center">{{ row.f_charge_type }}</th>
213
- <th style="text-align:center">{{ row.f_sign_result }}</th>
214
- <th style="text-align:center">{{ row.sell_operate_date }}</th>
215
- <th style="text-align:center">{{ row.f_operate_date }}</th>
216
- <th style="text-align:center">{{ row.f_operator }}</th>
217
- <th style="text-align:center">{{ row.sell_operator }}</th>
218
- <th style="text-align:center">
219
- <button class="btn btn-link" v-if="row.f_bill_url"
220
- @click="$parent.$parent.$parent.watch_ch(row.f_bill_url)">
221
- 查看发票
222
- </button>
223
- </th>
224
- <th style="text-align:center">
225
- <template v-if="row.f_invoice_source !== '外部录入'">
226
- <button class="btn btn-link" v-if="row.f_bill_state==='开票成功' && row.f_invoice_type === '0'"
227
- @click="$parent.$parent.$parent.fp_ch(row)">发票冲红
228
- </button>
229
- <button class="btn btn-link" v-if="row.f_bill_state==='待开票'"
230
- @click="$parent.$parent.$parent.kp(row)">开票
231
- </button>
232
- <button class="btn btn-link" v-if="row.f_bill_state==='开票失败'"
233
- @click="$parent.$parent.$parent.Rekp(row)">重新开票
234
- </button>
235
- <!-- <button class="btn btn-link" v-if="['查询失败','等待查询'].includes(row.f_bill_state)"-->
236
- <!-- @click="$parent.$parent.$parent.fp_search(row)">电票查询-->
237
- <!-- </button>-->
238
- </template>
239
- </th>
240
- </tr>
241
- </template>
242
- </data-grid>
243
- </criteria-paged>
244
- </div>
245
- <modal v-if="show" :show.sync="show" v-ref:modal backdrop="false">
246
- <header slot="modal-header" class="modal-header">
247
- <h4 class="modal-title">撤销原因</h4>
248
- </header>
249
- <article slot="modal-body" class="modal-body">
250
- <validator name='v'>
251
- <form class="form-horizontal select-overspread">
252
- <div class="form-group" :class="[$v.f_cancel_reason.required ? 'has-error' : 'has-success']">
253
- <label class=" col-sm-3 control-label">冲红备注:</label>
254
- <div class="col-sm-8">
255
- <textarea class="form-control" v-model="bz" rows="3"
256
- placeholder="请填写冲红备注" v-validate:bz='{required: true}'></textarea>
257
- </div>
258
- </div>
259
- </form>
260
- </validator>
261
- </article>
262
- <footer slot="modal-footer" class="modal-footer">
263
- <button v-show="show" type="button" class="button_search" @click='confirm()' :disabled="!$v.valid ">确认</button>
264
- <button v-show="show" type="button" class="button_clear" @click='close'>取消</button>
265
- </footer>
266
- </modal>
267
- <ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
268
- </template>
269
- <script>
270
-
271
- import {PagedList} from 'vue-client'
272
-
273
- export default {
274
- title: '发票管理',
275
- data () {
276
- return {
277
- model: new PagedList('api/af-revenue/sql/eticket_query', 20, {orderitem: this.orderitem ? '"' + this.orderitem + ' "' : `'f_operate_date desc'`}),
278
- criteriaShow: false,
279
- eticket_show: false,
280
- orgCondtionStr: '',
281
- showsum_show: false,
282
- invoice_types: this.$appdata.getParam('发票种类'),
283
- eticktypes: [{label: '开票成功', value: '开票成功'}, {label: '等待查询', value: '等待查询'}, {
284
- label: '开票失败',
285
- value: '开票失败'
286
- }, {
287
- label: '冲红失败',
288
- value: '冲红失败'
289
- }, {label: '冲红', value: '冲红'}, {label: '撤销', value: '撤销'}],
290
- eticketcategory: [{label: '数电普票', value: '数电普票'}, {label: '数电专票', value: '数电专票'}, {label: '电子发票', value: '电子发票'},
291
- {label: '普通收据', value: '普通收据'}, {label: '专用发票', value: '专用发票'}],
292
- show: false,
293
- bz: '',
294
- row: {},
295
- orderFields: {
296
- f_operate_date: 'desc',
297
- f_collection: 'no',
298
- f_total_money: 'no'
299
- },
300
- // 排序
301
- orderitem: ' f_operate_date desc ',
302
- fields: {
303
- 'f_userinfo_code': '客户编号',
304
- 'f_user_name': '客户姓名',
305
- 'f_buy_address_phone': '用户地址',
306
- 'f_user_type': '用户类型',
307
- 'f_collection': '实收金额',
308
- 'f_total_money': '开票金额',
309
- 'f_tax_money': '不含税金额',
310
- 'f_invoice_category': '发票种类',
311
- 'f_invoice_type': '发票类型',
312
- 'f_fpqqlsh': '发票流水号',
313
- 'f_bill_number': '发票号码',
314
- 'f_bill_state': '发票状态',
315
- 'f_remessage': '失败原因',
316
- 'f_charge_type': '业务类型',
317
- 'sell_operate_date': '收费时间',
318
- 'f_operate_date': '开票时间',
319
- 'f_operator': '开票人',
320
- 'sell_operator': '收款人'
321
- },
322
- install_show: false
323
- }
324
- },
325
- ready () {
326
- },
327
- methods: {
328
- async Rekp (row) {
329
- console.log('重开参数' + JSON.stringify(row))
330
- this.eticket_show = true
331
- row.f_paper_name = row.f_user_name
332
- row.f_email = row.f_mail_push
333
- row.f_taxpayer_id = row.f_pay_id
334
- row.f_address_phone = row.f_buy_address_phone
335
- row.f_paper_accoun = row.f_buy_openbank
336
- await this.$refs.eticketbill.openETicket(row.f_sell_id, row, row.f_charge_type, row.f_invoice_category, true)
337
- },
338
- search () {
339
- this.$refs.paged.$refs.cri.search()
340
- },
341
- selfSearch (args) {
342
- this.model.search(args.condition, args.model)
343
- },
344
- sort (field, rule) {
345
- // 将所有排序方式设为不排序,实现相互排斥
346
- for (let key in this.orderFields) {
347
- if (key === field) {
348
- this.orderFields[key] = rule
349
- } else {
350
- this.orderFields[key] = 'no'
351
- }
352
- }
353
- // 如果新规则不排序,还原为默认排序
354
- if (rule === 'no') {
355
- this.model.paramSource.orderitem = `'${this.orderitem}'`
356
- } else {
357
- this.model.paramSource.orderitem = `'${field} ${rule}'`
358
- }
359
- this.search()
360
- },
361
- async confirm () {
362
- this.eticket_show = true
363
- await this.$refs.eticketbill.rushRedInvoice({id: this.row.f_sell_id, eticket_id: this.row.id, bz: this.bz})
364
- },
365
- async fp_search (row) {
366
- this.eticket_show = true
367
- await this.$refs.eticketbill.fp_search(row, row.id)
368
- },
369
- watch_ch (src) {
370
- this.eticket_show = true
371
- this.$refs.eticketbill.watch_ch(src)
372
- },
373
- fp_ch (row) {
374
- this.row = row
375
- this.show = true
376
- this.bz = `对应正数发票号码:${row.f_bill_number}。`
377
- },
378
- close () {
379
- this.show = false
380
- this.install_show = false
381
- },
382
- kp (row) {
383
- this.eticket_show = true
384
- this.$refs.eticketbill.openETicket(row.f_sell_id, row, row.f_charge_type)
385
- },
386
- eticket_toggle () {
387
- this.eticket_show = false
388
- this.show = false
389
- this.row = {}
390
- this.bz = ''
391
- }
392
- },
393
- computed: {
394
- usertypes () {
395
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
396
- },
397
- drawers () {
398
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('开票人')]
399
- },
400
- recipients () {
401
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('收款人')]
402
- },
403
- getCondition () {
404
- return {
405
- condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
406
- orderitem: this.orderitem ? `${this.orderitem}` : ' f_operate_date desc'
407
- }
408
- }
409
- },
410
- events: {
411
- 'search' () {
412
- this.search()
413
- }
414
- },
415
- watch: {}
416
- }
417
- </script>
418
- <style scoped>
419
- th {
420
- text-align: center;
421
- padding: 2px;
422
- }
423
-
424
- td {
425
- text-align: center;
426
- padding: 2px;
427
- }
428
- </style>
1
+ <template>
2
+ <div class="auto basic-main" style="height:95%">
3
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
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="form-group col-sm-2">
8
+ <label class="font_normal_body">客户编号</label>
9
+ <input type="text" class="form-control" v-model="model.f_userinfo_code" style="width:60%"
10
+ condition="f_userinfo_code = '{}' " placeholder="客户编号"
11
+ >
12
+ </div>
13
+ <div class="form-group col-sm-2">
14
+ <label class="font_normal_body">用户姓名</label>
15
+ <input type="text" class="form-control" v-model="model.f_user_name" style="width:60%"
16
+ condition="f_user_name = '{}'" placeholder="用户姓名"
17
+ >
18
+ </div>
19
+ <div class="form-group col-sm-2">
20
+ <label class="font_normal_body">客户地址</label>
21
+ <input type="text" class="form-control" v-model="model.f_buy_address_phone" style="width:60%"
22
+ condition="f_buy_address_phone like '%{}%'" placeholder="客户地址"
23
+ >
24
+ </div>
25
+ <div class="form-group col-sm-2">
26
+ <label class="font_normal_body">票据状态</label>
27
+ <v-select id="f_bill_state"
28
+ style="width:60%"
29
+ v-model="model.f_bill_state"
30
+ placeholder='票据状态'
31
+ condition="f_bill_state ='{}'"
32
+ :value.sync="model.f_bill_state"
33
+ :options='$parent.$parent.eticktypes'
34
+ :search="false"
35
+ close-on-select clear-button>
36
+ </v-select>
37
+ </div>
38
+ <div class="form-group col-sm-2">
39
+ <label class="font_normal_body">开票人&nbsp;&nbsp;</label>
40
+ <v-select id="f_operator"
41
+ style="width:60%"
42
+ v-model="model.f_operator"
43
+ placeholder='开票人'
44
+ condition="f_operator ='{}'"
45
+ :value.sync="model.f_operator"
46
+ :options='$parent.$parent.drawers'
47
+ :search="false"
48
+ close-on-select clear-button>
49
+ </v-select>
50
+ </div>
51
+ <div style="float: right">
52
+ <button class="button_search" @click="search()">查 询</button>
53
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
54
+ <export-excel :data="$parent.$parent.getCondition"
55
+ :field="$parent.$parent.fields"
56
+ sqlurl="api/af-revenue/logic/saleExport" sql-name="eticket_query"
57
+ template-name='发票记录导出'
58
+ :choose-col="true">
59
+ </export-excel>
60
+ <div
61
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
62
+ @click="$parent.$parent.criteriaShow=!$parent.$parent.criteriaShow"
63
+ class="button_spacing"
64
+ style="float: right"></div>
65
+ </div>
66
+ </div>
67
+ <div class="row" v-show="$parent.$parent.criteriaShow">
68
+ <div class="form-group col-sm-2">
69
+ <label class="font_normal_body">开票日期</label>
70
+ <datepicker id="f_operate_datestarthate" placeholder="开始日期"
71
+ v-model="model.f_operate_datestarthate"
72
+ :value.sync="model.f_operate_datestarthate"
73
+ format="yyyy-MM-dd"
74
+ condition="f_operate_date >= '{} 00:00:00'"
75
+ style="width:60%">
76
+ </datepicker>
77
+ </div>
78
+ <div class="form-group col-sm-2">
79
+ <label class="font_normal_body">&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
80
+ <datepicker id="f_operate_dateendDate" placeholder="结束日期"
81
+ v-model="model.f_operate_dateendDate"
82
+ :value.sync="model.f_operate_dateendDate"
83
+ format="yyyy-MM-dd"
84
+ condition=" f_operate_date <= '{} 23:59:59'"
85
+ style="width:60%">
86
+ </datepicker>
87
+ </div>
88
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
89
+ <label class="font_normal_body">发票金额</label>
90
+ <div class="row">
91
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_small"
92
+ condition="f_total_money >= {} " placeholder="">
93
+ <label class="font_normal_body"> ≤ x ≤ </label>
94
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_big"
95
+ condition="f_total_money <= {} " placeholder="">
96
+ </div>
97
+ </div>
98
+ <div class="form-group col-sm-2">
99
+ <label class="font_normal_body">收款人&nbsp;&nbsp;</label>
100
+ <v-select id="sell_operator"
101
+ style="width:60%"
102
+ v-model="model.sell_operator"
103
+ placeholder='收款人'
104
+ condition="(s.sell_operator = '{}' or other.sell_operator = '{}') "
105
+ :value.sync="model.sell_operator"
106
+ :options='$parent.$parent.recipients'
107
+ :search="false"
108
+ close-on-select clear-button>
109
+ </v-select>
110
+ </div>
111
+ <div class="col-sm-2 form-group">
112
+ <label class="font_normal_body">用户类型</label>
113
+ <v-select :value.sync="model.f_user_type"
114
+ :options='$parent.$parent.usertypes'
115
+ placeholder='请选择' v-model="model.f_user_type"
116
+ condition="(s.f_user_type = '{}' or uf.f_user_type = '{}') "
117
+ close-on-select></v-select>
118
+ </div>
119
+ </div>
120
+ <div class="row" v-show="$parent.$parent.criteriaShow">
121
+ <div class="form-group col-sm-2">
122
+ <label class="font_normal_body">发票号码&nbsp;&nbsp;</label>
123
+ <input type="text" class="form-control" v-model="model.f_bill_number" style="width:60%"
124
+ condition="f_bill_number = '{}'" placeholder="发票号码"
125
+ >
126
+ </div>
127
+ <div class="form-group col-sm-2">
128
+ <label class="font_normal_body">发票类型</label>
129
+ <v-select id="f_invoice_category"
130
+ style="width:60%"
131
+ v-model="model.f_invoice_category"
132
+ placeholder='票据状态'
133
+ condition="f_invoice_category ='{}'"
134
+ :value.sync="model.f_invoice_category"
135
+ :options='$parent.$parent.eticketcategory'
136
+ :search="false"
137
+ close-on-select clear-button>
138
+ </v-select>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </criteria>
143
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
144
+ <template partial='head'>
145
+ <tr>
146
+ <th>
147
+ <nobr>客户编号</nobr>
148
+ </th>
149
+ <th>
150
+ <nobr>客户姓名</nobr>
151
+ </th>
152
+ <th>
153
+ <nobr>客户地址电话</nobr>
154
+ </th>
155
+ <th>
156
+ <nobr>用户类型</nobr>
157
+ </th>
158
+ <th>
159
+ <data-order field="f_total_money" name="实收金额"
160
+ :order.sync="$parent.$parent.$parent.orderFields.f_collection"></data-order>
161
+ </th>
162
+ <th>
163
+ <data-order field="f_total_money" name="开票金额"
164
+ :order.sync="$parent.$parent.$parent.orderFields.f_total_money"></data-order>
165
+ </th>
166
+ <th>
167
+ <nobr>发票号码</nobr>
168
+ </th>
169
+ <th>
170
+ <nobr>发票状态</nobr>
171
+ </th>
172
+ <th>
173
+ <nobr>失败原因</nobr>
174
+ </th>
175
+ <th>
176
+ <nobr>业务类型</nobr>
177
+ </th>
178
+ <th>
179
+ <nobr>开票描述</nobr>
180
+ </th>
181
+ <th>
182
+ <nobr>收费时间</nobr>
183
+ </th>
184
+ <th>
185
+ <nobr>开票时间</nobr>
186
+ </th>
187
+ <th>
188
+ <nobr>开票人</nobr>
189
+ </th>
190
+ <th>
191
+ <nobr>收款人</nobr>
192
+ </th>
193
+ <th>
194
+ <nobr>查看发票</nobr>
195
+ </th>
196
+ <th>
197
+ <nobr>操作</nobr>
198
+ </th>
199
+ </tr>
200
+ </template>
201
+ <template partial='body' :model="model">
202
+ <tr>
203
+ <th style="text-align:center">{{ row.f_userinfo_code }}</th>
204
+ <th style="text-align:center">{{ row.f_user_name }}</th>
205
+ <th style="text-align:center">{{ row.f_buy_address_phone }}</th>
206
+ <th style="text-align:center">{{ row.f_user_type }}</th>
207
+ <th style="text-align:center">{{ row.f_collection }}</th>
208
+ <th style="text-align:center">{{ row.f_total_money }}</th>
209
+ <th style="text-align:center">{{ row.f_bill_number }}</th>
210
+ <th style="text-align:center">{{ row.f_bill_state }}</th>
211
+ <th style="text-align:center">{{ row.f_remessage }}</th>
212
+ <th style="text-align:center">{{ row.f_charge_type }}</th>
213
+ <th style="text-align:center">{{ row.f_sign_result }}</th>
214
+ <th style="text-align:center">{{ row.sell_operate_date }}</th>
215
+ <th style="text-align:center">{{ row.f_operate_date }}</th>
216
+ <th style="text-align:center">{{ row.f_operator }}</th>
217
+ <th style="text-align:center">{{ row.sell_operator }}</th>
218
+ <th style="text-align:center">
219
+ <button class="btn btn-link" v-if="row.f_bill_url"
220
+ @click="$parent.$parent.$parent.watch_ch(row.f_bill_url)">
221
+ 查看发票
222
+ </button>
223
+ </th>
224
+ <th style="text-align:center">
225
+ <template v-if="row.f_invoice_source !== '外部录入'">
226
+ <button class="btn btn-link" v-if="row.f_bill_state==='开票成功' && row.f_invoice_type === '0'"
227
+ @click="$parent.$parent.$parent.fp_ch(row)">发票冲红
228
+ </button>
229
+ <button class="btn btn-link" v-if="row.f_bill_state==='待开票'"
230
+ @click="$parent.$parent.$parent.kp(row)">开票
231
+ </button>
232
+ <button class="btn btn-link" v-if="row.f_bill_state==='开票失败'"
233
+ @click="$parent.$parent.$parent.Rekp(row)">重新开票
234
+ </button>
235
+ <!-- <button class="btn btn-link" v-if="['查询失败','等待查询'].includes(row.f_bill_state)"-->
236
+ <!-- @click="$parent.$parent.$parent.fp_search(row)">电票查询-->
237
+ <!-- </button>-->
238
+ </template>
239
+ </th>
240
+ </tr>
241
+ </template>
242
+ </data-grid>
243
+ </criteria-paged>
244
+ </div>
245
+ <modal v-if="show" :show.sync="show" v-ref:modal backdrop="false">
246
+ <header slot="modal-header" class="modal-header">
247
+ <h4 class="modal-title">撤销原因</h4>
248
+ </header>
249
+ <article slot="modal-body" class="modal-body">
250
+ <validator name='v'>
251
+ <form class="form-horizontal select-overspread">
252
+ <div class="form-group" :class="[$v.f_cancel_reason.required ? 'has-error' : 'has-success']">
253
+ <label class=" col-sm-3 control-label">冲红备注:</label>
254
+ <div class="col-sm-8">
255
+ <textarea class="form-control" v-model="bz" rows="3"
256
+ placeholder="请填写冲红备注" v-validate:bz='{required: true}'></textarea>
257
+ </div>
258
+ </div>
259
+ </form>
260
+ </validator>
261
+ </article>
262
+ <footer slot="modal-footer" class="modal-footer">
263
+ <button v-show="show" type="button" class="button_search" @click='confirm()' :disabled="!$v.valid ">确认</button>
264
+ <button v-show="show" type="button" class="button_clear" @click='close'>取消</button>
265
+ </footer>
266
+ </modal>
267
+ <ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
268
+ </template>
269
+ <script>
270
+
271
+ import {PagedList} from 'vue-client'
272
+
273
+ export default {
274
+ title: '发票管理',
275
+ data () {
276
+ return {
277
+ model: new PagedList('api/af-revenue/sql/eticket_query', 20, {orderitem: this.orderitem ? '"' + this.orderitem + ' "' : `'f_operate_date desc'`}),
278
+ criteriaShow: false,
279
+ eticket_show: false,
280
+ orgCondtionStr: '',
281
+ showsum_show: false,
282
+ invoice_types: this.$appdata.getParam('发票种类'),
283
+ eticktypes: [{label: '开票成功', value: '开票成功'}, {label: '等待查询', value: '等待查询'}, {
284
+ label: '开票失败',
285
+ value: '开票失败'
286
+ }, {
287
+ label: '冲红失败',
288
+ value: '冲红失败'
289
+ }, {label: '冲红', value: '冲红'}, {label: '撤销', value: '撤销'}],
290
+ eticketcategory: [{label: '数电普票', value: '数电普票'}, {label: '数电专票', value: '数电专票'}, {label: '电子发票', value: '电子发票'},
291
+ {label: '普通收据', value: '普通收据'}, {label: '专用发票', value: '专用发票'}],
292
+ show: false,
293
+ bz: '',
294
+ row: {},
295
+ orderFields: {
296
+ f_operate_date: 'desc',
297
+ f_collection: 'no',
298
+ f_total_money: 'no'
299
+ },
300
+ // 排序
301
+ orderitem: ' f_operate_date desc ',
302
+ fields: {
303
+ 'f_userinfo_code': '客户编号',
304
+ 'f_user_name': '客户姓名',
305
+ 'f_buy_address_phone': '用户地址',
306
+ 'f_user_type': '用户类型',
307
+ 'f_collection': '实收金额',
308
+ 'f_total_money': '开票金额',
309
+ 'f_tax_money': '不含税金额',
310
+ 'f_invoice_category': '发票种类',
311
+ 'f_invoice_type': '发票类型',
312
+ 'f_fpqqlsh': '发票流水号',
313
+ 'f_bill_number': '发票号码',
314
+ 'f_bill_state': '发票状态',
315
+ 'f_remessage': '失败原因',
316
+ 'f_charge_type': '业务类型',
317
+ 'sell_operate_date': '收费时间',
318
+ 'f_operate_date': '开票时间',
319
+ 'f_operator': '开票人',
320
+ 'sell_operator': '收款人'
321
+ },
322
+ install_show: false
323
+ }
324
+ },
325
+ ready () {
326
+ },
327
+ methods: {
328
+ async Rekp (row) {
329
+ console.log('重开参数' + JSON.stringify(row))
330
+ this.eticket_show = true
331
+ row.f_paper_name = row.f_user_name
332
+ row.f_email = row.f_mail_push
333
+ row.f_taxpayer_id = row.f_pay_id
334
+ row.f_address_phone = row.f_buy_address_phone
335
+ row.f_paper_accoun = row.f_buy_openbank
336
+ await this.$refs.eticketbill.openETicket(row.f_sell_id, row, row.f_charge_type, row.f_invoice_category, true)
337
+ },
338
+ search () {
339
+ this.$refs.paged.$refs.cri.search()
340
+ },
341
+ selfSearch (args) {
342
+ this.model.search(args.condition, args.model)
343
+ },
344
+ sort (field, rule) {
345
+ // 将所有排序方式设为不排序,实现相互排斥
346
+ for (let key in this.orderFields) {
347
+ if (key === field) {
348
+ this.orderFields[key] = rule
349
+ } else {
350
+ this.orderFields[key] = 'no'
351
+ }
352
+ }
353
+ // 如果新规则不排序,还原为默认排序
354
+ if (rule === 'no') {
355
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
356
+ } else {
357
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
358
+ }
359
+ this.search()
360
+ },
361
+ async confirm () {
362
+ this.eticket_show = true
363
+ await this.$refs.eticketbill.rushRedInvoice({id: this.row.f_sell_id, eticket_id: this.row.id, bz: this.bz})
364
+ },
365
+ async fp_search (row) {
366
+ this.eticket_show = true
367
+ await this.$refs.eticketbill.fp_search(row, row.id)
368
+ },
369
+ watch_ch (src) {
370
+ this.eticket_show = true
371
+ this.$refs.eticketbill.watch_ch(src)
372
+ },
373
+ fp_ch (row) {
374
+ this.row = row
375
+ this.show = true
376
+ this.bz = `对应正数发票号码:${row.f_bill_number}。`
377
+ },
378
+ close () {
379
+ this.show = false
380
+ this.install_show = false
381
+ },
382
+ kp (row) {
383
+ this.eticket_show = true
384
+ this.$refs.eticketbill.openETicket(row.f_sell_id, row, row.f_charge_type)
385
+ },
386
+ eticket_toggle () {
387
+ this.eticket_show = false
388
+ this.show = false
389
+ this.row = {}
390
+ this.bz = ''
391
+ }
392
+ },
393
+ computed: {
394
+ usertypes () {
395
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
396
+ },
397
+ drawers () {
398
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('开票人')]
399
+ },
400
+ recipients () {
401
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('收款人')]
402
+ },
403
+ getCondition () {
404
+ return {
405
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
406
+ orderitem: this.orderitem ? `${this.orderitem}` : ' f_operate_date desc'
407
+ }
408
+ }
409
+ },
410
+ events: {
411
+ 'search' () {
412
+ this.search()
413
+ }
414
+ },
415
+ watch: {}
416
+ }
417
+ </script>
418
+ <style scoped>
419
+ th {
420
+ text-align: center;
421
+ padding: 2px;
422
+ }
423
+
424
+ td {
425
+ text-align: center;
426
+ padding: 2px;
427
+ }
428
+ </style>