sale-client 3.5.24 → 3.5.27

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 (32) hide show
  1. package/.babelrc +5 -5
  2. package/package.json +1 -1
  3. package/src/components/FilesManage/FileUserFiles.vue +4 -4
  4. package/src/components/FilesManage/MeterinfoTest.vue +13 -2
  5. package/src/components/FilesManage/UserEssentialInfoTest.vue +7 -0
  6. package/src/components/charge/ChargeList.vue +76 -52
  7. package/src/components/charge/ChargeOper.vue +3 -1
  8. package/src/components/revenue/base/rightview/CardList.vue +6 -6
  9. package/src/components/revenue/base/rightview/carddetail/GarbageDetail.vue +59 -0
  10. package/src/components/revenue/comprehen/ComprehenOperation/BankPayment/BankPaymentConstrast.vue +286 -0
  11. package/src/components/revenue/comprehen/ComprehenOperation/BankPayment/BankPaymentnew.vue +52 -0
  12. package/src/components/revenue/comprehen/batch/batchUserList.vue +2 -2
  13. package/src/components/revenue/comprehen/common/ImportExcel.vue +9 -6
  14. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +8 -0
  15. package/src/filiale/dongguan/components/FilesManage/FileUserFiles.vue +4 -4
  16. package/src/filiale/dongguan/components/common/userinfo_detail/UserBaseInfoNew.vue +52 -1
  17. package/src/filiale/guangxi/CardChangeFill.vue +2 -5
  18. package/src/filiale/guangxi/CardService.js +2 -0
  19. package/src/filiale/guangxi/OtherGas.vue +380 -0
  20. package/src/filiale/guangxi/sale.js +3 -1
  21. package/src/filiale/kelai/GarbageCharge.vue +205 -0
  22. package/src/filiale/kelai/UserfilesList.vue +293 -0
  23. package/src/filiale/kelai/sale.js +5 -2
  24. package/src/filiale/meihekou/CardHand.vue +18 -18
  25. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/MeterParam.vue +24 -4
  26. package/src/main.js +1 -1
  27. package/src/sale.js +4 -0
  28. package/.gradle/3.5.1/file-changes/last-build.bin +0 -0
  29. package/.gradle/3.5.1/taskHistory/taskHistory.lock +0 -0
  30. package/.gradle/buildOutputCleanup/built.bin +0 -0
  31. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  32. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
package/.babelrc CHANGED
@@ -1,5 +1,5 @@
1
- {
2
- "presets": ["es2015", "stage-2"],
3
- "plugins": ["transform-runtime"],
4
- "comments": false
5
- }
1
+ {
2
+ "presets": ["es2015", "stage-2"],
3
+ "plugins": ["transform-runtime"],
4
+ "comments": false
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.5.24",
3
+ "version": "3.5.27",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -58,8 +58,6 @@
58
58
  <button @click="$parent.$parent.importFile" class="button_export button_spacing"
59
59
  style="float: right" v-if="false">导入
60
60
  </button>
61
- <button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.downloadFiles()">模板下载
62
- </button>
63
61
  <!-- <button class="button_search" style="width: 90px" @click=" $parent.$parent.selectaddress()">选择地址</button>-->
64
62
  <button @click="$parent.$parent.xiaohu()"
65
63
  class="button_delete button_spacing"
@@ -407,9 +405,11 @@
407
405
  <footer slot="modal-footer" class="modal-footer">
408
406
  </footer>
409
407
  </modal>
410
- <modal :show.sync="batchMeterShow" width="500px" title="文件导入" v-ref:modal large backdrop="false">
408
+ <modal :show.sync="batchMeterShow" width="570px" title="文件导入" v-ref:modal large backdrop="false">
411
409
  <article slot="modal-body" class="modal-body">
412
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
410
+ <file-upload class="my-file-uploader col-sm-9" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
411
+ <button class="button_clear btn-gn" style="margin-top: 10px;background-color: #6aa6e2;" @click="downloadFiles()">模板下载
412
+ </button>
413
413
  </article>
414
414
  <footer slot="modal-footer" class="modal-footer">
415
415
  </footer>
@@ -185,7 +185,7 @@
185
185
  </div>
186
186
  <div class="col-sm-4 form-group">
187
187
  <label class="font_normal_body">表具使用年限</label>
188
- <input type="number" class="input_search" style="width:60%" v-model="fireinfo.f_use_limit"
188
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_use_limit"
189
189
  placeholder='表具使用年限' >
190
190
  </div>
191
191
  <div class="col-sm-4 form-group">
@@ -794,8 +794,19 @@
794
794
  } else {
795
795
  this.ratioshow = false
796
796
  }
