manage-client 3.2.18 → 3.2.19

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 (70) hide show
  1. package/.gradle/4.4/fileContent/fileContent.lock +0 -0
  2. package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
  3. package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
  4. package/.gradle/4.4/taskHistory/taskHistory.bin +0 -0
  5. package/.gradle/4.4/taskHistory/taskHistory.lock +0 -0
  6. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  8. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  9. package/build/dev-server.js +2 -4
  10. package/build/libs/ManageClient-3.1.0-17.jar +0 -0
  11. package/build/tmp/jar/MANIFEST.MF +2 -0
  12. package/package.json +1 -1
  13. package/src/App.vue +28 -28
  14. package/src/components/BasisEcharts/BarChart.vue +247 -247
  15. package/src/components/SellReport/BonSummary.vue +178 -178
  16. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  17. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  18. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  19. package/src/components/SellReport/NonResidentGas.vue +203 -203
  20. package/src/components/SellReport/OutletTable.vue +258 -258
  21. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  22. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  23. package/src/components/SellReport/SellingTable.vue +220 -220
  24. package/src/components/SellReport/UserSellingGas.vue +177 -177
  25. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  26. package/src/components/daping/GMap.vue +636 -636
  27. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  28. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  29. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  30. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  31. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  32. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  33. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  34. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  35. package/src/components/sale/report/aode/DayReportList.vue +371 -371
  36. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  37. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  38. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  39. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  40. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  41. package/src/components/webmeter/instruction/NewQueryInstruct.vue +443 -443
  42. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +208 -208
  43. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  44. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +284 -284
  45. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  46. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  47. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  48. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  49. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  50. package/src/filiale/WEINAN/EchartsBox.vue +110 -110
  51. package/src/filiale/WEINAN/SiteManager.vue +191 -191
  52. package/src/filiale/WEINAN/UserGasAll.vue +577 -577
  53. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -281
  54. package/src/filiale/WEINAN/UserGasList.vue +438 -438
  55. package/src/filiale/WEINAN/reportManage.js +12 -12
  56. package/src/filiale/WEINAN/sale.js +36 -36
  57. package/src/filiale/alashan/reportManage.js +10 -10
  58. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  59. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  60. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  61. package/src/filiale/meihekou/YingShouMingXi.vue +538 -538
  62. package/src/filiale/meihekou/config/exportConfig.js +831 -831
  63. package/src/filiale/meihekou/sale.js +29 -29
  64. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  65. package/src/filiale/rongchuang/reportManage.js +11 -11
  66. package/src/filiale/shaoguan/RecordInfoQuery.vue +1108 -1108
  67. package/src/filiale/tongchuan/ManageBusSummary.vue +240 -240
  68. package/src/filiale/tongchuan/reportManage.js +5 -5
  69. package/src/main.js +66 -66
  70. package/static/wuhai.json +1610 -1610
