sale-client 4.2.30 → 4.2.32

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 (68) hide show
  1. package/build/dev-server.js +48 -40
  2. package/package.json +1 -1
  3. package/src/App.vue +1 -1
  4. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  5. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  6. package/src/components/revenue/comprehen/ComprehenOperation/newchangemeter/ChangeMeter.vue +9 -5
  7. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  8. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  9. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  10. package/src/components/webMeter/meterinfo/NewMeterList.vue +7 -0
  11. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  12. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  13. package/src/filiale/bayan/StockListmain.vue +543 -543
  14. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  15. package/src/filiale/jinhong/RecordCancel.vue +340 -0
  16. package/src/filiale/jinhong/sale.js +2 -0
  17. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  18. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  19. package/src/filiale/meihekou/MachineCharge.vue +1 -0
  20. package/src/filiale/meihekou/MachineMeterCenter.vue +715 -0
  21. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  22. package/src/filiale/meihekou/machineHand.vue +13 -0
  23. package/src/filiale/meihekou/sale.js +2 -0
  24. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  25. package/src/filiale/rongcheng/business/CardMeterCenter.vue +455 -455
  26. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  27. package/src/filiale/ronghao/CardService.js +2144 -2144
  28. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  29. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  30. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  31. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  32. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  33. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  34. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  35. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  36. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  37. package/src/filiale/ronghao/Upload.vue +654 -654
  38. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  39. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  40. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  41. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  42. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  43. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  44. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  45. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  46. package/src/filiale/ronghao/specificInformation.vue +537 -537
  47. package/src/filiale/yangchun/ChargeList.vue +954 -954
  48. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  49. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  50. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  51. package/src/main.js +1 -1
  52. package/src/plugins/CardService.js +2217 -2217
  53. package/.gradle/8.10/checksums/checksums.lock +0 -0
  54. package/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
  55. package/.gradle/8.10/executionHistory/executionHistory.bin +0 -0
  56. package/.gradle/8.10/executionHistory/executionHistory.lock +0 -0
  57. package/.gradle/8.10/fileChanges/last-build.bin +0 -0
  58. package/.gradle/8.10/fileHashes/fileHashes.bin +0 -0
  59. package/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
  60. package/.gradle/8.10/gc.properties +0 -0
  61. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  62. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  63. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  64. package/.gradle/file-system.probe +0 -0
  65. package/.gradle/vcs-1/gc.properties +0 -0
  66. package/.npmignore +0 -12
  67. package/src/.npmignore +0 -1
  68. package/yarn.lock +0 -12208
