manage-client 3.3.146 → 3.3.148
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/build/dev-server.js +192 -188
- package/package.json +111 -111
- package/src/components/sale/businessquery/BusinessManage.vue +3 -0
- package/src/components/sale/businessquery/chargeRecordMaintenanceQuery.vue +353 -0
- package/src/components/sale/config/exportConfig.js +10 -0
- package/src/filiale/WEINAN/BusinessManage.vue +3 -0
- package/src/filiale/lixianV3/ChangeMeterQuery.vue +13 -8
- package/src/filiale/lixianV3/UserLostContactAnalysis.vue +624 -0
- package/src/filiale/lixianV3/config/exportConfig.js +19 -18
- package/src/filiale/lixianV3/webmeterManage.js +2 -0
- package/src/main.js +68 -72
- package/src/saleManage.js +4 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div class="basic-main" @keyup.enter="search">
|
|
4
|
+
<div class="flex" v-if="!show">
|
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
6
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-sm-2 form-group">
|
|
10
|
+
<label for="startDate" class="font_normal_body">开始日期</label>
|
|
11
|
+
<datepicker id="startDate" placeholder="开始日期" style="width:60%"
|
|
12
|
+
v-model="$parent.$parent.startDate"
|
|
13
|
+
:value.sync="$parent.$parent.startDate"
|
|
14
|
+
:format="'yyyy-MM-dd'"
|
|
15
|
+
condition="modifitime >= '{} 00:00:00'"
|
|
16
|
+
:show-reset-button="true">
|
|
17
|
+
</datepicker>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-sm-2 form-group">
|
|
20
|
+
<label for="endDate" class="font_normal_body">结束日期</label>
|
|
21
|
+
<datepicker id="endDate" placeholder="结束日期" style="width:60%"
|
|
22
|
+
v-model="$parent.$parent.endDate"
|
|
23
|
+
:value.sync="$parent.$parent.endDate"
|
|
24
|
+
:format="'yyyy-MM-dd'"
|
|
25
|
+
condition="modifitime <= '{} 23:59: 59'"
|
|
26
|
+
:show-reset-button="true">
|
|
27
|
+
</datepicker>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-sm-2 form-group ">
|
|
30
|
+
<label class="font_normal_body">客户编号</label>
|
|
31
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
32
|
+
condition="f_userinfo_code = '{}' " placeholder="客户编号">
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-sm-2 form-group">
|
|
35
|
+
<label class="font_normal_body">客户名称</label>
|
|
36
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
37
|
+
condition="f_user_name = '{}'" placeholder="客户名称">
|
|
38
|
+
</div>
|
|
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
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
43
|
+
:field="$parent.$parent.getfield"
|
|
44
|
+
sqlurl="rs/logic/exportfile"
|
|
45
|
+
sql-name="manage_chargeRecordMaintenanceQuery"
|
|
46
|
+
template-name='收费记录维护查询'
|
|
47
|
+
:choose-col="true"></export-excel>
|
|
48
|
+
<print-data :sum-field="$parent.$parent.getfield" :model="$parent.model"
|
|
49
|
+
:field="$parent.$parent.getfield"
|
|
50
|
+
titletable="收费记录维护查询" :starthead="$parent.$parent.startDate"
|
|
51
|
+
:defaultfield="$parent.$parent.defaultfield"
|
|
52
|
+
:sumsmodel="$parent.$parent.sumsmodel"></print-data>
|
|
53
|
+
<div
|
|
54
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
55
|
+
@click="$parent.$parent.hidden()"
|
|
56
|
+
class="button_spacing"
|
|
57
|
+
style="float: right"></div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="row" v-if="$parent.$parent.criteriaShow">
|
|
61
|
+
<res-select-group
|
|
62
|
+
:show-component="['company','department','operator']"
|
|
63
|
+
:initres="$parent.$parent.initres"
|
|
64
|
+
@re-res="$parent.$parent.getRes"
|
|
65
|
+
:specialquery="true"
|
|
66
|
+
v-ref:sel
|
|
67
|
+
></res-select-group>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</criteria>
|
|
71
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
|
|
72
|
+
<template partial='head'>
|
|
73
|
+
<tr>
|
|
74
|
+
<th>
|
|
75
|
+
<nobr>客户编号</nobr>
|
|
76
|
+
</th>
|
|
77
|
+
<th>
|
|
78
|
+
<nobr>客户名称</nobr>
|
|
79
|
+
</th>
|
|
80
|
+
<th>
|
|
81
|
+
<nobr>维护内容</nobr>
|
|
82
|
+
</th>
|
|
83
|
+
<th>
|
|
84
|
+
<nobr>更改前</nobr>
|
|
85
|
+
</th>
|
|
86
|
+
<th>
|
|
87
|
+
<nobr>更改后</nobr>
|
|
88
|
+
</th>
|
|
89
|
+
<th>
|
|
90
|
+
<nobr>操作人</nobr>
|
|
91
|
+
</th>
|
|
92
|
+
<th>
|
|
93
|
+
<nobr>操作时间</nobr>
|
|
94
|
+
</th>
|
|
95
|
+
<th>
|
|
96
|
+
<nobr>收费记录状态</nobr>
|
|
97
|
+
</th>
|
|
98
|
+
</tr>
|
|
99
|
+
</template>
|
|
100
|
+
<template partial='body'>
|
|
101
|
+
<td style="text-align: center;">
|
|
102
|
+
<nobr>{{ row.f_userinfo_code }}</nobr>
|
|
103
|
+
</td>
|
|
104
|
+
<td style="text-align: center;">
|
|
105
|
+
<nobr>{{ row.f_user_name }}</nobr>
|
|
106
|
+
</td>
|
|
107
|
+
<td style="text-align: center;">
|
|
108
|
+
<nobr>{{ row.chinesename }}</nobr>
|
|
109
|
+
</td>
|
|
110
|
+
<td style="text-align: center;">
|
|
111
|
+
<nobr>{{ row.oldvalue }}</nobr>
|
|
112
|
+
</td>
|
|
113
|
+
<td style="text-align: center;">
|
|
114
|
+
<nobr>{{ row.newvalue }}</nobr>
|
|
115
|
+
</td>
|
|
116
|
+
<td style="text-align: center;">
|
|
117
|
+
<nobr>{{ row.operator }}</nobr>
|
|
118
|
+
</td>
|
|
119
|
+
<td style="text-align: center;">
|
|
120
|
+
<nobr>{{ row.modifitime }}</nobr>
|
|
121
|
+
</td>
|
|
122
|
+
<td style="text-align: center;">
|
|
123
|
+
<nobr>{{ row.f_state }}</nobr>
|
|
124
|
+
</td>
|
|
125
|
+
</template>
|
|
126
|
+
<template partial='foot'></template>
|
|
127
|
+
</data-grid>
|
|
128
|
+
</criteria-paged>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
</template>
|
|
133
|
+
<script>
|
|
134
|
+
import {PagedList, HttpResetClass} from 'vue-client'
|
|
135
|
+
import defaultPrint from '../config/DefaultPrint'
|
|
136
|
+
import exportConfig from '../config/exportConfig'
|
|
137
|
+
|
|
138
|
+
let readySomething = async function (self) {
|
|
139
|
+
self.startDate = self.$login.toStandardDateString()
|
|
140
|
+
self.endDate = self.$login.toStandardDateString()
|
|
141
|
+
}
|
|
142
|
+
export default {
|
|
143
|
+
title: '收费记录维查询',
|
|
144
|
+
data() {
|
|
145
|
+
return {
|
|
146
|
+
condition: '',
|
|
147
|
+
condition2: '',
|
|
148
|
+
orgConditionStr: '',
|
|
149
|
+
criteriaShow: false,
|
|
150
|
+
model: new PagedList('api/af-revenue/sql/manage_chargeRecordMaintenanceQuery', 20, {
|
|
151
|
+
startDate: 'this.model.startDate',
|
|
152
|
+
endDate: 'this.model.endDate',}),
|
|
153
|
+
gasproperties: [],
|
|
154
|
+
show: false,
|
|
155
|
+
rowdata: {},
|
|
156
|
+
areaList: [],
|
|
157
|
+
modelval: [],
|
|
158
|
+
startDate: '',
|
|
159
|
+
endDate: '',
|
|
160
|
+
inputtouPerson: [],
|
|
161
|
+
printshow: false,
|
|
162
|
+
all: false,
|
|
163
|
+
fields: {},
|
|
164
|
+
thead: '',
|
|
165
|
+
tfoot: '',
|
|
166
|
+
defaultfield: [],
|
|
167
|
+
sumsmodel: {
|
|
168
|
+
f_start_count: 0 ,
|
|
169
|
+
f_add_count: 0 ,
|
|
170
|
+
f_end_count: 0 ,
|
|
171
|
+
},
|
|
172
|
+
initres: {
|
|
173
|
+
org: [this.$login.f.orgid],
|
|
174
|
+
dep:[],
|
|
175
|
+
user:[]
|
|
176
|
+
},
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
ready() {
|
|
180
|
+
readySomething(this).then(() => {
|
|
181
|
+
this.$emit('ready')
|
|
182
|
+
}).catch((error) => {
|
|
183
|
+
this.$emit('error', error)
|
|
184
|
+
})
|
|
185
|
+
},
|
|
186
|
+
methods: {
|
|
187
|
+
getAreaList (searchText) {
|
|
188
|
+
let condition = ' 1 = 1 '
|
|
189
|
+
if (searchText) {
|
|
190
|
+
condition = ` f_residential_area like '%${searchText}%' `
|
|
191
|
+
}
|
|
192
|
+
let HttpReset = new HttpResetClass()
|
|
193
|
+
HttpReset.load('POST', 'rs/sql/saleSingleTable?pageNo=1&pageSize=100', {
|
|
194
|
+
data: {
|
|
195
|
+
items: 'f_residential_area, id',
|
|
196
|
+
tablename: 't_area',
|
|
197
|
+
orderitem: 'id desc',
|
|
198
|
+
condition: condition
|
|
199
|
+
}
|
|
200
|
+
}, {resolveMsg: null, rejectMsg: '获取小区信息失败!'}).then((req) => {
|
|
201
|
+
let redata = []
|
|
202
|
+
req.data.forEach((row, n) => {
|
|
203
|
+
redata[n] = {
|
|
204
|
+
label: row.f_residential_area,
|
|
205
|
+
value: row.id
|
|
206
|
+
}
|
|
207
|
+
})
|
|
208
|
+
this.areaList = [{label: '全部', value: ''}, ...redata]
|
|
209
|
+
})
|
|
210
|
+
},
|
|
211
|
+
clear() {
|
|
212
|
+
//清空部门和人员
|
|
213
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
|
|
214
|
+
//部门和人员变为全选
|
|
215
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
|
|
216
|
+
this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
|
|
217
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
218
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
219
|
+
})
|
|
220
|
+
},
|
|
221
|
+
hidden() {
|
|
222
|
+
this.criteriaShow = !this.criteriaShow
|
|
223
|
+
},
|
|
224
|
+
getotherfooter() {
|
|
225
|
+
this.other = []
|
|
226
|
+
this.footer = []
|
|
227
|
+
let exportdata = this.getCondition
|
|
228
|
+
let otherInData = []
|
|
229
|
+
otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
|
|
230
|
+
let footerData = [], exportfield = this.getfield
|
|
231
|
+
footerData.push('合计')
|
|
232
|
+
let self = this
|
|
233
|
+
for (var field in self.sumsmodel) {
|
|
234
|
+
footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
|
|
235
|
+
}
|
|
236
|
+
this.footer.push(footerData)
|
|
237
|
+
this.other.push(otherInData)
|
|
238
|
+
},
|
|
239
|
+
search() {
|
|
240
|
+
this.$refs.paged.$refs.cri.search()
|
|
241
|
+
},
|
|
242
|
+
appendCondition(data) {
|
|
243
|
+
console.log('data=====>', data)
|
|
244
|
+
let stringValue = ''
|
|
245
|
+
for (var i = 0; i < data.length; i++) {
|
|
246
|
+
if (data[i]) {
|
|
247
|
+
if (i === data.length - 1) {
|
|
248
|
+
stringValue = stringValue + "'" + data[i] + "'"
|
|
249
|
+
} else {
|
|
250
|
+
stringValue = stringValue + "'" + data[i] + "',"
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return stringValue
|
|
255
|
+
},
|
|
256
|
+
async selfSearch(args) {
|
|
257
|
+
this.condition2 = args.condition + ' and f_orgid = ' + this.$login.f.orgid
|
|
258
|
+
if (!this.orgConditionStr) {
|
|
259
|
+
args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
|
|
260
|
+
} else {
|
|
261
|
+
args.condition = `${args.condition}` + this.orgConditionStr
|
|
262
|
+
}
|
|
263
|
+
this.$refs.paged.$refs.cri.model.startDate = this.startDate
|
|
264
|
+
this.$refs.paged.$refs.cri.model.endDate = this.endDate
|
|
265
|
+
this.condition = args.condition
|
|
266
|
+
console.log("查看条件", this.condition)
|
|
267
|
+
await this.model.search(args.condition, args.model)
|
|
268
|
+
},
|
|
269
|
+
getRes(obj) {
|
|
270
|
+
this.orgConditionStr = obj
|
|
271
|
+
},
|
|
272
|
+
stamp() {
|
|
273
|
+
this.all = false
|
|
274
|
+
//默认选择要打印的列
|
|
275
|
+
this.modelval = defaultPrint.config
|
|
276
|
+
this.fields = this.getfield
|
|
277
|
+
console.log('所有打印字段', this.fields)
|
|
278
|
+
this.printshow = true
|
|
279
|
+
this.put()
|
|
280
|
+
},
|
|
281
|
+
put() {
|
|
282
|
+
// 对Modelval进行排序
|
|
283
|
+
this.sortModelval()
|
|
284
|
+
this.thead = `<tr><th colspan=${this.modelval.length}>用户查询</th></tr><tr>`
|
|
285
|
+
for (let key of this.modelval) {
|
|
286
|
+
this.thead += '<th>' + this.fields[key] + '</th>'
|
|
287
|
+
}
|
|
288
|
+
this.thead += '</tr>'
|
|
289
|
+
},
|
|
290
|
+
print() {
|
|
291
|
+
this.$refs.print.PrintAsFile()
|
|
292
|
+
this.printshow = false
|
|
293
|
+
},
|
|
294
|
+
dealmsg(val) {
|
|
295
|
+
console.log('---------------dealmsg')
|
|
296
|
+
this.rowdata = val
|
|
297
|
+
this.show = true
|
|
298
|
+
val.model = this.model.model
|
|
299
|
+
this.$dispatch('deal-msg', val)
|
|
300
|
+
},
|
|
301
|
+
close() {
|
|
302
|
+
this.printshow = false
|
|
303
|
+
this.all = false
|
|
304
|
+
},
|
|
305
|
+
// 对选择的列进行排序
|
|
306
|
+
sortModelval() {
|
|
307
|
+
let sortModel = []
|
|
308
|
+
Object.keys(this.fields).forEach((key) => {
|
|
309
|
+
if (this.modelval.includes(key)) {
|
|
310
|
+
sortModel.push(key)
|
|
311
|
+
}
|
|
312
|
+
})
|
|
313
|
+
this.modelval = sortModel
|
|
314
|
+
console.log('选择的打印的字段', this.modelval)
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
watch: {
|
|
318
|
+
'all'(val) {
|
|
319
|
+
if (val) {
|
|
320
|
+
this.modelval = this.bodyData
|
|
321
|
+
} else {
|
|
322
|
+
this.modelval = defaultPrint.config
|
|
323
|
+
this.put()
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
sumsmodel: {
|
|
327
|
+
handler: function (val) {
|
|
328
|
+
this.getotherfooter()
|
|
329
|
+
},
|
|
330
|
+
deep: true
|
|
331
|
+
},
|
|
332
|
+
'modelval.length'() {
|
|
333
|
+
this.put()
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
computed: {
|
|
337
|
+
getCondition() {
|
|
338
|
+
return {
|
|
339
|
+
condition: this.condition,
|
|
340
|
+
startDate: this.$refs.paged.$refs.cri.model.startDate,
|
|
341
|
+
endDate: this.$refs.paged.$refs.cri.model.endDate
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
getfield() {
|
|
345
|
+
return exportConfig.chargeRecordMaintenanceQuery
|
|
346
|
+
},
|
|
347
|
+
// metertypes() {
|
|
348
|
+
// return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
|
|
349
|
+
// }
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
</script>
|
|
353
|
+
|
|
@@ -1204,6 +1204,16 @@ export default{
|
|
|
1204
1204
|
'f_limit_value': '单次限购量',
|
|
1205
1205
|
'f_start_date': '执行时间',
|
|
1206
1206
|
'f_operate_reason': '限购原因'
|
|
1207
|
+
},
|
|
1208
|
+
chargeRecordMaintenanceQuery: {
|
|
1209
|
+
'f_userinfo_code': '用户编号',
|
|
1210
|
+
'f_user_name': '用户名称',
|
|
1211
|
+
'chinesename': '维护内容',
|
|
1212
|
+
'oldvalue': '变更前',
|
|
1213
|
+
'newvalue': '变更后',
|
|
1214
|
+
'operator': '操作人',
|
|
1215
|
+
'modifitime': '操作时间',
|
|
1216
|
+
'f_state': '收费记录状态'
|
|
1207
1217
|
}
|
|
1208
1218
|
}
|
|
1209
1219
|
|
|
@@ -81,6 +81,9 @@
|
|
|
81
81
|
<tabs header="壁挂炉用户查询" v-if="permission('壁挂炉用户查询')">
|
|
82
82
|
<manage-wall-hanging-furnace-user-query v-if="show.includes('壁挂炉用户查询')"></manage-wall-hanging-furnace-user-query>
|
|
83
83
|
</tabs>
|
|
84
|
+
<tabs header="收费记录维护查询" v-if="permission('收费记录维护查询')">
|
|
85
|
+
<charge-record-maintenance-query v-if="show.includes('收费记录维护查询')"></charge-record-maintenance-query>
|
|
86
|
+
</tabs>
|
|
84
87
|
</tab-button>
|
|
85
88
|
<!-- </div>-->
|
|
86
89
|
<!-- <div v-if="!listpage">-->
|
|
@@ -89,32 +89,31 @@
|
|
|
89
89
|
<v-select :value.sync="model.f_meter_brand"
|
|
90
90
|
v-model="model.f_meter_brand"
|
|
91
91
|
:options='$parent.$parent.meterbrands' placeholder='请选择'
|
|
92
|
-
condition="f_meter_brand
|
|
93
|
-
|
|
92
|
+
condition="f_meter_brand in {}"
|
|
93
|
+
multiple></v-select>
|
|
94
94
|
</div>
|
|
95
95
|
<div class="col-sm-2 form-group">
|
|
96
96
|
<label class="font_normal_body">旧表品牌</label>
|
|
97
97
|
<v-select :value.sync="model.f_meter_brand_old"
|
|
98
98
|
v-model="model.f_meter_brand_old"
|
|
99
99
|
:options='$parent.$parent.meterbrands' placeholder='请选择'
|
|
100
|
-
condition="f_meter_brand_old
|
|
101
|
-
|
|
100
|
+
condition="f_meter_brand_old in {}"
|
|
101
|
+
multiple></v-select>
|
|
102
102
|
</div>
|
|
103
103
|
<div class="col-sm-2 form-group">
|
|
104
104
|
<label class="font_normal_body">换表类型</label>
|
|
105
105
|
<v-select :value.sync="model.f_type"
|
|
106
106
|
v-model="model.f_type"
|
|
107
107
|
:options='$parent.$parent.changeTypes' placeholder='请选择'
|
|
108
|
-
condition="f_type = '{}'"
|
|
109
|
-
close-on-select></v-select>
|
|
108
|
+
condition="f_type = '{}'"></v-select>
|
|
110
109
|
</div>
|
|
111
110
|
<div class="col-sm-2 form-group">
|
|
112
111
|
<label class="font_normal_body">换 表 人</label>
|
|
113
112
|
<v-select :value.sync="model.f_change_operator"
|
|
114
113
|
v-model="model.f_change_operator"
|
|
115
114
|
:options='$parent.$parent.changePerson' placeholder='请选择'
|
|
116
|
-
condition="f_change_operator
|
|
117
|
-
|
|
115
|
+
condition="f_change_operator in {}"
|
|
116
|
+
multiple></v-select>
|
|
118
117
|
</div>
|
|
119
118
|
<div class="col-sm-2 form-group">
|
|
120
119
|
<label class="font_normal_body">卡  号</label>
|
|
@@ -251,6 +250,9 @@
|
|
|
251
250
|
<th>
|
|
252
251
|
<nobr>换表费</nobr>
|
|
253
252
|
</th>
|
|
253
|
+
<th>
|
|
254
|
+
<nobr>表方向</nobr>
|
|
255
|
+
</th>
|
|
254
256
|
<th>
|
|
255
257
|
<nobr>旧表号</nobr>
|
|
256
258
|
</th>
|
|
@@ -346,6 +348,9 @@
|
|
|
346
348
|
<td style="text-align: center;">
|
|
347
349
|
<nobr>{{row.f_changemeter_fee}}</nobr>
|
|
348
350
|
</td>
|
|
351
|
+
<td style="text-align: center;">
|
|
352
|
+
<nobr>{{row.f_aroundmeter}}</nobr>
|
|
353
|
+
</td>
|
|
349
354
|
<td style="text-align: center;">
|
|
350
355
|
<nobr>{{row.f_meternumber_old}}</nobr>
|
|
351
356
|
</td>
|