sale-client 4.1.230 → 4.2.1-ronghao

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 (171) hide show
  1. package/build/dev-server.js +29 -46
  2. package/package.json +2 -2
  3. package/src/App.vue +3 -3
  4. package/src/components/FilesManage/UserGeneralInfoTest.vue +4 -4
  5. package/src/components/FilesManageNew/FileUserFiles.vue +2 -4
  6. package/src/components/FilesManageNew/MeterinfoTest.vue +9 -9
  7. package/src/components/FilesManageNew/UserEssentialInfoTest.vue +201 -227
  8. package/src/components/FilesManageNew/UserGeneralInfoTest.vue +0 -2
  9. package/src/components/charge/business/CardMeterCenter.vue +1 -1
  10. package/src/components/charge/business/FilesComplete.vue +3 -3
  11. package/src/components/charge/business/IOTMeterCenter.vue +1 -1
  12. package/src/components/charge/business/OtherChargeNew.vue +68 -48
  13. package/src/components/common/userinfo_detail/UserInfoDetailManageNew.vue +10 -1
  14. package/src/components/common/userinfo_detail/ic_detail/CardHandRecord.vue +1 -1
  15. package/src/components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser.vue +1 -1
  16. package/src/components/common/userinfo_detail/ic_detail/GarbageRecordList.vue +69 -0
  17. package/src/components/common/userinfo_detail/ic_detail/InsuranceChargesRecord.vue +384 -0
  18. package/src/components/common/userinfo_detail/ic_detail/WebHandQueryUser.vue +1 -1
  19. package/src/components/revenue/Common/MeterMessage.vue +1 -1
  20. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  21. package/src/components/revenue/HandManager/WebHand.vue +7 -4
  22. package/src/components/revenue/base/leftview/SafeCheck.vue +41 -3
  23. package/src/components/revenue/base/leftview/UserFeeInfo.vue +76 -0
  24. package/src/components/revenue/base/leftview/otherinfo.vue +1 -0
  25. package/src/components/revenue/base/rightview/CardList.vue +7 -3
  26. package/src/components/revenue/batchDeduction/batchDeductionList.vue +1 -1
  27. package/src/components/revenue/cardHandManage/cardDown.vue +18 -0
  28. package/src/components/revenue/changeInsurance/InsuranceAdd.vue +1 -0
  29. package/src/components/revenue/changeInsurance/InsuranceRecord.vue +2 -1
  30. package/src/components/revenue/comprehen/ComprehenOperation/BankPayment/BankPayment.vue +1 -1
  31. package/src/components/revenue/comprehen/ComprehenOperation/GiftFee/icTable.vue +4 -2
  32. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  33. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  34. package/src/components/revenue/comprehen/Maintenance/revenue/MeterOperatemain.vue +2 -2
  35. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  36. package/src/components/revenue/machineHandManage/HandplanQuery.vue +1 -1
  37. package/src/components/revenue/machineHandManage/machineHand.vue +3 -2
  38. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  39. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  40. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  41. package/src/filiale/bayan/StockListmain.vue +543 -543
  42. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  43. package/src/filiale/dexin/MeterinfoTest.vue +1239 -0
  44. package/src/filiale/dexin/UserEssentialInfoTest.vue +602 -0
  45. package/src/filiale/dexin/sale.js +5 -0
  46. package/src/filiale/fugou/MeterinfoTest.vue +1 -1
  47. package/src/filiale/jiaxian/AutomaticPurse.vue +349 -0
  48. package/src/filiale/jiaxian/ChangeMeterQueryUser.vue +303 -0
  49. package/src/filiale/jiaxian/ChangeRecord.vue +44 -2
  50. package/src/filiale/jiaxian/FillCardQueryUser.vue +250 -0
  51. package/src/filiale/jiaxian/FillGasQueryUser.vue +270 -0
  52. package/src/filiale/jiaxian/OtherChargeQueryUser.vue +305 -0
  53. package/src/filiale/jiaxian/PriceAdjustmentQueryUser.vue +368 -0
  54. package/src/filiale/jiaxian/PriceChangeQueryUser.vue +243 -0
  55. package/src/filiale/jiaxian/QueryInstruct.vue +436 -0
  56. package/src/filiale/jiaxian/RecordQueryUser.vue +321 -0
  57. package/src/filiale/jiaxian/Repurchase.vue +181 -0
  58. package/src/filiale/jiaxian/TransferQueryUser.vue +274 -0
  59. package/src/filiale/jiaxian/UserInfoDetailManageNew.vue +11 -11
  60. package/src/filiale/jiaxian/Userinfo.vue +426 -0
  61. package/src/filiale/jiaxian/WatchCollection.vue +54 -1
  62. package/src/filiale/jiaxian/WebAutomaticPurse.vue +348 -0
  63. package/src/filiale/jiaxian/contractSigningList.vue +149 -0
  64. package/src/filiale/jiaxian/sale.js +5 -0
  65. package/src/filiale/jinhong/AutoAccountsDetail.vue +63 -0
  66. package/src/filiale/jinhong/CardList.vue +572 -0
  67. package/src/filiale/jinhong/CardMeterCenter.vue +1 -1
  68. package/src/filiale/jinhong/CardMeterCenterInner.vue +61 -22
  69. package/src/filiale/jinhong/GarbageCharge.vue +1 -1
  70. package/src/filiale/jinhong/HandplanQuery.vue +1430 -0
  71. package/src/filiale/jinhong/IOTMeterCenterInner.vue +42 -14
  72. package/src/filiale/jinhong/InsuranceAdd.vue +27 -5
  73. package/src/filiale/jinhong/InsuranceChargesDetails.vue +11 -5
  74. package/src/filiale/jinhong/InsuranceRecord.vue +4 -5
  75. package/src/filiale/jinhong/InsuranceTemp.vue +33 -5
  76. package/src/filiale/jinhong/MachineChargeService.js +8 -0
  77. package/src/filiale/jinhong/MachineMeterCenter.vue +38 -11
  78. package/src/filiale/jinhong/ShowCardSellGasInner.vue +46 -14
  79. package/src/filiale/jinhong/Userinfo.vue +75 -1
  80. package/src/filiale/jinhong/insuranceGuanL.vue +349 -0
  81. package/src/filiale/jinhong/machineDown.vue +1205 -0
  82. package/src/filiale/jinhong/sale.js +9 -0
  83. package/src/filiale/jinhuang/UserInfoDetailManageNew.vue +259 -0
  84. package/src/filiale/jinhuang/WebHand.vue +1026 -0
  85. package/src/filiale/jinhuang/WebHandQueryUser.vue +413 -0
  86. package/src/filiale/jinhuang/cardsHand.vue +911 -0
  87. package/src/filiale/jinhuang/sale.js +8 -0
  88. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  89. package/src/filiale/lixianV3/InsuranceAdd.vue +1 -0
  90. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  91. package/src/filiale/meihekou/CardMeterCenter.vue +991 -0
  92. package/src/filiale/meihekou/ChargeManage.vue +3 -2
  93. package/src/filiale/meihekou/ChargeOper.vue +279 -169
  94. package/src/filiale/meihekou/HandManager.vue +57 -2
  95. package/src/filiale/meihekou/NoCardMeterCenter.vue +542 -0
  96. package/src/filiale/meihekou/OverUseCharge.vue +1 -1
  97. package/src/filiale/meihekou/PrintBill.vue +48 -41
  98. package/src/filiale/meihekou/ReissueBill.vue +4 -1
  99. package/src/filiale/meihekou/ShowCardSellGas.vue +935 -0
  100. package/src/filiale/meihekou/TransferManage.vue +704 -0
  101. package/src/filiale/meihekou/Userinfo.vue +233 -5
  102. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  103. package/src/filiale/meihekou/icTable.vue +233 -0
  104. package/src/filiale/meihekou/machineHand.vue +2158 -0
  105. package/src/filiale/meihekou/manualChargeCenter.vue +394 -0
  106. package/src/filiale/meihekou/meterTable.vue +220 -0
  107. package/src/filiale/meihekou/sale.js +15 -0
  108. package/src/filiale/qianneng/MeterMessage.vue +1 -1
  109. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  110. package/src/filiale/rizhao/InsuranceAdd.vue +1 -0
  111. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  112. package/src/filiale/ronghao/CardList.vue +19 -17
  113. package/src/filiale/ronghao/CardMeterChargeCancel.vue +5 -0
  114. package/src/filiale/ronghao/CardService.js +2144 -2144
  115. package/src/filiale/ronghao/ChangeMeterService.js +1 -1
  116. package/src/filiale/ronghao/ChargeList.vue +17 -17
  117. package/src/filiale/ronghao/ChargeManage.vue +325 -0
  118. package/src/filiale/ronghao/ChargeOper.vue +330 -0
  119. package/src/filiale/ronghao/FilesManageNew/UserEssentialInfoTest.vue +457 -0
  120. package/src/filiale/ronghao/FilesManageNew/UserGeneralInfoTest.vue +690 -0
  121. package/src/filiale/ronghao/HandplanQuery.vue +13 -14
  122. package/src/filiale/ronghao/IOTMeterCenter.vue +15 -6
  123. package/src/filiale/ronghao/InsuranceAdd.vue +1 -0
  124. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  125. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  126. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  127. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  128. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  129. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  130. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  131. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  132. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  133. package/src/filiale/ronghao/Upload.vue +654 -654
  134. package/src/filiale/ronghao/Userinfo.vue +18 -18
  135. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  136. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  137. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  138. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  139. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  140. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  141. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  142. package/src/filiale/ronghao/machineRefund.vue +3 -1
  143. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  144. package/src/filiale/ronghao/sale.js +11 -0
  145. package/src/filiale/ronghao/specificInformation.vue +537 -537
  146. package/src/filiale/ronghao/uploadFilesHistory.vue +214 -0
  147. package/src/filiale/ruihua/FilesManage/MeterinfoTest.vue +10 -0
  148. package/src/filiale/shanxian/components/revenue/InsuranceAdd.vue +1 -0
  149. package/src/filiale/wuan/MeterMessage.vue +1 -1
  150. package/src/filiale/yangchun/BasicLivingList.vue +281 -0
  151. package/src/filiale/yangchun/BlackList/BlackRecordQuery.vue +1 -0
  152. package/src/filiale/yangchun/CardChangeFill.vue +1 -1
  153. package/src/filiale/yangchun/ChargeList.vue +954 -954
  154. package/src/filiale/yangchun/FilesManage/UserPaperInfoTest.vue +3 -3
  155. package/src/filiale/yangchun/NewMeterList.vue +742 -0
  156. package/src/filiale/yangchun/sale.js +3 -0
  157. package/src/filiale/yuncheng/CardList.vue +1 -1
  158. package/src/filiale/yuncheng/IndustryCommerceHand.vue +1145 -0
  159. package/src/filiale/yuncheng/IndustryCommerceHandAudit.vue +794 -0
  160. package/src/filiale/yuncheng/IndustryCommerceHandManager.vue +64 -0
  161. package/src/filiale/yuncheng/InsuranceAdd.vue +1 -0
  162. package/src/filiale/yuncheng/MeterBookUser.vue +781 -0
  163. package/src/filiale/yuncheng/UserDeviceInfoTest.vue +2 -2
  164. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  165. package/src/filiale/yuncheng/industryDown.vue +1118 -0
  166. package/src/filiale/yuncheng/sale.js +11 -0
  167. package/src/filiale/yuncheng/uploadFilesHistory.vue +185 -0
  168. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  169. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  170. package/src/plugins/CardService.js +2217 -2217
  171. package/src/sale.js +3 -1
