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,349 @@
1
+ <template >
2
+ <div class="flex" style="justify-content: space-between;">
3
+ <div @keyup.enter="search" style="">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row" width="100%">
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body">开始时间</label>
10
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
11
+ class="datepicker"
12
+ condition="f_operate_date >= '{} 00:00:00' "
13
+ placeholder="起始时间"
14
+ style="width:60%"
15
+ v-model="model.f_start_date"
16
+ ></datepicker>
17
+ </div>
18
+ <div class="col-sm-2 form-group" >
19
+ <label class="font_normal_body" >结束时间</label>
20
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
21
+ class="datepicker"
22
+ condition="f_operate_date <= '{} 23:59:59' "
23
+ placeholder="结束时间"
24
+ style="width:60%"
25
+ v-model="model.f_end_date"
26
+ ></datepicker>
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">缴费状态</label>
30
+ <v-select :value.sync="model.f_state" v-model='model.f_state'
31
+ style="width:60%"
32
+ :options='$parent.$parent.jiaofeistates' placeholder='缴费状态'
33
+ close-on-select
34
+ condition="s.f_state = '{}'"></v-select>
35
+ </div>
36
+
37
+ <div style="float: right">
38
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
39
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
40
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
41
+ sqlurl="api/af-revenue/logic/saleExport"
42
+ :sql-name="'sale_AutomaticPurse'"
43
+ template-name='下账查询导出'
44
+ :choose-col="true"></export-excel>
45
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
46
+ @print-data="$parent.$parent.print()" print-name="购气流水"></print-data>
47
+ </div>
48
+ </div>
49
+ </div>
50
+
51
+
52
+ </criteria>
53
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
54
+ <template partial='head'>
55
+ <tr>
56
+ <th><nobr>缴费日期</nobr></th>
57
+ <th><nobr>缴费时间</nobr></th>
58
+ <!-- <th><nobr>表号</nobr></th>-->
59
+ <th><nobr>上期指数</nobr></th>
60
+ <th><nobr>本期指数</nobr></th>
61
+ <th>使用方量</th>
62
+ <th><nobr>扣费单价</nobr></th>
63
+ <th><nobr>扣费金额</nobr></th>
64
+ <th><nobr>表内余额</nobr></th>
65
+ </tr>
66
+ </template>
67
+ <template partial='body' partial='list' v-ref:grid>
68
+ <tr >
69
+ <td style="text-align:center">{{row.f_operate_date.substring(0,10)}}</td>
70
+ <td style="text-align:center">{{row.f_operate_date.substring(11,19)}}</td>
71
+ <td style="text-align:center">{{row.f_last_tablebase}}</td>
72
+ <td style="text-align:center">{{row.f_tablebase}}</td>
73
+ <td style="text-align:center">{{row.f_pregas}}</td>
74
+ <td style="text-align:center">{{row.f_price}}</td>
75
+ <td style="text-align:center">{{row.f_preamount}}</td>
76
+ <td style="text-align:center">{{row.f_meterBalanceAmt}}</td>
77
+ </tr>
78
+ </template>
79
+ <template partial='foot'></template>
80
+ </data-grid>
81
+ </criteria-paged>
82
+ </div>
83
+ <table class="table-hover">
84
+ <tr class="table-bordered" style="position: relative">
85
+ <td
86
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
87
+ 汇总信息
88
+ </td>
89
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
90
+ 气量合计:&emsp;{{model.sums.f_pregas}}
91
+ </td>
92
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
93
+ 金额合计:&emsp;{{model.sums.f_preamount}}
94
+ </td>
95
+ </tr>
96
+ </table>
97
+ <reissue-bill :data="reissue_data" :show.sync="reissue_show" @cancel="reissueOper()" @reissue-success="reissueSucc()" v-if="reissue_show"></reissue-bill>
98
+
99
+ </div>
100
+ </template>
101
+
102
+ <script>
103
+ import {HttpResetClass, PagedList} from 'vue-client'
104
+ import co from 'co'
105
+ let reprintGen = function *(self, row) {
106
+ try {
107
+ let reissueData = {}
108
+ reissueData = Object.assign({}, reissueData, row)
109
+
110
+ reissueData.f_bill_type = row.type
111
+ reissueData.f_bill_style = '普通收据'
112
+ reissueData.f_operator = self.$login.f.name
113
+ reissueData.f_operatorid = self.$login.f.id
114
+ reissueData.f_orgid = self.$login.f.orgid
115
+ reissueData.f_orgname = self.$login.f.orgs
116
+ reissueData.f_depid = self.$login.f.depids
117
+ reissueData.f_depname = self.$login.f.deps
118
+ reissueData.billUrl = self.getBillUrl(row.type)
119
+
120
+ self.reissue_data = reissueData
121
+ self.reissue_show = true
122
+ } catch (error) {
123
+ if (error.status) {
124
+ self.$warn(`加载数据出错, ${JSON.stringify(error)}`, 'CardList')
125
+ }
126
+ throw error
127
+ }
128
+ }
129
+ export default {
130
+ title: '自动下账',
131
+ data () {
132
+ return {
133
+ reissue_show: false,
134
+ reissue_data: null,
135
+ condition: '1=1',
136
+ model: new PagedList('api/af-revenue/sql/sale_AutomaticPurse', 20, {}, {
137
+ f_preamount: 0,
138
+ f_pregas: 0
139
+ }),
140
+ show: false,
141
+ list: [],
142
+ jiaofeistates: this.$appdata.getParam('缴费状态') ? [{
143
+ label: '全部',
144
+ value: ''
145
+ }, ...this.$appdata.getParam('缴费状态')] : [],
146
+ // 控制单选
147
+ radio: [],
148
+ searchValue: this.$appdata.getSingleValue('综合条件查询') ? this.$appdata.getSingleValue('综合条件查询') : 'f_userfiles_id',
149
+ // 选中的页
150
+ all: [],
151
+ // row数据
152
+ rowsdata: [],
153
+ fields: {
154
+ 'f_operate_date': '缴费日期',
155
+ 'f_last_tablebase': '上期指数',
156
+ 'f_tablebase': '本期指数',
157
+ 'f_pregas,': '使用方量',
158
+ 'f_price': '扣费单价',
159
+ 'f_preamount': '扣费金额',
160
+ 'f_meterBalanceAmt': '表内余额'
161
+ },
162
+ defaultfield: [
163
+ 'f_operate_date', 'f_last_tablebase', 'f_tablebase', 'f_pregas', 'f_price', 'f_preamount', 'f_meterBalanceAmt'
164
+ ],
165
+ printModel: {
166
+ rows: []
167
+ },
168
+ other: [],
169
+ footer: [],
170
+ // 合计数据
171
+ sumsmodel: {}
172
+ }
173
+ },
174
+ props: ['row'],
175
+ ready () {
176
+ this.sumsmodel= this.$refs.paged.$refs.grid.model.sums
177
+ this.$refs.paged.$refs.criteria.model.f_state = ['有效']
178
+ this.$refs.paged.$refs.criteria.search()
179
+ },
180
+ methods: {
181
+ getotherfooter () {
182
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
183
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
184
+ this.other = []
185
+ this.footer = []
186
+ // let exportdata = this.getCondition;
187
+ let otherInData = []
188
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
189
+ let footerData = [], exportfield = this.fields
190
+ footerData.push('合计')
191
+ let self = this
192
+ for (var field in self.sumsmodel) {
193
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
194
+ }
195
+ this.footer.push(footerData)
196
+ this.other.push(otherInData)
197
+ },
198
+ async search () {
199
+ console.log('aaa:', this.$refs.paged.$refs.criteria.condition)
200
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' `
201
+ this.model.search(this.condition, this.model)
202
+ let http = new HttpResetClass()
203
+ let res = await http.load('POST', 'api/af-revenue/sql/sale_AutomaticPurse', {
204
+ data: {
205
+ f_user_id: this.row.f_user_id,
206
+ condition: this.condition
207
+ }
208
+ }, {resolveMsg: null, rejectMsg: null})
209
+ this.printModel.rows = res.data
210
+ },
211
+ // 多选框初始化
212
+ selectInit () {
213
+ this.rowsdata = []
214
+ this.all = []
215
+ this.radio = []
216
+ },
217
+ reissueSucc () {
218
+ this.reissue_show = false
219
+ this.$dispatch('refresh')
220
+ },
221
+ reissueOper () {
222
+ this.reissue_data = null
223
+ this.reissue_show = false
224
+ },
225
+ getBillUrl (type) {
226
+ let name = ''
227
+ // 根据type数据 选择调用的Logic
228
+ if (type === '机表收费') {
229
+ name = 'api/af-revenue/report/machine_bill'
230
+ } else if (type === '物联网收费') {
231
+ name = 'api/af-revenue/report/iot_bill'
232
+ } else if (type === '超用收费') {
233
+ name = 'api/af-revenue/report/overuse_bill'
234
+ } else if (type === '其他收费') {
235
+ name = 'api/af-revenue/report/otherCharge_bill'
236
+ } else if (type === '发卡售气') {
237
+ name = 'api/af-revenue/report/sendCard_bill'
238
+ } else if (type === '卡表收费') {
239
+ name = 'api/af-revenue/report/card_bill'
240
+ }
241
+ return name
242
+ },
243
+ report (row) {
244
+ let reprint = reprintGen(this, row)
245
+ return co(reprint)
246
+ },
247
+ print () {
248
+ this.selectInit()
249
+ },
250
+ select () {
251
+ let index = this.model.pageIndex - 1
252
+ if (!this.radio[index]) {
253
+ this.radio.$set(index, [])
254
+ }
255
+ if (this.all[index]) {
256
+ // 数据
257
+ this.rowsdata[index] = Object.assign([], this.model.rows)
258
+ // 勾选
259
+ for (var i = 0; i < this.model.rows.length; i++) {
260
+ this.radio[index].$set(i, true)
261
+ }
262
+ } else {
263
+ // 数据
264
+ this.rowsdata[index] = []
265
+ // 不勾选
266
+ for (var i = 0; i < this.model.rows.length; i++) {
267
+ this.radio[index].$set(i, false)
268
+ }
269
+ }
270
+ let z = 0
271
+ for (let i = 0; i < this.all.length; i++) {
272
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
273
+ this.printModel.rows[z++] = this.rowsdata[i][j]
274
+ }
275
+ }
276
+ },
277
+ selectOne (event, row, i) {
278
+ let index = this.model.pageIndex - 1
279
+ if (!this.rowsdata[index]) {
280
+ this.rowsdata[index] = []
281
+ }
282
+ if (!this.radio[index]) {
283
+ this.radio.$set(index, [])
284
+ }
285
+ if (event.target.checked) {
286
+ // 数据
287
+ this.rowsdata[index][i] = row
288
+ // 勾选
289
+ this.radio[index].$set(i, true)
290
+ // 判断是否全部选中
291
+ var allState = true
292
+ if (this.model.rows.length != this.radio[index].length) {
293
+ allState = false
294
+ }
295
+ for (var state of this.radio[index]) {
296
+ if (!state) {
297
+ allState = false
298
+ }
299
+ }
300
+ if (allState) {
301
+ this.all.$set(index, true)
302
+ } else {
303
+ this.all.$set(index, false)
304
+ }
305
+ } else {
306
+ // 数据
307
+ this.rowsdata[index][i] = []
308
+ // 不勾选
309
+ this.radio[index].$set(i, false)
310
+ // 任意取消一个则全选状态设为false
311
+ this.all.$set(index, false)
312
+ }
313
+ let z = 0
314
+ this.printModel.rows = []
315
+ for (let i = 0; i < this.all.length; i++) {
316
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
317
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
318
+ this.printModel.rows[z++] = this.rowsdata[i][j]
319
+ }
320
+ }
321
+ }
322
+ }
323
+ },
324
+ computed: {
325
+ ischecked () {
326
+ return function (index, i) {
327
+ if (!this.radio[index]) {
328
+ return false
329
+ }
330
+ return this.radio[index][i]
331
+ }
332
+ },
333
+ getCondition () {
334
+ return {
335
+ condition: this.condition
336
+ }
337
+ }
338
+ },
339
+ watch: {
340
+ sumsmodel: {
341
+ handler: function (val) {
342
+ this.getotherfooter()
343
+ },
344
+ deep: true
345
+ }
346
+ }
347
+ }
348
+ </script>
349
+
@@ -0,0 +1,303 @@
1
+ <template >
2
+ <div class="flex" style="justify-content: space-between;">
3
+ <div @keyup.enter="search" style="">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+
9
+ <div class="col-sm-2 form-group">
10
+ <label class="font_normal_body">开始时间</label>
11
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
12
+ class="datepicker"
13
+ condition="f_operate_date >= '{} 00:00:00' "
14
+ placeholder="起始时间"
15
+ style="width:60%"
16
+ v-model="model.f_start_date"
17
+ ></datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group" >
20
+ <label class="font_normal_body" >结束时间</label>
21
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
22
+ class="datepicker"
23
+ condition="f_operate_date <= '{} 23:59:59'"
24
+ placeholder="结束时间"
25
+ style="width:60%"
26
+ v-model="model.f_end_date"
27
+ ></datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label class="font_normal_body">换表类型</label>
31
+ <v-select :options='$parent.$parent.changeType' :value.sync="model.f_type"
32
+ close-on-select
33
+ condition="f_type='{}'"
34
+ placeholder='换表类型'
35
+ style="width:60%"
36
+ v-model="model.f_type"
37
+ ></v-select>
38
+ </div>
39
+ <div class="col-sm-2 form-group">
40
+ <label class="font_normal_body">换表状态</label>
41
+ <v-select :value.sync="model.f_state" v-model='model.f_state'
42
+ style="width:60%"
43
+ :options='$parent.$parent.isstates' placeholder='换表状态'
44
+ close-on-select
45
+ condition="f_state = '{}'"></v-select>
46
+ </div>
47
+ <div style="float: right">
48
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
49
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
50
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
51
+ sqlurl="api/af-revenue/logic/saleExport"
52
+ :sql-name="'sale_ChangeMeterQuery'"
53
+ template-name='换表查询导出'
54
+ :choose-col="true"></export-excel>
55
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
56
+ @print-data="$parent.$parent.print()" print-name="换表流水" ></print-data>
57
+ </div>
58
+
59
+
60
+ </div>
61
+ </div>
62
+ </criteria>
63
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
64
+ <template partial='head'>
65
+ <tr>
66
+
67
+ <th><nobr>换表类型</nobr></th>
68
+ <th><nobr>旧表底数</nobr></th>
69
+ <th><nobr>新表底数</nobr></th>
70
+ <th><nobr>旧表剩余</nobr></th>
71
+ <th><nobr>旧表品牌</nobr></th>
72
+ <th><nobr>新表品牌</nobr></th>
73
+ <th><nobr>旧表号</nobr></th>
74
+ <th><nobr>新表号</nobr></th>
75
+ <th><nobr>换表费</nobr></th>
76
+ <th><nobr>操作人</nobr></th>
77
+ <th><nobr>状态</nobr></th>
78
+ <th><nobr>换表人</nobr></th>
79
+ <th><nobr>换表日期</nobr></th>
80
+ <th><nobr>换表原因</nobr></th>
81
+ </tr>
82
+ </template>
83
+ <template partial='body' partial='list' v-ref:grid>
84
+ <tr >
85
+
86
+ <td style="text-align: center;"><nobr>{{row.f_type}}</nobr></td>
87
+ <td style="text-align: center;"><nobr>{{row.f_using_base_old}}</nobr></td>
88
+ <td style="text-align: center;"><nobr>{{row.f_initial_base_new}}</nobr></td>
89
+ <td style="text-align: center;"><nobr>{{row.f_remanent_gas}}</nobr></td>
90
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand_old}}</nobr></td>
91
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
92
+ <td style="text-align: center;"><nobr>{{row.f_meternumber_old}}</nobr></td>
93
+ <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
94
+ <td style="text-align: center;"><nobr>{{row.f_changemeter_fee}}</nobr></td>
95
+ <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
96
+ <td style="text-align: center;"><nobr>{{row.f_state}}</nobr></td>
97
+ <td style="text-align: center;"><nobr>{{row.f_change_operator}}</nobr></td>
98
+ <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
99
+ <td style="text-align: center;"><nobr><span v-if="row.f_changetables_reason">{{row.f_changetables_reason}}/</span><span v-if="row.f_reason">{{row.f_reason}}/</span><span v-if="row.f_othereason">{{row.f_othereason}}/</span><span v-if="row.f_comments">{{row.f_comments}}</span></nobr></td>
100
+ </tr>
101
+ </template>
102
+ <template partial='foot'></template>
103
+ </data-grid>
104
+ </criteria-paged>
105
+ </div>
106
+ </div>
107
+ </template>
108
+
109
+ <script>
110
+ import {HttpResetClass, PagedList} from 'vue-client'
111
+
112
+ export default {
113
+ title: '收费',
114
+ data () {
115
+ return {
116
+ condition: '1=1',
117
+ model: new PagedList('api/af-revenue/sql/sale_ChangeMeterQuery', 20),
118
+ // 控制单选
119
+ radio: [],
120
+ // 选中的页
121
+ all: [],
122
+ isstates: this.$appdata.getParam('是否有效') ? [{
123
+ label: '全部',
124
+ value: ''
125
+ }, ...this.$appdata.getParam('是否有效')] : [],
126
+ // row数据
127
+ rowsdata: [],
128
+ fields: {
129
+ 'f_userinfo_code': '客户编号',
130
+ 'f_user_name': '客户姓名',
131
+ 'f_type': '换表类型',
132
+ 'f_meter_base': '旧表底数',
133
+ 'f_newmeter_base': '新表底数',
134
+ 'f_changemeter_fee': '换表费',
135
+ 'f_operator': '操作员',
136
+ 'f_changemeter_date': '换表日期',
137
+ 'f_using_base_old': '旧表底数',
138
+ 'f_initial_base_new': '新表底数',
139
+ 'f_remanent_gas': '旧表剩余',
140
+ 'f_meter_brand_old': '旧表品牌',
141
+ 'f_meter_brand': '新表品牌',
142
+ 'f_meternumber_old': '旧表号',
143
+ 'f_meternumber': '新表号',
144
+ 'f_state': '状态',
145
+ 'f_change_operator': '换表人',
146
+ 'f_operate_date': '换表日期'
147
+ },
148
+ defaultfield: [
149
+ 'f_userinfo_code', 'f_user_name', 'f_type', 'f_meter_base', 'f_newmeter_base', 'f_changemeter_fee', 'f_operator', 'f_changemeter_date'
150
+ ],
151
+ printModel: {
152
+ rows: []
153
+ },
154
+ other: [],
155
+ footer: [],
156
+ // 合计数据
157
+ sumsmodel: {}
158
+ }
159
+ },
160
+ props: ['row'],
161
+ ready () {
162
+ this.$refs.paged.$refs.criteria.search()
163
+ },
164
+ methods: {
165
+ getotherfooter () {
166
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
167
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
168
+ this.other = []
169
+ this.footer = []
170
+ // let exportdata = this.getCondition;
171
+ let otherInData = []
172
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
173
+ let footerData = [], exportfield = this.fields
174
+ footerData.push('合计')
175
+ let self = this
176
+ for (var field in self.sumsmodel) {
177
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
178
+ }
179
+ this.footer.push(footerData)
180
+ this.other.push(otherInData)
181
+ },
182
+ async search () {
183
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
184
+ this.model.search(this.condition, this.model)
185
+ let http = new HttpResetClass()
186
+ let res = await http.load('POST', 'api/af-revenue/sql/sale_ChangeMeterQuery', {
187
+ data: {
188
+ condition: this.condition
189
+ }
190
+ }, {resolveMsg: null, rejectMsg: null})
191
+ this.printModel.rows = res.data
192
+ },
193
+ // 多选框初始化
194
+ selectInit () {
195
+ this.rowsdata = []
196
+ this.all = []
197
+ this.radio = []
198
+ },
199
+ print () {
200
+ this.selectInit()
201
+ },
202
+ select () {
203
+ let index = this.model.pageIndex - 1
204
+ if (!this.radio[index]) {
205
+ this.radio.$set(index, [])
206
+ }
207
+ if (this.all[index]) {
208
+ // 数据
209
+ this.rowsdata[index] = Object.assign([], this.model.rows)
210
+ // 勾选
211
+ for (var i = 0; i < this.model.rows.length; i++) {
212
+ this.radio[index].$set(i, true)
213
+ }
214
+ } else {
215
+ // 数据
216
+ this.rowsdata[index] = []
217
+ // 不勾选
218
+ for (var i = 0; i < this.model.rows.length; i++) {
219
+ this.radio[index].$set(i, false)
220
+ }
221
+ }
222
+ let z = 0
223
+ for (let i = 0; i < this.all.length; i++) {
224
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
225
+ this.printModel.rows[z++] = this.rowsdata[i][j]
226
+ }
227
+ }
228
+ },
229
+ selectOne (event, row, i) {
230
+ let index = this.model.pageIndex - 1
231
+ if (!this.rowsdata[index]) {
232
+ this.rowsdata[index] = []
233
+ }
234
+ if (!this.radio[index]) {
235
+ this.radio.$set(index, [])
236
+ }
237
+ if (event.target.checked) {
238
+ // 数据
239
+ this.rowsdata[index][i] = row
240
+ // 勾选
241
+ this.radio[index].$set(i, true)
242
+ // 判断是否全部选中
243
+ var allState = true
244
+ if (this.model.rows.length != this.radio[index].length) {
245
+ allState = false
246
+ }
247
+ for (var state of this.radio[index]) {
248
+ if (!state) {
249
+ allState = false
250
+ }
251
+ }
252
+ if (allState) {
253
+ this.all.$set(index, true)
254
+ } else {
255
+ this.all.$set(index, false)
256
+ }
257
+ } else {
258
+ // 数据
259
+ this.rowsdata[index][i] = []
260
+ // 不勾选
261
+ this.radio[index].$set(i, false)
262
+ // 任意取消一个则全选状态设为false
263
+ this.all.$set(index, false)
264
+ }
265
+ let z = 0
266
+ this.printModel.rows = []
267
+ for (let i = 0; i < this.all.length; i++) {
268
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
269
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
270
+ this.printModel.rows[z++] = this.rowsdata[i][j]
271
+ }
272
+ }
273
+ }
274
+ }
275
+ },
276
+ computed: {
277
+ ischecked () {
278
+ return function (index, i) {
279
+ if (!this.radio[index]) {
280
+ return false
281
+ }
282
+ return this.radio[index][i]
283
+ }
284
+ },
285
+ changeType () {
286
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('换表类型')]
287
+ },
288
+ getCondition () {
289
+ return {
290
+ condition: this.condition
291
+ }
292
+ }
293
+ },
294
+ watch: {
295
+ sumsmodel: {
296
+ handler: function (val) {
297
+ this.getotherfooter()
298
+ },
299
+ deep: true
300
+ }
301
+ }
302
+ }
303
+ </script>