manage-client 3.2.295 → 3.2.296

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.
@@ -19,9 +19,9 @@ var qtx= 'http://36.103.222.144:6300/'
19
19
  // var bendi = 'http://203.57.101.233:8400/'
20
20
  // var bendi = 'http://121.36.106.17:8400/'
21
21
  // var fuwu = 'http://203.57.101.233:9001'
22
- var bendi = 'http://192.168.50.4:8400'
22
+ var bendi = 'http://119.187.112.234:8300/#'
23
23
  // var bendi = 'http://119.187.112.234:8400/'
24
- var wode = 'http://127.0.0.1:8084'
24
+ var wode = 'http://119.187.112.234:8300/#'
25
25
  // 192.168.
26
26
  // var str = 'http://127.0.0.1:8080/manage', str2 = 'http://192.168.50.199:8300'
27
27
  // var str = 'http://192.168.10.233:8300', str2 = 'http://192.168.10.14:8300'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.2.295",
3
+ "version": "3.2.296",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -134,7 +134,7 @@
134
134
 
135
135
  <th><nobr>上报类型</nobr></th>
136
136
  <th><nobr>表内累计充值金额</nobr></th>
137
- <th><nobr>噪音强度</nobr></th>
137
+ <th><nobr>信号强度</nobr></th>
138
138
  <th><nobr>信噪比</nobr></th>
139
139
  <th><nobr>电压</nobr></th>
140
140
 
