manage-client 3.2.33 → 3.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/.gradle/{4.4 → 5.5}/fileChanges/last-build.bin +0 -0
  2. package/.gradle/5.5/fileHashes/fileHashes.lock +0 -0
  3. package/.gradle/5.5/gc.properties +0 -0
  4. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  6. package/build/dev-server.js +4 -6
  7. package/package.json +1 -1
  8. package/src/components/BasisEcharts/BarChart.vue +247 -247
  9. package/src/components/SellReport/BonSummary.vue +178 -178
  10. package/src/components/SellReport/ChargePrick.vue +205 -205
  11. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  12. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  13. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  14. package/src/components/SellReport/NonResidentGas.vue +203 -203
  15. package/src/components/SellReport/OutletTable.vue +258 -258
  16. package/src/components/SellReport/QibiaoShouqi.vue +242 -242
  17. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  18. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  19. package/src/components/SellReport/SellingTable.vue +220 -220
  20. package/src/components/SellReport/UserSellingGas.vue +228 -228
  21. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  22. package/src/components/daping/GMap.vue +636 -636
  23. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  24. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  25. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  26. package/src/components/sale/businessquery/ChargeQuery.vue +1250 -1245
  27. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  28. package/src/components/sale/businessquery/InspectListUser.vue +412 -412
  29. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  30. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  31. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  32. package/src/components/sale/businessquery/usergas.vue +311 -311
  33. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  34. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  35. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  36. package/src/components/webmeter/DrillData/UserGasAll.vue +607 -607
  37. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  38. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  39. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +208 -208
  40. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  41. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +284 -284
  42. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  43. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  44. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  45. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  46. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  47. package/src/filiale/WEINAN/EchartsBox.vue +110 -110
  48. package/src/filiale/WEINAN/ReportDataQuery.vue +325 -325
  49. package/src/filiale/WEINAN/SiteManager.vue +191 -191
  50. package/src/filiale/WEINAN/UserGasAll.vue +577 -577
  51. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -281
  52. package/src/filiale/WEINAN/UserGasList.vue +438 -438
  53. package/src/filiale/WEINAN/reportManage.js +12 -12
  54. package/src/filiale/WEINAN/sale.js +36 -36
  55. package/src/filiale/alashan/reportManage.js +10 -10
  56. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  57. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  58. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  59. package/src/filiale/meihekou/YingShouMingXi.vue +538 -538
  60. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  61. package/src/filiale/rongchuang/reportManage.js +11 -11
  62. package/src/filiale/tongchuan/ManageBusSummary.vue +240 -240
  63. package/src/filiale/tongchuan/reportManage.js +5 -5
  64. package/src/main.js +2 -2
  65. package/static/wuhai.json +1610 -1610
  66. package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
  67. package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