@@ -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" title="安装户数=正常户数+停用户数+未注册户数"><nobr>安装户数</nobr></th>
164
-
165
- <th style="text-align:center" title="停用户数:表具状态为停用的用户数"><nobr>停用户数</nobr></th>
166
- <th style="text-align:center" title="在用户数:表具状态为正常的用户数"><nobr>在用户数</nobr></th>
167
-
168
- <th style="text-align:center" title="用户使用率=在用户数/正常户数"><nobr>用户使用率</nobr></th>
169
- <th style="text-align:center"><nobr>抄表成功户数</nobr></th>
170
- <th style="text-align:center"><nobr>总用气量</nobr></th>
171
- <th style="text-align:center" title="日均用气量=总用气量/在用户数"><nobr>日均用气量</nobr></th>
172
- <!--<th style="text-align:center"><nobr>指令成功户数</nobr></th>-->
173
- <th style="text-align:center" title="抄表成功率=抄表成功户数/在用户数"><nobr>抄表成功率</nobr></th>
174
- <!--<th style="text-align:center" title="指令成功率=指令成功户数/抄表成功户数"><nobr>指令成功率</nobr></th>-->
175
- <!--<th style="text-align:center" title="综合成功率=指令成功户数/在用户数"><nobr>综合成功率</nobr></th>-->
176
- </tr>
177
- </template>
178
- <template partial='body' partial='list' v-ref:grid>
179
- <tr>
180
- <td style="text-align:center">{{$index + 1}}</td>
181
- <td style="text-align:center;width: 170px;"><nobr>{{row.f_insert_date}}</nobr></td>
182
- <td style="text-align:center">{{row.anzhuang}}</td>
183
-
184
- <th style="text-align:center">{{row.c0}}</th>
185
- <td style="text-align:center"><nobr>{{row.c}}</nobr></td>
186
-
187
- <td style="text-align:center"><nobr>{{row.user_bv}}%</nobr></td>
188
- <!--<td style="text-align:center"><nobr>{{row.f_gas}}</nobr></td>-->
189
- <td style="text-align:center">{{row.c1}}</td>
190
- <td style="text-align:center">{{row.f_gas_all}}</td>
191
- <td style="text-align:center">{{row.f_gas1}}</td>
192
- <td style="text-align:center">{{row.f_bv1}}%</td>
193
- <!--<td style="text-align:center">{{row.f_bv2}}%</td>-->
194
- <!--<td style="text-align:center;width: 170px;"><nobr>{{row.f_bv3}}%</nobr></td>-->
195
- </tr>
196
- </template>
197
- <template partial='foot'></template>
198
- </data-grid>
199
- </criteria-paged>
200
- </div>
201
- <!-- <div style="height: 40px;width: 100%;" v-show="echarts">-->
202
- <!-- <button class="button_search button_spacing" @click="showEcharts()">隐藏图表</button>-->
203
- <!-- </div>-->
204
-
205
- </div>
206
- <!--图显示模板-->
207
- <div class="flex-row" v-if="echarts" style="width: 100%;height: 98%;">
208
- <user-gas-echarts-list :condition="condition" :startdate="startDate"
209
- :enddate="endDate" :echarts="echarts"></user-gas-echarts-list>
210
- </div>
211
- </template>
212
- <script>
213
- import {HttpResetClass, PagedList} from 'vue-client'
214
- import UserGasEcharts from './UserGasEchartsList'
215
- import * as Util from '../../../Util'
216
- import plugins from '../../../plugins/GetLoginInfoService'
217
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
218
-
219
- export default {
220
- title: '抄表分析',
221
- props: ['data'],
222
- components: {UserGasEcharts},
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":"上报日期","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" title="安装户数=正常户数+停用户数+未注册户数"><nobr>安装户数</nobr></th>
164
+
165
+ <th style="text-align:center" title="停用户数:表具状态为停用的用户数"><nobr>停用户数</nobr></th>
166
+ <th style="text-align:center" title="在用户数:表具状态为正常的用户数"><nobr>在用户数</nobr></th>
167
+
168
+ <th style="text-align:center" title="用户使用率=在用户数/正常户数"><nobr>用户使用率</nobr></th>
169
+ <th style="text-align:center"><nobr>抄表成功户数</nobr></th>
170
+ <th style="text-align:center"><nobr>总用气量</nobr></th>
171
+ <th style="text-align:center" title="日均用气量=总用气量/在用户数"><nobr>日均用气量</nobr></th>
172
+ <!--<th style="text-align:center"><nobr>指令成功户数</nobr></th>-->
173
+ <th style="text-align:center" title="抄表成功率=抄表成功户数/在用户数"><nobr>抄表成功率</nobr></th>
174
+ <!--<th style="text-align:center" title="指令成功率=指令成功户数/抄表成功户数"><nobr>指令成功率</nobr></th>-->
175
+ <!--<th style="text-align:center" title="综合成功率=指令成功户数/在用户数"><nobr>综合成功率</nobr></th>-->
176
+ </tr>
177
+ </template>
178
+ <template partial='body' partial='list' v-ref:grid>
179
+ <tr>
180
+ <td style="text-align:center">{{$index + 1}}</td>
181
+ <td style="text-align:center;width: 170px;"><nobr>{{row.f_insert_date}}</nobr></td>
182
+ <td style="text-align:center">{{row.anzhuang}}</td>
183
+
184
+ <th style="text-align:center">{{row.c0}}</th>
185
+ <td style="text-align:center"><nobr>{{row.c}}</nobr></td>
186
+
187
+ <td style="text-align:center"><nobr>{{row.user_bv}}%</nobr></td>
188
+ <!--<td style="text-align:center"><nobr>{{row.f_gas}}</nobr></td>-->
189
+ <td style="text-align:center">{{row.c1}}</td>
190
+ <td style="text-align:center">{{row.f_gas_all}}</td>
191
+ <td style="text-align:center">{{row.f_gas1}}</td>
192
+ <td style="text-align:center">{{row.f_bv1}}%</td>
193
+ <!--<td style="text-align:center">{{row.f_bv2}}%</td>-->
194
+ <!--<td style="text-align:center;width: 170px;"><nobr>{{row.f_bv3}}%</nobr></td>-->
195
+ </tr>
196
+ </template>
197
+ <template partial='foot'></template>
198
+ </data-grid>
199
+ </criteria-paged>
200
+ </div>
201
+ <!-- <div style="height: 40px;width: 100%;" v-show="echarts">-->
202
+ <!-- <button class="button_search button_spacing" @click="showEcharts()">隐藏图表</button>-->
203
+ <!-- </div>-->
204
+
205
+ </div>
206
+ <!--图显示模板-->
207
+ <div class="flex-row" v-if="echarts" style="width: 100%;height: 98%;">
208
+ <user-gas-echarts-list :condition="condition" :startdate="startDate"
209
+ :enddate="endDate" :echarts="echarts"></user-gas-echarts-list>
210
+ </div>
211
+ </template>
212
+ <script>
213
+ import {HttpResetClass, PagedList} from 'vue-client'
214
+ import UserGasEcharts from './UserGasEchartsList'
215
+ import * as Util from '../../../Util'
216
+ import plugins from '../../../plugins/GetLoginInfoService'
217
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
218
+
219
+ export default {
220
+ title: '抄表分析',
221
+ props: ['data'],
222
+ components: {UserGasEcharts},
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":"上报日期","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>