manage-client 3.1.34 → 3.1.35

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 (92) hide show
  1. package/.gradle/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/.npmignore +10 -0
  7. package/ManageClient.iml +13 -13
  8. package/build/.npmignore +1 -0
  9. package/build/dev-server.js +21 -28
  10. package/package-lock.json +11184 -0
  11. package/package.json +1 -1
  12. package/src/App.vue +28 -29
  13. package/src/components/BasisEcharts/BarChart.vue +247 -247
  14. package/src/components/BasisEcharts/RingChart.vue +196 -196
  15. package/src/components/SellReport/BusinessClassify.vue +251 -251
  16. package/src/components/SellReport/ChargePrick.vue +279 -279
  17. package/src/components/SellReport/DepartmentPrick.vue +261 -261
  18. package/src/components/SellReport/FinanceSellType.vue +254 -254
  19. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  20. package/src/components/SellReport/GasPrice.vue +244 -244
  21. package/src/components/SellReport/ManageBusSummary.vue +242 -242
  22. package/src/components/SellReport/ManageHandInputtor.vue +281 -281
  23. package/src/components/SellReport/ManageOtherCharge.vue +250 -250
  24. package/src/components/SellReport/ManageSellType.vue +284 -284
  25. package/src/components/SellReport/ManageUserCount.vue +347 -347
  26. package/src/components/SellReport/MarketMonth.vue +251 -251
  27. package/src/components/SellReport/SaleMonthReport.vue +227 -227
  28. package/src/components/SellReport/SellingTable.vue +220 -220
  29. package/src/components/SellReport/UserClassify.vue +251 -251
  30. package/src/components/SellReport/UserSellingGas.vue +251 -251
  31. package/src/components/daping/CallCenter.vue +366 -366
  32. package/src/components/daping/DataManagement.vue +537 -537
  33. package/src/components/daping/GMap.vue +636 -636
  34. package/src/components/daping/ManageMain.vue +270 -270
  35. package/src/components/daping/NetWork.vue +238 -238
  36. package/src/components/daping/RedactDaPing.vue +468 -468
  37. package/src/components/daping/Ring.vue +212 -212
  38. package/src/components/daping/SafeCheck.vue +446 -446
  39. package/src/components/daping/SafeCheckRing.vue +166 -166
  40. package/src/components/daping/SafecheckBarChart.vue +233 -233
  41. package/src/components/daping/WuHaiMap.vue +418 -418
  42. package/src/components/qinhua/BarChart.vue +256 -256
  43. package/src/components/qinhua/Pie.vue +132 -132
  44. package/src/components/qinhua/SellEcharts.vue +115 -115
  45. package/src/components/qinhua/qinHuaMap.vue +414 -414
  46. package/src/components/sale/businessquery/BusinessManage.vue +3 -0
  47. package/src/components/sale/businessquery/ChangeMeterQuery.vue +15 -5
  48. package/src/components/sale/businessquery/CollectManage.vue +135 -135
  49. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  50. package/src/components/sale/businessquery/InfoOperateRecord.vue +291 -0
  51. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  52. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  53. package/src/components/sale/businessquery/ProceedsOper.vue +377 -377
  54. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  55. package/src/components/statistical/StatisticalAnalysis.vue +247 -247
  56. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  57. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  58. package/src/components/webmeter/DrillData/UserGasAll.vue +596 -596
  59. package/src/components/webmeter/DrillData/UserGasEcharts.vue +210 -210
  60. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  61. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  62. package/src/components/webmeter/instruction/NewQueryInstruct.vue +445 -445
  63. package/src/components/webmeter/newwebmeter/NewException/NewContactEcharts.vue +170 -170
  64. package/src/components/webmeter/newwebmeter/NewException/NewEchartsAll.vue +111 -111
  65. package/src/components/webmeter/newwebmeter/NewException/NewExceptionEcharsTotal.vue +899 -899
  66. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +209 -209
  67. package/src/components/webmeter/newwebmeter/NewException/NewHandplanEcharts.vue +238 -238
  68. package/src/components/webmeter/newwebmeter/NewException/NewInstructEcharts.vue +266 -266
  69. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +606 -606
  70. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +252 -252
  71. package/src/components/webmeter/newwebmeter/UserGasList.vue +440 -440
  72. package/src/components/webmeter/newwebmeter/UserInstructList.vue +332 -332
  73. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  74. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  75. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  76. package/src/filiale/alashan/SellingTable.vue +234 -231
  77. package/src/filiale/alashan/reportManage.js +10 -10
  78. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  79. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  80. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  81. package/src/filiale/meihekou/sale.js +26 -26
  82. package/src/filiale/rongcheng/exportConfig.js +257 -257
  83. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  84. package/src/filiale/rongchuang/reportManage.js +11 -11
  85. package/src/filiale/shaoguan/config/exportConfig.js +433 -433
  86. package/src/main.js +66 -66
  87. package/src/newmanage.js +525 -525
  88. package/src/reportManage.js +462 -462
  89. package/src/saleManage.js +2 -0
  90. package/static/wuhai.json +1610 -1610
  91. package/src/components/SellReport/SellCollect.vue +0 -183
  92. package/src/components/sale/businessquery/NewHandplanQuery.vue +0 -995