@@ -1,607 +1,607 @@
1
- <template>
2
- <div class="flex-row" id="unit" v-show="(!echarts)&&(!isActiveTotalForm)">
3
- <div class="basic-main" @keyup.enter="search">
4
- <div class="flex">
5
- <div class="flex" style="flex:1;">
6
- <criteria-paged :model="model" :pager='true' v-ref:paged>
7
- <criteria @condition-changed='$parent.search' partial='criteria' v-ref:cri>
8
- <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
- <div class="row" width="100%">
10
- <div class="col-sm-2 form-group">
11
- <label class="font_normal_body">客户编号</label>
12
- <input style="width:60%" class="input_search" condition="f_userinfo_code like '%{}%'" placeholder='客户编号' type="text"
13
- v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
14
- >
15
- </div>
16
- <div class="col-sm-2 form-group">
17
- <label class="font_normal_body">客户名称</label>
18
- <input style="width:60%" class="input_search" condition="f_user_name like '%{}%'" placeholder='客户名称' type="text"
19
- v-el:username v-model="model.f_username" v-next-el='userid'>
20
- </div>
21
- <div class="col-sm-2 form-group">
22
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
23
- <v-select :value.sync="model.f_residential_area"
24
- class="select_list select"
25
- v-model="model.f_residential_area"
26
- style="width: 60%"
27
- multiple
28
- condition="f_residential_area in {}"
29
- :options='$parent.$parent.residentialArea' placeholder='选择小区'
30
- close-on-select>
31
-
32
- </v-select>
33
- </div>
34
- <div class="col-sm-2 form-group">
35
- <label class="font_normal_body">用气地址</label>
36
- <input style="width:60%" class="input_search" condition="f_address like '%{}%'" placeholder='用气地址' type="text"
37
- v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
38
- >
39
- </div>
40
- <div class="col-sm-4 form-group button-range">
41
- <button @click="search()" class="button_search button_spacing">查询</button>
42
- <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
43
- <export-excel :data="$parent.$parent.getCondition()"
44
- :field="$parent.$parent.getfield"
45
- sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserGasList" template-name='用气分析'
46
- v-ref:exports
47
- :choose-col="true"></export-excel>
48
- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()" >显示汇总</button>
49
- <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
50
- <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
51
- </div>
52
- </div>
53
- <div class="row" v-show="$parent.$parent.criteriaShow">
54
-
55
- <!--<div class="col-sm-2 form-group" >
56
- <label class="font_normal_body">用气属性</label>
57
- <v-select
58
- placeholder='用气属性'
59
- value-single="true"
60
- :value.sync="model.f_gasproperties2"
61
- v-model="model.f_gasproperties2"
62
- :options='$parent.$parent.Gasproperties2'
63
- close-on-select condition="uf.f_gasproperties2 {}">
64
- </v-select>
65
- </div>-->
66
- <!-- <res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
67
- <div class="col-sm-2 form-group">
68
- <label class="font_normal_body">表&emsp;&emsp;号</label>
69
- <input style="width:60%" class="input_search" condition="f_meternumber = '{}'" placeholder='表号' type="text"
70
- v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
71
- >
72
- </div>
73
- <!-- <div class="col-sm-2">-->
74
- <!-- <label class="font_normal_body">公&emsp;&emsp;司</label>-->
75
- <!-- <right-tree @re-res="$parent.$parent.getorg"-->
76
- <!-- :initresid='$parent.$parent.orgid'></right-tree>-->
77
- <!-- </div>-->
78
- <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
79
- <!-- <div class="col-sm-2 form-group">-->
80
- <!-- <label class="font_normal_body">组织机构</label>-->
81
- <!-- <res-select :initresid="$parent.$parent.orgid"-->
82
- <!-- style="width:60%"-->
83
- <!-- @res-select="$parent.$parent.getRes"-->
84
- <!-- restype='organization'>-->
85
- <!-- </res-select>-->
86
- <!-- </div>-->
87
-
88
- <div class="col-sm-2 form-group">
89
- <label class="font_normal_body">客户类型</label>
90
- <v-select :options='$parent.$parent.Gasusertype'
91
- :value.sync="model.f_user_type"
92
- close-on-select
93
- style="width:60%"
94
- condition="f_user_type = '{}'"
95
- id="f_user_type"
96
- placeholder='客户类型'
97
- v-model="model.f_user_type"
98
- value-single="true">
99
- </v-select>
100
- </div>
101
- <div class="col-sm-2 form-group">
102
- <label class="font_normal_body">用气性质</label>
103
- <v-select :options='$parent.$parent.Gasproperties'
104
- :value.sync="model.f_gasproperties"
105
- close-on-select
106
- condition="f_gasproperties = '{}'"
107
- id="f_gasproperties"
108
- placeholder='用气性质'
109
- style="width:60%"
110
- v-model="model.f_gasproperties"
111
- value-single="true">
112
- </v-select>
113
- </div>
114
- <div class="col-sm-2 form-group">
115
- <label class="font_normal_body">气表品牌</label>
116
- <v-select :value.sync="model.f_meter_brand"
117
- v-model="model.f_meter_brand"
118
- :options='$parent.$parent.meterbrands' placeholder='请选择'
119
- condition="f_meter_brand = '{}'"
120
- close-on-select></v-select>
121
- </div>
122
- <div class="col-sm-2 form-group">
123
- <label class="font_normal_body">时间区间</label>
124
- <datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
125
- :show-reset-button="reset"
126
- :value.sync="model.startDate"
127
- id="startDate"
128
- style="width:60%"
129
- placeholder="开始时间"
130
- v-model="model.startDate">
131
- </datepicker>
132
- </div>
133
- <div class="col-sm-2 form-group">
134
- <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
135
- <datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
136
- :show-reset-button="reset"
137
- :value.sync="model.endDate"
138
- style="width:60%"
139
- id="endDate"
140
- style="width:60%"
141
- placeholder="结束日期"
142
- v-model="model.endDate">
143
- </datepicker>
144
- </div>
145
- <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
146
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;用气量&nbsp;</label>
147
- <div class="row">
148
- <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount1"
149
- condition="f_oughtamount >= {} " placeholder="">
150
- <label class="font_normal_body"> ≤ x ≤ </label>
151
- <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount2"
152
- condition="f_oughtamount <= {} " placeholder="">
153
- </div>
154
- </div>
155
- <!--<div class="col-sm-2 form-group">
156
- <label class="font_normal_body">用&nbsp;气&nbsp;量&nbsp;</label>
157
- <input type="text" style="width:60%" class="input_search"
158
- v-model="model.f_start_oughtamount" placeholder='起始气量'
159
- >
160
- </div>
161
- <div class="col-sm-2 form-group">
162
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
163
- <input type="text" style="width:60%" class="input_search"
164
- v-model="model.f_end_oughtamount" placeholder='结束气量'
165
- >
166
- </div>-->
167
- <div class="col-sm-2 form-group">
168
- <label class="font_normal_body">壁&ensp;挂&ensp;炉</label>
169
- <v-select id="f_meter_brand"
170
- v-model="model.f_usetype"
171
- placeholder=''
172
- :value.sync="model.f_usetype"
173
- :options='$parent.$parent.usetypes'
174
- condition="f_usetype {}" :search="false"
175
- close-on-select style="width: 60%">
176
- </v-select>
177
- </div>
178
- <div class="col-sm-2 form-group">
179
- <label class="font_normal_body">房屋类型</label>
180
- <v-select :value.sync="model.f_house_type" v-model="model.f_house_type"
181
- :options='$parent.$parent.houseTypes' placeholder='请选择'
182
- close-on-select
183
- condition="f_house_type = '{}'"></v-select>
184
- </div>
185
- <div class="col-sm-2 form-group">
186
- <label class="font_normal_body">安装位置</label>
187
- <v-select :value.sync="model.f_position" v-model="model.f_position"
188
- :options='$parent.$parent.positions' placeholder='请选择'
189
- condition="f_position = '{}'"
190
- close-on-select></v-select>
191
- </div>
192
- <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
193
- <label class="font_normal_body">期末结余</label>
194
- <div class="row">
195
- <input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance1"
196
- condition="f_curbalance >= {} " placeholder="">
197
- <label class="font_normal_body"> ≤ x ≤ </label>
198
- <input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance2"
199
- condition="f_curbalance <= {} " placeholder="">
200
- </div>
201
- </div>
202
- </div>
203
- </div>
204
- </criteria>
205
- <data-grid :model="model" id="usergasall" partial='list' class="list_area table_sy" v-ref:grid>
206
- <template partial='head'>
207
- <tr>
208
- <th style="text-align:center">
209
- <nobr>客户编号</nobr>
210
- </th>
211
- <th style="text-align:center">
212
- <nobr>客户类型</nobr>
213
- </th>
214
- <th style="text-align:center">
215
- <nobr>用气性质</nobr>
216
- </th>
217
- <th style="text-align:center">
218
- <nobr>用户电话</nobr>
219
- </th>
220
- <!--<th style="text-align:center"><nobr>用气属性</nobr></th>-->
221
- <th style="text-align:center">
222
- <nobr>客户名称</nobr>
223
- </th>
224
- <th style="text-align:center">
225
- <nobr>小区</nobr>
226
- </th>
227
- <th style="text-align:center">
228
- <nobr>用气单价</nobr>
229
- </th>
230
- <th style="text-align:center">
231
- <nobr>累购气量</nobr>
232
- </th>
233
- <th style="text-align:center">
234
- <nobr>累购金额</nobr>
235
- </th>
236
- <th style="text-align:center">
237
- <nobr>账号结余</nobr>
238
- </th>
239
- <th style="text-align:center">
240
- <nobr>气表名称</nobr>
241
- </th>
242
- <th style="text-align:center">
243
- <nobr>用气地址</nobr>
244
- </th>
245
- <th style="text-align:center">
246
- <nobr>表号</nobr>
247
- </th>
248
- <th style="text-align:center">
249
- <nobr>期初余额(元)</nobr>
250
- </th>
251
- <th style="text-align:center">
252
- <nobr>上期底数</nobr>
253
- </th>
254
- <th style="text-align:center">
255
- <nobr>本期底数</nobr>
256
- </th>
257
- <!-- <th style="text-align:center"><nobr>气价(元/m³)</nobr></th>-->
258
- <th style="text-align:center">
259
- <nobr>用气量(m³)</nobr>
260
- </th>
261
- <th style="text-align:center">
262
- <nobr>用气金额(元)</nobr>
263
- </th>
264
- <!-- <th style="text-align:center">-->
265
- <!-- <nobr>充值金额(元)</nobr>-->
266
- <!-- </th>-->
267
- <th style="text-align:center">
268
- <nobr>期末结余(元)</nobr>
269
- </th>
270
- </tr>
271
-
272
-
273
- </template>
274
- <template partial='body'>
275
- <td>{{row.f_userinfo_code}}</td>
276
- <td style="text-align:center">{{row.f_user_type}}</td>
277
- <td style="text-align:center">{{row.f_gasproperties}}</td>
278
- <td style="text-align:center">{{row.f_user_phone}}</td>
279
- <!--<td style="text-align:center">{{row.f_gasproperties2}}</td>-->
280
- <td style="text-align:center">
281
- <nobr>{{row.f_user_name}}</nobr>
282
- </td>
283
- <td style="text-align:center">
284
- <nobr>{{row.f_residential_area}}</nobr>
285
- </td>
286
- <td style="text-align:center">
287
- <nobr>{{row.f_price}}</nobr>
288
- </td>
289
- <td style="text-align:center">{{row.f_total_gas}}</td>
290
- <td style="text-align:center">{{row.f_total_fee}}</td>
291
- <td style="text-align:center">{{row.f_balance_amount}}</td>
292
- <td style="text-align:center">{{row.f_meter_brand}}</td>
293
- <td>
294
- <nobr>{{row.f_address}}</nobr>
295
- </td>
296
- <td>{{row.f_meternumber}}</td>
297
- <td style="text-align:center">{{row.f_balance}}</td>
298
- <td style="text-align:center">{{row.f_last_tablebase}}</td>
299
- <td style="text-align:center">{{row.f_tablebase}}</td>
300
- <!--<td style="text-align:center">{{row.f_avg_price}}</td>-->
301
- <td style="text-align:center">{{row.f_oughtamount}}</td>
302
- <td style="text-align:center">{{row.f_oughtfee}}</td>
303
- <!-- <td style="text-align:center">{{row.f_collection}}</td>-->
304
- <td style="text-align:center">{{row.f_curbalance}}</td>
305
- </template>
306
- </data-grid>
307
- </criteria-paged>
308
- <table class="table-hover">
309
- <tr style="position: relative" class="table-bordered">
310
- <td
311
- style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
312
- 汇总信息
313
- </td>
314
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
315
- 总累购气量:&emsp;{{model.sums.f_total_gas}}
316
- </td>
317
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
318
- 总累购金额:&emsp;{{model.sums.f_total_fee}}
319
- </td>
320
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
321
- 总账户结余:&emsp;{{model.sums.f_balance_amount}}
322
- </td>
323
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
324
- 本期用气量合计:&emsp;{{model.sums.f_oughtamount}}
325
- </td>
326
- <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
327
- 本期用气金额合计:&emsp;{{model.sums.f_oughtfee}}
328
- </td>
329
- </tr>
330
- </table>
331
- </div>
332
- </div>
333
- </div>
334
- </div>
335
- <div class="flex-row" v-if="echarts">
336
- <user-gas-echarts :condition="condition" :echarts="echarts" :enddate="endDate"
337
- :groupname="groupname[0]" :startdate="startDate"></user-gas-echarts>
338
- </div>
339
- <!--汇总表显示模板-->
340
- <div class="flex-row" v-if="isActiveTotalForm">
341
- <user-gas-eform :condition="condition" :enddate="endDate" :startdate="startDate"></user-gas-eform>
342
- </div>
343
- </template>
344
-
345
- <script>
346
- import {HttpResetClass, PagedList} from 'vue-client'
347
- import UserGasEcharts from './UserGasEcharts'
348
- import * as Util from '../../../Util'
349
- import getLodop from '../../../plugins/LodopFuncs'
350
- import plugins from '../../../plugins/GetLoginInfoService'
351
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
352
- let readyGen = async function (self) {
353
- await self.$MagLoadParams.loadParam()
354
- self.initParams()
355
- self.getaddress()
356
- }
357
-
358
- export default {
359
- title: '用气分析',
360
- props: ['data'],
361
- components: {UserGasEcharts},
362
- data() {
363
- return {
364
- resshow:['company','slicearea'],
365
- model: new PagedList('rs/sql/webmeter_getUserGasList', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}, {
366
- f_oughtamount: 0,
367
- f_oughtfee: 0,
368
- f_total_gas: 0,
369
- f_total_fee: 0,
370
- f_balance_amount: 0
371
- }),
372
- getGroupNameByDate: [
373
- {label: '年份', value: 'year'},
374
- {label: '月份', value: 'month'},
375
- {label: '周', value: 'week'}
376
- ],
377
- meterbrands: [],
378
- residentialArea: [],
379
- criteriaShow: false,
380
- reportStr: null,
381
- show: false,
382
- initres: {
383
- org:[this.$login.f.orgid],
384
- dep:[],
385
- user:[]
386
- },
387
- outlets: [],
388
- operator: [],
389
- filename: '',
390
- searchshow: true,
391
- startDate: '',
392
- endDate: '',
393
- echarts: false,
394
- isActiveTotalForm: false,
395
- condition: '1=1',
396
- getfield: {},
397
- config: {
398
- excelHeaders: {
399
- 'f_userinfo_code':'客户编号',
400
- 'f_user_type':'客户类型',
401
- 'f_gasproperties': '用气性质',
402
- 'f_user_name': '客户名称',
403
- 'f_user_phone':'客户电话',
404
- 'f_residential_area': '小区',
405
- 'f_price':'用气单价',
406
- 'f_address':'用气地址',
407
- 'f_meternumber': '表号',
408
- 'f_meter_brand':'气表品牌',
409
- 'f_balance':'期初余额(元)',
410
- 'f_last_tablebase': '上期底数',
411
- 'f_tablebase':'本期底数',
412
- 'f_oughtamount':'用气量(m³)',
413
- 'f_oughtfee':'用气金额(元)',
414
- 'f_curbalance':'期末结余(元)'
415
-
416
- }
417
- },
418
- groupname: ['day'],
419
- getgroupname: [
420
- {label: '年份', value: 'year'},
421
- {label: '月份', value: 'month'},
422
- {label: '周', value: 'week'},
423
- {label: '日', value: 'day'}
424
- ],
425
- // orgCondtionStr: ' and h.f_orgid in (' + this.$login.f.orgid + ')',
426
- orgCondtionStr: '(' + this.$login.f.orgid + ')',
427
- orgid:[this.$login.f.orgid],
428
- usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}],
429
- zonesdata:''
430
- }
431
- },
432
- ready() {
433
- readyGen(this)
434
- console.log('444444444', Util.addDate(new Date(),-6).substring(0,10))
435
- this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-4).substring(0,10) + ' 00:00:00'
436
- this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
437
- this.$refs.paged.$refs.cri.search()
438
- this.getfield = this.config.excelHeaders
439
- },
440
- methods: {
441
- // 查询开关
442
- hidden() {
443
- this.criteriaShow = !this.criteriaShow
444
- },
445
- async getaddress(){
446
- let HttpReset = new HttpResetClass()
447
- var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
448
- data: {
449
- condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
450
- }
451
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
452
- console.log('小区',data)
453
- let house = [{label: '全部', value: ''}]
454
- for (let row of data.data){
455
- house.push({label: row.f_residential_area, value: row.f_residential_area})
456
- }
457
- this.residentialArea = house
458
- },
459
- SaveAsFile(str) {
460
- this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
461
- if (res === 'confirm') {
462
- let style = '<style>' +
463
- 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
464
- let strHtml = style + document.getElementById(str).innerHTML;
465
- console.log(strHtml);
466
- let LODOP = getLodop();
467
- LODOP.PRINT_INIT('');
468
- LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
469
- LODOP.SAVE_TO_FILE('用气分析.xls')
470
- }
471
- })
472
- },
473
- clearmsg() {
474
- this.$refs.paged.$refs.cri.model = {}
475
- },
476
- initParams() {
477
- // 初始化气表品牌
478
- let brandArr = []
479
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
480
- if (item.value.f_meter_type == '物联网表') {
481
- let temp = {}
482
- temp.label = item.label
483
- temp.value = item.value.f_meter_brand
484
- brandArr.push(temp)
485
- }
486
- })
487
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
488
-
489
- },
490
- search(args) {
491
- this.startDate = this.$refs.paged.$refs.cri.model.startDate
492
- this.endDate = this.$refs.paged.$refs.cri.model.endDate
493
- if (this.endDate == '' || this.startDate == '') {
494
- return this.$showMessage("时间区间的开始和结束时间不能为空!")
495
- }
496
- // this.condition = this.$refs.paged.$refs.cri.condition + ` ${this.orgCondtionStr}`
497
- if (this.orgCondtionStr)
498
- this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid in ${this.orgCondtionStr}`
499
- else
500
- this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid = ${this.$login.f.orgid}`
501
- if(this.zonesdata){
502
- this.condition = this.$refs.paged.$refs.cri.condition + ` and ${this.zonesdata}`
503
- }
504
- args.condition = this.condition
505
- this.model.search(args.condition, args.model)
506
- },
507
- // 显示柱状图
508
- showEcharts() {
509
- this.echarts = true
510
- this.isActiveTotalForm = false
511
- },
512
- notShowTotalForm() {
513
- this.echarts = false
514
- this.isActiveTotalForm = false
515
- },
516
- // 不显示柱状图
517
- notShowEcharts() {
518
- this.echarts = false
519
- this.isActiveTotalForm = false
520
- },
521
- // 显示汇总数据表格
522
- showTotalForm() {
523
- this.echarts = false
524
- this.isActiveTotalForm = true
525
- },
526
- close() {
527
- this.show = false
528
- },
529
- getRes(obj) {
530
- this.orgCondtionStr = plugins.convertToIn(obj)
531
- if(obj.indexOf("f_zones = ")>0){
532
- this.zonesdata = obj.substring(obj.indexOf("f_zones = "))
533
- }else{
534
- this.zonesdata='';
535
- }
536
- },
537
- getorg(obj) {
538
- this.orgCondtionStr = plugin.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
539
- },
540
- getCondition () {
541
- return {
542
- condition: this.condition,
543
- startDate: this.startDate,
544
- endDate: this.endDate
545
- }
546
- }
547
- // getRes(condition,obj) {
548
- // this.orgCondtionStr = condition
549
- // this.orgname = obj.orgnames[0]
550
- // this.depname = obj.depnames[0]
551
- // }
552
- },
553
- watch: {
554
- 'data'(val) {
555
- if (val.f_files_path) {
556
- this.getFileContent(val.f_files_path)
557
- } else {
558
- this.reportStr = null
559
- }
560
- }
561
- },
562
- computed: {
563
- houseTypes() {
564
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
565
- },
566
- positions() {
567
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
568
- },
569
- Gasusertype() {
570
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
571
- },
572
- valveStatus() {
573
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
574
- },
575
- Gasproperties() {
576
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
577
- }
578
- }
579
- }
580
- </script>
581
- <style>
582
- .mystyle {
583
- float: right;
584
- padding-right: 10%;
585
- }
586
-
587
- .mystyle1 {
588
- padding-top: 10px;
589
-
590
- }
591
-
592
- .mystyle2 {
593
- width: 100%;
594
- height: 35px;
595
- /*background: #00A3F0;*/
596
- padding-left: 15px;
597
- float: left;
598
- }
599
-
600
- .datapanel {
601
- color: #333;
602
- background-color: white;
603
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
604
- padding: 10px 10px 10px 10px;
605
- border-radius: 15px;
606
- }
607
- </style>
1
+ <template>
2
+ <div class="flex-row" id="unit" v-show="(!echarts)&&(!isActiveTotalForm)">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex">
5
+ <div class="flex" style="flex:1;">
6
+ <criteria-paged :model="model" :pager='true' v-ref:paged>
7
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:cri>
8
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
+ <div class="row" width="100%">
10
+ <div class="col-sm-2 form-group">
11
+ <label class="font_normal_body">客户编号</label>
12
+ <input style="width:60%" class="input_search" condition="f_userinfo_code like '%{}%'" placeholder='客户编号' type="text"
13
+ v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
14
+ >
15
+ </div>
16
+ <div class="col-sm-2 form-group">
17
+ <label class="font_normal_body">客户名称</label>
18
+ <input style="width:60%" class="input_search" condition="f_user_name like '%{}%'" placeholder='客户名称' type="text"
19
+ v-el:username v-model="model.f_username" v-next-el='userid'>
20
+ </div>
21
+ <div class="col-sm-2 form-group">
22
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;小区&nbsp;&nbsp;&nbsp;</label>
23
+ <v-select :value.sync="model.f_residential_area"
24
+ class="select_list select"
25
+ v-model="model.f_residential_area"
26
+ style="width: 60%"
27
+ multiple
28
+ condition="f_residential_area in {}"
29
+ :options='$parent.$parent.residentialArea' placeholder='选择小区'
30
+ close-on-select>
31
+
32
+ </v-select>
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body">用气地址</label>
36
+ <input style="width:60%" class="input_search" condition="f_address like '%{}%'" placeholder='用气地址' type="text"
37
+ v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
38
+ >
39
+ </div>
40
+ <div class="col-sm-4 form-group button-range">
41
+ <button @click="search()" class="button_search button_spacing">查询</button>
42
+ <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
43
+ <export-excel :data="$parent.$parent.getCondition()"
44
+ :field="$parent.$parent.getfield"
45
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserGasList" template-name='用气分析'
46
+ v-ref:exports
47
+ :choose-col="true"></export-excel>
48
+ <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()" >显示汇总</button>
49
+ <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
50
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
51
+ </div>
52
+ </div>
53
+ <div class="row" v-show="$parent.$parent.criteriaShow">
54
+
55
+ <!--<div class="col-sm-2 form-group" >
56
+ <label class="font_normal_body">用气属性</label>
57
+ <v-select
58
+ placeholder='用气属性'
59
+ value-single="true"
60
+ :value.sync="model.f_gasproperties2"
61
+ v-model="model.f_gasproperties2"
62
+ :options='$parent.$parent.Gasproperties2'
63
+ close-on-select condition="uf.f_gasproperties2 {}">
64
+ </v-select>
65
+ </div>-->
66
+ <!-- <res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
67
+ <div class="col-sm-2 form-group">
68
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
69
+ <input style="width:60%" class="input_search" condition="f_meternumber = '{}'" placeholder='表号' type="text"
70
+ v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
71
+ >
72
+ </div>
73
+ <!-- <div class="col-sm-2">-->
74
+ <!-- <label class="font_normal_body">公&emsp;&emsp;司</label>-->
75
+ <!-- <right-tree @re-res="$parent.$parent.getorg"-->
76
+ <!-- :initresid='$parent.$parent.orgid'></right-tree>-->
77
+ <!-- </div>-->
78
+ <res-select-group :show-component="$parent.$parent.resshow" :selectin="true" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
79
+ <!-- <div class="col-sm-2 form-group">-->
80
+ <!-- <label class="font_normal_body">组织机构</label>-->
81
+ <!-- <res-select :initresid="$parent.$parent.orgid"-->
82
+ <!-- style="width:60%"-->
83
+ <!-- @res-select="$parent.$parent.getRes"-->
84
+ <!-- restype='organization'>-->
85
+ <!-- </res-select>-->
86
+ <!-- </div>-->
87
+
88
+ <div class="col-sm-2 form-group">
89
+ <label class="font_normal_body">客户类型</label>
90
+ <v-select :options='$parent.$parent.Gasusertype'
91
+ :value.sync="model.f_user_type"
92
+ close-on-select
93
+ style="width:60%"
94
+ condition="f_user_type = '{}'"
95
+ id="f_user_type"
96
+ placeholder='客户类型'
97
+ v-model="model.f_user_type"
98
+ value-single="true">
99
+ </v-select>
100
+ </div>
101
+ <div class="col-sm-2 form-group">
102
+ <label class="font_normal_body">用气性质</label>
103
+ <v-select :options='$parent.$parent.Gasproperties'
104
+ :value.sync="model.f_gasproperties"
105
+ close-on-select
106
+ condition="f_gasproperties = '{}'"
107
+ id="f_gasproperties"
108
+ placeholder='用气性质'
109
+ style="width:60%"
110
+ v-model="model.f_gasproperties"
111
+ value-single="true">
112
+ </v-select>
113
+ </div>
114
+ <div class="col-sm-2 form-group">
115
+ <label class="font_normal_body">气表品牌</label>
116
+ <v-select :value.sync="model.f_meter_brand"
117
+ v-model="model.f_meter_brand"
118
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
119
+ condition="f_meter_brand = '{}'"
120
+ close-on-select></v-select>
121
+ </div>
122
+ <div class="col-sm-2 form-group">
123
+ <label class="font_normal_body">时间区间</label>
124
+ <datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
125
+ :show-reset-button="reset"
126
+ :value.sync="model.startDate"
127
+ id="startDate"
128
+ style="width:60%"
129
+ placeholder="开始时间"
130
+ v-model="model.startDate">
131
+ </datepicker>
132
+ </div>
133
+ <div class="col-sm-2 form-group">
134
+ <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
135
+ <datepicker :disabled-days-of-Week="[]" :format="'yyyy-MM-dd HH:mm:ss'"
136
+ :show-reset-button="reset"
137
+ :value.sync="model.endDate"
138
+ style="width:60%"
139
+ id="endDate"
140
+ style="width:60%"
141
+ placeholder="结束日期"
142
+ v-model="model.endDate">
143
+ </datepicker>
144
+ </div>
145
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
146
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;用气量&nbsp;</label>
147
+ <div class="row">
148
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount1"
149
+ condition="f_oughtamount >= {} " placeholder="">
150
+ <label class="font_normal_body"> ≤ x ≤ </label>
151
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_oughtamount2"
152
+ condition="f_oughtamount <= {} " placeholder="">
153
+ </div>
154
+ </div>
155
+ <!--<div class="col-sm-2 form-group">
156
+ <label class="font_normal_body">用&nbsp;气&nbsp;量&nbsp;</label>
157
+ <input type="text" style="width:60%" class="input_search"
158
+ v-model="model.f_start_oughtamount" placeholder='起始气量'
159
+ >
160
+ </div>
161
+ <div class="col-sm-2 form-group">
162
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
163
+ <input type="text" style="width:60%" class="input_search"
164
+ v-model="model.f_end_oughtamount" placeholder='结束气量'
165
+ >
166
+ </div>-->
167
+ <div class="col-sm-2 form-group">
168
+ <label class="font_normal_body">壁&ensp;挂&ensp;炉</label>
169
+ <v-select id="f_meter_brand"
170
+ v-model="model.f_usetype"
171
+ placeholder=''
172
+ :value.sync="model.f_usetype"
173
+ :options='$parent.$parent.usetypes'
174
+ condition="f_usetype {}" :search="false"
175
+ close-on-select style="width: 60%">
176
+ </v-select>
177
+ </div>
178
+ <div class="col-sm-2 form-group">
179
+ <label class="font_normal_body">房屋类型</label>
180
+ <v-select :value.sync="model.f_house_type" v-model="model.f_house_type"
181
+ :options='$parent.$parent.houseTypes' placeholder='请选择'
182
+ close-on-select
183
+ condition="f_house_type = '{}'"></v-select>
184
+ </div>
185
+ <div class="col-sm-2 form-group">
186
+ <label class="font_normal_body">安装位置</label>
187
+ <v-select :value.sync="model.f_position" v-model="model.f_position"
188
+ :options='$parent.$parent.positions' placeholder='请选择'
189
+ condition="f_position = '{}'"
190
+ close-on-select></v-select>
191
+ </div>
192
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
193
+ <label class="font_normal_body">期末结余</label>
194
+ <div class="row">
195
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance1"
196
+ condition="f_curbalance >= {} " placeholder="">
197
+ <label class="font_normal_body"> ≤ x ≤ </label>
198
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_curbalance2"
199
+ condition="f_curbalance <= {} " placeholder="">
200
+ </div>
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </criteria>
205
+ <data-grid :model="model" id="usergasall" partial='list' class="list_area table_sy" v-ref:grid>
206
+ <template partial='head'>
207
+ <tr>
208
+ <th style="text-align:center">
209
+ <nobr>客户编号</nobr>
210
+ </th>
211
+ <th style="text-align:center">
212
+ <nobr>客户类型</nobr>
213
+ </th>
214
+ <th style="text-align:center">
215
+ <nobr>用气性质</nobr>
216
+ </th>
217
+ <th style="text-align:center">
218
+ <nobr>用户电话</nobr>
219
+ </th>
220
+ <!--<th style="text-align:center"><nobr>用气属性</nobr></th>-->
221
+ <th style="text-align:center">
222
+ <nobr>客户名称</nobr>
223
+ </th>
224
+ <th style="text-align:center">
225
+ <nobr>小区</nobr>
226
+ </th>
227
+ <th style="text-align:center">
228
+ <nobr>用气单价</nobr>
229
+ </th>
230
+ <th style="text-align:center">
231
+ <nobr>累购气量</nobr>
232
+ </th>
233
+ <th style="text-align:center">
234
+ <nobr>累购金额</nobr>
235
+ </th>
236
+ <th style="text-align:center">
237
+ <nobr>账号结余</nobr>
238
+ </th>
239
+ <th style="text-align:center">
240
+ <nobr>气表名称</nobr>
241
+ </th>
242
+ <th style="text-align:center">
243
+ <nobr>用气地址</nobr>
244
+ </th>
245
+ <th style="text-align:center">
246
+ <nobr>表号</nobr>
247
+ </th>
248
+ <th style="text-align:center">
249
+ <nobr>期初余额(元)</nobr>
250
+ </th>
251
+ <th style="text-align:center">
252
+ <nobr>上期底数</nobr>
253
+ </th>
254
+ <th style="text-align:center">
255
+ <nobr>本期底数</nobr>
256
+ </th>
257
+ <!-- <th style="text-align:center"><nobr>气价(元/m³)</nobr></th>-->
258
+ <th style="text-align:center">
259
+ <nobr>用气量(m³)</nobr>
260
+ </th>
261
+ <th style="text-align:center">
262
+ <nobr>用气金额(元)</nobr>
263
+ </th>
264
+ <!-- <th style="text-align:center">-->
265
+ <!-- <nobr>充值金额(元)</nobr>-->
266
+ <!-- </th>-->
267
+ <th style="text-align:center">
268
+ <nobr>期末结余(元)</nobr>
269
+ </th>
270
+ </tr>
271
+
272
+
273
+ </template>
274
+ <template partial='body'>
275
+ <td>{{row.f_userinfo_code}}</td>
276
+ <td style="text-align:center">{{row.f_user_type}}</td>
277
+ <td style="text-align:center">{{row.f_gasproperties}}</td>
278
+ <td style="text-align:center">{{row.f_user_phone}}</td>
279
+ <!--<td style="text-align:center">{{row.f_gasproperties2}}</td>-->
280
+ <td style="text-align:center">
281
+ <nobr>{{row.f_user_name}}</nobr>
282
+ </td>
283
+ <td style="text-align:center">
284
+ <nobr>{{row.f_residential_area}}</nobr>
285
+ </td>
286
+ <td style="text-align:center">
287
+ <nobr>{{row.f_price}}</nobr>
288
+ </td>
289
+ <td style="text-align:center">{{row.f_total_gas}}</td>
290
+ <td style="text-align:center">{{row.f_total_fee}}</td>
291
+ <td style="text-align:center">{{row.f_balance_amount}}</td>
292
+ <td style="text-align:center">{{row.f_meter_brand}}</td>
293
+ <td>
294
+ <nobr>{{row.f_address}}</nobr>
295
+ </td>
296
+ <td>{{row.f_meternumber}}</td>
297
+ <td style="text-align:center">{{row.f_balance}}</td>
298
+ <td style="text-align:center">{{row.f_last_tablebase}}</td>
299
+ <td style="text-align:center">{{row.f_tablebase}}</td>
300
+ <!--<td style="text-align:center">{{row.f_avg_price}}</td>-->
301
+ <td style="text-align:center">{{row.f_oughtamount}}</td>
302
+ <td style="text-align:center">{{row.f_oughtfee}}</td>
303
+ <!-- <td style="text-align:center">{{row.f_collection}}</td>-->
304
+ <td style="text-align:center">{{row.f_curbalance}}</td>
305
+ </template>
306
+ </data-grid>
307
+ </criteria-paged>
308
+ <table class="table-hover">
309
+ <tr style="position: relative" class="table-bordered">
310
+ <td
311
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
312
+ 汇总信息
313
+ </td>
314
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
315
+ 总累购气量:&emsp;{{model.sums.f_total_gas}}
316
+ </td>
317
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
318
+ 总累购金额:&emsp;{{model.sums.f_total_fee}}
319
+ </td>
320
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
321
+ 总账户结余:&emsp;{{model.sums.f_balance_amount}}
322
+ </td>
323
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
324
+ 本期用气量合计:&emsp;{{model.sums.f_oughtamount}}
325
+ </td>
326
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
327
+ 本期用气金额合计:&emsp;{{model.sums.f_oughtfee}}
328
+ </td>
329
+ </tr>
330
+ </table>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ <div class="flex-row" v-if="echarts">
336
+ <user-gas-echarts :condition="condition" :echarts="echarts" :enddate="endDate"
337
+ :groupname="groupname[0]" :startdate="startDate"></user-gas-echarts>
338
+ </div>
339
+ <!--汇总表显示模板-->
340
+ <div class="flex-row" v-if="isActiveTotalForm">
341
+ <user-gas-eform :condition="condition" :enddate="endDate" :startdate="startDate"></user-gas-eform>
342
+ </div>
343
+ </template>
344
+
345
+ <script>
346
+ import {HttpResetClass, PagedList} from 'vue-client'
347
+ import UserGasEcharts from './UserGasEcharts'
348
+ import * as Util from '../../../Util'
349
+ import getLodop from '../../../plugins/LodopFuncs'
350
+ import plugins from '../../../plugins/GetLoginInfoService'
351
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
352
+ let readyGen = async function (self) {
353
+ await self.$MagLoadParams.loadParam()
354
+ self.initParams()
355
+ self.getaddress()
356
+ }
357
+
358
+ export default {
359
+ title: '用气分析',
360
+ props: ['data'],
361
+ components: {UserGasEcharts},
362
+ data() {
363
+ return {
364
+ resshow:['company','slicearea'],
365
+ model: new PagedList('rs/sql/webmeter_getUserGasList', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}, {
366
+ f_oughtamount: 0,
367
+ f_oughtfee: 0,
368
+ f_total_gas: 0,
369
+ f_total_fee: 0,
370
+ f_balance_amount: 0
371
+ }),
372
+ getGroupNameByDate: [
373
+ {label: '年份', value: 'year'},
374
+ {label: '月份', value: 'month'},
375
+ {label: '周', value: 'week'}
376
+ ],
377
+ meterbrands: [],
378
+ residentialArea: [],
379
+ criteriaShow: false,
380
+ reportStr: null,
381
+ show: false,
382
+ initres: {
383
+ org:[this.$login.f.orgid],
384
+ dep:[],
385
+ user:[]
386
+ },
387
+ outlets: [],
388
+ operator: [],
389
+ filename: '',
390
+ searchshow: true,
391
+ startDate: '',
392
+ endDate: '',
393
+ echarts: false,
394
+ isActiveTotalForm: false,
395
+ condition: '1=1',
396
+ getfield: {},
397
+ config: {
398
+ excelHeaders: {
399
+ 'f_userinfo_code':'客户编号',
400
+ 'f_user_type':'客户类型',
401
+ 'f_gasproperties': '用气性质',
402
+ 'f_user_name': '客户名称',
403
+ 'f_user_phone':'客户电话',
404
+ 'f_residential_area': '小区',
405
+ 'f_price':'用气单价',
406
+ 'f_address':'用气地址',
407
+ 'f_meternumber': '表号',
408
+ 'f_meter_brand':'气表品牌',
409
+ 'f_balance':'期初余额(元)',
410
+ 'f_last_tablebase': '上期底数',
411
+ 'f_tablebase':'本期底数',
412
+ 'f_oughtamount':'用气量(m³)',
413
+ 'f_oughtfee':'用气金额(元)',
414
+ 'f_curbalance':'期末结余(元)'
415
+
416
+ }
417
+ },
418
+ groupname: ['day'],
419
+ getgroupname: [
420
+ {label: '年份', value: 'year'},
421
+ {label: '月份', value: 'month'},
422
+ {label: '周', value: 'week'},
423
+ {label: '日', value: 'day'}
424
+ ],
425
+ // orgCondtionStr: ' and h.f_orgid in (' + this.$login.f.orgid + ')',
426
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
427
+ orgid:[this.$login.f.orgid],
428
+ usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}],
429
+ zonesdata:''
430
+ }
431
+ },
432
+ ready() {
433
+ readyGen(this)
434
+ console.log('444444444', Util.addDate(new Date(),-6).substring(0,10))
435
+ this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-4).substring(0,10) + ' 00:00:00'
436
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
437
+ this.$refs.paged.$refs.cri.search()
438
+ this.getfield = this.config.excelHeaders
439
+ },
440
+ methods: {
441
+ // 查询开关
442
+ hidden() {
443
+ this.criteriaShow = !this.criteriaShow
444
+ },
445
+ async getaddress(){
446
+ let HttpReset = new HttpResetClass()
447
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
448
+ data: {
449
+ condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
450
+ }
451
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
452
+ console.log('小区',data)
453
+ let house = [{label: '全部', value: ''}]
454
+ for (let row of data.data){
455
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
456
+ }
457
+ this.residentialArea = house
458
+ },
459
+ SaveAsFile(str) {
460
+ this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
461
+ if (res === 'confirm') {
462
+ let style = '<style>' +
463
+ 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
464
+ let strHtml = style + document.getElementById(str).innerHTML;
465
+ console.log(strHtml);
466
+ let LODOP = getLodop();
467
+ LODOP.PRINT_INIT('');
468
+ LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
469
+ LODOP.SAVE_TO_FILE('用气分析.xls')
470
+ }
471
+ })
472
+ },
473
+ clearmsg() {
474
+ this.$refs.paged.$refs.cri.model = {}
475
+ },
476
+ initParams() {
477
+ // 初始化气表品牌
478
+ let brandArr = []
479
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
480
+ if (item.value.f_meter_type == '物联网表') {
481
+ let temp = {}
482
+ temp.label = item.label
483
+ temp.value = item.value.f_meter_brand
484
+ brandArr.push(temp)
485
+ }
486
+ })
487
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
488
+
489
+ },
490
+ search(args) {
491
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
492
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
493
+ if (this.endDate == '' || this.startDate == '') {
494
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
495
+ }
496
+ // this.condition = this.$refs.paged.$refs.cri.condition + ` ${this.orgCondtionStr}`
497
+ if (this.orgCondtionStr)
498
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid in ${this.orgCondtionStr}`
499
+ else
500
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid = ${this.$login.f.orgid}`
501
+ if(this.zonesdata){
502
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and ${this.zonesdata}`
503
+ }
504
+ args.condition = this.condition
505
+ this.model.search(args.condition, args.model)
506
+ },
507
+ // 显示柱状图
508
+ showEcharts() {
509
+ this.echarts = true
510
+ this.isActiveTotalForm = false
511
+ },
512
+ notShowTotalForm() {
513
+ this.echarts = false
514
+ this.isActiveTotalForm = false
515
+ },
516
+ // 不显示柱状图
517
+ notShowEcharts() {
518
+ this.echarts = false
519
+ this.isActiveTotalForm = false
520
+ },
521
+ // 显示汇总数据表格
522
+ showTotalForm() {
523
+ this.echarts = false
524
+ this.isActiveTotalForm = true
525
+ },
526
+ close() {
527
+ this.show = false
528
+ },
529
+ getRes(obj) {
530
+ this.orgCondtionStr = plugins.convertToIn(obj)
531
+ if(obj.indexOf("f_zones = ")>0){
532
+ this.zonesdata = obj.substring(obj.indexOf("f_zones = "))
533
+ }else{
534
+ this.zonesdata='';
535
+ }
536
+ },
537
+ getorg(obj) {
538
+ this.orgCondtionStr = plugin.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
539
+ },
540
+ getCondition () {
541
+ return {
542
+ condition: this.condition,
543
+ startDate: this.startDate,
544
+ endDate: this.endDate
545
+ }
546
+ }
547
+ // getRes(condition,obj) {
548
+ // this.orgCondtionStr = condition
549
+ // this.orgname = obj.orgnames[0]
550
+ // this.depname = obj.depnames[0]
551
+ // }
552
+ },
553
+ watch: {
554
+ 'data'(val) {
555
+ if (val.f_files_path) {
556
+ this.getFileContent(val.f_files_path)
557
+ } else {
558
+ this.reportStr = null
559
+ }
560
+ }
561
+ },
562
+ computed: {
563
+ houseTypes() {
564
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
565
+ },
566
+ positions() {
567
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
568
+ },
569
+ Gasusertype() {
570
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
571
+ },
572
+ valveStatus() {
573
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
574
+ },
575
+ Gasproperties() {
576
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
577
+ }
578
+ }
579
+ }
580
+ </script>
581
+ <style>
582
+ .mystyle {
583
+ float: right;
584
+ padding-right: 10%;
585
+ }
586
+
587
+ .mystyle1 {
588
+ padding-top: 10px;
589
+
590
+ }
591
+
592
+ .mystyle2 {
593
+ width: 100%;
594
+ height: 35px;
595
+ /*background: #00A3F0;*/
596
+ padding-left: 15px;
597
+ float: left;
598
+ }
599
+
600
+ .datapanel {
601
+ color: #333;
602
+ background-color: white;
603
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
604
+ padding: 10px 10px 10px 10px;
605
+ border-radius: 15px;
606
+ }
607
+ </style>