manage-client 1.22.3-ca → 1.22.7-ca

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.
Files changed (50) hide show
  1. package/build/dev-server.js +102 -93
  2. package/package.json +1 -1
  3. package/src/components/MeterManage/ChargeQuery.vue +228 -228
  4. package/src/components/MeterManage/LiushuiQuery.vue +169 -169
  5. package/src/components/SellReport/BonSummary.vue +233 -233
  6. package/src/components/SellReport/BusSummary.vue +238 -238
  7. package/src/components/SellReport/ChanganDaySellGAs.vue +242 -242
  8. package/src/components/SellReport/ChanganSellMsg.vue +232 -232
  9. package/src/components/SellReport/ChanganSellMsg_Month.vue +240 -240
  10. package/src/components/SellReport/FenxiangSell.vue +182 -182
  11. package/src/components/SellReport/GasCollect.vue +174 -174
  12. package/src/components/SellReport/ManageBusSummary.vue +229 -229
  13. package/src/components/SellReport/ManageGasPrice.vue +221 -221
  14. package/src/components/SellReport/ManageSellType.vue +229 -229
  15. package/src/components/SellReport/UserStatistics.vue +162 -0
  16. package/src/components/sale/businessquery/BusinessManage.vue +108 -108
  17. package/src/components/sale/businessquery/ChangeUserQuery.vue +330 -330
  18. package/src/components/sale/businessquery/ChargeQuery.vue +569 -569
  19. package/src/components/sale/businessquery/DisableQuery.vue +286 -286
  20. package/src/components/sale/businessquery/EnableQuery.vue +258 -258
  21. package/src/components/sale/businessquery/FillCardQuery.vue +373 -373
  22. package/src/components/sale/businessquery/FillGasQuery.vue +311 -311
  23. package/src/components/sale/businessquery/HandplanQuery.vue +296 -296
  24. package/src/components/sale/businessquery/LiuShuiQuery.vue +356 -356
  25. package/src/components/sale/businessquery/OtherChargeQuery.vue +308 -308
  26. package/src/components/sale/businessquery/ReverseQuery.vue +305 -305
  27. package/src/components/sale/businessquery/RfCardReadBack.vue +412 -412
  28. package/src/components/sale/businessquery/SellGasGroupPrice.vue +211 -211
  29. package/src/components/sale/businessquery/SellgasQuerybyDay.vue +185 -185
  30. package/src/components/sale/businessquery/SellgasQuerybyDep.vue +186 -186
  31. package/src/components/sale/businessquery/SellgasQuerybySpot.vue +191 -191
  32. package/src/components/sale/businessquery/SellingHand.vue +267 -267
  33. package/src/components/sale/businessquery/TransferQuery.vue +291 -291
  34. package/src/components/sale/businessquery/TreaDownQuery.vue +439 -439
  35. package/src/components/sale/businessquery/ValveQuery.vue +275 -275
  36. package/src/components/sale/config/exportConfig.js +136 -136
  37. package/src/components/sale/filesquery/ArchivesManage.vue +60 -60
  38. package/src/components/sale/filesquery/DeviceCount.vue +333 -333
  39. package/src/components/sale/filesquery/DeviceQuery.vue +361 -361
  40. package/src/components/sale/filesquery/FilesRecord.vue +160 -160
  41. package/src/components/sale/filesquery/MeterQuery.vue +499 -499
  42. package/src/components/sale/filesquery/NoSaleQuery.vue +423 -412
  43. package/src/components/webmeter/DrillData/UserGasAll.vue +490 -490
  44. package/src/plugins/Table.js +194 -194
  45. package/src/reportManage.js +208 -204
  46. package/src/saleManage.js +134 -134
  47. package/src/stores/MagLoadParams.js +71 -71
  48. package/.npmignore +0 -10
  49. package/build/.npmignore +0 -1
  50. package/yarn.lock +0 -7516
