manage-client 3.2.279 → 3.2.280

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.2.279",
3
+ "version": "3.2.280",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,525 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main">
4
+ <div class="flex" :class="{showbottom:showbottomsum}" v-if="!show">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row" >
9
+ <div class="col-sm-2">
10
+ <label class="font_normal_body">组织机构</label>
11
+ <res-select :initresid="$parent.$parent.org"
12
+ style="width:60%"
13
+ @res-select="$parent.$parent.getorg"
14
+ :is-mul=false
15
+ restype='organization'>
16
+ </res-select>
17
+ </div>
18
+ <div class="col-sm-2">
19
+ <label class="font_normal_body">客户编号</label>
20
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
21
+ condition="ss.f_userinfo_code like '%{}%'" v-next-el='f_userinfo_code' v-el:meternumber
22
+ >
23
+ </div>
24
+ <div class="col-sm-2">
25
+ <label class="font_normal_body">客户名称</label>
26
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'
27
+ condition="ss.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
28
+ </div>
29
+ <div class="col-sm-2">
30
+ <label class="font_normal_body">客户地址</label>
31
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_address" placeholder='客户地址'
32
+ condition="ss.f_address like '%{}%'" v-next-el='f_address' v-el:f_address>
33
+ </div>
34
+ <div class="span" style="float:right;margin-top:10px">
35
+ <button class="button_search button_spacing" @click="search()">查询</button>
36
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
37
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
38
+ :field="$parent.$parent.getfield"
39
+ sqlurl="rs/logic/exportfile" sql-name="gasStatisticsQuery" template-name='用气量统计表'
40
+ :choose-col="true"></export-excel>
41
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
42
+ :defaultfield="$parent.$parent.defaultfield"
43
+ titletable="缴费记录报表" :starthead="$parent.$parent.getstart"
44
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
45
+ <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>
46
+ </div>
47
+ </div>
48
+ <div class="row" v-show="$parent.$parent.criteriaShow">
49
+ <div class="col-sm-2">
50
+ <label class="font_normal_body">电&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;话</label>
51
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_user_phone" placeholder='电话'
52
+ condition="ss.f_user_phone like '%{}%'" v-next-el='f_user_phone' v-el:f_user_phone
53
+ >
54
+ </div>
55
+ <div class="col-sm-2">
56
+ <label class="font_normal_body">小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区</label>
57
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_residential_area" placeholder='小区'
58
+ condition="ss.f_residential_area like '%{}%'" v-next-el='f_residential_area' v-el:f_residential_area>
59
+ </div>
60
+ <div class="col-sm-2">
61
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
62
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_meternumber" placeholder='表号'
63
+ condition="ss.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
64
+ >
65
+ </div>
66
+ <div class="col-sm-2">
67
+ <label class="font_normal_body">燃气证号</label>
68
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_gascode" placeholder='燃气证号'
69
+ condition="ss.f_gascode like '%{}%'" v-next-el='f_gascode' v-el:f_gascode
70
+ >
71
+ </div>
72
+ <div class="col-sm-2 form-group">
73
+ <label class="font_normal_body">气价类型</label>
74
+ <v-select :value.sync="model.pricetype" v-model="model.pricetype"
75
+ placeholder='气价类型' :options="$parent.$parent.pricetypes"
76
+ close-on-select>
77
+ </v-select>
78
+ </div>
79
+ <div class="col-sm-2 form-group">
80
+ <label class="font_normal_body">气价名称</label>
81
+ <v-select :value.sync="model.f_price_name"
82
+ v-model="model.f_price_name"
83
+ :options="$parent.$parent.getPricenames"
84
+ condition="ss.f_price_name = '{}'"
85
+ close-on-select></v-select>
86
+ </div>
87
+ <div class="col-sm-2 form-group">
88
+ <label class="font_normal_body">气表品牌</label>
89
+ <v-select :value.sync="model.f_meter_brand"
90
+ v-model="model.f_meter_brand"
91
+ :options="$parent.$parent.meterbrands"
92
+ condition="ss.f_meter_brand = '{}'"
93
+ close-on-select></v-select>
94
+ </div>
95
+ <div class="col-sm-2 form-group">
96
+ <label class="font_normal_body">是否换表</label>
97
+ <v-select :value.sync="model.f_changetable_state"
98
+ v-model="model.f_changetable_state"
99
+ :options="$parent.$parent.isChange"
100
+ condition="ss.f_changetable_state = '{}'"
101
+ close-on-select></v-select>
102
+ </div>
103
+ <div class="col-sm-2 form-group">
104
+ <label class="font_normal_body">用气状态</label>
105
+ <v-select :value.sync="model.f_gas_state"
106
+ v-model="model.f_gas_state"
107
+ :options="$parent.$parent.gasState"
108
+ condition="ss.f_gas_state = '{}'"
109
+ close-on-select></v-select>
110
+ </div>
111
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
112
+ <label class="font_normal_body">用气量区间</label>
113
+ <div class="row">
114
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount1"
115
+ condition="ss.f_oughtamount >= {} " placeholder="">
116
+ <label class="font_normal_body"> ≤ x ≤ </label>
117
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount2"
118
+ condition="ss.f_oughtamount <= {} " placeholder="">
119
+ </div>
120
+ </div>
121
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
122
+ <label class="font_normal_body">&nbsp;充值区间&nbsp;&nbsp;</label>
123
+ <div class="row">
124
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection1"
125
+ condition="ss.f_collection >= {} " placeholder="">
126
+ <label class="font_normal_body"> ≤ x ≤ </label>
127
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection2"
128
+ condition="ss.f_collection <= {} " placeholder="">
129
+ </div>
130
+ </div>
131
+ <div class="col-sm-2 form-group" >
132
+ <label class="font_normal_body" for="startDate">开始时间</label>
133
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
134
+ v-model="model.startDate"
135
+ :value.sync="model.startDate"
136
+ :disabled-days-of-Week="[]"
137
+ :format="'yyyy-MM-dd 00:00:00'"
138
+ :show-reset-button="reset">
139
+ </datepicker>
140
+ </div>
141
+ <div class="col-sm-2 form-group" >
142
+ <label class="font_normal_body" for="endDate">结束时间</label>
143
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
144
+ v-model="model.endDate"
145
+ :value.sync="model.endDate"
146
+ :disabled-days-of-Week="[]"
147
+ :format="'yyyy-MM-dd 23:59:59'"
148
+ :show-reset-button="reset">
149
+ </datepicker>
150
+ </div>
151
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
152
+ <label class="font_normal_body">余额区间</label>
153
+ <div class="row">
154
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_balance_amount_sta"
155
+ condition="ss.f_balance_amount >= {} " placeholder="">
156
+ <label class="font_normal_body"> ≤ x ≤ </label>
157
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_balance_amount_end"
158
+ condition="ss.f_balance_amount <= {} " placeholder="">
159
+ </div>
160
+ </div>
161
+ <div class="col-sm-2 form-group">
162
+ <label class="font_normal_body">客户类型</label>
163
+ <v-select :value.sync="model.f_user_type"
164
+ v-model="model.f_user_type"
165
+ @change="$parent.$parent.userTypeChange()"
166
+ :options="$parent.$parent.usertypes"
167
+ condition="ss.f_user_type = '{}'"
168
+ close-on-select></v-select>
169
+ </div>
170
+ <div class="col-sm-2 form-group">
171
+ <label class="font_normal_body">用气性质</label>
172
+ <v-select :value.sync="model.f_gasproperties"
173
+ v-model="model.f_gasproperties"
174
+ :options="$parent.$parent.gasproperties"
175
+ condition="ss.f_gasproperties = '{}'"
176
+ close-on-select></v-select>
177
+ </div>
178
+ </div>
179
+ </div>
180
+ </criteria>
181
+ <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
182
+ <template partial='head'>
183
+ <tr>
184
+ <th><nobr>客户编号</nobr></th>
185
+ <th><nobr>客户名称</nobr></th>
186
+ <th><nobr>小区</nobr></th>
187
+ <th><nobr>地址</nobr></th>
188
+ <th><nobr>电话</nobr></th>
189
+
190
+ <th><nobr>燃气证号</nobr></th>
191
+ <th><nobr>表号</nobr></th>
192
+ <th><nobr>表具类型</nobr></th>
193
+ <th><nobr>表描述</nobr></th>
194
+ <th><nobr>气价名称</nobr></th>
195
+
196
+ <th><nobr>一阶气价</nobr></th>
197
+ <th><nobr>二阶气价</nobr></th>
198
+ <th><nobr>三阶气价</nobr></th>
199
+
200
+ <th><nobr>客户类型</nobr></th>
201
+ <th><nobr>用气性质</nobr></th>
202
+ <th><nobr>期初余额</nobr></th>
203
+ <th><nobr>起方</nobr></th>
204
+ <th><nobr>止方</nobr></th>
205
+ <th><nobr>期间用气量</nobr></th>
206
+
207
+ <th><nobr>期间用气金额</nobr></th>
208
+ <th><nobr>期间充值金额</nobr></th>
209
+ <th><nobr>期末余额</nobr></th>
210
+ <th><nobr>用气状态</nobr></th>
211
+ <th><nobr>是否换表</nobr></th>
212
+ <th><nobr>最后通讯日期</nobr></th>
213
+ </tr>
214
+ </template>
215
+ <template partial='body' partial='list'>
216
+ <tr >
217
+ <td style="text-align: left;"><nobr> <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr></td>
218
+ <td style="text-align: left;"><nobr>{{row.f_user_name}}</nobr></td>
219
+ <td style="text-align: left;"><nobr>{{row.f_residential_area}}</nobr></td>
220
+ <td style="text-align: left;"><nobr>{{row.f_address}}</nobr></td>
221
+ <td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
222
+
223
+ <td style="text-align:center"><nobr>{{row.f_gascode}}</nobr></td>
224
+ <th style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></th>
225
+ <th style="text-align:center"><nobr>{{row.f_meter_classify}}</nobr></th>
226
+ <th style="text-align:center"><nobr>{{row.f_meter_title}}</nobr></th>
227
+ <th style="text-align:center"><nobr>{{row.f_price_name}}</nobr></th>
228
+
229
+ <th style="text-align:center"><nobr>{{row.f_stair1price}}</nobr></th>
230
+ <th style="text-align:center"><nobr>{{row.f_stair2price}}</nobr></th>
231
+ <th style="text-align:center"><nobr>{{row.f_stair3price}}</nobr></th>
232
+
233
+ <th style="text-align:center"><nobr>{{row.f_user_type}}</nobr></th>
234
+ <th style="text-align:center"><nobr>{{row.f_gasproperties}}</nobr></th>
235
+
236
+
237
+ <th style="text-align:center"><nobr>{{row.f_balance}}</nobr></th>
238
+ <th style="text-align:center"><nobr>{{row.f_last_tablebase}}</nobr></th>
239
+ <th style="text-align:center"><nobr>{{row.f_tablebase}}</nobr></th>
240
+ <th style="text-align:center"><nobr>{{row.f_oughtamount}}</nobr></th>
241
+ <th style="text-align:center"><nobr>{{row.f_oughtfee}}</nobr></th>
242
+
243
+ <th style="text-align:center"><nobr>{{row.f_collection}}</nobr></th>
244
+ <th style="text-align:center"><nobr>{{row.f_curbalance}}</nobr></th>
245
+ <th style="text-align:center"><nobr>{{row.f_gas_state}}</nobr></th>
246
+ <th style="text-align:center"><nobr>{{row.f_changetable_state}}</nobr></th>
247
+ <th style="text-align:center"><nobr>{{row.f_input_date}}</nobr></th>
248
+ </tr>
249
+ </template>
250
+ <template partial='foot'></template>
251
+ </data-grid>
252
+ </criteria-paged>
253
+ <table class="table-hover">
254
+ <tr style="position: relative" class="table-bordered">
255
+ <td
256
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
257
+ 汇总信息
258
+ </td>
259
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
260
+ 期间用气量:&emsp;{{sumsmodel.f_oughtamount}}
261
+ </td>
262
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
263
+ 期间用气金额:&emsp;{{sumsmodel.f_oughtfee}}
264
+ </td>
265
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
266
+ 期间充值金额:&emsp;{{sumsmodel.f_collection}}
267
+ </td>
268
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
269
+ 一阶气量合计:&emsp;{{sumsmodel.f_stairamount1}}
270
+ </td>
271
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
272
+ 一阶气费合计:&emsp;{{sumsmodel.f_stair1fee}}
273
+ </td>
274
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
275
+ 二阶气量合计:&emsp;{{sumsmodel.f_stairamount2}}
276
+ </td>
277
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
278
+ 二阶气费合计:&emsp;{{sumsmodel.f_stair2fee}}
279
+ </td>
280
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
281
+ 三阶气量合计:&emsp;{{sumsmodel.f_stairamount3}}
282
+ </td>
283
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
284
+ 三阶气费合计:&emsp;{{sumsmodel.f_stair3fee}}
285
+ </td>
286
+ </tr>
287
+ </table>
288
+ </div>
289
+ <div class="flex" style="width:99%;height:98%;margin-bottom:0px" v-if="show">
290
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
291
+ </div>
292
+ </div>
293
+ </div>
294
+ </template>
295
+
296
+ <script>
297
+ import {HttpResetClass, PagedList} from 'vue-client'
298
+ import exportConfig from './exportConfig'
299
+ import * as Util from '../../Util'
300
+ import plugins from '../../plugins/GetLoginInfoService'
301
+
302
+ let readySomething = async function (self) {
303
+ await self.$MagLoadParams.loadParam()
304
+ self.initParams()
305
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
306
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
307
+ }
308
+ export default {
309
+ title: '用气量统计表',
310
+ data () {
311
+ return {
312
+ show:false,
313
+ org:[this.$login.f.orgid],
314
+ orgcondition: ' and ss.f_orgid = ' + this.$login.f.orgid,
315
+ //f_filialeid: this.$login.f.f_orgid,
316
+ detaillist: [],
317
+ meterbrands: [],
318
+ prices: [],
319
+ gasproperties:[],
320
+ condition:'',
321
+ rowdata:{},
322
+ getstart:'',
323
+ config: {
324
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_meternumber', 'f_gasproperties', 'f_balance', 'f_last_tablebase','f_tablebase',
325
+ 'f_oughtamount', 'f_oughtfee', 'f_collection', 'f_curbalance', 'f_gas_state', 'f_changetable_state', 'f_input_date']
326
+ },
327
+ sumsmodel: {},
328
+ orgid:[this.$login.f.orgid],
329
+ criteriaShow:false,
330
+ //默认打印列
331
+ defaultfield: [],
332
+ orgCondtionStr: '',
333
+ model: new PagedList('rs/sql/gasStatisticsQuery', 50,{
334
+ startDate: 'this.model.startDate',
335
+ endDate: 'this.model.endDate'
336
+ },{
337
+ f_oughtamount: 0,
338
+ f_oughtfee: 0,
339
+ f_collection:0,
340
+ f_stairamount1:0,
341
+ f_stair1fee:0,
342
+ f_stairamount2:0,
343
+ f_stair2fee:0,
344
+ f_stairamount3:0,
345
+ f_stair3fee:0
346
+ }),
347
+ showbottomsum:false //页面下方是否有合计: 默认为false, 在watch修改
348
+ }
349
+ },
350
+ ready () {
351
+ // this.$refs.paged.$refs.criteria.search()
352
+ readySomething(this).then(() => {
353
+ this.$emit('ready')
354
+ }).catch((error) => {
355
+ this.$emit('error', error)
356
+ })
357
+ this.$refs.paged.$refs.criteria.model.startDate = Util.addDate(new Date(),-1).substring(0,10) + ' 00:00:00'
358
+ this.$refs.paged.$refs.criteria.model.endDate = Util.addDate(new Date(),-1).substring(0,10) + ' 23:59:59'
359
+ this.$refs.paged.$refs.criteria.model.inputStartDate = Util.addDate(new Date(),-1).substring(0,10) + ' 00:00:00'
360
+ this.$refs.paged.$refs.criteria.model.inputEndDate = Util.addDate(new Date(),-1).substring(0,10) + ' 23:59:59'
361
+ // this.$refs.paged.$refs.criteria.search()
362
+ },
363
+ methods: {
364
+ initParams() {
365
+ // 初始化气表品牌
366
+ let brandArr = []
367
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
368
+ let temp = {}
369
+ temp.label = item.label
370
+ temp.value = item.value.f_meter_brand
371
+ brandArr.push(temp)
372
+ })
373
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
374
+ //初始化气表价格
375
+ this.prices = this.$MagGetSaleParam.getPrices();
376
+ },
377
+ async updateParams() {
378
+ await this.$MagLoadParams.loadParam(this.f_filialeid)
379
+ this.initParams()
380
+ },
381
+ getorg(obj) {
382
+ if(plugins.convertToIn(obj)!==null&&plugins.convertToIn(obj)!==''){
383
+ this.orgcondition = " and ss.f_orgid in " + plugins.convertToIn(obj)
384
+ }else{
385
+ this.orgcondition = " and ss.f_orgid = " + this.$login.f.orgid
386
+ }
387
+ },
388
+ userTypeChange () {
389
+ this.gasproperties=[]
390
+ if(this.$refs.paged.$refs.criteria.model !==null) {
391
+ this.$refs.paged.$refs.criteria.model.f_gasproperties=''
392
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type[0])
393
+ }
394
+ else{
395
+ this.gasproperties =[{label: '全部', value: ''}]
396
+ }
397
+ },
398
+ hidden(){
399
+ this.criteriaShow = !this.criteriaShow
400
+ },
401
+ cancel() {
402
+ this.show = false
403
+ },
404
+ clearmsg () {
405
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
406
+ this.$refs.paged.$refs.criteria.model[key] = []
407
+ })
408
+ },
409
+ getRes (obj) {
410
+ this.orgCondtionStr = condition
411
+ this.orgname = obj.orgnames[0]
412
+ this.depname = obj.depnames[0]
413
+ },
414
+ showmsg(obj){
415
+ console.log(1)
416
+ this.rowdata=obj
417
+ this.show=true
418
+ },
419
+
420
+ search (args) {
421
+ args.condition = `${args.condition}`+this.orgcondition
422
+ this.condition = args.condition
423
+ this.model.search(args.condition, args.model)
424
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
425
+ // args.condition = `${args.condition}`
426
+ // if (this.orgcondition)
427
+ // args.condition = `${args.condition}` + this.orgcondition
428
+ // else
429
+ // args.condition = `${args.condition}` + 'and m.f_orgid in ' + '(' + this.$login.f.orgid + ')'
430
+ // this.model.search(args.condition, args.model)
431
+ }
432
+ },
433
+ watch: {
434
+ 'model.rows'(val) {
435
+ //如果有合计 这里为true, 其他为false ,反正相反
436
+ this.showbottomsum=true;
437
+ if(val.length === 0){
438
+ this.sumsmodel = {}
439
+ this.showbottomsum=false;
440
+ }
441
+ },
442
+ 'orgCondtionStr'(val) {
443
+ let res = val.match(/'(.*?)'/)
444
+ console.log('正则提取:',res && res[1])
445
+ if (res) {
446
+ this.f_filialeid = res[1]
447
+ // this.updateParams()
448
+ }
449
+ }
450
+ },
451
+ computed: {
452
+ getCondition() {
453
+
454
+ return {
455
+ condition: this.condition,
456
+ startDate:`${this.$refs.paged.$refs.criteria.model.startDate}`,
457
+ endDate:`${this.$refs.paged.$refs.criteria.model.endDate}`
458
+ }
459
+ },
460
+ getstart(){
461
+ return `开始时间:${this.$refs.paged.$refs.criteria.model.startDate} 结束时间:${this.$refs.paged.$refs.criteria.model.endDate}`
462
+ },
463
+ getPricenames() {
464
+ let f_user_type = this.$refs.paged.$refs.criteria.model.f_user_type;
465
+ let f_gasproperties = this.$refs.paged.$refs.criteria.model.f_gasproperties;
466
+ let pricetype = this.$refs.paged.$refs.criteria.model.pricetype;
467
+ console.log("打印一下:",f_user_type,f_gasproperties,pricetype,this.f_filialeid,this.prices)
468
+ console.log("查看f_orgid:",this.$login.f.f_orgid)
469
+ if(this.$refs.paged.$refs.criteria.model !==null) {
470
+ let rs = []
471
+ let priceArr = []
472
+ if ( pricetype.length >0) {
473
+ let params = {
474
+ f_price_type: pricetype[0],
475
+ filter: this.org[0],
476
+ prices: this.prices
477
+ }
478
+ console.log("打印一下params:",params)
479
+ this.$MagGetSaleParam.getPrice(params).forEach((item) => {
480
+ console.log("====================================》")
481
+ let temp = {}
482
+ temp.label = item.label
483
+ temp.value = item.value.f_price_name
484
+ priceArr.push(temp)
485
+ console.log("打印一下temp:",temp)
486
+ })
487
+
488
+ rs = [{label: '全部', value: ''}, ...priceArr]
489
+ }
490
+ if (rs.length === 0) {
491
+ console.log('rs读出来是空')
492
+ this.$refs.paged.$refs.criteria.model.f_price_name = ''
493
+ }
494
+ return rs
495
+ }
496
+ },
497
+ getfield () {
498
+ return exportConfig.GasStatistics
499
+ },
500
+ usertypes() {
501
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
502
+ },
503
+ pricetypes() {
504
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
505
+ },
506
+ gasState() {
507
+ return [{label:'正常', value:'正常'},
508
+ {label:'异常', value:'异常'},
509
+ ]
510
+ },
511
+ isChange() {
512
+ return [{label:'是', value:'是'},
513
+ {label:'否', value:'否'},
514
+ ]
515
+ }
516
+ }
517
+ }
518
+ </script>
519
+
520
+ <style>
521
+ .showbottom{
522
+ height:95%
523
+ }
524
+ </style>
525
+
@@ -633,7 +633,7 @@ export default{
633
633
  },
