sale-client 4.0.200 → 4.0.201

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 (56) 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 +8 -24
  8. package/package.json +1 -1
  9. package/src/components/charge/ChargeModal.vue +1 -9
  10. package/src/components/common/userinfo_detail/UserInfoDetailManageNew.vue +6 -6
  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/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  20. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  21. package/src/filiale/bayan/StockListmain.vue +543 -543
  22. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  23. package/src/filiale/gehua/handAccount/checkAccountPrint.vue +320 -320
  24. package/src/filiale/gehua/handAccount/handList.vue +453 -453
  25. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  26. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  27. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  28. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  29. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  30. package/src/filiale/ronghao/CardService.js +2144 -2144
  31. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  32. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  33. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  34. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  35. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  36. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  37. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  38. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  39. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  40. package/src/filiale/ronghao/Upload.vue +654 -654
  41. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  42. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  43. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  44. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  45. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  46. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  47. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  48. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  49. package/src/filiale/ronghao/specificInformation.vue +537 -537
  50. package/src/filiale/yangchun/ChargeList.vue +954 -954
  51. package/src/filiale/yangchun/EticketV4/EticketRecordList.vue +427 -427
  52. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  53. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  54. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  55. package/src/main.js +1 -1
  56. package/src/plugins/CardService.js +2217 -2217
File without changes
@@ -0,0 +1,2 @@
1
+ #Thu Mar 13 17:10:29 CST 2025
2
+ gradle.version=5.2.1
File without changes
@@ -1,7 +1,8 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl ] = ['http://192.168.50.67:31467/', 'http://localhost:9026/']
4
+ // const [ serverRul, localUrl ] = ['http://218.93.226.210:31467/', 'http://218.93.226.210:31467/']
5
+ const [ serverRul, localUrl ] = ['http://192.168.50.67:31467/', 'http://127.0.0.1:9026/']
5
6
  var merge = require('webpack-merge')
6
7
  var baseConfig = require('./webpack.dev.conf')
7
8
  var devConfig = {
@@ -19,10 +20,10 @@ var devConfig = {
19
20
  children: false // 不输出子模块构建信息
20
21
  },
21
22
  proxy: {
22
- // '/api/af-revenue/logic/depositCharge': {
23
- // // pathRewrite: {ca'h
24
- // // '/api/af-revenue/logic': '/logic'
25
- // // },
23
+ // '/api/af-revenue/logic/changeMeterCardHand': {
24
+ // pathRewrite: {
25
+ // '/api/af-revenue/logic': '/logic'
26
+ // },
26
27
  // target: 'http://127.0.0.1:9026'
27
28
  // },
28
29
  '/api/af-revenue/logic': {
@@ -37,23 +38,9 @@ var devConfig = {
37
38
  },
38
39
  target: localUrl
39
40
  },
40
- 'api/af-revenue/entity/save': {
41
- pathRewrite: {
42
- '/api/af-revenue/entity/save': '/entity/save'
43
- },
44
- target: localUrl
45
- },
46
- '/singlepage': {
47
- // pathRewrite: {
48
- // '/weixin2/rs': '/rs'
49
- // },
50
- target: localUrl
51
- },
52
41
  '/weixin2/rs': {
53
- pathRewrite: {
54
- '/weixin2/rs': '/singlepage/weixin2/rs'
55
- },
56
- target: localUrl
42
+
43
+ target: 'http://410663id1ia4.vicp.fun'
57
44
  },
58
45
  '/api/af-revenue/sql': {
59
46
  pathRewrite: {
@@ -67,9 +54,6 @@ var devConfig = {
67
54
  '/api': {
68
55
  target: serverRul
69
56
  },
70
- '/resource': {
71
- target: serverRul
72
- },
73
57
  '/rs': {
74
58
  target: serverRul
75
59
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.0.200",
3
+ "version": "4.0.201",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -8,8 +8,7 @@
8
8
  <button class="button_search" v-show="!warninginfo.data.state.info" @click="operational('files_complete')" style="width: max-content;">完善信息</button>
9
9
  <button class="button_search" v-show="warninginfo.data.state.blacklist&&!warninginfo.data.state.dibao" @click="operational('basic-living')" style="width: max-content;">低保续保</button>
10
10
  <button class="button_search" v-show="warninginfo.data.state.blacklist&&!warninginfo.data.state.dibao && warninginfo.data.state.dibaoend" @click="operational('stop-basic-living')" style="width: max-content;">停止续保</button>
11
- <button class="button_search" v-show="!(!warninginfo.data.state.dibao&&warninginfo.data.state.dibaoend) && warninginfo.data.state.chargeAccount" @click="success()">确认</button>
12
- <button class="button_search" v-show="!warninginfo.data.state.chargeAccount" @click="goToAccount()">去挂账管理</button>
11
+ <button class="button_search" v-show="!(!warninginfo.data.state.dibao&&warninginfo.data.state.dibaoend)" @click="success()">确认</button>
13
12
  </span>
14
13
  </div>
15
14
  <p>{{authorityInformation}}</p>
@@ -66,13 +65,6 @@
66
65
  }
67
66
  },
68
67
  methods: {
69
- goToAccount () {
70
- console.log('点击了去挂帐管理')
71
- if (window.parent !== window) {
72
- window.parent.postMessage({type: 'route', path:'/duizhang/credit'}, '*')
73
- this.close()
74
- }
75
- },
76
68
  close () {
77
69
  this.$emit('close')
78
70
  },
@@ -101,9 +101,9 @@
101
101
  <saletab header="安检记录" v-if="permission('安检记录')">
102
102
  <security-check-info :row="row" @deal-msg="dealMsg"></security-check-info>
103
103
  </saletab>
104
- <saletab header="装表记录" v-if="permission('装表记录')">
105
- <metering-records :row="row" @deal-msg="dealMsg"></metering-records>
106
- </saletab>
104
+ <!-- <saletab header="装表记录" v-if="permission('装表记录')">-->
105
+ <!-- <metering-records :row="row" @deal-msg="dealMsg"></metering-records>-->
106
+ <!-- </saletab>-->
107
107
  <!-- <saletab header="报装流转记录" v-if="permission('报装流转记录查看')">-->
108
108
  <!-- <supervisory-control :row="row" ></supervisory-control>-->
109
109
  <!-- </saletab>-->
@@ -138,7 +138,7 @@
138
138
  import UserKeyRecord from './ic_detail/UserKeyRecord'
139
139
  import RepairList from "./ic_detail/RepairList";
140
140
  import SecurityCheckInfo from './ic_detail/SecuritycheckInfo';
141
- import MeteringRecords from './ic_detail/MeteringRecords'
141
+ // import MeteringRecords from './ic_detail/MeteringRecords'
142
142
  // import SupervisoryControl from './apply_detail/Supervisory/SupervisoryControl'
143
143
  // import ApplyChargeSearch from './apply_detail/applyCharge/ApplyChargeSearch'
144
144
  // 导入物联网相关查询
@@ -184,8 +184,8 @@ export default {
184
184
  MachineRecordQuery,
185
185
  UserDeviceQuery,
186
186
  contractSigningList,
187
- UserKeyRecord,
188
- MeteringRecords
187
+ UserKeyRecord
188
+ // MeteringRecords
189
189
  // SupervisoryControl,
190
190
  // ApplyChargeSearch
191
191
  },
@@ -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>