manage-client 3.2.33 → 3.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/.gradle/{4.4 → 5.5}/fileChanges/last-build.bin +0 -0
  2. package/.gradle/5.5/fileHashes/fileHashes.lock +0 -0
  3. package/.gradle/5.5/gc.properties +0 -0
  4. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  6. package/build/dev-server.js +4 -6
  7. package/package.json +1 -1
  8. package/src/components/BasisEcharts/BarChart.vue +247 -247
  9. package/src/components/SellReport/BonSummary.vue +178 -178
  10. package/src/components/SellReport/ChargePrick.vue +205 -205
  11. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  12. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  13. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  14. package/src/components/SellReport/NonResidentGas.vue +203 -203
  15. package/src/components/SellReport/OutletTable.vue +258 -258
  16. package/src/components/SellReport/QibiaoShouqi.vue +242 -242
  17. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  18. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  19. package/src/components/SellReport/SellingTable.vue +220 -220
  20. package/src/components/SellReport/UserSellingGas.vue +228 -228
  21. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  22. package/src/components/daping/GMap.vue +636 -636
  23. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  24. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  25. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  26. package/src/components/sale/businessquery/ChargeQuery.vue +1250 -1245
  27. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  28. package/src/components/sale/businessquery/InspectListUser.vue +412 -412
  29. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  30. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  31. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  32. package/src/components/sale/businessquery/usergas.vue +311 -311
  33. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  34. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  35. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  36. package/src/components/webmeter/DrillData/UserGasAll.vue +607 -607
  37. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  38. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  39. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +208 -208
  40. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  41. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +284 -284
  42. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  43. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  44. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  45. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  46. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  47. package/src/filiale/WEINAN/EchartsBox.vue +110 -110
  48. package/src/filiale/WEINAN/ReportDataQuery.vue +325 -325
  49. package/src/filiale/WEINAN/SiteManager.vue +191 -191
  50. package/src/filiale/WEINAN/UserGasAll.vue +577 -577
  51. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -281
  52. package/src/filiale/WEINAN/UserGasList.vue +438 -438
  53. package/src/filiale/WEINAN/reportManage.js +12 -12
  54. package/src/filiale/WEINAN/sale.js +36 -36
  55. package/src/filiale/alashan/reportManage.js +10 -10
  56. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  57. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  58. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  59. package/src/filiale/meihekou/YingShouMingXi.vue +538 -538
  60. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  61. package/src/filiale/rongchuang/reportManage.js +11 -11
  62. package/src/filiale/tongchuan/ManageBusSummary.vue +240 -240
  63. package/src/filiale/tongchuan/reportManage.js +5 -5
  64. package/src/main.js +2 -2
  65. package/static/wuhai.json +1610 -1610
  66. package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
  67. package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
