sale-client 3.5.162 → 3.5.163
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 +1 -1
- package/src/components/FilesManage/UserGeneralInfoTest.vue +1 -1
- package/src/components/revenue/cancelHandplan/IotHandplanCanel.vue +21 -16
- package/src/components/revenue/machineHandManage/machineHandAudit.vue +9 -21
- package/src/filiale/qianneng/eticket/EticketPrint.vue +6 -8
- package/src/filiale/qianneng/revenue/common/UserInfoDetailManageNew.vue +179 -0
- package/src/filiale/qianneng/revenue/common/ic_detail/AutomaticPurse.vue +297 -0
- package/src/filiale/qianneng/revenue/common/ic_detail/ChargeQueryUser.vue +372 -0
- package/src/filiale/qianneng/revenue/common/ic_detail/HandQueryUser.vue +357 -0
- package/src/filiale/qianneng/sale.js +5 -1
- package/src/filiale/tongchuan/ChargeManage.vue +1 -1
- package/yarn-error.log +0 -9224
package/package.json
CHANGED
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
</div>
|
|
94
94
|
<div class="row">
|
|
95
95
|
<div class="col-sm-2"></div>
|
|
96
|
-
<input v-if="fileSaveData.reason
|
|
96
|
+
<input v-if="fileSaveData.reason==='其他'" class="input_search" style="width:60%" placeholder='修改原因' v-model="fileSaveData.modifyReason"/>
|
|
97
97
|
</div>
|
|
98
98
|
</article>
|
|
99
99
|
<footer slot="modal-footer" class="modal-footer">
|
|
@@ -59,24 +59,29 @@
|
|
|
59
59
|
readyGen(this)
|
|
60
60
|
},
|
|
61
61
|
methods: {
|
|
62
|
-
cancel (){
|
|
63
|
-
this.$showMessage('确定要对此条抄表记录进行冲正操作吗?',['confirm', 'cancel'])
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
async cancel (){
|
|
63
|
+
let res = await this.$showMessage('确定要对此条抄表记录进行冲正操作吗?',['confirm', 'cancel'])
|
|
64
|
+
if(res === 'confirm') {
|
|
65
|
+
let param = {
|
|
66
|
+
operInfo: {
|
|
67
|
+
f_operator: this.$login.f.name,
|
|
68
|
+
f_operatorid: this.$login.f.id,
|
|
69
|
+
f_orgid: this.$login.f.orgid,
|
|
70
|
+
f_orgname: this.$login.f.orgs,
|
|
71
|
+
f_depid: this.$login.f.depids,
|
|
72
|
+
f_depname: this.$login.f.deps
|
|
73
|
+
},
|
|
74
|
+
f_hand_id: this.model.id
|
|
75
|
+
}
|
|
76
|
+
await this.$resetpost('rs/logic/iotHandplanCancel',{data: param}).then(res => {
|
|
77
|
+
if(res.data.code === 200) {
|
|
78
|
+
this.$showAlert('抄表记录冲正成功','success', 1500)
|
|
79
|
+
} else {
|
|
80
|
+
this.$showAlert(res.data.msg,'warning',2000)
|
|
75
81
|
}
|
|
76
|
-
this.$resetpost('rs/logic/iotHandplanCancel',{data: param}, {resolveMsg: '对该抄表记录冲正成功!', rejectMsg: null})
|
|
77
82
|
readyGen(this)
|
|
78
|
-
}
|
|
79
|
-
}
|
|
83
|
+
})
|
|
84
|
+
}
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
87
|
}
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
import * as Util from '../../../Util'
|
|
395
395
|
|
|
396
396
|
let readyGen = async function (self) {
|
|
397
|
-
self.$refs.paged.$refs.cri.model.startDate =
|
|
397
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
|
|
398
398
|
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
399
399
|
await self.$LoadParams.loadMeterBook(self.f_filialeid)
|
|
400
400
|
self.loadMeterBooks()
|
|
@@ -414,13 +414,12 @@
|
|
|
414
414
|
dep: [],
|
|
415
415
|
user: []
|
|
416
416
|
},
|
|
417
|
-
config:
|
|
418
|
-
examine: false
|
|
417
|
+
config:{
|
|
418
|
+
examine: false,
|
|
419
419
|
},
|
|
420
420
|
imgfilename: '',
|
|
421
421
|
// 小区
|
|
422
422
|
residentialArea: [],
|
|
423
|
-
inputtouPerson: [],
|
|
424
423
|
imgshow: false,
|
|
425
424
|
criteriaShow: false,
|
|
426
425
|
orgCondtionStr: '',
|
|
@@ -445,8 +444,8 @@
|
|
|
445
444
|
'f_adjustable_name': '调压箱名称',
|
|
446
445
|
'f_inputtor': '抄表员'
|
|
447
446
|
},
|
|
448
|
-
auditState:
|
|
449
|
-
auditState1:
|
|
447
|
+
auditState:[{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
|
|
448
|
+
auditState1:[{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
|
|
450
449
|
meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
|
|
451
450
|
resultstate: this.$appdata.getParam('抄表结果状态'),
|
|
452
451
|
meterstates: this.$appdata.getParam('抄表状态') ? [{
|
|
@@ -476,7 +475,7 @@
|
|
|
476
475
|
methods: {
|
|
477
476
|
// 修正本期底数
|
|
478
477
|
amend (row) {
|
|
479
|
-
let tablebase = window.prompt('请输入你要修正的底数值,上期底数:'
|
|
478
|
+
let tablebase = window.prompt('请输入你要修正的底数值,上期底数:'+ row.f_meter_base)
|
|
480
479
|
if (!tablebase) return
|
|
481
480
|
if (tablebase < 0) {
|
|
482
481
|
this.$showAlert(`底数不能小于0,请注意!`, 'warning', 2000)
|
|
@@ -597,9 +596,9 @@
|
|
|
597
596
|
this.imgshow = false
|
|
598
597
|
},
|
|
599
598
|
imgShow (val) {
|
|
600
|
-
console.log(
|
|
599
|
+
console.log("-----------val2:",val)
|
|
601
600
|
this.imgfilename = `rs/image/file/` + val
|
|
602
|
-
console.log(
|
|
601
|
+
console.log("-----------imgfilename2:",this.imgfilename)
|
|
603
602
|
this.imgshow = true
|
|
604
603
|
},
|
|
605
604
|
async getaddress () {
|
|
@@ -633,17 +632,6 @@
|
|
|
633
632
|
} else {
|
|
634
633
|
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
635
634
|
}
|
|
636
|
-
// 抄表员查询条件
|
|
637
|
-
this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
|
|
638
|
-
if (this.inputtouPerson.length !== 0) {
|
|
639
|
-
let str = JSON.stringify(this.inputtouPerson)
|
|
640
|
-
str = str.replace(/"/g, `'`)
|
|
641
|
-
str = str.replace(/\[/g, ``)
|
|
642
|
-
str = str.replace(/\]/g, ``)
|
|
643
|
-
console.log('=====抄表员model22222222222绑定====', str)
|
|
644
|
-
// 查询多个抄表员时条件
|
|
645
|
-
args.condition += ` and f_inputtor in ( ${str} )`
|
|
646
|
-
}
|
|
647
635
|
this.excelCondition = args.condition
|
|
648
636
|
this.$refs.paged.$refs.grid.selectInit()
|
|
649
637
|
this.model.search(args.condition, args.model)
|
|
@@ -708,7 +696,7 @@
|
|
|
708
696
|
},
|
|
709
697
|
loadMeterBooks () {
|
|
710
698
|
this.meterbooks = this.$GetSaleParam.getMeterBooks()
|
|
711
|
-
}
|
|
699
|
+
},
|
|
712
700
|
|
|
713
701
|
},
|
|
714
702
|
computed: {
|
|
@@ -132,12 +132,11 @@ export default {
|
|
|
132
132
|
id: ticket_id,
|
|
133
133
|
f_bill_code: req.fpDm,
|
|
134
134
|
f_bill_number: req.fpHm,
|
|
135
|
-
f_bill_url: req.
|
|
136
|
-
|
|
137
|
-
f_sign_result: req.sharecode,
|
|
135
|
+
f_bill_url: req.shareurl.replace('/s/', `/s/downloadPdf?pwd=${req.sharecode}&authCode=`).replace('\\', ''),
|
|
136
|
+
f_sign_result: req.msg,
|
|
138
137
|
f_bill_state: req.status
|
|
139
138
|
}
|
|
140
|
-
this.eticket_src = '
|
|
139
|
+
this.eticket_src = req.shareurl.replace('/s/', `/s/downloadPdf?pwd=${req.sharecode}&authCode=`).replace('\\', '')
|
|
141
140
|
} else if (req.status === '开票中') {
|
|
142
141
|
model = {
|
|
143
142
|
id: ticket_id,
|
|
@@ -304,12 +303,11 @@ export default {
|
|
|
304
303
|
f_eticket_id: ticket_id,
|
|
305
304
|
f_bill_code: req.fpDm,
|
|
306
305
|
f_bill_number: req.fpHm,
|
|
307
|
-
f_bill_url: req.
|
|
308
|
-
|
|
309
|
-
f_sign_result: req.sharecode,
|
|
306
|
+
f_bill_url: req.shareurl.replace('/s/', `/s/downloadPdf?pwd=${req.sharecode}&authCode=`).replace('\\', ''),
|
|
307
|
+
f_sign_result: req.msg,
|
|
310
308
|
f_bill_state: req.status
|
|
311
309
|
})
|
|
312
|
-
this.eticket_src =
|
|
310
|
+
this.eticket_src = req.shareurl.replace('/s/', `/s/downloadPdf?pwd=${req.sharecode}&authCode=`).replace('\\', '')
|
|
313
311
|
} else if (req && req.status !== '开票中') {
|
|
314
312
|
clearInterval(interval)
|
|
315
313
|
// TODO 失败后保存发票详情
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="binary flex" >
|
|
3
|
+
<div class="row binary-left flex" style="width:99%;height:98%;margin-bottom:0px">
|
|
4
|
+
<div class="auto"><user-base-info-new :row="row" @cancel-main="cancel"></user-base-info-new></div>
|
|
5
|
+
<saletabbut v-if="row" v-ref:list style="height:72%;margin-top: 1%">
|
|
6
|
+
<saletab header="流水查询" v-if="permission('流水查询')">
|
|
7
|
+
<record-query-user :row="row"></record-query-user>
|
|
8
|
+
</saletab>
|
|
9
|
+
<saletab header="机表流水查询" v-if="permission('机表流水查询')&&row.f_meter_type.includes('机表')">
|
|
10
|
+
<machine-record-query :row="row" v-if="show == '机表流水查询'" @deal-msg="dealMsg"></machine-record-query>
|
|
11
|
+
</saletab>
|
|
12
|
+
<saletab header="收费查询" v-if="permission('收费查询')">
|
|
13
|
+
<charge-query-user :row="row" v-if="show == '收费查询'" @deal-msg="dealMsg"></charge-query-user>
|
|
14
|
+
</saletab>
|
|
15
|
+
<saletab header="累购查询" v-if="permission('累购查询')">
|
|
16
|
+
<Repurchase :row="row" v-if="show == '累购查询'" @deal-msg="dealMsg"></Repurchase>
|
|
17
|
+
</saletab>
|
|
18
|
+
<saletab header="下账查询" v-if="row.f_meter_type.includes('物联网表')&&permission('自动下账查询')">
|
|
19
|
+
<automatic-purse :row="row" @deal-msg="dealMsg"></automatic-purse>
|
|
20
|
+
</saletab>
|
|
21
|
+
<saletab header="抄表记录" v-if="row.f_meter_type.includes('卡表')&&permission('抄表记录')">
|
|
22
|
+
<card-hand-record :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></card-hand-record>
|
|
23
|
+
</saletab>
|
|
24
|
+
<saletab header="抄表记录" v-if="!row.f_meter_type.includes('卡表')&&permission('抄表记录')">
|
|
25
|
+
<hand-query-user :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></hand-query-user>
|
|
26
|
+
</saletab>
|
|
27
|
+
<saletab header="补卡查询" v-if="row.f_meter_type.includes('卡表')&&permission('补卡查询')">
|
|
28
|
+
<fill-card-query-user :row="row" v-if="show == '补卡查询'" @deal-msg="dealMsg"></fill-card-query-user>
|
|
29
|
+
</saletab>
|
|
30
|
+
<saletab header="补气查询" v-if="permission('补气查询')">
|
|
31
|
+
<fill-gas-query-user :row="row" v-if="show == '补气查询'" @deal-msg="dealMsg"></fill-gas-query-user>
|
|
32
|
+
</saletab>
|
|
33
|
+
<saletab header="换表查询" v-if="permission('换表查询')">
|
|
34
|
+
<change-meter-query-user :row="row" v-if="show == '换表查询'" @deal-msg="dealMsg"></change-meter-query-user>
|
|
35
|
+
</saletab>
|
|
36
|
+
<saletab header="其他收费" v-if="permission('其他收费')">
|
|
37
|
+
<other-charge-query-user :row="row" v-if="show == '其他收费'" @deal-msg="dealMsg"></other-charge-query-user>
|
|
38
|
+
</saletab>
|
|
39
|
+
<saletab header="过户查询" v-if="permission('过户查询')">
|
|
40
|
+
<transfer-query-user :row="row" v-if="show == '过户查询'" @deal-msg="dealMsg"></transfer-query-user>
|
|
41
|
+
</saletab>
|
|
42
|
+
<saletab header="价格调整" v-if="permission('价格调整')">
|
|
43
|
+
<price-change-query-user :row="row" v-if="show == '价格调整'" @deal-msg="dealMsg"></price-change-query-user>
|
|
44
|
+
</saletab>
|
|
45
|
+
<saletab header="附件查看" v-if="permission('附件查看')">
|
|
46
|
+
<upload-file-history :row="row" v-if="show == '附件查看'" @deal-msg="dealMsg"></upload-file-history>
|
|
47
|
+
</saletab>
|
|
48
|
+
<saletab header="变更记录" v-if="permission('变更记录')">
|
|
49
|
+
<change-record :row="row" v-if="show == '变更记录'" @deal-msg="dealMsg"></change-record>
|
|
50
|
+
</saletab>
|
|
51
|
+
<saletab header="指令查看" v-if="row.f_meter_type.includes('物联网表')&&permission('指令查看')">
|
|
52
|
+
<query-instruct :row="row" v-if="show == '指令查看'" @deal-msg="dealMsg"></query-instruct>
|
|
53
|
+
</saletab>
|
|
54
|
+
<saletab header="历史指令查看" v-if="row.f_meter_type.includes('物联网表')&&permission('历史指令查看')">
|
|
55
|
+
<query-history-instruct :row="row" v-if="show == '历史指令查看'" @deal-msg="dealMsg"></query-history-instruct>
|
|
56
|
+
</saletab>
|
|
57
|
+
<saletab header="异常报警" v-if="row.f_meter_type.includes('物联网表')&&permission('异常报警')">
|
|
58
|
+
<watch-warning :row="row" v-if="show == '异常报警'" @deal-msg="dealMsg"></watch-warning>
|
|
59
|
+
</saletab>
|
|
60
|
+
<saletab header="表具采集" v-if="row.f_meter_type.includes('物联网表')&&permission('表具采集')">
|
|
61
|
+
<watch-collection :row="row" v-if="show == '表具采集'" @deal-msg="dealMsg"></watch-collection>
|
|
62
|
+
</saletab>
|
|
63
|
+
<saletab header="调价补差" v-if="permission('调价补差')">
|
|
64
|
+
<price-adjustment-query-user :row="row" v-if="show == '调价补差'" @deal-msg="dealMsg"></price-adjustment-query-user>
|
|
65
|
+
</saletab>
|
|
66
|
+
<saletab header="设备查询" v-if="permission('设备查询')">
|
|
67
|
+
<deveice-record :row="row" v-if="show == '设备查询'" @deal-msg="dealMsg"></deveice-record>
|
|
68
|
+
</saletab>
|
|
69
|
+
<saletab header="流量计参数查看" v-if="permission('流量计参数查看')">
|
|
70
|
+
<meter-param :row="row" v-if="show == '流量计参数查看'" @deal-msg="dealMsg"></meter-param>
|
|
71
|
+
</saletab>
|
|
72
|
+
<saletab header="表使用量图表">
|
|
73
|
+
<table-usage-chart :row="row" v-if="show == '表使用量图表'" @deal-msg="dealMsg"></table-usage-chart>
|
|
74
|
+
</saletab>
|
|
75
|
+
</saletabbut>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</template>
|
|
79
|
+
|
|
80
|
+
<script>
|
|
81
|
+
import {HttpResetClass} from 'vue-client'
|
|
82
|
+
// 导入IC卡相关查询界面
|
|
83
|
+
import ChangeMeterQueryUser from '../../../../components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser'
|
|
84
|
+
import ChargeQueryUser from './ic_detail/ChargeQueryUser'
|
|
85
|
+
import ChargeRecordQueryUser from '../../../../components/common/userinfo_detail/ic_detail/ChargeRecordQuery'
|
|
86
|
+
import FillCardQueryUser from '../../../../components/common/userinfo_detail/ic_detail/FillCardQueryUser'
|
|
87
|
+
import HandQueryUser from './ic_detail/HandQueryUser'
|
|
88
|
+
import OtherChargeQueryUser from '../../../../components/common/userinfo_detail/ic_detail/OtherChargeQueryUser'
|
|
89
|
+
import RecordQueryUser from '../../../../components/common/userinfo_detail/ic_detail/RecordQueryUser'
|
|
90
|
+
import TransferQueryUser from '../../../../components/common/userinfo_detail/ic_detail/TransferQueryUser'
|
|
91
|
+
import CardHandRecord from '../../../../components/common/userinfo_detail/ic_detail/CardHandRecord'
|
|
92
|
+
import Repurchase from '../../../../components/common/userinfo_detail/ic_detail/Repurchase'
|
|
93
|
+
import MachineRecordQuery from '../../../../components/common/userinfo_detail/ic_detail/MachineRecordQuery'
|
|
94
|
+
// 导入物联网相关查询
|
|
95
|
+
import QueryInstruct from '../../../../components/common/userinfo_detail/iot_detail/QueryInstruct'
|
|
96
|
+
import QueryHistoryInstruct from '../../../../components/common/userinfo_detail/iot_detail/QueryHistoryInstruct'
|
|
97
|
+
import WatchCollection from '../../../../components/common/userinfo_detail/iot_detail/WatchCollection'
|
|
98
|
+
import WatchWarning from '../../../../components/common/userinfo_detail/iot_detail/WatchWarning'
|
|
99
|
+
import PriceChangeQueryUser from '../../../../components/common/userinfo_detail/ic_detail/PriceChangeQueryUser'
|
|
100
|
+
import ChangeRecord from '../../../../components/common/userinfo_detail/ic_detail/ChangeRecord'
|
|
101
|
+
import PriceAdjustmentQueryUser from '../../../../components/common/userinfo_detail/ic_detail/PriceAdjustmentQueryUser'
|
|
102
|
+
import MeterParam from '../../../../components/common/userinfo_detail/ic_detail/MeterParam'
|
|
103
|
+
import DeveiceRecord from '../../../../components/common/userinfo_detail/ic_detail/DeveiceRecord'
|
|
104
|
+
export default {
|
|
105
|
+
title: '用户详细信息',
|
|
106
|
+
props: ['f_userfiles_id', 'f_userinfo_id','f_userinfo_code'],
|
|
107
|
+
components: {
|
|
108
|
+
PriceAdjustmentQueryUser,
|
|
109
|
+
PriceChangeQueryUser,
|
|
110
|
+
Repurchase,
|
|
111
|
+
ChangeMeterQueryUser,
|
|
112
|
+
ChargeQueryUser,
|
|
113
|
+
ChargeRecordQueryUser,
|
|
114
|
+
FillCardQueryUser,
|
|
115
|
+
HandQueryUser,
|
|
116
|
+
OtherChargeQueryUser,
|
|
117
|
+
RecordQueryUser,
|
|
118
|
+
TransferQueryUser,
|
|
119
|
+
WatchWarning,
|
|
120
|
+
WatchCollection,
|
|
121
|
+
QueryInstruct,
|
|
122
|
+
QueryHistoryInstruct,
|
|
123
|
+
ChangeRecord,
|
|
124
|
+
CardHandRecord,
|
|
125
|
+
MeterParam,
|
|
126
|
+
DeveiceRecord,
|
|
127
|
+
MachineRecordQuery
|
|
128
|
+
},
|
|
129
|
+
data () {
|
|
130
|
+
return {
|
|
131
|
+
row: null,
|
|
132
|
+
name: '自动下账查询',
|
|
133
|
+
show: ''
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
ready () {
|
|
137
|
+
this.search()
|
|
138
|
+
console.log(this.$login)
|
|
139
|
+
},
|
|
140
|
+
methods: {
|
|
141
|
+
permission (name) {
|
|
142
|
+
if (this.$login.r.find(value => value == '收费综合查询')) {
|
|
143
|
+
if (!this.$login.r.find(value => value == name)) {
|
|
144
|
+
return false
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return true
|
|
148
|
+
},
|
|
149
|
+
async search () {
|
|
150
|
+
let http = new HttpResetClass()
|
|
151
|
+
let condition = ' 1 = 1'
|
|
152
|
+
if (this.f_userfiles_id) {
|
|
153
|
+
condition = `f_userfiles_id = '${this.f_userfiles_id}'`
|
|
154
|
+
} else if (this.f_userinfo_id) {
|
|
155
|
+
condition = `f_userinfo_id = '${this.f_userinfo_id}'`
|
|
156
|
+
}else if (this.f_userinfo_code){
|
|
157
|
+
condition = `f_userinfo_code = '${this.f_userinfo_code}'`
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
let getBaseInfo = await http.load('POST', 'rs/sql/iot_getUserBaseData',
|
|
161
|
+
{data: {condition: condition}}, {resolveMsg: null, rejectMsg: '获取基本信息出错'})
|
|
162
|
+
this.row = getBaseInfo.data[0]
|
|
163
|
+
},
|
|
164
|
+
|
|
165
|
+
cancel (val) {
|
|
166
|
+
this.$emit('cancel-main', val)
|
|
167
|
+
},
|
|
168
|
+
|
|
169
|
+
butOper (val) {
|
|
170
|
+
this.name = val
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
watch: {
|
|
174
|
+
'f_userinfo_id' () {
|
|
175
|
+
this.search()
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
</script>
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
<template >
|
|
2
|
+
<div class="flex" style="justify-content: space-between;">
|
|
3
|
+
<div @keyup.enter="search" style="">
|
|
4
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
5
|
+
<criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
|
|
6
|
+
<div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
|
|
7
|
+
<div class="row" width="100%">
|
|
8
|
+
<div class="col-sm-2 form-group">
|
|
9
|
+
<label class="font_normal_body">开始时间</label>
|
|
10
|
+
<datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
|
|
11
|
+
class="datepicker"
|
|
12
|
+
condition="f_operate_date >= '{} 00:00:00' "
|
|
13
|
+
placeholder="起始时间"
|
|
14
|
+
style="width:60%"
|
|
15
|
+
v-model="model.f_start_date"
|
|
16
|
+
></datepicker>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-2 form-group" >
|
|
19
|
+
<label class="font_normal_body" >结束时间</label>
|
|
20
|
+
<datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
|
|
21
|
+
class="datepicker"
|
|
22
|
+
condition="f_operate_date <= '{} 23:59:59' "
|
|
23
|
+
placeholder="结束时间"
|
|
24
|
+
style="width:60%"
|
|
25
|
+
v-model="model.f_end_date"
|
|
26
|
+
></datepicker>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="col-sm-2 form-group">
|
|
29
|
+
<label class="font_normal_body">缴费状态</label>
|
|
30
|
+
<v-select :value.sync="model.f_state" v-model='model.f_state'
|
|
31
|
+
style="width:60%"
|
|
32
|
+
:options='$parent.$parent.jiaofeistates' placeholder='缴费状态'
|
|
33
|
+
close-on-select
|
|
34
|
+
condition="s.f_state = '{}'"></v-select>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div style="float: right">
|
|
38
|
+
<button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
|
|
39
|
+
<print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
|
|
40
|
+
@print-data="$parent.$parent.print()" print-name="购气流水"></print-data>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
</criteria>
|
|
47
|
+
<data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
|
|
48
|
+
<template partial='head'>
|
|
49
|
+
<tr>
|
|
50
|
+
<th><nobr>缴费日期</nobr></th>
|
|
51
|
+
<th><nobr>缴费时间</nobr></th>
|
|
52
|
+
<!-- <th><nobr>表号</nobr></th>-->
|
|
53
|
+
<th><nobr>上期指数</nobr></th>
|
|
54
|
+
<th><nobr>本期指数</nobr></th>
|
|
55
|
+
<th>使用方量</th>
|
|
56
|
+
<th><nobr>扣费单价</nobr></th>
|
|
57
|
+
<th><nobr>扣费金额</nobr></th>
|
|
58
|
+
<th><nobr>表内余额</nobr></th>
|
|
59
|
+
</tr>
|
|
60
|
+
</template>
|
|
61
|
+
<template partial='body' partial='list' v-ref:grid>
|
|
62
|
+
<tr >
|
|
63
|
+
<td style="text-align:center">{{row.f_operate_date.substring(0,10)}}</td>
|
|
64
|
+
<td style="text-align:center">{{row.f_operate_date.substring(11,19)}}</td>
|
|
65
|
+
<td style="text-align:center">{{row.f_last_tablebase}}</td>
|
|
66
|
+
<td style="text-align:center">{{row.f_tablebase}}</td>
|
|
67
|
+
<td style="text-align:center">{{row.f_pregas}}</td>
|
|
68
|
+
<td style="text-align:center">{{row.f_price}}</td>
|
|
69
|
+
<td style="text-align:center">{{row.f_preamount}}</td>
|
|
70
|
+
<td style="text-align:center">{{row.f_meterBalanceAmt}}</td>
|
|
71
|
+
</tr>
|
|
72
|
+
</template>
|
|
73
|
+
<template partial='foot'></template>
|
|
74
|
+
</data-grid>
|
|
75
|
+
</criteria-paged>
|
|
76
|
+
</div>
|
|
77
|
+
<table class="table-hover">
|
|
78
|
+
<tr class="table-bordered" style="position: relative">
|
|
79
|
+
<td
|
|
80
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
|
|
81
|
+
汇总信息
|
|
82
|
+
</td>
|
|
83
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
|
|
84
|
+
气量合计: {{model.sums.f_pregas}}
|
|
85
|
+
</td>
|
|
86
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px">
|
|
87
|
+
金额合计: {{model.sums.f_preamount}}
|
|
88
|
+
</td>
|
|
89
|
+
</tr>
|
|
90
|
+
</table>
|
|
91
|
+
<reissue-bill :data="reissue_data" :show.sync="reissue_show" @cancel="reissueOper()" @reissue-success="reissueSucc()" v-if="reissue_show"></reissue-bill>
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
</template>
|
|
95
|
+
|
|
96
|
+
<script>
|
|
97
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
98
|
+
import co from 'co'
|
|
99
|
+
let reprintGen = function *(self, row) {
|
|
100
|
+
try {
|
|
101
|
+
let reissueData = {}
|
|
102
|
+
reissueData = Object.assign({}, reissueData, row)
|
|
103
|
+
|
|
104
|
+
reissueData.f_bill_type = row.type
|
|
105
|
+
reissueData.f_bill_style = '普通收据'
|
|
106
|
+
reissueData.f_operator = self.$login.f.name
|
|
107
|
+
reissueData.f_operatorid = self.$login.f.id
|
|
108
|
+
reissueData.f_orgid = self.$login.f.orgid
|
|
109
|
+
reissueData.f_orgname = self.$login.f.orgs
|
|
110
|
+
reissueData.f_depid = self.$login.f.depids
|
|
111
|
+
reissueData.f_depname = self.$login.f.deps
|
|
112
|
+
reissueData.billUrl = self.getBillUrl(row.type)
|
|
113
|
+
|
|
114
|
+
self.reissue_data = reissueData
|
|
115
|
+
self.reissue_show = true
|
|
116
|
+
} catch (error) {
|
|
117
|
+
if (error.status) {
|
|
118
|
+
self.$warn(`加载数据出错, ${JSON.stringify(error)}`, 'CardList')
|
|
119
|
+
}
|
|
120
|
+
throw error
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export default {
|
|
124
|
+
title: '自动下账',
|
|
125
|
+
data () {
|
|
126
|
+
return {
|
|
127
|
+
reissue_show: false,
|
|
128
|
+
reissue_data: null,
|
|
129
|
+
condition: '1=1',
|
|
130
|
+
model: new PagedList(`${this.row.f_meter_type === '物联网表'?'rs/sql/sale_WebAutomaticPurse':'rs/sql/sale_AutomaticPurse'}`, 20, {}, {
|
|
131
|
+
f_preamount: 0,
|
|
132
|
+
f_pregas: 0
|
|
133
|
+
}),
|
|
134
|
+
show: false,
|
|
135
|
+
list: [],
|
|
136
|
+
jiaofeistates: this.$appdata.getParam('缴费状态') ? [{
|
|
137
|
+
label: '全部',
|
|
138
|
+
value: ''
|
|
139
|
+
}, ...this.$appdata.getParam('缴费状态')] : [],
|
|
140
|
+
// 控制单选
|
|
141
|
+
radio: [],
|
|
142
|
+
// 选中的页
|
|
143
|
+
all: [],
|
|
144
|
+
// row数据
|
|
145
|
+
rowsdata: [],
|
|
146
|
+
fields: {'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_preamount': '购气金额', 'f_pregas': '购气量', 'f_operate_date,': '缴费时间', 'f_operator': '操作员', 'f_comments': '备注'},
|
|
147
|
+
defaultfield: [
|
|
148
|
+
'f_userinfo_code', 'f_user_name', 'f_preamount', 'f_pregas', 'f_operate_date', 'f_operator', 'f_comments'
|
|
149
|
+
],
|
|
150
|
+
printModel: {
|
|
151
|
+
rows: []
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
props: ['row'],
|
|
156
|
+
ready () {
|
|
157
|
+
this.$refs.paged.$refs.criteria.model.f_state = ['有效']
|
|
158
|
+
},
|
|
159
|
+
methods: {
|
|
160
|
+
async search () {
|
|
161
|
+
console.log('aaa:', this.$refs.paged.$refs.criteria.condition)
|
|
162
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
163
|
+
this.model.search(this.condition, this.model)
|
|
164
|
+
let http = new HttpResetClass()
|
|
165
|
+
let res = await http.load('POST', `${this.row.f_meter_type === '物联网表'?'rs/sql/sale_WebAutomaticPurse':'rs/sql/sale_AutomaticPurse'}`, {
|
|
166
|
+
data: {
|
|
167
|
+
condition: this.condition
|
|
168
|
+
}
|
|
169
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
170
|
+
this.printModel.rows = res.data
|
|
171
|
+
},
|
|
172
|
+
// 多选框初始化
|
|
173
|
+
selectInit () {
|
|
174
|
+
this.rowsdata = []
|
|
175
|
+
this.all = []
|
|
176
|
+
this.radio = []
|
|
177
|
+
},
|
|
178
|
+
reissueSucc () {
|
|
179
|
+
this.reissue_show = false
|
|
180
|
+
this.$dispatch('refresh')
|
|
181
|
+
},
|
|
182
|
+
reissueOper () {
|
|
183
|
+
this.reissue_data = null
|
|
184
|
+
this.reissue_show = false
|
|
185
|
+
},
|
|
186
|
+
getBillUrl (type) {
|
|
187
|
+
let name = ''
|
|
188
|
+
// 根据type数据 选择调用的Logic
|
|
189
|
+
if (type === '机表收费') {
|
|
190
|
+
name = 'rs/report/machine_bill'
|
|
191
|
+
} else if (type === '物联网收费') {
|
|
192
|
+
name = 'rs/report/iot_bill'
|
|
193
|
+
} else if (type === '超用收费') {
|
|
194
|
+
name = 'rs/report/overuse_bill'
|
|
195
|
+
} else if (type === '其他收费') {
|
|
196
|
+
name = 'rs/report/otherCharge_bill'
|
|
197
|
+
} else if (type === '发卡售气') {
|
|
198
|
+
name = 'rs/report/sendCard_bill'
|
|
199
|
+
} else if (type === '卡表收费') {
|
|
200
|
+
name = 'rs/report/card_bill'
|
|
201
|
+
}
|
|
202
|
+
return name
|
|
203
|
+
},
|
|
204
|
+
report (row) {
|
|
205
|
+
let reprint = reprintGen(this, row)
|
|
206
|
+
return co(reprint)
|
|
207
|
+
},
|
|
208
|
+
print () {
|
|
209
|
+
this.selectInit()
|
|
210
|
+
},
|
|
211
|
+
select () {
|
|
212
|
+
let index = this.model.pageIndex - 1
|
|
213
|
+
if (!this.radio[index]) {
|
|
214
|
+
this.radio.$set(index, [])
|
|
215
|
+
}
|
|
216
|
+
if (this.all[index]) {
|
|
217
|
+
// 数据
|
|
218
|
+
this.rowsdata[index] = Object.assign([], this.model.rows)
|
|
219
|
+
// 勾选
|
|
220
|
+
for (var i = 0; i < this.model.rows.length; i++) {
|
|
221
|
+
this.radio[index].$set(i, true)
|
|
222
|
+
}
|
|
223
|
+
} else {
|
|
224
|
+
// 数据
|
|
225
|
+
this.rowsdata[index] = []
|
|
226
|
+
// 不勾选
|
|
227
|
+
for (var i = 0; i < this.model.rows.length; i++) {
|
|
228
|
+
this.radio[index].$set(i, false)
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
let z = 0
|
|
232
|
+
for (let i = 0; i < this.all.length; i++) {
|
|
233
|
+
for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
|
|
234
|
+
this.printModel.rows[z++] = this.rowsdata[i][j]
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
selectOne (event, row, i) {
|
|
239
|
+
let index = this.model.pageIndex - 1
|
|
240
|
+
if (!this.rowsdata[index]) {
|
|
241
|
+
this.rowsdata[index] = []
|
|
242
|
+
}
|
|
243
|
+
if (!this.radio[index]) {
|
|
244
|
+
this.radio.$set(index, [])
|
|
245
|
+
}
|
|
246
|
+
if (event.target.checked) {
|
|
247
|
+
// 数据
|
|
248
|
+
this.rowsdata[index][i] = row
|
|
249
|
+
// 勾选
|
|
250
|
+
this.radio[index].$set(i, true)
|
|
251
|
+
// 判断是否全部选中
|
|
252
|
+
var allState = true
|
|
253
|
+
if (this.model.rows.length != this.radio[index].length) {
|
|
254
|
+
allState = false
|
|
255
|
+
}
|
|
256
|
+
for (var state of this.radio[index]) {
|
|
257
|
+
if (!state) {
|
|
258
|
+
allState = false
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (allState) {
|
|
262
|
+
this.all.$set(index, true)
|
|
263
|
+
} else {
|
|
264
|
+
this.all.$set(index, false)
|
|
265
|
+
}
|
|
266
|
+
} else {
|
|
267
|
+
// 数据
|
|
268
|
+
this.rowsdata[index][i] = []
|
|
269
|
+
// 不勾选
|
|
270
|
+
this.radio[index].$set(i, false)
|
|
271
|
+
// 任意取消一个则全选状态设为false
|
|
272
|
+
this.all.$set(index, false)
|
|
273
|
+
}
|
|
274
|
+
let z = 0
|
|
275
|
+
this.printModel.rows = []
|
|
276
|
+
for (let i = 0; i < this.all.length; i++) {
|
|
277
|
+
for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
|
|
278
|
+
if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
|
|
279
|
+
this.printModel.rows[z++] = this.rowsdata[i][j]
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
computed: {
|
|
286
|
+
ischecked () {
|
|
287
|
+
return function (index, i) {
|
|
288
|
+
if (!this.radio[index]) {
|
|
289
|
+
return false
|
|
290
|
+
}
|
|
291
|
+
return this.radio[index][i]
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
</script>
|
|
297
|
+
|