manage-client 3.2.22 → 3.2.23

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 (114) hide show
  1. package/.gradle/6.1.1/fileContent/fileContent.lock +0 -0
  2. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/.gradle/7.1/dependencies-accessors/gc.properties +0 -0
  4. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  5. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  6. package/.gradle/7.1/fileChanges/last-build.bin +0 -0
  7. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  8. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  9. package/.gradle/7.1/gc.properties +0 -0
  10. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  11. package/build/dev-server.js +6 -8
  12. package/build/libs/ManageClient-3.1.0-17.jar +0 -0
  13. package/build/tmp/jar/MANIFEST.MF +2 -0
  14. package/package.json +1 -1
  15. package/src/components/BasisEcharts/BarChart.vue +247 -247
  16. package/src/components/SellReport/AmountGas.vue +257 -257
  17. package/src/components/SellReport/BonSummary.vue +178 -178
  18. package/src/components/SellReport/BusinessClassify.vue +268 -317
  19. package/src/components/SellReport/BusinessMoneyReport.vue +268 -268
  20. package/src/components/SellReport/BusinessReport.vue +256 -256
  21. package/src/components/SellReport/ChSellReport.vue +251 -251
  22. package/src/components/SellReport/ChargeBill.vue +244 -244
  23. package/src/components/SellReport/ChargeDayTable.vue +258 -258
  24. package/src/components/SellReport/ChargeMonthTable.vue +257 -257
  25. package/src/components/SellReport/ChargeYearTable.vue +252 -252
  26. package/src/components/SellReport/DepartmentPrick.vue +243 -288
  27. package/src/components/SellReport/DeptHomePage.vue +299 -299
  28. package/src/components/SellReport/FinanceSellType.vue +254 -254
  29. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  30. package/src/components/SellReport/GasMeterBrand.vue +228 -228
  31. package/src/components/SellReport/GasMoneyPublicReport.vue +263 -0
  32. package/src/components/SellReport/GasMoneyReport.vue +252 -254
  33. package/src/components/SellReport/GasPriceGroup.vue +228 -228
  34. package/src/components/SellReport/GasSummary.vue +257 -257
  35. package/src/components/SellReport/Gasc.vue +257 -257
  36. package/src/components/SellReport/GetUserNum.vue +240 -240
  37. package/src/components/SellReport/HandplanBili.vue +241 -241
  38. package/src/components/SellReport/HandplanUserCount.vue +227 -227
  39. package/src/components/SellReport/ManageBusSummary.vue +219 -219
  40. package/src/components/SellReport/ManageGasPrice.vue +176 -176
  41. package/src/components/SellReport/ManageGasSumChange.vue +265 -265
  42. package/src/components/SellReport/ManageGasSumChangeTwo.vue +271 -271
  43. package/src/components/SellReport/ManageGasSumOtherCharge.vue +244 -244
  44. package/src/components/SellReport/MarketMonth.vue +251 -297
  45. package/src/components/SellReport/MeterPrice.vue +244 -244
  46. package/src/components/SellReport/MeterReader.vue +231 -231
  47. package/src/components/SellReport/NonResidentGas.vue +203 -203
  48. package/src/components/SellReport/OperatorCheckoutTwo.vue +263 -263
  49. package/src/components/SellReport/OperatorSellReport.vue +268 -268
  50. package/src/components/SellReport/OtherChargePublicReport.vue +262 -0
  51. package/src/components/SellReport/OutletTable.vue +258 -258
  52. package/src/components/SellReport/PaymentDistribute.vue +228 -228
  53. package/src/components/SellReport/PaymentMethod.vue +274 -274
  54. package/src/components/SellReport/QTXManageBusSummary.vue +236 -236
  55. package/src/components/SellReport/QibiaoShouqi.vue +242 -242
  56. package/src/components/SellReport/ReportComponrnt/TieAnAccount.vue +501 -501
  57. package/src/components/SellReport/SaleMonthReport.vue +153 -153
  58. package/src/components/SellReport/SellDepReport.vue +264 -266
  59. package/src/components/SellReport/SellingTable.vue +220 -220
  60. package/src/components/SellReport/UserClassify.vue +222 -271
  61. package/src/components/SellReport/UserGasFillCard.vue +441 -441
  62. package/src/components/SellReport/UserSellingGas.vue +228 -228
  63. package/src/components/SellReport/WeiNanYuShou.vue +246 -246
  64. package/src/components/SellReport/YuShouTable.vue +298 -298
  65. package/src/components/SellReport/chargeSchedule.vue +410 -410
  66. package/src/components/SellReport/pengan/ManageBusPeng.vue +280 -280
  67. package/src/components/SellReport/userholds.vue +257 -257
  68. package/src/components/TelReport/ZhiHuanservice.vue +162 -162
  69. package/src/components/daping/GMap.vue +636 -636
  70. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +504 -504
  71. package/src/components/sale/businessquery/AccountQuery/PreGasList.vue +371 -371
  72. package/src/components/sale/businessquery/AccountQuery/SellingGasList.vue +404 -404
  73. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  74. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  75. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  76. package/src/components/sale/businessquery/ProceedsOper.vue +417 -417
  77. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  78. package/src/components/statistical/StatisticalAnalysis.vue +252 -252
  79. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  80. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  81. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  82. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  83. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +208 -208
  84. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  85. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +284 -284
  86. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  87. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  88. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  89. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  90. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  91. package/src/components/webmeter/report/ReportList.vue +434 -434
  92. package/src/filiale/WEINAN/BankManager.vue +139 -0
  93. package/src/filiale/WEINAN/EchartsBox.vue +110 -110
  94. package/src/filiale/WEINAN/ReportDataQuery.vue +325 -325
  95. package/src/filiale/WEINAN/SiteManager.vue +191 -191
  96. package/src/filiale/WEINAN/UserGasAll.vue +577 -577
  97. package/src/filiale/WEINAN/UserGasEcharts.vue +281 -281
  98. package/src/filiale/WEINAN/UserGasList.vue +438 -438
  99. package/src/filiale/WEINAN/config/exportConfig.js +833 -833
  100. package/src/filiale/WEINAN/reportManage.js +1 -0
  101. package/src/filiale/WEINAN/sale.js +36 -36
  102. package/src/filiale/alashan/reportManage.js +10 -10
  103. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  104. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  105. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  106. package/src/filiale/meihekou/YingShouMingXi.vue +538 -538
  107. package/src/filiale/meihekou/config/exportConfig.js +831 -831
  108. package/src/filiale/meihekou/sale.js +29 -29
  109. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  110. package/src/filiale/rongchuang/reportManage.js +11 -11
  111. package/src/filiale/tongchuan/ManageBusSummary.vue +240 -240
  112. package/src/filiale/tongchuan/reportManage.js +5 -5
  113. package/src/reportManage.js +498 -490
  114. package/static/wuhai.json +1610 -1610