@@ -0,0 +1,394 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="span" style="overflow-y: auto;">
4
+ <validator name='v'>
5
+ <form novalidate class="form-horizontal">
6
+ <div class="row">
7
+ <div class="col-sm-4">
8
+ <label for="f_paytype" class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
9
+ <v-select id="f_payment"
10
+ v-model="f_payment"
11
+ placeholder='请选择'
12
+ :value.sync="model.f_payment"
13
+ :options='paytype'
14
+ close-on-select clear-button></v-select>
15
+ </div>
16
+ <div class="col-sm-4">
17
+ <label for="f_price" class="font_normal_body">单价</label>
18
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_price" placeholder="请输入单价">
19
+ </div>
20
+ <div class="col-sm-4">
21
+ <label for="f_pregas" class=" font_normal_body">气量</label>
22
+ <input class="input_search" style="width:60%" type="number"
23
+ v-model="model.f_pregas" id="fpregas"
24
+ v-validate:f_pregas='{required: true, dctest: [maxgas, "<=" ]}' placeholder="请输入气量"
25
+ >
26
+ </div>
27
+ <div class="col-sm-4">
28
+ <label for="f_totalcost" class=" font_normal_body">&nbsp;&nbsp;&nbsp;金额</label>
29
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_totalcost" placeholder="金额"
30
+ >
31
+ </div>
32
+ <div class="col-sm-4" v-if="row.f_collection_type === '按气量'"
33
+ :class="[$v.f_collection.required ? 'has-error' : 'has-success']">
34
+ <label for="f_collection" class=" font_normal_body">收款</label>
35
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
36
+ v-validate:f_collection='{required: true, dctest: [model.f_totalcost, ">=" ] }'
37
+ v-el:sk v-scale="[model.f_totalcost, 2]" >
38
+ </div>
39
+ <div class="col-sm-4" v-if="row.f_collection_type === '按金额'">
40
+ <label for="f_collection" class=" font_normal_body">收款</label>
41
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
42
+ v-el:sk v-scale="[model.f_collection, 4]" >
43
+ </div>
44
+ <div class="row" style="padding-top: 0.5em;">
45
+ <div class="col-sm-8">
46
+ <label for="f_comments" class="font_normal_body">备&emsp;&emsp;注</label>
47
+ <input class="input_search" style="width:87%" v-model="model.f_comments" placeholder="备注">
48
+ </div>
49
+ </div>
50
+
51
+ </div>
52
+ </form>
53
+ <print-bill :show="print" :bill-config='config' v-ref:printbill :bill-data='billData' :data='row'
54
+ v-on:toggle="close" @printok="printok" :data='row'></print-bill>
55
+ <div style="text-align:right;height: 25%;">
56
+ <payment-code-button :clickable="!$v.valid || clickConfirm"
57
+ :payment.sync="model.f_payment" :payment-data="paytype"
58
+ @confirm-payment="confirm()">
59
+ </payment-code-button>
60
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || clickConfirm'>确认</button>
61
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
62
+ </div>
63
+ </validator>
64
+ <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_collection"></payment-code>
65
+ <upload :blodid="row.f_userinfo_id" v-if="config.showupload" :businessid="randomBusinessId" isremark="true" fusetype="自定义收费"></upload>
66
+ </div>
67
+ </div>
68
+ </template>
69
+ <script>
70
+ import Vue from 'vue'
71
+
72
+ // 输入金额,换算气量
73
+ let preamountGen = async function (self) {
74
+ let dymoney = 0
75
+ let calFee = (self.model.f_totalcost - 0) + (self.row.f_balance - 0)
76
+ let getGas = await self.$CommonService.feeCalculate(self.model, calFee)
77
+ if (getGas.data.gas) {
78
+ if (self.row.f_isdecimal === '是') {
79
+ if (self.row.f_alias === 'QiaoSong') {
80
+ self.model.f_pregas = (getGas.data.gas - 0).toFixed(1)
81
+ } else {
82
+ self.model.f_pregas = (getGas.data.gas - 0).toFixed(4)
83
+ }
84
+ } else {
85
+ let tempnum = Math.floor(getGas.data.gas - 0)
86
+ let dymoney1 = await self.$CommonService.gasCalculate(self.model, (tempnum).toFixed(4))
87
+ dymoney = (getGas.data.chargenum - 0).toFixed(2) - (dymoney1.data.chargenum - 0).toFixed(2)
88
+ self.model.f_pregas = Math.floor(getGas.data.gas - 0)
89
+ }
90
+ }
91
+ self.model.f_preamount = calFee - (dymoney - 0)
92
+ self.model.chargeprice = getGas.data.chargeprice
93
+ Object.assign(self.model, self.model, getGas.data)
94
+ self.model.f_totalcost = ((self.model.f_totalcost - 0) - (dymoney - 0)).toFixed(4)
95
+ // self.model.f_totalcost=Math.ceil(self.model.f_totalcost)
96
+ if(self.config.floor){
97
+ self.model.f_totalcost=Math.ceil(self.model.f_totalcost)
98
+ }
99
+ self.calText(getGas.data.chargeprice)
100
+ }
101
+
102
+ // 输入气量,换算金额
103
+ let pregasGen = async function (self) {
104
+ if (self.row.f_isdecimal === '是') {
105
+ self.model.f_pregas = (self.model.f_pregas - 0).toFixed(4)
106
+ } else {
107
+ self.model.f_pregas = (self.model.f_pregas - 0).toFixed(0)
108
+ }
109
+ if ((self.model.f_pregas - 0) - (self.maxgas - 0) <= 0) {
110
+ self.model.f_meter_type = self.row.f_meter_type
111
+ let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
112
+ self.model.f_preamount = getAmount.data.chargenum
113
+ self.model.f_totalcost = ((self.row.f_balance - 0) > (getAmount.data.chargenum - 0) ? 0 : ((getAmount.data.chargenum - 0) - (self.row.f_balance - 0)).toFixed(4))
114
+ Object.assign(self.model, self.model, getAmount.data)
115
+ self.model.chargeprice = getAmount.data.chargeprice
116
+ self.model.f_collection = self.model.f_totalcost
117
+ if(self.config.floor){
118
+ self.model.f_collection=Math.ceil(self.model.f_collection)
119
+ }
120
+ self.calText(getAmount.data.chargeprice)
121
+ }
122
+ }
123
+
124
+
125
+
126
+ let asyncCardMeterCenter = async function (self) {
127
+ await self.$getConfig(self, 'CardMeterCenter')
128
+ console.log('卡表收费config', self.config)
129
+ // 默认打印格式
130
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
131
+ self.model.f_payment = [self.config.payment]
132
+ self.mulPrint = self.config.printType instanceof Array
133
+ // 判断限购
134
+ let limit_param = {
135
+ f_userinfo_id: self.row.f_userinfo_id,
136
+ f_user_id: self.row.f_user_id,
137
+ f_stairprice_id: self.row.f_stairprice_id
138
+ }
139
+ let getLimit = await self.$resetpost('api/af-revenue/logic/sale_getLimitGas', {data: limit_param}, {resolveMsg: null, rejectMsg: '获取限购值失败!!'})
140
+ console.log('获取限购值', getLimit)
141
+ self.hasLimit = getLimit.data.hasLimit
142
+ if (self.hasLimit) {
143
+ if (getLimit.data.f_limit_value || getLimit.data.f_limit_amount) {
144
+ if (getLimit.data.f_limit_value < 0 || getLimit.data.f_limit_amount < 0) {
145
+ self.$showAlert(`${getLimit.data.msg}`, 'warning', 3000)
146
+ self.$dispatch('refresh')
147
+ } else {
148
+ if (getLimit.data.f_limit_value) {
149
+ self.maxgas = (getLimit.data.f_limit_value - 0)
150
+ self.limitgas = true
151
+ }
152
+ if (getLimit.data.f_limit_amount) {
153
+ self.maxmoney = (getLimit.data.f_limit_amount - 0)
154
+ self.limitmoney = true
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
160
+ export default {
161
+ title: '自定义收费',
162
+ data () {
163
+ return {
164
+ serialShow: false,
165
+ resid: [], // 存放新增的f_files表中id
166
+ config: {
167
+ notShowFormula: false, // 不显示计算公式,默认显示
168
+ hasPrint: true, // 默认打票
169
+ hasBillManage: false, // 默认不启用发票管理
170
+ floor: false, // 是否取整收费
171
+ billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
172
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
173
+ showupload: true,
174
+ payment: '现金缴费'
175
+ },
176
+ model: {
177
+ f_purchase: 0,
178
+ f_write_card: '不写卡',
179
+ f_payment: '',
180
+ f_pregas: '',
181
+ f_preamount: 0,
182
+ f_totalcost: 0,
183
+ f_curbalance: 0,
184
+ f_collection: 0,
185
+ f_balance: 0,
186
+ f_print: [],
187
+ f_meter_type: '',
188
+ f_voucher_number: '',
189
+ is_accumulate: '计入',
190
+ f_user_name: '',
191
+ f_comments: ''
192
+ },
193
+ calculatedetail: '',
194
+ print: false,
195
+ billData: {
196
+ url: 'api/af-revenue/report/card_bill',
197
+ billnumber: ''
198
+ },
199
+ randomBusinessId: '',
200
+ hasLimit: false,
201
+ maxgas: 99999999, // 限购
202
+ maxmoney: 99999999,
203
+ limitmoney: false,
204
+ limitgas: false,
205
+ mulPrint: false,
206
+ clickConfirm: false, // 控制确认按钮只能点击一次
207
+ // 下拉框值
208
+ paytype: this.$appdata.getParam('付款方式'),
209
+ printstyle: this.$appdata.getParam('打印格式'),
210
+ mjshow: false
211
+ }
212
+ },
213
+ props: ['row'],
214
+ ready () {
215
+ // this.getPurchase()
216
+ console.log('456789', this.row)
217
+ this.model.f_price_id = this.row.f_price_id
218
+ this.model.f_user_id = this.row.f_user_id
219
+ this.model.f_userfiles_id = this.row.f_userfiles_id
220
+ this.model.f_userinfo_id = this.row.f_userinfo_id
221
+ this.model.f_userinfo_code = this.row.f_userinfo_code
222
+ this.model.f_user_name = this.row.f_user_name
223
+ this.model.f_user_type = this.row.f_user_type
224
+ this.model.f_meternumber = this.row.f_meternumber
225
+ this.model.f_address = this.row.f_address
226
+ this.model.f_meter_brand = this.row.f_meter_brand
227
+ this.model.f_meter_style = this.row.f_meter_style
228
+ this.model.f_balance = this.row.f_alias === 'QiaoSong' ? Math.trunc(this.row.f_balance) : this.row.f_balance
229
+ if (this.row.f_collection_type == '按金额') {
230
+ this.model.f_totalcost = ''
231
+ this.model.f_pregas = 0
232
+ }
233
+ document.getElementById('fpregas').focus()
234
+ asyncCardMeterCenter(this)
235
+ this.getRandomId()
236
+ },
237
+ events: {
238
+ // 删除Resid数组元素
239
+ 'delResid' (val) {
240
+ this.resid.$remove({id: val, f_biobid: ''})
241
+ // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
242
+ },
243
+ // 增加Resid数组元素
244
+ 'resid' (val) {
245
+ this.resid.push({id: val, f_biobid: ''})
246
+ }
247
+ },
248
+ methods: {
249
+ getRandomId () {
250
+ this.randomBusinessId = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
251
+ let res = Math.random() * 16 | 0
252
+ let v = c == 'x' ? res : (res & 0x3 | 0x8)
253
+ return v.toString(16)
254
+ })
255
+ },
256
+ confirm () {
257
+ this.clickConfirm = true
258
+ this.$showMessage(`对客户${this.model.f_user_name}进行收费。该操作只做收费,不做写卡,确定要进行该操作吗?`, ['confirm', 'cancel']).then(async (res) => {
259
+ if (res === 'confirm') {
260
+ let data = {
261
+ f_user_id: this.model.f_user_id,
262
+ f_userfiles_id: this.model.f_userfiles_id,
263
+ f_userinfo_id: this.model.f_userinfo_id,
264
+ f_user_name: this.model.f_user_name,
265
+ f_user_type: this.model.f_user_type,
266
+ f_meternumber: this.model.f_meternumber,
267
+ f_address: this.model.f_address,
268
+ f_meter_brand: this.model.f_meter_brand,
269
+ f_meter_style: this.model.f_meter_style,
270
+ f_operator: Vue.$login.f.name,
271
+ f_operatorid: Vue.$login.f.id,
272
+ f_orgid: Vue.$login.f.orgid,
273
+ f_orgname: Vue.$login.f.orgs,
274
+ f_depid: Vue.$login.f.depids,
275
+ f_depname: Vue.$login.f.deps,
276
+ f_operate_date: this.$login.toStandardTimeString(),
277
+ f_payment: this.model.f_payment[0],
278
+ f_price: this.model.f_price,
279
+ f_pregas: this.model.f_pregas,
280
+ f_total_cost: this.model.f_totalcost,
281
+ f_collection: this.model.f_collection,
282
+ f_comments: this.model.f_comments
283
+ }
284
+ console.log('自定义收费', data)
285
+ await this.$resetpost('api/af-revenue/entity/save/t_customizedFees', data, {warnMsg: `确定要对用户${this.model.f_user_name}进行自定义收费吗?`, resolveMsg: '收费成功!!', rejectMsg: '收费失败!!请重试!!'})
286
+ let ss = await this.$refs.paymentcode.flowPath()
287
+ this.$refs.paymentcode.paymentCodeShow = false
288
+ console.log('付款码操作返回', ss)
289
+ if (!ss.result) return
290
+ this.$dispatch('refresh')
291
+ this.clickConfirm = false
292
+ }
293
+ })
294
+ },
295
+ clean () {
296
+ this.$info('取消操作')
297
+ this.$dispatch('refresh', this.row)
298
+ },
299
+ printok () {
300
+ // 收据打完,判断是否还有其他票据进行请求
301
+ for (let i = 0; i < this.model.f_print.length; i++) {
302
+ if (this.model.f_print[i] === '电子发票') {
303
+ this.$CommonService.openEticket(this.row.id, '售气收费')
304
+ }
305
+ }
306
+ this.$dispatch('success')
307
+ },
308
+ pregas () {
309
+ if (this.model.f_pregas && this.model.f_pregas > 0) {
310
+ try {
311
+ // 对气量进行验证
312
+ if ((this.row.f_topup_ceil - 0) > 0 && (this.model.f_pregas - 0) > (this.row.f_topup_ceil - 0)) {
313
+ this.$showAlert(`您输入的气量不能大于该表的充值上限: ${this.row.f_topup_ceil}`, 'warning', 5000)
314
+ this.model.f_pregas = null
315
+ } else {
316
+ pregasGen(this)
317
+ }
318
+ } catch (error) {
319
+ this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
320
+ this.$dispatch('error', '发卡售气', this.model, error)
321
+ }
322
+ }
323
+ },
324
+ preamount () {
325
+ if ((this.model.f_totalcost && this.model.f_totalcost > 0) || this.row.f_balance > 0) {
326
+ try {
327
+ preamountGen(this)
328
+ } catch (error) {
329
+ this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
330
+ this.$dispatch('error', '发卡售气', this.model, error)
331
+ }
332
+ }
333
+ },
334
+ calText (val) {
335
+ let str = ''
336
+ let num = 0
337
+ val.forEach((item) => {
338
+ if (item.f_gas > 0) {
339
+ num = num + 1
340
+ }
341
+ str = str + item.f_price + ' x ' + item.f_gas + '+'
342
+ })
343
+ str = str.slice(0, str.length - 1)
344
+ this.calculatedetail = str
345
+ if (num > 1) {
346
+ if (this.$login.r.find(item => item == '阶梯提示无按钮')) {
347
+ this.$showAlert('友好提示:本次购气已跨阶梯 计算公式:' + (this.calculatedetail ? this.calculatedetail : ' 暂无'), 'warning', 3000)
348
+ } else {
349
+ this.$showMessage('友好提示:本次购气已跨阶梯 计算公式:' + (this.calculatedetail ? this.calculatedetail : ' 暂无'), ['confirm', 'cancel'])
350
+ }
351
+ }
352
+ },
353
+ close () {
354
+ this.print = false
355
+ this.clean()
356
+ }
357
+ },
358
+ watch: {
359
+ 'model.f_payment' (val) {
360
+ if (val == '免交') {
361
+ this.mjshow = true
362
+ } else {
363
+ this.mjshow = false
364
+ }
365
+ }
366
+ },
367
+ computed: {
368
+ 'curbalance' () {
369
+ if (this.model.f_preamount) {
370
+ if (this.config.calculatePreByCollection) {
371
+ return ((this.model.f_collection - 0) + (this.row.f_balance - 0) - this.model.f_preamount).toFixed(4)
372
+ }
373
+ if (this.row.f_collection_type === '按金额') {
374
+ return ((this.model.f_totalcost - 0) + (this.row.f_balance - 0) - (this.model.f_preamount - 0)).toFixed(4)
375
+ } else {
376
+ if ((this.row.f_balance - 0) > (this.model.f_preamount - 0)) {
377
+ return ((this.row.f_balance - 0) - (this.model.f_preamount - 0)).toFixed(4)
378
+ } else {
379
+ return ((this.model.f_collection - 0) - (this.model.f_totalcost - 0)).toFixed(4)
380
+ }
381
+ }
382
+ } else {
383
+ return 0
384
+ }
385
+ },
386
+ isMachineMeter() {
387
+ return this.row.f_meter_type && this.row.f_meter_type.indexOf('机表') !== -1
388
+ }
389
+ }
390
+ }
391
+ </script>
392
+
393
+ <style>
394
+ </style>
@@ -0,0 +1,220 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="span">
4
+ <validator name='v'>
5
+ <form novalidate class="form-horizontal">
6
+ <div class="row" v-if="isGas">
7
+ <div class="col-sm-4" :class="[$v.f_pregas.dctest ? 'has-error' : 'has-success']">
8
+ <label class="font_normal_body">赠费</label>
9
+ <input class="input_search" style="width:60%" type="number"
10
+ v-validate:f_preamount='{ dctest: [0, ">=" ]}' v-model="model.f_preamount" placeholder="赠气量" v-ref:f_pregas>
11
+ </div>
12
+ </div>
13
+ <div class="col-sm-4 form-group">
14
+ <label class="font_normal_body" title="参数值:计入/不计入,计入:更新档案结余及累购,不计入:只保存记录不对档案进行操作">计入累购</label>
15
+ <input v-show="false" v-model="model.f_add_gas" v-validate:f_operat_type='{required: true}'>
16
+ <v-select :value.sync="model.f_add_gas" value-single
17
+ :options='addGas' placeholder='请选择'
18
+
19
+ selected="是否计入累购"
20
+ style="width:60%"
21
+ close-on-select></v-select>
22
+ </div>
23
+ <div class="row" v-if="!isGas">
24
+ <div class="col-sm-4">
25
+ <label for="f_preamount" class=" font_normal_body">金额:</label>
26
+ <input class="input_search" style="width:60%" type="number" min = "0.01" v-model="model.f_preamount" placeholder="金额">
27
+ </div>
28
+ <!-- <div class="col-sm-4">-->
29
+ <!-- <label for="f_add_gas" class="font_normal_body">是否入累计:</label>-->
30
+ <!-- <v-select v-model="model.f_add_gas"-->
31
+ <!-- placeholder='请选择'-->
32
+ <!-- :value.sync="model.f_add_gas"-->
33
+ <!-- :options='addGas'-->
34
+ <!-- close-on-select clear-button>-->
35
+ <!-- </v-select>-->
36
+ <!-- </div>-->
37
+ </div>
38
+ <div class="row" style="margin-top:10px;">
39
+ <label for="f_reason" class=" font_normal_body">备&emsp;&emsp;注</label>
40
+ <input class="input_search" style="width:55%" rows="1" v-model="model.f_reason" placeholder="备注">
41
+ </div>
42
+ </form>
43
+ <div style="text-align:right;margin-top: 2%">
44
+
45
+ <button class="button_search" @click="confirm()" :disabled='!$v.valid' >确认</button>
46
+ <button class="button_clear" @click="clean()" >取消</button>
47
+ </div>
48
+ </validator>
49
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' :data='row' @toggle="close" @printok="printok" v-ref:printbill></print-bill>
50
+ </div>
51
+ </div>
52
+ <upload :blodid="row.f_userinfo_id" :businessid="randomBusinessId" isremark="true" fusetype="赠气"></upload>
53
+ </template>
54
+ <script>
55
+ let otherGasGen = async function (self) {
56
+ let data = self.getSell()
57
+ data.f_total_gas = data.f_add_gas === '计入' ? (self.row.f_total_gas - 0) + (self.model.f_pregas - 0) : (self.row.f_total_gas - 0)
58
+ data.f_total_fee = data.f_add_gas === '计入' ? (self.row.f_total_fee - 0) + (self.model.f_preamount - 0) : (self.row.f_total_fee - 0)
59
+ if (self.isGas) {
60
+ data.f_pregas = self.model.f_pregas
61
+ } else {
62
+ data.f_preamount = self.model.f_preamount
63
+ }
64
+ data.f_userfiles_id = {
65
+ f_userfiles_id: self.row.f_userfiles_id,
66
+ f_userinfo_id: self.row.f_userinfo_id,
67
+ f_user_id: self.row.f_user_id,
68
+ version: self.row.version,
69
+ f_times: self.row.cardInfo.Times + 1,
70
+ f_total_gas: data.f_add_gas === '计入' ? (self.row.f_total_gas - 0) + (self.model.f_pregas - 0) : (self.row.f_total_gas - 0),
71
+ f_total_fee: data.f_add_gas === '计入' ? (self.row.f_total_fee - 0) + (self.model.f_preamount - 0) : (self.row.f_total_fee - 0),
72
+ f_balance_gas: 0,
73
+ f_balance_amount: 0
74
+ }
75
+
76
+ // 保存表类型
77
+ data.f_meter_type = self.row.f_meter_type
78
+ data.f_times = self.row.cardInfo.Times + 1
79
+
80
+ await self.$resetpost('api/af-revenue/logic/fedWithgasMeter', data, {resolveMsg: null, rejectMsg: '补气报错!!!'})
81
+ }
82
+ let asyncIcTable = async function (self) {
83
+ await self.$getConfig(self, 'icTable')
84
+ console.log('卡表赠气赠费config', self.config)
85
+ this.model.f_add_gas = self.config.f_add_gas
86
+ }
87
+
88
+ export default {
89
+ title: '卡表赠气赠费',
90
+ data () {
91
+ return {
92
+ isGas: false,
93
+ acceptprint: false,
94
+ acceptUrl: '',
95
+ printData: {
96
+ reason: '',
97
+ fillgas: '',
98
+ fillamount: ''
99
+ },
100
+ randomBusinessId: '',
101
+ resid: [], // 存放新增的f_files表中id
102
+ model: {
103
+ f_pregas: 0,
104
+ f_preamount: 1,
105
+ f_reason: '',
106
+ f_add_gas: '计入'
107
+ },
108
+ config: {
109
+ hasPrint: false,
110
+ f_add_gas: '计入'
111
+ },
112
+ billData: {
113
+ url: 'api/af-revenue/report/icGiftGas',
114
+ operator: this.$login.f.name,
115
+ billnumber: ''
116
+ },
117
+ print: false
118
+ }
119
+ },
120
+ props: ['row', 'cardData'],
121
+ ready () {
122
+ this.isGas = this.row.f_meter_type = false
123
+ this.row.cardInfo = this.cardData
124
+ console.log('卡信息', this.row.cardInfo)
125
+ this.getRandomId()
126
+ asyncIcTable(this)
127
+ this.billData.url = 'api/af-revenue/report/iotGiftFee'
128
+ },
129
+ events: {
130
+ // 删除Resid数组元素
131
+ 'delResid' (val) {
132
+ this.resid.$remove({id: val, f_biobid: ''})
133
+ // this.resid.splice(this.resid.indexOf({id:val,f_biobid:''}),1);
134
+ },
135
+ // 增加Resid数组元素
136
+ 'resid' (val) {
137
+ this.resid.push({id: val, f_biobid: ''})
138
+ }
139
+ },
140
+ methods: {
141
+ getRandomId () {
142
+ this.randomBusinessId = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
143
+ let res = Math.random() * 16 | 0
144
+ let v = c == 'x' ? res : (res & 0x3 | 0x8)
145
+ return v.toString(16)
146
+ })
147
+ },
148
+ confirm () {
149
+ otherGasGen(this).then((res) => {
150
+ let param1 = []
151
+ for (let row of this.resid) {
152
+ param1.push({id: row.id})
153
+ }
154
+ let data = {
155
+ param: param1,
156
+ f_blobid: res
157
+ }
158
+ this.$resetpost('api/af-revenue/logic/updatefiles', data)
159
+
160
+ if (this.config.hasPrint) {
161
+ this.row.id = res
162
+ this.row.f_bill_type = this.isGas ? '机表赠气' : '机表赠费'
163
+ this.row.f_bill_style = '普通收据'
164
+ this.print = true
165
+ } else {
166
+ this.$dispatch('success')
167
+ }
168
+ })
169
+ },
170
+ getSell () {
171
+ return {
172
+ f_balance: this.row.f_balance,
173
+ f_curbalance: this.row.f_balance,
174
+ f_card_id: this.row.f_card_id,
175
+ f_comments: this.model.f_reason,
176
+ f_type: this.model.f_pregas != 0 ? '机表赠气' : '机表赠费',
177
+ f_user_id: this.row.f_user_id,
178
+ f_userfiles_id: this.row.f_userfiles_id,
179
+ f_add_gas: this.model.f_add_gas,
180
+ f_userinfo_id: this.row.f_userinfo_id,
181
+ f_user_name: this.row.f_user_name,
182
+ f_user_type: this.row.f_user_type,
183
+ f_gasproperties: this.row.f_gasproperties,
184
+ f_address: this.row.f_address,
185
+ f_meter_brand: this.row.f_meter_brand,
186
+ f_operat_type: '其他补气',
187
+ f_describe: `${this.$login.f.name}对客户${this.row.f_user_name}进行${this.model.f_pregas != 0 ? '机表赠气' : '机表赠费'}操作`,
188
+ f_state: '有效',
189
+ f_operator: this.$login.f.name,
190
+ f_operatorid: this.$login.f.id,
191
+ f_orgid: this.$login.f.orgid,
192
+ f_orgname: this.$login.f.orgs,
193
+ f_depid: this.$login.f.depids,
194
+ f_depname: this.$login.f.deps,
195
+ f_zoneid: this.$login.f.zoneid,
196
+ f_zones: this.$login.f.zones
197
+ }
198
+ },
199
+ close () {
200
+ this.print = false
201
+ this.clean()
202
+ },
203
+ clean () {
204
+ this.$info('取消操作')
205
+ this.$dispatch('cancelclean', this.row)
206
+ },
207
+ printok () {
208
+ this.$dispatch('success')
209
+ }
210
+ },
211
+ computed: {
212
+ addGas () {
213
+ return [{label: '计入', value: '计入'}, {label: '不计入', value: '不计入'}]
214
+ }
215
+ }
216
+ }
217
+ </script>
218
+
219
+ <style>
220
+ </style>
@@ -52,4 +52,19 @@ export default function () {
52
52
  Vue.component('meter-book-add', (resolve) => { require(['./MeterBookAdd'], resolve) })
53
53
  // 超用收费
54
54
  Vue.component('over-use-charge', (resolve) => { require(['./OverUseCharge'], resolve) })
55
+ // 过户
56
+ Vue.component('transfer-manage', (resolve) => { require(['./TransferManage'], resolve) })
57
+ // 发卡售气
58
+ Vue.component('show-card-sell-gas', (resolve) => { require(['./ShowCardSellGas'], resolve) })
59
+ // 无卡收费
60
+ Vue.component('no-card-meter-center', (resolve) => { require(['./NoCardMeterCenter'], resolve) })
61
+ Vue.component('manual-charge-center', (resolve) => { require(['./manualChargeCenter'], resolve) })
62
+ // 卡表收费
63
+ Vue.component('card-meter-center', (resolve) => { require(['./CardMeterCenter'], resolve) })
64
+ // 机表抄表
65
+ Vue.component('machine-hand', (resolve) => { require(['./machineHand'], resolve) })
66
+ Vue.component('charge-oper', (resolve) => { require(['./ChargeOper'], resolve) })
67
+ Vue.component('meterTable', (resolve) => { require(['./meterTable'], resolve) })
68
+ // 卡表赠气
69
+ Vue.component('icTable', (resolve) => { require(['./icTable'], resolve) })
55
70
  }
@@ -97,7 +97,7 @@
97
97
  } else {
98
98
  this.metermessage.f_meter_base = (this.metermessage.f_meter_base - 0).toFixed(0)
99
99
  }
100
- if (this.metermessage.f_meter_base > this.f_meter_base_max) {
100
+ if ((this.metermessage.f_meter_base - 0) > (this.f_meter_base_max - 0)) {
101
101
  this.$showAlert(`新表底数可录入的最大值为: ${this.f_meter_base_max}, 请核实后重新录入!!!`, 'warning', 3000)
102
102
  this.metermessage.f_meter_base = ''
103
103
  }