@@ -1,596 +1,596 @@
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-2 form-group">
41
- <label class="font_normal_body">表&emsp;&emsp;号</label>
42
- <input style="width:60%" class="input_search" condition="f_meternumber = '{}'" placeholder='表号' type="text"
43
- v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
44
- >
45
- </div>
46
- <div class="col-sm-4 form-group button-range">
47
- <button @click="search()" class="button_search button_spacing">查询</button>
48
- <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
49
- <export-excel :data="$parent.$parent.getCondition()"
50
- :field="$parent.$parent.getfield"
51
- sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserGasList" template-name='用气分析'
52
- v-ref:exports
53
- :choose-col="true"></export-excel>
54
- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()" >显示汇总</button>
55
- <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
56
- <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>
57
- </div>
58
- </div>
59
- <div class="row" v-show="$parent.$parent.criteriaShow">
60
-
61
- <!--<div class="col-sm-2 form-group" >
62
- <label class="font_normal_body">用气属性</label>
63
- <v-select
64
- placeholder='用气属性'
65
- value-single="true"
66
- :value.sync="model.f_gasproperties2"
67
- v-model="model.f_gasproperties2"
68
- :options='$parent.$parent.Gasproperties2'
69
- close-on-select condition="uf.f_gasproperties2 {}">
70
- </v-select>
71
- </div>-->
72
- <!-- <res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
73
-
74
- <div class="col-sm-2">
75
- <label class="font_normal_body">公&emsp;&emsp;司</label>
76
- <right-tree @re-res="$parent.$parent.getorg"
77
- :initresid='$parent.$parent.orgid'></right-tree>
78
- </div>
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-show="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
- model: new PagedList('rs/sql/webmeter_getUserGasList', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}, {
365
- f_oughtamount: 0,
366
- f_oughtfee: 0,
367
- f_total_gas: 0,
368
- f_total_fee: 0,
369
- f_balance_amount: 0
370
- }),
371
- getGroupNameByDate: [
372
- {label: '年份', value: 'year'},
373
- {label: '月份', value: 'month'},
374
- {label: '周', value: 'week'}
375
- ],
376
- meterbrands: [],
377
- residentialArea: [],
378
- criteriaShow: false,
379
- reportStr: null,
380
- show: false,
381
- initres: {
382
- org:[this.$login.f.orgid],
383
- dep:[],
384
- user:[]
385
- },
386
- outlets: [],
387
- operator: [],
388
- filename: '',
389
- searchshow: true,
390
- startDate: '',
391
- endDate: '',
392
- echarts: false,
393
- isActiveTotalForm: false,
394
- condition: '1=1',
395
- getfield: {},
396
- config: {
397
- excelHeaders: {
398
- 'f_userinfo_code':'客户编号',
399
- 'f_user_type':'客户类型',
400
- 'f_gasproperties': '用气性质',
401
- 'f_user_name': '客户名称',
402
- 'f_user_phone':'客户电话',
403
- 'f_residential_area': '小区',
404
- 'f_price':'用气单价',
405
- 'f_address':'用气地址',
406
- 'f_meternumber': '表号',
407
- 'f_meter_brand':'气表品牌',
408
- 'f_balance':'期初余额(元)',
409
- 'f_last_tablebase': '上期底数',
410
- 'f_tablebase':'本期底数',
411
- 'f_oughtamount':'用气量(m³)',
412
- 'f_oughtfee':'用气金额(元)',
413
- 'f_curbalance':'期末结余(元)'
414
-
415
- }
416
- },
417
- groupname: ['year'],
418
- getgroupname: [
419
- {label: '年份', value: 'year'},
420
- {label: '月份', value: 'month'},
421
- {label: '周', value: 'week'},
422
- {label: '日', value: 'day'}
423
- ],
424
- // orgCondtionStr: ' and h.f_orgid in (' + this.$login.f.orgid + ')',
425
- orgCondtionStr: '(' + this.$login.f.orgid + ')',
426
- orgid:[this.$login.f.orgid],
427
- usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}]
428
- }
429
- },
430
- ready() {
431
- readyGen(this)
432
- this.$refs.paged.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
433
- this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
434
- this.$refs.paged.$refs.cri.search()
435
- this.getfield = this.config.excelHeaders
436
- },
437
- methods: {
438
- // 查询开关
439
- hidden() {
440
- this.criteriaShow = !this.criteriaShow
441
- },
442
- async getaddress(){
443
- let HttpReset = new HttpResetClass()
444
- var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
445
- data: {
446
- condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
447
- }
448
- }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
449
- console.log('小区',data)
450
- let house = [{label: '全部', value: ''}]
451
- for (let row of data.data){
452
- house.push({label: row.f_residential_area, value: row.f_residential_area})
453
- }
454
- this.residentialArea = house
455
- },
456
- SaveAsFile(str) {
457
- this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
458
- if (res === 'confirm') {
459
- let style = '<style>' +
460
- 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
461
- let strHtml = style + document.getElementById(str).innerHTML;
462
- console.log(strHtml);
463
- let LODOP = getLodop();
464
- LODOP.PRINT_INIT('');
465
- LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
466
- LODOP.SAVE_TO_FILE('用气分析.xls')
467
- }
468
- })
469
- },
470
- clearmsg() {
471
- this.$refs.paged.$refs.cri.model = {}
472
- },
473
- initParams() {
474
- // 初始化气表品牌
475
- let brandArr = []
476
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
477
- if (item.value.f_meter_type == '物联网表') {
478
- let temp = {}
479
- temp.label = item.label
480
- temp.value = item.value.f_meter_brand
481
- brandArr.push(temp)
482
- }
483
- })
484
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
485
-
486
- },
487
- search(args) {
488
- this.startDate = this.$refs.paged.$refs.cri.model.startDate
489
- this.endDate = this.$refs.paged.$refs.cri.model.endDate
490
- if (this.endDate == '' || this.startDate == '') {
491
- return this.$showMessage("时间区间的开始和结束时间不能为空!")
492
- }
493
- // this.condition = this.$refs.paged.$refs.cri.condition + ` ${this.orgCondtionStr}`
494
- if (this.orgCondtionStr)
495
- this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid in ${this.orgCondtionStr}`
496
- else
497
- this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid = ${this.$login.f.orgid}`
498
- args.condition = this.condition
499
- this.model.search(args.condition, args.model)
500
- },
501
- // 显示柱状图
502
- showEcharts() {
503
- this.echarts = true
504
- this.isActiveTotalForm = false
505
- },
506
- notShowTotalForm() {
507
- this.echarts = false
508
- this.isActiveTotalForm = false
509
- },
510
- // 不显示柱状图
511
- notShowEcharts() {
512
- this.echarts = false
513
- this.isActiveTotalForm = false
514
- },
515
- // 显示汇总数据表格
516
- showTotalForm() {
517
- this.echarts = false
518
- this.isActiveTotalForm = true
519
- },
520
- close() {
521
- this.show = false
522
- },
523
- getRes(obj) {
524
- this.orgCondtionStr = plugins.convertToIn(obj)
525
- },
526
- getorg(obj) {
527
- this.orgCondtionStr = plugin.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
528
- },
529
- getCondition () {
530
- return {
531
- condition: this.condition,
532
- startDate: this.startDate,
533
- endDate: this.endDate
534
- }
535
- }
536
- // getRes(condition,obj) {
537
- // this.orgCondtionStr = condition
538
- // this.orgname = obj.orgnames[0]
539
- // this.depname = obj.depnames[0]
540
- // }
541
- },
542
- watch: {
543
- 'data'(val) {
544
- if (val.f_files_path) {
545
- this.getFileContent(val.f_files_path)
546
- } else {
547
- this.reportStr = null
548
- }
549
- }
550
- },
551
- computed: {
552
- houseTypes() {
553
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
554
- },
555
- positions() {
556
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
557
- },
558
- Gasusertype() {
559
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
560
- },
561
- valveStatus() {
562
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
563
- },
564
- Gasproperties() {
565
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
566
- }
567
- }
568
- }
569
- </script>
570
- <style>
571
- .mystyle {
572
- float: right;
573
- padding-right: 10%;
574
- }
575
-
576
- .mystyle1 {
577
- padding-top: 10px;
578
-
579
- }
580
-
581
- .mystyle2 {
582
- width: 100%;
583
- height: 35px;
584
- /*background: #00A3F0;*/
585
- padding-left: 15px;
586
- float: left;
587
- }
588
-
589
- .datapanel {
590
- color: #333;
591
- background-color: white;
592
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
593
- padding: 10px 10px 10px 10px;
594
- border-radius: 15px;
595
- }
596
- </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-2 form-group">
41
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
42
+ <input style="width:60%" class="input_search" condition="f_meternumber = '{}'" placeholder='表号' type="text"
43
+ v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
44
+ >
45
+ </div>
46
+ <div class="col-sm-4 form-group button-range">
47
+ <button @click="search()" class="button_search button_spacing">查询</button>
48
+ <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
49
+ <export-excel :data="$parent.$parent.getCondition()"
50
+ :field="$parent.$parent.getfield"
51
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserGasList" template-name='用气分析'
52
+ v-ref:exports
53
+ :choose-col="true"></export-excel>
54
+ <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()" >显示汇总</button>
55
+ <button class="button_export button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
56
+ <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>
57
+ </div>
58
+ </div>
59
+ <div class="row" v-show="$parent.$parent.criteriaShow">
60
+
61
+ <!--<div class="col-sm-2 form-group" >
62
+ <label class="font_normal_body">用气属性</label>
63
+ <v-select
64
+ placeholder='用气属性'
65
+ value-single="true"
66
+ :value.sync="model.f_gasproperties2"
67
+ v-model="model.f_gasproperties2"
68
+ :options='$parent.$parent.Gasproperties2'
69
+ close-on-select condition="uf.f_gasproperties2 {}">
70
+ </v-select>
71
+ </div>-->
72
+ <!-- <res-select-group :show-component="['company']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>-->
73
+
74
+ <div class="col-sm-2">
75
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
76
+ <right-tree @re-res="$parent.$parent.getorg"
77
+ :initresid='$parent.$parent.orgid'></right-tree>
78
+ </div>
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-show="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
+ model: new PagedList('rs/sql/webmeter_getUserGasList', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate'}, {
365
+ f_oughtamount: 0,
366
+ f_oughtfee: 0,
367
+ f_total_gas: 0,
368
+ f_total_fee: 0,
369
+ f_balance_amount: 0
370
+ }),
371
+ getGroupNameByDate: [
372
+ {label: '年份', value: 'year'},
373
+ {label: '月份', value: 'month'},
374
+ {label: '周', value: 'week'}
375
+ ],
376
+ meterbrands: [],
377
+ residentialArea: [],
378
+ criteriaShow: false,
379
+ reportStr: null,
380
+ show: false,
381
+ initres: {
382
+ org:[this.$login.f.orgid],
383
+ dep:[],
384
+ user:[]
385
+ },
386
+ outlets: [],
387
+ operator: [],
388
+ filename: '',
389
+ searchshow: true,
390
+ startDate: '',
391
+ endDate: '',
392
+ echarts: false,
393
+ isActiveTotalForm: false,
394
+ condition: '1=1',
395
+ getfield: {},
396
+ config: {
397
+ excelHeaders: {
398
+ 'f_userinfo_code':'客户编号',
399
+ 'f_user_type':'客户类型',
400
+ 'f_gasproperties': '用气性质',
401
+ 'f_user_name': '客户名称',
402
+ 'f_user_phone':'客户电话',
403
+ 'f_residential_area': '小区',
404
+ 'f_price':'用气单价',
405
+ 'f_address':'用气地址',
406
+ 'f_meternumber': '表号',
407
+ 'f_meter_brand':'气表品牌',
408
+ 'f_balance':'期初余额(元)',
409
+ 'f_last_tablebase': '上期底数',
410
+ 'f_tablebase':'本期底数',
411
+ 'f_oughtamount':'用气量(m³)',
412
+ 'f_oughtfee':'用气金额(元)',
413
+ 'f_curbalance':'期末结余(元)'
414
+
415
+ }
416
+ },
417
+ groupname: ['year'],
418
+ getgroupname: [
419
+ {label: '年份', value: 'year'},
420
+ {label: '月份', value: 'month'},
421
+ {label: '周', value: 'week'},
422
+ {label: '日', value: 'day'}
423
+ ],
424
+ // orgCondtionStr: ' and h.f_orgid in (' + this.$login.f.orgid + ')',
425
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
426
+ orgid:[this.$login.f.orgid],
427
+ usetypes: [{label: '全部', value: ''},{label: '是', value: `= '壁挂炉'`},{label: '否', value: `!= '壁挂炉'`}]
428
+ }
429
+ },
430
+ ready() {
431
+ readyGen(this)
432
+ this.$refs.paged.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
433
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
434
+ this.$refs.paged.$refs.cri.search()
435
+ this.getfield = this.config.excelHeaders
436
+ },
437
+ methods: {
438
+ // 查询开关
439
+ hidden() {
440
+ this.criteriaShow = !this.criteriaShow
441
+ },
442
+ async getaddress(){
443
+ let HttpReset = new HttpResetClass()
444
+ var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
445
+ data: {
446
+ condition: `1=1 and s.f_orgid = '${this.$login.f.orgid}'`
447
+ }
448
+ }, {resolveMsg: null, rejectMsg: '获取小区失败!'})
449
+ console.log('小区',data)
450
+ let house = [{label: '全部', value: ''}]
451
+ for (let row of data.data){
452
+ house.push({label: row.f_residential_area, value: row.f_residential_area})
453
+ }
454
+ this.residentialArea = house
455
+ },
456
+ SaveAsFile(str) {
457
+ this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
458
+ if (res === 'confirm') {
459
+ let style = '<style>' +
460
+ 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
461
+ let strHtml = style + document.getElementById(str).innerHTML;
462
+ console.log(strHtml);
463
+ let LODOP = getLodop();
464
+ LODOP.PRINT_INIT('');
465
+ LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
466
+ LODOP.SAVE_TO_FILE('用气分析.xls')
467
+ }
468
+ })
469
+ },
470
+ clearmsg() {
471
+ this.$refs.paged.$refs.cri.model = {}
472
+ },
473
+ initParams() {
474
+ // 初始化气表品牌
475
+ let brandArr = []
476
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
477
+ if (item.value.f_meter_type == '物联网表') {
478
+ let temp = {}
479
+ temp.label = item.label
480
+ temp.value = item.value.f_meter_brand
481
+ brandArr.push(temp)
482
+ }
483
+ })
484
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
485
+
486
+ },
487
+ search(args) {
488
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
489
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
490
+ if (this.endDate == '' || this.startDate == '') {
491
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
492
+ }
493
+ // this.condition = this.$refs.paged.$refs.cri.condition + ` ${this.orgCondtionStr}`
494
+ if (this.orgCondtionStr)
495
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid in ${this.orgCondtionStr}`
496
+ else
497
+ this.condition = this.$refs.paged.$refs.cri.condition + ` and f_orgid = ${this.$login.f.orgid}`
498
+ args.condition = this.condition
499
+ this.model.search(args.condition, args.model)
500
+ },
501
+ // 显示柱状图
502
+ showEcharts() {
503
+ this.echarts = true
504
+ this.isActiveTotalForm = false
505
+ },
506
+ notShowTotalForm() {
507
+ this.echarts = false
508
+ this.isActiveTotalForm = false
509
+ },
510
+ // 不显示柱状图
511
+ notShowEcharts() {
512
+ this.echarts = false
513
+ this.isActiveTotalForm = false
514
+ },
515
+ // 显示汇总数据表格
516
+ showTotalForm() {
517
+ this.echarts = false
518
+ this.isActiveTotalForm = true
519
+ },
520
+ close() {
521
+ this.show = false
522
+ },
523
+ getRes(obj) {
524
+ this.orgCondtionStr = plugins.convertToIn(obj)
525
+ },
526
+ getorg(obj) {
527
+ this.orgCondtionStr = plugin.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
528
+ },
529
+ getCondition () {
530
+ return {
531
+ condition: this.condition,
532
+ startDate: this.startDate,
533
+ endDate: this.endDate
534
+ }
535
+ }
536
+ // getRes(condition,obj) {
537
+ // this.orgCondtionStr = condition
538
+ // this.orgname = obj.orgnames[0]
539
+ // this.depname = obj.depnames[0]
540
+ // }
541
+ },
542
+ watch: {
543
+ 'data'(val) {
544
+ if (val.f_files_path) {
545
+ this.getFileContent(val.f_files_path)
546
+ } else {
547
+ this.reportStr = null
548
+ }
549
+ }
550
+ },
551
+ computed: {
552
+ houseTypes() {
553
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
554
+ },
555
+ positions() {
556
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]
557
+ },
558
+ Gasusertype() {
559
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
560
+ },
561
+ valveStatus() {
562
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
563
+ },
564
+ Gasproperties() {
565
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
566
+ }
567
+ }
568
+ }
569
+ </script>
570
+ <style>
571
+ .mystyle {
572
+ float: right;
573
+ padding-right: 10%;
574
+ }
575
+
576
+ .mystyle1 {
577
+ padding-top: 10px;
578
+
579
+ }
580
+
581
+ .mystyle2 {
582
+ width: 100%;
583
+ height: 35px;
584
+ /*background: #00A3F0;*/
585
+ padding-left: 15px;
586
+ float: left;
587
+ }
588
+
589
+ .datapanel {
590
+ color: #333;
591
+ background-color: white;
592
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
593
+ padding: 10px 10px 10px 10px;
594
+ border-radius: 15px;
595
+ }
596
+ </style>