sale-client 3.6.33 → 3.6.34
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
CHANGED
|
@@ -0,0 +1,344 @@
|
|
|
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
|
+
|
|
6
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
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
|
+
|
|
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 HH:mm:ss'"
|
|
17
|
+
:show-reset-button="true"
|
|
18
|
+
condition="f_input_date >= '{}'">
|
|
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 HH:mm:ss'"
|
|
27
|
+
:show-reset-button="true"
|
|
28
|
+
condition="f_input_date <= '{}'">
|
|
29
|
+
</datepicker>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="col-sm-2 form-group">
|
|
32
|
+
<label class="font_normal_body">小区名称</label>
|
|
33
|
+
<v-select :value.sync="model.f_residential_area"
|
|
34
|
+
class="select_list select"
|
|
35
|
+
enter-push
|
|
36
|
+
multiple = "true"
|
|
37
|
+
v-model="model.f_residential_area"
|
|
38
|
+
style="width: 60%"
|
|
39
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
40
|
+
close-on-select>
|
|
41
|
+
|
|
42
|
+
</v-select>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="col-sm-2 form-group">
|
|
45
|
+
<label class="font_normal_body">抄 表 员</label>
|
|
46
|
+
<v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
|
|
47
|
+
style="width:60%"
|
|
48
|
+
multiple="true"
|
|
49
|
+
:options='$parent.$parent.inputtores' placeholder='抄表员'
|
|
50
|
+
condition=""
|
|
51
|
+
close-on-select
|
|
52
|
+
v-el:cc></v-select>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="span" style="float:right;">
|
|
55
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
56
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
57
|
+
|
|
58
|
+
<export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
|
|
59
|
+
:field="$parent.$parent.getfield" :header="$parent.$parent.other"
|
|
60
|
+
sqlurl="rs/logic/saleExport" sql-name="salehandplanRate" template-name='抄表率查询导出'
|
|
61
|
+
:choose-col="true"></export-excel>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</criteria>
|
|
66
|
+
|
|
67
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
|
|
68
|
+
<template partial='head'>
|
|
69
|
+
<tr>
|
|
70
|
+
<th>
|
|
71
|
+
<nobr>小区名称</nobr>
|
|
72
|
+
</th>
|
|
73
|
+
<th>
|
|
74
|
+
<nobr>抄表数</nobr>
|
|
75
|
+
</th>
|
|
76
|
+
<th>
|
|
77
|
+
<nobr>实抄表数</nobr>
|
|
78
|
+
</th>
|
|
79
|
+
<th>
|
|
80
|
+
<nobr>档案户数</nobr>
|
|
81
|
+
</th>
|
|
82
|
+
<th>
|
|
83
|
+
<nobr>用气量</nobr>
|
|
84
|
+
</th>
|
|
85
|
+
<th>
|
|
86
|
+
<nobr>用气金额</nobr>
|
|
87
|
+
</th>
|
|
88
|
+
<th>
|
|
89
|
+
<nobr>抄表率</nobr>
|
|
90
|
+
</th>
|
|
91
|
+
</tr>
|
|
92
|
+
</template>
|
|
93
|
+
<template partial='body'>
|
|
94
|
+
<td style="text-align: center;">
|
|
95
|
+
<nobr>{{row.f_residential_area}}</nobr>
|
|
96
|
+
</td>
|
|
97
|
+
<td style="text-align: center;">
|
|
98
|
+
<nobr>{{row.handplannum}}</nobr>
|
|
99
|
+
</td>
|
|
100
|
+
<td style="text-align: center;">
|
|
101
|
+
<nobr>{{row.ishandplan}}</nobr>
|
|
102
|
+
</td>
|
|
103
|
+
<td style="text-align: center;">
|
|
104
|
+
<nobr>{{row.peoplenum}}</nobr>
|
|
105
|
+
</td>
|
|
106
|
+
<td style="text-align: center;">
|
|
107
|
+
<nobr>{{row.f_oughtamount}}</nobr>
|
|
108
|
+
</td>
|
|
109
|
+
<td style="text-align: center;">
|
|
110
|
+
<nobr>{{row.f_oughtfee}}</nobr>
|
|
111
|
+
</td>
|
|
112
|
+
<td style="text-align: center;">
|
|
113
|
+
<nobr>{{row.handplansate1}}</nobr>
|
|
114
|
+
</td>
|
|
115
|
+
</template>
|
|
116
|
+
<template partial='foot'></template>
|
|
117
|
+
</data-grid>
|
|
118
|
+
</criteria-paged>
|
|
119
|
+
|
|
120
|
+
<table class="table-hover">
|
|
121
|
+
<tr style="position: relative;margin-top: -16px;" 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_oughtamount}}
|
|
128
|
+
</td>
|
|
129
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
|
|
130
|
+
金额合计: {{sumsmodel.f_oughtfee}}
|
|
131
|
+
</td>
|
|
132
|
+
</tr>
|
|
133
|
+
</table>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
<work-busy :is-busy="iswork" v-show="iswork"></work-busy>
|
|
137
|
+
</div>
|
|
138
|
+
</template>
|
|
139
|
+
|
|
140
|
+
<script>
|
|
141
|
+
|
|
142
|
+
import {PagedList, HttpResetClass} from 'vue-client'
|
|
143
|
+
|
|
144
|
+
let readySomething = async function (self) {
|
|
145
|
+
self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
|
|
146
|
+
self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
|
|
147
|
+
await self.$getConfig(self, 'HandplanQuery')
|
|
148
|
+
await self.$LoadParams.loadParam()
|
|
149
|
+
console.log('开始查询')
|
|
150
|
+
self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
|
|
151
|
+
}
|
|
152
|
+
export default {
|
|
153
|
+
props: ['data'],
|
|
154
|
+
title: '机表抄表率查询',
|
|
155
|
+
data () {
|
|
156
|
+
return {
|
|
157
|
+
iswork: false,
|
|
158
|
+
other: [],
|
|
159
|
+
footer: [],
|
|
160
|
+
data: {},
|
|
161
|
+
model: new PagedList('rs/sql/salehandplanRate', 20, {}, {
|
|
162
|
+
f_oughtamount: 0,
|
|
163
|
+
f_oughtfee: 0,
|
|
164
|
+
}),
|
|
165
|
+
initres: {
|
|
166
|
+
org: [this.$login.f.orgid],
|
|
167
|
+
dep: [],
|
|
168
|
+
user: []
|
|
169
|
+
},
|
|
170
|
+
show: false,
|
|
171
|
+
rowdata: {},
|
|
172
|
+
criteriaShow: false,
|
|
173
|
+
residentialArea: [],
|
|
174
|
+
orgCondtionStr: '',
|
|
175
|
+
modelval: [],
|
|
176
|
+
inputtouPerson: [],
|
|
177
|
+
f_filialeid: this.$login.f.f_orgid,
|
|
178
|
+
// 合计数据
|
|
179
|
+
sumsmodel: {},
|
|
180
|
+
config: {
|
|
181
|
+
defaultPrint: [],
|
|
182
|
+
excelHeaders: {
|
|
183
|
+
'f_residential_area': '小区名称',
|
|
184
|
+
'handplannum': '抄表数',
|
|
185
|
+
'ishandplan': '实抄表数',
|
|
186
|
+
'peoplenum': '档案户数',
|
|
187
|
+
'f_oughtamount': '用气量',
|
|
188
|
+
'f_oughtfee': '用气金额',
|
|
189
|
+
'handplansate1':'抄表率'
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
inputtores: [{label: '全部', value: ''}], // 抄表员
|
|
193
|
+
condition: ' 1 = 1'
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
ready () {
|
|
197
|
+
this.getaddress()
|
|
198
|
+
readySomething(this).then(() => {
|
|
199
|
+
this.$emit('ready')
|
|
200
|
+
}).catch((error) => {
|
|
201
|
+
this.$emit('error', error)
|
|
202
|
+
})
|
|
203
|
+
},
|
|
204
|
+
methods: {
|
|
205
|
+
getotherfooter () {
|
|
206
|
+
this.other = []
|
|
207
|
+
this.footer = []
|
|
208
|
+
let exportdata = this.getCondition
|
|
209
|
+
let otherInData = []
|
|
210
|
+
otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
|
|
211
|
+
let footerData = [], exportfield = this.getfield
|
|
212
|
+
footerData.push('合计')
|
|
213
|
+
let self = this
|
|
214
|
+
for (var field in self.sumsmodel) {
|
|
215
|
+
footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
|
|
216
|
+
}
|
|
217
|
+
this.footer.push(footerData)
|
|
218
|
+
this.other.push(otherInData)
|
|
219
|
+
},
|
|
220
|
+
async getaddress () {
|
|
221
|
+
let HttpReset = new HttpResetClass()
|
|
222
|
+
var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
|
|
223
|
+
data: {
|
|
224
|
+
condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
|
|
225
|
+
}
|
|
226
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
227
|
+
console.log('小区', data)
|
|
228
|
+
let house = [{label: '全部', value: ''}]
|
|
229
|
+
for (let row of data.data) {
|
|
230
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
231
|
+
}
|
|
232
|
+
this.residentialArea = house
|
|
233
|
+
},
|
|
234
|
+
search () {
|
|
235
|
+
this.$refs.paged.$refs.cri.search()
|
|
236
|
+
},
|
|
237
|
+
selfSearch (args) {
|
|
238
|
+
if (this.data) {
|
|
239
|
+
this.$parent.$parent.$parent.data.startDate = this.$refs.paged.$refs.cri.model.startDate
|
|
240
|
+
this.$parent.$parent.$parent.data.endDate = this.$refs.paged.$refs.cri.model.endDate
|
|
241
|
+
}
|
|
242
|
+
this.area = this.$refs.paged.$refs.cri.model.f_residential_area
|
|
243
|
+
if (this.area.length !== 0) {
|
|
244
|
+
let str = JSON.stringify(this.area)
|
|
245
|
+
str = str.replace(/"/g, `'`)
|
|
246
|
+
str = str.replace(/\[/g, ``)
|
|
247
|
+
str = str.replace(/\]/g, ``)
|
|
248
|
+
// 查询多个小区时条件
|
|
249
|
+
args.condition += ` and f_residential_area in ( ${str} )`
|
|
250
|
+
}
|
|
251
|
+
// 抄表员查询条件
|
|
252
|
+
this.inputtouPerson = this.$refs.paged.$refs.cri.model.f_inputtor
|
|
253
|
+
if (this.inputtouPerson.length !== 0) {
|
|
254
|
+
let str = JSON.stringify(this.inputtouPerson)
|
|
255
|
+
str = str.replace(/"/g, `'`)
|
|
256
|
+
str = str.replace(/\[/g, ``)
|
|
257
|
+
str = str.replace(/\]/g, ``)
|
|
258
|
+
// 查询多个抄表员时条件
|
|
259
|
+
args.condition += ` and f_inputtor in ( ${str} )`
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
args.condition = `${args.condition} and f_meter_classify = '机表' ` + this.orgCondtionStr
|
|
263
|
+
this.condition = args.condition
|
|
264
|
+
this.model.search(args.condition, args.model)
|
|
265
|
+
this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
|
|
266
|
+
},
|
|
267
|
+
clear () {
|
|
268
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
269
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
270
|
+
})
|
|
271
|
+
},
|
|
272
|
+
show () {
|
|
273
|
+
this.criteriaShow = true
|
|
274
|
+
},
|
|
275
|
+
async getRes (condition, obj) {
|
|
276
|
+
console.log('condition:----------', condition)
|
|
277
|
+
console.log('obj:----------', obj)
|
|
278
|
+
this.orgCondtionStr = condition
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
watch: {
|
|
282
|
+
'model.rows' (val) {
|
|
283
|
+
if (val.length === 0) {
|
|
284
|
+
this.sumsmodel = {}
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
'modelval.length' () {
|
|
288
|
+
this.put()
|
|
289
|
+
},
|
|
290
|
+
sumsmodel: {
|
|
291
|
+
handler: function (val) {
|
|
292
|
+
this.getotherfooter()
|
|
293
|
+
},
|
|
294
|
+
deep: true
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
computed: {
|
|
298
|
+
getCondition () {
|
|
299
|
+
return {
|
|
300
|
+
startDate: this.$refs.paged.$refs.cri.model.startDate,
|
|
301
|
+
endDate: this.$refs.paged.$refs.cri.model.endDate,
|
|
302
|
+
condition: this.condition
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
getfield () {
|
|
306
|
+
return this.config.excelHeaders
|
|
307
|
+
},
|
|
308
|
+
// inputtor() {
|
|
309
|
+
// return [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表员')]
|
|
310
|
+
// },
|
|
311
|
+
getPricenames () {
|
|
312
|
+
let f_filialeid = this.f_filialeid
|
|
313
|
+
let result = []
|
|
314
|
+
this.$GetSaleParam.prices.forEach((item) => {
|
|
315
|
+
if (item.f_state === '有效' && f_filialeid == item.f_filialeid) {
|
|
316
|
+
let value = {
|
|
317
|
+
label: item.f_price_name,
|
|
318
|
+
value: item
|
|
319
|
+
}
|
|
320
|
+
result.push(value)
|
|
321
|
+
}
|
|
322
|
+
})
|
|
323
|
+
return Array.from(new Set(result))
|
|
324
|
+
},
|
|
325
|
+
inputtores () {
|
|
326
|
+
// 获取抄表员
|
|
327
|
+
console.log('获取抄表员', this.$login.f)
|
|
328
|
+
let rs = []
|
|
329
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
330
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
331
|
+
let temp = {
|
|
332
|
+
label: this.$login.f.f_gasman[i].name,
|
|
333
|
+
value: this.$login.f.f_gasman[i].name
|
|
334
|
+
}
|
|
335
|
+
rs.push(temp)
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return [...rs]
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
events: {
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
</script>
|
|
@@ -11,4 +11,6 @@ export default function () {
|
|
|
11
11
|
Vue.component('file-meter-info', (resolve) => { require(['./FilesManage/MeterinfoTest'], resolve) })
|
|
12
12
|
// 用户操作
|
|
13
13
|
Vue.component('charge-list', (resolve) => { require(['./ChargeList'], resolve) })
|
|
14
|
+
// 用户操作
|
|
15
|
+
Vue.component('handplanReplicationRate', (resolve) => { require(['./handplanReplicationRate'], resolve) })
|
|
14
16
|
}
|