797
+ },
798
+ 'row.f_gas_date' (val) {
799
+ if (!this.row.f_use_limit) {
800
+ this.row.f_use_limit = this.$appdata.getSingleValue('使用年限')
801
+ }
802
+ if (!this.row.f_scrap_date && this.row.f_gas_date) {
803
+ if (this.row.f_use_limit !== undefined) {
804
+ let date = new Date(this.row.f_gas_date)
805
+ let year = date.getFullYear() + (this.row.f_use_limit / 1)
806
+ this.row.f_scrap_date = year + this.row.f_gas_date.slice(4)
807
+ }
808
+ }
797
809
  }
798
-
799
810
  },
800
811
  computed: {
801
812
 
@@ -106,6 +106,13 @@
106
106
  <input type="text" v-model="baseinfo.base.f_zuhu_phone" class="input_search" style="width:60%"
107
107
  placeholder="租户电话">
108
108
  </div>
109
+ </div>
110
+ <div class="row">
111
+ <div style="" class="col-sm-8 form-group">
112
+ <label for="f_zuhu_idnumber" class="font_normal_body">租户身份证</label>
113
+ <input type="text" v-model="baseinfo.base.f_zuhu_idnumber" class="input_search" style="width:80%"
114
+ placeholder="租户身份证">
115
+ </div>
109
116
  <div style="" class="col-sm-4 form-group">
110
117
  <label for="f_is_mgq" class="font_normal_body ">&ensp;付款类型</label>
111
118
  <v-select id="f_is_mgq" :value.sync="baseinfo.base.f_cost_type" v-model="baseinfo.base.f_cost_type"
@@ -326,11 +326,11 @@
326
326
  */
327
327
  import {HttpResetClass, PagedList} from 'vue-client'
328
328
  import DetailManage from './DetailManage'
329
- import Vue from "vue";
329
+ import Vue from 'vue'
330
330
 
331
- let cardBtnGen = async function (self, val) {
331
+ let cardBtnGen = async function (self, val) {
332
332
  self.cardInfo = val.data
333
-
333
+ let getUser = null
334
334
  // 判断读卡是否需要卡密码
335
335
  console.log('读卡上的信息', self.cardInfo)
336
336
 
@@ -342,8 +342,32 @@
342
342
  self.readCardParam = self.model.rows[0].f_card_password
343
343
  self.cardInfo = await self.$refs.paged.$refs.cri.$refs.readcard.readCard2(self.model.rows[0].f_card_password)
344
344
  } else {
345
- self.$showAlert('此卡需要先获取客户信息。请通过条件查询该客户信息之后进行读卡!!', 'warning', 2000)
346
- return
345
+ if (self.cardInfo.Factory == 'JiBiao' || self.cardInfo.Factory == 'JiChengADSystem') {
346
+ // 获取用户信息
347
+ getUser = await self.$resetpost('rs/sql/sale_getUser', {
348
+ data: {
349
+ condition: `f_meter_type in ('机表','物联网表') and u.f_card_id='${self.cardInfo.CardID}'
350
+ and u.f_filialeid = '${self.$login.f.orgid}' and f_whether_hairpin != '未发'`,
351
+ orderitem: `${self.orderitem} Desc`
352
+ }
353
+ }, {resolveMsg: '读卡成功', rejectMsg: '读卡失败'})
354
+ } else {
355
+ // 获取用户信息
356
+ getUser = await self.$resetpost('rs/sql/sale_getUser', {
357
+ data: {
358
+ condition: `gb.f_meter_type in ('气量卡表', '金额卡表','物联网表') and u.f_card_id='${self.cardInfo.CardID}'
359
+ and u.f_filialeid = '${self.$login.f.orgid}' and f_alias='${self.cardInfo.Factory}' and f_whether_hairpin != '未发'`,
360
+ orderitem: `${self.orderitem} Desc`
361
+ }
362
+ }, {resolveMsg: '读卡成功', rejectMsg: '读卡失败'})
363
+ }
364
+ if (getUser.data.length == 1 && getUser.data[0].f_alias === self.cardInfo.Factory) {
365
+ self.readCardParam = getUser.data[0].f_card_password
366
+ self.cardInfo = await self.$refs.paged.$refs.cri.$refs.readcard.readCard2(getUser.data[0].f_card_password)
367
+ } else {
368
+ self.$showAlert('此卡需要先获取客户信息。请通过条件查询该客户信息之后进行读卡!!', 'warning', 2000)
369
+ return
370
+ }
347
371
  }
348
372
  }
349
373
  }
