manage-client 3.2.29 → 3.2.33

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 (83) hide show
  1. package/build/dev-server.js +6 -4
  2. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  3. package/package.json +1 -1
  4. package/src/components/BasisEcharts/BarChart.vue +247 -247
  5. package/src/components/SellReport/BonSummary.vue +178 -178
  6. package/src/components/SellReport/ChargePrick.vue +205 -205
  7. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  8. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  9. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  10. package/src/components/SellReport/NonResidentGas.vue +203 -203
  11. package/src/components/SellReport/OutletTable.vue +258 -258
  12. package/src/components/SellReport/QibiaoShouqi.vue +242 -242
  13. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  14. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  15. package/src/components/SellReport/SellingTable.vue +220 -220
  16. package/src/components/SellReport/UserSellingGas.vue +228 -228
  17. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  18. package/src/components/daping/GMap.vue +636 -636
  19. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  20. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  21. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  22. package/src/components/sale/businessquery/BusinesQuery.vue +10 -0
  23. package/src/components/sale/businessquery/ChangeMeterQuery.vue +7 -7
  24. package/src/components/sale/businessquery/ChangeUserQuery.vue +10 -1
  25. package/src/components/sale/businessquery/ChargeQuery.vue +10 -0
  26. package/src/components/sale/businessquery/DisableQuery.vue +10 -0
  27. package/src/components/sale/businessquery/EnableQuery.vue +10 -0
  28. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  29. package/src/components/sale/businessquery/FillCardQuery.vue +6 -1
  30. package/src/components/sale/businessquery/FillGasQuery.vue +6 -1
  31. package/src/components/sale/businessquery/InspectListUser.vue +43 -64
  32. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  33. package/src/components/sale/businessquery/OtherChargeQuery.vue +10 -0
  34. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  35. package/src/components/sale/businessquery/ReverseQuery.vue +10 -0
  36. package/src/components/sale/businessquery/TransferQuery.vue +10 -0
  37. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  38. package/src/components/sale/businessquery/usergas.vue +311 -311
  39. package/src/components/sale/filesquery/ArchivesManage.vue +57 -57
  40. package/src/components/sale/filesquery/DeviceQuery.vue +10 -0
  41. package/src/components/sale/filesquery/FireQuery.vue +477 -477
  42. package/src/components/sale/filesquery/RecordInfoQuery.vue +10 -0
  43. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  44. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  45. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  46. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  47. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  48. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +208 -208
  49. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  50. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +284 -284
  51. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  52. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  53. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  54. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  55. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  56. package/src/filiale/WEINAN/EchartsBox.vue +110 -110
  57. package/src/filiale/WEINAN/ReportDataQuery.vue +325 -325
  58. package/src/filiale/WEINAN/SiteManager.vue +191 -191
  59. package/src/filiale/WEINAN/UserGasAll.vue +577 -577
  60. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -281
  61. package/src/filiale/WEINAN/UserGasList.vue +438 -438
  62. package/src/filiale/WEINAN/reportManage.js +12 -12
  63. package/src/filiale/WEINAN/sale.js +36 -36
  64. package/src/filiale/alashan/reportManage.js +10 -10
  65. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  66. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  67. package/src/filiale/liaoyuan/ReportList.vue +421 -421
  68. package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
  69. package/src/filiale/meihekou/CardHandplanQuery.vue +1 -1
  70. package/src/filiale/meihekou/DeviceQuery.vue +545 -0
  71. package/src/filiale/meihekou/RecordInfoQuery.vue +10 -0
  72. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  73. package/src/filiale/meihekou/YingShouMingXi.vue +538 -538
  74. package/src/filiale/meihekou/config/exportConfig.js +2 -2
  75. package/src/filiale/meihekou/sale.js +3 -1
  76. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  77. package/src/filiale/rongchuang/reportManage.js +11 -11
  78. package/src/filiale/tongchuan/ManageBusSummary.vue +240 -240
  79. package/src/filiale/tongchuan/config/exportConfig.js +857 -857
  80. package/src/filiale/tongchuan/reportManage.js +5 -5
  81. package/src/main.js +4 -4
  82. package/src/saleManage.js +529 -529
  83. 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>