sale-client 3.6.35 → 3.6.36

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.35",
3
+ "version": "3.6.36",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <div style="flex: 1.5" class="flex">
4
4
  <div class="flex">
5
- <criteria-paged :model="model" v-ref:paged>
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
6
  <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
7
  v-show="$parent.searchshow">
8
8
  <div novalidate class="form-inline auto" partial>
@@ -93,7 +93,7 @@
93
93
  <nobr>状态</nobr>
94
94
  </th>
95
95
  <th>
96
- <nobr>换表日期</nobr>
96
+ <data-order field="f_operate_date" name="换表日期"></data-order>
97
97
  </th>
98
98
  <th>
99
99
  <nobr>人员</nobr>
@@ -182,12 +182,17 @@ const myMap = new Map()
182
182
  'title': '',
183
183
  data () {
184
184
  return {
185
- model: new PagedList('rs/sql/changemeterFiles', 20),
185
+ model: new PagedList('rs/sql/changemeterFiles', 20, {orderitem: '"f_operate_date DESC"'}),
186
186
  pj: this.$appdata.getParam('是否有附件') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('是否有附件')] : [],
187
187
  // 控制查询条件显示
188
188
  searchshow: true,
189
189
  curorgid: [this.$login.f.orgid],
190
190
  f_orgid: '',
191
+ // 排序
192
+ orderitem: 'f_operate_date desc',
193
+ orderFields: {
194
+ f_operate_date: 'no'
195
+ },
191
196
  whetherPay: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}],
192
197
  da: {
193
198
  rows: []
@@ -239,6 +244,24 @@ const myMap = new Map()
239
244
  this.joinshow2 = false
240
245
  },
241
246
 
247
+ sort (field, rule) {
248
+ // 将所有排序方式设为不排序,实现相互排斥
249
+ for (let key in this.orderFields) {
250
+ if (key === field) {
251
+ this.orderFields[key] = rule
252
+ } else {
253
+ this.orderFields[key] = 'no'
254
+ }
255
+ }
256
+ // 如果新规则不排序,还原为默认排序
257
+ if (rule === 'no') {
258
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
259
+ } else {
260
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
261
+ }
262
+
263
+ this.search()
264
+ },
242
265
  search () {
243
266
  this.$refs.paged.$refs.criteria.search()
244
267
  },
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div style="flex: 1.5" class="flex">
3
3
  <div class="flex">
4
- <criteria-paged :model="model" v-ref:paged>
4
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
5
5
  <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
6
6
  v-show="$parent.searchshow">
7
7
  <div novalidate class="form-inline auto" partial>
@@ -92,7 +92,7 @@
92
92
  <th><nobr>缴费金额</nobr></th>
93
93
  <th><nobr>支付流水号</nobr></th>
94
94
  <th><nobr>收据类型</nobr></th>
95
- <th><nobr>收费时间</nobr></th>
95
+ <th><data-order field="f_operate_date" name="收费时间"></data-order></th>
96
96
  <th><nobr>操作人</nobr></th>
97
97
  </tr>
98
98
  </template>
@@ -121,8 +121,13 @@ const myMap = new Map()
121
121
  'title': '其他记录维护',
122
122
  data () {
123
123
  return {
124
- model: new PagedList('rs/sql/querylists', 20),
124
+ model: new PagedList('rs/sql/querylists', 20, {orderitem: '"f_operate_date DESC"'}),
125
125
  // pj:this.$appdata.getParam('是否有附件')?[{label: '全部', value: ''},...this.$appdata.getParam('是否有附件')] : [],
126
+ // 排序
127
+ orderitem: 'f_operate_date desc',
128
+ orderFields: {
129
+ f_operate_date: 'no'
130
+ },
126
131
  // 控制查询条件显示
127
132
  searchshow: true,
128
133
  curorgid: [this.$login.f.orgid],
@@ -166,6 +171,24 @@ const myMap = new Map()
166
171
  this.f_orgid = this.$login.convertToIn(val)
167
172
  this.f_filialeid = val[0]
168
173
  },
174
+ sort (field, rule) {
175
+ // 将所有排序方式设为不排序,实现相互排斥
176
+ for (let key in this.orderFields) {
177
+ if (key === field) {
178
+ this.orderFields[key] = rule
179
+ } else {
180
+ this.orderFields[key] = 'no'
181
+ }
182
+ }
183
+ // 如果新规则不排序,还原为默认排序
184
+ if (rule === 'no') {
185
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
186
+ } else {
187
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
188
+ }
189
+
190
+ this.search()
191
+ },
169
192
  search () {
170
193
  this.$refs.paged.$refs.criteria.search()
171
194
  },
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <div style="flex: 1.5" class="flex">
4
4
  <div class="flex">
5
- <criteria-paged :model="model" v-ref:paged>
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
6
  <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
7
  v-show="$parent.searchshow">
8
8
  <div novalidate class="form-inline auto" partial>
@@ -117,7 +117,7 @@
117
117
  <th><nobr>收费形式</nobr></th>
118
118
  <th><nobr>是否有效</nobr></th>
119
119
  <th><nobr>收据类型</nobr></th>
120
- <th><nobr>收费时间</nobr></th>
120
+ <th><data-order field="f_operate_date" name="收费时间"></data-order></th>
121
121
  <th><nobr>财务核算时间</nobr></th>
122
122
  <th><nobr>购气气量</nobr></th>
123
123
  <th><nobr>地址</nobr></th>
@@ -198,8 +198,13 @@ const myMap = new Map()
198
198
  return {
199
199
  usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
200
200
  pj: this.$appdata.getParam('是否有附件') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('是否有附件')] : [],
201
- model: new PagedList('rs/sql/singlling', 20),
201
+ model: new PagedList('rs/sql/singlling', 20, {orderitem: '"f_operate_date DESC"'}),
202
202
  // model: new PagedList('rs/sql/singleTable_OrderBy', 20, {items: '"s.*,ui.f_userinfo_code"', tablename: '"t_sellinggas s left join t_userinfo ui on s.f_userinfo_id=ui.f_userinfo_id"', orderitem: '"f_delivery_date"'}),
203
+ // 排序
204
+ orderitem: 'f_operate_date desc',
205
+ orderFields: {
206
+ f_operate_date: 'no'
207
+ },
203
208
  // 控制查询条件显示
204
209
  searchshow: true,
205
210
  criteriaShow: false,
@@ -355,6 +360,24 @@ const myMap = new Map()
355
360
  this.joinshow2 = false
356
361
  },
