manage-client 3.2.0 → 3.2.4
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/SellReport/SellBySelfHelp.vue +263 -0
- package/src/components/sale/businessquery/ProceedsOper.vue +80 -40
- package/src/components/sale/config/exportConfig.js +4 -3
- package/src/filiale/WEINAN/EchartsBox.vue +110 -0
- package/src/filiale/WEINAN/SiteManager.vue +191 -0
- package/src/filiale/WEINAN/config/tableConfig.js +6 -7
- package/src/filiale/WEINAN/reportManage.js +12 -0
- package/src/filiale/tongchuan/ReportList.vue +3 -0
- package/src/reportManage.js +4 -0
package/package.json
CHANGED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 100%">
|
|
3
|
+
<criteria-paged :model="model" :pager='false' v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
|
|
5
|
+
<p class="bg-info text-center" style="padding: 8px;">自助结账报表</p>
|
|
6
|
+
<div class="form-group" v-if="!$parent.$parent.data.f_files_path"></div>
|
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-sm-4" >
|
|
10
|
+
<label class="font_normal_body" for="startDate">开始日期:</label>
|
|
11
|
+
<datepicker id="startDate" placeholder="开始日期" style="width: 60%"
|
|
12
|
+
v-model="model.startDate"
|
|
13
|
+
:value.sync="model.startDate"
|
|
14
|
+
:disabled-days-of-Week="[]"
|
|
15
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
16
|
+
:show-reset-button="reset">
|
|
17
|
+
</datepicker>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-sm-4" >
|
|
20
|
+
<label class="font_normal_body" for="endDate">结束日期:</label>
|
|
21
|
+
<datepicker id="endDate" placeholder="结束日期" style="width: 60%"
|
|
22
|
+
v-model="model.endDate"
|
|
23
|
+
:value.sync="model.endDate"
|
|
24
|
+
:disabled-days-of-Week="[]"
|
|
25
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
26
|
+
:show-reset-button="reset">
|
|
27
|
+
</datepicker>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-sm-4">
|
|
30
|
+
<label class="font_normal_body"> 公司 </label>
|
|
31
|
+
<right-tree @re-res="$parent.$parent.getRes"></right-tree>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="col-sm-4">
|
|
34
|
+
<label class="font_normal_body"> 部门 </label>
|
|
35
|
+
<res-select restype='department'
|
|
36
|
+
@res-select="$parent.$parent.getdep"
|
|
37
|
+
:parentresid="$parent.$parent.depresid"
|
|
38
|
+
:initresid='$parent.$parent.depid'>
|
|
39
|
+
</res-select>
|
|
40
|
+
|
|
41
|
+
</div>
|
|
42
|
+
<div class="col-sm-4">
|
|
43
|
+
<label class="font_normal_body"> 人员 </label>
|
|
44
|
+
<res-select restype='user'
|
|
45
|
+
@res-select="$parent.$parent.getuser"
|
|
46
|
+
:parentresid="$parent.$parent.userresid"
|
|
47
|
+
:initresid='$parent.$parent.operatorid'>
|
|
48
|
+
</res-select>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="span" style = "float:right;">
|
|
52
|
+
<button class="button_search" @click="$parent.$parent.searchData()">查询</button>
|
|
53
|
+
<report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
|
|
54
|
+
<report-excel id='gasprice'></report-excel>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</criteria>
|
|
58
|
+
<div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
|
|
59
|
+
<table class='tableprint' style="margin: 0px auto">
|
|
60
|
+
<thead>
|
|
61
|
+
<tr>
|
|
62
|
+
<th colspan='17' style="font-weight: normal; text-align: left;">
|
|
63
|
+
<h3 style="text-align: center">自助结账报表</h3>
|
|
64
|
+
</th>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<th colspan='17' style="font-weight: normal; text-align: center;">
|
|
68
|
+
开始时间:{{model.model.startDate}}
|
|
69
|
+
结束时间:{{ model.model.endDate }}
|
|
70
|
+
</th>
|
|
71
|
+
</tr>
|
|
72
|
+
<tr>
|
|
73
|
+
<th colspan='17' style="font-weight: normal; text-align: center;">
|
|
74
|
+
<div>
|
|
75
|
+
<span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
|
|
76
|
+
<span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
|
|
77
|
+
</div>
|
|
78
|
+
</th>
|
|
79
|
+
</tr>
|
|
80
|
+
</thead>
|
|
81
|
+
<tr>
|
|
82
|
+
<td colspan='17'>
|
|
83
|
+
{{{ model.data.substring(26,model.data.length-8) }}}
|
|
84
|
+
</td>
|
|
85
|
+
</tr>
|
|
86
|
+
</table>
|
|
87
|
+
{{{ $parent.reportStr}}}
|
|
88
|
+
</div>
|
|
89
|
+
</criteria-paged>
|
|
90
|
+
<modal :show.sync="show" v-ref:modal small backdrop="false">
|
|
91
|
+
<header slot="modal-header" class="modal-header">
|
|
92
|
+
<h4 class="modal-title">输入文件名称</h4>
|
|
93
|
+
</header>
|
|
94
|
+
<article slot="modal-body" class="modal-body">
|
|
95
|
+
<div class="form-group">
|
|
96
|
+
<input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
|
|
97
|
+
</div>
|
|
98
|
+
</article>
|
|
99
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
100
|
+
<button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
101
|
+
<button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
|
|
102
|
+
</footer>
|
|
103
|
+
</modal>
|
|
104
|
+
</div>
|
|
105
|
+
</template>
|
|
106
|
+
|
|
107
|
+
<script>
|
|
108
|
+
import { DataModel } from 'vue-client'
|
|
109
|
+
import co from 'co'
|
|
110
|
+
let saveFile = function * (self) {
|
|
111
|
+
// 线验证文件是否重名
|
|
112
|
+
let count = yield self.$resetpost('rs/sql/manageSingleTable',
|
|
113
|
+
{data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
|
|
114
|
+
{resolveMsg: null, rejectMsg: null})
|
|
115
|
+
if (count.data.length > 0) {
|
|
116
|
+
self.$showAlert('无法保存,文件名重名', 'warning', 3000)
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
|
|
120
|
+
f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
|
|
121
|
+
f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
|
|
122
|
+
f_outlets: this.$login.f.depname})
|
|
123
|
+
if (saveBack.data.status === 'succeed') {
|
|
124
|
+
self.show = false
|
|
125
|
+
self.filename = ''
|
|
126
|
+
// 后台保存完成,通知刷新
|
|
127
|
+
self.$dispatch('save-success', self.filename)
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export default {
|
|
131
|
+
title: '结账报表',
|
|
132
|
+
props: ['data'],
|
|
133
|
+
data () {
|
|
134
|
+
return {
|
|
135
|
+
printTime: this.$login.toStandardTimeString(),
|
|
136
|
+
depresid: [],
|
|
137
|
+
userresid: [],
|
|
138
|
+
f_orgid: this.$login.f.orgid,
|
|
139
|
+
f_depid: this.$login.f.depids,
|
|
140
|
+
f_operatorid: this.$login.f.id,
|
|
141
|
+
operatorid: [],
|
|
142
|
+
depid: [],
|
|
143
|
+
orgname: '',
|
|
144
|
+
depname: '',
|
|
145
|
+
qishiDate:'',
|
|
146
|
+
jieshuDate:'',
|
|
147
|
+
startDate:'',
|
|
148
|
+
endDate:'',
|
|
149
|
+
operatorname: '',
|
|
150
|
+
f_inputtor:[],
|
|
151
|
+
f_user_type:'',
|
|
152
|
+
orgCondtionStr: '1=1',
|
|
153
|
+
model: new DataModel('rs/report/sellBySelfHelp',
|
|
154
|
+
{startDate: 'this.model.startDate',
|
|
155
|
+
endDate: 'this.model.endDate',
|
|
156
|
+
f_orgid: 'this.model.f_orgid',
|
|
157
|
+
depname:'this.model.depname',
|
|
158
|
+
operatorname:'this.model.operatorname',
|
|
159
|
+
qishiDate:'this.model.startDate.substring(0,10)',
|
|
160
|
+
jieshuDate:'this.model.endDate.substring(0,10)'
|
|
161
|
+
},
|
|
162
|
+
),
|
|
163
|
+
|
|
164
|
+
reportStr: null,
|
|
165
|
+
show: false
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
ready () {
|
|
169
|
+
this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
|
|
170
|
+
this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
171
|
+
this.$refs.paged.$refs.criteria.search()
|
|
172
|
+
console.log(this.$login.f)
|
|
173
|
+
},
|
|
174
|
+
|
|
175
|
+
methods: {
|
|
176
|
+
|
|
177
|
+
searchData () {
|
|
178
|
+
this.$refs.paged.$refs.criteria.search()
|
|
179
|
+
},
|
|
180
|
+
selfSearch (args) {
|
|
181
|
+
this.printTime = this.$login.toStandardTimeString()
|
|
182
|
+
let orgcondition = '1 = 1'
|
|
183
|
+
if (this.f_orgid[0]){
|
|
184
|
+
orgcondition += ' and f_orgid in ( ' + this.f_orgid + ')'
|
|
185
|
+
}
|
|
186
|
+
if (this.f_depid[0]) {
|
|
187
|
+
orgcondition += ' and f_depid in ( ' + this.f_depid + ')'
|
|
188
|
+
}
|
|
189
|
+
if(this.f_operatorid[0]) {
|
|
190
|
+
orgcondition += ' and f_operatorid in ( ' + this.f_operatorid + ')'
|
|
191
|
+
}
|
|
192
|
+
if(this.depname){
|
|
193
|
+
this.$refs.paged.$refs.criteria.model.depname = this.depname
|
|
194
|
+
}else{
|
|
195
|
+
this.$refs.paged.$refs.criteria.model.depname = '无'
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if(this.operatorname){
|
|
199
|
+
this.$refs.paged.$refs.criteria.model.operatorname = this.operatorname
|
|
200
|
+
}else{
|
|
201
|
+
this.$refs.paged.$refs.criteria.model.operatorname = '无'
|
|
202
|
+
}
|
|
203
|
+
this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
|
|
204
|
+
this.$refs.paged.search(args)
|
|
205
|
+
},
|
|
206
|
+
getRes (obj) {
|
|
207
|
+
this.orgname = obj.res[0]
|
|
208
|
+
this.depresid = obj.resids
|
|
209
|
+
this.f_orgid = obj.resids
|
|
210
|
+
},
|
|
211
|
+
getdep (obj, val) {
|
|
212
|
+
this.depname = val[0]
|
|
213
|
+
this.userresid = obj
|
|
214
|
+
this.f_depid = obj
|
|
215
|
+
},
|
|
216
|
+
getuser ( obj, val) {
|
|
217
|
+
this.operatorname = val[0]
|
|
218
|
+
this.f_operatorid = obj
|
|
219
|
+
},
|
|
220
|
+
// 根据文件路径获取储存的报表内容
|
|
221
|
+
getFileContent (path) {
|
|
222
|
+
this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
223
|
+
this.reportStr = res.data.filecontent
|
|
224
|
+
this.model.state = '正确'
|
|
225
|
+
})
|
|
226
|
+
},
|
|
227
|
+
confirm () {
|
|
228
|
+
if (!this.filename || this.filename === '') {
|
|
229
|
+
this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
|
|
230
|
+
}
|
|
231
|
+
let saveGen = saveFile(this)
|
|
232
|
+
co(saveGen)
|
|
233
|
+
},
|
|
234
|
+
close () {
|
|
235
|
+
this.show = false
|
|
236
|
+
},
|
|
237
|
+
// 将报表保存成文件
|
|
238
|
+
confirmReport () {
|
|
239
|
+
this.show = true
|
|
240
|
+
this.filename = this.data.f_report_name + this.$login.toStandardDateString()
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
watch: {
|
|
244
|
+
'data' (val) {
|
|
245
|
+
if (val.f_files_path) {
|
|
246
|
+
this.getFileContent(val.f_files_path)
|
|
247
|
+
} else {
|
|
248
|
+
this.reportStr = null
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
computed: {
|
|
253
|
+
usertypes() {
|
|
254
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
</script>
|
|
259
|
+
<style scoped>
|
|
260
|
+
.noborder{
|
|
261
|
+
border: none;
|
|
262
|
+
}
|
|
263
|
+
</style>
|
|
@@ -6,33 +6,6 @@
|
|
|
6
6
|
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
7
7
|
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
8
8
|
<div class="row">
|
|
9
|
-
<res-select-group :initres="$parent.$parent.initres"
|
|
10
|
-
@re-res="$parent.$parent.getRes"
|
|
11
|
-
:show-component="['company','department','operator']"
|
|
12
|
-
v-ref:sel></res-select-group>
|
|
13
|
-
|
|
14
|
-
<div class="span" style="float:right;">
|
|
15
|
-
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
16
|
-
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
17
|
-
|
|
18
|
-
<export-excel :data="$parent.$parent.getCondition"
|
|
19
|
-
:field="$parent.$parent.getfield"
|
|
20
|
-
:footer="$parent.$parent.footer"
|
|
21
|
-
:header="$parent.$parent.other"
|
|
22
|
-
sqlurl="rs/logic/exportfile"
|
|
23
|
-
sql-name="OpertoerCollection"
|
|
24
|
-
template-name='操作员日结列表'
|
|
25
|
-
:choose-col="true"></export-excel>
|
|
26
|
-
<print-data :model="$parent.model"
|
|
27
|
-
:field="$parent.$parent.getfield"
|
|
28
|
-
:sum-field="$parent.$parent.getfield"
|
|
29
|
-
titletable="操作员日结列表"
|
|
30
|
-
:sumsmodel="$parent.$parent.sumsmodel"></print-data>
|
|
31
|
-
<div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
36
9
|
<div class="col-sm-2 form-group">
|
|
37
10
|
<label for="startDate" class="font_normal_body">开始日期</label>
|
|
38
11
|
<datepicker id="startDate" placeholder="开始日期" style="width:60%"
|
|
@@ -59,7 +32,34 @@
|
|
|
59
32
|
condition="f_payment in {}"
|
|
60
33
|
close-on-select></v-select>
|
|
61
34
|
</div>
|
|
35
|
+
<res-select-group :initres="$parent.$parent.initres"
|
|
36
|
+
@re-res="$parent.$parent.getRes"
|
|
37
|
+
:show-component="['company','operator']"
|
|
38
|
+
v-ref:sel></res-select-group>
|
|
39
|
+
<div class="span" style="float:right;">
|
|
40
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
41
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
42
|
+
|
|
43
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
44
|
+
:field="$parent.$parent.getfield"
|
|
45
|
+
:footer="$parent.$parent.footer"
|
|
46
|
+
:header="$parent.$parent.other"
|
|
47
|
+
sqlurl="rs/logic/exportfile"
|
|
48
|
+
sql-name="OpertoerCollection"
|
|
49
|
+
template-name='操作员日结列表'
|
|
50
|
+
:choose-col="true"></export-excel>
|
|
51
|
+
<print-data :model="$parent.model"
|
|
52
|
+
:field="$parent.$parent.getfield"
|
|
53
|
+
:sum-field="$parent.$parent.getfield"
|
|
54
|
+
titletable="操作员日结列表"
|
|
55
|
+
:sumsmodel="$parent.$parent.sumsmodel"></print-data>
|
|
56
|
+
<!-- <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>-->
|
|
57
|
+
</div>
|
|
62
58
|
</div>
|
|
59
|
+
|
|
60
|
+
<!-- <div class="row" v-show="$parent.$parent.criteriaShow">-->
|
|
61
|
+
|
|
62
|
+
<!-- </div>-->
|
|
63
63
|
</div>
|
|
64
64
|
</criteria>
|
|
65
65
|
|
|
@@ -78,9 +78,6 @@
|
|
|
78
78
|
<th>
|
|
79
79
|
<nobr>售气金额</nobr>
|
|
80
80
|
</th>
|
|
81
|
-
<th>
|
|
82
|
-
<nobr>维护费</nobr>
|
|
83
|
-
</th>
|
|
84
81
|
<th>
|
|
85
82
|
<nobr>上期结余</nobr>
|
|
86
83
|
</th>
|
|
@@ -90,6 +87,18 @@
|
|
|
90
87
|
<th>
|
|
91
88
|
<nobr>气费滞纳金</nobr>
|
|
92
89
|
</th>
|
|
90
|
+
<th>
|
|
91
|
+
<nobr>退费</nobr>
|
|
92
|
+
</th>
|
|
93
|
+
<th>
|
|
94
|
+
<nobr>冲正气量</nobr>
|
|
95
|
+
</th>
|
|
96
|
+
<th>
|
|
97
|
+
<nobr>冲正金额</nobr>
|
|
98
|
+
</th>
|
|
99
|
+
<th>
|
|
100
|
+
<nobr>冲正滞纳金</nobr>
|
|
101
|
+
</th>
|
|
93
102
|
<th>
|
|
94
103
|
<nobr>发卡数</nobr>
|
|
95
104
|
</th>
|
|
@@ -97,7 +106,10 @@
|
|
|
97
106
|
<nobr>发卡费</nobr>
|
|
98
107
|
</th>
|
|
99
108
|
<th>
|
|
100
|
-
<nobr
|
|
109
|
+
<nobr>其他数</nobr>
|
|
110
|
+
</th>
|
|
111
|
+
<th>
|
|
112
|
+
<nobr>其他费</nobr>
|
|
101
113
|
</th>
|
|
102
114
|
<th>
|
|
103
115
|
<nobr>补卡数</nobr>
|
|
@@ -106,7 +118,7 @@
|
|
|
106
118
|
<nobr>补卡费</nobr>
|
|
107
119
|
</th>
|
|
108
120
|
<th>
|
|
109
|
-
<nobr
|
|
121
|
+
<nobr>实收金额</nobr>
|
|
110
122
|
</th>
|
|
111
123
|
</tr>
|
|
112
124
|
</template>
|
|
@@ -115,16 +127,20 @@
|
|
|
115
127
|
<td style="text-align: center;">{{row.c}}</td>
|
|
116
128
|
<td style="text-align: center;">{{row.f_pregas}}</td>
|
|
117
129
|
<th style="text-align: center;">{{row.f_preamount}}</th>
|
|
118
|
-
<th style="text-align: center;">{{row.f_wmoney}}</th>
|
|
119
130
|
<th style="text-align: center;">{{row.f_balance}}</th>
|
|
120
131
|
<th style="text-align: center;">{{row.f_curbalance}}</th>
|
|
121
132
|
<th style="text-align: center;">{{row.f_delaypay}}</th>
|
|
133
|
+
<th style="text-align: center;">{{row.f_returnfee}}</th>
|
|
134
|
+
<th style="text-align: center;">{{row.f_czpregas}}</th>
|
|
135
|
+
<th style="text-align: center;">{{row.f_czpreamount}}</th>
|
|
136
|
+
<th style="text-align: center;">{{row.f_czdelaypay}}</th>
|
|
122
137
|
<th style="text-align: center;">{{row.fkcardnum}}</th>
|
|
123
138
|
<th style="text-align: center;">{{row.f_fkcardfees}}</th>
|
|
139
|
+
<th style="text-align: center;">{{row.gc}}</th>
|
|
124
140
|
<th style="text-align: center;">{{row.f_gmoney}}</th>
|
|
125
141
|
<th style="text-align: center;">{{row.cardnum}}</th>
|
|
126
142
|
<th style="text-align: center;">{{row.f_cardfees}}</th>
|
|
127
|
-
<th style="text-align: center;">{{row.
|
|
143
|
+
<th style="text-align: center;">{{row.f_collection}}</th>
|
|
128
144
|
</template>
|
|
129
145
|
</data-grid>
|
|
130
146
|
</criteria-paged>
|
|
@@ -144,22 +160,40 @@
|
|
|
144
160
|
售气金额合计: {{sumsmodel.f_preamount}}
|
|
145
161
|
</td>
|
|
146
162
|
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
147
|
-
|
|
163
|
+
气费滞纳金合计: {{sumsmodel.f_delaypay}}
|
|
148
164
|
</td>
|
|
149
165
|
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
150
|
-
|
|
166
|
+
退费合计: {{sumsmodel.f_returnfee}}
|
|
167
|
+
</td>
|
|
168
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
169
|
+
冲正气量合计: {{sumsmodel.f_czpregas}}
|
|
170
|
+
</td>
|
|
171
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
172
|
+
冲正金额合计: {{sumsmodel.f_czpreamount}}
|
|
173
|
+
</td>
|
|
174
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
175
|
+
冲正滞纳金合计: {{sumsmodel.f_czdelaypay}}
|
|
176
|
+
</td>
|
|
177
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
178
|
+
发卡数合计: {{sumsmodel.fkcardnum}}
|
|
151
179
|
</td>
|
|
152
180
|
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
153
181
|
发卡费合计: {{sumsmodel.f_fkcardfees}}
|
|
154
182
|
</td>
|
|
155
183
|
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
156
|
-
|
|
184
|
+
其他数合计: {{sumsmodel.gc}}
|
|
185
|
+
</td>
|
|
186
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
187
|
+
其他费合计: {{sumsmodel.f_gmoney}}
|
|
188
|
+
</td>
|
|
189
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
190
|
+
补卡数合计: {{sumsmodel.cardnum}}
|
|
157
191
|
</td>
|
|
158
192
|
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
159
193
|
补卡费合计: {{sumsmodel.f_cardfees}}
|
|
160
194
|
</td>
|
|
161
195
|
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
162
|
-
|
|
196
|
+
实收金额合计: {{sumsmodel.f_collection}}
|
|
163
197
|
</td>
|
|
164
198
|
</tr>
|
|
165
199
|
</table>
|
|
@@ -204,12 +238,18 @@
|
|
|
204
238
|
c: 0,
|
|
205
239
|
f_pregas: 0,
|
|
206
240
|
f_preamount: 0,
|
|
207
|
-
f_wmoney: 0,
|
|
208
241
|
f_delaypay: 0,
|
|
242
|
+
f_returnfee: 0,
|
|
243
|
+
f_czpregas: 0,
|
|
244
|
+
f_czpreamount: 0,
|
|
245
|
+
f_czdelaypay: 0,
|
|
246
|
+
fkcardnum: 0,
|
|
209
247
|
f_fkcardfees: 0,
|
|
248
|
+
gc: 0,
|
|
210
249
|
f_gmoney: 0,
|
|
250
|
+
cardnum: 0,
|
|
211
251
|
f_cardfees: 0,
|
|
212
|
-
|
|
252
|
+
f_collection: 0
|
|
213
253
|
}),
|
|
214
254
|
orgCondtionStr: '',
|
|
215
255
|
|
|
@@ -115,9 +115,10 @@ export default{
|
|
|
115
115
|
|
|
116
116
|
ProceedsOperConfig: {
|
|
117
117
|
'f_operate_date': '日期', 'c': '售气笔数', 'f_pregas': '售气气量', 'f_preamount': '售气金额',
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'
|
|
118
|
+
'f_balance': '上期结余', 'f_curbalance': '本期结余', 'f_delaypay': '气费滞纳金',
|
|
119
|
+
'f_returnfee': '退费','f_czpregas': '冲正气量','f_czpreamount': '冲正金额','f_czdelaypay': '冲正滞纳金',
|
|
120
|
+
'fkcardnum': '发卡数', 'f_fkcardfees': '发卡费', 'gc': '其他数','f_gmoney': '其他费', 'cardnum': '补卡数',
|
|
121
|
+
'f_cardfees': '补卡费', 'f_collection': '实收金额'
|
|
121
122
|
},
|
|
122
123
|
|
|
123
124
|
arrearsConfig: {
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<template lang="html">
|
|
2
|
+
<div :class="classname" v-if="jurisdiction.includes('首页')" :style="{width:width,height:height}">
|
|
3
|
+
<div class="form-horizontal select-overspread container-fluid auto">
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-sm-3 form-group">
|
|
6
|
+
<label class="font_normal_body" for="startDate">开始日期:</label>
|
|
7
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
8
|
+
style="width:60%"
|
|
9
|
+
v-model="model.startDate"
|
|
10
|
+
:value.sync="model.startDate"
|
|
11
|
+
:disabled-days-of-Week="[]"
|
|
12
|
+
class="datepicker"
|
|
13
|
+
:format="'yyyy-MM-dd'"
|
|
14
|
+
:show-reset-button="reset">
|
|
15
|
+
</datepicker>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="col-sm-3 form-group">
|
|
18
|
+
<label class="font_normal_body" for="endDate">结束日期:</label>
|
|
19
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
20
|
+
style="width:60%"
|
|
21
|
+
class="datepicker"
|
|
22
|
+
v-model="model.endDate"
|
|
23
|
+
:value.sync="model.endDate"
|
|
24
|
+
:disabled-days-of-Week="[]"
|
|
25
|
+
:format="'yyyy-MM-dd'"
|
|
26
|
+
:show-reset-button="reset">
|
|
27
|
+
</datepicker>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-sm-3 form-group">
|
|
30
|
+
<label class="font_normal_body" for="endDate">使用公司:</label>
|
|
31
|
+
<res-select restype='organization'
|
|
32
|
+
@res-select="getRes"
|
|
33
|
+
:initresid="model.id">
|
|
34
|
+
</res-select>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div style="height: 97%;">
|
|
39
|
+
<div class="flex-row" style="flex: 1;border-bottom: 1px dashed #888;height: 48%">
|
|
40
|
+
<div style="flex: 1;border-right: 1px dashed #888;width: 50%">
|
|
41
|
+
<site-manager :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]'
|
|
42
|
+
v-ref:pay></site-manager>
|
|
43
|
+
</div>
|
|
44
|
+
<div style="flex: 1;width: 50%">
|
|
45
|
+
<bank-manager :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]'
|
|
46
|
+
v-ref:pay></bank-manager>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="flex-row" style="flex: 1;height: 48%">
|
|
50
|
+
|
|
51
|
+
<div class="flex-row" style="flex: 1;width: 50%;border-right: 1px dashed #888;">
|
|
52
|
+
<div style="flex: 1;">
|
|
53
|
+
<paymentpie :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]' v-ref:pay ></paymentpie>
|
|
54
|
+
</div>
|
|
55
|
+
<!-- <div style="flex: 1;">-->
|
|
56
|
+
<!-- <usertype-pie :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]' v-ref:pay ></usertype-pie>-->
|
|
57
|
+
<!-- </div>-->
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<div style="flex: 1;width: 50%">
|
|
61
|
+
<bussiness-type :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]' v-ref:pay ></bussiness-type>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
</template>
|
|
68
|
+
|
|
69
|
+
<script>
|
|
70
|
+
import * as Util from '../../Util'
|
|
71
|
+
|
|
72
|
+
export default {
|
|
73
|
+
props: {
|
|
74
|
+
classname: {
|
|
75
|
+
type: String,
|
|
76
|
+
default: 'basic-main'
|
|
77
|
+
},
|
|
78
|
+
width: {
|
|
79
|
+
type: String,
|
|
80
|
+
default: '98.5%'
|
|
81
|
+
},
|
|
82
|
+
height: {
|
|
83
|
+
type: String,
|
|
84
|
+
default: '98%'
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
data() {
|
|
88
|
+
return {
|
|
89
|
+
jurisdiction: this.$login.r,
|
|
90
|
+
model: {
|
|
91
|
+
id: [this.$login.f.orgid],
|
|
92
|
+
orgid: [this.$login.f.orgid],
|
|
93
|
+
startDate: Util.toStandardDateString(),
|
|
94
|
+
endDate: Util.toStandardDateString()
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
methods: {
|
|
99
|
+
searchdata() {
|
|
100
|
+
this.$refs.pay.searchdata()
|
|
101
|
+
},
|
|
102
|
+
getRes(obj) {
|
|
103
|
+
this.model.orgid = obj
|
|
104
|
+
},
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
</script>
|
|
108
|
+
|
|
109
|
+
<style lang="css">
|
|
110
|
+
</style>
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
<template lang="html">
|
|
2
|
+
<div id="charts">
|
|
3
|
+
<div id="gph" :style="{width:'100%',height:'100%'}"></div>
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
import * as Util from '../../Util'
|
|
9
|
+
import co from 'co'
|
|
10
|
+
import echarts from 'echarts'
|
|
11
|
+
import {HttpResetClass } from 'vue-client'
|
|
12
|
+
|
|
13
|
+
let getData = function * (self) {
|
|
14
|
+
let load = new HttpResetClass()
|
|
15
|
+
load.load('POST','rs/sql/getPregas',
|
|
16
|
+
{data: {startDate: self.startdate + ' 00:00:00', endDate: self.enddate + ' 23:59:59',f_orgid: `f_orgid = ${self.orgid}`}},
|
|
17
|
+
{resolveMsg: null, rejectMsg: null})
|
|
18
|
+
.then((res) => {
|
|
19
|
+
let data = res.data
|
|
20
|
+
// let xPro = Array.from(new Set(res.data.map(x => x.f_gasproperties)))
|
|
21
|
+
// 表型
|
|
22
|
+
let xPro = data.map(x => x.f_meter_type)
|
|
23
|
+
// 居民用气
|
|
24
|
+
let yNumJM = data.map(x => x.f_ptpregas)
|
|
25
|
+
let yNumBGL = data.map(x => x.f_bglpregas)
|
|
26
|
+
let yNumJZCN = data.map(x => x.f_cnpregas)
|
|
27
|
+
let yNumGF = data.map(x => x.f_gfpregas)
|
|
28
|
+
let yNumFJM = data.map(x => x.f_fjmpregas)
|
|
29
|
+
// xPro.forEach(item => {
|
|
30
|
+
// yNumJB[yNumJB.length] = data.filter(x => x.f_gasproperties === item && x.f_meter_type === '机表').map(x => x.f_pregas).reduce((x, y) => x + y, 0)
|
|
31
|
+
// yNumKB[yNumKB.length] = data.filter(x => x.f_gasproperties === item && x.f_meter_type === '卡表').map(x => x.f_pregas).reduce((x, y) => x + y, 0)
|
|
32
|
+
// yNumWLWB[yNumWLWB.length] = data.filter(x => x.f_gasproperties === item && x.f_meter_type === '物联网表').map(x => x.f_pregas).reduce((x, y) => x + y, 0)
|
|
33
|
+
// })
|
|
34
|
+
console.log('表型', xPro)
|
|
35
|
+
console.log('居民用气', yNumJM)
|
|
36
|
+
console.log('壁挂炉用气', yNumBGL)
|
|
37
|
+
console.log('集中采暖', yNumJZCN)
|
|
38
|
+
console.log('公福用气', yNumGF)
|
|
39
|
+
console.log('非居民用气', yNumFJM)
|
|
40
|
+
// self.texttile = '用户类型'
|
|
41
|
+
// let arrparams = []
|
|
42
|
+
// let numdata = []
|
|
43
|
+
// let gasdata = []
|
|
44
|
+
// let pricedata = []
|
|
45
|
+
// for (var i = 0; i < res.data.length; i++) {
|
|
46
|
+
// arrparams[i] = res.data[i].name
|
|
47
|
+
// numdata[i] = res.data[i].num_value
|
|
48
|
+
// gasdata[i] = res.data[i].gas_value
|
|
49
|
+
// pricedata[i] = res.data[i].money_value
|
|
50
|
+
// }
|
|
51
|
+
self.set(xPro,yNumJM,yNumBGL,yNumJZCN,yNumGF,yNumFJM)
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
export default {
|
|
55
|
+
props: {
|
|
56
|
+
startdate: {
|
|
57
|
+
type: String,
|
|
58
|
+
default: Util.toStandardDateString()
|
|
59
|
+
},
|
|
60
|
+
enddate: {
|
|
61
|
+
type: String,
|
|
62
|
+
default: Util.toStandardDateString()
|
|
63
|
+
},
|
|
64
|
+
orgid: {
|
|
65
|
+
type: String
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
data () {
|
|
69
|
+
title: '用户购(用)气'
|
|
70
|
+
return {
|
|
71
|
+
texttile: '',
|
|
72
|
+
xc: ''
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
methods: {
|
|
76
|
+
set (arrparams,yNumJM,yNumBGL,yNumJZCN,yNumGF,yNumFJM) {
|
|
77
|
+
this.xc = echarts.init(document.getElementById('gph'))
|
|
78
|
+
this.xc.setOption({
|
|
79
|
+
title : {
|
|
80
|
+
text: '用户购(用)气',
|
|
81
|
+
subtext: '数据查询来源',
|
|
82
|
+
x: 'left'
|
|
83
|
+
},
|
|
84
|
+
tooltip : {
|
|
85
|
+
trigger: 'axis'
|
|
86
|
+
},
|
|
87
|
+
legend: {
|
|
88
|
+
x: 'left',
|
|
89
|
+
y: 'bottom',
|
|
90
|
+
data: ['居民用气','壁挂炉用气','集中采暖','公福用气','非居民用气']
|
|
91
|
+
},
|
|
92
|
+
toolbox: {
|
|
93
|
+
show : true,
|
|
94
|
+
feature : {
|
|
95
|
+
dataView : {show: true, readOnly: false},
|
|
96
|
+
magicType : {show: true, type: ['line', 'bar']},
|
|
97
|
+
restore : {show: true},
|
|
98
|
+
saveAsImage : {show: true}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
calculable : true,
|
|
102
|
+
xAxis : [
|
|
103
|
+
{
|
|
104
|
+
type : 'category',
|
|
105
|
+
axisLabel :{
|
|
106
|
+
interval:0
|
|
107
|
+
},
|
|
108
|
+
data : arrparams
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
yAxis : [
|
|
112
|
+
{
|
|
113
|
+
type : 'value'
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
series : [
|
|
117
|
+
{
|
|
118
|
+
name:'居民用气',
|
|
119
|
+
type:'bar',
|
|
120
|
+
data:yNumJM,
|
|
121
|
+
markLine : {
|
|
122
|
+
data : [
|
|
123
|
+
{type : 'average', name: '平均值'}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name:'壁挂炉用气',
|
|
129
|
+
type:'bar',
|
|
130
|
+
data:yNumBGL,
|
|
131
|
+
markLine : {
|
|
132
|
+
data : [
|
|
133
|
+
{type : 'average', name: '平均值'}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name:'集中采暖',
|
|
139
|
+
type:'bar',
|
|
140
|
+
data:yNumJZCN,
|
|
141
|
+
markLine : {
|
|
142
|
+
data : [
|
|
143
|
+
{type : 'average', name : '平均值'}
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name:'公福用气',
|
|
149
|
+
type:'bar',
|
|
150
|
+
data:yNumGF,
|
|
151
|
+
markLine : {
|
|
152
|
+
data : [
|
|
153
|
+
{type : 'average', name : '平均值'}
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name:'非居民用气',
|
|
159
|
+
type:'bar',
|
|
160
|
+
data:yNumFJM,
|
|
161
|
+
markLine : {
|
|
162
|
+
data : [
|
|
163
|
+
{type : 'average', name : '平均值'}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
})
|
|
169
|
+
},
|
|
170
|
+
searchdata () {
|
|
171
|
+
let getGen =getData(this)
|
|
172
|
+
co(getGen)
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
ready () {
|
|
176
|
+
this.searchdata()
|
|
177
|
+
},
|
|
178
|
+
watch: {
|
|
179
|
+
'startdate' (val) {
|
|
180
|
+
this.searchdata()
|
|
181
|
+
},
|
|
182
|
+
'enddate' (val) {
|
|
183
|
+
this.searchdata()
|
|
184
|
+
},
|
|
185
|
+
'orgid' (val) {
|
|
186
|
+
this.searchdata()
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
}
|
|
191
|
+
</script>
|
|
@@ -4,16 +4,15 @@ export default{
|
|
|
4
4
|
{
|
|
5
5
|
"用户编号":"f_userinfo_code",
|
|
6
6
|
"用户名称":"f_user_name",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"本次抄表底数":"f_tablebase",
|
|
7
|
+
"气表品牌":"f_meter_brand",
|
|
8
|
+
"气表编号":"f_meternumber",
|
|
10
9
|
"上次抄表底数":"f_last_tablebase",
|
|
10
|
+
"本次抄表底数":"f_tablebase",
|
|
11
11
|
"用气量":"f_oughtamount",
|
|
12
|
-
"单价":"f_price",
|
|
13
|
-
"用气金额":"f_oughtfee",
|
|
14
12
|
"表内剩余余额":"f_jval",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
13
|
+
"抄表日期":"f_insert_date",
|
|
14
|
+
"上次抄表日期":"f_last_insertdate",
|
|
15
|
+
"阀门开启状态":"f_valvestate"
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
}
|
|
@@ -306,10 +306,13 @@
|
|
|
306
306
|
let brandArr = []
|
|
307
307
|
this.$MagGetSaleParam.getGasbrand().forEach((item) => {
|
|
308
308
|
let temp = {}
|
|
309
|
+
if(item.value.f_meter_type==='物联网表'){
|
|
309
310
|
temp.label = item.label
|
|
310
311
|
temp.value = item.value.f_meter_brand
|
|
311
312
|
brandArr.push(temp)
|
|
313
|
+
}
|
|
312
314
|
})
|
|
315
|
+
|
|
313
316
|
this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
|
|
314
317
|
//初始化气表价格
|
|
315
318
|
this.prices = this.$MagGetSaleParam.getPrices();
|
package/src/reportManage.js
CHANGED
|
@@ -468,6 +468,10 @@ export default function (filiale) {
|
|
|
468
468
|
Vue.component('sell-check-two', (resolve) => {
|
|
469
469
|
require(['./components/SellReport/OperatorCheckoutTwo'], resolve)
|
|
470
470
|
})
|
|
471
|
+
// 自助结账报表
|
|
472
|
+
Vue.component('sell-BySelf-Help', (resolve) => {
|
|
473
|
+
require(['./components/SellReport/SellBySelfHelp'], resolve)
|
|
474
|
+
})
|
|
471
475
|
if (filiale) {
|
|
472
476
|
let filialeComp = require(`./filiale/${filiale}/reportManage`).specialComp
|
|
473
477
|
Vue.filialeInfo = Vue.prototype.$filialeInfo = filiale
|