@@ -1,633 +1,633 @@
1
- <template>
2
- <div class="flex-row" v-show="!showdetail">
3
- <div id='app1' class="basic-main" v-show="(!echarts)&&(!isActiveTotalForm)">
4
- <criteria-paged :model="model" :pager='true' v-ref:paged>
5
- <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
6
- <div novalidate class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
- <div class="row">
8
- <!--<div class="form-group">-->
9
- <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'-->
10
- <!--condition="f_user_name = '{}'" v-next-el='userid' v-el:username-->
11
- <!--:size="model.f_user_name ? model.f_user_name.length * 2 : 8">-->
12
- <!--</div>-->
13
-
14
- <div class="col-sm-2 form-group">
15
- <label class="font_normal_body">客户编号</label>
16
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
17
- v-model="model.f_userinfo_code" placeholder='客户编号'
18
- condition="f_userinfo_code like '%{}%'" v-el:xq v-next-el='userinfocode' v-el:username
19
- >
20
- </div>
21
- <div class="col-sm-2 form-group">
22
- <label class="font_normal_body">客户名称</label>
23
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
24
- v-model="model.f_user_name" placeholder='客户名称'
25
- condition="f_user_name like '%{}%'" v-el:xq v-next-el='username' v-el:username
26
- >
27
- </div>
28
- <div class="col-sm-2 form-group">
29
- <label class="font_normal_body">客户地址</label>
30
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_area"
31
- placeholder='地址'
32
- condition="f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
33
- >
34
- </div>
35
- <div class="col-sm-2 form-group">
36
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;表号&nbsp;&nbsp;&nbsp;</label>
37
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
38
- v-model="model.f_meternumber" placeholder='表号'
39
- condition="f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
40
- >
41
- </div>
42
- <div style="float:right">
43
- <button class="button_search button_spacing" @click="search()">查询</button>
44
- <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
45
- <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
46
- :field="$parent.$parent.getfield" :sumname="$parent.$parent.sumName"
47
- sqlurl="rs/logic/exportfile" sql-name="webmeter_getAllLoseQuery" template-name='失联分析'
48
- :choose-col="true"></export-excel>
49
- <!-- <button class="button_export button_spacing" @click="$parent.$parent.SaveAsFile('lostuserlist')">导出</button>-->
50
- <!-- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()">显示汇总</button>-->
51
- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
52
- <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>
53
- </div>
54
- </div>
55
- <div class="row" v-show="$parent.$parent.criteriaShow">
56
- <div class="col-sm-2 form-group">
57
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
58
- <right-tree @re-res="$parent.$parent.getorg" width="60%"
59
- :initresid='$parent.$parent.org'></right-tree>
60
- </div>
61
- <div class="col-sm-2 form-group">
62
- <label class="font_normal_body">客户类型</label>
63
- <v-select style="width:60%" id="f_user_type"
64
- v-model="model.f_user_type"
65
- placeholder='客户类型'
66
- :value.sync="model.f_user_type"
67
- @change="$parent.$parent.userTypeChange()"
68
- :options='$parent.$parent.usertypes'
69
- condition="f_user_type = '{}'"
70
- close-on-select>
71
- </v-select>
72
- </div>
73
- <div class="col-sm-2 form-group">
74
- <label class="font_normal_body">用气性质</label>
75
- <v-select style="width:60%" id="f_gasproperties"
76
- v-model="model.f_gasproperties"
77
- placeholder='用气性质'
78
- :value.sync="model.f_gasproperties"
79
- :options='$parent.$parent.gasproperties'
80
- condition="f_gasproperties = '{}'"
81
- close-on-select>
82
- </v-select>
83
- </div>
84
- <div class="col-sm-2 form-group">
85
- <label class="font_normal_body">气表品牌</label>
86
- <v-select
87
- placeholder='气表品牌'
88
- :value.sync="model.f_meter_brand"
89
- v-model="model.f_meter_brand"
90
- :options='$parent.$parent.WarningType'
91
- @change="$parent.$parent.getMeterType"
92
- close-on-select
93
- condition="f_meter_brand='{}'">
94
- </v-select>
95
- </div>
96
- <div class="col-sm-2 form-group" >
97
- <label class="font_normal_body">气表型号</label>
98
- <v-select v-if="$parent.$parent.styles"
99
- placeholder='气表型号'
100
- :value.sync="model.f_meter_style"
101
- v-model="model.f_meter_style"
102
- :options='$parent.$parent.Warningstyle'
103
- close-on-select
104
- condition="f_meter_style='{}'">
105
- </v-select>
106
- <v-select v-if="!$parent.$parent.styles"
107
- placeholder='气表型号'
108
- :value.sync="model.f_meter_style"
109
- v-model="model.f_meter_style"
110
- :options='$parent.$parent.Warningstyles'
111
- close-on-select
112
- condition="f_meter_style='{}'">
113
- </v-select>
114
- </div>
115
- <div class="col-sm-2 form-group">
116
- <label class="font_normal_body">用户状态</label>
117
- <v-select
118
- placeholder='用户状态'
119
- value-single="true"
120
- style="width:60%"
121
- :value.sync="model.f_user_state"
122
- v-model="model.f_user_state"
123
- :options='$parent.$parent.userstate'
124
- close-on-select condition="f_user_state ='{}'">
125
- </v-select>
126
- </div>
127
- <!--<div class="col-sm-2 form-group">-->
128
- <!--<label class="font_normal_body">最新状态</label>-->
129
- <!-- <v-select style="width:60%" id="f_state"-->
130
- <!--v-model="model.f_state"-->
131
- <!--placeholder='最新状态'-->
132
- <!--:value.sync="model.f_state"-->
133
- <!--:options='$parent.$parent.getstate'-->
134
- <!--condition="f_state = '{}'"-->
135
- <!--close-on-select>-->
136
- <!--</v-select>-->
137
- <!--</div>-->
138
- <div class="col-sm-2 form-group">
139
- <label class="font_normal_body">开始时间</label>
140
- <datepicker style="width:60%" id="startdate" placeholder="开始时间"
141
- v-model="model.startDate"
142
- :value.sync="model.startDate"
143
- :disabled-days-of-Week="[]"
144
- :format="'yyyy-MM-dd HH:mm:ss'"
145
-
146
- :show-reset-button="reset">
147
- </datepicker>
148
- </div>
149
- <div class="col-sm-2 form-group">
150
- <label class="font_normal_body">结束时间</label>
151
- <datepicker style="width:60%" id="enddate" placeholder="结束日期"
152
- v-model="model.endDate"
153
- :value.sync="model.endDate"
154
- :disabled-days-of-Week="[]"
155
- :format="'yyyy-MM-dd HH:mm:ss'"
156
-
157
- :show-reset-button="reset">
158
- </datepicker>
159
- </div>
160
-
161
-
162
- <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
163
- <label class="font_normal_body">最长失联</label>
164
- <div class="row">
165
- <input type="text" style="width:27%" class="input_search" v-model="model.max_interval_day1"
166
- condition="max_interval_day >= {} " placeholder="">
167
- <label class="font_normal_body"> &nbsp;≤ x ≤ </label>
168
- <input type="text" style="width:27%" class="input_search" v-model="model.max_interval_day2"
169
- condition="max_interval_day <= {} " placeholder="">
170
- </div>
171
- </div>
172
-
173
-
174
- <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
175
- <label class="font_normal_body">合计失联</label>
176
- <div class="row">
177
- <input type="text" style="width:27%" class="input_search" v-model="model.SLdays1"
178
- condition="SLdays >= {} " placeholder="">
179
- <label class="font_normal_body">&nbsp; ≤ x ≤ </label>
180
- <input type="text" style="width:27%" class="input_search" v-model="model.SLdays2"
181
- condition="SLdays <= {} " placeholder="">
182
- </div>
183
- </div>
184
-
185
- <!--<div class="col-sm-2 form-group">-->
186
- <!--<label class="font_normal_body">最新失联</label>-->
187
- <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.new_days1" placeholder='天数大于等于'-->
188
- <!--condition="new_days >= {}" v-next-el='new_days' v-el:new_days-->
189
- <!--&gt;-->
190
- <!--</div>-->
191
- <!--<div class="col-sm-2 form-group">-->
192
- <!--<label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>-->
193
- <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.new_days2" placeholder='天数小于等于'-->
194
- <!--condition="new_days <= {}" v-next-el='new_days' v-el:new_days-->
195
- <!--&gt;-->
196
- <!--</div>-->
197
-
198
- </div>
199
-
200
-
201
-
202
- <!--:top='40' :left='60' :right='40' :bottom='60'-->
203
- <!--:thead='"<th>序号</th>\n"+-->
204
- <!--"<th>档案编号</th>" +-->
205
- <!--" <th>档案标识</th>"+-->
206
- <!--"<th>客户名称</th>"+-->
207
- <!--"<th>表号</th"+-->
208
- <!--"<th>表具类型</th>"+-->
209
- <!--"<th>客户类型</th>"+-->
210
- <!--"<th>区域</th>"+-->
211
- <!--"<th>小区</th>"+-->
212
- <!--"<th>地址</th>"+-->
213
- <!--"<th>用气气量</th>"+-->
214
- <!--"<th>用气金额</th>"-->
215
- <!--+"<th>用气价格</th>"-->
216
- <!--+"<th>时间</th>"-->
217
- <!--+"<th>所属机构</th>"'-->
218
- <!--:fields='["$index+1","f_username","f_meternumber","f_usertype","f_save_money","f_operate_status","f_close_reason","f_area","f_districtname","f_address","id","yytdepa"]'>-->
219
- <!--</print-table>-->
220
- <!--<export-excel :data="{orderitem: 'lastinputdate desc', condition: '1=1'}"-->
221
- <!--:field="{f_username: '客户名称', f_meternumber: '表号',f_usertype:'客户类型',f_save_money:'剩余金额',-->
222
- <!--f_operate_status:'状态',f_close_reason:'关阀原因',f_area:'区域',f_districtname:'小区', f_address: '地址',id:'档案编号',yytdepa:'所属机构'}"-->
223
- <!--sqlurl="rs/sql/getUserGas"></export-excel>-->
224
-
225
- </div>
226
- </criteria>
227
- <data-grid id="lostuserlist" :model="model" partial='list' v-ref:grid class="list_area table_sy">
228
- <template partial='head'>
229
- <tr>
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
-
255
- <th style="text-align:center">
256
- <nobr>应报天数</nobr>
257
- </th>
258
- <th style="text-align:center">
259
- <nobr>实报天数</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
- <th style="text-align:center" >
271
- <nobr>气表型号</nobr>
272
- </th>
273
- <th style="text-align:center" >
274
- <nobr>用户状态</nobr>
275
- </th>
276
- <th style="text-align:center" >
277
- <nobr>组织机构</nobr>
278
- </th>
279
-
280
- </tr>
281
-
282
- </template>
283
- <template partial='body'>
284
- <td style="text-align:center">{{$index+1}}</td>
285
- <!--<td style="text-align:center">{{row.f_userfiles_id}}</td>-->
286
- <td style="text-align: center;"><nobr>
287
- <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
288
- </nobr> </td>
289
- <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
290
- <td><nobr>{{row.f_address}}</nobr></td>
291
- <td style="text-align:center">{{row.f_user_type}}</td>
292
- <td style="text-align:center">{{row.f_gasproperties}}</td>
293
- <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
294
- <td style="text-align:center"><nobr>{{row.f_startuse_date}}</nobr></td>
295
-
296
- <td style="text-align:center">{{row.ybdays}}</td>
297
- <td style="text-align:center">{{row.sbdays}}</td>
298
- <td style="text-align:center">
299
- <nobr>{{row.max_interval_day}}</nobr>
300
- </td>
301
- <td style="text-align:center">
302
- <nobr>{{row.sldays}}</nobr>
303
- </td>
304
- <td style="text-align:center">
305
- <nobr>{{row.f_meter_brand}}</nobr>
306
- </td>
307
- <td style="text-align:center">
308
- <nobr>{{row.f_meter_style}}</nobr>
309
- </td>
310
- <td style="text-align:center">
311
- <nobr>{{row.f_user_state}}</nobr>
312
- </td>
313
- <td style="text-align:center">
314
- <nobr>{{row.f_orgname}}</nobr>
315
- </td>
316
-
317
- </template>
318
- </data-grid>
319
- </criteria-paged>
320
- </div>
321
- <div class="flex-row" v-show="echarts" style="width: 100%;height: 90%;">
322
- <lost-contact-echarts :groupname="groupname[0]" :condition = "condition" :startdate="startDate"
323
- :enddate="endDate" :echarts="echarts"></lost-contact-echarts>
324
- </div>
325
- <div class="span" v-show="isActiveTotalForm" style="width: 100%;height: 90%;">
326
- <lost-contact-eform :condition="condition"
327
- ></lost-contact-eform>
328
- </div>
329
- </div>
330
-
331
- <!-- <div v-show="isActiveTotalForm" style="height: 40px;width: 100%;">-->
332
- <!-- <button class="button_search button_spacing" @click="notShowTotalForm()">隐藏汇总</button>-->
333
- <!-- </div>-->
334
- <!-- <div class="flex-row" v-show="isActiveTotalForm" style="width: 100%;height: 90%;">-->
335
- <!-- <lost-contact-eform :condition="model.condition" :startdate="startDate"-->
336
- <!-- :enddate="endDate"></lost-contact-eform>-->
337
- <!-- </div>-->
338
- <div class="flex-row" style="width:99%;height:98%;margin-bottom:0px" v-if="showdetail">
339
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
340
- </div>
341
- </template>
342
-
343
- <script>
344
- import {PagedList} from 'vue-client'
345
- import UserGasEcharts from './UserGasEcharts'
346
- import * as Util from '../../../Util'
347
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
348
- import {HttpResetClass} from 'vue-client'
349
- let readySomething = async function (self) {
350
-
351
- await self.$MagLoadParams.loadParam()
352
- self.initParams()
353
- let year = new Date().getFullYear()
354
- self.$refs.paged.$refs.cri.model.startDate = year+'-01-01 00:00:00'
355
- // self.$refs.paged.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
356
- self.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
357
- self.$refs.paged.$refs.cri.search()
358
- }
359
- export default {
360
- title: '失联分析',
361
- props: ['data'],
362
- components: {UserGasEcharts},
363
- data() {
364
- return {
365
- model: new PagedList('rs/sql/webmeter_getAllLoseQuery', 20, {
366
- startDate: 'this.model.startDate',
367
- endDate: 'this.model.endDate'
368
- }),
369
- getfield:{
370
- "f_userinfo_code":"客户编号","f_user_name":"客户名称",
371
- "f_address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质",
372
- "f_meternumber":"表号",
373
-
374
- "f_startuse_date":"启用日期",
375
- "ybdays":"应报天数",
376
- "sbdays":"实报天数",
377
- "max_interval_day":"最长失联天数","sldays":"累计失联天数",
378
- "f_meter_brand":"气表厂家","f_orgname":"组织机构"},
379
- reportStr: null,
380
- show: false,
381
- showdetail:false,
382
- rowdata:{},
383
- startDate: '',
384
- endDate: '',
385
- criteriaShow:false,
386
- outlets: [],
387
- gasproperties:[{label: '全部', value: ''}],
388
- operator: [],
389
- WarningType: [
390
- {label: '全部', value: ''}
391
- ],
392
- Warningstyles: [
393
- {label: '全部', value: ''}
394
- ],
395
- styles:false,
396
- filename: '',
397
- orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`,
398
- echarts: false,
399
- orgid:[this.$login.f.orgid],
400
- searchshow: false,
401
- isActiveTotalForm: false,
402
- condition: '1=1',
403
- groupname: ['max_days_type'],
404
- getgroupname: [
405
- {label: '客户类型', value: 'f_user_type'},
406
- {label: '用气性质', value: 'f_gasproperties'},
407
- {label: '分公司', value: 'f_orgname'},
408
- {label: '最长失联天数', value: 'max_days_type'},
409
- {label: '合计失联天数', value: 'all_days_type'}
410
- ],
411
- org:[this.$login.f.orgid]
412
-
413
- }
414
- },
415
- ready() {
416
- readySomething(this)
417
- this.getMeterTypeAndBrand('f_meter_brand', '1=1')
418
- },
419
- methods: {
420
- getMeterType() {
421
- this.Warningstyle = [{label: '全部', value: ''}]
422
- this.styles = false
423
- let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
424
- this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
425
- },
426
- getMeterTypeAndBrand(groupname, condition) {
427
- condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
428
- let self = this
429
- let load = new HttpResetClass()
430
- load.load('POST', 'rs/sql/getMeterStyleAndBrand1', {
431
- data: {
432
- condition: condition,
433
- groupname: groupname
434
- }
435
- }, {warnMsg: null, resolveMsg: null}).then((res) => {
436
- let dr = {label: '', value: ''}
437
- let i = 0
438
- for (i = 0; i < res.data.length; i++) {
439
- dr = {label: '', value: ''}
440
- if (groupname == 'f_meter_brand') {
441
- dr.label = res.data[i].f_meter_brand
442
- dr.value = res.data[i].f_meter_brand
443
- //气表品牌
444
- self.WarningType[i + 1] = dr
445
- console.log('气表品牌~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
446
- console.log(dr)
447
- console.log( self.WarningType)
448
- } else if (groupname == 'f_meter_style') {
449
- dr.label = res.data[i].f_meter_style
450
- dr.value = res.data[i].f_meter_style
451
- //气表类型
452
- self.Warningstyle[i + 1] = dr
453
- }
454
- }
455
- if (self.Warningstyle.length > 1) {
456
- self.showMeterStyle()
457
- }
458
- })
459
-
460
- },
461
- showMeterStyle() {
462
- this.styles = true
463
- },
464
- userTypeChange () {
465
- this.gasproperties=[{label: '全部', value: ''}]
466
- if(this.$refs.paged.$refs.cri.model !==null) {
467
- this.$refs.paged.$refs.cri.model.f_gasproperties=''
468
-
469
- console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
470
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
471
- // this.gasproperties.push({label: '全部', value: ''})
472
- }
473
- else{
474
- this.gasproperties =[{label: '全部', value: ''}]
475
- }
476
- },
477
- hidden(){
478
- this.criteriaShow = !this.criteriaShow
479
- },
480
- clickshow() {
481
- this.searchshow = !this.searchshow
482
- },
483
- showmsg(obj){
484
- this.rowdata=obj
485
- this.showdetail = true
486
- },
487
- cancel() {
488
- this.showdetail = false
489
- },
490
- initParams () {
491
- let arr = []
492
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
493
- let temp = {}
494
- if(item.value.f_meter_type==='物联网表'){
495
- temp.label = item.label
496
- temp.value = item.value.f_meter_brand
497
- arr.push(temp )
498
- }
499
-
500
- })
501
-
502
- },
503
- search(args) {
504
- this.startDate = this.$refs.paged.$refs.cri.model.startDate
505
- this.endDate = this.$refs.paged.$refs.cri.model.endDate
506
- if (this.endDate == '' || this.startDate == '') {
507
- return this.$showMessage("时间区间的开始和结束时间不能为空!")
508
- }
509
- this.condition = args.condition = this.$refs.paged.$refs.cri.condition + `${this.orgCondtionStr}`
510
- this.model.search(args.condition, args.model)
511
- },
512
- getorg(obj) {
513
- if (obj.resids.length>0) {
514
- this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(obj.resids)
515
- }else
516
- {
517
- this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid
518
- }
519
- },
520
- // SaveAsFile(str) {
521
- // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
522
- // if (res === 'confirm') {
523
- // let style = '<style>' +
524
- // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
525
- // let strHtml = style + document.getElementById(str).innerHTML;
526
- // console.log(strHtml);
527
- // let LODOP = getLodop();
528
- // LODOP.PRINT_INIT('');
529
- // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
530
- // LODOP.SAVE_TO_FILE('失联分析.xls')
531
- // }
532
- // })
533
- // },
534
- clearmsg() {
535
- this.$refs.paged.$refs.cri.model = {}
536
- },
537
-
538
-
539
- close() {
540
- this.show = false
541
- },
542
- // 显示柱状图
543
- showEcharts() {
544
- this.echarts = true
545
- this.isActiveTotalForm = false
546
- },
547
- notShowTotalForm() {
548
- this.echarts = false
549
- this.isActiveTotalForm = false
550
- },
551
- // 不显示柱状图
552
- notShowEcharts() {
553
- this.echarts = false
554
- this.isActiveTotalForm = false
555
- },
556
- // 显示汇总数据表格
557
- showTotalForm() {
558
- this.echarts = false
559
- this.isActiveTotalForm = true
560
- }
561
- },
562
- watch: {
563
- 'data'(val) {
564
- if (val.f_files_path) {
565
- this.getFileContent(val.f_files_path)
566
- } else {
567
- this.reportStr = null
568
- }
569
- }
570
- },
571
- computed: {
572
- // usertypes () {
573
- // return this.$appdate.getParams("客户类型")
574
- // },
575
- getCondition() {
576
- let condition=this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
577
- return {
578
- condition: condition ,
579
- startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
580
- endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
581
- }
582
-
583
- },
584
- usertypes() {
585
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
586
- },
587
- f_outlets() {
588
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
589
- },
590
- valveStatus() {
591
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
592
- },
593
- getstate() {
594
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('最新状态')]
595
- },
596
- userstate() {
597
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
598
- }
599
- }
600
- }
601
- </script>
602
- <style>
603
- .form-input-group label {
604
- text-align: right;
605
- width: auto;
606
- }
607
-
608
- .mystyle {
609
- float: right;
610
- padding-right: 10%;
611
- }
612
-
613
- .mystyle1 {
614
- padding-top: 10px;
615
-
616
- }
617
-
618
- .mystyle2 {
619
- width: 100%;
620
- height: 35px;
621
- /*background: #00A3F0;*/
622
- padding-left: 15px;
623
- float: left;
624
- }
625
-
626
- .datapanel {
627
- color: #333;
628
- background-color: white;
629
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
630
- padding: 10px 30px 10px 30px;
631
- border-radius: 15px;
632
- }
633
- </style>
1
+ <template>
2
+ <div class="flex-row" v-show="!showdetail">
3
+ <div id='app1' class="basic-main" v-show="(!echarts)&&(!isActiveTotalForm)">
4
+ <criteria-paged :model="model" :pager='true' v-ref:paged>
5
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+ <!--<div class="form-group">-->
9
+ <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'-->
10
+ <!--condition="f_user_name = '{}'" v-next-el='userid' v-el:username-->
11
+ <!--:size="model.f_user_name ? model.f_user_name.length * 2 : 8">-->
12
+ <!--</div>-->
13
+
14
+ <div class="col-sm-2 form-group">
15
+ <label class="font_normal_body">客户编号</label>
16
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
17
+ v-model="model.f_userinfo_code" placeholder='客户编号'
18
+ condition="f_userinfo_code like '%{}%'" v-el:xq v-next-el='userinfocode' v-el:username
19
+ >
20
+ </div>
21
+ <div class="col-sm-2 form-group">
22
+ <label class="font_normal_body">客户名称</label>
23
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
24
+ v-model="model.f_user_name" placeholder='客户名称'
25
+ condition="f_user_name like '%{}%'" v-el:xq v-next-el='username' v-el:username
26
+ >
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">客户地址</label>
30
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_area"
31
+ placeholder='地址'
32
+ condition="f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
33
+ >
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;表号&nbsp;&nbsp;&nbsp;</label>
37
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
38
+ v-model="model.f_meternumber" placeholder='表号'
39
+ condition="f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
40
+ >
41
+ </div>
42
+ <div style="float:right">
43
+ <button class="button_search button_spacing" @click="search()">查询</button>
44
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
45
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
46
+ :field="$parent.$parent.getfield" :sumname="$parent.$parent.sumName"
47
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getAllLoseQuery" template-name='失联分析'
48
+ :choose-col="true"></export-excel>
49
+ <!-- <button class="button_export button_spacing" @click="$parent.$parent.SaveAsFile('lostuserlist')">导出</button>-->
50
+ <!-- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()">显示汇总</button>-->
51
+ <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>
52
+ <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>
53
+ </div>
54
+ </div>
55
+ <div class="row" v-show="$parent.$parent.criteriaShow">
56
+ <div class="col-sm-2 form-group">
57
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
58
+ <right-tree @re-res="$parent.$parent.getorg" width="60%"
59
+ :initresid='$parent.$parent.org'></right-tree>
60
+ </div>
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">客户类型</label>
63
+ <v-select style="width:60%" id="f_user_type"
64
+ v-model="model.f_user_type"
65
+ placeholder='客户类型'
66
+ :value.sync="model.f_user_type"
67
+ @change="$parent.$parent.userTypeChange()"
68
+ :options='$parent.$parent.usertypes'
69
+ condition="f_user_type = '{}'"
70
+ close-on-select>
71
+ </v-select>
72
+ </div>
73
+ <div class="col-sm-2 form-group">
74
+ <label class="font_normal_body">用气性质</label>
75
+ <v-select style="width:60%" id="f_gasproperties"
76
+ v-model="model.f_gasproperties"
77
+ placeholder='用气性质'
78
+ :value.sync="model.f_gasproperties"
79
+ :options='$parent.$parent.gasproperties'
80
+ condition="f_gasproperties = '{}'"
81
+ close-on-select>
82
+ </v-select>
83
+ </div>
84
+ <div class="col-sm-2 form-group">
85
+ <label class="font_normal_body">气表品牌</label>
86
+ <v-select
87
+ placeholder='气表品牌'
88
+ :value.sync="model.f_meter_brand"
89
+ v-model="model.f_meter_brand"
90
+ :options='$parent.$parent.WarningType'
91
+ @change="$parent.$parent.getMeterType"
92
+ close-on-select
93
+ condition="f_meter_brand='{}'">
94
+ </v-select>
95
+ </div>
96
+ <div class="col-sm-2 form-group" >
97
+ <label class="font_normal_body">气表型号</label>
98
+ <v-select v-if="$parent.$parent.styles"
99
+ placeholder='气表型号'
100
+ :value.sync="model.f_meter_style"
101
+ v-model="model.f_meter_style"
102
+ :options='$parent.$parent.Warningstyle'
103
+ close-on-select
104
+ condition="f_meter_style='{}'">
105
+ </v-select>
106
+ <v-select v-if="!$parent.$parent.styles"
107
+ placeholder='气表型号'
108
+ :value.sync="model.f_meter_style"
109
+ v-model="model.f_meter_style"
110
+ :options='$parent.$parent.Warningstyles'
111
+ close-on-select
112
+ condition="f_meter_style='{}'">
113
+ </v-select>
114
+ </div>
115
+ <div class="col-sm-2 form-group">
116
+ <label class="font_normal_body">用户状态</label>
117
+ <v-select
118
+ placeholder='用户状态'
119
+ value-single="true"
120
+ style="width:60%"
121
+ :value.sync="model.f_user_state"
122
+ v-model="model.f_user_state"
123
+ :options='$parent.$parent.userstate'
124
+ close-on-select condition="f_user_state ='{}'">
125
+ </v-select>
126
+ </div>
127
+ <!--<div class="col-sm-2 form-group">-->
128
+ <!--<label class="font_normal_body">最新状态</label>-->
129
+ <!-- <v-select style="width:60%" id="f_state"-->
130
+ <!--v-model="model.f_state"-->
131
+ <!--placeholder='最新状态'-->
132
+ <!--:value.sync="model.f_state"-->
133
+ <!--:options='$parent.$parent.getstate'-->
134
+ <!--condition="f_state = '{}'"-->
135
+ <!--close-on-select>-->
136
+ <!--</v-select>-->
137
+ <!--</div>-->
138
+ <div class="col-sm-2 form-group">
139
+ <label class="font_normal_body">开始时间</label>
140
+ <datepicker style="width:60%" id="startdate" placeholder="开始时间"
141
+ v-model="model.startDate"
142
+ :value.sync="model.startDate"
143
+ :disabled-days-of-Week="[]"
144
+ :format="'yyyy-MM-dd HH:mm:ss'"
145
+
146
+ :show-reset-button="reset">
147
+ </datepicker>
148
+ </div>
149
+ <div class="col-sm-2 form-group">
150
+ <label class="font_normal_body">结束时间</label>
151
+ <datepicker style="width:60%" id="enddate" placeholder="结束日期"
152
+ v-model="model.endDate"
153
+ :value.sync="model.endDate"
154
+ :disabled-days-of-Week="[]"
155
+ :format="'yyyy-MM-dd HH:mm:ss'"
156
+
157
+ :show-reset-button="reset">
158
+ </datepicker>
159
+ </div>
160
+
161
+
162
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
163
+ <label class="font_normal_body">最长失联</label>
164
+ <div class="row">
165
+ <input type="text" style="width:27%" class="input_search" v-model="model.max_interval_day1"
166
+ condition="max_interval_day >= {} " placeholder="">
167
+ <label class="font_normal_body"> &nbsp;≤ x ≤ </label>
168
+ <input type="text" style="width:27%" class="input_search" v-model="model.max_interval_day2"
169
+ condition="max_interval_day <= {} " placeholder="">
170
+ </div>
171
+ </div>
172
+
173
+
174
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
175
+ <label class="font_normal_body">合计失联</label>
176
+ <div class="row">
177
+ <input type="text" style="width:27%" class="input_search" v-model="model.SLdays1"
178
+ condition="SLdays >= {} " placeholder="">
179
+ <label class="font_normal_body">&nbsp; ≤ x ≤ </label>
180
+ <input type="text" style="width:27%" class="input_search" v-model="model.SLdays2"
181
+ condition="SLdays <= {} " placeholder="">
182
+ </div>
183
+ </div>
184
+
185
+ <!--<div class="col-sm-2 form-group">-->
186
+ <!--<label class="font_normal_body">最新失联</label>-->
187
+ <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.new_days1" placeholder='天数大于等于'-->
188
+ <!--condition="new_days >= {}" v-next-el='new_days' v-el:new_days-->
189
+ <!--&gt;-->
190
+ <!--</div>-->
191
+ <!--<div class="col-sm-2 form-group">-->
192
+ <!--<label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>-->
193
+ <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.new_days2" placeholder='天数小于等于'-->
194
+ <!--condition="new_days <= {}" v-next-el='new_days' v-el:new_days-->
195
+ <!--&gt;-->
196
+ <!--</div>-->
197
+
198
+ </div>
199
+
200
+
201
+
202
+ <!--:top='40' :left='60' :right='40' :bottom='60'-->
203
+ <!--:thead='"<th>序号</th>\n"+-->
204
+ <!--"<th>档案编号</th>" +-->
205
+ <!--" <th>档案标识</th>"+-->
206
+ <!--"<th>客户名称</th>"+-->
207
+ <!--"<th>表号</th"+-->
208
+ <!--"<th>表具类型</th>"+-->
209
+ <!--"<th>客户类型</th>"+-->
210
+ <!--"<th>区域</th>"+-->
211
+ <!--"<th>小区</th>"+-->
212
+ <!--"<th>地址</th>"+-->
213
+ <!--"<th>用气气量</th>"+-->
214
+ <!--"<th>用气金额</th>"-->
215
+ <!--+"<th>用气价格</th>"-->
216
+ <!--+"<th>时间</th>"-->
217
+ <!--+"<th>所属机构</th>"'-->
218
+ <!--:fields='["$index+1","f_username","f_meternumber","f_usertype","f_save_money","f_operate_status","f_close_reason","f_area","f_districtname","f_address","id","yytdepa"]'>-->
219
+ <!--</print-table>-->
220
+ <!--<export-excel :data="{orderitem: 'lastinputdate desc', condition: '1=1'}"-->
221
+ <!--:field="{f_username: '客户名称', f_meternumber: '表号',f_usertype:'客户类型',f_save_money:'剩余金额',-->
222
+ <!--f_operate_status:'状态',f_close_reason:'关阀原因',f_area:'区域',f_districtname:'小区', f_address: '地址',id:'档案编号',yytdepa:'所属机构'}"-->
223
+ <!--sqlurl="rs/sql/getUserGas"></export-excel>-->
224
+
225
+ </div>
226
+ </criteria>
227
+ <data-grid id="lostuserlist" :model="model" partial='list' v-ref:grid class="list_area table_sy">
228
+ <template partial='head'>
229
+ <tr>
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
+
255
+ <th style="text-align:center">
256
+ <nobr>应报天数</nobr>
257
+ </th>
258
+ <th style="text-align:center">
259
+ <nobr>实报天数</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
+ <th style="text-align:center" >
271
+ <nobr>气表型号</nobr>
272
+ </th>
273
+ <th style="text-align:center" >
274
+ <nobr>用户状态</nobr>
275
+ </th>
276
+ <th style="text-align:center" >
277
+ <nobr>组织机构</nobr>
278
+ </th>
279
+
280
+ </tr>
281
+
282
+ </template>
283
+ <template partial='body'>
284
+ <td style="text-align:center">{{$index+1}}</td>
285
+ <!--<td style="text-align:center">{{row.f_userfiles_id}}</td>-->
286
+ <td style="text-align: center;"><nobr>
287
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
288
+ </nobr> </td>
289
+ <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
290
+ <td><nobr>{{row.f_address}}</nobr></td>
291
+ <td style="text-align:center">{{row.f_user_type}}</td>
292
+ <td style="text-align:center">{{row.f_gasproperties}}</td>
293
+ <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
294
+ <td style="text-align:center"><nobr>{{row.f_startuse_date}}</nobr></td>
295
+
296
+ <td style="text-align:center">{{row.ybdays}}</td>
297
+ <td style="text-align:center">{{row.sbdays}}</td>
298
+ <td style="text-align:center">
299
+ <nobr>{{row.max_interval_day}}</nobr>
300
+ </td>
301
+ <td style="text-align:center">
302
+ <nobr>{{row.sldays}}</nobr>
303
+ </td>
304
+ <td style="text-align:center">
305
+ <nobr>{{row.f_meter_brand}}</nobr>
306
+ </td>
307
+ <td style="text-align:center">
308
+ <nobr>{{row.f_meter_style}}</nobr>
309
+ </td>
310
+ <td style="text-align:center">
311
+ <nobr>{{row.f_user_state}}</nobr>
312
+ </td>
313
+ <td style="text-align:center">
314
+ <nobr>{{row.f_orgname}}</nobr>
315
+ </td>
316
+
317
+ </template>
318
+ </data-grid>
319
+ </criteria-paged>
320
+ </div>
321
+ <div class="flex-row" v-show="echarts" style="width: 100%;height: 90%;">
322
+ <lost-contact-echarts :groupname="groupname[0]" :condition = "condition" :startdate="startDate"
323
+ :enddate="endDate" :echarts="echarts"></lost-contact-echarts>
324
+ </div>
325
+ <div class="span" v-show="isActiveTotalForm" style="width: 100%;height: 90%;">
326
+ <lost-contact-eform :condition="condition"
327
+ ></lost-contact-eform>
328
+ </div>
329
+ </div>
330
+
331
+ <!-- <div v-show="isActiveTotalForm" style="height: 40px;width: 100%;">-->
332
+ <!-- <button class="button_search button_spacing" @click="notShowTotalForm()">隐藏汇总</button>-->
333
+ <!-- </div>-->
334
+ <!-- <div class="flex-row" v-show="isActiveTotalForm" style="width: 100%;height: 90%;">-->
335
+ <!-- <lost-contact-eform :condition="model.condition" :startdate="startDate"-->
336
+ <!-- :enddate="endDate"></lost-contact-eform>-->
337
+ <!-- </div>-->
338
+ <div class="flex-row" style="width:99%;height:98%;margin-bottom:0px" v-if="showdetail">
339
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
340
+ </div>
341
+ </template>
342
+
343
+ <script>
344
+ import {PagedList} from 'vue-client'
345
+ import UserGasEcharts from './UserGasEcharts'
346
+ import * as Util from '../../../Util'
347
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
348
+ import {HttpResetClass} from 'vue-client'
349
+ let readySomething = async function (self) {
350
+
351
+ await self.$MagLoadParams.loadParam()
352
+ self.initParams()
353
+ let year = new Date().getFullYear()
354
+ self.$refs.paged.$refs.cri.model.startDate = year+'-01-01 00:00:00'
355
+ // self.$refs.paged.$refs.cri.model.startDate = Util.toStandardDateString() + ' 00:00:00'
356
+ self.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
357
+ self.$refs.paged.$refs.cri.search()
358
+ }
359
+ export default {
360
+ title: '失联分析',
361
+ props: ['data'],
362
+ components: {UserGasEcharts},
363
+ data() {
364
+ return {
365
+ model: new PagedList('rs/sql/webmeter_getAllLoseQuery', 20, {
366
+ startDate: 'this.model.startDate',
367
+ endDate: 'this.model.endDate'
368
+ }),
369
+ getfield:{
370
+ "f_userinfo_code":"客户编号","f_user_name":"客户名称",
371
+ "f_address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质",
372
+ "f_meternumber":"表号",
373
+
374
+ "f_startuse_date":"启用日期",
375
+ "ybdays":"应报天数",
376
+ "sbdays":"实报天数",
377
+ "max_interval_day":"最长失联天数","sldays":"累计失联天数",
378
+ "f_meter_brand":"气表厂家","f_orgname":"组织机构"},
379
+ reportStr: null,
380
+ show: false,
381
+ showdetail:false,
382
+ rowdata:{},
383
+ startDate: '',
384
+ endDate: '',
385
+ criteriaShow:false,
386
+ outlets: [],
387
+ gasproperties:[{label: '全部', value: ''}],
388
+ operator: [],
389
+ WarningType: [
390
+ {label: '全部', value: ''}
391
+ ],
392
+ Warningstyles: [
393
+ {label: '全部', value: ''}
394
+ ],
395
+ styles:false,
396
+ filename: '',
397
+ orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`,
398
+ echarts: false,
399
+ orgid:[this.$login.f.orgid],
400
+ searchshow: false,
401
+ isActiveTotalForm: false,
402
+ condition: '1=1',
403
+ groupname: ['max_days_type'],
404
+ getgroupname: [
405
+ {label: '客户类型', value: 'f_user_type'},
406
+ {label: '用气性质', value: 'f_gasproperties'},
407
+ {label: '分公司', value: 'f_orgname'},
408
+ {label: '最长失联天数', value: 'max_days_type'},
409
+ {label: '合计失联天数', value: 'all_days_type'}
410
+ ],
411
+ org:[this.$login.f.orgid]
412
+
413
+ }
414
+ },
415
+ ready() {
416
+ readySomething(this)
417
+ this.getMeterTypeAndBrand('f_meter_brand', '1=1')
418
+ },
419
+ methods: {
420
+ getMeterType() {
421
+ this.Warningstyle = [{label: '全部', value: ''}]
422
+ this.styles = false
423
+ let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
424
+ this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
425
+ },
426
+ getMeterTypeAndBrand(groupname, condition) {
427
+ condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
428
+ let self = this
429
+ let load = new HttpResetClass()
430
+ load.load('POST', 'rs/sql/getMeterStyleAndBrand1', {
431
+ data: {
432
+ condition: condition,
433
+ groupname: groupname
434
+ }
435
+ }, {warnMsg: null, resolveMsg: null}).then((res) => {
436
+ let dr = {label: '', value: ''}
437
+ let i = 0
438
+ for (i = 0; i < res.data.length; i++) {
439
+ dr = {label: '', value: ''}
440
+ if (groupname == 'f_meter_brand') {
441
+ dr.label = res.data[i].f_meter_brand
442
+ dr.value = res.data[i].f_meter_brand
443
+ //气表品牌
444
+ self.WarningType[i + 1] = dr
445
+ console.log('气表品牌~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
446
+ console.log(dr)
447
+ console.log( self.WarningType)
448
+ } else if (groupname == 'f_meter_style') {
449
+ dr.label = res.data[i].f_meter_style
450
+ dr.value = res.data[i].f_meter_style
451
+ //气表类型
452
+ self.Warningstyle[i + 1] = dr
453
+ }
454
+ }
455
+ if (self.Warningstyle.length > 1) {
456
+ self.showMeterStyle()
457
+ }
458
+ })
459
+
460
+ },
461
+ showMeterStyle() {
462
+ this.styles = true
463
+ },
464
+ userTypeChange () {
465
+ this.gasproperties=[{label: '全部', value: ''}]
466
+ if(this.$refs.paged.$refs.cri.model !==null) {
467
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
468
+
469
+ console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
470
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
471
+ // this.gasproperties.push({label: '全部', value: ''})
472
+ }
473
+ else{
474
+ this.gasproperties =[{label: '全部', value: ''}]
475
+ }
476
+ },
477
+ hidden(){
478
+ this.criteriaShow = !this.criteriaShow
479
+ },
480
+ clickshow() {
481
+ this.searchshow = !this.searchshow
482
+ },
483
+ showmsg(obj){
484
+ this.rowdata=obj
485
+ this.showdetail = true
486
+ },
487
+ cancel() {
488
+ this.showdetail = false
489
+ },
490
+ initParams () {
491
+ let arr = []
492
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
493
+ let temp = {}
494
+ if(item.value.f_meter_type==='物联网表'){
495
+ temp.label = item.label
496
+ temp.value = item.value.f_meter_brand
497
+ arr.push(temp )
498
+ }
499
+
500
+ })
501
+
502
+ },
503
+ search(args) {
504
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
505
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
506
+ if (this.endDate == '' || this.startDate == '') {
507
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
508
+ }
509
+ this.condition = args.condition = this.$refs.paged.$refs.cri.condition + `${this.orgCondtionStr}`
510
+ this.model.search(args.condition, args.model)
511
+ },
512
+ getorg(obj) {
513
+ if (obj.resids.length>0) {
514
+ this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(obj.resids)
515
+ }else
516
+ {
517
+ this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid
518
+ }
519
+ },
520
+ // SaveAsFile(str) {
521
+ // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
522
+ // if (res === 'confirm') {
523
+ // let style = '<style>' +
524
+ // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
525
+ // let strHtml = style + document.getElementById(str).innerHTML;
526
+ // console.log(strHtml);
527
+ // let LODOP = getLodop();
528
+ // LODOP.PRINT_INIT('');
529
+ // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
530
+ // LODOP.SAVE_TO_FILE('失联分析.xls')
531
+ // }
532
+ // })
533
+ // },
534
+ clearmsg() {
535
+ this.$refs.paged.$refs.cri.model = {}
536
+ },
537
+
538
+
539
+ close() {
540
+ this.show = false
541
+ },
542
+ // 显示柱状图
543
+ showEcharts() {
544
+ this.echarts = true
545
+ this.isActiveTotalForm = false
546
+ },
547
+ notShowTotalForm() {
548
+ this.echarts = false
549
+ this.isActiveTotalForm = false
550
+ },
551
+ // 不显示柱状图
552
+ notShowEcharts() {
553
+ this.echarts = false
554
+ this.isActiveTotalForm = false
555
+ },
556
+ // 显示汇总数据表格
557
+ showTotalForm() {
558
+ this.echarts = false
559
+ this.isActiveTotalForm = true
560
+ }
561
+ },
562
+ watch: {
563
+ 'data'(val) {
564
+ if (val.f_files_path) {
565
+ this.getFileContent(val.f_files_path)
566
+ } else {
567
+ this.reportStr = null
568
+ }
569
+ }
570
+ },
571
+ computed: {
572
+ // usertypes () {
573
+ // return this.$appdate.getParams("客户类型")
574
+ // },
575
+ getCondition() {
576
+ let condition=this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
577
+ return {
578
+ condition: condition ,
579
+ startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
580
+ endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
581
+ }
582
+
583
+ },
584
+ usertypes() {
585
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
586
+ },
587
+ f_outlets() {
588
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
589
+ },
590
+ valveStatus() {
591
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
592
+ },
593
+ getstate() {
594
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('最新状态')]
595
+ },
596
+ userstate() {
597
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
598
+ }
599
+ }
600
+ }
601
+ </script>
602
+ <style>
603
+ .form-input-group label {
604
+ text-align: right;
605
+ width: auto;
606
+ }
607
+
608
+ .mystyle {
609
+ float: right;
610
+ padding-right: 10%;
611
+ }
612
+
613
+ .mystyle1 {
614
+ padding-top: 10px;
615
+
616
+ }
617
+
618
+ .mystyle2 {
619
+ width: 100%;
620
+ height: 35px;
621
+ /*background: #00A3F0;*/
622
+ padding-left: 15px;
623
+ float: left;
624
+ }
625
+
626
+ .datapanel {
627
+ color: #333;
628
+ background-color: white;
629
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
630
+ padding: 10px 30px 10px 30px;
631
+ border-radius: 15px;
632
+ }
633
+ </style>