357
362
 
363
+ sort (field, rule) {
364
+ // 将所有排序方式设为不排序,实现相互排斥
365
+ for (let key in this.orderFields) {
366
+ if (key === field) {
367
+ this.orderFields[key] = rule
368
+ } else {
369
+ this.orderFields[key] = 'no'
370
+ }
371
+ }
372
+ // 如果新规则不排序,还原为默认排序
373
+ if (rule === 'no') {
374
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
375
+ } else {
376
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
377
+ }
378
+
379
+ this.search()
380
+ },
358
381
  search () {
359
382
  this.$refs.paged.$refs.criteria.search()
360
383
  },
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="stand-work-list" class="basic-main" style="height: 98%">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
3
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
4
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.selfsearch'>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row" >
7
7
  <div class="col-sm-2 form-group">
@@ -179,7 +179,7 @@
179
179
  <nobr>客户名称</nobr>
180
180
  </th>
181
181
  <th style="text-align:center">
182
- <nobr>客户地址</nobr>
182
+ <data-order field="f_address" name="客户地址"></data-order>
183
183
  </th>
184
184
  <th style="text-align:center;color:#3c763d">
185
185
  <nobr>表号</nobr>
@@ -380,7 +380,7 @@
380
380
  title: '表具查询',
381
381
  data () {
382
382
  return {
383
- model: new PagedList('rs/sql/manage_getNewMeterBrandAndModel', 50, {}, {
383
+ model: new PagedList('rs/sql/manage_getNewMeterBrandAndModel', 50, {orderitem: '"f_userinfo_id DESC"'}, {
384
384
  f_total_fee: 0
385
385
  }),
386
386
  row: null,
@@ -390,6 +390,11 @@
390
390
  searchshow: false,
391
391
  orgcondition: ' and f_filialeid = ' + this.$login.f.orgid,
392
392
  getfield: {},
393
+ // 排序
394
+ orderitem: 'f_userinfo_id desc',
395
+ orderFields: {
396
+ f_operate_date: 'no'
397
+ },
393
398
  org: [this.$login.f.orgid],
394
399
  criteriaShow: false,
395
400
  config: {
@@ -475,7 +480,10 @@
475
480
  val.model = this.model.model
476
481
  this.$emit('deal-msg', val)
477
482
  },
478
- search (args) {
483
+ search () {
484
+ this.$refs.paged.$refs.criteria.search()
485
+ },
486
+ selfsearch (args) {
479
487
  this.isBusy = true
480
488
  args.condition = `${args.condition} ` + this.orgcondition
481
489
  this.condition = args.condition
@@ -499,6 +507,24 @@
499
507
  }
500
508
  }
501
509
  },
510
+ sort (field, rule) {
511
+ // 将所有排序方式设为不排序,实现相互排斥
512
+ for (let key in this.orderFields) {
513
+ if (key === field) {
514
+ this.orderFields[key] = rule
515
+ } else {
516
+ this.orderFields[key] = 'no'
517
+ }
518
+ }
519
+ // 如果新规则不排序,还原为默认排序
520
+ if (rule === 'no') {
521
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
522
+ } else {
523
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
524
+ }
525
+
526
+ this.search()
527
+ },
502
528
  initQueryParam () {
503
529
  let arr = []
504
530
  this.$MagGetSaleParam.getGasbrand().forEach((item) => {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="stand-work-list" class="basic-main" style="height: 98%">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
3
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
4
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.selfsearch'>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row" >
7
7
  <div class="col-sm-2 form-group">
@@ -186,7 +186,7 @@
186
186
  <nobr>客户名称</nobr>
187
187
  </th>
188
188
  <th style="text-align:center">
189
- <nobr>客户地址</nobr>
189
+ <data-order field="f_address" name="客户地址"></data-order>
190
190
  </th>
191
191
  <th style="text-align:center;color:#3c763d">
192
192
  <nobr>表号</nobr>
@@ -387,7 +387,7 @@
387
387
  title: '表具查询',
388
388
  data () {
389
389
  return {
390
- model: new PagedList('rs/sql/manage_getNewMeterBrandAndModel', 50, {}, {
390
+ model: new PagedList('rs/sql/manage_getNewMeterBrandAndModel', 50, {orderitem: '"f_userinfo_id DESC"'}, {
391
391
  f_total_fee: 0
392
392
  }),
393
393
  row: null,
@@ -397,6 +397,11 @@
397
397
  searchshow: false,
398
398
  orgcondition: ' and f_filialeid = ' + this.$login.f.orgid,
399
399
  getfield: {},
400
+ // 排序
401
+ orderitem: 'f_userinfo_id desc',
402
+ orderFields: {
403
+ f_operate_date: 'no'
404
+ },
400
405
  org: [this.$login.f.orgid],
401
406
  criteriaShow: false,
402
407
  config: {
@@ -482,7 +487,10 @@
482
487
  val.model = this.model.model
483
488
  this.$emit('deal-msg', val)
484
489
  },
485
- search (args) {
490
+ search () {
491
+ this.$refs.paged.$refs.criteria.search()
492
+ },
493
+ selfsearch (args) {
486
494
  this.isBusy = true
487
495
  args.condition = `${args.condition} ` + this.orgcondition
488
496
  this.condition = args.condition
@@ -506,6 +514,24 @@
506
514
  }
507
515
  }
508
516
  },
517
+ sort (field, rule) {
518
+ // 将所有排序方式设为不排序,实现相互排斥
519
+ for (let key in this.orderFields) {
520
+ if (key === field) {
521
+ this.orderFields[key] = rule
522
+ } else {
523
+ this.orderFields[key] = 'no'
524
+ }
525
+ }
526
+ // 如果新规则不排序,还原为默认排序
527
+ if (rule === 'no') {
528
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
529
+ } else {
530
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
531
+ }
532
+
533
+ this.search()
534
+ },
509
535
  initQueryParam () {
510
536
  let arr = []
511
537
  this.$MagGetSaleParam.getGasbrand().forEach((item) => {
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <div style="flex: 1.5" class="flex">
4
4
  <div class="flex">
5
- <criteria-paged :model="model" v-ref:paged>
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
6
  <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch"
7
7
  v-show="$parent.searchshow">
8
8
  <div novalidate class="form-inline auto" partial>
@@ -137,7 +137,7 @@
137
137
  <nobr>收据类型</nobr>
138
138
  </th>
139
139
  <th>
140
- <nobr>收费时间</nobr>
140
+ <data-order field="f_operate_date" name="收费时间"></data-order>
141
141
  </th>
142
142
  <th>
143
143
  <nobr>财务核算时间</nobr>
@@ -286,7 +286,12 @@ export default {
286
286
  label: '全部',
287
287
  value: ''
288
288
  }, ...this.$appdata.getParam('是否有附件')] : [],
289
- model: new PagedList('rs/sql/singlling', 20),
289
+ model: new PagedList('rs/sql/singlling', 20, {orderitem: '"f_operate_date DESC"'}),
290
+ // 排序
291
+ orderitem: 'f_operate_date desc',
292
+ orderFields: {
293
+ f_operate_date: 'no'
294
+ },
290
295
  // model: new PagedList('rs/sql/singleTable_OrderBy', 20, {items: '"s.*,ui.f_userinfo_code"', tablename: '"t_sellinggas s left join t_userinfo ui on s.f_userinfo_id=ui.f_userinfo_id"', orderitem: '"f_delivery_date"'}),
291
296
  // 控制查询条件显示
292
297
  searchshow: true,
@@ -453,6 +458,24 @@ export default {
453
458
  this.joinshow2 = false
454
459
  },
455
460
 
461
+ sort (field, rule) {
462
+ // 将所有排序方式设为不排序,实现相互排斥
463
+ for (let key in this.orderFields) {
464
+ if (key === field) {
465
+ this.orderFields[key] = rule
466
+ } else {
467
+ this.orderFields[key] = 'no'
468
+ }
469
+ }
470
+ // 如果新规则不排序,还原为默认排序
471
+ if (rule === 'no') {
472
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
473
+ } else {
474
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
475
+ }
476
+
477
+ this.search()
478
+ },
456
479
  search () {
457
480
  this.$refs.paged.$refs.criteria.search()
458
481
  },
@@ -299,7 +299,7 @@
299
299
  <nobr>用户名称</nobr>
300
300
  </th>
301
301
  <th v-if="!$parent.$parent.$parent.isOper">
302
- <nobr>用户地址</nobr>
302
+ <data-order field="f_address" name="用户地址"></data-order>
303
303
  </th>
304
304
  <th>
305
305
  <nobr>表号</nobr>
@@ -222,7 +222,7 @@
222
222
  <nobr>用户名称</nobr>
223
223
  </th>
224
224
  <th v-if="!$parent.$parent.$parent.isOper">
225
- <nobr>用户地址</nobr>
225
+ <data-order field="f_address" name="用户地址"></data-order>
226
226
  </th>
227
227
  <th>
228
228
  <nobr>用户电话</nobr>
@@ -587,7 +587,7 @@ let loadParamGem = async function (self) {
587
587
  this.model.paramSource.orderitem = `'${field} ${rule}'`
588
588
  }
589
589
 
590
- this.search()
590
+ this.$refs.paged.$refs.criteria.search()
591
591
  },
592
592
 
593
593
  getLocation (row) {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="stand-work-list" class="basic-main" style="height: 98%">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
3
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
4
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.selfsearch'>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row" >
7
7
  <div class="col-sm-2 form-group">
@@ -179,7 +179,8 @@
179
179
  <nobr>{{$parent.$parent.$parent.usertitle}}名称</nobr>
180
180
  </th>
181
181
  <th style="text-align:center">
182
- <nobr>{{$parent.$parent.$parent.usertitle}}地址</nobr>
182
+ <!--<nobr>{{$parent.$parent.$parent.usertitle}}地址</nobr>-->
183
+ <data-order field="f_address" :name=`${$parent.$parent.$parent.usertitle}地址`></data-order>
183
184
  </th>
184
185
  <th style="text-align:center;color:#3c763d">
185
186
  <nobr>表号</nobr>
@@ -380,7 +381,7 @@
380
381
  title: '表具查询',
381
382
  data () {
382
383
  return {
383
- model: new PagedList('rs/sql/manage_getNewMeterBrandAndModel', 50, {}, {
384
+ model: new PagedList('rs/sql/manage_getNewMeterBrandAndModel', 50, {orderitem: '"f_userinfo_id DESC"'}, {
384
385
  f_total_fee: 0
385
386
  }),
386
387
  row: null,
@@ -390,6 +391,11 @@
390
391
  searchshow: false,
391
392
  orgcondition: ' and f_filialeid = ' + this.$login.f.orgid,
392
393
  getfield: {},
394
+ // 排序
395
+ orderitem: 'f_userinfo_id desc',
396
+ orderFields: {
397
+ f_operate_date: 'no'
398
+ },
393
399
  org: [this.$login.f.orgid],
394
400
  criteriaShow: false,
395
401
  config: {
@@ -476,7 +482,10 @@
476
482
  val.model = this.model.model
477
483
  this.$emit('deal-msg', val)
478
484
  },
479
- search (args) {
485
+ search () {
486
+ this.$refs.paged.$refs.criteria.search()
487
+ },
488
+ selfsearch (args) {
480
489
  this.isBusy = true
481
490
  args.condition = `${args.condition} ` + this.orgcondition
482
491
  this.condition = args.condition
@@ -500,6 +509,24 @@
500
509
  }
501
510
  }
502
511
  },
512
+ sort (field, rule) {
513
+ // 将所有排序方式设为不排序,实现相互排斥
514
+ for (let key in this.orderFields) {
515
+ if (key === field) {
516
+ this.orderFields[key] = rule
517
+ } else {
518
+ this.orderFields[key] = 'no'
519
+ }
520
+ }
521
+ // 如果新规则不排序,还原为默认排序
522
+ if (rule === 'no') {
523
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
524
+ } else {
525
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
526
+ }
527
+
528
+ this.search()
529
+ },
503
530
  initQueryParam () {
504
531
  let arr = []
505
532
  this.$MagGetSaleParam.getGasbrand().forEach((item) => {
@@ -0,0 +1,552 @@
1
+ <template>
2
+ <div @keyup.enter="search">
3
+ <partial-view v-ref:pv>
4
+ <criteria-paged :model="model" :pager="false" v-ref:paged>
5
+ <criteria @condition-changed='$parent.$parent.selfSearch' partial='criteria' v-ref:cri>
6
+ <div class="form-horizontal" novalidate partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-4">
9
+ <!-- <label>用户编号:</label> -->
10
+ <input class="input_search" condition="f_userinfo_code = '{}'" placeholder='客户编号' style="width: 80%"
11
+ type="text"
12
+ v-model="model.f_userinfo_code">
13
+ </div>
14
+ <div class="form-group col-sm-4" style="flex: 1;width: max-content">
15
+ <!-- <label>操作类型:</label> -->
16
+ <v-select :options='$parent.$parent.$parent.operationtypes'
17
+
18
+ :value.sync="model.f_operat_type"
19
+ :width="'100%'"
20
+ close-on-select
21
+ condition="f_operat_type = '{}'"
22
+ id="f_paytype"
23
+ placeholder='操作类型'
24
+ style="width: 100%"
25
+ v-model="model.f_operat_type"></v-select>
26
+ </div>
27
+ <div class="form-group col-sm-2 button-range" style="padding-right: 10px">
28
+ <button @click="search()" class="button_search">查询</button>
29
+ <div
30
+ :class="{'button_shrink_top':$parent.$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.$parent.criteriaShow}"
31
+ @click="$parent.$parent.$parent.criteriaShow=!$parent.$parent.$parent.criteriaShow" class="button_spacing" style="float: right"></div>
32
+ </div>
33
+ <div class="form-group col-sm-5" v-show="$parent.$parent.$parent.criteriaShow">
34
+ <!-- <label>用户编号:</label> -->
35
+ <input class="input_search" condition="r.f_operator like '%{}%'" placeholder='操作员' style="width: 80%"
36
+ type="text"
37
+ v-model="model.f_operator">
38
+ </div>
39
+ </div>
40
+ <!-- <partial name="cardcriteria"></partial> -->
41
+ <!-- <div class="form-group">
42
+ <partial name="cardcriteria"></partial>
43
+ </div> -->
44
+ </div>
45
+ </criteria>
46
+ <div partial="list" style="overflow-y: scroll;height: 90%">
47
+ <accordion :one-at-atime="true" type="info" >
48
+ <panel :is-click="false" :is-open="true" type="info" v-for="row in model.rows" >
49
+ <span @click="$parent.$parent.$parent.selected(row)" class="panel-title row" slot="header"
50
+ style="cursor: pointer;">
51
+ <div class="col-sm-11">
52
+ <!-- <div class="row" v-if="row.f_state==='冲正' " style="color: red">-->
53
+ <!-- <strong :title="row.f_userinfo_code" class="col-sm-4" show-overflow-tooltip="true">{{row.f_userinfo_code.length>9?''+row.f_userinfo_code.substring(0,9)+'...':row.f_userinfo_code}}</strong>-->
54
+ <!-- <span class="col-sm-4">{{$parent.$parent.$parent.dateDes(row.f_operate_date)}}</span>-->
55
+ <!-- <span class="col-sm-4">{{row.type}}</span>-->
56
+ <!-- </div>-->
57
+ <div class="row">
58
+ <strong :title="row.f_userinfo_code" class="col-sm-4" show-overflow-tooltip="true">{{row.f_userinfo_code.length>9?''+row.f_userinfo_code.substring(0,9)+'...':row.f_userinfo_code}}</strong>
59
+ <span class="col-sm-4">{{$parent.$parent.$parent.dateDes(row.f_operate_date)}}</span>
60
+ <span class="col-sm-4">{{row.type}}</span>
61
+ </div>
62
+ </div>
63
+ <div class="col-sm-1" v-if="$parent.$parent.$parent.isOperate" title="涉及权限:冲正权限">
64
+ <dropdown class="auto"
65
+ v-if="(row.type ==='机表收费撤销' || row.type ==='卡表收费撤销' || row.type ==='物联网收费撤销' || row.type ==='其他收费撤销'
66
+ || row.type ==='气损收费撤销' || row.type ==='预存缴费' || row.type === '补卡' || row.type === '物联网收费' ||
67
+ row.type === '用户退费' || row.type === '机表收费' || row.type === '数码表收费' ||
68
+ row.type === '卡表收费' || row.type === '超用收费' || row.type === '发卡售气' || row.type === '其他收费' ||
69
+ row.type === '换表' || row.state === 1 || row.type==='调价补费' || row.type==='卡表赠气' ||
70
+ row.type==='物联网赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='卡表赠气'||
71
+ row.type==='卡表收费撤销'||row.type==='物联网补费' || row.type==='物联网扣费'||row.type==='机表补费'||
72
+ row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气'||row.type==='气损收费' ||
73
+ row.type === '气表清零' || row.type === '掉气补气' || row.type === '其他补气' || row.type === '清零补气' ||
74
+ row.type === '换表补气' || row.type === '过户') && row.type!=='新增户档案' && row.type!=='转气转出' && row.type!=='转气转入'">
75
+ <button data-toggle="dropdown" style="border: 0px;background: none;" type="button"
76
+ v-if="row.f_user_state==='正常'||row.f_user_state==='预备'||row.type==='气损收费' ">
77
+ <span class="glyphicon glyphicon-th-list"></span>
78
+ </button>
79
+ <ul class="dropdown-menu dropdown-menu-right" slot="dropdown-menu" style=" min-width: 60px;" v-if="row.f_user_state==='正常'||row.f_user_state==='预备'||row.type==='气损收费' ">
80
+ <!-- <li-->
81
+ <!-- v-if="row.type === '换新表' || row.type === '气表清零' || row.type === '掉气补气' || row.type === '其他补气' || row.type === '清零补气' || row.type === '换表补气'-->
82
+ <!-- || row.type === '补卡' || row.type === '物联网开户' || row.type === '物联网收费' || row.type === '用户退费' || row.type === '机表收费' || row.type === '数码表收费' || row.type === '卡表收费' || row.type === '超用收费' || row.type === '发卡售气' || row.type === '其他收费' || row.type === '换表' || row.type === '过户'|| row.type==='预存缴费'|| row.type==='退费'|| row.type==='调价补费' ||row.type==='卡表收费撤销'||row.type==='物联网补费' || row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气'||row.type==='气损收费' ">-->
83
+ <!-- <a @click.stop="$parent.$parent.$parent.operate('票据补打', row)" href="#">票据补打</a>-->
84
+ <!-- </li>-->
85
+ <!-- <li-->
86
+ <!-- v-if="row.state === 1 && (row.type === '其他收费欠费登记' || row.type === '迁表' || row.type === '调价预存' || row.type === '拆表' || row.type === '物联网开户' || row.type === '物联网收费'|| row.type === '卡表收费' || row.type === '其他收费'|| row.type === '气费减免'||row.type === '维修收费' || row.type === '过户' || row.type === '换新表' || row.type === '气表清零' || row.type === '机表收费' || row.type === '超用收费' || row.type === '其他收费' || row.type === '补卡'|| row.type === '调价补费'|| row.type=='预存缴费' || row.type==='卡表赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='物联网赠气')">-->
87
+ <!-- <a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>-->
88
+ <!-- </li>-->
89
+ <li>
90
+ <a @click.stop="$parent.$parent.$parent.operate('票据补打', row)" href="#">票据补打</a>
91
+ </li>
92
+ <li v-if="row.type!=='物联网收费'&&row.type!=='物联网开户'">
93
+ <a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>
94
+ </li>
95
+ </ul>
96
+ </dropdown>
97
+ </div>
98
+
99
+ </span>
100
+ <div class="panel-body" v-if="$parent.$parent.$parent.isSelected(row)">
101
+ <salecardgas-detail :data="row" v-if="row.type === '发卡售气'"></salecardgas-detail>
102
+ <movemeter-detail :data="row" v-if="row.type === '迁表'"></movemeter-detail>
103
+ <salecardgas-detail :data="row" v-if="row.type === '换表发卡'"></salecardgas-detail>
104
+ <cardmetercenter-detail :data="row" v-if="row.type === '卡表收费'||row.type === '数码表收费' "></cardmetercenter-detail>
105
+ <movegas-detail :data="row" v-if="row.type === '转气转出'"></movegas-detail>
106
+ <movegas-detail :data="row" v-if="row.type === '转气转入'"></movegas-detail>
107
+ <machinemetercenter-detail :data="row" v-if="row.type === '机表收费'"></machinemetercenter-detail>
108
+ <autoaccounts-detail :data="row" v-if="row.type === '自动下账'"></autoaccounts-detail>
109
+ <bankdk-detail :data="row" v-if="row.type === '银行代扣'"></bankdk-detail>
110
+ <bank-pay :data="row" v-if="row.type === '银行支付'"></bank-pay>
111
+ <wechat-pay :data="row" v-if="row.type === '微信支付'"></wechat-pay>
112
+ <disablemanage-detail :data="row" v-if="row.type === '停用'"></disablemanage-detail>
113
+ <enablemanage-detail :data="row" v-if="row.type === '启用'"></enablemanage-detail>
114
+ <replacecardmanage-detail :data="row" v-if="row.type === '补卡'"></replacecardmanage-detail>
115
+ <machinecard-detail :data="row" v-if="row.type === '机表补卡'"></machinecard-detail>
116
+ <transfermanage-detail :data="row" v-if="row.type === '过户'"></transfermanage-detail>
117
+ <othercharge-detail :data="row" v-if="row.type === '其他收费欠费登记'||row.type === '其他收费'||row.type === '维修收费'"></othercharge-detail>
118
+ <inputtorchange-detail :data="row" v-if="row.type === '抄表员变更'"></inputtorchange-detail>
119
+ <offgasaddgas-detail :data="row" v-if=" row.type === '换表补气' ||row.type === '其他补气' || row.type === '清零补气' || row.type === '掉气补气'||row.type==='物联网补费'||row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气' " ></offgasaddgas-detail>
120
+ <iotopen-detail :data="row" v-if="row.type === '开通'"></iotopen-detail>
121
+ <iotmetercenter-detail :data="row" v-if="row.type === '物联网收费' || row.type === '物联网开户' || row.type === '调价退费' || row.type === '调价补费'||row.type === '退押金' "></iotmetercenter-detail>
122
+ <overuserchange-detail :data="row" v-if="row.type === '超用收费'"></overuserchange-detail>
123
+ <adduser-detail :data="row" v-if="row.type === '新增户档案'"></adduser-detail>
124
+ <gaspricechange-detail :data="row" v-if="row.type === '气价变更'"></gaspricechange-detail>
125
+ <userchange-detail :data="row" v-if="row.type === '档案变更'"></userchange-detail>
126
+ <changemeter-detail :data="row" v-if="row.type === '换新表' || row.type === '气表清零'"></changemeter-detail>
127
+ <changeflowmeter-detail :data="row" v-if="row.type === '换卡控流量计'"></changeflowmeter-detail>
128
+ <cardoveruser-detail :data="row" v-if="row.type === '卡表超用'||row.type === '超用'"></cardoveruser-detail>
129
+ <cancellation-detail :data="row" v-if="row.type === '销户'"></cancellation-detail>
130
+ <refund-detail :data="row" v-if="row.type === '退费' || row.type == '卡表退费'"></refund-detail>
131
+
132
+ <change-meter-cancel :data="row" v-if="row.type === '换表撤销'"></change-meter-cancel>
133
+ <autoaccounts-cancel-detail :data="row" v-if="row.type === '自动下账撤销'"></autoaccounts-cancel-detail>
134
+ <transfermanage-cancel-detail :data="row" v-if="row.type === '过户撤销'"></transfermanage-cancel-detail>
135
+ <cardmetercenter-cancel-detail :data="row" v-if="row.type === '卡表收费撤销'"></cardmetercenter-cancel-detail>
136
+ <machinemetercenter-cancel-detail :data="row" v-if="row.type === '机表收费撤销'"></machinemetercenter-cancel-detail>
137
+ <machinemetercenter-cancel-detail :data="row" v-if="row.type == '预存缴费撤销'"></machinemetercenter-cancel-detail>
138
+ <othercharge-cancel-detail :data="row" v-if="row.type === '其他收费撤销'"></othercharge-cancel-detail>
139
+ <replacecardmanage-cancel-detail :data="row" v-if="row.type === '补卡撤销'"></replacecardmanage-cancel-detail>
140
+ <iotmetercenter-cancel-detail :data="row" v-if="row.type === '物联网收费撤销'"></iotmetercenter-cancel-detail>
141
+ <feededuction-detail :data="row" v-if="row.type === '补费' ||row.type === '扣费' ||row.type === '补气' ||row.type === '扣气' "></feededuction-detail>
142
+ <with-gas :data="row" v-if="row.type==='物联网赠气' || row.type==='物联网赠费'||row.type==='卡表赠气'||row.type==='卡表赠费'"></with-gas>
143
+ <replace-card-manageDetail :data="row" v-if=" row.type==='物联网补费'||row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气' "></replace-card-manageDetail>
144
+ <blacklist-detail :data="row" v-if="row.type ==='拉黑' ||row.type === '取消拉黑' "></blacklist-detail>
145
+ <advance-delivery-detail :data="row" v-if="row.type ==='卡表预交' "></advance-delivery-detail>
146
+ <machinemetercenter-detail :data="row" v-if="row.type === '预存缴费'||row.type == '调价预存'"></machinemetercenter-detail>
147
+ <gasloss-detail :data="row" v-if="row.type === '气损收费' || row.type === '气损收费撤销'"></gasloss-detail>
148
+ <garbage-detail :data="row" v-if="row.type === '垃圾费收费'"></garbage-detail>
149
+ </div>
150
+ <div style="margin-top: 8px;background: #FFF;" v-if="!$parent.$parent.$parent.isSelected(row)">
151
+ <span>{{row.f_describe}}</span>
152
+ </div>
153
+ </panel>
154
+ </accordion>
155
+ </div>
156
+
157
+ </criteria-paged>
158
+ </partial-view>
159
+ <record-cancel :data="cancel_data" :show.sync="cancel_show" @cancel="cancelOper()" @cancel-success="cancelSucc()" v-if="cancel_show"></record-cancel>
160
+ <reissue-bill :data="reissue_data" :show.sync="reissue_show" @cancel="reissueOper()" @reissue-success="reissueSucc()" v-if="reissue_show"></reissue-bill>
161
+ </div>
162
+ </template>
163
+ <script>
164
+ /**
165
+ *操作记录信息
166
+ */
167
+ import {PagedList} from 'vue-client'
168
+ import co from 'co'
169
+
170
+ let cancelGen = function *(self, data) {
171
+ let msgRet = yield self.$showMessage('撤销后数据不可恢复,确认撤销录入吗?', ['confirm', 'cancel'])
172
+ if (msgRet === 'cancel') return
173
+ // 撤销操作完成,刷新界面
174
+ self.search()
175
+ }
176
+
177
+ /**
178
+ * 发票补打
179
+ */
180
+ let reprintGen = async function* (self, row) {
181
+ try {
182
+ row.billUrl = self.getBillUrl(row)
183
+ if (!row.billUrl) {
184
+ self.$showMessage('当前操作类型暂时没有票据')
185
+ return
186
+ }
187
+ row.f_bill_type = row.type
188
+ row.f_bill_style = '普通收据'
189
+ row.f_operator = self.$login.f.name
190
+ row.f_operatorid = self.$login.f.id
191
+ row.f_orgid = self.$login.f.orgid
192
+ row.f_orgname = self.$login.f.orgs
193
+ row.f_depid = self.$login.f.depids
194
+ row.f_depname = self.$login.f.deps
195
+ self.reissue_data = JSON.parse(JSON.stringify(row))
196
+ if (row.type === '调价预存') {
197
+ let id = await self.$resetpost('rs/sql/singleTable_OrderBy', {
198
+ data: {
199
+ items: 'f_surplus_id',
200
+ tablename: 't_sellinggas',
201
+ condition: `id = '${row.id}'`,
202
+ orderitem: 'id'
203
+ }
204
+ }, {resolveMsg: null, rejectMsg: '查询优惠信息失败'})
205
+ self.reissue_data.id = id.data[0].f_surplus_id
206
+ }
207
+ self.reissue_show = true
208
+ } catch (error) {
209
+ if (error.status) {
210
+ self.$warn(`加载数据出错, ${JSON.stringify(error)}`, 'CardList')
211
+ }
212
+ throw error
213
+ }
214
+ }
215
+ let asyncCardList = async function (self) {
216
+ await self.$getConfig(self, 'CardList')
217
+ console.log('操作汇总config', self.config)
218
+ }
219
+ export default {
220
+ title: '操作汇总',
221
+ data () {
222
+ return {
223
+ config: {
224
+ cancleother: false, // 默认可以撤销别人的操作
225
+ cancletime: true // 默认可以冲正今天以前的操作
226
+ },
227
+ model: new PagedList(`${this.sqlurl}`, 9999,
228
+ {
229
+ items: '"' + this.items + '"',
230
+ tablename: '"' + this.tablename + '"',
231
+ orderitem: '"' + this.orderitem + '"'
232
+ }),
233
+ show: false,
234
+ asideTitle: '用户操作',
235
+ row: Object,
236
+ comp: null,
237
+ operationtypes: this.$appdata.getParam('操作类型') ? [{
238
+ label: '全部',
239
+ value: ''
240
+ }, ...this.$appdata.getParam('操作类型')] : [],
241
+
242
+ cancel_show: false,
243
+ cancel_data: null,
244
+ criteriaShow: false,
245
+ reissue_show: false,
246
+ reissue_data: null,
247
+ authArr: this.$login.r ? this.$login.r : []
248
+ }
249
+ },
250
+ props: {
251
+ sqlurl: {
252
+ type: String,
253
+ default: 'rs/sql/getRecord'
254
+ },
255
+ items: {
256
+ type: String,
257
+ default: '*'
258
+ },
259
+ tablename: {
260
+ type: String,
261
+ default: 't_record'
262
+ },
263
+ orderitem: {
264
+ type: String,
265
+ default: 'f_operate_date desc'
266
+ },
267
+ btns: {
268
+ type: Array
269
+ },
270
+ operationtype: {
271
+ type: String,
272
+ default: ''
273
+ },
274
+ userinfoid: {},
275
+ isOperate: {
276
+ type: Boolean,
277
+ default: true
278
+ },
279
+ f_orgid: ''
280
+ },
281
+ ready () {
282
+ this.$refs.paged.$refs.cri.model.f_operat_type = [this.operationtype]
283
+ asyncCardList(this)
284
+ // this.search()
285
+ },
286
+ methods: {
287
+ dateDes (date) {
288
+ return this.$login.dateDescripte(date)
289
+ },
290
+ selected (row) {
291
+ if (this.row === row) {
292
+ this.row = null
293
+ } else {
294
+ this.row = row
295
+ }
296
+ },
297
+ isSelected (row) {
298
+ return this.row === row
299
+ },
300
+ search () {
301
+ let condition = '1=1'
302
+ if (this.f_orgid) {
303
+ condition += `and (u.f_filialeid in ${this.f_orgid} or g.f_orgid in ${this.f_orgid}) `
304
+ } else {
305
+ condition += `and (u.f_filialeid = '${this.$login.f.orgid}' or g.f_orgid ='${this.$login.f.orgid}')`
306
+ }
307
+ this.$refs.pv.load(this.sqlurl, {data: {condition: condition}}).then((a) => {
308
+ if (a.data.length === 0) {
309
+ this.model.rows = []
310
+ this.model.state = '错误'
311
+ this.model.error = '没有符合条件的记录'
312
+ return
313
+ }
314
+ this.model.state = '正确'
315
+ this.model.rows = a.data
316
+ })
317
+ },
318
+ disEvent (btn) {
319
+ this.$dispatch(`${btn.eventName}`)
320
+ },
321
+ async operate (title, row) {
322
+ console.log('撤销的这条数据的信息', row)
323
+ if (title === '撤销') {
324
+ // 验证是否能撤销
325
+ let res = await this.$resetpost('rs/logic/recordRepealJudge', {data: row}, {
326
+ resolveMsg: null,
327
+ rejectMsg: '验证权限错误!!'
328
+ })
329
+ if (!res.data.pass) {
330
+ this.$showMessage(res.data.msg)
331
+ return
332
+ }
333
+ if (row.type === '卡表收费') {
334
+ if (!this.authArr.includes('无卡收费撤销权限')) {
335
+ this.$showAlert('当前用户没有【无卡收费撤销权限】,请联系管理员获取此权限后再进行该操作!', 'warning', 3000)
336
+ return
337
+ }
338
+ }
339
+ if (row.type === '物联网收费' || row.type === '卡表赠气' || row.type === '物联网赠费' || row.type === '卡表赠费' || row.type === '物联网赠气') {
340
+ let getWebHand = await this.$SqlService.singleTable('t_handplan', `f_hand_state = '有效' and f_input_date > '${row.f_operate_date}' and f_userfiles_id = '${row.f_userfiles_id}'`)
341
+ console.log('长度', getWebHand)
342
+ if (getWebHand.data.length > 0) {
343
+ this.$showAlert('此次物联网收费之后有结算,不能撤销此纪录', 'warning', 1500)
344
+ return
345
+ }
346
+ } else if (row.type === '机表收费') {
347
+ let getWebHand = await this.$SqlService.singleTable('t_handplan', `f_hand_state = '有效' and f_input_date > '${row.f_operate_date}' and f_whether_pay = '是' and f_userfiles_id = '${row.f_userfiles_id}'`)
348
+
349
+ console.log('长度', getWebHand)
350
+ if (getWebHand.data.length > 0) {
351
+ this.$showAlert('此次机表收费之后有自动下账,不能撤销此纪录', 'warning', 1500)
352
+ return
353
+ }
354
+ let sql = `select th.*from t_handplan th
355
+ left join t_sellinghand tsh on th.id=tsh.f_hand_id
356
+ where th.f_hand_state = '有效' and th.f_input_date > '${row.f_operate_date}' and tsh.f_debt_money>0
357
+ and th.f_userfiles_id = '${row.f_userfiles_id}' and tsh.f_state='有效'`
358
+ let getwate = await this.$resetpost('rs/logic/sqlquery', {data: {sql: sql}}, {
359
+ resolveMsg: null,
360
+ rejectMsg: '获取记录详情出错!!'
361
+ })
362
+ if (getwate.data.length > 0) {
363
+ this.$showAlert('此次机表收费之后有自动下账,不能撤销此纪录', 'warning', 1500)
364
+ return
365
+ }
366
+ } else {
367
+ if (this.authArr.includes('冲正权限')) {
368
+ if (this.config.cancleother) {
369
+ if (row.f_operator != this.$login.f.name) {
370
+ this.$showAlert('不能撤销不是自己进行的操作', 'warning', 1500)
371
+ return
372
+ }
373
+ }
374
+ if (this.config.cancletime) {
375
+ let a = this.$login.toStandardYearMonth()
376
+ console.log('当前时间', a < row.f_operate_date)
377
+ if (!this.authArr.includes('跨月撤销')) {
378
+ if (row.f_operate_date < a) {
379
+ this.$showAlert('不能撤销非本月的记录,请联系管理员获取【跨月撤销】的权限。', 'warning', 1500)
380
+ return
381
+ }
382
+ }
383
+ }
384
+ } else {
385
+ this.$showAlert('当前用户没有【冲正权限】', 'warning', 1500)
386
+ return
387
+ }
388
+ }
389
+ }
390
+
391
+ if (title === '撤销') {
392
+ this.cancel_show = true
393
+ this.cancel_data = row
394
+ } else {
395
+ let reprint = reprintGen(this, row)
396
+ return co(reprint)
397
+ }
398
+ },
399
+ cancelOper () {
400
+ this.cancel_data = null
401
+ this.cancel_show = false
402
+ },
403
+ cancelSucc () {
404
+ console.log('-----------------------------撤销成功了,隐藏掉')
405
+ this.cancel_show = false
406
+ this.$dispatch('refresh')
407
+ },
408
+ reissueOper () {
409
+ this.reissue_data = null
410
+ this.reissue_show = false
411
+ },
412
+ reissueSucc () {
413
+ this.reissue_show = false
414
+ this.$dispatch('refresh')
415
+ },
416
+
417
+ getBillUrl (row) {
418
+ let type = row.type
419
+ let name = ''
420
+ // 根据type数据 选择调用的Logic
421
+ if (type === '过户') {
422
+ name = 'rs/report/transfer_bill'
423
+ } else if (type === '换新表' || type === '气表清零') {
424
+ name = 'rs/report/change_meter'
425
+ } else if (type === '机表收费' || type === '机表收费撤销') {
426
+ if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
427
+ name = 'rs/report/fmy_machine_bill'
428
+ } else {
429
+ name = 'rs/report/machine_bill'
430
+ }
431
+ } else if (type === '物联网收费' || type === '物联网收费撤销' || type === '物联网开户' || type === '物联网赠气') {
432
+ if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
433
+ name = 'rs/report/fmy_iot_bill'
434
+ } else {
435
+ name = 'rs/report/iot_bill'
436
+ }
437
+ } else if (type === '物联网补费' || type === '物联网扣费' || type === '物联网补气' || type === '物联网扣气' || type === '机表补费' || type === '机表扣费') {
438
+ name = 'rs/report/MakeUp'
439
+ } else if (type === '超用收费') {
440
+ name = 'rs/report/overuse_bill'
441
+ } else if (type === '其他收费' || type === '其他收费撤销') {
442
+ name = 'rs/report/otherCharge_bill'
443
+ } else if (type === '补卡') {
444
+ name = 'rs/report/replace_sell'
445
+ } else if (type === '发卡售气') {
446
+ if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
447
+ name = 'rs/report/fmy_sendCard_bill'
448
+ } else {
449
+ if (row.f_meter_classify === '金额卡表' && this.$appdata.getSingleValue('金额气量区分卡表票据')) {
450
+ name = 'rs/report/fee_sendCard_bill'
451
+ } else {
452
+ name = 'rs/report/sendCard_bill'
453
+ }
454
+ }
455
+ } else if (type === '卡表收费' || type === '卡表收费撤销' || type === '卡表赠气' || type === '卡表收费撤销') {
456
+ if (row.f_user_type === '非民用' && this.$login.r.includes('非民用纸质票据拆分')) {
457
+ name = 'rs/report/fmy_card_bill'
458
+ } else {
459
+ if (row.f_meter_classify === '金额卡表' && this.$appdata.getSingleValue('金额气量区分卡表票据')) {
460
+ name = 'rs/report/fee_card_bill'
461
+ } else {
462
+ name = 'rs/report/card_bill'
463
+ }
464
+ }
465
+ } else if (type === '预存缴费') {
466
+ name = 'rs/report/pre_sell'
467
+ } else if (type === '调价预存') {
468
+ name = 'rs/report/refund_sell'
469
+ } else if (type === '退费') {
470
+ name = 'rs/report/refund_sell'
471
+ } else if (type === '调价补费') {
472
+ name = 'rs/report/compensation_bill'
473
+ } else if (type === '数码表收费') {
474
+ name = 'rs/report/digtial_bill'
475
+ } else if (type === '气损收费' || type === '气损收费撤销') {
476
+ name = 'rs/report/gasloss_bill'
477
+ } else if (type === '掉气补气') {
478
+ name = 'rs/report/acceptOffGasAddGas_bill'
479
+ } else if (type === '其他补气') {
480
+ name = 'rs/report/acceptOtherGas_bill'
481
+ } else if (type === '清零补气' || type === '换表补气') {
482
+ if (row.f_meter_classify.indexOf('卡表') > -1) {
483
+ name = 'rs/report/card_gas_bill'
484
+ } else {
485
+ name = 'rs/report/iot_sell'
486
+ }
487
+ } else if (type === '垃圾费收费') {
488
+ name = 'rs/report/garbageChargeReport'
489
+ }
490
+ return name
491
+ },
492
+ // 撤销为统一操作,所以写到基础组件中
493
+ operateCancel (row) {
494
+ let cancel = cancelGen(this, row)
495
+ co(cancel)
496
+ },
497
+ selfSearch (args) {
498
+ // if (!this.$login.f.parent.parent.name.includes('统一资源管理')) {
499
+ // args.condition += `and f_filialeids = '${this.$login.f.f_orgids}'`
500
+ // }
501
+ if (this.f_orgid) {
502
+ args.condition += `and r.f_orgid in ${this.f_orgid}`
503
+ } else {
504
+ args.condition += `and r.f_orgid = '${this.$login.f.orgid}'`
505
+ }
506
+ if (this.authArr.includes('操作记录查询限定')) {
507
+ args.condition += ` and r.f_operatorid = '${this.$login.f.id}'`
508
+ }
509
+ this.model.search(args.condition, args.model)
510
+ }
511
+ },
512
+ watch: {
513
+ // 'userinfoid' (newVal) {
514
+ // this.model.rows={}
515
+ // if (newVal && newVal !== '') {
516
+ // this.$nextTick(function () {
517
+ // this.$refs.paged.$refs.cri.model.f_userinfo_code = newVal
518
+ // }.bind(this))
519
+ // }else{
520
+ // this.$nextTick(function () {
521
+ // this.$refs.paged.$refs.cri.model.f_userinfo_code = ""
522
+ // }.bind(this))
523
+ // }
524
+ // this.$refs.paged.$refs.cri.model.f_operat_type = ''
525
+ // }
526
+ 'userinfoid' (newVal) {
527
+ if (newVal && newVal !== '') {
528
+ this.$nextTick(function () {
529
+ this.$refs.paged.$refs.cri.model.f_userinfo_code = newVal
530
+ }.bind(this))
531
+ this.$refs.paged.$refs.cri.model.f_operat_type = ''
532
+ let condition = `f_userinfo_code = '${newVal}' and u.f_filialeid = '${this.$login.f.orgid}'`
533
+ this.$refs.pv.load(this.sqlurl, {data: {condition: condition}}).then((a) => {
534
+ if (a.data.length === 0) {
535
+ this.model.rows = []
536
+ this.model.state = '错误'
537
+ this.model.error = '没有符合条件的记录'
538
+ return
539
+ }
540
+ this.model.state = '正确'
541
+ this.model.rows = a.data
542
+ })
543
+ } else {
544
+ this.model.rows = {}
545
+ this.$nextTick(function () {
546
+ this.$refs.paged.$refs.cri.model.f_userinfo_code = ''
547
+ }.bind(this))
548
+ }
549
+ }
550
+ }
551
+ }
552
+ </script>
@@ -4,6 +4,8 @@ import Vue from 'vue'
4
4
  export default function () {
5
5
  // 左侧用户基本信息展示
6
6
  Vue.component('sale-userinfo', (resolve) => { require(['./base/leftview/Userinfo'], resolve) })
7
+
8
+ Vue.component('card-list', (resolve) => { require(['./base/rightview/CardList'], resolve) })
7
9
  Vue.component('transfer-manage', (resolve) => { require(['./TransferManage'], resolve) })
8
10
  // 单个表具信息
9
11
  Vue.component('file-meter-info', (resolve) => { require(['./MeterinfoTest'], resolve) })