634
634
  GasStatistics: {
635
635
  'f_userinfo_code': '客户编号', 'f_user_name': '客户姓名', 'f_residential_area': '小区', 'f_address': '地址', 'f_user_phone': '电话', 'f_gascode': '燃气证号', 'f_meternumber': '表号',
636
- 'f_meter_classify': '表具类型', 'f_meter_title': '表描述', 'f_price_name': '气价名称', 'f_user_nature': '用气类型','f_gasproperties': '用气性质', 'f_balance': '期初余额', 'f_last_tablebase': '起方', 'f_tablebase': '止方',
636
+ 'f_meter_classify': '表具类型', 'f_meter_title': '表描述', 'f_price_name': '气价名称', 'f_user_type': '客户类型','f_gasproperties': '用气性质', 'f_balance': '期初余额', 'f_last_tablebase': '起方', 'f_tablebase': '止方',
637
637
  'f_oughtamount': '期间用气量', 'f_oughtfee': '期间用气金额', 'f_collection': '期末充值金额', 'f_curbalance': '期末余额', 'f_gas_state': '用气状态', 'f_changetable_state': '是否换表', 'f_input_date': '最后通讯日期'
638
638
  },
639
639
  ArrearageConfig: {
@@ -0,0 +1,7 @@
1
+ // 分公司特殊组件页面注册
2
+ import Vue from 'vue'
3
+
4
+ export default function () {
5
+ // 物联网表用气量统计表
6
+ Vue.component('use-gas-statistics', (resolve) => { require(['./GasStatistics'], resolve) })
7
+ }
@@ -0,0 +1,606 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <div style="flex:1;" class="flex" v-if="!show">
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
+ <div class="col-sm-2 form-group" >
11
+ <label class="font_normal_body">客户编号</label>
12
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
13
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
14
+ </div>
15
+ <div class="col-sm-2 form-group" >
16
+ <label class="font_normal_body">客户名称</label>
17
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
18
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
22
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
23
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
24
+ </div>
25
+ <div class="col-sm-2 form-group" >
26
+ <label class="font_normal_body">客户电话</label>
27
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
28
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
29
+ </div>
30
+ <div class="span" style = "float:right;">
31
+ <button class="button_search button_spacing" @click="search()">查询</button>
32
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
33
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
34
+
35
+ <export-excel :data="$parent.$parent.getCondition"
36
+ :field="$parent.$parent.getExportField"
37
+ :header="$parent.$parent.other"
38
+ v-if="$parent.$parent.authArr.includes('档案查询导出')"
39
+ sqlurl="rs/logic/exportfile" sql-name="deviceQuery" template-name='表具设备查询导出' :choose-col="true"></export-excel>
40
+ <print-data :sum-field="$parent.$parent.getExportField" :model="$parent.model" :field="$parent.$parent.getExportField"
41
+ :defaultfield="$parent.$parent.defaultfield"
42
+ titletable="表具设备查询"
43
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
44
+ <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>
45
+ </div>
46
+ </div>
47
+ <div class="row" v-show="$parent.$parent.criteriaShow">
48
+
49
+ <div class="col-sm-2 form-group" >
50
+ <label class="font_normal_body">客户地址</label>
51
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
52
+ condition="f_address like '%{}%'" placeholder='客户地址'>
53
+ </div>
54
+ <div class="col-sm-2 form-group" >
55
+ <label class="font_normal_body">用户状态</label>
56
+ <v-select :value.sync="model.f_user_state"
57
+ v-model="model.f_user_state"
58
+ :options='$parent.$parent.userstates' placeholder='请选择'
59
+ condition="f_user_state = '{}'"
60
+ close-on-select></v-select>
61
+ </div>
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">客户类型</label>
64
+ <v-select :value.sync="model.f_user_type"
65
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
66
+ condition="f_user_type = '{}'"
67
+ close-on-select></v-select>
68
+ </div>
69
+ <div class="col-sm-2 form-group" >
70
+ <label class="font_normal_body">所属表&nbsp;&nbsp;&nbsp;</label>
71
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
72
+ condition="f_meternumber like '%{}%'" placeholder='所属表(表号)'>
73
+ </div>
74
+
75
+ <div class="col-sm-2 form-group" >
76
+ <label class="font_normal_body">设备类型</label>
77
+ <v-select :value.sync="model.f_devices_type"
78
+ v-model="model.f_devices_type"
79
+ :options='$parent.$parent.deviceTypes' placeholder='请选择'
80
+ condition="f_devices_type = '{}'"
81
+ close-on-select></v-select>
82
+ </div>
83
+ <div class="col-sm-2 form-group" >
84
+ <label class="font_normal_body">购买方式</label>
85
+ <v-select :value.sync="model.watchpurchase"
86
+ v-model="model.watchpurchase"
87
+ :options='$parent.$parent.watchpurchases' placeholder='请选择'
88
+ condition="watchpurchase = '{}'"
89
+ close-on-select></v-select>
90
+ </div>
91
+ <div class="col-sm-2 form-group" >
92
+ <label class="font_normal_body">管道类型</label>
93
+ <v-select :value.sync="model.f_pipe_type"
94
+ v-model="model.f_pipe_type"
95
+ :options='$parent.$parent.pipetype' placeholder='请选择'
96
+ condition="f_pipe_type = '{}'"
97
+ close-on-select></v-select>
98
+ </div>
99
+ <div class="col-sm-2 form-group">
100
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
101
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meter_number"
102
+ condition="f_meternumber = '{}'" placeholder='表号'>
103
+ </div>
104
+ <div class="col-sm-2 form-group">
105
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
106
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
107
+ condition="f_card_id = '{}'" placeholder='卡号'>
108
+ </div>
109
+ <div class="col-sm-2 form-group" >
110
+ <label class="font_normal_body">设备编号</label>
111
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_no"
112
+ condition="f_devices_no like '%{}%'" placeholder='设备编号'>
113
+ </div>
114
+ <div class="col-sm-2 form-group" >
115
+ <label class="font_normal_body">设备品牌</label>
116
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_brand"
117
+ condition="f_brand like '%{}%'" placeholder='设备品牌'>
118
+ </div>
119
+ <div class="col-sm-2 form-group" >
120
+ <label class="font_normal_body">设备型号</label>
121
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_model"
122
+ condition="f_devices_model like '%{}%'" placeholder='设备型号'>
123
+ </div>
124
+ <div class="col-sm-2 form-group" >
125
+ <label class="font_normal_body">设备数量</label>
126
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_devices_num"
127
+ condition="f_devices_num = {}" placeholder='设备数量'>
128
+ </div>
129
+ <div class="col-sm-2 form-group" >
130
+ <label class="font_normal_body" title="安装日期大于">安装日期</label>
131
+ <datepicker placeholder="安装日期大于" style="width:60%"
132
+ v-model="model.f_input_start_date"
133
+ :value.sync="model.f_input_start_date"
134
+ :format="'yyyy-MM-dd'"
135
+ :show-reset-button="true"
136
+ condition="f_input_date >= '{} 00:00:00'">
137
+ </datepicker>
138
+ </div>
139
+ <div class="col-sm-2 form-group" >
140
+ <label class="font_normal_body" title="安装日期小于">安装日期</label>
141
+ <datepicker placeholder="安装日期小于" style="width:60%"
142
+ v-model="model.f_input_end_date"
143
+ :value.sync="model.f_input_end_date"
144
+ :format="'yyyy-MM-dd'"
145
+ :show-reset-button="true"
146
+ condition="f_input_date <= '{} 23:59:59'">
147
+ </datepicker>
148
+ </div>
149
+ <div class="col-sm-2 form-group" >
150
+ <label class="font_normal_body" >到期日期</label>
151
+ <datepicker placeholder="到期日期大于" style="width:60%"
152
+ v-model="model.f_expire_start_date"
153
+ :value.sync="model.f_expire_start_date"
154
+ :format="'yyyy-MM-dd'"
155
+ :show-reset-button="true"
156
+ condition="f_expire_date >= '{} 00:00:00'">
157
+ </datepicker>
158
+ </div>
159
+ <div class="col-sm-2 form-group" >
160
+ <label class="font_normal_body">到期日期</label>
161
+ <datepicker placeholder="到期日期小于" style="width:60%"
162
+ v-model="model.f_expire_end_date"
163
+ :value.sync="model.f_expire_end_date"
164
+ :format="'yyyy-MM-dd'"
165
+ :show-reset-button="true"
166
+ condition="f_expire_date <= '{} 23:59:59'">
167
+ </datepicker>
168
+ </div>
169
+ <div class="col-sm-2 form-group" >
170
+ <label class="font_normal_body" title="生产日期大于" >生产日期</label>
171
+ <datepicker placeholder="生产日期大于" style="width:60%"
172
+ v-model="model.f_make_start_date"
173
+ :value.sync="model.f_make_start_date"
174
+ :format="'yyyy-MM-dd'"
175
+ :show-reset-button="true"
176
+ condition="f_make_date >= '{} 00:00:00'">
177
+ </datepicker>
178
+ </div>
179
+ <div class="col-sm-2 form-group" >
180
+ <label class="font_normal_body" title="生产日期小于">生产日期</label>
181
+ <datepicker placeholder="生产日期小于" style="width:60%"
182
+ v-model="model.f_make_end_date"
183
+ :value.sync="model.f_make_end_date"
184
+ :format="'yyyy-MM-dd'"
185
+ :show-reset-button="true"
186
+ condition="f_make_date <= '{} 23:59:59'">
187
+ </datepicker>
188
+ </div>
189
+ <div class="col-sm-2 form-group" >
190
+ <label for="startDate" class="font_normal_body" title="操作开始日期">开始日期</label>
191
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
192
+ v-model="model.startDate"
193
+ :value.sync="model.startDate"
194
+ :format="'yyyy-MM-dd'"
195
+ :show-reset-button="true"
196
+ condition="f_operate_date >= '{} 00:00:00'">
197
+ </datepicker>
198
+ </div>
199
+ <div class="col-sm-2 form-group" >
200
+ <label for="endDate" class="font_normal_body" title="操作结束日期">结束日期</label>
201
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
202
+ v-model="model.endDate"
203
+ :value.sync="model.endDate"
204
+ :format="'yyyy-MM-dd'"
205
+ :show-reset-button="true"
206
+ condition="f_operate_date <= '{} 23:59:59'">
207
+ </datepicker>
208
+ </div>
209
+ <div class="col-sm-2 form-group" >
210
+ <label class="font_normal_body">使用年限</label>
211
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_service_life"
212
+ condition="f_service_life = '{}'" placeholder='使用年限'>
213
+ </div>
214
+ <div class="col-sm-2 form-group" >
215
+ <label class="font_normal_body">备注信息</label>
216
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_comments"
217
+ condition="f_comments like '%{}%'" placeholder='备注'>
218
+ </div>
219
+ <div class="col-sm-2 form-group">
220
+ <label class="font_normal_body" >抄表员&emsp;</label>
221
+ <v-select :value.sync="model.f_inputtor"
222
+ v-model="model.f_inputtor"
223
+ :options='$parent.$parent.inputtores' placeholder='请选择'
224
+ condition="f_inputtor = '{}'"
225
+ close-on-select :search="false">
226
+ </v-select>
227
+ </div>
228
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"></res-select-group>
229
+ <div class="col-sm-2 form-group">
230
+ <label class="font_normal_body" >设备类型</label>
231
+ <v-select :value.sync="model.f_devices_type"
232
+ v-model="model.f_devices_type"
233
+ :options='$parent.$parent.devicestype' placeholder='请选择'
234
+ condition="f_devices_type = '{}'"
235
+ close-on-select :search="false">
236
+ </v-select>
237
+ </div>
238
+ </div>
239
+ </div>
240
+ </criteria>
241
+
242
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
243
+ <template partial='head'>
244
+ <tr>
245
+ <th>
246
+ <!--<nobr>客户编号</nobr>-->
247
+ <data-order field="f_userinfo_code" name="客户编号" :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
248
+ </th>
249
+ <th><nobr>客户名称</nobr></th>
250
+ <th><nobr>档案编号</nobr></th>
251
+ <th><nobr>客户电话</nobr></th>
252
+ <th>
253
+ <!--<nobr>客户地址</nobr>-->
254
+ <data-order field="f_address" name="客户地址" :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
255
+ </th>
256
+ <th><nobr>客户状态</nobr></th>
257
+ <th><nobr>所属表具(表号)</nobr></th>
258
+ <th><nobr>购买方式</nobr></th>
259
+ <th><nobr>设备类型</nobr></th>
260
+ <th><nobr>设备编号</nobr></th>
261
+ <th><nobr>设备品牌</nobr></th>
262
+ <th><nobr>设备型号</nobr></th>
263
+ <th><nobr>设备数量</nobr></th>
264
+ <th><nobr>设备状态</nobr></th>
265
+ <th><nobr>管道类型</nobr></th>
266
+ <th><nobr>厂家</nobr></th>
267
+ <th><nobr>流量</nobr></th>
268
+ <th><nobr>压力范围</nobr></th>
269
+ <th>
270
+ <data-order field="f_firstcheck_date" name="首校日期" :order.sync="$parent.$parent.$parent.orderFields.f_firstcheck_date"></data-order>
271
+ </th>
272
+ <th>
273
+ <data-order field="f_nextcheck_date" name="下次校验日期" :order.sync="$parent.$parent.$parent.orderFields.f_nextcheck_date"></data-order>
274
+ </th>
275
+ <th>
276
+ <!--<nobr>生产日期</nobr>-->
277
+ <data-order field="f_make_date" name="生产日期" :order.sync="$parent.$parent.$parent.orderFields.f_make_date"></data-order>
278
+ </th>
279
+ <th><nobr>使用年限</nobr></th>
280
+ <th><nobr>安装人</nobr></th>
281
+ <th>
282
+ <!--<nobr>安装日期</nobr>-->
283
+ <data-order field="f_input_date" name="安装日期" :order.sync="$parent.$parent.$parent.orderFields.f_input_date"></data-order>
284
+ </th>
285
+ <th>
286
+ <!--<nobr>到期日期</nobr>-->
287
+ <data-order field="f_expire_date" name="到期日期" :order.sync="$parent.$parent.$parent.orderFields.f_expire_date"></data-order>
288
+ </th>
289
+ <th><nobr>操作人</nobr></th>
290
+ <th>
291
+ <!--<nobr>操作时间</nobr>-->
292
+ <data-order field="f_operate_date" name="操作时间" :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
293
+ </th>
294
+ <th><nobr>备注</nobr></th>
295
+ </tr>
296
+ </template>
297
+ <template partial='body'>
298
+ <td style="text-align: center;"><nobr>
299
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
300
+ </nobr> </td>
301
+ <td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
302
+ <td style="text-align: center;"><nobr>{{row.f_olduserinfo_code}}</nobr></td>
303
+ <td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
304
+ <td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
305
+ <td style="text-align: center;"><nobr>{{row.f_user_state}}</nobr></td>
306
+ <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
307
+ <td style="text-align: center;"><nobr>{{row.watchpurchase}}</nobr></td>
308
+ <td style="text-align: center;"><nobr>{{row.f_devices_type}}</nobr></td>
309
+ <td style="text-align: center;"><nobr>{{row.f_devices_no}}</nobr></td>
310
+ <td style="text-align: center;"><nobr>{{row.f_brand}}</nobr></td>
311
+ <td style="text-align: center;"><nobr>{{row.f_devices_model}}</nobr></td>
312
+ <td style="text-align: center;"><nobr>{{row.f_devices_num}}</nobr></td>
313
+ <td style="text-align: center;"><nobr>{{row.f_userinfodevices_state}}</nobr></td>
314
+ <td style="text-align: center;"><nobr>{{row.f_pipe_type}}</nobr></td>
315
+ <td style="text-align: center;"><nobr>{{row.f_manufactor}}</nobr></td>
316
+ <td style="text-align: center;"><nobr>{{row.f_rate_flow}}</nobr></td>
317
+ <td style="text-align: center;"><nobr>{{row.f_pressure_range}}</nobr></td>
318
+ <td style="text-align: center;"><nobr>{{row.f_firstcheck_date}}</nobr></td>
319
+ <td style="text-align: center;"><nobr>{{row.f_nextcheck_date}}</nobr></td>
320
+ <td style="text-align: center;"><nobr>{{row.f_make_date}}</nobr></td>
321
+ <td style="text-align: center;"><nobr>{{row.f_service_life}}</nobr></td>
322
+ <td style="text-align: center;"><nobr>{{row.f_input_person}}</nobr></td>
323
+ <td style="text-align: center;"><nobr>{{row.f_input_date}}</nobr></td>
324
+ <td style="text-align: center;"><nobr>{{row.f_expire_date}}</nobr></td>
325
+ <td style="text-align: center;"><nobr>{{row.f_operator}}</nobr></td>
326
+ <td style="text-align: center;"><nobr>{{row.f_operate_date}}</nobr></td>
327
+ <td style="text-align: center;"><nobr>{{row.f_comments}}</nobr></td>
328
+ </template>
329
+ <template partial='foot'>
330
+
331
+ </template>
332
+ </data-grid>
333
+ </criteria-paged>
334
+
335
+ <table class="table-hover">
336
+ <tr style="position: relative" class="table-bordered">
337
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
338
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">暂无合计字段</td>
339
+ </tr>
340
+ </table>
341
+
342
+ <modal :show.sync="printshow" v-ref:modal backdrop="false">
343
+ <header slot="modal-header" class="modal-header text-center">
344
+ <h4 class="modal-title">打印列选择</h4>
345
+ <input type="checkbox" class="" id="f_generations" v-model="all">
346
+ <label for="f_generations" class="font-size">全选</label>
347
+ </header>
348
+ <article slot="modal-body">
349
+ <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
350
+ <div class="col-sm-3" v-for="f in fields">
351
+ <input type="checkbox" class="" :id="'water-owe-details-'+$index" v-model="modelval" :value="$key">
352
+ <label :for="'water-owe-details-'+$index" class="font-size">{{f}}</label>
353
+ </div>
354
+ </div>
355
+ </article>
356
+ <footer slot="modal-footer" class="modal-footer">
357
+ <center>
358
+ <button v-show="printshow" type="button" class="btn btn-default" @click='close()'>取消</button>
359
+ <button v-show="printshow" type="button" class="btn btn-success" @click='print()'>打印</button>
360
+ <print-table :model='model' v-show="false" v-ref:print
361
+ :top='40' :left='60' :right='40' :bottom='60'
362
+ :thead="thead" :tfoot='tfoot' :attach="yangsen"
363
+ :fields="modelval" :printpage="true">
364
+ </print-table>
365
+ </center>
366
+ </footer>
367
+ </modal>
368
+ </div>
369
+ <div class="flex" v-if="show">
370
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
371
+ </div>
372
+ </div></div></div>
373
+ </template>
374
+
375
+ <script>
376
+ import { PagedList } from 'vue-client'
377
+ import defaultPrint from '../../components/sale/config/DefaultPrint'
378
+ import exportConfig from './exportConfig'
379
+
380
+ let readySomething = async function (self) {
381
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
382
+ self.$MagGetSaleParam.initinputtor();
383
+ self.getinputtores();
384
+ // self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
385
+ // self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
386
+ // await self.$refs.paged.$refs.cri.search()
387
+ }
388
+ export default {
389
+ title: '表具设备查询',
390
+ data() {
391
+ return {
392
+ other:[],
393
+ footer:[],
394
+ model: new PagedList('rs/sql/deviceQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_userinfo_code desc'`}),
395
+ criteriaShow: false,
396
+ orgCondtionStr: '',
397
+ modelval: [],
398
+ printshow: false,
399
+ all: false,
400
+ fields: {},
401
+ //排序
402
+ orderitem:'f_userinfo_code desc',
403
+ orderFields: {
404
+ f_userinfo_id: 'no'
405
+ },
406
+ thead: '',
407
+ tfoot: '',
408
+ defaultfield: [],
409
+ config: {
410
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone']
411
+ },
412
+ show:false,
413
+ rowdata:{},
414
+ // 下拉框参数
415
+ inputtores:[],
416
+ usertypes:this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
417
+ userstates:this.$appdata.getParam('用户状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')] : [],
418
+ devicestype: [{label: '全部', value: ''},{label: '调压器', value: '调压器'}, {label: '报警器', value: '报警器'}, {label: '切断阀', value: '切断阀'}, ...this.$appdata.getParam('设备类型') ],
419
+ // brand: this.$appdata.getParam('设备品牌') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('设备品牌')] : [],
420
+ watchpurchases: this.$appdata.getParam('购买方式') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('购买方式')] : [],
421
+ pipetype: this.$appdata.getParam('管道类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('管道类型')] : [],
422
+ initres: {
423
+ org:[this.$login.f.orgid],
424
+ dep:[],
425
+ user:[],
426
+ },
427
+ // 合计数据
428
+ sumsmodel: {}
429
+ }
430
+ },
431
+ ready(){
432
+ readySomething(this).then(() => {
433
+ this.$emit('ready')
434
+ }).catch((error) => {
435
+ this.$emit('error', error)
436
+ })
437
+ },
438
+ methods: {
439
+ async getinputtores () {
440
+ // 获取抄表员
441
+ let rs = []
442
+ if (this.$login.f.f_gasman.length > 0) {
443
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
444
+ let temp = {
445
+ label: this.$login.f.f_gasman[i].name,
446
+ value: this.$login.f.f_gasman[i].name
447
+ }
448
+ rs.push(temp)
449
+ }
450
+ }
451
+ this.inputtores = [{label: '全部', value: ''}, ...rs]
452
+ },
453
+ getotherfooter () {
454
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
455
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
456
+ this.other = [];
457
+ this.footer = [];
458
+ let exportdata = this.getCondition;
459
+ let otherInData = [];
460
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
461
+ // let footerData = [], exportfield = this.getExportField;
462
+ // footerData.push("合计");
463
+ // let self = this;
464
+ // for (var field in self.sumsmodel) {
465
+ // footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
466
+ // }
467
+ // this.footer.push(footerData);
468
+ this.other.push(otherInData);
469
+ },
470
+ search(){
471
+ this.$refs.paged.$refs.cri.search()
472
+ },
473
+ cancel() {
474
+ this.show = false
475
+ },
476
+ showmsg(obj){
477
+ this.rowdata=obj
478
+ this.show=true
479
+ },
480
+ selfSearch (args) {
481
+ if (!this.orgCondtionStr) {
482
+ args.condition = `${args.condition}` + " and f_orgid = " + this.$login.f.orgid
483
+ } else {
484
+ args.condition = `${args.condition}` + this.orgCondtionStr
485
+ }
486
+
487
+ this.model.search(args.condition, args.model)
488
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
489
+ console.log('合计字段',this.sumsmodel)
490
+ },
491
+ clear(){
492
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
493
+ this.$refs.paged.$refs.cri.model[key] = []
494
+ })
495
+ },
496
+ hidden(){
497
+ this.criteriaShow = !this.criteriaShow
498
+ },
499
+ getRes(obj) {
500
+ this.orgCondtionStr = obj
501
+ },
502
+ stamp () {
503
+ this.all = false
504
+ //默认选择要打印的列
505
+ this.modelval = defaultPrint.config
506
+ this.fields = this.getfield
507
+ console.log('所有打印字段',this.fields)
508
+ this.printshow = true
509
+ this.put()
510
+ },
511
+ put () {
512
+ // 对Modelval进行排序
513
+ this.sortModelval()
514
+ this.thead = `<tr><th colspan=${this.modelval.length}>设备查询统计报表</th></tr><tr>`
515
+ for (let key of this.modelval) {
516
+ this.thead += '<th>' + this.fields[key] + '</th>'
517
+ }
518
+ this.thead += '</tr>'
519
+ },
520
+ print () {
521
+ this.$refs.print.PrintAsFile()
522
+ this.printshow = false
523
+ },
524
+ close () {
525
+ this.printshow = false
526
+ this.all = false
527
+ },
528
+ // 对选择的列进行排序
529
+ sortModelval () {
530
+ let sortModel = []
531
+ Object.keys(this.fields).forEach((key) => {
532
+ if (this.modelval.includes(key)) {
533
+ sortModel.push(key)
534
+ }
535
+ })
536
+ this.modelval = sortModel
537
+ console.log('选择的打印的字段', this.modelval)
538
+ },
539
+ sort (field, rule) {
540
+ // 将所有排序方式设为不排序,实现相互排斥
541
+ for (let key in this.orderFields) {
542
+ if (key === field) {
543
+ this.orderFields[key] = rule
544
+ } else {
545
+ this.orderFields[key] = 'no'
546
+ }
547
+ }
548
+ // 如果新规则不排序,还原为默认排序
549
+ if (rule === 'no') {
550
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
551
+ } else {
552
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
553
+ }
554
+
555
+ this.search()
556
+ }
557
+ },
558
+ watch:{
559
+ 'all' (val) {
560
+ if (val) {
561
+ this.modelval = this.bodyData
562
+ } else {
563
+ this.modelval = defaultPrint.config
564
+ this.put()
565
+ }
566
+ },
567
+ sumsmodel:{
568
+ handler: function(val) {
569
+ this.getotherfooter();
570
+ },
571
+ deep: true
572
+ },
573
+ 'modelval.length' () {
574
+ this.put()
575
+ },
576
+ },
577
+ computed:{
578
+ authArr () {
579
+ return this.$login.r ? this.$login.r : []
580
+ },
581
+ getCondition(){
582
+ return {condition: `${this.$refs.paged.$refs.cri.condition}`+this.orgCondtionStr,orderitem:this.orderitem}
583
+ },
584
+ getfield(){
585
+ let data = {}
586
+ this.bodyData.forEach((value, index)=>{
587
+ data[this.bodyData[index]] = this.headData[index]
588
+ })
589
+ //合计字段打印
590
+ this.tfoot = `<tr><th colspan=${this.modelval.length}>全表汇总信息: `
591
+ if(this.sumsmodel){
592
+ Object.keys(this.sumsmodel).forEach((key) => {
593
+ this.tfoot += this.fields[key] + '合计: ' + `<font color="blue">${this.sumsmodel[key]} </font>`
594
+ })
595
+ }else{
596
+ this.tfoot += '暂无'
597
+ }
598
+ this.tfoot += '</th></tr>'
599
+ return data
600
+ },
601
+ getExportField() {
602
+ return exportConfig.deviceConfig
603
+ }
604
+ }
605
+ }
606
+ </script>
@@ -16,9 +16,13 @@ export default{
16
16
  'f_debt_money':'相抵','f_charge_money':'实收','f_qianfei':'欠费'
17
17
  },
18
18
  deviceConfig: {
19
- 'f_userinfo_code': '客户编号','f_user_name':'客户名称','f_address': '客户地址', 'f_meternumber': '表号',
20
- 'f_devices_type': '设备类型','f_devices_no': '设备编号','f_brand': '设备品牌', 'f_devices_model': '设备型号',
21
- 'f_operate_date': '录入日期'
19
+ 'f_userinfo_code': '客户编号', 'f_user_name': '客户名称', 'f_olduserinfo_code': '档案编号', 'f_user_phone': '客户电话', 'f_address': '客户地址',
20
+ 'f_user_state': '客户状态', 'f_meternumber': '表号', 'watchpurchase': '购买方式', 'f_devices_type': '设备类型',
21
+ 'f_devices_no': '设备编号', 'f_manufactor': '厂家', 'f_rate_flow': '流量', 'f_pressure_range': '压力范围', 'f_firstcheck_date': '首校日期', 'f_nextcheck_date': '下次校验日期',
22
+ 'f_brand': '设备品牌', 'f_devices_model': '设备型号', 'f_devices_num': '设备数量', 'f_userinfodevices_state': '设备状态',
23
+ 'f_pipe_type': '管道类型', 'f_make_date': '生产日期', 'f_service_life': '使用年限', 'f_input_person': '安装人',
24
+ 'f_input_date': '安装日期', 'f_expire_date': '到期日期', 'f_operator': '操作人', 'f_operate_date': '操作时间',
25
+ 'f_comments': '备注'
22
26
  },
23
27
 
24
28
  chargeConfig: {
@@ -14,4 +14,6 @@ export default function () {
14
14
  Vue.component('month-gas-query', (resolve) => { require(['./MonthGasQuery'], resolve) })
15
15
  // 表具查询
16
16
  Vue.component('meter-query', (resolve) => { require(['./MeterQuery'], resolve) })
17
+ // 表具设备查询
18
+ Vue.component('equipment-query', (resolve) => { require(['./DeviceQuery'], resolve) })
17
19
  }
@@ -442,12 +442,12 @@
442
442
  </td>
443
443
 
444
444
  <!--每年充值-->
445
- <td style="text-align: center;">
446
- <nobr>{{row.yeartimes}}</nobr>
447
- </td>
448
- <td style="text-align: center;">
449
- <nobr>{{row.f_preamount_all}}</nobr>
450
- </td>
445
+ <!-- <td style="text-align: center;">-->
446
+ <!-- <nobr>{{row.yeartimes}}</nobr>-->
447
+ <!-- </td>-->
448
+ <!-- <td style="text-align: center;">-->
449
+ <!-- <nobr>{{row.f_preamount_all}}</nobr>-->
450
+ <!-- </td>-->
451
451
 
452
452
  <!--安检信息-->
453
453
  <td style="text-align: center;">