@@ -421,12 +445,12 @@
421
445
  let hasMatchingData = false
422
446
  getUser.data.forEach((res, index) => {
423
447
  if (self.model.rows[0].f_userfiles_id == res.f_userfiles_id) {
424
- self.model.rows = [getUser.data[index]]
425
- self.model.state = '正确'
426
- hasMatchingData = true
427
- self.$dispatch('dblclick', getUser.data[index], 0, self.cardInfo)
428
- }
429
- })
448
+ self.model.rows = [getUser.data[index]]
449
+ self.model.state = '正确'
450
+ hasMatchingData = true
451
+ self.$dispatch('dblclick', getUser.data[index], 0, self.cardInfo)
452
+ }
453
+ })
430
454
  if (!hasMatchingData) {
431
455
  self.model.rows = getUser.data
432
456
  self.model.pageIndex = 1
@@ -548,12 +572,12 @@
548
572
  let hasMatchingData = false
549
573
  getUser.data.forEach((res, index) => {
550
574
  if (self.model.rows[0].f_userfiles_id == res.f_userfiles_id) {
551
- self.model.rows = [getUser.data[index]]
552
- self.model.state = '正确'
553
- hasMatchingData = true
554
- self.$dispatch('dblclick', getUser.data[index], 0, self.cardInfo)
555
- }
556
- })
575
+ self.model.rows = [getUser.data[index]]
576
+ self.model.state = '正确'
577
+ hasMatchingData = true
578
+ self.$dispatch('dblclick', getUser.data[index], 0, self.cardInfo)
579
+ }
580
+ })
557
581
  if (!hasMatchingData) {
558
582
  self.model.rows = getUser.data
559
583
  self.model.pageIndex = 1
@@ -640,7 +664,7 @@
640
664
  // 读卡是否需要额外参数
641
665
  readCardNeedParam: false,
642
666
  readCardParam: {},
643
- systemTimes: '',
667
+ systemTimes: '',
644
668
  userCode: '',
645
669
  userName: '',
646
670
  userAddress: '',
@@ -656,9 +680,9 @@
656
680
 
657
681
  // 流水记录显示
658
682
  recordModel: {rows: []},
659
- clientWidth: document.body.clientWidth,
683
+ clientWidth: document.body.clientWidth,
660
684
  showCardError: false
661
- }
685
+ }
662
686
  },
663
687
  props: {
664
688
  orderitem: {
@@ -681,7 +705,7 @@
681
705
  window.onresize = () => {
682
706
  return (() => {
683
707
  this.clientWidth = document.body.clientWidth
684
- })()
708
+ })()
685
709
  }
686
710
  },
687
711
  methods: {
@@ -699,16 +723,16 @@
699
723
  clear () {
700
724
  Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
701
725
  this.$refs.paged.$refs.cri.model[key] = []
702
- })
726
+ })
703
727
  },
704
728
  initQueryParam () {
705
729
  let arr = []
706
730
  this.$GetSaleParam.getGasbrand().forEach((item) => {
707
731
  let temp = {}
708
732
  temp.label = item.label
709
- temp.value = item.value.f_meter_brand
710
- arr.push(temp)
711
- })
733
+ temp.value = item.value.f_meter_brand
734
+ arr.push(temp)
735
+ })
712
736
  this.meterbrand = [{label: '全部', value: ''}, ...arr]
713
737
  },
714
738
  search () {
@@ -738,32 +762,32 @@
738
762
  },
739
763
 
