sale-client 4.1.3 → 4.1.5

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 (80) hide show
  1. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  2. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  3. package/.gradle/5.2.1/gc.properties +0 -0
  4. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  6. package/.gradle/vcs-1/gc.properties +0 -0
  7. package/build/dev-server.js +15 -32
  8. package/package.json +1 -1
  9. package/src/components/common/userinfo_detail/UserInfoDetailManage.vue +0 -3
  10. package/src/components/common/userinfo_detail/UserInfoDetailManageNew.vue +8 -10
  11. package/src/components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser.vue +242 -242
  12. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  13. package/src/components/revenue/HandManager/WebHand.vue +996 -996
  14. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  15. package/src/components/revenue/comprehen/ComprehenOperation/ReplaceCard/ReplaceCardManage.vue +434 -434
  16. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  17. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  18. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  19. package/src/components/webMeter/common/NewWatchMsg.vue +0 -1
  20. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  21. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  22. package/src/filiale/bayan/StockListmain.vue +543 -543
  23. package/src/filiale/bayan/UserInfoDetailManageNew.vue +10 -9
  24. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  25. package/src/filiale/dongguan/components/common/userinfo_detail/UserInfoDetailManageNew.vue +11 -7
  26. package/src/filiale/fugou/UserInfoDetailManageNew.vue +8 -10
  27. package/src/filiale/gehua/userinfo_detail/UserInfoDetailManageNew.vue +10 -9
  28. package/src/filiale/jiaxian/UserInfoDetailManageNew.vue +8 -11
  29. package/src/filiale/jingyang/UserInfoDetailManageNew.vue +10 -9
  30. package/src/filiale/liuan/UserInfoDetailManageNew.vue +10 -9
  31. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  32. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  33. package/src/filiale/lixianV3/UserInfoDetailManageNew.vue +10 -9
  34. package/src/filiale/macheng/UserInfoDetailManageNew.vue +10 -9
  35. package/src/filiale/meihekou/common/userinfo_detail/UserInfoDetailManageNew.vue +11 -7
  36. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  37. package/src/filiale/ningjin/UserInfoDetailManageNew.vue +10 -10
  38. package/src/filiale/qianneng/revenue/common/UserInfoDetailManageNew.vue +11 -9
  39. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  40. package/src/filiale/qingjian/UserInfoDetailManageNew.vue +10 -9
  41. package/src/filiale/rizhao/UserInfoDetailManageNew.vue +10 -9
  42. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  43. package/src/filiale/ronghao/CardList.vue +2 -2
  44. package/src/filiale/ronghao/CardService.js +2144 -2144
  45. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  46. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  47. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  48. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  49. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  50. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  51. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  52. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  53. package/src/filiale/ronghao/RecordCancel.vue +345 -0
  54. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  55. package/src/filiale/ronghao/Upload.vue +654 -654
  56. package/src/filiale/ronghao/UserInfoDetailManageNew.vue +8 -10
  57. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  58. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  59. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  60. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  61. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  62. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  63. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  64. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  65. package/src/filiale/ronghao/sale.js +2 -0
  66. package/src/filiale/ronghao/specificInformation.vue +537 -537
  67. package/src/filiale/shexian/UserInfoDetailManageNew.vue +10 -9
  68. package/src/filiale/taizhoukesi/UserInfoDetailManageNew.vue +10 -9
  69. package/src/filiale/tongchuan/common/userinfo_detail/UserInfoDetailManageNew.vue +11 -9
  70. package/src/filiale/wuhai/UserInfoDetailManageNew.vue +8 -10
  71. package/src/filiale/xihu/UserInfoDetailManageNew.vue +8 -10
  72. package/src/filiale/yangchun/ChargeList.vue +954 -954
  73. package/src/filiale/yangchun/EticketV4/EticketRecordList.vue +427 -427
  74. package/src/filiale/yuansheng/UserInfoDetailManageNew.vue +10 -9
  75. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  76. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  77. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  78. package/src/filiale/zhongyi/UserInfoDetailManageNew.vue +10 -9
  79. package/src/plugins/CancelService.js +60 -1
  80. package/src/plugins/CardService.js +2217 -2217
File without changes
@@ -0,0 +1,2 @@
1
+ #Thu Feb 27 12:01:45 CST 2025
2
+ gradle.version=5.2.1
File without changes
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl ] = ['http://218.93.226.210:31467/', 'http://218.93.226.210:31467/']
4
+ const [ serverRul, localUrl ] = ['http://192.168.50.67:31467/', 'http://localhost:9026/']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
@@ -19,16 +19,16 @@ var devConfig = {
19
19
  children: false // 不输出子模块构建信息
20
20
  },