@@ -1,504 +1,504 @@
1
- <template>
2
- <div>
3
- <div style="flex: 1.5" class="flex">
4
- <div class="flex">
5
- <criteria-paged :model="model" v-ref:paged @sort="sort">
6
- <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
- v-show="$parent.searchshow">
8
- <div novalidate class="form-inline auto" partial>
9
- <!-- <div class="col-sm-2 form-group">-->
10
- <!-- <label class="font_normal_body">组织机构</label>-->
11
- <!-- <res-select :initresid='$parent.$parent.curorgid'-->
12
- <!-- @res-select="$parent.$parent.getorg"-->
13
- <!-- class="select select_list"-->
14
- <!-- restype='organization'-->
15
- <!-- style="width: 60%">-->
16
- <!-- </res-select>-->
17
- <!-- </div>-->
18
- <div class="row">
19
- <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
20
- class="form-group">
21
- <label class="font_normal_body">客户编号</label>
22
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code"
23
- condition="f_userinfo_code = '{}'" placeholder='客户编号'>
24
- </div>
25
- <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
26
- class="form-group">
27
- <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
28
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_meternumber"
29
- condition="f_meternumber = '{}'" placeholder='表号'>
30
- </div>
31
- <div class="span" style="float:right;">
32
- <button class="button_search" @click="search()">查 询</button>
33
- <export-excel v-if="$parent.$parent.excelTable"
34
- class="auto"
35
- :data="{condition: $parent.$parent.condition,orderitem: $parent.$parent.orderitem}"
36
- :field="$parent.$parent.getfield"
37
- sqlurl="api/af-revenue/logic/saleExport" progress="saleGetExportProgress" sql-name="changemeterFiles"
38
- template-name='换表记录'
39
- :choose-col="true"></export-excel>
40
- <div
41
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
42
- @click="$parent.$parent.hidden()"
43
- class="button_spacing"
44
- style="float: right"></div>
45
- </div>
46
- </div>
47
- <div class="row" v-if="$parent.$parent.criteriaShow">
48
- <res-select-group :initres="$parent.$parent.initres" :show-component="['company','department']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
49
- <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
50
- class="form-group">
51
- <label class="font_normal_body">客户姓名</label>
52
- <input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
53
- condition="f_user_name = '{}'" placeholder='客户姓名'>
54
- </div>
55
- <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
56
- class="form-group">
57
- <label class="font_normal_body">有无附件</label>
58
- <v-select :disabled=false
59
- :options='$parent.$parent.pj'
60
- :value-single="true"
61
- :value.sync="model.is_has_file"
62
- close-on-select
63
- placeholder='请选择'
64
- v-model="model.is_has_file"
65
- condition="is_has_file = '{}'"
66
- search=fasle
67
- >
68
- </v-select>
69
- </div>
70
- <!-- <div-->
71
- <!-- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"-->
72
- <!-- class="form-group">-->
73
- <!-- <label class="font_normal_body">换表编号</label>-->
74
- <!-- <input type="text" class="input_search" style="width: 60%" v-model="model.id"-->
75
- <!-- condition="id = '{}'" placeholder='用户编号'>-->
76
- <!-- </div>-->
77
- <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
78
- class="form-group">
79
- <label class="font_normal_body">气表品牌</label>
80
- <v-select id="f_meter_brand"
81
- v-model="model.f_meter_brand"
82
- placeholder='气表品牌'
83
- :value.sync="model.f_meter_brand"
84
- :options='$parent.$parent.meterbrand'
85
- condition="f_meter_brand = '{}'"
86
- close-on-select style="width: 60%"></v-select>
87
- </div>
88
- <div
89
- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
90
- class="form-group">
91
- <label class="font_normal_body">开始日期</label>
92
- <datepicker placeholder="开始日期" v-model="model.startDate" :value.sync="model.startDate" style="width:60%"
93
- :format="'yyyy-MM-dd 00:00:00'" condition="f_operate_date >= '{}'">
94
- </datepicker>
95
- </div>
96
- <div
97
- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
98
- class="form-group">
99
- <label class="font_normal_body">结束日期</label>
100
- <datepicker placeholder="结束日期" v-model="model.endDate" :value.sync="model.endDate" style="width:60%"
101
- :format="'yyyy-MM-dd 23:59:59'" condition="f_operate_date <= '{}'">
102
- </datepicker>
103
- </div>
104
- </div>
105
- </div>
106
-
107
- </criteria>
108
- <data-grid :model="model" v-ref:grid class="list_area table_sy" partial='list'>
109
- <template partial='head'>
110
- <tr>
111
- <th>
112
- <nobr>序号</nobr>
113
- </th>
114
- <th>
115
- <nobr>客户编号</nobr>
116
- </th>
117
- <th>
118
- <nobr>客户名称</nobr>
119
- </th>
120
- <th>
121
- <nobr>客户地址</nobr>
122
- </th>
123
- <th>
124
- <nobr>换表类型</nobr>
125
- </th>
126
- <th>
127
- <nobr>换表费</nobr>
128
- </th>
129
- <th>
130
- <nobr>换表单号</nobr>
131
- </th>
132
- <th>
133
- <nobr>旧表号</nobr>
134
- </th>
135
- <th>
136
- <nobr>新表号</nobr>
137
- </th>
138
- <th>
139
- <nobr>旧气表品牌</nobr>
140
- </th>
141
- <th>
142
- <nobr>新气表品牌</nobr>
143
- </th>
144
- <th>
145
- <nobr>旧表剩余补气量</nobr>
146
- </th>
147
- <th>
148
- <nobr>旧表具剩余金额</nobr>
149
- </th>
150
- <th>
151
- <nobr>换表原因</nobr>
152
- </th>
153
- <th>
154
- <nobr>其他备注</nobr>
155
- </th>
156
- <th>
157
- <nobr>换表人</nobr>
158
- </th>
159
- <th>
160
- <nobr>状态</nobr>
161
- </th>
162
- <th>
163
- <data-order field="f_operate_date" name="换表日期"></data-order>
164
- </th>
165
- <th>
166
- <nobr>人员</nobr>
167
- </th>
168
- <th>
169
- <nobr>部门</nobr>
170
- </th>
171
- <th>
172
- <nobr>公司</nobr>
173
- </th>
174
- <th><nobr>附件</nobr></th>
175
- </tr>
176
- </template>
177
- <template partial='body'>
178
- <td style="text-align: center;"><nobr>{{$index + 1}}</nobr></td>
179
- <td style="text-align: center;"><nobr>
180
- {{row.f_userinfo_code}}
181
- </nobr> </td>
182
- <td style="text-align: center;">
183
- <nobr>{{row.f_user_name}}</nobr>
184
- </td>
185
- <td style="text-align: center;">
186
- <nobr>{{row.f_address}}</nobr>
187
- </td>
188
- <td style="text-align: center;">
189
- <nobr>{{row.f_type}}</nobr>
190
- </td>
191
- <td style="text-align: center;">
192
- <nobr>{{row.f_changemeter_fee}}</nobr>
193
- </td>
194
- <td style="text-align: center;">
195
- <nobr>{{row.f_serial_number}}</nobr>
196
- </td>
197
- <td style="text-align: center;">
198
- <nobr>{{row.f_meternumber_old}}</nobr>
199
- </td>
200
- <td style="text-align: center;">
201
- <nobr>{{row.f_meternumber}}</nobr>
202
- </td>
203
- <td style="text-align: center;">
204
- <nobr>{{row.f_meter_brand_old}}</nobr>
205
- </td>
206
- <td style="text-align: center;">
207
- <nobr>{{row.f_meter_brand}}</nobr>
208
- </td>
209
- <td style="text-align: center;">
210
- <nobr>{{row.f_remanent_gas}}</nobr>
211
- </td>
212
- <td style="text-align: center;">
213
- <nobr>{{row.f_remanent_money}}</nobr>
214
- </td>
215
- <td style="text-align: center;">
216
- <nobr>{{row.f_comments}}</nobr>
217
- </td>
218
- <td style="text-align: center;">
219
- <nobr>{{row.f_othereason}}</nobr>
220
- </td>
221
- <td style="text-align: center;">
222
- <nobr>{{row.f_change_operator}}</nobr>
223
- </td>
224
- <td style="text-align: center;">
225
- <nobr>{{row.f_state}}</nobr>
226
- </td>
227
- <td style="text-align: center;">
228
- <nobr>{{row.f_operate_date}}</nobr>
229
- </td>
230
- <td style="text-align: center;">
231
- <nobr>{{row.f_operator}}</nobr>
232
- </td>
233
- <td style="text-align: center;">
234
- <nobr>{{row.f_depname}}</nobr>
235
- </td>
236
- <td style="text-align: center;">
237
- <nobr>{{row.f_orgname}}</nobr>
238
- </td>
239
- <td style="text-align: center;"><nobr>
240
- <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
241
- </nobr></td>
242
- </template>
243
- </data-grid>
244
- </criteria-paged>
245
- </div>
246
- </div>
247
- </div>
248
- </template>
249
-
250
- <script>
251
- import {PagedList} from 'vue-client'
252
- const myMap = new Map()
253
- let asyncReadyGen = async function (self) {
254
- await self.initQueryParam()
255
- }
256
- export default {
257
- 'title': '',
258
- data () {
259
- return {
260
- model: new PagedList('api/af-revenue/sql/changemeterFiles', 20, {orderitem: '"f_operate_date DESC"'}),
261
- pj: this.$appdata.getParam('是否有附件') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('是否有附件')] : [],
262
- // 控制查询条件显示
263
- searchshow: true,
264
- curorgid: [this.$login.f.orgid],
265
- criteriaShow: false,
266
- f_orgid: '',
267
- condition: '',
268
- // 排序
269
- orderitem: 'f_operate_date desc',
270
- orderFields: {
271
- f_operate_date: 'no'
272
- },
273
- // 控制样式
274
- editList: false,
275
- excelTable: true,
276
- getfield: {
277
- 'f_userinfo_code': '客户编号',
278
- 'f_user_name': '客户名称',
279
- 'f_address': '客户地址',
280
- 'f_type': '换表类型',
281
- 'f_changemeter_fee': '换表费',
282
- 'f_meternumber_old': '旧表号',
283
- 'f_meternumber': '新表号',
284
- 'f_meter_brand_old': '旧气表品牌',
285
- 'f_meter_brand': '新气表品牌',
286
- 'f_remanent_gas': '旧表剩余补气量',
287
- 'f_remanent_money': '旧表剩余金额',
288
- 'f_comments': '换表原因',
289
- 'f_othereason': '其他备注',
290
- 'f_change_operator': '换表人',
291
- 'f_state': '状态',
292
- 'f_operate_date': '换表日期',
293
- 'f_operator': '人员',
294
- 'f_depname': '所属部门',
295
- 'f_orgname': '所属公司',
296
- 'f_serial_number': '换表单号'
297
- },
298
- meterbrand: [],
299
- initres: {
300
- org: [this.$login.f.orgid],
301
- dep: [],
302
- user: []
303
- },
304
- whetherPay: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}],
305
- da: {
306
- rows: []
307
- },
308
- f_meternumber: ''
309
- }
310
- },
311
- ready () {
312
- asyncReadyGen(this)
313
- this.search()
314
- // this.getwarehouse()
315
- },
316
- props: ['showMessage'],
317
- methods: {
318
- getorg (val) {
319
- this.f_orgid = this.$login.convertToIn(val)
320
- this.f_filialeid = val[0]
321
- },
322
- async getRes (condition, obj) {
323
- this.orgCondtionStr = condition
324
- this.orgname = obj.orgnames[0]
325
- this.depname = obj.depnames[0]
326
-
327
- },
328
- initQueryParam () {
329
- let arr = []
330
- this.$GetSaleParam.getGasbrand().forEach((item) => {
331
- let temp = {}
332
- temp.label = item.label
333
- temp.value = item.value.f_meter_brand
334
- arr.push(temp)
335
- })
336
- this.meterbrand = [{label: '全部', value: ''}, ...arr]
337
- },
338
- view (row) {
339
- this.$parent.showupload = true
340
- this.$parent.row = row
341
- },
342
- init () {
343
- this.f_meternumber = ''
344
- this.da.rows = []
345
- myMap.clear()
346
- },
347
- cancelSet () {
348
- this.showSetModal = false
349
- this.init()
350
- },
351
-
352
- jump () {
353
- this.joinshow2 = false
354
- this.showSetModal = true
355
- },
356
- async getwarehouse () {
357
-
358
- },
359
- hidden () {
360
- this.criteriaShow = !this.criteriaShow
361
- },
362
- join1 (row) {
363
- this.joinrow = row
364
- this.joinshow = true
365
- },
366
-
367
- joinclose () {
368
- this.joinshow = false
369
- },
370
- joinclose2 () {
371
- this.joinshow2 = false
372
- },
373
-
374
- sort (field, rule) {
375
- // 将所有排序方式设为不排序,实现相互排斥
376
- for (let key in this.orderFields) {
377
- if (key === field) {
378
- this.orderFields[key] = rule
379
- } else {
380
- this.orderFields[key] = 'no'
381
- }
382
- }
383
- // 如果新规则不排序,还原为默认排序
384
- if (rule === 'no') {
385
- this.model.paramSource.orderitem = `'${this.orderitem}'`
386
- } else {
387
- this.model.paramSource.orderitem = `'${field} ${rule}'`
388
- }
389
-
390
- this.search()
391
- },
392
- search () {
393
- this.$refs.paged.$refs.criteria.search()
394
- },
395
- importFile () {
396
- this.show = true
397
- },
398
- selfSearch (args) {
399
- if (!this.f_orgid) {
400
- this.getorg([this.$login.f.orgid])
401
- }
402
- console.log('查询。。。', this.f_orgid)
403
- if (!this.orgCondtionStr) {
404
- args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
405
- } else {
406
- args.condition = `${args.condition}` + this.orgCondtionStr
407
- }
408
- this.model.search(args.condition, args.model)
409
- this.condition = args.condition
410
- },
411
- mergeRowData (joinrows) {
412
-
413
- },
414
- // 多选框初始化
415
- selectInit () {
416
- this.rowsdata = []
417
- this.all = []
418
- this.radio = []
419
- },
420
- select () {
421
- let index = this.model1.pageIndex - 1
422
- console.log('全选', this.all[index])
423
- if (!this.radio[index]) {
424
- this.radio.$set(index, [])
425
- }
426
- if (this.all[index]) {
427
- // 数据
428
- this.rowsdata[index] = Object.assign([], this.model1.rows)
429
- // 勾选
430
- for (var i = 0; i < this.model1.rows.length; i++) {
431
- this.radio[index].$set(i, true)
432
- }
433
- } else {
434
- // 数据
435
- this.rowsdata[index] = []
436
- // 不勾选
437
- for (var i = 0; i < this.model1.rows.length; i++) {
438
- this.radio[index].$set(i, false)
439
- }
440
- }
441
- },
442
- selectOne (event, row, i) {
443
- console.log('单选', event.target.checked)
444
- let index = this.model1.pageIndex - 1
445
- if (!this.rowsdata[index]) {
446
- this.rowsdata[index] = []
447
- }
448
- if (!this.radio[index]) {
449
- this.radio.$set(index, [])
450
- }
451
- if (event.target.checked) {
452
- // 数据
453
- this.rowsdata[index][i] = row
454
- // 勾选
455
- this.radio[index].$set(i, true)
456
- // 判断是否全部选中
457
- var allState = true
458
- if (this.model1.rows.length != this.radio[index].length) {
459
- allState = false
460
- }
461
- for (var state of this.radio[index]) {
462
- if (!state) {
463
- allState = false
464
- }
465
- }
466
- if (allState) {
467
- this.all.$set(index, true)
468
- } else {
469
- this.all.$set(index, false)
470
- }
471
- } else {
472
- // 数据
473
- this.rowsdata[index][i] = []
474
- // 不勾选
475
- this.radio[index].$set(i, false)
476
- // 任意取消一个则全选状态设为false
477
- this.all.$set(index, false)
478
- }
479
- }
480
- },
481
- computed: {
482
- ischecked () {
483
- return function (index, i) {
484
- // console.log("计算属性")
485
- if (!this.radio[index]) {
486
- return false
487
- }
488
- return this.radio[index][i]
489
- }
490
- },
491
- distributionstate () {
492
- return [{label: '全部', value: ''}, {label: '待分配', value: 'is null'}, {label: '已入库', value: 'is not null'}]
493
- }
494
- }
495
- }
496
- </script>
497
- <style>
498
- .datapanel {
499
- color: #333;
500
- background-color: white;
501
- padding: 10px 20px;
502
- border-radius: 15px;
503
- }
504
- </style>
1
+ <template>
2
+ <div>
3
+ <div style="flex: 1.5" class="flex">
4
+ <div class="flex">
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
+ <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
+ v-show="$parent.searchshow">
8
+ <div novalidate class="form-inline auto" partial>
9
+ <!-- <div class="col-sm-2 form-group">-->
10
+ <!-- <label class="font_normal_body">组织机构</label>-->
11
+ <!-- <res-select :initresid='$parent.$parent.curorgid'-->
12
+ <!-- @res-select="$parent.$parent.getorg"-->
13
+ <!-- class="select select_list"-->
14
+ <!-- restype='organization'-->
15
+ <!-- style="width: 60%">-->
16
+ <!-- </res-select>-->
17
+ <!-- </div>-->
18
+ <div class="row">
19
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
20
+ class="form-group">
21
+ <label class="font_normal_body">客户编号</label>
22
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_code"
23
+ condition="f_userinfo_code = '{}'" placeholder='客户编号'>
24
+ </div>
25
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
26
+ class="form-group">
27
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
28
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_meternumber"
29
+ condition="f_meternumber = '{}'" placeholder='表号'>
30
+ </div>
31
+ <div class="span" style="float:right;">
32
+ <button class="button_search" @click="search()">查 询</button>
33
+ <export-excel v-if="$parent.$parent.excelTable"
34
+ class="auto"
35
+ :data="{condition: $parent.$parent.condition,orderitem: $parent.$parent.orderitem}"
36
+ :field="$parent.$parent.getfield"
37
+ sqlurl="api/af-revenue/logic/saleExport" progress="saleGetExportProgress" sql-name="changemeterFiles"
38
+ template-name='换表记录'
39
+ :choose-col="true"></export-excel>
40
+ <div
41
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
42
+ @click="$parent.$parent.hidden()"
43
+ class="button_spacing"
44
+ style="float: right"></div>
45
+ </div>
46
+ </div>
47
+ <div class="row" v-if="$parent.$parent.criteriaShow">
48
+ <res-select-group :initres="$parent.$parent.initres" :show-component="['company','department']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
49
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
50
+ class="form-group">
51
+ <label class="font_normal_body">客户姓名</label>
52
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
53
+ condition="f_user_name = '{}'" placeholder='客户姓名'>
54
+ </div>
55
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
56
+ class="form-group">
57
+ <label class="font_normal_body">有无附件</label>
58
+ <v-select :disabled=false
59
+ :options='$parent.$parent.pj'
60
+ :value-single="true"
61
+ :value.sync="model.is_has_file"
62
+ close-on-select
63
+ placeholder='请选择'
64
+ v-model="model.is_has_file"
65
+ condition="is_has_file = '{}'"
66
+ search=fasle
67
+ >
68
+ </v-select>
69
+ </div>
70
+ <!-- <div-->
71
+ <!-- :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"-->
72
+ <!-- class="form-group">-->
73
+ <!-- <label class="font_normal_body">换表编号</label>-->
74
+ <!-- <input type="text" class="input_search" style="width: 60%" v-model="model.id"-->
75
+ <!-- condition="id = '{}'" placeholder='用户编号'>-->
76
+ <!-- </div>-->
77
+ <div :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
78
+ class="form-group">
79
+ <label class="font_normal_body">气表品牌</label>
80
+ <v-select id="f_meter_brand"
81
+ v-model="model.f_meter_brand"
82
+ placeholder='气表品牌'
83
+ :value.sync="model.f_meter_brand"
84
+ :options='$parent.$parent.meterbrand'
85
+ condition="f_meter_brand = '{}'"
86
+ close-on-select style="width: 60%"></v-select>
87
+ </div>
88
+ <div
89
+ :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
90
+ class="form-group">
91
+ <label class="font_normal_body">开始日期</label>
92
+ <datepicker placeholder="开始日期" v-model="model.startDate" :value.sync="model.startDate" style="width:60%"
93
+ :format="'yyyy-MM-dd 00:00:00'" condition="f_operate_date >= '{}'">
94
+ </datepicker>
95
+ </div>
96
+ <div
97
+ :class="{'col-sm-2':!$parent.$parent.editList,'col-sm-4':$parent.$parent.editList}"
98
+ class="form-group">
99
+ <label class="font_normal_body">结束日期</label>
100
+ <datepicker placeholder="结束日期" v-model="model.endDate" :value.sync="model.endDate" style="width:60%"
101
+ :format="'yyyy-MM-dd 23:59:59'" condition="f_operate_date <= '{}'">
102
+ </datepicker>
103
+ </div>
104
+ </div>
105
+ </div>
106
+
107
+ </criteria>
108
+ <data-grid :model="model" v-ref:grid class="list_area table_sy" partial='list'>
109
+ <template partial='head'>
110
+ <tr>
111
+ <th>
112
+ <nobr>序号</nobr>
113
+ </th>
114
+ <th>
115
+ <nobr>客户编号</nobr>
116
+ </th>
117
+ <th>
118
+ <nobr>客户名称</nobr>
119
+ </th>
120
+ <th>
121
+ <nobr>客户地址</nobr>
122
+ </th>
123
+ <th>
124
+ <nobr>换表类型</nobr>
125
+ </th>
126
+ <th>
127
+ <nobr>换表费</nobr>
128
+ </th>
129
+ <th>
130
+ <nobr>换表单号</nobr>
131
+ </th>
132
+ <th>
133
+ <nobr>旧表号</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>新表号</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>旧气表品牌</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>新气表品牌</nobr>
143
+ </th>
144
+ <th>
145
+ <nobr>旧表剩余补气量</nobr>
146
+ </th>
147
+ <th>
148
+ <nobr>旧表具剩余金额</nobr>
149
+ </th>
150
+ <th>
151
+ <nobr>换表原因</nobr>
152
+ </th>
153
+ <th>
154
+ <nobr>其他备注</nobr>
155
+ </th>
156
+ <th>
157
+ <nobr>换表人</nobr>
158
+ </th>
159
+ <th>
160
+ <nobr>状态</nobr>
161
+ </th>
162
+ <th>
163
+ <data-order field="f_operate_date" name="换表日期"></data-order>
164
+ </th>
165
+ <th>
166
+ <nobr>人员</nobr>
167
+ </th>
168
+ <th>
169
+ <nobr>部门</nobr>
170
+ </th>
171
+ <th>
172
+ <nobr>公司</nobr>
173
+ </th>
174
+ <th><nobr>附件</nobr></th>
175
+ </tr>
176
+ </template>
177
+ <template partial='body'>
178
+ <td style="text-align: center;"><nobr>{{$index + 1}}</nobr></td>
179
+ <td style="text-align: center;"><nobr>
180
+ {{row.f_userinfo_code}}
181
+ </nobr> </td>
182
+ <td style="text-align: center;">
183
+ <nobr>{{row.f_user_name}}</nobr>
184
+ </td>
185
+ <td style="text-align: center;">
186
+ <nobr>{{row.f_address}}</nobr>
187
+ </td>
188
+ <td style="text-align: center;">
189
+ <nobr>{{row.f_type}}</nobr>
190
+ </td>
191
+ <td style="text-align: center;">
192
+ <nobr>{{row.f_changemeter_fee}}</nobr>
193
+ </td>
194
+ <td style="text-align: center;">
195
+ <nobr>{{row.f_serial_number}}</nobr>
196
+ </td>
197
+ <td style="text-align: center;">
198
+ <nobr>{{row.f_meternumber_old}}</nobr>
199
+ </td>
200
+ <td style="text-align: center;">
201
+ <nobr>{{row.f_meternumber}}</nobr>
202
+ </td>
203
+ <td style="text-align: center;">
204
+ <nobr>{{row.f_meter_brand_old}}</nobr>
205
+ </td>
206
+ <td style="text-align: center;">
207
+ <nobr>{{row.f_meter_brand}}</nobr>
208
+ </td>
209
+ <td style="text-align: center;">
210
+ <nobr>{{row.f_remanent_gas}}</nobr>
211
+ </td>
212
+ <td style="text-align: center;">
213
+ <nobr>{{row.f_remanent_money}}</nobr>
214
+ </td>
215
+ <td style="text-align: center;">
216
+ <nobr>{{row.f_comments}}</nobr>
217
+ </td>
218
+ <td style="text-align: center;">
219
+ <nobr>{{row.f_othereason}}</nobr>
220
+ </td>
221
+ <td style="text-align: center;">
222
+ <nobr>{{row.f_change_operator}}</nobr>
223
+ </td>
224
+ <td style="text-align: center;">
225
+ <nobr>{{row.f_state}}</nobr>
226
+ </td>
227
+ <td style="text-align: center;">
228
+ <nobr>{{row.f_operate_date}}</nobr>
229
+ </td>
230
+ <td style="text-align: center;">
231
+ <nobr>{{row.f_operator}}</nobr>
232
+ </td>
233
+ <td style="text-align: center;">
234
+ <nobr>{{row.f_depname}}</nobr>
235
+ </td>
236
+ <td style="text-align: center;">
237
+ <nobr>{{row.f_orgname}}</nobr>
238
+ </td>
239
+ <td style="text-align: center;"><nobr>
240
+ <button v-if="row.is_has_file=='是'" class="btn btn-link" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
241
+ </nobr></td>
242
+ </template>
243
+ </data-grid>
244
+ </criteria-paged>
245
+ </div>
246
+ </div>
247
+ </div>
248
+ </template>
249
+
250
+ <script>
251
+ import {PagedList} from 'vue-client'
252
+ const myMap = new Map()
253
+ let asyncReadyGen = async function (self) {
254
+ await self.initQueryParam()
255
+ }
256
+ export default {
257
+ 'title': '',
258
+ data () {
259
+ return {
260
+ model: new PagedList('api/af-revenue/sql/changemeterFiles', 20, {orderitem: '"f_operate_date DESC"'}),
261
+ pj: this.$appdata.getParam('是否有附件') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('是否有附件')] : [],
262
+ // 控制查询条件显示
263
+ searchshow: true,
264
+ curorgid: [this.$login.f.orgid],
265
+ criteriaShow: false,
266
+ f_orgid: '',
267
+ condition: '',
268
+ // 排序
269
+ orderitem: 'f_operate_date desc',
270
+ orderFields: {
271
+ f_operate_date: 'no'
272
+ },
273
+ // 控制样式
274
+ editList: false,
275
+ excelTable: true,
276
+ getfield: {
277
+ 'f_userinfo_code': '客户编号',
278
+ 'f_user_name': '客户名称',
279
+ 'f_address': '客户地址',
280
+ 'f_type': '换表类型',
281
+ 'f_changemeter_fee': '换表费',
282
+ 'f_meternumber_old': '旧表号',
283
+ 'f_meternumber': '新表号',
284
+ 'f_meter_brand_old': '旧气表品牌',
285
+ 'f_meter_brand': '新气表品牌',
286
+ 'f_remanent_gas': '旧表剩余补气量',
287
+ 'f_remanent_money': '旧表剩余金额',
288
+ 'f_comments': '换表原因',
289
+ 'f_othereason': '其他备注',
290
+ 'f_change_operator': '换表人',
291
+ 'f_state': '状态',
292
+ 'f_operate_date': '换表日期',
293
+ 'f_operator': '人员',
294
+ 'f_depname': '所属部门',
295
+ 'f_orgname': '所属公司',
296
+ 'f_serial_number': '换表单号'
297
+ },
298
+ meterbrand: [],
299
+ initres: {
300
+ org: [this.$login.f.orgid],
301
+ dep: [],
302
+ user: []
303
+ },
304
+ whetherPay: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}],
305
+ da: {
306
+ rows: []
307
+ },
308
+ f_meternumber: ''
309
+ }
310
+ },
311
+ ready () {
312
+ asyncReadyGen(this)
313
+ this.search()
314
+ // this.getwarehouse()
315
+ },
316
+ props: ['showMessage'],
317
+ methods: {
318
+ getorg (val) {
319
+ this.f_orgid = this.$login.convertToIn(val)
320
+ this.f_filialeid = val[0]
321
+ },
322
+ async getRes (condition, obj) {
323
+ this.orgCondtionStr = condition
324
+ this.orgname = obj.orgnames[0]
325
+ this.depname = obj.depnames[0]
326
+
327
+ },
328
+ initQueryParam () {
329
+ let arr = []
330
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
331
+ let temp = {}
332
+ temp.label = item.label
333
+ temp.value = item.value.f_meter_brand
334
+ arr.push(temp)
335
+ })
336
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
337
+ },
338
+ view (row) {
339
+ this.$parent.showupload = true
340
+ this.$parent.row = row
341
+ },
342
+ init () {
343
+ this.f_meternumber = ''
344
+ this.da.rows = []
345
+ myMap.clear()
346
+ },
347
+ cancelSet () {
348
+ this.showSetModal = false
349
+ this.init()
350
+ },
351
+
352
+ jump () {
353
+ this.joinshow2 = false
354
+ this.showSetModal = true
355
+ },
356
+ async getwarehouse () {
357
+
358
+ },
359
+ hidden () {
360
+ this.criteriaShow = !this.criteriaShow
361
+ },
362
+ join1 (row) {
363
+ this.joinrow = row
364
+ this.joinshow = true
365
+ },
366
+
367
+ joinclose () {
368
+ this.joinshow = false
369
+ },
370
+ joinclose2 () {
371
+ this.joinshow2 = false
372
+ },
373
+
374
+ sort (field, rule) {
375
+ // 将所有排序方式设为不排序,实现相互排斥
376
+ for (let key in this.orderFields) {
377
+ if (key === field) {
378
+ this.orderFields[key] = rule
379
+ } else {
380
+ this.orderFields[key] = 'no'
381
+ }
382
+ }
383
+ // 如果新规则不排序,还原为默认排序
384
+ if (rule === 'no') {
385
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
386
+ } else {
387
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
388
+ }
389
+
390
+ this.search()
391
+ },
392
+ search () {
393
+ this.$refs.paged.$refs.criteria.search()
394
+ },
395
+ importFile () {
396
+ this.show = true
397
+ },
398
+ selfSearch (args) {
399
+ if (!this.f_orgid) {
400
+ this.getorg([this.$login.f.orgid])
401
+ }
402
+ console.log('查询。。。', this.f_orgid)
403
+ if (!this.orgCondtionStr) {
404
+ args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
405
+ } else {
406
+ args.condition = `${args.condition}` + this.orgCondtionStr
407
+ }
408
+ this.model.search(args.condition, args.model)
409
+ this.condition = args.condition
410
+ },
411
+ mergeRowData (joinrows) {
412
+
413
+ },
414
+ // 多选框初始化
415
+ selectInit () {
416
+ this.rowsdata = []
417
+ this.all = []
418
+ this.radio = []
419
+ },
420
+ select () {
421
+ let index = this.model1.pageIndex - 1
422
+ console.log('全选', this.all[index])
423
+ if (!this.radio[index]) {
424
+ this.radio.$set(index, [])
425
+ }
426
+ if (this.all[index]) {
427
+ // 数据
428
+ this.rowsdata[index] = Object.assign([], this.model1.rows)
429
+ // 勾选
430
+ for (var i = 0; i < this.model1.rows.length; i++) {
431
+ this.radio[index].$set(i, true)
432
+ }
433
+ } else {
434
+ // 数据
435
+ this.rowsdata[index] = []
436
+ // 不勾选
437
+ for (var i = 0; i < this.model1.rows.length; i++) {
438
+ this.radio[index].$set(i, false)
439
+ }
440
+ }
441
+ },
442
+ selectOne (event, row, i) {
443
+ console.log('单选', event.target.checked)
444
+ let index = this.model1.pageIndex - 1
445
+ if (!this.rowsdata[index]) {
446
+ this.rowsdata[index] = []
447
+ }
448
+ if (!this.radio[index]) {
449
+ this.radio.$set(index, [])
450
+ }
451
+ if (event.target.checked) {
452
+ // 数据
453
+ this.rowsdata[index][i] = row
454
+ // 勾选
455
+ this.radio[index].$set(i, true)
456
+ // 判断是否全部选中
457
+ var allState = true
458
+ if (this.model1.rows.length != this.radio[index].length) {
459
+ allState = false
460
+ }
461
+ for (var state of this.radio[index]) {
462
+ if (!state) {
463
+ allState = false
464
+ }
465
+ }
466
+ if (allState) {
467
+ this.all.$set(index, true)
468
+ } else {
469
+ this.all.$set(index, false)
470
+ }
471
+ } else {
472
+ // 数据
473
+ this.rowsdata[index][i] = []
474
+ // 不勾选
475
+ this.radio[index].$set(i, false)
476
+ // 任意取消一个则全选状态设为false
477
+ this.all.$set(index, false)
478
+ }
479
+ }
480
+ },
481
+ computed: {
482
+ ischecked () {
483
+ return function (index, i) {
484
+ // console.log("计算属性")
485
+ if (!this.radio[index]) {
486
+ return false
487
+ }
488
+ return this.radio[index][i]
489
+ }
490
+ },
491
+ distributionstate () {
492
+ return [{label: '全部', value: ''}, {label: '待分配', value: 'is null'}, {label: '已入库', value: 'is not null'}]
493
+ }
494
+ }
495
+ }
496
+ </script>
497
+ <style>
498
+ .datapanel {
499
+ color: #333;
500
+ background-color: white;
501
+ padding: 10px 20px;
502
+ border-radius: 15px;
503
+ }
504
+ </style>