manage-client 3.2.159 → 3.2.160
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/sale/config/exportConfig.js +1 -1
- package/src/filiale/qianneng/QnChaobiaomingxi.vue +690 -0
- package/src/filiale/qianneng/QnChaobiaoyhhz.vue +582 -0
- package/src/filiale/qianneng/QnChaobiaoyqxzhz.vue +551 -0
- package/src/filiale/qianneng/QnOtherReport.vue +55 -0
- package/src/filiale/qianneng/QnWeiyuejingmx.vue +574 -0
- package/src/filiale/qianneng/exportConfig.js +21 -0
- package/src/filiale/qianneng/reportManage.js +24 -1
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div class="basic-main" @keyup.enter="search" v-if="!show">
|
|
4
|
+
<div class="flex">
|
|
5
|
+
<div style="flex:1;" class="flex" >
|
|
6
|
+
<criteria-paged :model="model" v-ref:paged @sort="sort">
|
|
7
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
8
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
|
|
11
|
+
<div class="col-sm-2 form-group">
|
|
12
|
+
<label for="startDate" class="font_normal_body">审核日期起</label>
|
|
13
|
+
<datepicker id="startDate" placeholder="审核日期起" style="width:60%"
|
|
14
|
+
v-model="model.startDate"
|
|
15
|
+
:value.sync="model.startDate"
|
|
16
|
+
:format="'yyyy-MM-dd'"
|
|
17
|
+
:show-reset-button="true"
|
|
18
|
+
condition="f_audit_date >= '{} 00:00:00'">
|
|
19
|
+
</datepicker>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label for="endDate" class="font_normal_body">审核日期止</label>
|
|
23
|
+
<datepicker id="endDate" placeholder="审核日期止" style="width:60%"
|
|
24
|
+
v-model="model.endDate"
|
|
25
|
+
:value.sync="model.endDate"
|
|
26
|
+
:format="'yyyy-MM-dd'"
|
|
27
|
+
:show-reset-button="true"
|
|
28
|
+
condition="f_audit_date <= '{} 23:59:59'">
|
|
29
|
+
</datepicker>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="col-sm-2 form-group">
|
|
33
|
+
<label class="font_normal_body">气表类型</label>
|
|
34
|
+
<v-select :value.sync="model.f_meter_classify"
|
|
35
|
+
:options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_classify"
|
|
36
|
+
condition="f_meter_classify in {}"
|
|
37
|
+
close-on-select></v-select>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div class="col-sm-2 form-group">
|
|
41
|
+
<label class="font_normal_body">结算方式</label>
|
|
42
|
+
<v-select :value.sync="model.f_calculation"
|
|
43
|
+
:options='$parent.$parent.fcalculation' placeholder='请选择' v-model="model.f_calculation"
|
|
44
|
+
condition="f_calculation in {}"
|
|
45
|
+
close-on-select></v-select>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<div class="span" style="float:right;">
|
|
49
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()">查询</button>
|
|
50
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
51
|
+
<!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
|
|
52
|
+
|
|
53
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
54
|
+
:field="$parent.$parent.getExportField"
|
|
55
|
+
:footer="$parent.$parent.footer"
|
|
56
|
+
:header="$parent.$parent.other"
|
|
57
|
+
sqlurl="rs/logic/exportfile" sql-name="qnChaobiaoyqxzhz" template-name='抄表按用气性质汇总导出'
|
|
58
|
+
:choose-col="true"></export-excel>
|
|
59
|
+
|
|
60
|
+
<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>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
64
|
+
<div class="col-sm-2 form-group">
|
|
65
|
+
<label class="font_normal_body">客户编号</label>
|
|
66
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
67
|
+
condition="f_userinfo_code = '{}' " placeholder="客户编号">
|
|
68
|
+
</div>
|
|
69
|
+
<div class="col-sm-2 form-group">
|
|
70
|
+
<label class="font_normal_body">客户名称</label>
|
|
71
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
72
|
+
condition="f_user_name like '%{}%'" placeholder="客户名称">
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</criteria>
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" @dblclick="$parent.dblclick" v-ref:grid>
|
|
80
|
+
<template partial='head'>
|
|
81
|
+
<tr>
|
|
82
|
+
<th>
|
|
83
|
+
<nobr>客户类型</nobr>
|
|
84
|
+
</th>
|
|
85
|
+
<th>
|
|
86
|
+
<nobr>用气性质</nobr>
|
|
87
|
+
</th>
|
|
88
|
+
<th>
|
|
89
|
+
<nobr>单价</nobr>
|
|
90
|
+
</th>
|
|
91
|
+
<th>
|
|
92
|
+
<nobr>气量</nobr>
|
|
93
|
+
</th>
|
|
94
|
+
<th>
|
|
95
|
+
<nobr>金额</nobr>
|
|
96
|
+
</th>
|
|
97
|
+
</tr>
|
|
98
|
+
</template>
|
|
99
|
+
<template partial='body'>
|
|
100
|
+
<td style="text-align: center;">
|
|
101
|
+
<nobr>{{row.f_user_type}}</nobr>
|
|
102
|
+
</td>
|
|
103
|
+
<td style="text-align: center;">
|
|
104
|
+
<nobr>{{row.f_gasproperties}}</nobr>
|
|
105
|
+
</td>
|
|
106
|
+
<td style="text-align: center;">
|
|
107
|
+
<nobr>{{row.f_price}}</nobr>
|
|
108
|
+
</td>
|
|
109
|
+
<td style="text-align: center;">
|
|
110
|
+
<nobr>{{row.f_gas}}</nobr>
|
|
111
|
+
</td>
|
|
112
|
+
<td style="text-align: center;">
|
|
113
|
+
<nobr>{{row.f_money}}</nobr>
|
|
114
|
+
</td>
|
|
115
|
+
</template>
|
|
116
|
+
<template partial='foot'>
|
|
117
|
+
</template>
|
|
118
|
+
</data-grid>
|
|
119
|
+
</criteria-paged>
|
|
120
|
+
<table class="table-hover">
|
|
121
|
+
<tr style="position: relative" class="table-bordered">
|
|
122
|
+
<td
|
|
123
|
+
style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
|
|
124
|
+
汇总信息
|
|
125
|
+
</td>
|
|
126
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
127
|
+
气量合计: {{sumsmodel.f_gas}}  金额合计: {{sumsmodel.f_money}}
|
|
128
|
+
</td>
|
|
129
|
+
</tr>
|
|
130
|
+
</table>
|
|
131
|
+
</div>
|
|
132
|
+
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="basic-main" style="width:99%;height:98%;margin-bottom:0px" v-if="show">
|
|
136
|
+
<user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</template>
|
|
140
|
+
|
|
141
|
+
<script>
|
|
142
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
143
|
+
import defaultPrint from '../../components/sale/config/DefaultPrint'
|
|
144
|
+
import exportConfig from './exportConfig'
|
|
145
|
+
|
|
146
|
+
let readySomething = async function (self) {
|
|
147
|
+
self.$MagGetSaleParam.initinputtor();
|
|
148
|
+
self.getinputtores();
|
|
149
|
+
// 获取区县
|
|
150
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
|
|
151
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
152
|
+
// await self.$refs.paged.$refs.cri.search()
|
|
153
|
+
self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
|
|
154
|
+
self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export default {
|
|
158
|
+
title: '抄表按用气性质汇总',
|
|
159
|
+
data() {
|
|
160
|
+
return {
|
|
161
|
+
other:[],
|
|
162
|
+
footer:[],
|
|
163
|
+
model: new PagedList('rs/sql/qnChaobiaoyqxzhz', 20, {}, {f_gas: 0, f_money: 0}),
|
|
164
|
+
criteriaShow: false,
|
|
165
|
+
orgCondtionStr: '',
|
|
166
|
+
modelval: [],
|
|
167
|
+
printshow: false,
|
|
168
|
+
all: false,
|
|
169
|
+
fields: {},
|
|
170
|
+
//排序
|
|
171
|
+
orderitem:'',
|
|
172
|
+
orderFields: {
|
|
173
|
+
|
|
174
|
+
},
|
|
175
|
+
//默认打印列
|
|
176
|
+
defaultfield: [],
|
|
177
|
+
config: {
|
|
178
|
+
defaultPrint: []
|
|
179
|
+
},
|
|
180
|
+
balance2:'',
|
|
181
|
+
thead: '',
|
|
182
|
+
tfoot: '',
|
|
183
|
+
area: [],
|
|
184
|
+
//合计数据
|
|
185
|
+
sumsmodel: {},
|
|
186
|
+
initres: {
|
|
187
|
+
org:[this.$login.f.orgid],
|
|
188
|
+
dep:[],
|
|
189
|
+
user:[],
|
|
190
|
+
},
|
|
191
|
+
userdetail: {
|
|
192
|
+
show: false,
|
|
193
|
+
f_userinfo_code: '',
|
|
194
|
+
f_filialeids: ''
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
show:false,
|
|
198
|
+
rowdata:{},
|
|
199
|
+
meterInfo:{},
|
|
200
|
+
deviceInfo:{},
|
|
201
|
+
condition2:'',
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
weixinSign:[{label:"全部",value:""},{label:"已绑定",value:"已绑定"},{label:"未绑定",value:"未绑定"}],
|
|
205
|
+
//小区
|
|
206
|
+
residentialArea: [],
|
|
207
|
+
//表册片区
|
|
208
|
+
bookSlice:[{label: '全部',value: ''}],
|
|
209
|
+
inputtores:[{label: '全部',value: ''}], //抄表员
|
|
210
|
+
allorgid:[],
|
|
211
|
+
f_filialeid: this.$login.f.f_orgid,
|
|
212
|
+
dypayment:[{label:"全部",value:""},{label:"银行代扣",value:"银行代扣",},{label:"现金缴费",value:"现金缴费",}],
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
ready() {
|
|
216
|
+
this.getaddress()
|
|
217
|
+
// this.$refs.paged.$refs.cri.model.f_user_state=['正常']
|
|
218
|
+
readySomething(this).then(() => {
|
|
219
|
+
this.$emit('ready')
|
|
220
|
+
}).catch((error) => {
|
|
221
|
+
this.$emit('error', error)
|
|
222
|
+
})
|
|
223
|
+
this.initAreas(this.$login.f.orgid)
|
|
224
|
+
},
|
|
225
|
+
methods: {
|
|
226
|
+
async getinputtores () {
|
|
227
|
+
// 获取抄表员
|
|
228
|
+
let rs = []
|
|
229
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
230
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
231
|
+
let temp = {
|
|
232
|
+
label: this.$login.f.f_gasman[i].name,
|
|
233
|
+
value: this.$login.f.f_gasman[i].name
|
|
234
|
+
}
|
|
235
|
+
rs.push(temp)
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
this.inputtores = [{label: '全部', value: ''}, ...rs]
|
|
239
|
+
},
|
|
240
|
+
async updateParams() {
|
|
241
|
+
await this.$MagLoadParams.loadParam(this.f_filialeid)
|
|
242
|
+
this.inputtores = [];
|
|
243
|
+
this.inputtores.push({label: "全部", value: ""})
|
|
244
|
+
this.initSlice(this.f_filialeid)
|
|
245
|
+
if(this.allorgid!=null){
|
|
246
|
+
this.allorgid.forEach((res)=>{
|
|
247
|
+
this.inputtores = this.inputtores.concat(this.$MagGetSaleParam.getresinputtor(res));
|
|
248
|
+
})
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
getotherfooter () {
|
|
252
|
+
// this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
|
|
253
|
+
// this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
|
|
254
|
+
this.other = [];
|
|
255
|
+
this.footer = [];
|
|
256
|
+
let exportdata = this.getCondition;
|
|
257
|
+
let otherInData = [];
|
|
258
|
+
otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
|
|
259
|
+
let footerData = [], exportfield = this.getExportField;
|
|
260
|
+
footerData.push("合计");
|
|
261
|
+
let self = this;
|
|
262
|
+
for (var field in self.sumsmodel) {
|
|
263
|
+
footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
|
|
264
|
+
}
|
|
265
|
+
this.footer.push(footerData);
|
|
266
|
+
this.other.push(otherInData);
|
|
267
|
+
},
|
|
268
|
+
async getaddress(){
|
|
269
|
+
console.log('开始获取小区')
|
|
270
|
+
let HttpReset = new HttpResetClass()
|
|
271
|
+
var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
|
|
272
|
+
data: {
|
|
273
|
+
condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
|
|
274
|
+
}
|
|
275
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
276
|
+
console.log('小区',data)
|
|
277
|
+
let house = []
|
|
278
|
+
for (let row of data.data){
|
|
279
|
+
console.log('开始保存小区')
|
|
280
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
281
|
+
}
|
|
282
|
+
this.residentialArea = house
|
|
283
|
+
},
|
|
284
|
+
|
|
285
|
+
//把数据库查询数据转换为下拉数据
|
|
286
|
+
calculate(rows){
|
|
287
|
+
let data = []
|
|
288
|
+
rows.forEach((row, n) => {
|
|
289
|
+
data[n] = {label: row.f_residential_area, value: row.id}
|
|
290
|
+
})
|
|
291
|
+
return data
|
|
292
|
+
},
|
|
293
|
+
search(){
|
|
294
|
+
console.log("=====search====")
|
|
295
|
+
//this.$refs.paged.$refs.cri.search()
|
|
296
|
+
this.$refs.paged.$refs.cri.search()
|
|
297
|
+
},
|
|
298
|
+
cancel(obj) {
|
|
299
|
+
console.log("=====cancel====" + obj)
|
|
300
|
+
this.show = false
|
|
301
|
+
},
|
|
302
|
+
showmsg(obj){
|
|
303
|
+
this.rowdata=obj
|
|
304
|
+
this.show=true
|
|
305
|
+
// let http = new HttpResetClass()
|
|
306
|
+
// http.load('POST','rs/sql/getUserMeter',{data: {condition: `f_userinfo_id ='${obj.f_userinfo_id}'`}},
|
|
307
|
+
// {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
308
|
+
// this.meterInfo = res.data})
|
|
309
|
+
// let http2 = new HttpResetClass()
|
|
310
|
+
// http2.load('POST','rs/sql/deviceQuery',{data: {condition: `f_userinfo_id ='${obj.f_userinfo_id}'`}},
|
|
311
|
+
// {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
312
|
+
// this.deviceInfo = res.data})
|
|
313
|
+
|
|
314
|
+
// this.f_userinfo_id=obj.f_userinfo_id
|
|
315
|
+
},
|
|
316
|
+
//初始化片区
|
|
317
|
+
async initSlice (val) {
|
|
318
|
+
if (val) {
|
|
319
|
+
let getAllArea = await this.$resetpost('/rs/search', {
|
|
320
|
+
source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
|
|
321
|
+
userid: this.$login.f.id
|
|
322
|
+
}, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
|
|
323
|
+
let arr = getAllArea.data.filter((res) => {
|
|
324
|
+
return res.parentid == val
|
|
325
|
+
})
|
|
326
|
+
this.bookSlice = []
|
|
327
|
+
console.log('过滤之后的片区-------------------', arr)
|
|
328
|
+
arr.forEach((res) => {
|
|
329
|
+
this.bookSlice.push({label: res.name, value: res.name})
|
|
330
|
+
})
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
async initAreas (val) {
|
|
334
|
+
|
|
335
|
+
if (val) {
|
|
336
|
+
let getAllArea = await this.$resetpost('/rs/search', {
|
|
337
|
+
source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
|
|
338
|
+
userid: this.$login.f.id
|
|
339
|
+
}, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
|
|
340
|
+
|
|
341
|
+
let arr = getAllArea.data.filter((res) => {
|
|
342
|
+
return res.parentid == val
|
|
343
|
+
})
|
|
344
|
+
console.log('过滤之后的片区', arr)
|
|
345
|
+
this.sliceArea = []
|
|
346
|
+
arr.forEach((res) => {
|
|
347
|
+
this.sliceArea.push({label: res.name, value: res.name})
|
|
348
|
+
})
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
selfSearch(args) {
|
|
352
|
+
console.log('args', args)
|
|
353
|
+
console.log('this.orgCondtionStr', this.orgCondtionStr)
|
|
354
|
+
if (!this.orgCondtionStr) {
|
|
355
|
+
args.condition = `${args.condition}` + " and tr.f_orgid = " + this.$login.f.orgid
|
|
356
|
+
} else {
|
|
357
|
+
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
358
|
+
}
|
|
359
|
+
this.condition2 = args.condition
|
|
360
|
+
this.model.search(args.condition, args.model)
|
|
361
|
+
this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
|
|
362
|
+
console.log('合计字段', this.sumsmodel)
|
|
363
|
+
},
|
|
364
|
+
clear() {
|
|
365
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
366
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
367
|
+
})
|
|
368
|
+
},
|
|
369
|
+
hidden() {
|
|
370
|
+
this.criteriaShow = !this.criteriaShow
|
|
371
|
+
},
|
|
372
|
+
getRes(obj) {
|
|
373
|
+
this.orgCondtionStr = obj
|
|
374
|
+
},
|
|
375
|
+
stamp() {
|
|
376
|
+
this.all = false
|
|
377
|
+
//默认选择要打印的列
|
|
378
|
+
this.modelval = defaultPrint.config
|
|
379
|
+
this.fields = this.getfield
|
|
380
|
+
console.log('所有打印字段', this.fields)
|
|
381
|
+
this.printshow = true
|
|
382
|
+
this.put()
|
|
383
|
+
},
|
|
384
|
+
put() {
|
|
385
|
+
// 对Modelval进行排序
|
|
386
|
+
this.sortModelval()
|
|
387
|
+
this.thead = `<tr><th colspan=${this.modelval.length}>用户查询统计报表</th></tr><tr>`
|
|
388
|
+
for (let key of this.modelval) {
|
|
389
|
+
this.thead += '<th>' + this.fields[key] + '</th>'
|
|
390
|
+
}
|
|
391
|
+
this.thead += '</tr>'
|
|
392
|
+
},
|
|
393
|
+
print() {
|
|
394
|
+
this.$refs.print.PrintAsFile()
|
|
395
|
+
this.printshow = false
|
|
396
|
+
},
|
|
397
|
+
close() {
|
|
398
|
+
this.printshow = false
|
|
399
|
+
},
|
|
400
|
+
// 对选择的列进行排序
|
|
401
|
+
sortModelval() {
|
|
402
|
+
let sortModel = []
|
|
403
|
+
Object.keys(this.fields).forEach((key) => {
|
|
404
|
+
if (this.modelval.includes(key)) {
|
|
405
|
+
sortModel.push(key)
|
|
406
|
+
}
|
|
407
|
+
})
|
|
408
|
+
this.modelval = sortModel
|
|
409
|
+
console.log('选择的打印的字段', this.modelval)
|
|
410
|
+
},
|
|
411
|
+
dblclick(row, index) {
|
|
412
|
+
console.log('双击之后数据', row, index)
|
|
413
|
+
this.userdetail.show = true
|
|
414
|
+
this.userdetail.f_userinfo_code = row.f_userinfo_code
|
|
415
|
+
this.userdetail.f_filialeids = row.f_filialeids
|
|
416
|
+
},
|
|
417
|
+
sort (field, rule) {
|
|
418
|
+
// 将所有排序方式设为不排序,实现相互排斥
|
|
419
|
+
for (let key in this.orderFields) {
|
|
420
|
+
if (key === field) {
|
|
421
|
+
this.orderFields[key] = rule
|
|
422
|
+
} else {
|
|
423
|
+
this.orderFields[key] = 'no'
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
// 如果新规则不排序,还原为默认排序
|
|
427
|
+
if (rule === 'no') {
|
|
428
|
+
this.model.paramSource.orderitem = `'${this.orderitem}'`
|
|
429
|
+
} else {
|
|
430
|
+
this.model.paramSource.orderitem = `'${field} ${rule}'`
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
this.search()
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
|
|
437
|
+
watch: {
|
|
438
|
+
'all'(val) {
|
|
439
|
+
if (val) {
|
|
440
|
+
this.modelval = this.bodyData
|
|
441
|
+
} else {
|
|
442
|
+
this.modelval = defaultPrint.config
|
|
443
|
+
this.put()
|
|
444
|
+
}
|
|
445
|
+
},
|
|
446
|
+
'modelval.length'() {
|
|
447
|
+
this.put()
|
|
448
|
+
},
|
|
449
|
+
sumsmodel:{
|
|
450
|
+
handler: function(val) {
|
|
451
|
+
this.getotherfooter();
|
|
452
|
+
},
|
|
453
|
+
deep: true
|
|
454
|
+
},
|
|
455
|
+
'orgCondtionStr'(val) {
|
|
456
|
+
let res = val.match(/'(.*?)'/)
|
|
457
|
+
console.log('正则提取:',res && res[1])
|
|
458
|
+
if (res) {
|
|
459
|
+
this.f_filialeid = res[1]
|
|
460
|
+
if(res.input !=null){
|
|
461
|
+
let resorgid = res.input.substring(res.input.indexOf("'"));
|
|
462
|
+
if(resorgid!= null && resorgid!=''){
|
|
463
|
+
resorgid = resorgid.substring(0,resorgid.lastIndexOf("'")+1);
|
|
464
|
+
// resorgid = resorgid.replaceAll("'","");
|
|
465
|
+
resorgid = resorgid.replace(/'/g,"");
|
|
466
|
+
this.allorgid = resorgid.split(",")
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
this.updateParams()
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
},
|
|
473
|
+
computed: {
|
|
474
|
+
// defaultexport() {
|
|
475
|
+
// return exportConfig.chargeexportConfig
|
|
476
|
+
// },
|
|
477
|
+
authArr () {
|
|
478
|
+
return this.$login.r ? this.$login.r : []
|
|
479
|
+
},
|
|
480
|
+
|
|
481
|
+
getCondition() {
|
|
482
|
+
return {condition: this.condition2,orderitem:this.orderitem}
|
|
483
|
+
},
|
|
484
|
+
getfield() {
|
|
485
|
+
let data = {}
|
|
486
|
+
this.bodyData.forEach((value, index) => {
|
|
487
|
+
data[this.bodyData[index]] = this.headData[index]
|
|
488
|
+
})
|
|
489
|
+
//合计字段打印
|
|
490
|
+
this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
|
|
491
|
+
if (this.sumsmodel) {
|
|
492
|
+
Object.keys(this.sumsmodel).forEach((key) => {
|
|
493
|
+
this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
|
|
494
|
+
})
|
|
495
|
+
} else {
|
|
496
|
+
this.tfoot += '暂无'
|
|
497
|
+
}
|
|
498
|
+
this.tfoot += '</th></tr>'
|
|
499
|
+
return data
|
|
500
|
+
},
|
|
501
|
+
getExportField() {
|
|
502
|
+
return exportConfig.qnChaobiaoyqxzhz
|
|
503
|
+
},
|
|
504
|
+
inputtor () {
|
|
505
|
+
// 获取抄表员
|
|
506
|
+
console.log('获取抄表员', this.$login.f)
|
|
507
|
+
let rs = []
|
|
508
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
509
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
510
|
+
let temp = {
|
|
511
|
+
label: this.$login.f.f_gasman[i].name,
|
|
512
|
+
value: this.$login.f.f_gasman[i].name
|
|
513
|
+
}
|
|
514
|
+
rs.push(temp)
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
return [{label: '全部', value: ''}, ...rs]
|
|
519
|
+
},
|
|
520
|
+
userstates() {
|
|
521
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('客户状态')]
|
|
522
|
+
},
|
|
523
|
+
userLevels () {
|
|
524
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')]
|
|
525
|
+
},
|
|
526
|
+
userTypes () {
|
|
527
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
528
|
+
},
|
|
529
|
+
hairpin() {
|
|
530
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('发卡状态')]
|
|
531
|
+
},
|
|
532
|
+
addressstate() {
|
|
533
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('地址状态')]
|
|
534
|
+
},
|
|
535
|
+
fcalculation() {
|
|
536
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('结算方式')]
|
|
537
|
+
},
|
|
538
|
+
metertypes() {
|
|
539
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
</script>
|
|
544
|
+
<style>
|
|
545
|
+
.back-red{ /* 红色背景 */
|
|
546
|
+
background-color: #F6C6CE;
|
|
547
|
+
}
|
|
548
|
+
.back-blue{ /* 蓝色背景 */
|
|
549
|
+
|
|
550
|
+
}
|
|
551
|
+
</style>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<tab-button v-ref:list :active="-1">
|
|
3
|
+
<tabs header="违约金减免明细" >
|
|
4
|
+
<qn-weiyuejingmx v-if="show.includes('违约金减免明细')" @deal-msg="dealMsg" :data="data"></qn-weiyuejingmx>
|
|
5
|
+
</tabs>
|
|
6
|
+
<tabs header="抄表明细" >
|
|
7
|
+
<qn-chaobiaomingxi v-if="show.includes('抄表明细')" @deal-msg="dealMsg" :data="data"></qn-chaobiaomingxi>
|
|
8
|
+
</tabs>
|
|
9
|
+
<tabs header="抄表按用气性质汇总" >
|
|
10
|
+
<qn-chaobiaoyqxzhz v-if="show.includes('抄表按用气性质汇总')" @deal-msg="dealMsg" :data="data"></qn-chaobiaoyqxzhz>
|
|
11
|
+
</tabs>
|
|
12
|
+
<tabs header="抄表按用户汇总" >
|
|
13
|
+
<qn-chaobiaoyhhz v-if="show.includes('抄表按用户汇总')" @deal-msg="dealMsg" :data="data"></qn-chaobiaoyhhz>
|
|
14
|
+
</tabs>
|
|
15
|
+
</tab-button>
|
|
16
|
+
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
import TabButton from '../../components/sale/common/TabButton'
|
|
21
|
+
import Tabs from '../../components/sale/common/Tabs'
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
title: '其他报表',
|
|
25
|
+
data () {
|
|
26
|
+
return {
|
|
27
|
+
f_start_date: '',
|
|
28
|
+
f_end_date: '',
|
|
29
|
+
listpage: true,
|
|
30
|
+
width: {
|
|
31
|
+
left: '100%',
|
|
32
|
+
right: '0%'
|
|
33
|
+
},
|
|
34
|
+
// searchNumber:'',
|
|
35
|
+
rowData: {},
|
|
36
|
+
show: []
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
components: {Tabs, TabButton},
|
|
40
|
+
methods: {
|
|
41
|
+
permission (name) {
|
|
42
|
+
if (this.$login.r.find(value => value == '综合查询')) {
|
|
43
|
+
if (!this.$login.r.find(value => value == name)) {
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return true
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<style scoped>
|
|
55
|
+
</style>
|