@@ -1,412 +1,423 @@
1
- <template>
2
- <div style="flex:1;" class="flex basic-main">
3
- <button class="btn btn-xs" v-show="!this.criteriaShow" @click="this.show()">
4
- <span class="glyphicon glyphicon-chevron-down" style="color: #000;"></span>
5
- </button>
6
- <criteria-paged :model="model" v-ref:paged>
7
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri v-show="$parent.criteriaShow">
8
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
- <div class="row">
10
- <div class="col-sm-2 form-group form-fix-width" >
11
- <label class="font_normal_body _zoom4">用户姓名</label>
12
- <input type="text" class="form-control _zoom6" v-model="model.f_user_name"
13
- condition="f_user_name like '%{}%'" placeholder="用户姓名">
14
- </div>
15
- <div class="col-sm-2 form-group form-fix-width" >
16
- <label class="font_normal_body _zoom4">用户电话</label>
17
- <input type="text" class="form-control _zoom6" v-model="model.f_user_phone"
18
- condition="f_user_phone like '%{}%'" placeholder="用户电话">
19
- </div>
20
- <div class="col-sm-2 form-group form-fix-width" >
21
- <label class="font_normal_body _zoom4">用户地址</label>
22
- <input type="text" class="form-control _zoom6" v-model="model.f_address"
23
- condition="f_address like '%{}%'" placeholder='用户地址'>
24
- </div>
25
- <div class="col-sm-2 form-group form-fix-width" >
26
- <label class="font_normal_body _zoom4">表号</label>
27
- <input type="text" class="form-control _zoom6" v-model="model.f_meternumber"
28
- condition="f_meternumber like '%{}%'" placeholder='表号'>
29
- </div>
30
- <div class="col-sm-2 form-group form-fix-width" >
31
- <label class="font_normal_body _zoom4">卡号</label>
32
- <input type="text" class="form-control _zoom6" v-model="model.f_card_id"
33
- condition="f_card_id like '%{}%'" placeholder='卡号'>
34
- </div>
35
- <div class="col-sm-2 form-group form-fix-width" >
36
- <label class="font_normal_body _zoom4">发卡状态</label>
37
- <v-select :value.sync="model.f_whether_hairpin" v-model="model.f_whether_hairpin"
38
- :options='$parent.$parent.cardStates' placeholder='请选择'
39
- condition="f_whether_hairpin = '{}'"
40
- close-on-select></v-select>
41
- </div>
42
- <div class="col-sm-2 form-group form-fix-width" >
43
- <label class="font_normal_body _zoom4">用户类型</label>
44
- <v-select :value.sync="model.f_user_type"
45
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
46
- condition="f_user_type = '{}'"
47
- close-on-select></v-select>
48
- </div>
49
- <div class="col-sm-2 form-group form-fix-width" >
50
- <label class="font_normal_body _zoom4">用气性质</label>
51
- <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
52
- :options='$parent.$parent.gasproperties' placeholder='请选择'
53
- condition="f_gasproperties = '{}'"
54
- close-on-select></v-select>
55
- </div>
56
- <div class="col-sm-2 form-group form-fix-width" >
57
- <label class="font_normal_body _zoom4">设备类型</label>
58
- <v-select :value.sync="model.f_devices_type"
59
- v-model="model.f_devices_type"
60
- :options='$parent.$parent.deviceTypes' placeholder='请选择'
61
- condition="f_devices_type = '{}'"
62
- close-on-select></v-select>
63
- </div>
64
- <div class="col-sm-2 form-group form-fix-width" >
65
- <label class="font_normal_body _zoom4">气价名称</label>
66
- <v-select :value.sync="model.f_price_name"
67
- v-model="model.f_price_name"
68
- :options='$parent.$parent.pricenames' placeholder='请选择'
69
- condition="f_price_name = '{}'"
70
- close-on-select></v-select>
71
- </div>
72
- <div class="col-sm-2 form-group form-fix-width" >
73
- <label class="font_normal_body _zoom4">气表分类</label>
74
- <v-select :value.sync="model.f_meter_classify"
75
- v-model="model.f_meter_classify"
76
- :options='$parent.$parent.metertypes' placeholder='请选择'
77
- condition="f_meter_classify = '{}'"
78
- close-on-select></v-select>
79
- </div>
80
- <div class="col-sm-2 form-group form-fix-width" >
81
- <label class="font_normal_body _zoom4">气表品牌</label>
82
- <v-select :value.sync="model.f_meter_brand"
83
- v-model="model.f_meter_brand"
84
- :options='$parent.$parent.meterbrands' placeholder='请选择'
85
- condition="f_meter_brand = '{}'"
86
- close-on-select></v-select>
87
- </div>
88
- <div class="col-sm-2 form-group form-fix-width" >
89
- <label class="font_normal_body _zoom4">气表状态</label>
90
- <v-select :value.sync="model.f_table_state"
91
- v-model="model.f_table_state"
92
- :options='$parent.$parent.tablestate' placeholder='请选择'
93
- condition="f_table_state = '{}'"
94
- close-on-select></v-select>
95
- </div>
96
- <div class="col-sm-2 form-group form-fix-width" >
97
- <label class="font_normal_body _zoom4">片区</label>
98
- <v-select :value.sync="model.f_slice_area"
99
- v-model="model.f_slice_area"
100
- :options='$parent.$parent.sliceArea' placeholder='请选择'
101
- condition="f_slice_area = '{}'"
102
- close-on-select></v-select>
103
- </div>
104
- <div class="col-sm-2 form-group form-fix-width" >
105
- <label for="startDate" class="font_normal_body _zoom4">开始日期</label>
106
- <datepicker id="startDate" placeholder="开始日期" class="_zoom6"
107
- v-model="model.startDate"
108
- :value.sync="model.startDate"
109
- :format="'yyyy-MM-dd'"
110
- :show-reset-button="true"
111
- condition="f_input_date >= to_date('{} 00:00:00','yyyy-mm-dd hh24:mi:ss')">
112
-
113
- </datepicker>
114
- </div>
115
- <div class="col-sm-2 form-group form-fix-width" >
116
- <label for="endDate" class="font_normal_body _zoom4">结束日期</label>
117
- <datepicker id="endDate" placeholder="结束日期" class="_zoom6"
118
- v-model="model.endDate"
119
- :value.sync="model.endDate"
120
- :format="'yyyy-MM-dd'"
121
- :show-reset-button="true"
122
- condition="f_input_date <= to_date('{} 23:59:59','yyyy-mm-dd hh24:mi:ss')">
123
- </datepicker>
124
- </div>
125
- <div class="col-sm-2 form-group form-fix-width">
126
- <label class="font_normal_body _zoom4">起始卡号</label>
127
- <input type="number" class="form-control _zoom6" v-model="model.startf_card_id"
128
- condition=" f_card_id >= '{}' " placeholder='起始卡号'>
129
- </div>
130
-
131
- <div class="col-sm-2 form-group form-fix-width">
132
- <label class="font_normal_body _zoom4">结束卡号</label>
133
- <input type="number" class="form-control _zoom6" v-model="model.endf_card_id"
134
- condition=" f_card_id <= '{}' " placeholder='结束卡号'>
135
- </div>
136
- </div>
137
- <div class="row">
138
- <div style = "float:right;margin-top:10px">
139
- <button class="btn btn-success" @click="search()">查询</button>
140
- <button class="btn btn-default" @click="$parent.$parent.clear()">清空</button>
141
- <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
142
-
143
- <export-excel :data="$parent.$parent.getCondition"
144
- :field="$parent.$parent.getExportField"
145
- sqlurl="rs/logic/exportfile" sql-name="nosaleQuery" template-name='表具查询导出' :choose-col="true"></export-excel>
146
-
147
- <!-- <button class="btn" @click="$parent.$parent.hidden()" style="margin-left: 10px">-->
148
- <!-- <span class="glyphicon glyphicon-chevron-up"></span>-->
149
- <!-- </button>-->
150
- <div style="float: right" class="button_spacing"
151
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
152
- @click="$parent.$parent.hidden()"></div>
153
- </div>
154
- </div>
155
- </div>
156
- </criteria>
157
-
158
- <data-grid :model="model" partial='list' v-ref:grid :classname="$parent.classname">
159
- <template partial='head'>
160
- <tr>
161
- <th><nobr>卡号</nobr></th>
162
- <th><nobr>用户姓名</nobr></th>
163
- <th><nobr>用户地址</nobr></th>
164
- <th><nobr>表号</nobr></th>
165
- <th><nobr>气表品牌</nobr></th>
166
- <th><nobr>气表型号</nobr></th>
167
- <th><nobr>用户类型</nobr></th>
168
- <th><nobr>用气性质</nobr></th>
169
- <th><nobr>用气设备</nobr></th>
170
- <th><nobr>气价类型</nobr></th>
171
- <th><nobr>气价名称</nobr></th>
172
- <th><nobr>用户状态</nobr></th>
173
- </tr>
174
- </template>
175
- <template partial='body'>
176
- <td style="text-align: center;"><nobr>
177
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_card_id}}</a></span></nobr>
178
- </td>
179
- <td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
180
- <td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
181
- <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
182
- <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
183
- <td style="text-align: center;"><nobr>{{row.f_meter_style}}</nobr></td>
184
- <td style="text-align: center;"><nobr>{{row.f_user_type}}</nobr></td>
185
- <td style="text-align: center;"><nobr>{{row.f_gasproperties}}</nobr></td>
186
- <td style="text-align: center;"><nobr>{{row.f_devices_type}}</nobr></td>
187
- <td style="text-align: center;"><nobr>{{row.f_price_type}}</nobr></td>
188
- <td style="text-align: center;"><nobr>{{row.f_price_name}}</nobr></td>
189
- <td style="text-align: center;"><nobr>{{row.f_table_state}}</nobr></td>
190
- </template>
191
- <template partial='foot'>
192
-
193
- </template>
194
- </data-grid>
195
- </criteria-paged>
196
- </div>
197
- </template>
198
-
199
- <script>
200
- import { PagedList } from 'vue-client'
201
- import exportConfig from '../config/exportConfig'
202
-
203
- let readySomething = async function(self){
204
- await self.$MagLoadParams.loadParam()
205
- self.initParams()
206
- }
207
-
208
- export default {
209
- data() {
210
- return {
211
- model: new PagedList('rs/sql/nosaleQuery', 20,{},{f_balance_amount: 0,f_balance_gas: 0}),
212
- criteriaShow: true,
213
-
214
- filialeNameStr: null,
215
- filialeCodeStr: this.$login.f.f_orgids,
216
- userid: this.$login.f.id,
217
- deviceTypes: this.$appdata.getParam('设备类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备类型')] : [],
218
- source:`tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
219
-
220
- modelval: [],
221
- printshow: false,
222
- all: false,
223
- fields: {},
224
- thead: '',
225
- tfoot: '',
226
-
227
- // 气表下拉值
228
- meterbrands: [],
229
- // 气价下拉值
230
- pricenames: [],
231
-
232
- //合计数据
233
- sumsmodel: {}
234
- }
235
- },
236
- ready(){
237
- readySomething(this).then(() => {
238
- this.$emit('ready')
239
- }).catch((error) => {
240
- this.$emit('error', error)
241
- })
242
- },
243
- methods: {
244
- dealmsg (val) {
245
- console.log('---------------dealmsg')
246
- val.model = this.model.model
247
- this.$dispatch('deal-msg',val)
248
- },
249
- initParams () {
250
-
251
- // 初始化气表品牌
252
- let brandArr = []
253
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
254
- let temp = {}
255
- temp.label = item.label
256
- temp.value = item.value.f_meter_brand
257
- brandArr.push(temp)
258
- })
259
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
260
-
261
- // 初始化气价信息
262
- console.log('初始化气价。。', this.$MagGetSaleParam.getPrice())
263
-
264
- let priceArr = []
265
- this.$MagGetSaleParam.getPrice().forEach((item) => {
266
- let temp = {}
267
- temp.label = item.label
268
- temp.value = item.value.f_price_name
269
- priceArr.push(temp)
270
- })
271
-
272
- this.pricenames = [{label: '全部', value: ''}, ...priceArr]
273
-
274
-
275
- },
276
- selfSearch (args) {
277
- this.model.search(args.condition, args.model)
278
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
279
- },
280
- clear(){
281
- Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
282
- this.$refs.paged.$refs.cri.model[key] = ''
283
- })
284
- },
285
- show(){
286
- this.criteriaShow = true
287
- },
288
- hidden(){
289
- this.criteriaShow = false
290
- },
291
- getRes(obj) {
292
- this.filialeNameStr = obj.res
293
- this.filialeCodeStr = obj.resids
294
- },
295
- stamp () {
296
- this.all = false
297
- //默认选择要打印的列
298
- this.modelval = defaultPrint.config
299
- this.fields = this.getfield
300
- console.log('所有打印字段',this.fields)
301
- this.printshow = true
302
- this.put()
303
- },
304
- put () {
305
- // 对Modelval进行排序
306
- this.sortModelval()
307
- this.thead = `<tr><th colspan=${this.modelval.length}>表具查询统计报表</th></tr><tr>`
308
- for (let key of this.modelval) {
309
- this.thead += '<th>' + this.fields[key] + '</th>'
310
- }
311
- this.thead += '</tr>'
312
- },
313
- print () {
314
- this.$refs.print.PrintAsFile()
315
- this.printshow = false
316
- },
317
- close () {
318
- this.printshow = false
319
- this.all = false
320
- },
321
- // 对选择的列进行排序
322
- sortModelval () {
323
- let sortModel = []
324
- Object.keys(this.fields).forEach((key) => {
325
- if (this.modelval.includes(key)) {
326
- sortModel.push(key)
327
- }
328
- })
329
- this.modelval = sortModel
330
- console.log('选择的打印的字段', this.modelval)
331
- }
332
- },
333
- watch:{
334
- 'all' (val) {
335
- if (val) {
336
- this.modelval = this.bodyData
337
- } else {
338
- this.modelval = defaultPrint.config
339
- this.put()
340
- }
341
- },
342
- 'modelval.length' () {
343
- this.put()
344
- },
345
- },
346
- computed:{
347
- getCondition(){
348
- return {condition: `${this.$refs.paged.$refs.cri.condition}`}
349
- },
350
- getfield(){
351
- let data = {}
352
- this.bodyData.forEach((value, index)=>{
353
- data[this.bodyData[index]] = this.headData[index]
354
- })
355
- //合计字段打印
356
- this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
357
- if(this.sumsmodel){
358
- Object.keys(this.sumsmodel).forEach((key) => {
359
- this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
360
- })
361
- }else{
362
- this.tfoot += '暂无'
363
- }
364
- this.tfoot += '</th></tr>'
365
- return data
366
- },
367
- getExportField () {
368
- return exportConfig.meterConfig
369
- },
370
- areas () {
371
- console.log('小区获取区县。。。。。', this.$login.f.f_allArea)
372
- let rs = []
373
- for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
374
- let temp = {
375
- label: this.$login.f.f_allArea[i].label,
376
- value: this.$login.f.f_allArea[i].label
377
- }
378
- rs.push(temp)
379
- }
380
- // return rs
381
- return [{label: '全部', value: ''}, ...rs]
382
- },
383
- usertypes () {
384
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
385
- },
386
- cardStates () {
387
- return [
388
- {label: '全部', value: ''},
389
- {label: '未发卡', value: '未发'},
390
- {label: '已发卡', value: '已发'},
391
- ]
392
- },
393
- gasproperties () {
394
- let rs = []
395
- if (this.$refs.paged.$refs.cri.model.f_user_type.length === 1) {
396
- rs = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
397
- }
398
- return [{label: '全部', value: ''}, ...rs]
399
- },
400
-
401
- metertypes () {
402
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
403
- },
404
- tablestate () {
405
- return [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}]
406
- },
407
- sliceArea () {
408
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('所属区域')]
409
- }
410
- }
411
- }
412
- </script>
1
+ <template>
2
+ <div style="flex:1;" class="flex basic-main">
3
+ <button class="btn btn-xs" v-show="!this.criteriaShow" @click="this.show()">
4
+ <span class="glyphicon glyphicon-chevron-down" style="color: #000;"></span>
5
+ </button>
6
+ <criteria-paged :model="model" v-ref:paged>
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri v-show="$parent.criteriaShow">
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group form-fix-width" >
11
+ <label class="font_normal_body _zoom4">用户姓名</label>
12
+ <input type="text" class="form-control _zoom6" v-model="model.f_user_name"
13
+ condition="f_user_name like '%{}%'" placeholder="用户姓名">
14
+ </div>
15
+ <div class="col-sm-2 form-group form-fix-width" >
16
+ <label class="font_normal_body _zoom4">用户电话</label>
17
+ <input type="text" class="form-control _zoom6" v-model="model.f_user_phone"
18
+ condition="f_user_phone like '%{}%'" placeholder="用户电话">
19
+ </div>
20
+ <div class="col-sm-2 form-group form-fix-width" >
21
+ <label class="font_normal_body _zoom4">用户地址</label>
22
+ <input type="text" class="form-control _zoom6" v-model="model.f_address"
23
+ condition="f_address like '%{}%'" placeholder='用户地址'>
24
+ </div>
25
+ <div class="col-sm-2 form-group form-fix-width" >
26
+ <label class="font_normal_body _zoom4">表号</label>
27
+ <input type="text" class="form-control _zoom6" v-model="model.f_meternumber"
28
+ condition="f_meternumber like '%{}%'" placeholder='表号'>
29
+ </div>
30
+ <div class="col-sm-2 form-group form-fix-width" >
31
+ <label class="font_normal_body _zoom4">卡号</label>
32
+ <input type="text" class="form-control _zoom6" v-model="model.f_card_id"
33
+ condition="f_card_id like '%{}%'" placeholder='卡号'>
34
+ </div>
35
+ <div class="col-sm-2 form-group form-fix-width" >
36
+ <label class="font_normal_body _zoom4">发卡状态</label>
37
+ <v-select :value.sync="model.f_whether_hairpin" v-model="model.f_whether_hairpin"
38
+ :options='$parent.$parent.cardStates' placeholder='请选择'
39
+ condition="f_whether_hairpin = '{}'"
40
+ close-on-select></v-select>
41
+ </div>
42
+ <div class="col-sm-2 form-group form-fix-width" >
43
+ <label class="font_normal_body _zoom4">用户类型</label>
44
+ <v-select :value.sync="model.f_user_type"
45
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
46
+ condition="f_user_type = '{}'"
47
+ close-on-select></v-select>
48
+ </div>
49
+ <div class="col-sm-2 form-group form-fix-width" >
50
+ <label class="font_normal_body _zoom4">用气性质</label>
51
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
52
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
53
+ condition="f_gasproperties = '{}'"
54
+ close-on-select></v-select>
55
+ </div>
56
+ <div class="col-sm-2 form-group form-fix-width" >
57
+ <label class="font_normal_body _zoom4">设备类型</label>
58
+ <v-select :value.sync="model.f_devices_type"
59
+ v-model="model.f_devices_type"
60
+ :options='$parent.$parent.deviceTypes' placeholder='请选择'
61
+ condition="f_devices_type = '{}'"
62
+ close-on-select></v-select>
63
+ </div>
64
+ <div class="col-sm-2 form-group form-fix-width" >
65
+ <label class="font_normal_body _zoom4">气价名称</label>
66
+ <v-select :value.sync="model.f_price_name"
67
+ v-model="model.f_price_name"
68
+ :options='$parent.$parent.pricenames' placeholder='请选择'
69
+ condition="f_price_name = '{}'"
70
+ close-on-select></v-select>
71
+ </div>
72
+ <div class="col-sm-2 form-group form-fix-width" >
73
+ <label class="font_normal_body _zoom4">气表分类</label>
74
+ <v-select :value.sync="model.f_meter_classify"
75
+ v-model="model.f_meter_classify"
76
+ :options='$parent.$parent.metertypes' placeholder='请选择'
77
+ condition="f_meter_classify = '{}'"
78
+ close-on-select></v-select>
79
+ </div>
80
+ <div class="col-sm-2 form-group form-fix-width" >
81
+ <label class="font_normal_body _zoom4">气表品牌</label>
82
+ <v-select :value.sync="model.f_meter_brand"
83
+ v-model="model.f_meter_brand"
84
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
85
+ condition="f_meter_brand = '{}'"
86
+ close-on-select></v-select>
87
+ </div>
88
+ <div class="col-sm-2 form-group form-fix-width" >
89
+ <label class="font_normal_body _zoom4">气表状态</label>
90
+ <v-select :value.sync="model.f_table_state"
91
+ v-model="model.f_table_state"
92
+ :options='$parent.$parent.tablestate' placeholder='请选择'
93
+ condition="f_table_state = '{}'"
94
+ close-on-select></v-select>
95
+ </div>
96
+ <div class="col-sm-2 form-group form-fix-width" >
97
+ <label class="font_normal_body _zoom4">片区</label>
98
+ <v-select :value.sync="model.f_slice_area"
99
+ v-model="model.f_slice_area"
100
+ :options='$parent.$parent.sliceArea' placeholder='请选择'
101
+ condition="f_slice_area = '{}'"
102
+ close-on-select></v-select>
103
+ </div>
104
+ <div class="col-sm-2 form-group form-fix-width" >
105
+ <label for="startDate" class="font_normal_body _zoom4">开始日期</label>
106
+ <datepicker id="startDate" placeholder="开始日期" class="_zoom6"
107
+ v-model="model.startDate"
108
+ :value.sync="model.startDate"
109
+ :format="'yyyy-MM-dd'"
110
+ :show-reset-button="true"
111
+ condition="f_operate_date >= to_date('{} 00:00:00','yyyy-mm-dd hh24:mi:ss')">
112
+
113
+ </datepicker>
114
+ </div>
115
+ <div class="col-sm-2 form-group form-fix-width" >
116
+ <label for="endDate" class="font_normal_body _zoom4">结束日期</label>
117
+ <datepicker id="endDate" placeholder="结束日期" class="_zoom6"
118
+ v-model="model.endDate"
119
+ :value.sync="model.endDate"
120
+ :format="'yyyy-MM-dd'"
121
+ :show-reset-button="true"
122
+ condition="f_operate_date <= to_date('{} 23:59:59','yyyy-mm-dd hh24:mi:ss')">
123
+ </datepicker>
124
+ </div>
125
+ <div class="col-sm-2 form-group form-fix-width">
126
+ <label class="font_normal_body _zoom4">起始卡号</label>
127
+ <input type="number" class="form-control _zoom6" v-model="model.startf_card_id"
128
+ condition=" f_card_id >= '{}' " placeholder='起始卡号'>
129
+ </div>
130
+
131
+ <div class="col-sm-2 form-group form-fix-width">
132
+ <label class="font_normal_body _zoom4">结束卡号</label>
133
+ <input type="number" class="form-control _zoom6" v-model="model.endf_card_id"
134
+ condition=" f_card_id <= '{}' " placeholder='结束卡号'>
135
+ </div>
136
+ </div>
137
+ <div class="row">
138
+ <div class="col-sm-2 form-group form-fix-width" style = "float:left;margin-top:10px">
139
+ <label class="font_normal_body _zoom4">收费金额</label>
140
+ <v-select :value.sync="model.f_collection"
141
+ v-model="model.f_collection"
142
+ :options='$parent.$parent.moneys' placeholder='请选择'
143
+ condition="f_collection = {}"
144
+ close-on-select></v-select>
145
+ </div>
146
+ <div style = "float:right;margin-top:10px">
147
+ <button class="btn btn-success" @click="search()">查询</button>
148
+ <button class="btn btn-default" @click="$parent.$parent.clear()">清空</button>
149
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
150
+
151
+ <export-excel :data="$parent.$parent.getCondition"
152
+ :field="$parent.$parent.getExportField"
153
+ sqlurl="rs/logic/exportfile" sql-name="nosaleQuery" template-name='表具查询导出' :choose-col="true"></export-excel>
154
+
155
+ <!-- <button class="btn" @click="$parent.$parent.hidden()" style="margin-left: 10px">-->
156
+ <!-- <span class="glyphicon glyphicon-chevron-up"></span>-->
157
+ <!-- </button>-->
158
+ <div style="float: right" class="button_spacing"
159
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
160
+ @click="$parent.$parent.hidden()"></div>
161
+ </div>
162
+ </div>
163
+ </div>
164
+ </criteria>
165
+
166
+ <data-grid :model="model" partial='list' v-ref:grid :classname="$parent.classname">
167
+ <template partial='head'>
168
+ <tr>
169
+ <th><nobr>卡号</nobr></th>
170
+ <th><nobr>用户姓名</nobr></th>
171
+ <th><nobr>用户地址</nobr></th>
172
+ <th><nobr>表号</nobr></th>
173
+ <th><nobr>气表品牌</nobr></th>
174
+ <th><nobr>气表型号</nobr></th>
175
+ <th><nobr>用户类型</nobr></th>
176
+ <th><nobr>用气性质</nobr></th>
177
+ <th><nobr>用气设备</nobr></th>
178
+ <th><nobr>气价类型</nobr></th>
179
+ <th><nobr>气价名称</nobr></th>
180
+ <th><nobr>用户状态</nobr></th>
181
+ </tr>
182
+ </template>
183
+ <template partial='body'>
184
+ <td style="text-align: center;"><nobr>
185
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_card_id}}</a></span></nobr>
186
+ </td>
187
+ <td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
188
+ <td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
189
+ <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
190
+ <td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
191
+ <td style="text-align: center;"><nobr>{{row.f_meter_style}}</nobr></td>
192
+ <td style="text-align: center;"><nobr>{{row.f_user_type}}</nobr></td>
193
+ <td style="text-align: center;"><nobr>{{row.f_gasproperties}}</nobr></td>
194
+ <td style="text-align: center;"><nobr>{{row.f_devices_type}}</nobr></td>
195
+ <td style="text-align: center;"><nobr>{{row.f_price_type}}</nobr></td>
196
+ <td style="text-align: center;"><nobr>{{row.f_price_name}}</nobr></td>
197
+ <td style="text-align: center;"><nobr>{{row.f_table_state}}</nobr></td>
198
+ </template>
199
+ <template partial='foot'>
200
+
201
+ </template>
202
+ </data-grid>
203
+ </criteria-paged>
204
+ </div>
205
+ </template>
206
+
207
+ <script>
208
+ import { PagedList } from 'vue-client'
209
+ import exportConfig from '../config/exportConfig'
210
+
211
+ let readySomething = async function(self){
212
+ await self.$MagLoadParams.loadParam()
213
+ self.initParams()
214
+ }
215
+
216
+ export default {
217
+ data() {
218
+ return {
219
+ model: new PagedList('rs/sql/nosaleQuery', 20,{},{f_balance_amount: 0,f_balance_gas: 0}),
220
+ criteriaShow: true,
221
+
222
+ filialeNameStr: null,
223
+ filialeCodeStr: this.$login.f.f_orgids,
224
+ userid: this.$login.f.id,
225
+ deviceTypes: this.$appdata.getParam('设备类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备类型')] : [],
226
+ source:`tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
227
+
228
+ modelval: [],
229
+ printshow: false,
230
+ all: false,
231
+ fields: {},
232
+ thead: '',
233
+ tfoot: '',
234
+
235
+ // 气表下拉值
236
+ meterbrands: [],
237
+ // 气价下拉值
238
+ pricenames: [],
239
+
240
+ //合计数据
241
+ sumsmodel: {}
242
+ }
243
+ },
244
+ ready(){
245
+ readySomething(this).then(() => {
246
+ this.$emit('ready')
247
+ }).catch((error) => {
248
+ this.$emit('error', error)
249
+ })
250
+ },
251
+ methods: {
252
+ dealmsg (val) {
253
+ console.log('---------------dealmsg')
254
+ val.model = this.model.model
255
+ this.$dispatch('deal-msg',val)
256
+ },
257
+ initParams () {
258
+
259
+ // 初始化气表品牌
260
+ let brandArr = []
261
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
262
+ let temp = {}
263
+ temp.label = item.label
264
+ temp.value = item.value.f_meter_brand
265
+ brandArr.push(temp)
266
+ })
267
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
268
+
269
+ // 初始化气价信息
270
+ console.log('初始化气价。。', this.$MagGetSaleParam.getPrice())
271
+
272
+ let priceArr = []
273
+ this.$MagGetSaleParam.getPrice().forEach((item) => {
274
+ let temp = {}
275
+ temp.label = item.label
276
+ temp.value = item.value.f_price_name
277
+ priceArr.push(temp)
278
+ })
279
+
280
+ this.pricenames = [{label: '全部', value: ''}, ...priceArr]
281
+
282
+
283
+ },
284
+ selfSearch (args) {
285
+ this.model.search(args.condition, args.model)
286
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
287
+ },
288
+ clear(){
289
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
290
+ this.$refs.paged.$refs.cri.model[key] = ''
291
+ })
292
+ },
293
+ show(){
294
+ this.criteriaShow = true
295
+ },
296
+ hidden(){
297
+ this.criteriaShow = false
298
+ },
299
+ getRes(obj) {
300
+ this.filialeNameStr = obj.res
301
+ this.filialeCodeStr = obj.resids
302
+ },
303
+ stamp () {
304
+ this.all = false
305
+ //默认选择要打印的列
306
+ this.modelval = defaultPrint.config
307
+ this.fields = this.getfield
308
+ console.log('所有打印字段',this.fields)
309
+ this.printshow = true
310
+ this.put()
311
+ },
312
+ put () {
313
+ // 对Modelval进行排序
314
+ this.sortModelval()
315
+ this.thead = `<tr><th colspan=${this.modelval.length}>表具查询统计报表</th></tr><tr>`
316
+ for (let key of this.modelval) {
317
+ this.thead += '<th>' + this.fields[key] + '</th>'
318
+ }
319
+ this.thead += '</tr>'
320
+ },
321
+ print () {
322
+ this.$refs.print.PrintAsFile()
323
+ this.printshow = false
324
+ },
325
+ close () {
326
+ this.printshow = false
327
+ this.all = false
328
+ },
329
+ // 对选择的列进行排序
330
+ sortModelval () {
331
+ let sortModel = []
332
+ Object.keys(this.fields).forEach((key) => {
333
+ if (this.modelval.includes(key)) {
334
+ sortModel.push(key)
335
+ }
336
+ })
337
+ this.modelval = sortModel
338
+ console.log('选择的打印的字段', this.modelval)
339
+ }
340
+ },
341
+ watch:{
342
+ 'all' (val) {
343
+ if (val) {
344
+ this.modelval = this.bodyData
345
+ } else {
346
+ this.modelval = defaultPrint.config
347
+ this.put()
348
+ }
349
+ },
350
+ 'modelval.length' () {
351
+ this.put()
352
+ },
353
+ },
354
+ computed:{
355
+ getCondition(){
356
+ return {condition: `${this.$refs.paged.$refs.cri.condition}`}
357
+ },
358
+ getfield(){
359
+ let data = {}
360
+ this.bodyData.forEach((value, index)=>{
361
+ data[this.bodyData[index]] = this.headData[index]
362
+ })
363
+ //合计字段打印
364
+ this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
365
+ if(this.sumsmodel){
366
+ Object.keys(this.sumsmodel).forEach((key) => {
367
+ this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
368
+ })
369
+ }else{
370
+ this.tfoot += '暂无'
371
+ }
372
+ this.tfoot += '</th></tr>'
373
+ return data
374
+ },
375
+ getExportField () {
376
+ return exportConfig.meterConfig
377
+ },
378
+ areas () {
379
+ console.log('小区获取区县。。。。。', this.$login.f.f_allArea)
380
+ let rs = []
381
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
382
+ let temp = {
383
+ label: this.$login.f.f_allArea[i].label,
384
+ value: this.$login.f.f_allArea[i].label
385
+ }
386
+ rs.push(temp)
387
+ }
388
+ // return rs
389
+ return [{label: '全部', value: ''}, ...rs]
390
+ },
391
+ usertypes () {
392
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
393
+ },
394
+ cardStates () {
395
+ return [
396
+ {label: '全部', value: ''},
397
+ {label: '未发卡', value: '未发'},
398
+ {label: '已发卡', value: '已发'},
399
+ ]
400
+ },
401
+ gasproperties () {
402
+ let rs = []
403
+ if (this.$refs.paged.$refs.cri.model.f_user_type.length === 1) {
404
+ rs = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
405
+ }
406
+ return [{label: '全部', value: ''}, ...rs]
407
+ },
408
+
409
+ metertypes () {
410
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
411
+ },
412
+ tablestate () {
413
+ return [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}]
414
+ },
415
+ moneys () {
416
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费金额')]
417
+ },
418
+ sliceArea () {
419
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('所属区域')]
420
+ }
421
+ }
422
+ }
423
+ </script>