manage-client 3.1.43 → 3.1.47

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 (96) hide show
  1. package/build/dev-server.js +182 -174
  2. package/package.json +1 -1
  3. package/src/App.vue +29 -28
  4. package/src/components/BasisEcharts/BarChart.vue +247 -247
  5. package/src/components/BasisEcharts/RingChart.vue +196 -196
  6. package/src/components/SellReport/BusinessClassify.vue +317 -317
  7. package/src/components/SellReport/ChargePrick.vue +284 -284
  8. package/src/components/SellReport/DepartmentPrick.vue +288 -288
  9. package/src/components/SellReport/FinanceSellType.vue +254 -254
  10. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  11. package/src/components/SellReport/GasMoneyReport.vue +254 -0
  12. package/src/components/SellReport/GasPrice.vue +244 -244
  13. package/src/components/SellReport/ManageBusSummary.vue +242 -242
  14. package/src/components/SellReport/ManageHandInputtor.vue +281 -281
  15. package/src/components/SellReport/ManageOtherCharge.vue +250 -250
  16. package/src/components/SellReport/ManageSellType.vue +284 -284
  17. package/src/components/SellReport/ManageUserCount.vue +347 -347
  18. package/src/components/SellReport/MarketMonth.vue +297 -297
  19. package/src/components/SellReport/SaleMonthReport.vue +227 -227
  20. package/src/components/SellReport/SellDepReport.vue +251 -0
  21. package/src/components/SellReport/SellingTable.vue +220 -220
  22. package/src/components/SellReport/UserClassify.vue +271 -271
  23. package/src/components/SellReport/UserSellingGas.vue +251 -251
  24. package/src/components/daping/CallCenter.vue +366 -366
  25. package/src/components/daping/DataManagement.vue +537 -537
  26. package/src/components/daping/GMap.vue +636 -636
  27. package/src/components/daping/ManageMain.vue +270 -270
  28. package/src/components/daping/NetWork.vue +238 -238
  29. package/src/components/daping/RedactDaPing.vue +468 -468
  30. package/src/components/daping/Ring.vue +212 -212
  31. package/src/components/daping/SafeCheck.vue +446 -446
  32. package/src/components/daping/SafeCheckRing.vue +166 -166
  33. package/src/components/daping/SafecheckBarChart.vue +233 -233
  34. package/src/components/daping/WuHaiMap.vue +418 -418
  35. package/src/components/qinhua/BarChart.vue +256 -256
  36. package/src/components/qinhua/Pie.vue +132 -132
  37. package/src/components/qinhua/SellEcharts.vue +115 -115
  38. package/src/components/qinhua/qinHuaMap.vue +414 -414
  39. package/src/components/sale/businessquery/AccountQuery/ExpectGasList.vue +500 -496
  40. package/src/components/sale/businessquery/CollectManage.vue +135 -135
  41. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  42. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  43. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  44. package/src/components/sale/businessquery/ProceedsOper.vue +377 -377
  45. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  46. package/src/components/sale/config/exportConfig.js +1 -1
  47. package/src/components/statistical/StatisticalAnalysis.vue +247 -247
  48. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  49. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  50. package/src/components/webmeter/DrillData/UserGasAll.vue +597 -597
  51. package/src/components/webmeter/DrillData/UserGasEcharts.vue +220 -210
  52. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  53. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  54. package/src/components/webmeter/newwebmeter/NewException/NewContactEcharts.vue +171 -171
  55. package/src/components/webmeter/newwebmeter/NewException/NewEchartsAll.vue +111 -111
  56. package/src/components/webmeter/newwebmeter/NewException/NewExceptionEcharsTotal.vue +288 -275
  57. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +209 -209
  58. package/src/components/webmeter/newwebmeter/NewException/NewHandplanEcharts.vue +213 -213
  59. package/src/components/webmeter/newwebmeter/NewException/NewInstructEcharts.vue +240 -240
  60. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +607 -607
  61. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +283 -218
  62. package/src/components/webmeter/newwebmeter/UserGasList.vue +438 -438
  63. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +242 -242
  64. package/src/components/webmeter/newwebmeter/UserInstructList.vue +332 -332
  65. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  66. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  67. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  68. package/src/components/webmeter/reportdata/ReportDataQuery.vue +25 -53
  69. package/src/filiale/alashan/SellingTable.vue +234 -234
  70. package/src/filiale/alashan/reportManage.js +10 -10
  71. package/src/filiale/jingwei/ChargeQuery.vue +6 -0
  72. package/src/filiale/jingwei/RecordInfoQuery.vue +13 -2
  73. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  74. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  75. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  76. package/src/filiale/meihekou/sale.js +26 -26
  77. package/src/filiale/rongcheng/exportConfig.js +257 -257
  78. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  79. package/src/filiale/rongchuang/reportManage.js +11 -11
  80. package/src/filiale/shaoguan/ChargeQuery.vue +5 -0
  81. package/src/filiale/shaoguan/OtherChargeQuery.vue +6 -0
  82. package/src/filiale/shaoguan/config/exportConfig.js +433 -433
  83. package/src/filiale/tongchuan/ChargeQuery.vue +1252 -0
  84. package/src/filiale/tongchuan/ManageBusSummary.vue +302 -302
  85. package/src/filiale/tongchuan/sale.js +2 -1
  86. package/src/main.js +66 -66
  87. package/src/newmanage.js +525 -525
  88. package/src/reportManage.js +470 -462
  89. package/static/wuhai.json +1610 -1610
  90. package/.gradle/5.2.1/executionHistory/executionHistory.bin +0 -0
  91. package/.gradle/5.2.1/executionHistory/executionHistory.lock +0 -0
  92. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  93. package/.gradle/5.2.1/fileHashes/fileHashes.bin +0 -0
  94. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  95. package/.gradle/5.2.1/gc.properties +0 -0
  96. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