740
764
  async selfSearch (args) {
741
- if (!this.f_orgid) {
742
- this.getorg([this.$login.f.orgid])
743
- }
744
- if (this.f_orgid) {
745
- args.condition = `u.f_filialeid in ${this.f_orgid} and ${args.condition}`
746
- }
747
- this.excelCondition = args.condition
748
- args.condition = `${args.condition}`
749
- if (this.defbtn === '发卡售气') {
750
- args.condition = `${args.condition} and f_whether_hairpin = '未发' and f_meter_classify like '%卡表%'`
751
- }
752
- this.isPager = true
753
- this.criteriaShow = true
754
- this.$parent.warningInfo=null
755
- this.cardInfo = ''
756
- if (!this.specialCondition) {
757
- if (args.condition.includes('1!=1')) {
758
- args.condition = args.condition.replace('1!=1', '1=1')
759
- }
760
- }
761
- this.specialCondition = false
765
+ if (!this.f_orgid) {
766
+ this.getorg([this.$login.f.orgid])
767
+ }
768
+ if (this.f_orgid) {
769
+ args.condition = `u.f_filialeid in ${this.f_orgid} and ${args.condition}`
770
+ }
771
+ this.excelCondition = args.condition
772
+ args.condition = `${args.condition}`
773
+ if (this.defbtn === '发卡售气') {
774
+ args.condition = `${args.condition} and f_whether_hairpin = '未发' and f_meter_classify like '%卡表%'`
775
+ }
776
+ this.isPager = true
777
+ this.criteriaShow = true
778
+ this.$parent.warningInfo = null
779
+ this.cardInfo = ''
780
+ if (!this.specialCondition) {
781
+ if (args.condition.includes('1!=1')) {
782
+ args.condition = args.condition.replace('1!=1', '1=1')
783
+ }
784
+ }
785
+ this.specialCondition = false
762
786
 
763
- await this.model.search(args.condition, args.model)
764
- if (this.model.rows.length == 1) {
765
- this.$parent.toBusiness(this.model.rows[0])
766
- }
787
+ await this.model.search(args.condition, args.model)
788
+ if (this.model.rows.length == 1) {
789
+ this.$parent.toBusiness(this.model.rows[0])
790
+ }
767
791
  },
768
792
  cardBtn (val) {
769
793
  this.clear()
@@ -885,8 +909,8 @@
885
909
  },
886
910
  computed: {
887
911
  authArr () {
888
- console.log('this.$login.r:',this.$login.r)
889
- console.log('this.$login.r.includes:',this.$login.r.includes('收费综合导出权限'))
912
+ console.log('this.$login.r:', this.$login.r)
913
+ console.log('this.$login.r.includes:', this.$login.r.includes('收费综合导出权限'))
890
914
  return this.$login.r ? this.$login.r : []
891
915
  }
892
916
  }