@@ -0,0 +1,558 @@
1
+ <template>
2
+ <div class="flex-row" id="unit" v-show="(!echarts)&&(!isActiveTotalForm)">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <div class="flex" style="flex:1;">
6
+ <criteria-paged :model="model" :pager='true' v-ref:paged>
7
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:cri>
8
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
+ <div class="row" width="100%">
10
+ <div class="col-sm-2 form-group">
11
+ <label class="font_normal_body">客户编号</label>
12
+ <input style="width:60%" class="input_search" condition="f_userinfo_code like '%{}%'" placeholder='客户编号' type="text"
13
+ v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
14
+ >
15
+ </div>
16
+ <div class="col-sm-2 form-group">
17
+ <label class="font_normal_body">客户名称</label>
18
+ <input style="width:60%" class="input_search" condition="f_user_name like '%{}%'" placeholder='客户名称' type="text"
19
+ v-el:username v-model="model.f_username" v-next-el='userid'>
20
+ </div>
21
+ <div class="col-sm-2 form-group">
22
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
23
+ <v-select :value.sync="model.f_residential_area"
24
+ class="select_list select"
25
+ v-model="model.f_residential_area"
26
+ style="width: 60%"
27
+ multiple
28
+ condition="f_residential_area in {}"
29
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
30
+ close-on-select>
31
+
32
+ </v-select>
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body">用气地址</label>
36
+ <input style="width:60%" class="input_search" condition="f_address like '%{}%'" placeholder='用气地址' type="text"
37
+ v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
38
+ >
39
+ </div>
40
+ <div class="col-sm-4 form-group button-range">
41
+ <button @click="search()" class="button_search button_spacing">查询</button>
42
+ <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
43
+ <export-excel :data="$parent.$parent.getCondition()"
44
+ :field="$parent.$parent.getfield"
45
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserGasList" template-name='用气分析'
46
+ v-ref:exports
47
+ :choose-col="true"></export-excel>
48
+ <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()" >显示汇总</button>
49
+ <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
50
+ <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>
51
+ </div>
52
+ </div>
53
+ <div class="row" v-show="$parent.$parent.criteriaShow">
54
+ <div class="col-sm-2 form-group">
55
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
56
+ <input style="width:60%" class="input_search" condition="f_meternumber like '%{}'" placeholder='表号' type="text"
57
+ v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
58
+ >
59
+ </div>
60
+ <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">客户类型</label>
63
+ <v-select :options='$parent.$parent.Gasusertype'
64
+ :value.sync="model.f_user_type"
65
+ close-on-select
66
+ style="width:60%"
67
+ condition="f_user_type = '{}'"
68
+ id="f_user_type"
69
+ placeholder='客户类型'
70
+ v-model="model.f_user_type"
71
+ value-single="true">
72
+ </v-select>
73
+ </div>
74
+ <div class="col-sm-2 form-group">
75
+ <label class="font_normal_body">用气性质</label>
76
+ <v-select :options='$parent.$parent.Gasproperties'
77
+ :value.sync="model.f_gasproperties"
78
+ close-on-select
79
+ condition="f_gasproperties = '{}'"
80
+ id="f_gasproperties"
81
+ placeholder='用气性质'
82
+ style="width:60%"
83
+ v-model="model.f_gasproperties"
84
+ value-single="true">
85
+ </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' placeholder='请选择'
92
+ condition="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
+ <datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
98
+ :show-reset-button="reset"
99
+ :value.sync="model.startDate"
100
+ id="startDate"
101
+ style="width:60%"
102
+ placeholder="开始时间"
103
+ v-model="model.startDate">
104
+ </datepicker>
105
+ </div>
106
+ <div class="col-sm-2 form-group">
107
+ <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
108
+ <datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
109
+ :show-reset-button="reset"
110
+ :value.sync="model.endDate"
111
+ style="width:60%"
112
+ id="endDate"
113
+ style="width:60%"
114
+ placeholder="结束日期"
115
+ v-model="model.endDate">
116
+ </datepicker>
117
+ </div>
118
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
119
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;用气量&nbsp;</label>
120
+ <div class="row">
121
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount1"
122
+ condition="f_oughtamount >= {} " placeholder="">
123
+ <label class="font_normal_body"> ≤ x ≤ </label>
124
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount2"
125
+ condition="f_oughtamount <= {} " placeholder="">
126
+ </div>
127
+ </div>
128
+ <div class="col-sm-2 form-group">
129
+ <label class="font_normal_body">壁&ensp;挂&ensp;炉</label>
130
+ <v-select id="f_meter_brand"
131
+ v-model="model.f_usetype"
132
+ placeholder=''
133
+ :value.sync="model.f_usetype"
134
+ :options='$parent.$parent.usetypes'
135
+ condition="f_usetype {}" :search="false"
136
+ close-on-select style="width: 60%">
137
+ </v-select>
138
+ </div>
139
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
140
+ <label class="font_normal_body">期末结余</label>
141
+ <div class="row">
142
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance1"
143
+ condition="f_curbalance >= {} " placeholder="">
144
+ <label class="font_normal_body"> ≤ x ≤ </label>
145
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance2"
146
+ condition="f_curbalance <= {} " placeholder="">
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </criteria>
152
+ <data-grid :model="model" id="usergasall" partial='list' class="list_area table_sy" v-ref:grid>
153
+ <template partial='head'>
154
+ <tr>
155
+ <th style="text-align:center">
156
+ <nobr>客户编号</nobr>
157
+ </th>
158
+ <th style="text-align:center">
159
+ <nobr>客户类型</nobr>
160
+ </th>
161
+ <th style="text-align:center">
162
+ <nobr>用气性质</nobr>
163
+ </th>
164
+ <th style="text-align:center">
165
+ <nobr>用户电话</nobr>
166
+ </th>
167
+ <!--<th style="text-align:center"><nobr>用气属性</nobr></th>-->
168
+ <th style="text-align:center">
169
+ <nobr>客户名称</nobr>
170
+ </th>
171
+ <th style="text-align:center">
172
+ <nobr>小区</nobr>
173
+ </th>
174
+ <th style="text-align:center">
175
+ <nobr>用气单价</nobr>
176
+ </th>
177
+ <th style="text-align:center">
178
+ <nobr>累购气量</nobr>
179
+ </th>
180
+ <th style="text-align:center">
181
+ <nobr>累购金额</nobr>
182
+ </th>
183
+ <th style="text-align:center">
184
+ <nobr>账号结余</nobr>
185
+ </th>
186
+ <th style="text-align:center">
187
+ <nobr>气表名称</nobr>
188
+ </th>
189
+ <th style="text-align:center">
190
+ <nobr>用气地址</nobr>
191
+ </th>
192
+ <th style="text-align:center">
193
+ <nobr>表号</nobr>
194
+ </th>
195
+ <th style="text-align:center">
196
+ <nobr>壁挂炉</nobr>
197
+ </th>
198
+ <th style="text-align:center">
199
+ <nobr>期初余额(元)</nobr>
200
+ </th>
201
+ <th style="text-align:center">
202
+ <nobr>上期底数</nobr>
203
+ </th>
204
+ <th style="text-align:center">
205
+ <nobr>本期底数</nobr>
206
+ </th>
207
+ <!-- <th style="text-align:center"><nobr>气价(元/m³)</nobr></th>-->
208
+ <th style="text-align:center">
209
+ <nobr>用气量(m³)</nobr>
210
+ </th>
211
+ <th style="text-align:center">
212
+ <nobr>用气金额(元)</nobr>
213
+ </th>
214
+ <!-- <th style="text-align:center">-->
215
+ <!-- <nobr>充值金额(元)</nobr>-->
216
+ <!-- </th>-->
217
+ <th style="text-align:center">
218
+ <nobr>期末结余(元)</nobr>
219
+ </th>
220
+ </tr>
221
+
222
+
223
+ </template>
224
+ <template partial='body'>
225
+ <td>{{row.f_userinfo_code}}</td>
226
+ <td style="text-align:center">{{row.f_user_type}}</td>
227
+ <td style="text-align:center">{{row.f_gasproperties}}</td>
228
+ <td style="text-align:center">{{row.f_user_phone}}</td>
229
+ <!--<td style="text-align:center">{{row.f_gasproperties2}}</td>-->
230
+ <td style="text-align:center">
231
+ <nobr>{{row.f_user_name}}</nobr>
232
+ </td>
233
+ <td style="text-align:center">
234
+ <nobr>{{row.f_residential_area}}</nobr>
235
+ </td>
236
+ <td style="text-align:center">
237
+ <nobr>{{row.f_price}}</nobr>
238
+ </td>
239
+ <td style="text-align:center">{{row.f_total_gas}}</td>
240
+ <td style="text-align:center">{{row.f_total_fee}}</td>
241
+ <td style="text-align:center">{{row.f_balance_amount}}</td>
242
+ <td style="text-align:center">{{row.f_meter_brand}}</td>
243
+ <td>
244
+ <nobr>{{row.f_address}}</nobr>
245
+ </td>
246
+ <td>{{row.f_meternumber}}</td>
247
+ <td>{{row.isbgl}}</td>
248
+ <td style="text-align:center">{{row.f_balance}}</td>
249
+ <td style="text-align:center">{{row.f_last_tablebase}}</td>
250
+ <td style="text-align:center">{{row.f_tablebase}}</td>
251
+ <!--<td style="text-align:center">{{row.f_avg_price}}</td>-->
252
+ <td style="text-align:center">{{row.f_oughtamount}}</td>
253
+ <td style="text-align:center">{{row.f_oughtfee}}</td>
254
+ <!-- <td style="text-align:center">{{row.f_collection}}</td>-->
255
+ <td style="text-align:center">{{row.f_curbalance}}</td>
256
+ </template>
257
+ </data-grid>
258
+ </criteria-paged>
259
+ <table class="table-hover">
260
+ <tr style="position: relative" class="table-bordered">
261
+ <td
262
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
263
+ 汇总信息
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;{{model.sums.f_total_gas}}
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;{{model.sums.f_total_fee}}
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;{{model.sums.f_balance_amount}}
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;{{model.sums.f_oughtamount}}
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;{{model.sums.f_oughtfee}}
279
+ </td>
280
+ </tr>
281
+ </table>
282
+ </div>
283
+ </div>
284
+ </div>
285
+ </div>
286
+ <div class="flex-row" v-if="echarts">
287
+ <user-gas-echarts :condition="condition" :echarts="echarts" :enddate="endDate"
288
+ :groupname="groupname[0]" :startdate="startDate"></user-gas-echarts>
289
+ </div>
290
+ <!--汇总表显示模板-->
291
+ <div class="flex-row" v-if="isActiveTotalForm">
292
+ <user-gas-eform :condition="condition" :enddate="endDate" :startdate="startDate"></user-gas-eform>
293
+ </div>
294
+ </template>
295
+
296
+ <script>
297
+ import {HttpResetClass, PagedList} from 'vue-client'
298
+ import UserGasEcharts from './UserGasEcharts'
299
+ import * as Util from '../../Util'
300
+ import getLodop from '../../plugins/LodopFuncs'
301
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
302
+ let readyGen = async function (self) {
303
+ await self.$MagLoadParams.loadParam()
304
+ self.initParams()
305
+ self.getaddress()
306
+ }
307
+
308
+ export default {
309
+ title: '用气分析',
310
+ props: ['data'],
311
+ components: {UserGasEcharts},
312
+ data() {
313
+ return {
314
+ resshow:['company','slicearea'],
315
+ model: new PagedList('rs/sql/webmeter_getUserGasList', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}, {
316
+ f_oughtamount: 0,
317
+ f_oughtfee: 0,
318
+ f_total_gas: 0,
319
+ f_total_fee: 0,
320
+ f_balance_amount: 0
321
+ }),
322
+ getGroupNameByDate: [
323
+ {label: '年份', value: 'year'},
324
+ {label: '月份', value: 'month'},
325
+ {label: '周', value: 'week'}
326
+ ],
327
+ meterbrands: [],
328
+ residentialArea: [],
329
+ criteriaShow: false,
330
+ reportStr: null,
331
+ show: false,
332
+ initres: {
333
+ org:[this.$login.f.orgid],
334
+ dep:[],
335
+ user:[]
336
+ },
337
+ outlets: [],
338
+ operator: [],
339
+ filename: '',
340
+ searchshow: true,
341
+ startDate: '',
342
+ endDate: '',
343
+ echarts: false,
344
+ isActiveTotalForm: false,
345
+ condition: '1=1',
346
+ getfield: {},
347
+ config: {
348
+ excelHeaders: {
349
+ 'f_userinfo_code':'客户编号',
350
+ 'f_user_type':'客户类型',
351
+ 'f_gasproperties': '用气性质',
352
+ 'f_user_name': '客户名称',
353
+ 'f_user_phone':'客户电话',
354
+ 'f_residential_area': '小区',
355
+ 'f_price':'用气单价',
356
+ 'f_address':'用气地址',
357
+ 'f_meternumber': '表号',
358
+ 'isbgl': '壁挂炉',
359
+ 'f_meter_brand':'气表品牌',
360
+ 'f_balance':'期初余额(元)',
361
+ 'f_last_tablebase': '上期底数',
362
+ 'f_tablebase':'本期底数',
363
+ 'f_oughtamount':'用气量(m³)',
364
+ 'f_oughtfee':'用气金额(元)',
365
+ 'f_curbalance':'期末结余(元)'
366
+
367
+ }
368
+ },
369
+ groupname: ['day'],
370
+ getgroupname: [
371
+ {label: '年份', value: 'year'},
372
+ {label: '月份', value: 'month'},
373
+ {label: '周', value: 'week'},
374
+ {label: '日', value: 'day'}
375
+ ],
376
+ // orgCondtionStr: ' and h.f_orgid in (' + this.$login.f.orgid + ')',
377
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
378
+ orgid:[this.$login.f.orgid],
379
+ usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}],
380
+ zonesdata:''
381
+ }
382
+ },
383
+ ready() {
384
+ readyGen(this)
385
+ console.log('444444444', Util.addDate(new Date(),-6).substring(0,10))
386
+ this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-4).substring(0,10) + ' 00:00:00'
387
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
388
+ // this.$refs.paged.$refs.cri.search()
389
+ this.getfield = this.config.excelHeaders
390
+ },
391
+ methods: {
392
+ // 查询开关
393
+ hidden() {
394
+ this.criteriaShow = !this.criteriaShow
395
+ },
396
+ async getaddress(){
397
+ let HttpReset = new HttpResetClass()
398
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
399
+ data: {
400
+ condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
401
+ }
402
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
403
+ console.log('小区',data)
404
+ let house = [{label: '全部', value: ''}]
405
+ for (let row of data.data){
406
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
407
+ }
408
+ this.residentialArea = house
409
+ },
410
+ SaveAsFile(str) {
411
+ this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
412
+ if (res === 'confirm') {
413
+ let style = '<style>' +
414
+ 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
415
+ let strHtml = style + document.getElementById(str).innerHTML;
416
+ console.log(strHtml);
417
+ let LODOP = getLodop();
418
+ LODOP.PRINT_INIT('');
419
+ LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
420
+ LODOP.SAVE_TO_FILE('用气分析.xls')
421
+ }
422
+ })
423
+ },
424
+ clearmsg() {
425
+ this.$refs.paged.$refs.cri.model = {}
426
+ },
427
+ initParams() {
428
+ // 初始化气表品牌
429
+ let brandArr = []
430
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
431
+ if (item.value.f_meter_type == '物联网表') {
432
+ let temp = {}
433
+ temp.label = item.label
434
+ temp.value = item.value.f_meter_brand
435
+ brandArr.push(temp)
436
+ }
437
+ })
438
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
439
+
440
+ },
441
+ search(args) {
442
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
443
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
444
+ if (this.endDate == '' || this.startDate == '') {
445
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
446
+ }
447
+ // this.condition = this.$refs.paged.$refs.cri.condition + ` ${this.orgCondtionStr}`
448
+ if (this.orgCondtionStr)
449
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid in ${this.orgCondtionStr}`
450
+ else
451
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid = ${this.$login.f.orgid}`
452
+ if(this.zonesdata){
453
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and ${this.zonesdata}`
454
+ }
455
+ args.condition = this.condition
456
+ this.model.search(args.condition, args.model)
457
+ },
458
+ // 显示柱状图
459
+ showEcharts() {
460
+ this.echarts = true
461
+ this.isActiveTotalForm = false
462
+ },
463
+ notShowTotalForm() {
464
+ this.echarts = false
465
+ this.isActiveTotalForm = false
466
+ },
467
+ // 不显示柱状图
468
+ notShowEcharts() {
469
+ this.echarts = false
470
+ this.isActiveTotalForm = false
471
+ },
472
+ // 显示汇总数据表格
473
+ showTotalForm() {
474
+ this.echarts = false
475
+ this.isActiveTotalForm = true
476
+ },
477
+ close() {
478
+ this.show = false
479
+ },
480
+ getRes(obj) {
481
+ this.orgCondtionStr = plugin.convertToIn(obj)
482
+ if(obj.indexOf("f_zones = ")>0){
483
+ this.zonesdata = obj.substring(obj.indexOf("f_zones = "))
484
+ }else{
485
+ this.zonesdata='';
486
+ }
487
+ },
488
+ getorg(obj) {
489
+ this.orgCondtionStr = plugin.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
490
+ },
491
+ getCondition () {
492
+ return {
493
+ condition: this.condition,
494
+ startDate: this.startDate,
495
+ endDate: this.endDate
496
+ }
497
+ }
498
+ // getRes(condition,obj) {
499
+ // this.orgCondtionStr = condition
500
+ // this.orgname = obj.orgnames[0]
501
+ // this.depname = obj.depnames[0]
502
+ // }
503
+ },
504
+ watch: {
505
+ 'data'(val) {
506
+ if (val.f_files_path) {
507
+ this.getFileContent(val.f_files_path)
508
+ } else {
509
+ this.reportStr = null
510
+ }
511
+ }
512
+ },
513
+ computed: {
514
+ houseTypes() {
515
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
516
+ },
517
+ positions() {
518
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
519
+ },
520
+ Gasusertype() {
521
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
522
+ },
523
+ valveStatus() {
524
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
525
+ },
526
+ Gasproperties() {
527
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
528
+ }
529
+ }
530
+ }
531
+ </script>
532
+ <style>
533
+ .mystyle {
534
+ float: right;
535
+ padding-right: 10%;
536
+ }
537
+
538
+ .mystyle1 {
539
+ padding-top: 10px;
540
+
541
+ }
542
+
543
+ .mystyle2 {
544
+ width: 100%;
545
+ height: 35px;
546
+ /*background: #00A3F0;*/
547
+ padding-left: 15px;
548
+ float: left;
549
+ }
550
+
551
+ .datapanel {
552
+ color: #333;
553
+ background-color: white;
554
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
555
+ padding: 10px 10px 10px 10px;
556
+ border-radius: 15px;
557
+ }
558
+ </style>
@@ -0,0 +1,240 @@
1
+ <template lang="html">
2
+ <div class="basic-main" style="height: 100%;">
3
+ <div class="row" style="height: 15%;width: 100%;" v-show="echarts">
4
+ <div class="col-sm-2" style="display: inline-block;">
5
+ <button @click="$parent.notShowEcharts()" class="button_clear button_spacing">隐藏图表</button>
6
+ </div>
7
+ <!--图显示模板-->
8
+ <div class="row col-sm-3 mystyle" style="display: inline-block;">
9
+ <label class="font_normal_body">图表统计项</label>
10
+ <v-select :options='$parent.getgroupname' :value.sync="groupname"
11
+ close-on-select
12
+ id="groupname"
13
+ placeholder='分组项'
14
+ v-model="groupname"
15
+ value-single="true"></v-select>
16
+ </div>
17
+ </div>
18
+ <div style="height: 80%;width: 98%;">
19
+ <div id="info"></div>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import * as Util from '../../Util'
26
+ import co from 'co'
27
+ import { HttpResetClass } from 'vue-client'
28
+
29
+ let getData = function * (self, condition) {
30
+ let load = new HttpResetClass()
31
+ load.load('POST', 'rs/sql/webmeter_getUserGasGroup',
32
+ {data: {condition: condition, groupname: self.groupname[0], startDate: self.startdate,
33
+ endDate: self.enddate}},
34
+ {resolveMsg: null, rejectMsg: null})
35
+ .then((res) => {
36
+ let arrparams = []
37
+ let gasdata1 = []
38
+ let gasdata2 = []
39
+ let gasdata3 = []
40
+ for (var i = 0; i < res.data.length; i++) {
41
+ arrparams[i] = res.data[i].f_type
42
+ gasdata1[i] = res.data[i].f_oughtamount1
43
+ gasdata2[i] = res.data[i].f_oughtamount2
44
+ gasdata3[i] = res.data[i].f_oughtamount3
45
+ }
46
+ self.set(arrparams, gasdata1, gasdata2, gasdata3)
47
+ })
48
+ }
49
+ export default {
50
+ props: {
51
+ echarts:{
52
+ type:Boolean,
53
+ default:false
54
+ },
55
+ startdate: {
56
+ type: String,
57
+ default: Util.toStandardDateString()
58
+ },
59
+ enddate: {
60
+ type: String,
61
+ default: Util.toStandardDateString()
62
+ },
63
+ condition: {
64
+ type: String,
65
+ default: '1=1'
66
+ },
67
+ groupname: {
68
+ type: String,
69
+ default: 'year'
70
+ }
71
+ },
72
+ data () {
73
+ title: '业务类型'
74
+ return {
75
+ xc: ''
76
+ }
77
+ },
78
+ ready(){
79
+ console.log(this.echarts)
80
+ },
81
+ methods: {
82
+ set (arrparams, gasdata1, gasdata2, gasdata3) {
83
+ console.log('--------->>>>>>>>>>>>',arrparams,gasdata1,gasdata3)
84
+ console.log("ec:"+this.echarts)
85
+ let name = ''
86
+ if (this.groupname === 'year')
87
+ {
88
+ name = '年'
89
+ } else if (this.groupname === 'month'){
90
+ name = '月'
91
+ } else if (this.groupname === 'week'){
92
+ name = '周'
93
+ } else {
94
+ name = '日'
95
+ }
96
+ const statInfo = document.getElementById('info') // 获取图表元素
97
+ statInfo.style.width = window.innerWidth - 200 + "px"; //初始化echarts图表宽度
98
+ statInfo.style.height = window.innerHeight - 200 + "px"; //初始化echarts图表宽度
99
+ this.xc = this.$echarts.init(statInfo)
100
+ // 设置宽度自适应
101
+ window.addEventListener('resize', () => {
102
+ statInfo.style.width = window.innerWidth - 200 + "px";
103
+ statInfo.style.height = window.innerHeight - 200 + "px";
104
+ this.xc.resize();
105
+ })
106
+ // this.xc.resize({height: '100%',width: '100%'})
107
+ this.xc.setOption({
108
+ title: {
109
+ text: '用气' + name + '分析图',
110
+ left: 'center',
111
+ y: '10',
112
+ textStyle: {
113
+ color: '#000',
114
+ fontSize: 20
115
+ }
116
+ },
117
+ color: ['#0070c0', '#00b050','#e1a822'],
118
+ tooltip: {
119
+ trigger: 'axis',
120
+ extraCssText: 'width: auto;height: auto;'
121
+ },
122
+ grid:{
123
+ top:'20%',
124
+ },
125
+ legend: {
126
+ y: '50',
127
+ data: ['用气量(民用)(m³)', '用气量(商业)(m³)', '用气量(工业)(m³)']
128
+ },
129
+ toolbox: {
130
+ y: '50',
131
+ show: true,
132
+ right:'2%',
133
+ feature: {
134
+ mark: {show: true},
135
+ dataView: {show: true, readOnly: false},
136
+ magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
137
+ restore: {show: true},
138
+ saveAsImage: {show: true}
139
+ }
140
+ },
141
+ calculable: true,
142
+ xAxis: [
143
+ { name: '日期',
144
+ nameTextStyle: {
145
+ fontSize: 15
146
+ },
147
+ type: 'category',
148
+ data: arrparams
149
+ }
150
+ ],
151
+ yAxis : [
152
+ {
153
+ type : 'value',
154
+ name: '用气量(m³)',
155
+ nameTextStyle: {
156
+ fontSize: 15
157
+ },
158
+ axisLabel: {
159
+ show: true,
160
+ textStyle: {
161
+ fontSize: 15,
162
+ 'color': '#7d8000'
163
+ }
164
+ }
165
+ }
166
+ ],
167
+ series : [
168
+ {
169
+ name: '用气量(民用)(m³)',
170
+ type: 'bar',
171
+ smooth: true,
172
+ itemStyle: {normal: {areaStyle: {type: 'default'}}},
173
+ data: gasdata1,
174
+ markPoint: {
175
+ data: [
176
+ {type: 'max', name: '最大值'},
177
+ {type: 'min', name: '最小值'}
178
+ ]
179
+ },
180
+ markLine: {
181
+ data: [
182
+ {type: 'average', name: '平均值'}
183
+ ]
184
+ }
185
+ },
186
+ {
187
+ name: '用气量(商业)(m³)',
188
+ type: 'bar',
189
+ smooth: true,
190
+ itemStyle: {normal: {areaStyle: {type: 'default'}}},
191
+ data: gasdata2,
192
+ markPoint: {
193
+ data: [
194
+ {type: 'max', name: '最大值'},
195
+ {type: 'min', name: '最小值'}
196
+ ]
197
+ },
198
+ markLine: {
199
+ data: [
200
+ {type: 'average', name: '平均值'}
201
+ ]
202
+ }
203
+ },
204
+ {
205
+ name: '用气量(工业)(m³)',
206
+ type: 'bar',
207
+ smooth: true,
208
+ itemStyle: {normal: {areaStyle: {type: 'default'}}},
209
+ data: gasdata3,
210
+ markPoint: {
211
+ data: [
212
+ {type: 'max', name: '最大值'},
213
+ {type: 'min', name: '最小值'}
214
+ ]
215
+ },
216
+ markLine: {
217
+ data: [
218
+ {type: 'average', name: '平均值'}
219
+ ]
220
+ }
221
+ }
222
+ ]
223
+ })
224
+ },
225
+ searchdata (condition) {
226
+ console.log("ec:"+this.echarts)
227
+ let getGen = getData(this, condition)
228
+ co(getGen)
229
+ }
230
+ },
231
+ watch: {
232
+ 'echarts' (val) {
233
+ this.searchdata(this.condition)
234
+ },
235
+ 'groupname' (val) {
236
+ this.searchdata(this.condition)
237
+ }
238
+ }
239
+ }
240
+ </script>
@@ -5,4 +5,8 @@ export default function () {
5
5
  Vue.component('user-lost-contact-analysis', (resolve) => { require(['./UserLostContactAnalysis'], resolve) })
6
6
  // 失联查询
7
7
  Vue.component('lost-contact-analysis-list', (resolve) => { require(['./LostContactAnalysisList'], resolve) })
8
+ // 失联查询
9
+ Vue.component('new-webmeter-user-gas-all', (resolve) => { require(['./UserGasAll.vue'], resolve) })
10
+ // 失联查询
11
+ Vue.component('user-gas-echarts', (resolve) => { require(['./UserGasEcharts.vue'], resolve) })
8
12
  }
@@ -401,7 +401,8 @@
401
401
  return {
402
402
  condition: this.condition,
403
403
  startDate:`${this.$refs.paged.$refs.criteria.model.startDate}`,
404
- endDate:`${this.$refs.paged.$refs.criteria.model.endDate}`
404
+ endDate:`${this.$refs.paged.$refs.criteria.model.endDate}`,
405
+ f_userinfo_code:`${this.$refs.paged.$refs.criteria.model.f_userinfo_code}`
405
406
  }
406
407
  },
407
408
  getstart(){
@@ -0,0 +1,196 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <div class="form-group" >
4
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
5
+ <div class="row">
6
+ <div class="col-sm-3 form-group" >
7
+ <label class="font_normal_body" for="startDate">开始日期:</label>
8
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
9
+ v-model="model.startDate"
10
+ :value.sync="model.startDate"
11
+ :disabled-days-of-Week="[]"
12
+ :format="'yyyy-MM-dd HH:mm:ss'"
13
+ :show-reset-button="reset">
14
+ </datepicker>
15
+ </div>
16
+ <div class="col-sm-3 form-group" >
17
+ <label class="font_normal_body" for="endDate">结束日期:</label>
18
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
19
+ v-model="model.endDate"
20
+ :value.sync="model.endDate"
21
+ :disabled-days-of-Week="[]"
22
+ :format="'yyyy-MM-dd HH:mm:ss'"
23
+ :show-reset-button="reset">
24
+ </datepicker>
25
+ </div>
26
+ <div class="col-sm-3 form-group" >
27
+ <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
28
+ <right-tree id="org" @re-res="getRes"></right-tree>
29
+ </div>
30
+ <div class="col-sm-3 form-group">
31
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
32
+ <res-select id="dep" restype='department'
33
+ @res-select="getdep"
34
+ :parentresid="depresid"
35
+ :initresid='queryData.depid' >
36
+ </res-select>
37
+
38
+ </div>
39
+ <div class="col-sm-3 form-group">
40
+ <label class="font_normal_body">气表品牌</label>
41
+ <v-select :value.sync="model.f_meter_brand"
42
+ v-model="model.f_meter_brand"
43
+ :options="meterbrands" value-single
44
+ close-on-select></v-select>
45
+ </div>
46
+ <div class="col-sm-3 form-group">
47
+ <label class="font_normal_body">换表类型</label>
48
+ <v-select :value.sync="queryData2.f_changetables_reason"
49
+ v-model="queryData2.f_changetables_reason"
50
+ :options="reasons" multiple>
51
+ </v-select>
52
+ </div>
53
+ <div class="col-sm-2 form-group" style="float:right;">
54
+ <button class="button_search" @click="searchData()">查询</button>
55
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':criteriaShow,
56
+ 'button_shrink_bottom':!criteriaShow}" @click="hidden()"></div>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div style="width:100%;height: 100%;margin-top: 2%" class="div-iframe">
61
+ <iframe class="iframe_style" style="width:100%;height:100% ;border: medium none;" :src="url" v-if="isShow"></iframe>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </template>
66
+
67
+ <script>
68
+ let readySomething = async function (self) {
69
+ await self.$MagLoadParams.loadParam()
70
+ self.initParams()
71
+ }
72
+ export default {
73
+ title: '客户类型分项汇总表',
74
+ data () {
75
+ return {
76
+ orgCondtionStr: '1=1',
77
+ model: {
78
+ startDate: '',
79
+ endDate: '',
80
+ f_meter_brand: ''
81
+ },
82
+ isShow: false,
83
+ url: '',
84
+ urlPrefix: 'http://139.9.204.64:8080/report/jmreport/shareView/825973291077713920',
85
+ queryData: {
86
+ f_orgid: [],
87
+ f_depid: [],
88
+ f_payment: []
89
+ },
90
+ queryData2: {
91
+ f_changetables_reason: []
92
+ },
93
+ orgname: '',
94
+ depresid: [],
95
+ userresid: [],
96
+ depname: '',
97
+ operatorname: '',
98
+ operatorid: [],
99
+ depid: [],
100
+ criteriaShow: false,
101
+ meterbrands: [],
102
+ reasons: this.$appdata.getParam('换表原由') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('换表原由')] : [],
103
+ }
104
+ },
105
+ ready () {
106
+ this.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
107
+ this.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
108
+ // this.$refs.paged.$refs.criteria.search()
109
+ readySomething(this).then(() => {
110
+ this.$emit('ready')
111
+ }).catch((error) => {
112
+ this.$emit('error', error)
113
+ })
114
+ this.searchData()
115
+ },
116
+ methods: {
117
+ initParams () {
118
+ // 初始化气表品牌
119
+ let brandArr = []
120
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
121
+ let temp = {}
122
+ temp.label = item.label
123
+ temp.value = item.value.f_meter_brand
124
+ brandArr.push(temp)
125
+ })
126
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
127
+ },
128
+ dataHand (obj) {
129
+ let queryData = ''
130
+ queryData = this.orgCondtionStr
131
+ for (let key in obj) {
132
+ if (obj[key] !== null && obj[key] !== '' && obj[key] !== undefined && obj[key].length > 0) {
133
+ if (Array.isArray(obj[key])) {
134
+ let stringValue = ''
135
+ for (var i = 0; i < obj[key].length; i++) {
136
+ if (i === obj[key].length - 1) {
137
+ stringValue = stringValue + "'" + obj[key][i] + "'"
138
+ } else {
139
+ stringValue = stringValue + "'" + obj[key][i] + "',"
140
+ }
141
+ }
142
+ queryData = queryData + ' and t.' + key + ' in (' + stringValue + ')'
143
+ } else {
144
+ queryData = queryData + ' and t.' + key + ' = ' + "'" + obj[key] + "'"
145
+ }
146
+ }
147
+ }
148
+ return queryData
149
+ },
150
+ searchData () {
151
+ let condition = this.dataHand(this.queryData)
152
+ let f_changetables_reason = this.dataHand(this.queryData2)
153
+ // 重置url
154
+ this.url = ''
155
+ // encodeURIComponent是将该参数中的特殊符号进行编码,后端会进行解码
156
+ this.url = this.urlPrefix + '?condition=' + encodeURIComponent(condition) +
157
+ '&startDate=' + encodeURIComponent(this.model.startDate) +
158
+ '&endDate=' + encodeURIComponent(this.model.endDate) +
159
+ '&f_meter_brand=' + encodeURIComponent(this.model.f_meter_brand) +
160
+ '&f_changetables_reason=' + encodeURIComponent(f_changetables_reason)
161
+ console.log('报表===>' + this.url)
162
+ this.isShow = true
163
+ },
164
+ load () {
165
+ this.isShow = true
166
+ },
167
+ getRes (obj) {
168
+ this.orgname = obj.res[0]
169
+ this.depresid = obj.resids
170
+ this.userresid = obj.resids
171
+ this.queryData.f_orgid = obj.resids
172
+ },
173
+ getdep (obj, val) {
174
+ this.depname = val[0]
175
+ this.userresid = obj
176
+ this.queryData.f_depid = obj
177
+ },
178
+ hidden () {
179
+ this.criteriaShow = !this.criteriaShow
180
+ }
181
+ },
182
+ computed: {
183
+ }
184
+ }
185
+ </script>
186
+ <style scoped>
187
+ .noborder{
188
+ border: none;
189
+ }
190
+ .span{
191
+ height: 0;
192
+ }
193
+ .iframe_style{
194
+ border: medium none;
195
+ }
196
+ </style>
@@ -10,5 +10,6 @@ export default function () {
10
10
  Vue.component('echarts-box', (resolve) => { require(['./EchartsBox'], resolve) })
11
11
  // 新增用户散列图
12
12
  Vue.component('bank-manager', (resolve) => { require(['./BankManager'], resolve) })
13
-
13
+ // 换表故障统计报表
14
+ Vue.component('change-meter-fault-summary', (resolve) => { require(['./meterFaultChangeSummary'], resolve) })
14
15
  }
package/src/main.js CHANGED
@@ -7,8 +7,9 @@ import { system } from 'system-clients'
7
7
  import { ldap } from 'ldap-clients'
8
8
  import saleManage from './saleManage'
9
9
  import webmeterManage from './webmeterManage'
10
+ import webmeterManageF from './filiale/shanxian/webmeterManage'
10
11
  import reportManage from './reportManage'
11
- import reportManageF from './filiale/xinkang/reportManage'
12
+ import reportManageF from './filiale/shanxian/reportManage'
12
13
  import newmanage from './newmanage'
13
14
  import ManageHome from './ManageHome'
14
15
  import echarts from 'echarts'
@@ -47,6 +48,7 @@ system(false)
47
48
 
48
49
  saleManage()
49
50
  webmeterManage()
51
+ webmeterManageF()
50
52
  ManageHome()
51
53
  newmanage()
52
54
  reportManage()