manage-client 3.2.10 → 3.2.14

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 (69) hide show
  1. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  2. package/.gradle/7.1/dependencies-accessors/gc.properties +0 -0
  3. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  4. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  5. package/.gradle/7.1/fileChanges/last-build.bin +0 -0
  6. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  7. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  8. package/.gradle/7.1/gc.properties +0 -0
  9. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  10. package/.gradle/configuration-cache/gc.properties +0 -0
  11. package/build/dev-server.js +4 -6
  12. package/package.json +1 -1
  13. package/src/components/BasisEcharts/BarChart.vue +247 -247
  14. package/src/components/SellReport/BonSummary.vue +178 -178
  15. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  16. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  17. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  18. package/src/components/SellReport/NonResidentGas.vue +203 -203
  19. package/src/components/SellReport/OutletTable.vue +258 -258
  20. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  21. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  22. package/src/components/SellReport/SellingTable.vue +220 -220
  23. package/src/components/SellReport/UserSellingGas.vue +177 -177
  24. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  25. package/src/components/daping/GMap.vue +636 -636
  26. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  27. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  28. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  29. package/src/components/sale/businessquery/BusinesQuery.vue +348 -349
  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/NoBusinessQuery.vue +4 -4
  33. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  34. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  35. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  36. package/src/components/sale/config/exportConfig.js +526 -524
  37. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  38. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  39. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  40. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  41. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  42. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +4 -5
  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 -0
  53. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -0
  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 -32
  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/UserQuery.vue +4 -4
  62. package/src/filiale/meihekou/sale.js +26 -26
  63. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  64. package/src/filiale/rongchuang/reportManage.js +11 -11
  65. package/src/filiale/shaoguan/sale/businessquery/oldMeterList.vue +295 -295
  66. package/src/filiale/tongchuan/sale.js +16 -16
  67. package/src/main.js +2 -2
  68. package/static/wuhai.json +1610 -1610
  69. package/src/filiale/tongchuan/CriteriaPaged.vue +0 -49
@@ -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>