@@ -1,332 +1,332 @@
1
- <template>
2
- <div class="flex-row binary" id="unit">
3
- <div class="basic-main" @keyup.enter="search1">
4
- <div class="flex">
5
- <div class="flex" style="flex:1;" v-show="!echarts">
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
-
11
- <div class="col-sm-2 form-group">
12
- <label class="font_normal_body">客户编号</label>
13
- <input style="width:60%" class="input_search" condition="u.f_userinfo_code like '%{}%'" placeholder='客户编号' type="text"
14
- v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
15
- >
16
- </div>
17
- <div class="col-sm-2 form-group">
18
- <label class="font_normal_body">客户名称</label>
19
- <input style="width:60%" class="input_search" condition="u.f_user_name like '%{}%'" placeholder='客户名称' type="text"
20
- v-el:username v-model="model.f_username" v-next-el='userid'>
21
- </div>
22
- <div class="col-sm-2 form-group">
23
- <label class="font_normal_body">客户地址</label>
24
- <input style="width:60%" class="input_search" condition="a.f_address like '%{}%'" placeholder='地址' type="text"
25
- v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
26
- >
27
- </div>
28
- <div class="col-sm-2 form-group">
29
- <label class="font_normal_body">表&emsp;&emsp;号</label>
30
- <input style="width:60%" class="input_search" condition="uf.f_meternumber like '%{}%'" placeholder='表钢号' type="text"
31
- v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
32
- >
33
- </div>
34
- <div class="span" style="float:right;">
35
- <button @click="search()" class="button_search button_spacing">查询</button>
36
- <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
37
- <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
38
- :field="$parent.$parent.getfield"
39
- sqlurl="rs/logic/exportfile" sql-name="webmeter_getNewInstructChanceList" template-name='指令分析'
40
- :choose-col="true"></export-excel>
41
- <button @click="$parent.$parent.showEcharts()" class="button_export button_spacing">显示图表</button>
42
- <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>
43
- </div>
44
- </div>
45
- <div class="row" v-show="$parent.$parent.criteriaShow">
46
-
47
- <div class="col-sm-2 form-group">
48
- <!-- <label class="font_normal_body">组织机构</label>-->
49
- <!-- <res-select :initresid="$parent.$parent.orgid"-->
50
- <!-- @res-select="$parent.$parent.getRes"-->
51
- <!-- restype='organization'style="width: 60%">-->
52
- <!-- </res-select>-->
53
- <label class="font_normal_body">公&emsp;&emsp;司</label>
54
- <right-tree @re-res="$parent.$parent.getRes"
55
- :initresid='$parent.$parent.orgid'></right-tree>
56
- </div>
57
- <div class="col-sm-2 form-group">
58
- <label class="font_normal_body">用户类型</label>
59
- <v-select :options='$parent.$parent.usertypes'
60
- :value.sync="model.f_user_type"
61
- close-on-select
62
- style="width:60%"
63
- condition="uf.f_user_type = '{}'"
64
- @change="$parent.$parent.userTypeChange()"
65
- id="f_user_type"
66
- placeholder='用户类型'
67
- v-model="model.f_user_type">
68
- </v-select>
69
- </div>
70
- <div class="col-sm-2 form-group">
71
- <label class="font_normal_body">用气性质</label>
72
- <v-select :options='$parent.$parent.gasproperties'
73
- :value.sync="model.f_gasproperties"
74
- close-on-select
75
- style="width:60%"
76
- condition="uf.f_gasproperties = '{}'"
77
- id="f_gasproperties"
78
- placeholder='用气性质'
79
- v-model="model.f_gasproperties">
80
- </v-select>
81
- </div>
82
- <div class="col-sm-2 form-group">
83
- <label class="font_normal_body" style="word-break:keep-all;">上报时间</label>
84
- <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
85
- :value.sync="model.startDate"
86
- style="width:60%"
87
- placeholder="起始时间"
88
- v-model="model.startDate"
89
- ></datepicker>
90
- </div>
91
- <div class="col-sm-2 form-group">
92
- <label class="font_normal_body" style="word-break:keep-all;">&emsp;&ensp;至&emsp;</label>
93
- <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
94
- :value.sync="model.endDate"
95
- placeholder="结束时间"
96
- style="width:60%"
97
- v-model="model.endDate"
98
- ></datepicker>
99
- </div>
100
-
101
- </div>
102
- </div>
103
- </criteria>
104
- <data-grid :model="model" id="reportgas" partial='list' class="list_area table_sy" v-ref:grid>
105
- <template partial='head'>
106
- <tr>
107
- <th style="text-align:center">序号</th>
108
- <th style="text-align:center">
109
- <nobr>上报日期</nobr>
110
- </th>
111
- <th style="text-align:center" title="在用户数:表具状态为正常的用户数">
112
- <nobr>在用户数</nobr>
113
- </th>
114
- <th style="text-align:center" title="停用户数:表具状态为停用的用户数">
115
- <nobr>停用户数</nobr>
116
- </th>
117
-
118
- <th style="text-align:center" title="指令下发成功表具数">
119
- <nobr>指令下发成功表具数</nobr>
120
- </th>
121
- <th style="text-align:center" title="指令下发总表具数">
122
- <nobr>指令下发总表具数</nobr>
123
- </th>
124
- <th style="text-align:center" title="表具成功率=指令上报成功表具数/指令上报总表具数">
125
- <nobr>表具成功率</nobr>
126
- </th>
127
- <th style="text-align:center" title="成功指令数">
128
- <nobr>成功指令数</nobr>
129
- </th>
130
- <th style="text-align:center" title="总指令数">
131
- <nobr>总指令数</nobr>
132
- </th>
133
- <th style="text-align:center" title="指令成功率=成功指令数/总指令数">
134
- <nobr>指令成功率</nobr>
135
- </th>
136
- <th style="text-align:center" title="综合表具成功率=指令下发总表具数/在用户数">
137
- <nobr>综合表具成功率</nobr>
138
- </th>
139
- </tr>
140
- </template>
141
- <template partial='body' partial='list' v-ref:grid>
142
- <tr>
143
- <td style="text-align:center">{{$index + 1}}</td>
144
- <td style="text-align:center;width: 170px;">
145
- <nobr>{{row.f_insert_date}}</nobr>
146
- </td>
147
- <td style="text-align:center">{{row.zaiyong}}</td>
148
- <th style="text-align:center">{{row.tingyong}}</th>
149
-
150
- <td style="text-align:center">{{row.c0}}</td>
151
- <th style="text-align:center">{{row.c}}</th>
152
- <th style="text-align:center">{{row.f_bv1}}</th>
153
- <td style="text-align:center">
154
- <nobr>{{row.success}}</nobr>
155
- </td>
156
- <td style="text-align:center">
157
- <nobr>{{row.c1}}</nobr>
158
- </td>
159
- <td style="text-align:center">
160
- <nobr>{{row.f_bv2}}</nobr>
161
- </td>
162
- <td style="text-align:center">
163
- <nobr>{{row.f_bv0}}</nobr>
164
- </td>
165
- </tr>
166
- </template>
167
- <template partial='foot'></template>
168
- </data-grid>
169
- </criteria-paged>
170
- </div>
171
- <div style="height: 40px;width: 100%;" v-show="echarts">
172
- <button @click="showEcharts()" class="button_search button_spacing">隐藏图表</button>
173
- </div>
174
- <!-- 图显示模板-->
175
- <div class="span " style="width: 100%;" v-show="echarts">
176
- <user-instruct-echarts-list :condition="condition" :echarts="echarts"
177
- :enddate="endDate" :startdate="startDate"></user-instruct-echarts-list>
178
- </div>
179
- </div>
180
- </div>
181
- </div>
182
- </template>
183
- <script>
184
- import {PagedList} from 'vue-client'
185
- import * as Util from '../../../Util'
186
- import getLodop from '../../../plugins/LodopFuncs'
187
- import UserInstructEchartsList from './UserInstructEchartsList'
188
- import plugins from '../../../plugins/GetLoginInfoService'
189
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
190
-
191
- export default {
192
- title: '指令分析',
193
- props: ['data'],
194
- components: {UserInstructEchartsList},
195
- data() {
196
- return {
197
- model: new PagedList('rs/sql/webmeter_getNewInstructChanceList', 100, {
198
- startDate: 'this.model.startDate',
199
- endDate: 'this.model.endDate'
200
- }),
201
- condition: '1=1',
202
- startDate: '',
203
- gasproperties:[{label: '全部', value: ''}],
204
- endDate: '',
205
- getfield:{"f_insert_date":"上报日期","zaiyong":"在用户数",
206
- "tingyong":"停用户数",
207
- "c0":"指令下发成功表具数","c":"指令下发总表具数",
208
- "f_bv1":"表具指令成功率",
209
- "success":"成功指令数","c1":"总指令数",
210
- "f_bv2":"指令成功率",
211
- "f_bv0":"综合指令成功率"
212
- },
213
- criteriaShow: false,
214
- echarts: false,
215
- searchshow: false,
216
- orgCondtionStr: '(' + this.$login.f.orgid + ')',
217
- orgid: [this.$login.f.orgid]
218
- }
219
- },
220
- ready() {
221
- this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-6).substring(0,10) + ' 00:00:00'
222
- this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
223
- this.getdata()
224
- },
225
- methods: {
226
- userTypeChange () {
227
- this.gasproperties=[{label: '全部', value: ''}]
228
- if(this.$refs.paged.$refs.cri.model !==null) {
229
- this.$refs.paged.$refs.cri.model.f_gasproperties=''
230
-
231
- console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
232
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
233
- // this.gasproperties.push({label: '全部', value: ''})
234
- }
235
- else{
236
- this.gasproperties =[{label: '全部', value: ''}]
237
- }
238
- },
239
- search1(){
240
- this.$refs.paged.$refs.cri.search()
241
- },
242
- // 查询开关
243
- hidden() {
244
- this.criteriaShow = !this.criteriaShow
245
- },
246
- getdata() {
247
- this.startDate = this.$refs.paged.$refs.cri.model.startDate
248
- this.endDate = this.$refs.paged.$refs.cri.model.endDate
249
- if (this.orgCondtionStr)
250
- this.condition = this.$refs.paged.$refs.cri.condition + 'and uf.f_orgid in ' + this.orgCondtionStr
251
- this.$refs.paged.$refs.cri.search()
252
- },
253
- // 显示柱状图
254
- showEcharts() {
255
- this.echarts = !this.echarts
256
- },
257
- close() {
258
- this.show = false
259
- },
260
- // SaveAsFile(str) {
261
- // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
262
- // if (res === 'confirm') {
263
- // let style = '<style>' +
264
- // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
265
- // let strHtml = style + document.getElementById(str).innerHTML;
266
- // console.log(strHtml);
267
- // let LODOP = getLodop();
268
- // LODOP.PRINT_INIT('');
269
- // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
270
- // LODOP.SAVE_TO_FILE('抄表统计.xls')
271
- // }
272
- // })
273
- // },
274
- clearmsg() {
275
- this.$refs.paged.$refs.cri.model = {}
276
- },
277
- search(args) {
278
- this.startDate = this.$refs.paged.$refs.cri.model.startDate
279
- this.endDate = this.$refs.paged.$refs.cri.model.endDate
280
- if (this.endDate == '' || this.startDate == '') {
281
- return this.$showMessage("时间区间的开始和结束时间不能为空!")
282
- }
283
- if (this.orgCondtionStr)
284
- args.condition = `${args.condition}` + 'and uf.f_orgid in ' + this.orgCondtionStr
285
- this.condition = args.condition
286
- this.model.search(args.condition, args.model)
287
- },
288
- getRes (obj) {
289
- this.orgCondtionStr = plugins.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
290
- }
291
- // getRes(obj) {
292
- // this.orgCondtionStr = plugins.convertToIn(obj)
293
- // }
294
- },
295
- computed: {
296
- getCondition() {
297
- var con=""
298
- if (this.orgCondtionStr) {
299
- con= `${this.$refs.paged.$refs.cri.condition} and u.f_orgid in ${this.orgCondtionStr}`
300
- }
301
- else{
302
- con= `${this.$refs.paged.$refs.cri.condition} `
303
- }
304
- return {
305
- condition: con ,
306
- startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
307
- endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
308
- }
309
-
310
- },
311
- usertypes() {
312
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
313
- },
314
- Getuserstyle() {
315
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
316
- }
317
- }
318
- }
319
- </script>
320
- <style>
321
- .mystyle {
322
- margin-left: 80px;
323
- }
324
-
325
- .datapanel {
326
- color: #333;
327
- background-color: white;
328
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
329
- padding: 10px 10px 10px 10px;
330
- border-radius: 15px;
331
- }
332
- </style>
1
+ <template>
2
+ <div class="flex-row binary" id="unit">
3
+ <div class="basic-main" @keyup.enter="search1">
4
+ <div class="flex">
5
+ <div class="flex" style="flex:1;" v-show="!echarts">
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
+
11
+ <div class="col-sm-2 form-group">
12
+ <label class="font_normal_body">客户编号</label>
13
+ <input style="width:60%" class="input_search" condition="u.f_userinfo_code like '%{}%'" placeholder='客户编号' type="text"
14
+ v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
15
+ >
16
+ </div>
17
+ <div class="col-sm-2 form-group">
18
+ <label class="font_normal_body">客户名称</label>
19
+ <input style="width:60%" class="input_search" condition="u.f_user_name like '%{}%'" placeholder='客户名称' type="text"
20
+ v-el:username v-model="model.f_username" v-next-el='userid'>
21
+ </div>
22
+ <div class="col-sm-2 form-group">
23
+ <label class="font_normal_body">客户地址</label>
24
+ <input style="width:60%" class="input_search" condition="a.f_address like '%{}%'" placeholder='地址' type="text"
25
+ v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
26
+ >
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
30
+ <input style="width:60%" class="input_search" condition="uf.f_meternumber like '%{}%'" placeholder='表钢号' type="text"
31
+ v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
32
+ >
33
+ </div>
34
+ <div class="span" style="float:right;">
35
+ <button @click="search()" class="button_search button_spacing">查询</button>
36
+ <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
37
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
38
+ :field="$parent.$parent.getfield"
39
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getNewInstructChanceList" template-name='指令分析'
40
+ :choose-col="true"></export-excel>
41
+ <button @click="$parent.$parent.showEcharts()" class="button_export button_spacing">显示图表</button>
42
+ <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>
43
+ </div>
44
+ </div>
45
+ <div class="row" v-show="$parent.$parent.criteriaShow">
46
+
47
+ <div class="col-sm-2 form-group">
48
+ <!-- <label class="font_normal_body">组织机构</label>-->
49
+ <!-- <res-select :initresid="$parent.$parent.orgid"-->
50
+ <!-- @res-select="$parent.$parent.getRes"-->
51
+ <!-- restype='organization'style="width: 60%">-->
52
+ <!-- </res-select>-->
53
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
54
+ <right-tree @re-res="$parent.$parent.getRes"
55
+ :initresid='$parent.$parent.orgid'></right-tree>
56
+ </div>
57
+ <div class="col-sm-2 form-group">
58
+ <label class="font_normal_body">用户类型</label>
59
+ <v-select :options='$parent.$parent.usertypes'
60
+ :value.sync="model.f_user_type"
61
+ close-on-select
62
+ style="width:60%"
63
+ condition="uf.f_user_type = '{}'"
64
+ @change="$parent.$parent.userTypeChange()"
65
+ id="f_user_type"
66
+ placeholder='用户类型'
67
+ v-model="model.f_user_type">
68
+ </v-select>
69
+ </div>
70
+ <div class="col-sm-2 form-group">
71
+ <label class="font_normal_body">用气性质</label>
72
+ <v-select :options='$parent.$parent.gasproperties'
73
+ :value.sync="model.f_gasproperties"
74
+ close-on-select
75
+ style="width:60%"
76
+ condition="uf.f_gasproperties = '{}'"
77
+ id="f_gasproperties"
78
+ placeholder='用气性质'
79
+ v-model="model.f_gasproperties">
80
+ </v-select>
81
+ </div>
82
+ <div class="col-sm-2 form-group">
83
+ <label class="font_normal_body" style="word-break:keep-all;">上报时间</label>
84
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
85
+ :value.sync="model.startDate"
86
+ style="width:60%"
87
+ placeholder="起始时间"
88
+ v-model="model.startDate"
89
+ ></datepicker>
90
+ </div>
91
+ <div class="col-sm-2 form-group">
92
+ <label class="font_normal_body" style="word-break:keep-all;">&emsp;&ensp;至&emsp;</label>
93
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
94
+ :value.sync="model.endDate"
95
+ placeholder="结束时间"
96
+ style="width:60%"
97
+ v-model="model.endDate"
98
+ ></datepicker>
99
+ </div>
100
+
101
+ </div>
102
+ </div>
103
+ </criteria>
104
+ <data-grid :model="model" id="reportgas" partial='list' class="list_area table_sy" v-ref:grid>
105
+ <template partial='head'>
106
+ <tr>
107
+ <th style="text-align:center">序号</th>
108
+ <th style="text-align:center">
109
+ <nobr>上报日期</nobr>
110
+ </th>
111
+ <th style="text-align:center" title="在用户数:表具状态为正常的用户数">
112
+ <nobr>在用户数</nobr>
113
+ </th>
114
+ <th style="text-align:center" title="停用户数:表具状态为停用的用户数">
115
+ <nobr>停用户数</nobr>
116
+ </th>
117
+
118
+ <th style="text-align:center" title="指令下发成功表具数">
119
+ <nobr>指令下发成功表具数</nobr>
120
+ </th>
121
+ <th style="text-align:center" title="指令下发总表具数">
122
+ <nobr>指令下发总表具数</nobr>
123
+ </th>
124
+ <th style="text-align:center" title="表具成功率=指令上报成功表具数/指令上报总表具数">
125
+ <nobr>表具成功率</nobr>
126
+ </th>
127
+ <th style="text-align:center" title="成功指令数">
128
+ <nobr>成功指令数</nobr>
129
+ </th>
130
+ <th style="text-align:center" title="总指令数">
131
+ <nobr>总指令数</nobr>
132
+ </th>
133
+ <th style="text-align:center" title="指令成功率=成功指令数/总指令数">
134
+ <nobr>指令成功率</nobr>
135
+ </th>
136
+ <th style="text-align:center" title="综合表具成功率=指令下发总表具数/在用户数">
137
+ <nobr>综合表具成功率</nobr>
138
+ </th>
139
+ </tr>
140
+ </template>
141
+ <template partial='body' partial='list' v-ref:grid>
142
+ <tr>
143
+ <td style="text-align:center">{{$index + 1}}</td>
144
+ <td style="text-align:center;width: 170px;">
145
+ <nobr>{{row.f_insert_date}}</nobr>
146
+ </td>
147
+ <td style="text-align:center">{{row.zaiyong}}</td>
148
+ <th style="text-align:center">{{row.tingyong}}</th>
149
+
150
+ <td style="text-align:center">{{row.c0}}</td>
151
+ <th style="text-align:center">{{row.c}}</th>
152
+ <th style="text-align:center">{{row.f_bv1}}</th>
153
+ <td style="text-align:center">
154
+ <nobr>{{row.success}}</nobr>
155
+ </td>
156
+ <td style="text-align:center">
157
+ <nobr>{{row.c1}}</nobr>
158
+ </td>
159
+ <td style="text-align:center">
160
+ <nobr>{{row.f_bv2}}</nobr>
161
+ </td>
162
+ <td style="text-align:center">
163
+ <nobr>{{row.f_bv0}}</nobr>
164
+ </td>
165
+ </tr>
166
+ </template>
167
+ <template partial='foot'></template>
168
+ </data-grid>
169
+ </criteria-paged>
170
+ </div>
171
+ <div style="height: 40px;width: 100%;" v-show="echarts">
172
+ <button @click="showEcharts()" class="button_search button_spacing">隐藏图表</button>
173
+ </div>
174
+ <!-- 图显示模板-->
175
+ <div class="span " style="width: 100%;" v-show="echarts">
176
+ <user-instruct-echarts-list :condition="condition" :echarts="echarts"
177
+ :enddate="endDate" :startdate="startDate"></user-instruct-echarts-list>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </template>
183
+ <script>
184
+ import {PagedList} from 'vue-client'
185
+ import * as Util from '../../../Util'
186
+ import getLodop from '../../../plugins/LodopFuncs'
187
+ import UserInstructEchartsList from './UserInstructEchartsList'
188
+ import plugins from '../../../plugins/GetLoginInfoService'
189
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
190
+
191
+ export default {
192
+ title: '指令分析',
193
+ props: ['data'],
194
+ components: {UserInstructEchartsList},
195
+ data() {
196
+ return {
197
+ model: new PagedList('rs/sql/webmeter_getNewInstructChanceList', 100, {
198
+ startDate: 'this.model.startDate',
199
+ endDate: 'this.model.endDate'
200
+ }),
201
+ condition: '1=1',
202
+ startDate: '',
203
+ gasproperties:[{label: '全部', value: ''}],
204
+ endDate: '',
205
+ getfield:{"f_insert_date":"上报日期","zaiyong":"在用户数",
206
+ "tingyong":"停用户数",
207
+ "c0":"指令下发成功表具数","c":"指令下发总表具数",
208
+ "f_bv1":"表具指令成功率",
209
+ "success":"成功指令数","c1":"总指令数",
210
+ "f_bv2":"指令成功率",
211
+ "f_bv0":"综合指令成功率"
212
+ },
213
+ criteriaShow: false,
214
+ echarts: false,
215
+ searchshow: false,
216
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
217
+ orgid: [this.$login.f.orgid]
218
+ }
219
+ },
220
+ ready() {
221
+ this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(),-6).substring(0,10) + ' 00:00:00'
222
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
223
+ this.getdata()
224
+ },
225
+ methods: {
226
+ userTypeChange () {
227
+ this.gasproperties=[{label: '全部', value: ''}]
228
+ if(this.$refs.paged.$refs.cri.model !==null) {
229
+ this.$refs.paged.$refs.cri.model.f_gasproperties=''
230
+
231
+ console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
232
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
233
+ // this.gasproperties.push({label: '全部', value: ''})
234
+ }
235
+ else{
236
+ this.gasproperties =[{label: '全部', value: ''}]
237
+ }
238
+ },
239
+ search1(){
240
+ this.$refs.paged.$refs.cri.search()
241
+ },
242
+ // 查询开关
243
+ hidden() {
244
+ this.criteriaShow = !this.criteriaShow
245
+ },
246
+ getdata() {
247
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
248
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
249
+ if (this.orgCondtionStr)
250
+ this.condition = this.$refs.paged.$refs.cri.condition + 'and uf.f_orgid in ' + this.orgCondtionStr
251
+ this.$refs.paged.$refs.cri.search()
252
+ },
253
+ // 显示柱状图
254
+ showEcharts() {
255
+ this.echarts = !this.echarts
256
+ },
257
+ close() {
258
+ this.show = false
259
+ },
260
+ // SaveAsFile(str) {
261
+ // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
262
+ // if (res === 'confirm') {
263
+ // let style = '<style>' +
264
+ // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
265
+ // let strHtml = style + document.getElementById(str).innerHTML;
266
+ // console.log(strHtml);
267
+ // let LODOP = getLodop();
268
+ // LODOP.PRINT_INIT('');
269
+ // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
270
+ // LODOP.SAVE_TO_FILE('抄表统计.xls')
271
+ // }
272
+ // })
273
+ // },
274
+ clearmsg() {
275
+ this.$refs.paged.$refs.cri.model = {}
276
+ },
277
+ search(args) {
278
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
279
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
280
+ if (this.endDate == '' || this.startDate == '') {
281
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
282
+ }
283
+ if (this.orgCondtionStr)
284
+ args.condition = `${args.condition}` + 'and uf.f_orgid in ' + this.orgCondtionStr
285
+ this.condition = args.condition
286
+ this.model.search(args.condition, args.model)
287
+ },
288
+ getRes (obj) {
289
+ this.orgCondtionStr = plugins.convertToIn(obj.resids)?plugin.convertToIn(obj.resids):'(' + this.$login.f.orgid + ')'
290
+ }
291
+ // getRes(obj) {
292
+ // this.orgCondtionStr = plugins.convertToIn(obj)
293
+ // }
294
+ },
295
+ computed: {
296
+ getCondition() {
297
+ var con=""
298
+ if (this.orgCondtionStr) {
299
+ con= `${this.$refs.paged.$refs.cri.condition} and u.f_orgid in ${this.orgCondtionStr}`
300
+ }
301
+ else{
302
+ con= `${this.$refs.paged.$refs.cri.condition} `
303
+ }
304
+ return {
305
+ condition: con ,
306
+ startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
307
+ endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
308
+ }
309
+
310
+ },
311
+ usertypes() {
312
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
313
+ },
314
+ Getuserstyle() {
315
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
316
+ }
317
+ }
318
+ }
319
+ </script>
320
+ <style>
321
+ .mystyle {
322
+ margin-left: 80px;
323
+ }
324
+
325
+ .datapanel {
326
+ color: #333;
327
+ background-color: white;
328
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
329
+ padding: 10px 10px 10px 10px;
330
+ border-radius: 15px;
331
+ }
332
+ </style>