sale-client 3.7.47 → 3.7.49

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 (51) 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/8.10/checksums/checksums.lock +0 -0
  5. package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
  6. package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
  7. package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
  8. package/.gradle/8.10/fileChanges/last-build.bin +0 -0
  9. package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
  10. package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
  11. package/.gradle/8.10/gc.properties +0 -0
  12. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  13. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  14. package/.gradle/file-system.probe +0 -0
  15. package/.gradle/vcs-1/gc.properties +0 -0
  16. package/package.json +1 -1
  17. package/src/filiale/jingyang/EticketPrint.vue +1 -1
  18. package/src/filiale/kelai/UserInfoDetailManageNew.vue +230 -0
  19. package/src/filiale/kelai/ic_detail/AutomaticPurse.vue +300 -0
  20. package/src/filiale/kelai/ic_detail/CardHandRecord.vue +308 -0
  21. package/src/filiale/kelai/ic_detail/ChangeMeterQueryUser.vue +240 -0
  22. package/src/filiale/kelai/ic_detail/ChangeRecord.vue +235 -0
  23. package/src/filiale/kelai/ic_detail/ChargeQueryUser.vue +544 -0
  24. package/src/filiale/kelai/ic_detail/ChargeRecordQuery.vue +102 -0
  25. package/src/filiale/kelai/ic_detail/DeveiceRecord.vue +251 -0
  26. package/src/filiale/kelai/ic_detail/FillCardQueryUser.vue +210 -0
  27. package/src/filiale/kelai/ic_detail/FillGasQueryUser.vue +229 -0
  28. package/src/filiale/kelai/ic_detail/HandQueryUser.vue +390 -0
  29. package/src/filiale/kelai/ic_detail/MachineRecordQuery.vue +261 -0
  30. package/src/filiale/kelai/ic_detail/MeterParam.vue +152 -0
  31. package/src/filiale/kelai/ic_detail/OtherChargeQueryUser.vue +251 -0
  32. package/src/filiale/kelai/ic_detail/OtherChargeQueryUserDetail.vue +81 -0
  33. package/src/filiale/kelai/ic_detail/PriceAdjustmentQueryUser.vue +313 -0
  34. package/src/filiale/kelai/ic_detail/PriceChangeQueryUser.vue +194 -0
  35. package/src/filiale/kelai/ic_detail/RecordQueryUser.vue +266 -0
  36. package/src/filiale/kelai/ic_detail/Repurchase.vue +132 -0
  37. package/src/filiale/kelai/ic_detail/TransferQueryUser.vue +223 -0
  38. package/src/filiale/kelai/ic_detail/UserDeviceQuery.vue +252 -0
  39. package/src/filiale/kelai/ic_detail/UserKeyRecord.vue +152 -0
  40. package/src/filiale/kelai/ic_detail/WebAutomaticPurse.vue +298 -0
  41. package/src/filiale/kelai/ic_detail/WebChargeQueryUser.vue +389 -0
  42. package/src/filiale/kelai/ic_detail/WebHandQueryUser.vue +411 -0
  43. package/src/filiale/kelai/ic_detail/contractSigningList.vue +117 -0
  44. package/src/filiale/kelai/ic_detail/insertKeyUser.vue +386 -0
  45. package/src/filiale/kelai/iot_detail/QueryHistoryInstruct.vue +304 -0
  46. package/src/filiale/kelai/iot_detail/QueryInstruct.vue +342 -0
  47. package/src/filiale/kelai/iot_detail/WatchCollection.vue +127 -0
  48. package/src/filiale/kelai/iot_detail/WatchDealWarning.vue +236 -0
  49. package/src/filiale/kelai/iot_detail/WatchWarning.vue +24 -0
  50. package/src/filiale/kelai/sale.js +1 -0
  51. package/src/plugins/GetSaleParams.js +5 -5