@@ -1,438 +1,438 @@
1
- <template>
2
- <div class="flex-row" v-show="!echarts">
3
- <div id='app' class="basic-main">
4
- <criteria-paged :model="model" :pager='true' v-ref:paged>
5
- <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
6
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
- <div class="row">
8
-
9
- <div class="col-sm-2 form-group">
10
- <label class="font_normal_body">客户编号</label>
11
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
12
- v-model="model.f_userinfo_code" placeholder='客户编号'
13
- condition="u.f_userinfo_code like '%{}%'" v-next-el='f_userinfo_code' v-el:meternumber
14
- >
15
- </div>
16
- <div class="col-sm-2 form-group">
17
- <label class="font_normal_body">客户名称</label>
18
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
19
- v-model="model.f_username" placeholder='客户名称'
20
- condition="u.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
21
- </div>
22
- <div class="col-sm-2 form-group">
23
- <label class="font_normal_body">客户地址</label>
24
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
25
- v-model="model.f_address" placeholder='地址'
26
- condition="a.f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
27
- >
28
- </div>
29
- <div class="col-sm-2 form-group">
30
- <label class="font_normal_body">表&emsp;&emsp;号</label>
31
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
32
- v-model="model.f_meternumber" placeholder='表钢号'
33
- condition="uf.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
34
- >
35
- </div>
36
- <div class="span" style="float:right;margin-top:10px">
37
- <button class="button_search button_spacing" @click="search()">查询</button>
38
- <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
39
- <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
40
- :field="$parent.$parent.getfield"
41
- sqlurl="rs/logic/exportfile" sql-name="webmeter_getNewHandChanceList" template-name='抄表分析'
42
- :choose-col="true"></export-excel>
43
- <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
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
- <div class="col-sm-2 form-group">
49
- <label class="font_normal_body">公&emsp;&emsp;司</label>
50
- <right-tree @re-res="$parent.$parent.getRes"
51
- :initresid='$parent.$parent.orgid'></right-tree>
52
- <!-- <label class="font_normal_body">组织机构</label>-->
53
- <!-- <res-select :initresid="$parent.$parent.orgid"-->
54
- <!-- style="width:60%"-->
55
- <!-- @res-select="$parent.$parent.getRes"-->
56
- <!-- restype='organization'>-->
57
- <!-- </res-select>-->
58
- </div>
59
- <!-- <res-select-group :initres="$parent.$parent.initres" :show-component="['company']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
60
- <div class="col-sm-2 form-group">
61
- <label class="font_normal_body">用户类型</label>
62
- <v-select style="width:60%" id="f_user_type"
63
- v-model="model.f_user_type"
64
- placeholder='用户类型'
65
- :value.sync="model.f_user_type"
66
- @change="$parent.$parent.userTypeChange()"
67
- :options='$parent.$parent.usertypes'
68
- condition="uf.f_user_type = '{}'"
69
- close-on-select>
70
- </v-select>
71
- </div>
72
- <div class="col-sm-2 form-group">
73
- <label class="font_normal_body">用气性质</label>
74
- <v-select style="width:60%" id="f_gasproperties"
75
- v-model="model.f_gasproperties"
76
- placeholder='用气性质'
77
- :value.sync="model.f_gasproperties"
78
- :options='$parent.$parent.gasproperties'
79
- condition="uf.f_gasproperties = '{}'"
80
- close-on-select>
81
- </v-select>
82
- </div>
83
- <div class="col-sm-2 form-group">
84
- <label class="font_normal_body">气表品牌</label>
85
- <v-select
86
- placeholder='气表品牌'
87
- :value.sync="model.f_meter_brand"
88
- v-model="model.f_meter_brand"
89
- :options='$parent.$parent.WarningType'
90
- @change="$parent.$parent.getMeterType"
91
- close-on-select
92
- condition="gb.f_meter_brand='{}'">
93
- </v-select>
94
- </div>
95
- <div class="col-sm-2 form-group" >
96
- <label class="font_normal_body">气表型号</label>
97
- <v-select v-if="$parent.$parent.styles"
98
- placeholder='气表型号'
99
- :value.sync="model.f_meter_style"
100
- v-model="model.f_meter_style"
101
- :options='$parent.$parent.Warningstyle'
102
- close-on-select
103
- condition="gm.f_meter_style='{}'">
104
- </v-select>
105
- <v-select v-if="!$parent.$parent.styles"
106
- placeholder='气表型号'
107
- :value.sync="model.f_meter_style"
108
- v-model="model.f_meter_style"
109
- :options='$parent.$parent.Warningstyles'
110
- close-on-select
111
- condition="f_meter_style='{}'">
112
- </v-select>
113
- </div>
114
- <div class="col-sm-2 form-group">
115
- <label class="font_normal_body" style="word-break:keep-all;">上报时间</label>
116
- <datepicker style="width:60%" placeholder="起始时间"
117
- :value.sync="model.startDate"
118
- v-model="model.startDate"
119
- :format="'yyyy-MM-dd HH:mm:ss'"
120
- ></datepicker>
121
- </div>
122
- <div class="col-sm-2 form-group">
123
- <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
124
- <datepicker style="width:60%" placeholder="结束时间"
125
- :value.sync="model.endDate"
126
- v-model="model.endDate"
127
- :format="'yyyy-MM-dd HH:mm:ss'"
128
- ></datepicker>
129
- </div>
130
- <div class="col-sm-2 form-group">
131
- <label class="font_normal_body">壁&ensp;挂&ensp;炉</label>
132
- <v-select id="f_meter_brand"
133
- v-model="model.f_usetype"
134
- placeholder='壁挂炉'
135
- :value.sync="model.f_usetype"
136
- :options='$parent.$parent.usetypes'
137
- condition="" :search="false"
138
- close-on-select style="width: 60%">
139
- </v-select>
140
- </div>
141
- <div class="col-sm-2 form-group">
142
- <label class="font_normal_body">房屋类型</label>
143
- <v-select :value.sync="model.f_house_type" v-model="model.f_house_type"
144
- :options='$parent.$parent.houseTypes' placeholder='请选择'
145
- close-on-select
146
- condition=""></v-select>
147
- </div>
148
- <div class="col-sm-2 form-group">
149
- <label class="font_normal_body">安装位置</label>
150
- <v-select :value.sync="model.f_position" v-model="model.f_position"
151
- :options='$parent.$parent.positions' placeholder='请选择'
152
- condition=""
153
- close-on-select></v-select>
154
- </div>
155
- </div>
156
- </div>
157
- </criteria>
158
- <data-grid id="reportgas" :model="model" partial='list' class="list_area table_sy" v-ref:grid>
159
- <template partial='head'>
160
- <tr>
161
- <th style="text-align:center">序号</th>
162
- <th style="text-align:center"><nobr>上报日期</nobr></th>
163
- <th style="text-align:center"><nobr>建档数</nobr></th>
164
- <th style="text-align:center" ><nobr>安装户数</nobr></th>
165
-
166
- <th style="text-align:center" ><nobr>停用户数</nobr></th>
167
- <th style="text-align:center" ><nobr>在用户数</nobr></th>
168
-
169
- <th style="text-align:center" title="用户使用率=在用户数/正常户数"><nobr>用户使用率</nobr></th>
170
- <th style="text-align:center"><nobr>抄表成功户数</nobr></th>
171
- <th style="text-align:center"><nobr>总用气量</nobr></th>
172
- <th style="text-align:center" title="日均用气量=总用气量/在用户数"><nobr>日均用气量</nobr></th>
173
- <!--<th style="text-align:center"><nobr>指令成功户数</nobr></th>-->
174
- <th style="text-align:center" title="抄表成功率=抄表成功户数/在用户数"><nobr>抄表成功率</nobr></th>
175
- <!--<th style="text-align:center" title="指令成功率=指令成功户数/抄表成功户数"><nobr>指令成功率</nobr></th>-->
176
- <!--<th style="text-align:center" title="综合成功率=指令成功户数/在用户数"><nobr>综合成功率</nobr></th>-->
177
- </tr>
178
- </template>
179
- <template partial='body' partial='list' v-ref:grid>
180
- <tr>
181
- <td style="text-align:center">{{$index + 1}}</td>
182
- <td style="text-align:center;width: 170px;"><nobr>{{row.f_insert_date}}</nobr></td>
183
- <td style="text-align:center">{{row.cc}}</td>
184
- <td style="text-align:center">{{row.anzhuang}}</td>
185
-
186
- <th style="text-align:center">{{row.c0}}</th>
187
- <td style="text-align:center"><nobr>{{row.c}}</nobr></td>
188
-
189
- <td style="text-align:center"><nobr>{{row.user_bv}}%</nobr></td>
190
- <!--<td style="text-align:center"><nobr>{{row.f_gas}}</nobr></td>-->
191
- <td style="text-align:center">{{row.c1}}</td>
192
- <td style="text-align:center">{{row.f_gas_all}}</td>
193
- <td style="text-align:center">{{row.f_gas1}}</td>
194
- <td style="text-align:center">{{row.f_bv1}}%</td>
195
- <!--<td style="text-align:center">{{row.f_bv2}}%</td>-->
196
- <!--<td style="text-align:center;width: 170px;"><nobr>{{row.f_bv3}}%</nobr></td>-->
197
- </tr>
198
- </template>
199
- <template partial='foot'></template>
200
- </data-grid>
201
- </criteria-paged>
202
- </div>
203
- <!-- <div style="height: 40px;width: 100%;" v-show="echarts">-->
204
- <!-- <button class="button_search button_spacing" @click="showEcharts()">隐藏图表</button>-->
205
- <!-- </div>-->
206
-
207
- </div>
208
- <!--图显示模板-->
209
- <div class="flex-row" v-if="echarts" style="width: 100%;height: 98%;">
210
- <user-gas-echarts-list :condition="condition" :startdate="startDate"
211
- :enddate="endDate" :echarts="echarts"></user-gas-echarts-list>
212
- </div>
213
- </template>
214
- <script>
215
- import {HttpResetClass, PagedList} from 'vue-client'
216
- import * as Util from '../../Util'
217
- import plugins from '../../plugins/GetLoginInfoService'
218
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
219
-
220
- export default {
221
- title: '抄表分析',
222
- props: ['data'],
223
- data () {
224
- return {
225
- model: new PagedList('rs/sql/webmeter_getNewHandChanceList', 50, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}),
226
- condition: '1=1',
227
- startDate: '',
228
- gasproperties:[{label: '全部', value: ''}],
229
- endDate: '',
230
- WarningType: [
231
- {label: '全部', value: ''}
232
- ],
233
- Warningstyles: [
234
- {label: '全部', value: ''}
235
- ],
236
- styles:false,
237
- orgid:[this.$login.f.orgid],
238
- getfield:{"f_insert_date":"上报日期","cc":"建档数","anzhuang":"安装户数",
239
- "c0":"停用户数",
240
- "c":"在用户数","user_bv":"用户使用率",
241
- "c1":"抄表成功户数",
242
- "f_gas_all":"总用气量","f_gas":"日均户均用气量(成功)",
243
- "f_gas1":"日均户均用气量(在用)",
244
- "f_bv1":"抄表成功率"
245
- },
246
- criteriaShow:false,
247
- echarts: false,
248
- orgCondtionStr: '(' + this.$login.f.orgid + ')',
249
- searchshow: false,
250
- initres: {
251
- org:[this.$login.f.orgid],
252
- dep:[],
253
- user:[]
254
- },
255
- obj: {
256
- userid: this.$login.f.id,
257
- source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
258
- res: this.$login.f.f_fengongsi,
259
- resids: this.$login.f.orgid
260
- },
261
- usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}]
262
- }
263
- },
264
- ready () {
265
- this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-6).substring(0,10) + ' 00:00:00'
266
- this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
267
- this.getMeterTypeAndBrand('f_meter_brand', '1=1')
268
- this.$refs.paged.$refs.cri.search()
269
- },
270
- methods: {
271
- getMeterType() {
272
- this.Warningstyle = [{label: '全部', value: ''}]
273
- this.styles = false
274
- let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
275
- this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
276
- },
277
- getMeterTypeAndBrand(groupname, condition) {
278
- condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
279
- let self = this
280
- let load = new HttpResetClass()
281
- load.load('POST', 'rs/sql/getMeterStyleAndBrand1', {
282
- data: {
283
- condition: condition,
284
- groupname: groupname
285
- }
286
- }, {warnMsg: null, resolveMsg: null}).then((res) => {
287
- let dr = {label: '', value: ''}
288
- let i = 0
289
- for (i = 0; i < res.data.length; i++) {
290
- dr = {label: '', value: ''}
291
- if (groupname == 'f_meter_brand') {
292
- dr.label = res.data[i].f_meter_brand
293
- dr.value = res.data[i].f_meter_brand
294
- //气表品牌
295
- self.WarningType.push(dr)
296
- console.log('气表品牌~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
297
- console.log(dr)
298
- console.log( self.WarningType)
299
- } else if (groupname == 'f_meter_style') {
300
- dr.label = res.data[i].f_meter_style
301
- dr.value = res.data[i].f_meter_style
302
- //气表类型
303
- self.Warningstyle.push(dr)
304
- }
305
- }
306
- if (self.Warningstyle.length > 1) {
307
- self.showMeterStyle()
308
- }
309
- })
310
-
311
- },
312
- showMeterStyle() {
313
- this.styles = true
314
- },
315
- userTypeChange () {
316
- this.gasproperties=[{label: '全部', value: ''}]
317
- if(this.$refs.paged.$refs.cri.model !==null) {
318
- this.$refs.paged.$refs.cri.model.f_gasproperties=''
319
-
320
- console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
321
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
322
- // this.gasproperties.push({label: '全部', value: ''})
323
- }
324
- else{
325
- this.gasproperties =[{label: '全部', value: ''}]
326
- }
327
- },
328
- hidden(){
329
- this.criteriaShow = !this.criteriaShow
330
- },
331
- // 查询开关
332
- seachchange () {
333
- this.searchshow = !this.searchshow
334
- },
335
-
336
- // 显示柱状图
337
- showEcharts () {
338
- this.echarts = !this.echarts
339
- console.log(this.echarts)
340
- },
341
- close () {
342
- this.show = false
343
- },
344
- // SaveAsFile(str) {
345
- // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
346
- // if (res === 'confirm') {
347
- // let style = '<style>' +
348
- // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
349
- // let strHtml = style + document.getElementById(str).innerHTML;
350
- // console.log(strHtml);
351
- // let LODOP = getLodop();
352
- // LODOP.PRINT_INIT('');
353
- // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
354
- // LODOP.SAVE_TO_FILE('抄表统计.xls')
355
- // }
356
- // })
357
- // },
358
- clearmsg () {
359
- this.$refs.paged.$refs.cri.model = {}
360
- },
361
- search (args) {
362
- this.startDate = this.$refs.paged.$refs.cri.model.startDate
363
- this.endDate = this.$refs.paged.$refs.cri.model.endDate
364
- if (this.endDate == '' || this.startDate == '') {
365
- return this.$showMessage("时间区间的开始和结束时间不能为空!")
366
- }
367
- if (this.orgCondtionStr){
368
- this.condition = this.$refs.paged.$refs.cri.condition + `and uf.f_orgid in ${this.orgCondtionStr}`
369
- }
370
- else
371
- this.condition = this.$refs.paged.$refs.cri.condition
372
- args.condition = this.condition
373
- this.model.search(args.condition, args.model)
374
- },
375
- // getRes (obj) {
376
- // this.orgCondtionStr = plugins.convertToIn(obj)
377
- // }
378
- getRes (obj) {
379
- this.orgCondtionStr = plugins.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
380
- }
381
- // getRes(condition,obj) {
382
- // this.orgCondtionStr = condition
383
- // this.orgname = obj.orgnames[0]
384
- // this.depname = obj.depnames[0]
385
- // }
386
- },
387
- computed: {
388
- houseTypes() {
389
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
390
- },
391
- positions() {
392
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
393
- },
394
- getCondition() {
395
- var con=""
396
- if (this.orgCondtionStr) {
397
- con= `${this.$refs.paged.$refs.cri.condition} and u.f_orgid in ${this.orgCondtionStr}`
398
- }
399
- else{
400
- con= `${this.$refs.paged.$refs.cri.condition} `
401
- }
402
- return {
403
- condition: con ,
404
- startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
405
- endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
406
- }
407
-
408
- },
409
- usertypes () {
410
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
411
- },
412
- // usertypes () {
413
- // return this.$getParams('用户类型', [{label: '全部', value: ''}])
414
- // },
415
- f_outlets () {
416
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
417
- },
418
- valveStatus () {
419
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
420
- },
421
- Getuserstyle () {
422
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
423
- }
424
- }
425
- }
426
- </script>
427
- <style>
428
- .mystyle{
429
- margin-left:80px;
430
- }
431
- .datapanel {
432
- color: #333;
433
- background-color: white;
434
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
435
- padding: 10px 10px 10px 10px;
436
- border-radius:15px;
437
- }
438
- </style>
1
+ <template>
2
+ <div class="flex-row" v-show="!echarts">
3
+ <div id='app' class="basic-main">
4
+ <criteria-paged :model="model" :pager='true' v-ref:paged>
5
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+
9
+ <div class="col-sm-2 form-group">
10
+ <label class="font_normal_body">客户编号</label>
11
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
12
+ v-model="model.f_userinfo_code" placeholder='客户编号'
13
+ condition="u.f_userinfo_code like '%{}%'" v-next-el='f_userinfo_code' v-el:meternumber
14
+ >
15
+ </div>
16
+ <div class="col-sm-2 form-group">
17
+ <label class="font_normal_body">客户名称</label>
18
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
19
+ v-model="model.f_username" placeholder='客户名称'
20
+ condition="u.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
21
+ </div>
22
+ <div class="col-sm-2 form-group">
23
+ <label class="font_normal_body">客户地址</label>
24
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
25
+ v-model="model.f_address" placeholder='地址'
26
+ condition="a.f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
27
+ >
28
+ </div>
29
+ <div class="col-sm-2 form-group">
30
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
31
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
32
+ v-model="model.f_meternumber" placeholder='表钢号'
33
+ condition="uf.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
34
+ >
35
+ </div>
36
+ <div class="span" style="float:right;margin-top:10px">
37
+ <button class="button_search button_spacing" @click="search()">查询</button>
38
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
39
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
40
+ :field="$parent.$parent.getfield"
41
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getNewHandChanceList" template-name='抄表分析'
42
+ :choose-col="true"></export-excel>
43
+ <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
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
+ <div class="col-sm-2 form-group">
49
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
50
+ <right-tree @re-res="$parent.$parent.getRes"
51
+ :initresid='$parent.$parent.orgid'></right-tree>
52
+ <!-- <label class="font_normal_body">组织机构</label>-->
53
+ <!-- <res-select :initresid="$parent.$parent.orgid"-->
54
+ <!-- style="width:60%"-->
55
+ <!-- @res-select="$parent.$parent.getRes"-->
56
+ <!-- restype='organization'>-->
57
+ <!-- </res-select>-->
58
+ </div>
59
+ <!-- <res-select-group :initres="$parent.$parent.initres" :show-component="['company']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
60
+ <div class="col-sm-2 form-group">
61
+ <label class="font_normal_body">用户类型</label>
62
+ <v-select style="width:60%" id="f_user_type"
63
+ v-model="model.f_user_type"
64
+ placeholder='用户类型'
65
+ :value.sync="model.f_user_type"
66
+ @change="$parent.$parent.userTypeChange()"
67
+ :options='$parent.$parent.usertypes'
68
+ condition="uf.f_user_type = '{}'"
69
+ close-on-select>
70
+ </v-select>
71
+ </div>
72
+ <div class="col-sm-2 form-group">
73
+ <label class="font_normal_body">用气性质</label>
74
+ <v-select style="width:60%" id="f_gasproperties"
75
+ v-model="model.f_gasproperties"
76
+ placeholder='用气性质'
77
+ :value.sync="model.f_gasproperties"
78
+ :options='$parent.$parent.gasproperties'
79
+ condition="uf.f_gasproperties = '{}'"
80
+ close-on-select>
81
+ </v-select>
82
+ </div>
83
+ <div class="col-sm-2 form-group">
84
+ <label class="font_normal_body">气表品牌</label>
85
+ <v-select
86
+ placeholder='气表品牌'
87
+ :value.sync="model.f_meter_brand"
88
+ v-model="model.f_meter_brand"
89
+ :options='$parent.$parent.WarningType'
90
+ @change="$parent.$parent.getMeterType"
91
+ close-on-select
92
+ condition="gb.f_meter_brand='{}'">
93
+ </v-select>
94
+ </div>
95
+ <div class="col-sm-2 form-group" >
96
+ <label class="font_normal_body">气表型号</label>
97
+ <v-select v-if="$parent.$parent.styles"
98
+ placeholder='气表型号'
99
+ :value.sync="model.f_meter_style"
100
+ v-model="model.f_meter_style"
101
+ :options='$parent.$parent.Warningstyle'
102
+ close-on-select
103
+ condition="gm.f_meter_style='{}'">
104
+ </v-select>
105
+ <v-select v-if="!$parent.$parent.styles"
106
+ placeholder='气表型号'
107
+ :value.sync="model.f_meter_style"
108
+ v-model="model.f_meter_style"
109
+ :options='$parent.$parent.Warningstyles'
110
+ close-on-select
111
+ condition="f_meter_style='{}'">
112
+ </v-select>
113
+ </div>
114
+ <div class="col-sm-2 form-group">
115
+ <label class="font_normal_body" style="word-break:keep-all;">上报时间</label>
116
+ <datepicker style="width:60%" placeholder="起始时间"
117
+ :value.sync="model.startDate"
118
+ v-model="model.startDate"
119
+ :format="'yyyy-MM-dd HH:mm:ss'"
120
+ ></datepicker>
121
+ </div>
122
+ <div class="col-sm-2 form-group">
123
+ <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
124
+ <datepicker style="width:60%" placeholder="结束时间"
125
+ :value.sync="model.endDate"
126
+ v-model="model.endDate"
127
+ :format="'yyyy-MM-dd HH:mm:ss'"
128
+ ></datepicker>
129
+ </div>
130
+ <div class="col-sm-2 form-group">
131
+ <label class="font_normal_body">壁&ensp;挂&ensp;炉</label>
132
+ <v-select id="f_meter_brand"
133
+ v-model="model.f_usetype"
134
+ placeholder='壁挂炉'
135
+ :value.sync="model.f_usetype"
136
+ :options='$parent.$parent.usetypes'
137
+ condition="" :search="false"
138
+ close-on-select style="width: 60%">
139
+ </v-select>
140
+ </div>
141
+ <div class="col-sm-2 form-group">
142
+ <label class="font_normal_body">房屋类型</label>
143
+ <v-select :value.sync="model.f_house_type" v-model="model.f_house_type"
144
+ :options='$parent.$parent.houseTypes' placeholder='请选择'
145
+ close-on-select
146
+ condition=""></v-select>
147
+ </div>
148
+ <div class="col-sm-2 form-group">
149
+ <label class="font_normal_body">安装位置</label>
150
+ <v-select :value.sync="model.f_position" v-model="model.f_position"
151
+ :options='$parent.$parent.positions' placeholder='请选择'
152
+ condition=""
153
+ close-on-select></v-select>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </criteria>
158
+ <data-grid id="reportgas" :model="model" partial='list' class="list_area table_sy" v-ref:grid>
159
+ <template partial='head'>
160
+ <tr>
161
+ <th style="text-align:center">序号</th>
162
+ <th style="text-align:center"><nobr>上报日期</nobr></th>
163
+ <th style="text-align:center"><nobr>建档数</nobr></th>
164
+ <th style="text-align:center" ><nobr>安装户数</nobr></th>
165
+
166
+ <th style="text-align:center" ><nobr>停用户数</nobr></th>
167
+ <th style="text-align:center" ><nobr>在用户数</nobr></th>
168
+
169
+ <th style="text-align:center" title="用户使用率=在用户数/正常户数"><nobr>用户使用率</nobr></th>
170
+ <th style="text-align:center"><nobr>抄表成功户数</nobr></th>
171
+ <th style="text-align:center"><nobr>总用气量</nobr></th>
172
+ <th style="text-align:center" title="日均用气量=总用气量/在用户数"><nobr>日均用气量</nobr></th>
173
+ <!--<th style="text-align:center"><nobr>指令成功户数</nobr></th>-->
174
+ <th style="text-align:center" title="抄表成功率=抄表成功户数/在用户数"><nobr>抄表成功率</nobr></th>
175
+ <!--<th style="text-align:center" title="指令成功率=指令成功户数/抄表成功户数"><nobr>指令成功率</nobr></th>-->
176
+ <!--<th style="text-align:center" title="综合成功率=指令成功户数/在用户数"><nobr>综合成功率</nobr></th>-->
177
+ </tr>
178
+ </template>
179
+ <template partial='body' partial='list' v-ref:grid>
180
+ <tr>
181
+ <td style="text-align:center">{{$index + 1}}</td>
182
+ <td style="text-align:center;width: 170px;"><nobr>{{row.f_insert_date}}</nobr></td>
183
+ <td style="text-align:center">{{row.cc}}</td>
184
+ <td style="text-align:center">{{row.anzhuang}}</td>
185
+
186
+ <th style="text-align:center">{{row.c0}}</th>
187
+ <td style="text-align:center"><nobr>{{row.c}}</nobr></td>
188
+
189
+ <td style="text-align:center"><nobr>{{row.user_bv}}%</nobr></td>
190
+ <!--<td style="text-align:center"><nobr>{{row.f_gas}}</nobr></td>-->
191
+ <td style="text-align:center">{{row.c1}}</td>
192
+ <td style="text-align:center">{{row.f_gas_all}}</td>
193
+ <td style="text-align:center">{{row.f_gas1}}</td>
194
+ <td style="text-align:center">{{row.f_bv1}}%</td>
195
+ <!--<td style="text-align:center">{{row.f_bv2}}%</td>-->
196
+ <!--<td style="text-align:center;width: 170px;"><nobr>{{row.f_bv3}}%</nobr></td>-->
197
+ </tr>
198
+ </template>
199
+ <template partial='foot'></template>
200
+ </data-grid>
201
+ </criteria-paged>
202
+ </div>
203
+ <!-- <div style="height: 40px;width: 100%;" v-show="echarts">-->
204
+ <!-- <button class="button_search button_spacing" @click="showEcharts()">隐藏图表</button>-->
205
+ <!-- </div>-->
206
+
207
+ </div>
208
+ <!--图显示模板-->
209
+ <div class="flex-row" v-if="echarts" style="width: 100%;height: 98%;">
210
+ <user-gas-echarts-list :condition="condition" :startdate="startDate"
211
+ :enddate="endDate" :echarts="echarts"></user-gas-echarts-list>
212
+ </div>
213
+ </template>
214
+ <script>
215
+ import {HttpResetClass, PagedList} from 'vue-client'
216
+ import * as Util from '../../Util'
217
+ import plugins from '../../plugins/GetLoginInfoService'
218
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
219
+
220
+ export default {
221
+ title: '抄表分析',
222
+ props: ['data'],
223
+ data () {
224
+ return {
225
+ model: new PagedList('rs/sql/webmeter_getNewHandChanceList', 50, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}),
226
+ condition: '1=1',
227
+ startDate: '',
228
+ gasproperties:[{label: '全部', value: ''}],
229
+ endDate: '',
230
+ WarningType: [
231
+ {label: '全部', value: ''}
232
+ ],
233
+ Warningstyles: [
234
+ {label: '全部', value: ''}
235
+ ],
236
+ styles:false,
237
+ orgid:[this.$login.f.orgid],
238
+ getfield:{"f_insert_date":"上报日期","cc":"建档数","anzhuang":"安装户数",
239
+ "c0":"停用户数",
240
+ "c":"在用户数","user_bv":"用户使用率",
241
+ "c1":"抄表成功户数",
242
+ "f_gas_all":"总用气量","f_gas":"日均户均用气量(成功)",
243
+ "f_gas1":"日均户均用气量(在用)",
244
+ "f_bv1":"抄表成功率"
245
+ },
246
+ criteriaShow:false,
247
+ echarts: false,
248
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
249
+ searchshow: false,
250
+ initres: {
251
+ org:[this.$login.f.orgid],
252
+ dep:[],
253
+ user:[]
254
+ },
255
+ obj: {
256
+ userid: this.$login.f.id,
257
+ source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
258
+ res: this.$login.f.f_fengongsi,
259
+ resids: this.$login.f.orgid
260
+ },
261
+ usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}]
262
+ }
263
+ },
264
+ ready () {
265
+ this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-6).substring(0,10) + ' 00:00:00'
266
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
267
+ this.getMeterTypeAndBrand('f_meter_brand', '1=1')
268
+ this.$refs.paged.$refs.cri.search()
269
+ },
270
+ methods: {
271
+ getMeterType() {
272
+ this.Warningstyle = [{label: '全部', value: ''}]
273
+ this.styles = false
274
+ let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
275
+ this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
276
+ },
277
+ getMeterTypeAndBrand(groupname, condition) {
278
+ condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
279
+ let self = this
280
+ let load = new HttpResetClass()
281
+ load.load('POST', 'rs/sql/getMeterStyleAndBrand1', {
282
+ data: {
283
+ condition: condition,
284
+ groupname: groupname
285
+ }
286
+ }, {warnMsg: null, resolveMsg: null}).then((res) => {
287
+ let dr = {label: '', value: ''}
288
+ let i = 0
289
+ for (i = 0; i < res.data.length; i++) {
290
+ dr = {label: '', value: ''}
291
+ if (groupname == 'f_meter_brand') {
292
+ dr.label = res.data[i].f_meter_brand
293
+ dr.value = res.data[i].f_meter_brand
294
+ //气表品牌
295
+ self.WarningType.push(dr)
296
+ console.log('气表品牌~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
297
+ console.log(dr)
298
+ console.log( self.WarningType)
299
+ } else if (groupname == 'f_meter_style') {
300
+ dr.label = res.data[i].f_meter_style
301
+ dr.value = res.data[i].f_meter_style
302
+ //气表类型
303
+ self.Warningstyle.push(dr)
304
+ }
305
+ }
306
+ if (self.Warningstyle.length > 1) {
307
+ self.showMeterStyle()
308
+ }
309
+ })
310
+
311
+ },
312
+ showMeterStyle() {
313
+ this.styles = true
314
+ },
315
+ userTypeChange () {
316
+ this.gasproperties=[{label: '全部', value: ''}]
317
+ if(this.$refs.paged.$refs.cri.model !==null) {
318
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
319
+
320
+ console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
321
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
322
+ // this.gasproperties.push({label: '全部', value: ''})
323
+ }
324
+ else{
325
+ this.gasproperties =[{label: '全部', value: ''}]
326
+ }
327
+ },
328
+ hidden(){
329
+ this.criteriaShow = !this.criteriaShow
330
+ },
331
+ // 查询开关
332
+ seachchange () {
333
+ this.searchshow = !this.searchshow
334
+ },
335
+
336
+ // 显示柱状图
337
+ showEcharts () {
338
+ this.echarts = !this.echarts
339
+ console.log(this.echarts)
340
+ },
341
+ close () {
342
+ this.show = false
343
+ },
344
+ // SaveAsFile(str) {
345
+ // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
346
+ // if (res === 'confirm') {
347
+ // let style = '<style>' +
348
+ // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
349
+ // let strHtml = style + document.getElementById(str).innerHTML;
350
+ // console.log(strHtml);
351
+ // let LODOP = getLodop();
352
+ // LODOP.PRINT_INIT('');
353
+ // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
354
+ // LODOP.SAVE_TO_FILE('抄表统计.xls')
355
+ // }
356
+ // })
357
+ // },
358
+ clearmsg () {
359
+ this.$refs.paged.$refs.cri.model = {}
360
+ },
361
+ search (args) {
362
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
363
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
364
+ if (this.endDate == '' || this.startDate == '') {
365
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
366
+ }
367
+ if (this.orgCondtionStr){
368
+ this.condition = this.$refs.paged.$refs.cri.condition + `and uf.f_orgid in ${this.orgCondtionStr}`
369
+ }
370
+ else
371
+ this.condition = this.$refs.paged.$refs.cri.condition
372
+ args.condition = this.condition
373
+ this.model.search(args.condition, args.model)
374
+ },
375
+ // getRes (obj) {
376
+ // this.orgCondtionStr = plugins.convertToIn(obj)
377
+ // }
378
+ getRes (obj) {
379
+ this.orgCondtionStr = plugins.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
380
+ }
381
+ // getRes(condition,obj) {
382
+ // this.orgCondtionStr = condition
383
+ // this.orgname = obj.orgnames[0]
384
+ // this.depname = obj.depnames[0]
385
+ // }
386
+ },
387
+ computed: {
388
+ houseTypes() {
389
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
390
+ },
391
+ positions() {
392
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
393
+ },
394
+ getCondition() {
395
+ var con=""
396
+ if (this.orgCondtionStr) {
397
+ con= `${this.$refs.paged.$refs.cri.condition} and u.f_orgid in ${this.orgCondtionStr}`
398
+ }
399
+ else{
400
+ con= `${this.$refs.paged.$refs.cri.condition} `
401
+ }
402
+ return {
403
+ condition: con ,
404
+ startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
405
+ endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
406
+ }
407
+
408
+ },
409
+ usertypes () {
410
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
411
+ },
412
+ // usertypes () {
413
+ // return this.$getParams('用户类型', [{label: '全部', value: ''}])
414
+ // },
415
+ f_outlets () {
416
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
417
+ },
418
+ valveStatus () {
419
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
420
+ },
421
+ Getuserstyle () {
422
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
423
+ }
424
+ }
425
+ }
426
+ </script>
427
+ <style>
428
+ .mystyle{
429
+ margin-left:80px;
430
+ }
431
+ .datapanel {
432
+ color: #333;
433
+ background-color: white;
434
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
435
+ padding: 10px 10px 10px 10px;
436
+ border-radius:15px;
437
+ }
438
+ </style>