@@ -49,7 +49,9 @@
49
49
  } else {
50
50
  self.temp = []
51
51
  for (let i = 0; i < getBtns.length; i++) {
52
- if (self.$login.r.includes(getBtns[i].name)) {
52
+ // 不需要权限的按钮
53
+ let noInclude = getBtns[i].name === '垃圾费收费'
54
+ if (noInclude || self.$login.r.includes(getBtns[i].name)) {
53
55
  // 进行权限验证
54
56
  self.temp.push(getBtns[i])
55
57
  }
@@ -116,8 +116,7 @@
116
116
  <transfermanage-detail :data="row" v-if="row.type === '过户'"></transfermanage-detail>
117
117
  <othercharge-detail :data="row" v-if="row.type === '其他收费欠费登记'||row.type === '其他收费'||row.type === '维修收费'"></othercharge-detail>
118
118
  <inputtorchange-detail :data="row" v-if="row.type === '抄表员变更'"></inputtorchange-detail>
119
- <offgasaddgas-detail :data="row"
120
- v-if=" row.type === '换表补气' ||row.type === '其他补气' || row.type === '清零补气' || row.type === '掉气补气'||row.type==='物联网补费'||row.type==='物联网扣费'||row.type==='机表补费'||row.type==='机表扣费'||row.type==='物联网补气'||row.type==='物联网扣气' " ></offgasaddgas-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>
121
120
  <iotopen-detail :data="row" v-if="row.type === '开通'"></iotopen-detail>
122
121
  <iotmetercenter-detail :data="row" v-if="row.type === '物联网收费' || row.type === '物联网开户' || row.type === '调价退费' || row.type === '调价补费'||row.type === '退押金' "></iotmetercenter-detail>
123
122
  <overuserchange-detail :data="row" v-if="row.type === '超用收费'"></overuserchange-detail>
@@ -134,10 +133,8 @@
134
133
  <autoaccounts-cancel-detail :data="row" v-if="row.type === '自动下账撤销'"></autoaccounts-cancel-detail>
135
134
  <transfermanage-cancel-detail :data="row" v-if="row.type === '过户撤销'"></transfermanage-cancel-detail>
136
135
  <cardmetercenter-cancel-detail :data="row" v-if="row.type === '卡表收费撤销'"></cardmetercenter-cancel-detail>
137
- <machinemetercenter-cancel-detail :data="row"
138
- v-if="row.type === '机表收费撤销'"></machinemetercenter-cancel-detail>
139
- <machinemetercenter-cancel-detail :data="row"
140
- v-if="row.type == '预存缴费撤销'"></machinemetercenter-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>
141
138
  <othercharge-cancel-detail :data="row" v-if="row.type === '其他收费撤销'"></othercharge-cancel-detail>
142
139
  <replacecardmanage-cancel-detail :data="row" v-if="row.type === '补卡撤销'"></replacecardmanage-cancel-detail>
143
140
  <iotmetercenter-cancel-detail :data="row" v-if="row.type === '物联网收费撤销'"></iotmetercenter-cancel-detail>
@@ -148,6 +145,7 @@
148
145
  <advance-delivery-detail :data="row" v-if="row.type ==='卡表预交' "></advance-delivery-detail>
149
146
  <machinemetercenter-detail :data="row" v-if="row.type === '预存缴费'||row.type == '调价预存'"></machinemetercenter-detail>
150
147
  <gasloss-detail :data="row" v-if="row.type === '气损收费' || row.type === '气损收费撤销'"></gasloss-detail>
148
+ <garbage-detail :data="row" v-if="row.type === '垃圾费收费'"></garbage-detail>
151
149
  </div>
152
150
  <div style="margin-top: 8px;background: #FFF;" v-if="!$parent.$parent.$parent.isSelected(row)">
153
151
  <span>{{row.f_describe}}</span>
@@ -462,6 +460,8 @@
462
460
  } else {
463
461
  name = 'rs/report/iot_sell'
464
462
  }
463
+ } else if (type === '垃圾费收费') {
464
+ name = 'rs/report/garbageChargeReport'
465
465
  }
466
466
  return name
467
467
  },
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <div class="auto">
3
+ <partial-view v-ref:pv>
4
+ <div class="row">
5
+ <label class = "col-sm-4">开始日期:</label>
6
+ <span class = "col-sm-8" style="text-align:left">{{model.min_hand_date}}</span>
7
+ </div>
8
+ <div class="row">
9
+ <label class = "col-sm-4">结束日期:</label>
10
+ <span class = "col-sm-8" style="text-align:left">{{model.max_hand_date}}</span>
11
+ </div>
12
+ <div class="row">
13
+ <label class = "col-sm-4">缴费月数:</label>
14
+ <span class = "col-sm-8" style="text-align:left">{{model.month}}</span>
15
+ </div>
16
+ <div class="row">
17
+ <label class = "col-sm-4">总金额:</label>
18
+ <span class = "col-sm-8" style="text-align:left">{{model.money}}</span>
19
+ </div>
20
+ <div class="row">
21
+ <label class = "col-sm-4">操作人:</label>
22
+ <span class = "col-sm-8" style="text-align:left">{{data.f_operator}}</span>
23
+ </div>
24
+ <div class="row">
25
+ <label class = "col-sm-4">操作时间:</label>
26
+ <span class = "col-sm-8" style="text-align:left">{{data.f_operate_date}}</span>
27
+ </div>
28
+ </partial-view>
29
+ </div>
30
+ </template>
31
+
32
+ <script>
33
+ export default {
34
+ title: '垃圾费收费详情',
35
+ props: ['data'],
36
+ data () {
37
+ return {
38
+ model: {}
39
+ }
40
+ },
41
+ ready () {
42
+ let sql = 'garbageDetail'
43
+ let condition = {
44
+ recordId: this.data.id
45
+ }
46
+ this.$info(`加载数据中..., sql:${sql}`)
47
+ this.$refs.pv.load('rs/logic/getOneData', {data: {sql: sql, params: condition}}).then((a) => {
48
+ this.$info(`成功获取到数据!, data:${JSON.stringify(a.data)}`)
49
+ this.model = a.data
50
+ }).catch((error) => {
51
+ if (error.status) {
52
+ this.$warn(`加载数据出错, ${JSON.stringify(error)}`)
53
+ return
54
+ }
55
+ throw error
56
+ })
57
+ }
58
+ }
59
+ </script>