@@ -0,0 +1,308 @@
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_hand_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_hand_date <= '{} 23:59:59' "
24
+ placeholder="结束时间"
25
+ style="width:60%"
26
+ v-model="model.f_end_date"
27
+ ></datepicker>
28
+ </div>
29
+
30
+ <div style="float: right">
31
+ <button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
32
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
33
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
34
+ sqlurl="rs/logic/saleExport" sql-name="sale_cardhandplanQuery" template-name='抄表查询导出'
35
+ :choose-col="true" ref="salehandplanExport"></export-excel>
36
+
37
+ <print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
38
+ @print-data="$parent.$parent.print()" print-name="其他收费流水"></print-data>
39
+ </div>
40
+ </div>
41
+
42
+ </div>
43
+ </criteria>
44
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
45
+ <template partial='head'>
46
+ <tr>
47
+ <th>
48
+ <nobr>表号</nobr>
49
+ </th>
50
+ <th>
51
+ <nobr>上期底数</nobr>
52
+ </th>
53
+ <th>
54
+ <nobr>本期底数</nobr>
55
+ </th>
56
+ <th>
57
+ <nobr>用气量</nobr>
58
+ </th>
59
+ <th>
60
+ <nobr>补差气量</nobr>
61
+ </th>
62
+ <th>
63
+ <nobr>补差单价</nobr>
64
+ </th>
65
+ <th>
66
+ <nobr>补差金额</nobr>
67
+ </th>
68
+ <th>
69
+ <nobr>录入日期</nobr>
70
+ </th>
71
+ <th>
72
+ <nobr>抄表员</nobr>
73
+ </th>
74
+
75
+ <th>
76
+ <nobr>抄表状态</nobr>
77
+ </th>
78
+ <th>
79
+ <nobr>操作人</nobr>
80
+ </th>
81
+ </tr>
82
+ </template>
83
+ <template partial='body' partial='list' v-ref:grid>
84
+ <tr >
85
+ <td style="text-align: center;">
86
+ <nobr>{{row.f_meternumber}}</nobr>
87
+ </td>
88
+ <td style="text-align: center;">
89
+ <nobr>{{row.f_last_tablebase}}</nobr>
90
+ </td>
91
+ <td style="text-align: center;">
92
+ <nobr>{{row.f_tablebase}}</nobr>
93
+ </td>
94
+
95
+ <td style="text-align: center;">
96
+ <nobr>{{row.f_real_amount}}</nobr>
97
+ </td>
98
+ <td style="text-align: center;">
99
+ <nobr>{{row.f_real_amount}}</nobr>
100
+ </td>
101
+ <td style="text-align: center;">
102
+ <nobr>{{row.f_change_price}}</nobr>
103
+ </td>
104
+ <td style="text-align: center;">
105
+ <nobr>{{row.f_real_fee}}</nobr>
106
+ </td>
107
+ <td style="text-align: center;">
108
+ <nobr>{{row.f_hand_date}}</nobr>
109
+ </td>
110
+ <td style="text-align: center;">
111
+ <nobr>{{row.f_inputtor}}</nobr>
112
+ </td>
113
+
114
+ <td style="text-align: center;">
115
+ <nobr>{{row.f_meter_state}}</nobr>
116
+ </td>
117
+ <td style="text-align: center;">
118
+ <nobr>{{row.f_operator}}</nobr>
119
+ </td>
120
+ </tr>
121
+ </template>
122
+ <template partial='foot'></template>
123
+ </data-grid>
124
+ </criteria-paged>
125
+
126
+ </div>
127
+
128
+ </div>
129
+ </template>
130
+
131
+ <script>
132
+ import {HttpResetClass, PagedList} from 'vue-client'
133
+
134
+ export default {
135
+ title: '抄表',
136
+
137
+ data () {
138
+ return {
139
+ condition: '1=1',
140
+ getfields: {},
141
+ model: new PagedList('rs/sql/sale_cardhandplanQuery', 20, {}),
142
+ // 控制单选
143
+ radio: [],
144
+ showdetail: false,
145
+ otherchargeid: '',
146
+ // 选中的页
147
+ all: [],
148
+ // row数据
149
+ rowsdata: [],
150
+ searchValue: this.$appdata.getSingleValue('综合条件查询') ? this.$appdata.getSingleValue('综合条件查询') : 'f_userfiles_id',
151
+ fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_meternumber': '表号', 'f_last_tablebase': '上期底数', 'f_tablebase': '本期底数', 'f_real_amount': '用气量', 'f_real_amount': '补差气量', 'f_change_price': '补差单价', 'f_real_fee': '补差金额', 'f_hand_date': '录入日期', 'f_inputtor': '抄表员', 'f_meter_state': '抄表状态', 'f_operator': '操作人'},
152
+ defaultfield: [
153
+ 'f_userinfo_code', 'f_user_name', 'f_meternumber', 'f_last_tablebase', 'f_tablebase', 'f_real_amount', 'f_real_amount', 'f_change_price', 'f_change_price', 'f_real_fee', 'f_hand_date', 'f_inputtor', 'f_meter_state', 'f_inputtor', 'f_operator'
154
+ ],
155
+ printModel: {
156
+ rows: []
157
+ },
158
+ other: [],
159
+ footer: [],
160
+ // 合计数据
161
+ sumsmodel: {}
162
+ }
163
+ },
164
+ props: ['row'],
165
+ ready () {
166
+ this.$refs.paged.$refs.criteria.search()
167
+ },
168
+ methods: {
169
+ getotherfooter () {
170
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
171
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
172
+ this.other = []
173
+ this.footer = []
174
+ // let exportdata = this.getCondition;
175
+ let otherInData = []
176
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
177
+ let footerData = [], exportfield = this.getfields
178
+ footerData.push('合计')
179
+ let self = this
180
+ for (var field in self.sumsmodel) {
181
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
182
+ }
183
+ this.footer.push(footerData)
184
+ this.other.push(otherInData)
185
+ },
186
+ async search () {
187
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and ${this.searchValue} = '${this.row[this.searchValue]}' `
188
+ this.model.search(this.condition, this.model)
189
+ let http = new HttpResetClass()
190
+ let res = await http.load('POST', 'rs/sql/sale_cardhandplanQuery', {
191
+ data: {
192
+ condition: this.condition
193
+ }
194
+ }, {resolveMsg: null, rejectMsg: null})
195
+ this.printModel.rows = res.data
196
+ },
197
+ // 多选框初始化
198
+ selectInit () {
199
+ this.rowsdata = []
200
+ this.all = []
201
+ this.radio = []
202
+ },
203
+ print () {
204
+ this.selectInit()
205
+ },
206
+ select () {
207
+ let index = this.model.pageIndex - 1
208
+ if (!this.radio[index]) {
209
+ this.radio.$set(index, [])
210
+ }
211
+ if (this.all[index]) {
212
+ // 数据
213
+ this.rowsdata[index] = Object.assign([], this.model.rows)
214
+ // 勾选
215
+ for (var i = 0; i < this.model.rows.length; i++) {
216
+ this.radio[index].$set(i, true)
217
+ }
218
+ } else {
219
+ // 数据
220
+ this.rowsdata[index] = []
221
+ // 不勾选
222
+ for (var i = 0; i < this.model.rows.length; i++) {
223
+ this.radio[index].$set(i, false)
224
+ }
225
+ }
226
+ let z = 0
227
+ for (let i = 0; i < this.all.length; i++) {
228
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
229
+ this.printModel.rows[z++] = this.rowsdata[i][j]
230
+ }
231
+ }
232
+ },
233
+ selectOne (event, row, i) {
234
+ let index = this.model.pageIndex - 1
235
+ if (!this.rowsdata[index]) {
236
+ this.rowsdata[index] = []
237
+ }
238
+ if (!this.radio[index]) {
239
+ this.radio.$set(index, [])
240
+ }
241
+ if (event.target.checked) {
242
+ // 数据
243
+ this.rowsdata[index][i] = row
244
+ // 勾选
245
+ this.radio[index].$set(i, true)
246
+ // 判断是否全部选中
247
+ var allState = true
248
+ if (this.model.rows.length != this.radio[index].length) {
249
+ allState = false
250
+ }
251
+ for (var state of this.radio[index]) {
252
+ if (!state) {
253
+ allState = false
254
+ }
255
+ }
256
+ if (allState) {
257
+ this.all.$set(index, true)
258
+ } else {
259
+ this.all.$set(index, false)
260
+ }
261
+ } else {
262
+ // 数据
263
+ this.rowsdata[index][i] = []
264
+ // 不勾选
265
+ this.radio[index].$set(i, false)
266
+ // 任意取消一个则全选状态设为false
267
+ this.all.$set(index, false)
268
+ }
269
+ let z = 0
270
+ this.printModel.rows = []
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
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
274
+ this.printModel.rows[z++] = this.rowsdata[i][j]
275
+ }
276
+ }
277
+ }
278
+ },
279
+ showchargedetail (row) {
280
+ this.showdetail = true
281
+ this.otherchargeid = row.id
282
+ }
283
+ },
284
+ computed: {
285
+ ischecked () {
286
+ return function (index, i) {
287
+ if (!this.radio[index]) {
288
+ return false
289
+ }
290
+ return this.radio[index][i]
291
+ }
292
+ },
293
+ getCondition () {
294
+ return {
295
+ condition: this.condition
296
+ }
297
+ }
298
+ },
299
+ watch: {
300
+ sumsmodel: {
301
+ handler: function (val) {
302
+ this.getotherfooter()
303
+ },
304
+ deep: true
305
+ }
306
+ }
307
+ }
308
+ </script>
@@ -0,0 +1,240 @@
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
+ </tr>
74
+ </template>
75
+ <template partial='body' partial='list' v-ref:grid>
76
+ <tr >
77
+
78
+ <td style="text-align: center;"><nobr>{{row.f_type}}</nobr></td>
79
+ <td style="text-align: center;"><nobr>{{row.f_using_base_old}}</nobr></td>
80
+ <td style="text-align: center;"><nobr>{{row.f_remanent_gas}}</nobr></td>
81
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand_old}}</nobr></td>
82
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
83
+ <td style="text-align: center;"><nobr>{{row.f_meternumber_old}}</nobr></td>
84
+ <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
85
+ <td style="text-align: center;"><nobr>{{row.f_changemeter_fee}}</nobr></td>
86
+ <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
87
+ <td style="text-align: center;"><nobr>{{row.f_state}}</nobr></td>
88
+ <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
89
+ <td style="text-align: center;"><nobr>{{row.f_changetables_reason}}/{{row.f_reason}}/{{row.f_othereason}}</nobr></td>
90
+ </tr>
91
+ </template>
92
+ <template partial='foot'></template>
93
+ </data-grid>
94
+ </criteria-paged>
95
+ </div>
96
+ </div>
97
+ </template>
98
+
99
+ <script>
100
+ import {HttpResetClass, PagedList} from 'vue-client'
101
+
102
+ export default {
103
+ title: '收费',
104
+ data () {
105
+ return {
106
+ condition: '1=1',
107
+ model: new PagedList('rs/sql/sale_ChangeMeterQuery', 20),
108
+ // 控制单选
109
+ radio: [],
110
+ // 选中的页
111
+ all: [],
112
+ isstates: this.$appdata.getParam('是否有效') ? [{
113
+ label: '全部',
114
+ value: ''
115
+ }, ...this.$appdata.getParam('是否有效')] : [],
116
+ // row数据
117
+ rowsdata: [],
118
+ fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_type': '换表类型', 'f_meter_base': '旧表底数', 'f_newmeter_base': '新表底数', 'f_changemeter_fee': '换表费', 'f_operator': '操作员', 'f_changemeter_date': '换表日期'},
119
+ defaultfield: [
120
+ 'f_userinfo_code', 'f_user_name', 'f_type', 'f_meter_base', 'f_newmeter_base', 'f_changemeter_fee', 'f_operator', 'f_changemeter_date'
121
+ ],
122
+ printModel: {
123
+ rows: []
124
+ }
125
+ }
126
+ },
127
+ props: ['row'],
128
+ ready () {
129
+ this.$refs.paged.$refs.criteria.search()
130
+ },
131
+ methods: {
132
+ async search () {
133
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
134
+ this.model.search(this.condition, this.model)
135
+ let http = new HttpResetClass()
136
+ let res = await http.load('POST', 'rs/sql/sale_ChangeMeterQuery', {
137
+ data: {
138
+ condition: this.condition
139
+ }
140
+ }, {resolveMsg: null, rejectMsg: null})
141
+ this.printModel.rows = res.data
142
+ },
143
+ // 多选框初始化
144
+ selectInit () {
145
+ this.rowsdata = []
146
+ this.all = []
147
+ this.radio = []
148
+ },
149
+ print () {
150
+ this.selectInit()
151
+ },
152
+ select () {
153
+ let index = this.model.pageIndex - 1
154
+ if (!this.radio[index]) {
155
+ this.radio.$set(index, [])
156
+ }
157
+ if (this.all[index]) {
158
+ // 数据
159
+ this.rowsdata[index] = Object.assign([], this.model.rows)
160
+ // 勾选
161
+ for (var i = 0; i < this.model.rows.length; i++) {
162
+ this.radio[index].$set(i, true)
163
+ }
164
+ } else {
165
+ // 数据
166
+ this.rowsdata[index] = []
167
+ // 不勾选
168
+ for (var i = 0; i < this.model.rows.length; i++) {
169
+ this.radio[index].$set(i, false)
170
+ }
171
+ }
172
+ let z = 0
173
+ for (let i = 0; i < this.all.length; i++) {
174
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
175
+ this.printModel.rows[z++] = this.rowsdata[i][j]
176
+ }
177
+ }
178
+ },
179
+ selectOne (event, row, i) {
180
+ let index = this.model.pageIndex - 1
181
+ if (!this.rowsdata[index]) {
182
+ this.rowsdata[index] = []
183
+ }
184
+ if (!this.radio[index]) {
185
+ this.radio.$set(index, [])
186
+ }
187
+ if (event.target.checked) {
188
+ // 数据
189
+ this.rowsdata[index][i] = row
190
+ // 勾选
191
+ this.radio[index].$set(i, true)
192
+ // 判断是否全部选中
193
+ var allState = true
194
+ if (this.model.rows.length != this.radio[index].length) {
195
+ allState = false
196
+ }
197
+ for (var state of this.radio[index]) {
198
+ if (!state) {
199
+ allState = false
200
+ }
201
+ }
202
+ if (allState) {
203
+ this.all.$set(index, true)
204
+ } else {
205
+ this.all.$set(index, false)
206
+ }
207
+ } else {
208
+ // 数据
209
+ this.rowsdata[index][i] = []
210
+ // 不勾选
211
+ this.radio[index].$set(i, false)
212
+ // 任意取消一个则全选状态设为false
213
+ this.all.$set(index, false)
214
+ }
215
+ let z = 0
216
+ this.printModel.rows = []
217
+ for (let i = 0; i < this.all.length; i++) {
218
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
219
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
220
+ this.printModel.rows[z++] = this.rowsdata[i][j]
221
+ }
222
+ }
223
+ }
224
+ }
225
+ },
226
+ computed: {
227
+ ischecked () {
228
+ return function (index, i) {
229
+ if (!this.radio[index]) {
230
+ return false
231
+ }
232
+ return this.radio[index][i]
233
+ }
234
+ },
235
+ changeType () {
236
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('换表类型')]
237
+ }
238
+ }
239
+ }
240
+ </script>