21
21
  proxy: {
22
- // '/api/af-revenue/logic/depositCharge': {
23
- // // pathRewrite: {ca'h
24
- // // '/api/af-revenue/logic': '/logic'
25
- // // },
26
- // target: 'http://127.0.0.1:9026'
27
- // },
22
+ '/api/af-revenue/batchdeduction/all': {
23
+ pathRewrite: {
24
+ '/api/af-revenue/batchdeduction/all': '/batchdeduction/all'
25
+ },
26
+ target: localUrl
27
+ },
28
28
  '/api/af-revenue/logic': {
29
- // pathRewrite: {
30
- // '/api/af-revenue/logic': '/logic'
31
- // },
29
+ pathRewrite: {
30
+ '/api/af-revenue/logic': '/logic'
31
+ },
32
32
  target: localUrl
33
33
  },
34
34
  '/api/af-revenue/file': {
@@ -37,39 +37,22 @@ var devConfig = {
37
37
  // },
38
38
  target: localUrl
39
39
  },
40
- 'api/af-revenue/entity/save': {
41
- // pathRewrite: {
42
- // '/api/af-revenue/entity/save': '/entity/save'
43
- // },
44
- target: localUrl
40
+ '/weixin2/rs':{
41
+
42
+ target: 'http://410663id1ia4.vicp.fun'
45
43
  },
46
- '/singlepage': {
47
- // pathRewrite: {
48
- // '/weixin2/rs': '/rs'
49
- // },
50
- target: localUrl
51
- },
52
- '/weixin2/rs': {
44
+ '/api/af-revenue/sql': {
53
45
  pathRewrite: {
54
- '/weixin2/rs': '/singlepage/weixin2/rs'
46
+ '/api/af-revenue/sql': '/sql'
55
47
  },
56
48
  target: localUrl
57
49
  },
58
- '/api/af-revenue/sql': {
59
- // pathRewrite: {
60
- // '/api/af-revenue/sql': '/sql'
61
- // },
62
- target: localUrl
63
- },
64
50
  '/rs/pay': {
65
51
  target: 'http://localhost:8080'
66
52
  },
67
53
  '/api': {
68
54
  target: serverRul
69
55
  },
70
- '/resource': {
71
- target: serverRul
72
- },
73
56
  '/rs': {
74
57
  target: serverRul
75
58
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.1.3",
3
+ "version": "4.1.5",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -118,9 +118,6 @@ export default {
118
118
  },
119
119
  async search () {
120
120
  let http = new HttpResetClass()
121
-
122
- let condition = `f_userinfo_id = '${this.f_userinfo_id}'`
123
-
124
121
  let getBaseInfo = await http.load('POST', 'api/af-revenue/logic/iot_getUserBaseData',
125
122
  {data: {f_userfiles_id: this.f_userfiles_id}}, {resolveMsg: null, rejectMsg: '获取基本信息出错'})
126
123
  this.row = getBaseInfo.data
@@ -212,20 +212,18 @@ export default {
212
212
  },
213
213
  async search () {
214
214
  let http = new HttpResetClass()
215
- let condition = ' 1 = 1'
216
- if (this.f_userfiles_id) {
217
- condition = `f_userfiles_id = '${this.f_userfiles_id}'`
218
- } else if (this.f_userinfo_id) {
219
- condition = `f_userinfo_id = '${this.f_userinfo_id}'`
220
- } else if (this.f_userinfo_code) {
221
- condition = `f_userinfo_code = '${this.f_userinfo_code}'`
222
- }else{
215
+ if (!this.f_userfiles_id && !this.f_userinfo_id && !this.f_userinfo_code) {
223
216
  this.$showMessage('用户信息缺失,查询详情信息失败')
224
217
  return
225
218
  }
226
-
227
219
  let getBaseInfo = await http.load('POST', 'api/af-revenue/logic/iot_getUserBaseData',
228
- {data: {f_userfiles_id: this.f_userfiles_id}}, {resolveMsg: null, rejectMsg: '获取基本信息出错'})
220
+ {
221
+ data: {
222
+ f_userfiles_id: this.f_userfiles_id,
223
+ f_userinfo_id: this.f_userinfo_id,
224
+ f_userinfo_code: this.f_userinfo_code
225
+ }
226
+ }, {resolveMsg: null, rejectMsg: '获取基本信息出错'})
229
227
  this.row = getBaseInfo.data
230
228
  this.row.parentname = this.parentname || ''
231
229
  },
@@ -1,242 +1,242 @@
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
- <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
50
- @print-data="$parent.$parent.print()" print-name="换表流水" ></print-data>
51
- </div>
52
-
53
-
54
- </div>
55
- </div>
56
- </criteria>
57
- <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
58
- <template partial='head'>
59
- <tr>
60
-
61
- <th><nobr>换表类型</nobr></th>
62
- <th><nobr>旧表底数</nobr></th>
63
- <th><nobr>旧表剩余</nobr></th>
64
- <th><nobr>旧表品牌</nobr></th>
65
- <th><nobr>新表品牌</nobr></th>
66
- <th><nobr>旧表号</nobr></th>
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
- </tr>
75
- </template>
76
- <template partial='body' partial='list' v-ref:grid>
77
- <tr >
78
-
79
- <td style="text-align: center;"><nobr>{{row.f_type}}</nobr></td>
80
- <td style="text-align: center;"><nobr>{{row.f_using_base_old}}</nobr></td>
81
- <td style="text-align: center;"><nobr>{{row.f_remanent_gas}}</nobr></td>
82
- <td style="text-align: center;"><nobr>{{row.f_meter_brand_old}}</nobr></td>
83
- <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
84
- <td style="text-align: center;"><nobr>{{row.f_meternumber_old}}</nobr></td>
85
- <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
86
- <td style="text-align: center;"><nobr>{{row.f_changemeter_fee}}</nobr></td>
87
- <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
88
- <td style="text-align: center;"><nobr>{{row.f_state}}</nobr></td>
89
- <td style="text-align: center;"><nobr>{{row.f_change_operator}}</nobr></td>
90
- <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
91
- <td style="text-align: center;"><nobr>{{row.f_changetables_reason}}/{{row.f_reason}}/{{row.f_othereason}}</nobr></td>
92
- </tr>
93
- </template>
94
- <template partial='foot'></template>
95
- </data-grid>
96
- </criteria-paged>
97
- </div>
98
- </div>
99
- </template>
100
-
101
- <script>
102
- import {HttpResetClass, PagedList} from 'vue-client'
103
-
104
- export default {
105
- title: '收费',
106
- data () {
107
- return {
108
- condition: '1=1',
109
- model: new PagedList('api/af-revenue/sql/sale_ChangeMeterQuery', 20),
110
- // 控制单选
111
- radio: [],
112
- // 选中的页
113
- all: [],
114
- isstates: this.$appdata.getParam('是否有效') ? [{
115
- label: '全部',
116
- value: ''
117
- }, ...this.$appdata.getParam('是否有效')] : [],
118
- // row数据
119
- rowsdata: [],
120
- fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_type': '换表类型', 'f_meter_base': '旧表底数', 'f_newmeter_base': '新表底数', 'f_changemeter_fee': '换表费', 'f_operator': '操作员', 'f_changemeter_date': '换表日期'},
121
- defaultfield: [
122
- 'f_userinfo_code', 'f_user_name', 'f_type', 'f_meter_base', 'f_newmeter_base', 'f_changemeter_fee', 'f_operator', 'f_changemeter_date'
123
- ],
124
- printModel: {
125
- rows: []
126
- }
127
- }
128
- },
129
- props: ['row'],
130
- ready () {
131
- this.$refs.paged.$refs.criteria.search()
132
- },
133
- methods: {
134
- async search () {
135
- this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
136
- this.model.search(this.condition, this.model)
137
- let http = new HttpResetClass()
138
- let res = await http.load('POST', 'api/af-revenue/sql/sale_ChangeMeterQuery', {
139
- data: {
140
- condition: this.condition
141
- }
142
- }, {resolveMsg: null, rejectMsg: null})
143
- this.printModel.rows = res.data
144
- },
145
- // 多选框初始化
146
- selectInit () {
147
- this.rowsdata = []
148
- this.all = []
149
- this.radio = []
150
- },
151
- print () {
152
- this.selectInit()
153
- },
154
- select () {
155
- let index = this.model.pageIndex - 1
156
- if (!this.radio[index]) {
157
- this.radio.$set(index, [])
158
- }
159
- if (this.all[index]) {
160
- // 数据
161
- this.rowsdata[index] = Object.assign([], this.model.rows)
162
- // 勾选
163
- for (var i = 0; i < this.model.rows.length; i++) {
164
- this.radio[index].$set(i, true)
165
- }
166
- } else {
167
- // 数据
168
- this.rowsdata[index] = []
169
- // 不勾选
170
- for (var i = 0; i < this.model.rows.length; i++) {
171
- this.radio[index].$set(i, false)
172
- }
173
- }
174
- let z = 0
175
- for (let i = 0; i < this.all.length; i++) {
176
- for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
177
- this.printModel.rows[z++] = this.rowsdata[i][j]
178
- }
179
- }
180
- },
181
- selectOne (event, row, i) {
182
- let index = this.model.pageIndex - 1
183
- if (!this.rowsdata[index]) {
184
- this.rowsdata[index] = []
185
- }
186
- if (!this.radio[index]) {
187
- this.radio.$set(index, [])
188
- }
189
- if (event.target.checked) {
190
- // 数据
191
- this.rowsdata[index][i] = row
192
- // 勾选
193
- this.radio[index].$set(i, true)
194
- // 判断是否全部选中
195
- var allState = true
196
- if (this.model.rows.length != this.radio[index].length) {
197
- allState = false
198
- }
199
- for (var state of this.radio[index]) {
200
- if (!state) {
201
- allState = false
202
- }
203
- }
204
- if (allState) {
205
- this.all.$set(index, true)
206
- } else {
207
- this.all.$set(index, false)
208
- }
209
- } else {
210
- // 数据
211
- this.rowsdata[index][i] = []
212
- // 不勾选
213
- this.radio[index].$set(i, false)
214
- // 任意取消一个则全选状态设为false
215
- this.all.$set(index, false)
216
- }
217
- let z = 0
218
- this.printModel.rows = []
219
- for (let i = 0; i < this.all.length; i++) {
220
- for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
221
- if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
222
- this.printModel.rows[z++] = this.rowsdata[i][j]
223
- }
224
- }
225
- }
226
- }
227
- },
228
- computed: {
229
- ischecked () {
230
- return function (index, i) {
231
- if (!this.radio[index]) {
232
- return false
233
- }
234
- return this.radio[index][i]
235
- }
236
- },
237
- changeType () {
238
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('换表类型')]
239
- }
240
- }
241
- }
242
- </script>
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
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
50
+ @print-data="$parent.$parent.print()" print-name="换表流水" ></print-data>
51
+ </div>
52
+
53
+
54
+ </div>
55
+ </div>
56
+ </criteria>
57
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
58
+ <template partial='head'>
59
+ <tr>
60
+
61
+ <th><nobr>换表类型</nobr></th>
62
+ <th><nobr>旧表底数</nobr></th>
63
+ <th><nobr>旧表剩余</nobr></th>
64
+ <th><nobr>旧表品牌</nobr></th>
65
+ <th><nobr>新表品牌</nobr></th>
66
+ <th><nobr>旧表号</nobr></th>
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
+ </tr>
75
+ </template>
76
+ <template partial='body' partial='list' v-ref:grid>
77
+ <tr >
78
+
79
+ <td style="text-align: center;"><nobr>{{row.f_type}}</nobr></td>
80
+ <td style="text-align: center;"><nobr>{{row.f_using_base_old}}</nobr></td>
81
+ <td style="text-align: center;"><nobr>{{row.f_remanent_gas}}</nobr></td>
82
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand_old}}</nobr></td>
83
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
84
+ <td style="text-align: center;"><nobr>{{row.f_meternumber_old}}</nobr></td>
85
+ <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
86
+ <td style="text-align: center;"><nobr>{{row.f_changemeter_fee}}</nobr></td>
87
+ <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
88
+ <td style="text-align: center;"><nobr>{{row.f_state}}</nobr></td>
89
+ <td style="text-align: center;"><nobr>{{row.f_change_operator}}</nobr></td>
90
+ <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
91
+ <td style="text-align: center;"><nobr>{{row.f_changetables_reason}}/{{row.f_reason}}/{{row.f_othereason}}</nobr></td>
92
+ </tr>
93
+ </template>
94
+ <template partial='foot'></template>
95
+ </data-grid>
96
+ </criteria-paged>
97
+ </div>
98
+ </div>
99
+ </template>
100
+
101
+ <script>
102
+ import {HttpResetClass, PagedList} from 'vue-client'
103
+
104
+ export default {
105
+ title: '收费',
106
+ data () {
107
+ return {
108
+ condition: '1=1',
109
+ model: new PagedList('api/af-revenue/sql/sale_ChangeMeterQuery', 20),
110
+ // 控制单选
111
+ radio: [],
112
+ // 选中的页
113
+ all: [],
114
+ isstates: this.$appdata.getParam('是否有效') ? [{
115
+ label: '全部',
116
+ value: ''
117
+ }, ...this.$appdata.getParam('是否有效')] : [],
118
+ // row数据
119
+ rowsdata: [],
120
+ fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_type': '换表类型', 'f_meter_base': '旧表底数', 'f_newmeter_base': '新表底数', 'f_changemeter_fee': '换表费', 'f_operator': '操作员', 'f_changemeter_date': '换表日期'},
121
+ defaultfield: [
122
+ 'f_userinfo_code', 'f_user_name', 'f_type', 'f_meter_base', 'f_newmeter_base', 'f_changemeter_fee', 'f_operator', 'f_changemeter_date'
123
+ ],
124
+ printModel: {
125
+ rows: []
126
+ }
127
+ }
128
+ },
129
+ props: ['row'],
130
+ ready () {
131
+ this.$refs.paged.$refs.criteria.search()
132
+ },
133
+ methods: {
134
+ async search () {
135
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
136
+ this.model.search(this.condition, this.model)
137
+ let http = new HttpResetClass()
138
+ let res = await http.load('POST', 'api/af-revenue/sql/sale_ChangeMeterQuery', {
139
+ data: {
140
+ condition: this.condition
141
+ }
142
+ }, {resolveMsg: null, rejectMsg: null})
143
+ this.printModel.rows = res.data
144
+ },
145
+ // 多选框初始化
146
+ selectInit () {
147
+ this.rowsdata = []
148
+ this.all = []
149
+ this.radio = []
150
+ },
151
+ print () {
152
+ this.selectInit()
153
+ },
154
+ select () {
155
+ let index = this.model.pageIndex - 1
156
+ if (!this.radio[index]) {
157
+ this.radio.$set(index, [])
158
+ }
159
+ if (this.all[index]) {
160
+ // 数据
161
+ this.rowsdata[index] = Object.assign([], this.model.rows)
162
+ // 勾选
163
+ for (var i = 0; i < this.model.rows.length; i++) {
164
+ this.radio[index].$set(i, true)
165
+ }
166
+ } else {
167
+ // 数据
168
+ this.rowsdata[index] = []
169
+ // 不勾选
170
+ for (var i = 0; i < this.model.rows.length; i++) {
171
+ this.radio[index].$set(i, false)
172
+ }
173
+ }
174
+ let z = 0
175
+ for (let i = 0; i < this.all.length; i++) {
176
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
177
+ this.printModel.rows[z++] = this.rowsdata[i][j]
178
+ }
179
+ }
180
+ },
181
+ selectOne (event, row, i) {
182
+ let index = this.model.pageIndex - 1
183
+ if (!this.rowsdata[index]) {
184
+ this.rowsdata[index] = []
185
+ }
186
+ if (!this.radio[index]) {
187
+ this.radio.$set(index, [])
188
+ }
189
+ if (event.target.checked) {
190
+ // 数据
191
+ this.rowsdata[index][i] = row
192
+ // 勾选
193
+ this.radio[index].$set(i, true)
194
+ // 判断是否全部选中
195
+ var allState = true
196
+ if (this.model.rows.length != this.radio[index].length) {
197
+ allState = false
198
+ }
199
+ for (var state of this.radio[index]) {
200
+ if (!state) {
201
+ allState = false
202
+ }
203
+ }
204
+ if (allState) {
205
+ this.all.$set(index, true)
206
+ } else {
207
+ this.all.$set(index, false)
208
+ }
209
+ } else {
210
+ // 数据
211
+ this.rowsdata[index][i] = []
212
+ // 不勾选
213
+ this.radio[index].$set(i, false)
214
+ // 任意取消一个则全选状态设为false
215
+ this.all.$set(index, false)
216
+ }
217
+ let z = 0
218
+ this.printModel.rows = []
219
+ for (let i = 0; i < this.all.length; i++) {
220
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
221
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
222
+ this.printModel.rows[z++] = this.rowsdata[i][j]
223
+ }
224
+ }
225
+ }
226
+ }
227
+ },
228
+ computed: {
229
+ ischecked () {
230
+ return function (index, i) {
231
+ if (!this.radio[index]) {
232
+ return false
233
+ }
234
+ return this.radio[index][i]
235
+ }
236
+ },
237
+ changeType () {
238
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('换表类型')]
239
+ }
240
+ }
241
+ }
242
+ </script>