manage-client 3.2.79-aode → 3.2.80-aode

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 (75) hide show
  1. package/build/dev-server.js +193 -193
  2. package/build/webpack.base.conf.js +79 -79
  3. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  4. package/gradle/wrapper/gradle-wrapper.properties +5 -0
  5. package/gradlew +234 -0
  6. package/gradlew.bat +89 -0
  7. package/package.json +1 -1
  8. package/src/Util.js +383 -383
  9. package/src/components/MeterManage/MeterList.vue +336 -336
  10. package/src/components/WebReport/UserGasAll.vue +214 -214
  11. package/src/components/sale/businessquery/CancelChargeQuery.vue +650 -650
  12. package/src/components/sale/businessquery/ChangeMeterQuery.vue +667 -667
  13. package/src/components/sale/businessquery/ChargeQuery.vue +663 -663
  14. package/src/components/sale/businessquery/DeductionGas.vue +149 -149
  15. package/src/components/sale/businessquery/DisableQuery.vue +315 -315
  16. package/src/components/sale/businessquery/EnableQuery.vue +315 -315
  17. package/src/components/sale/businessquery/FillCardQuery.vue +436 -436
  18. package/src/components/sale/businessquery/FillGasQuery.vue +435 -435
  19. package/src/components/sale/businessquery/HandplanQuery.vue +705 -705
  20. package/src/components/sale/businessquery/InspectListGas.vue +456 -456
  21. package/src/components/sale/businessquery/InspectManage.vue +37 -37
  22. package/src/components/sale/businessquery/NewAccountQuery.vue +512 -506
  23. package/src/components/sale/businessquery/OtherChargeQuery.vue +406 -406
  24. package/src/components/sale/businessquery/QueryUserState.vue +313 -313
  25. package/src/components/sale/businessquery/ReverseQuery.vue +347 -347
  26. package/src/components/sale/businessquery/TransferQuery.vue +363 -363
  27. package/src/components/sale/businessquery/toolCardMakeQuery.vue +340 -340
  28. package/src/components/sale/config/exportConfig.js +271 -271
  29. package/src/components/sale/filesquery/ChangeUserQuery.vue +396 -396
  30. package/src/components/sale/filesquery/DeviceQuery.vue +329 -329
  31. package/src/components/sale/filesquery/MeterQuery.vue +593 -593
  32. package/src/components/sale/filesquery/UserQuery.vue +556 -556
  33. package/src/components/sale/filesquery/filequerydetail/BlackListQueryDetail.vue +219 -219
  34. package/src/components/sale/filesquery/filequerydetail/DisableQueryDetail.vue +272 -272
  35. package/src/components/sale/filesquery/filequerydetail/EnableQueryDetail.vue +274 -274
  36. package/src/components/sale/ncpush/ncUserLoad.vue +176 -176
  37. package/src/components/sale/ncpush/ncpushmanage/NCpushList.vue +497 -497
  38. package/src/components/sale/ncpush/ncrecord/pushdaydatalist.vue +298 -298
  39. package/src/components/sale/ncpush/pushconfirmlist.vue +414 -414
  40. package/src/components/sale/ncpush/pushconfirmmergelist.vue +480 -480
  41. package/src/components/sale/report/aode/MonthByChargeType.vue +526 -526
  42. package/src/components/sale/report/aode/MonthByUserType.vue +562 -562
  43. package/src/components/sale/report/aode/YearByChargeTpye.vue +254 -254
  44. package/src/components/sale/report/aode/YearByUserType.vue +351 -342
  45. package/src/components/sale/report/aode/iot/FarawayQuery.vue +401 -401
  46. package/src/components/sale/report/aode/userbuyQuery.vue +477 -477
  47. package/src/components/valueaddinfo/ValueAddinfoQuery.vue +425 -425
  48. package/src/components/valueaddinfo/renewalvalueAddUserQuery.vue +371 -371
  49. package/src/components/valueaddinfo/valueAddCountQuery.vue +315 -315
  50. package/src/components/valueaddinfo/valueAddUserQuery.vue +404 -404
  51. package/src/components/webmeter/ArreasuserQuery.vue +193 -193
  52. package/src/components/webmeter/DrillData/LostContactAnalysis.vue +531 -531
  53. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +548 -548
  54. package/src/components/webmeter/DrillData/NewUserGasAll.vue +596 -588
  55. package/src/components/webmeter/DrillData/UserGasAll.vue +24 -0
  56. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +507 -507
  57. package/src/components/webmeter/EasyExcelExportCk.vue +396 -396
  58. package/src/components/webmeter/IOTArrears/arrears.vue +324 -324
  59. package/src/components/webmeter/IOTArrears/iotRechargeAudit.vue +377 -377
  60. package/src/components/webmeter/NewWebmeterHandplanQuery.vue +605 -605
  61. package/src/components/webmeter/WebmeterHandplanQuery.vue +640 -640
  62. package/src/components/webmeter/dataCollection/DataCollection.vue +630 -630
  63. package/src/components/webmeter/gasAnalysis/GasAnalysisManage.vue +303 -303
  64. package/src/components/webmeter/handplan/NewWebMeterHandPlan.vue +745 -745
  65. package/src/components/webmeter/newwebmeter/NewException/NewMeterException.vue +449 -449
  66. package/src/components/webmeter/newwebmeter/NewWebUserHand.vue +325 -325
  67. package/src/components/webmeter/newwebmeter/ReportDataQuery.vue +283 -283
  68. package/src/components/webmeter/newwebmeter/UserGasList.vue +295 -295
  69. package/src/components/webmeter/newwebmeter/UserInstructList.vue +311 -311
  70. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +386 -386
  71. package/src/components/webmeter/report/ReportList.vue +211 -211
  72. package/src/main.js +56 -56
  73. package/src/saleManage.js +263 -263
  74. package/src/webmeterManage.js +99 -99
  75. package/client.iml +0 -15
@@ -1,386 +1,386 @@
1
- <template>
2
- <div id='app' class="basic-main" v-show="(!echarts)&&(!isActiveTotalForm)">
3
- <criteria-paged :model="model" :pager='true' v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div class="col-sm-2">
8
- <label class="font_normal_body">表&nbsp;钢&nbsp;号&nbsp;</label>
9
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_meternumber" placeholder='表钢号'
10
- condition="p.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
11
- >
12
- </div>
13
- <div class="col-sm-2 ">
14
- <label class="font_normal_body">组织机构</label>
15
- <res-select :initresid="$parent.$parent.orgid"
16
- style="width:60%"
17
- @res-select="$parent.$parent.getRes"
18
- restype='organization'>
19
- </res-select>
20
- </div>
21
- <div class="col-sm-2">
22
- <label class="font_normal_body">客户编号</label>
23
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
24
- condition="u.f_userinfo_code like '{}%'" v-next-el='f_userinfo_code' v-el:meternumber
25
- >
26
- </div>
27
- <div class="col-sm-2">
28
- <label class="font_normal_body">客户名称</label>
29
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'
30
- condition="u.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
31
- </div>
32
- <div class="span" style="float:right;">
33
-
34
- <button class="button_search button_spacing" @click="search()">查询</button>
35
- <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
36
- <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
37
- :field="$parent.$parent.getfield"
38
- sqlurl="rs/logic/exportfile" sql-name="selectSignAnalysisList" template-name='标记分析'
39
- :choose-col="true"></export-excel>
40
- <!-- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>-->
41
- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showEform()">显示汇总</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
- <div class="col-sm-2">
47
- <label class="font_normal_body">客户地址</label>
48
- <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_address" placeholder='地址'
49
- condition="a.f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
50
- >
51
- </div>
52
- <div class="col-sm-2">
53
- <label class="font_normal_body">客户类型</label>
54
- <v-select style="width:60%" id="f_user_type"
55
- v-model="model.f_user_type"
56
- placeholder='客户类型'
57
- :value.sync="model.f_user_type"
58
- :options='$parent.$parent.usertypes'
59
- condition="f_user_type = '{}'"
60
- close-on-select>
61
- </v-select>
62
- </div>
63
- <div class="col-sm-2">
64
- <label class="font_normal_body">用气性质</label>
65
- <v-select style="width:60%" id="f_gasproperties"
66
- v-model="model.f_gasproperties"
67
- placeholder='用气性质'
68
- :value.sync="model.f_gasproperties"
69
- :options='$parent.$parent.Gasproperties'
70
- condition="f_gasproperties = '{}'"
71
- close-on-select>
72
- </v-select>
73
- </div>
74
- <div class="col-sm-2">
75
- <label class="font_normal_body">安装时间</label>
76
- <datepicker style="width:60%" id="startDate" placeholder="开始时间"
77
- v-model="model.start_f_parameter_date"
78
- :value.sync="model.start_f_parameter_date"
79
- :disabled-days-of-Week="[]"
80
- condition="f.f_install_date >='{}'"
81
- :format="'yyyy-MM-dd HH:mm:ss'"
82
- :show-reset-button="reset">
83
- </datepicker>
84
- </div>
85
- <div class="col-sm-2">
86
- <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
87
- <datepicker style="width:60%" id="endDate" placeholder="结束日期"
88
- v-model="model.end_f_parameter_date"
89
- :value.sync="model.end_f_parameter_date"
90
- :disabled-days-of-Week="[]"
91
- :format="'yyyy-MM-dd HH:mm:ss'"
92
- condition="f.f_install_date <='{}'"
93
- :show-reset-button="reset">
94
- </datepicker>
95
- </div>
96
- </div>
97
-
98
- </div>
99
- </criteria>
100
- <data-grid id="usergasall" :model="model" partial='list' class="list_area table_sy" v-ref:grid>
101
- <template partial='head'>
102
- <tr>
103
- <th style="text-align:center">
104
- <nobr>序号</nobr>
105
- </th>
106
- <th style="text-align:center">
107
- <nobr>组织机构</nobr>
108
- </th>
109
- <th style="text-align:center">
110
- <nobr>表钢号</nobr>
111
- </th>
112
- <th style="text-align:center">
113
- <nobr>客户编号</nobr>
114
- </th>
115
- <th style="text-align:center">
116
- <nobr>客户名称</nobr>
117
- </th>
118
- <th style="text-align:center">
119
- <nobr>客户类型</nobr>
120
- </th>
121
- <th style="text-align:center">
122
- <nobr>用气性质</nobr>
123
- </th>
124
- <th style="text-align:center">
125
- <nobr>地址</nobr>
126
- </th>
127
- <th style="text-align:center">
128
- <nobr>安装时间</nobr>
129
- </th>
130
- <th style="text-align:center">
131
- <nobr>待处理数量</nobr>
132
- </th>
133
- <th style="text-align:center">
134
- <nobr>已处理数量</nobr>
135
- </th>
136
- <th style="text-align:center">
137
- <nobr>最早上报时间</nobr>
138
- </th>
139
- <th style="text-align:center">
140
- <nobr>最晚上报时间</nobr>
141
- </th>
142
- </tr>
143
-
144
-
145
- </template>
146
- <template partial='body'>
147
- <td style="text-align:center"><nobr>{{$index+1}}</nobr></td>
148
- <td style="text-align:center"><nobr>{{row.f_orgname}}</nobr></td>
149
- <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
150
- <td style="text-align:center"><nobr>{{row.f_userinfo_code}}</nobr></td>
151
- <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
152
- <td style="text-align:center"><nobr>{{row.f_user_type}}</nobr></td>
153
- <td style="text-align:center"><nobr>{{row.f_gasproperties}}</nobr></td>
154
- <td><nobr>{{row.f_address}}</nobr></td>
155
- <td style="text-align:center"><nobr>{{row.f_install_date}}</nobr></td>
156
- <td style="text-align:center"><nobr>{{row.type1}}</nobr></td>
157
- <td style="text-align:center"><nobr>{{row.type2}}</nobr></td>
158
- <td style="text-align:center"><nobr>{{row.mindate}}</nobr></td>
159
- <td style="text-align:center"><nobr>{{row.maxdate}}</nobr></td>
160
- </template>
161
- </data-grid>
162
- </criteria-paged>
163
- </div>
164
- <div style="height: 40px;width: 100%;" v-show="echarts">
165
- <div style="display: inline-block;">
166
- <button class="button_search button_spacing" @click="notShowEcharts()">隐藏图表</button>
167
- </div>
168
- <!-- 图显示模板-->
169
-
170
- </div>
171
- <div style="width: 100%;height: 90%;" v-show="echarts">
172
- <sign-analysis-echarts :condition="condition" :startdate="startDate"
173
- :enddate="endDate" :echarts="echarts"></sign-analysis-echarts>
174
- </div>
175
- <!-- <div style="height: 40px;width: 100%;" v-show="isActiveTotalForm">-->
176
- <!-- &lt;!&ndash; <div style="display: inline-block;">&ndash;&gt;-->
177
- <!-- &lt;!&ndash; <button class="button_search button_spacing" @click="notShowEform()">隐藏汇总</button>&ndash;&gt;-->
178
- <!-- &lt;!&ndash; </div>&ndash;&gt;-->
179
- <!-- &lt;!&ndash; 汇总显示模板&ndash;&gt;-->
180
- <!-- <div class="mystyle row" style="display: inline-block;">-->
181
- <!-- <label class="font_normal_body">汇总统计项</label>-->
182
- <!-- <v-select style="width:60%" id="signtype" v-model="signtype"-->
183
- <!-- placeholder='分组项'-->
184
- <!-- value-single="true"-->
185
- <!-- :value.sync="signtype"-->
186
- <!-- :options='getSignType'-->
187
- <!-- close-on-select></v-select>-->
188
- <!-- </div>-->
189
- <!--</div>-->
190
- <div style="width: 100%;height: 90%;" v-show="isActiveTotalForm">
191
- <sign-analysis-eform :signtype="signtype[0]" :condition="condition"></sign-analysis-eform>
192
- </div>
193
- </template>
194
-
195
- <script>
196
- import {PagedList} from 'vue-client'
197
- import signAnalysisEcharts from './signAnalysisEcharts'
198
- import * as Util from '../../../Util'
199
- import getLodop from '../../../plugins/LodopFuncs'
200
- import plugins from '../../../plugins/GetLoginInfoService'
201
- export default {
202
- title: '标记分析',
203
- props: ['data'],
204
- components: {signAnalysisEcharts},
205
- data() {
206
- return {
207
- model: new PagedList('rs/sql/selectSignAnalysisList', 20),
208
- groupNameByDate: [],
209
- getGroupNameByDate: [
210
- {label: '年份', value: 'year'},
211
- {label: '月份', value: 'month'},
212
- {label: '周', value: 'week'}
213
- ],
214
- orgid:[this.$login.f.orgid],
215
- criteriaShow:false,
216
- orgCondtionStr: '(' + this.$login.f.orgid + ')',
217
- reportStr: null,
218
- show: false,
219
- outlets: [],
220
- operator: [],
221
- filename: '',
222
- echarts: false,
223
- searchshow: false,
224
- startDate: '',
225
- endDate: '',
226
- isActiveTotalForm: false,
227
- condition: '1=1',
228
-
229
- signtype:['type1'],
230
- getfield:{"f_orgname":"组织机构","f_meternumber":"表钢号",
231
- "f_userinfo_code":"客户编号",
232
- "f_user_name":"客户名称","f_user_type":"客户类型",
233
- "f_gasproperties":"用气性质",
234
- "f_address":"地址","f_install_date":"安装时间",
235
- "type1":"待处理数量",
236
- "type2":"已处理数量",
237
- "mindate":"最早上报时间",
238
- "maxdate":"最晚上报时间"
239
- },
240
- getSignType:[
241
- {label: '频繁磁干扰', value: 'type1'},
242
- {label: '间断性失联', value: 'type2'},
243
- {label: '间断性指令失败', value: 'type3'},
244
- {label: '锂电低电故障', value: 'type4'},
245
- {label: '频繁报拆表', value: 'type5'},
246
- {label: '未装电池', value: 'type6'},
247
- {label: '拆电池了', value: 'type7'},
248
- {label: '电池低压', value: 'type8'},
249
- {label: '锂电低电', value: 'type9'},
250
- {label: '连续失联', value: 'type10'},
251
- {label: '频繁报过流保护关阀', value: 'type11'},
252
- {label: '负值故障', value: 'type12'},
253
- {label: '其他', value: 'type13'}
254
- ],
255
- obj: {
256
- userid: this.$login.f.id,
257
- source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
258
- res: this.$login.f.f_fengongsi,
259
- resids: this.$login.f.f_orgids
260
- }
261
- }
262
- },
263
- ready() {
264
- this.$refs.paged.$refs.cri.model.start_f_parameter_date = Util.toStandardDateString() + ' 00:00:00'
265
- this.$refs.paged.$refs.cri.model.end_f_parameter_date = Util.toStandardDateString() + ' 23:59:59'
266
- this.$refs.paged.$refs.cri.search()
267
- },
268
- methods: {
269
- hidden() {
270
- this.criteriaShow = !this.criteriaShow
271
- },
272
- // 查询开关
273
- seachchange() {
274
- this.searchshow = !this.searchshow
275
- },
276
- // SaveAsFile(str) {
277
- // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
278
- // if (res === 'confirm') {
279
- // let style = '<style>' +
280
- // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
281
- // let strHtml = style + document.getElementById(str).innerHTML;
282
- // console.log(strHtml);
283
- // let LODOP = getLodop();
284
- // LODOP.PRINT_INIT('');
285
- // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
286
- // LODOP.SAVE_TO_FILE('标记分析.xls')
287
- // }
288
- // })
289
- // },
290
- clearmsg() {
291
- this.$refs.paged.$refs.cri.model = {}
292
- },
293
-
294
- search(args) {
295
- this.startDate = this.$refs.paged.$refs.cri.model.start_f_parameter_date
296
- this.endDate = this.$refs.paged.$refs.cri.model.end_f_parameter_date
297
- if (this.orgCondtionStr)
298
- this.condition = this.$refs.paged.$refs.cri.condition + `and u.f_orgid in ${this.orgCondtionStr}`
299
- else
300
- this.condition = this.$refs.paged.$refs.cri.condition
301
- console.log("~~~~~~~~~~~~~~~~~~")
302
- console.log(this.condition)
303
- args.condition = this.condition
304
- this.model.search(args.condition, args.model)
305
- },
306
- // 显示柱状图
307
- showEcharts() {
308
- this.echarts = true
309
- this.isActiveTotalForm=false
310
- },
311
- // 不显示柱状图
312
- notShowEcharts() {
313
- this.echarts = false
314
- this.isActiveTotalForm=false
315
- },
316
- // 显示汇总
317
- showEform() {
318
- this.echarts = false
319
- this.isActiveTotalForm=true
320
- },
321
- // 不显示汇总
322
- notShowEform() {
323
- this.echarts = false
324
- this.isActiveTotalForm=false
325
- },
326
- close() {
327
- this.show = false
328
- },
329
- getRes(obj) {
330
- this.orgCondtionStr = plugins.convertToIn(obj)
331
- }
332
- },
333
- watch: {
334
- 'data'(val) {
335
- if (val.f_files_path) {
336
- this.getFileContent(val.f_files_path)
337
- } else {
338
- this.reportStr = null
339
- }
340
- }
341
- },
342
- computed: {
343
- getCondition() {
344
- var con=""
345
- if (this.orgCondtionStr) {
346
- con= `${this.$refs.paged.$refs.cri.condition} and u.f_orgid in ${this.orgCondtionStr}`
347
- }
348
- else{
349
- con= `${this.$refs.paged.$refs.cri.condition} `
350
- }
351
- return {
352
- condition: con ,
353
- startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
354
- endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
355
- }
356
-
357
- },
358
- usertypes() {
359
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
360
- },
361
- valveStatus() {
362
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
363
- },
364
- Gasproperties() {
365
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
366
- },
367
- Getuserstyle() {
368
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
369
- }
370
- }
371
- }
372
- </script>
373
- <style>
374
- .mystyle {
375
- float: right;
376
- padding-right: 10%;
377
- }
378
-
379
- .datapanel {
380
- color: #333;
381
- background-color: white;
382
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
383
- padding: 10px 10px 10px 10px;
384
- border-radius: 15px;
385
- }
386
- </style>
1
+ <template>
2
+ <div id='app' class="basic-main" v-show="(!echarts)&&(!isActiveTotalForm)">
3
+ <criteria-paged :model="model" :pager='true' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-2">
8
+ <label class="font_normal_body">表&nbsp;钢&nbsp;号&nbsp;</label>
9
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_meternumber" placeholder='表钢号'
10
+ condition="p.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
11
+ >
12
+ </div>
13
+ <div class="col-sm-2 ">
14
+ <label class="font_normal_body">组织机构</label>
15
+ <res-select :initresid="$parent.$parent.orgid"
16
+ style="width:60%"
17
+ @res-select="$parent.$parent.getRes"
18
+ restype='organization'>
19
+ </res-select>
20
+ </div>
21
+ <div class="col-sm-2">
22
+ <label class="font_normal_body">客户编号</label>
23
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
24
+ condition="u.f_userinfo_code like '{}%'" v-next-el='f_userinfo_code' v-el:meternumber
25
+ >
26
+ </div>
27
+ <div class="col-sm-2">
28
+ <label class="font_normal_body">客户名称</label>
29
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'
30
+ condition="u.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
31
+ </div>
32
+ <div class="span" style="float:right;">
33
+
34
+ <button class="button_search button_spacing" @click="search()">查询</button>
35
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
36
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
37
+ :field="$parent.$parent.getfield"
38
+ sqlurl="rs/logic/exportfile" sql-name="selectSignAnalysisList" template-name='标记分析'
39
+ :choose-col="true"></export-excel>
40
+ <!-- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>-->
41
+ <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showEform()">显示汇总</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
+ <div class="col-sm-2">
47
+ <label class="font_normal_body">客户地址</label>
48
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_address" placeholder='地址'
49
+ condition="a.f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
50
+ >
51
+ </div>
52
+ <div class="col-sm-2">
53
+ <label class="font_normal_body">客户类型</label>
54
+ <v-select style="width:60%" id="f_user_type"
55
+ v-model="model.f_user_type"
56
+ placeholder='客户类型'
57
+ :value.sync="model.f_user_type"
58
+ :options='$parent.$parent.usertypes'
59
+ condition="f_user_type = '{}'"
60
+ close-on-select>
61
+ </v-select>
62
+ </div>
63
+ <div class="col-sm-2">
64
+ <label class="font_normal_body">用气性质</label>
65
+ <v-select style="width:60%" id="f_gasproperties"
66
+ v-model="model.f_gasproperties"
67
+ placeholder='用气性质'
68
+ :value.sync="model.f_gasproperties"
69
+ :options='$parent.$parent.Gasproperties'
70
+ condition="f_gasproperties = '{}'"
71
+ close-on-select>
72
+ </v-select>
73
+ </div>
74
+ <div class="col-sm-2">
75
+ <label class="font_normal_body">安装时间</label>
76
+ <datepicker style="width:60%" id="startDate" placeholder="开始时间"
77
+ v-model="model.start_f_parameter_date"
78
+ :value.sync="model.start_f_parameter_date"
79
+ :disabled-days-of-Week="[]"
80
+ condition="f.f_install_date >='{}'"
81
+ :format="'yyyy-MM-dd HH:mm:ss'"
82
+ :show-reset-button="reset">
83
+ </datepicker>
84
+ </div>
85
+ <div class="col-sm-2">
86
+ <label class="font_normal_body" style="word-break:keep-all;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;</label>
87
+ <datepicker style="width:60%" id="endDate" placeholder="结束日期"
88
+ v-model="model.end_f_parameter_date"
89
+ :value.sync="model.end_f_parameter_date"
90
+ :disabled-days-of-Week="[]"
91
+ :format="'yyyy-MM-dd HH:mm:ss'"
92
+ condition="f.f_install_date <='{}'"
93
+ :show-reset-button="reset">
94
+ </datepicker>
95
+ </div>
96
+ </div>
97
+
98
+ </div>
99
+ </criteria>
100
+ <data-grid id="usergasall" :model="model" partial='list' class="list_area table_sy" v-ref:grid>
101
+ <template partial='head'>
102
+ <tr>
103
+ <th style="text-align:center">
104
+ <nobr>序号</nobr>
105
+ </th>
106
+ <th style="text-align:center">
107
+ <nobr>组织机构</nobr>
108
+ </th>
109
+ <th style="text-align:center">
110
+ <nobr>表钢号</nobr>
111
+ </th>
112
+ <th style="text-align:center">
113
+ <nobr>客户编号</nobr>
114
+ </th>
115
+ <th style="text-align:center">
116
+ <nobr>客户名称</nobr>
117
+ </th>
118
+ <th style="text-align:center">
119
+ <nobr>客户类型</nobr>
120
+ </th>
121
+ <th style="text-align:center">
122
+ <nobr>用气性质</nobr>
123
+ </th>
124
+ <th style="text-align:center">
125
+ <nobr>地址</nobr>
126
+ </th>
127
+ <th style="text-align:center">
128
+ <nobr>安装时间</nobr>
129
+ </th>
130
+ <th style="text-align:center">
131
+ <nobr>待处理数量</nobr>
132
+ </th>
133
+ <th style="text-align:center">
134
+ <nobr>已处理数量</nobr>
135
+ </th>
136
+ <th style="text-align:center">
137
+ <nobr>最早上报时间</nobr>
138
+ </th>
139
+ <th style="text-align:center">
140
+ <nobr>最晚上报时间</nobr>
141
+ </th>
142
+ </tr>
143
+
144
+
145
+ </template>
146
+ <template partial='body'>
147
+ <td style="text-align:center"><nobr>{{$index+1}}</nobr></td>
148
+ <td style="text-align:center"><nobr>{{row.f_orgname}}</nobr></td>
149
+ <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
150
+ <td style="text-align:center"><nobr>{{row.f_userinfo_code}}</nobr></td>
151
+ <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
152
+ <td style="text-align:center"><nobr>{{row.f_user_type}}</nobr></td>
153
+ <td style="text-align:center"><nobr>{{row.f_gasproperties}}</nobr></td>
154
+ <td><nobr>{{row.f_address}}</nobr></td>
155
+ <td style="text-align:center"><nobr>{{row.f_install_date}}</nobr></td>
156
+ <td style="text-align:center"><nobr>{{row.type1}}</nobr></td>
157
+ <td style="text-align:center"><nobr>{{row.type2}}</nobr></td>
158
+ <td style="text-align:center"><nobr>{{row.mindate}}</nobr></td>
159
+ <td style="text-align:center"><nobr>{{row.maxdate}}</nobr></td>
160
+ </template>
161
+ </data-grid>
162
+ </criteria-paged>
163
+ </div>
164
+ <div style="height: 40px;width: 100%;" v-show="echarts">
165
+ <div style="display: inline-block;">
166
+ <button class="button_search button_spacing" @click="notShowEcharts()">隐藏图表</button>
167
+ </div>
168
+ <!-- 图显示模板-->
169
+
170
+ </div>
171
+ <div style="width: 100%;height: 90%;" v-show="echarts">
172
+ <sign-analysis-echarts :condition="condition" :startdate="startDate"
173
+ :enddate="endDate" :echarts="echarts"></sign-analysis-echarts>
174
+ </div>
175
+ <!-- <div style="height: 40px;width: 100%;" v-show="isActiveTotalForm">-->
176
+ <!-- &lt;!&ndash; <div style="display: inline-block;">&ndash;&gt;-->
177
+ <!-- &lt;!&ndash; <button class="button_search button_spacing" @click="notShowEform()">隐藏汇总</button>&ndash;&gt;-->
178
+ <!-- &lt;!&ndash; </div>&ndash;&gt;-->
179
+ <!-- &lt;!&ndash; 汇总显示模板&ndash;&gt;-->
180
+ <!-- <div class="mystyle row" style="display: inline-block;">-->
181
+ <!-- <label class="font_normal_body">汇总统计项</label>-->
182
+ <!-- <v-select style="width:60%" id="signtype" v-model="signtype"-->
183
+ <!-- placeholder='分组项'-->
184
+ <!-- value-single="true"-->
185
+ <!-- :value.sync="signtype"-->
186
+ <!-- :options='getSignType'-->
187
+ <!-- close-on-select></v-select>-->
188
+ <!-- </div>-->
189
+ <!--</div>-->
190
+ <div style="width: 100%;height: 90%;" v-show="isActiveTotalForm">
191
+ <sign-analysis-eform :signtype="signtype[0]" :condition="condition"></sign-analysis-eform>
192
+ </div>
193
+ </template>
194
+
195
+ <script>
196
+ import {PagedList} from 'vue-client'
197
+ import signAnalysisEcharts from './signAnalysisEcharts'
198
+ import * as Util from '../../../Util'
199
+ import getLodop from '../../../plugins/LodopFuncs'
200
+ import plugins from '../../../plugins/GetLoginInfoService'
201
+ export default {
202
+ title: '标记分析',
203
+ props: ['data'],
204
+ components: {signAnalysisEcharts},
205
+ data() {
206
+ return {
207
+ model: new PagedList('rs/sql/selectSignAnalysisList', 20),
208
+ groupNameByDate: [],
209
+ getGroupNameByDate: [
210
+ {label: '年份', value: 'year'},
211
+ {label: '月份', value: 'month'},
212
+ {label: '周', value: 'week'}
213
+ ],
214
+ orgid:[this.$login.f.orgid],
215
+ criteriaShow:false,
216
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
217
+ reportStr: null,
218
+ show: false,
219
+ outlets: [],
220
+ operator: [],
221
+ filename: '',
222
+ echarts: false,
223
+ searchshow: false,
224
+ startDate: '',
225
+ endDate: '',
226
+ isActiveTotalForm: false,
227
+ condition: '1=1',
228
+
229
+ signtype:['type1'],
230
+ getfield:{"f_orgname":"组织机构","f_meternumber":"表钢号",
231
+ "f_userinfo_code":"客户编号",
232
+ "f_user_name":"客户名称","f_user_type":"客户类型",
233
+ "f_gasproperties":"用气性质",
234
+ "f_address":"地址","f_install_date":"安装时间",
235
+ "type1":"待处理数量",
236
+ "type2":"已处理数量",
237
+ "mindate":"最早上报时间",
238
+ "maxdate":"最晚上报时间"
239
+ },
240
+ getSignType:[
241
+ {label: '频繁磁干扰', value: 'type1'},
242
+ {label: '间断性失联', value: 'type2'},
243
+ {label: '间断性指令失败', value: 'type3'},
244
+ {label: '锂电低电故障', value: 'type4'},
245
+ {label: '频繁报拆表', value: 'type5'},
246
+ {label: '未装电池', value: 'type6'},
247
+ {label: '拆电池了', value: 'type7'},
248
+ {label: '电池低压', value: 'type8'},
249
+ {label: '锂电低电', value: 'type9'},
250
+ {label: '连续失联', value: 'type10'},
251
+ {label: '频繁报过流保护关阀', value: 'type11'},
252
+ {label: '负值故障', value: 'type12'},
253
+ {label: '其他', value: 'type13'}
254
+ ],
255
+ obj: {
256
+ userid: this.$login.f.id,
257
+ source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
258
+ res: this.$login.f.f_fengongsi,
259
+ resids: this.$login.f.f_orgids
260
+ }
261
+ }
262
+ },
263
+ ready() {
264
+ this.$refs.paged.$refs.cri.model.start_f_parameter_date = Util.toStandardDateString() + ' 00:00:00'
265
+ this.$refs.paged.$refs.cri.model.end_f_parameter_date = Util.toStandardDateString() + ' 23:59:59'
266
+ this.$refs.paged.$refs.cri.search()
267
+ },
268
+ methods: {
269
+ hidden() {
270
+ this.criteriaShow = !this.criteriaShow
271
+ },
272
+ // 查询开关
273
+ seachchange() {
274
+ this.searchshow = !this.searchshow
275
+ },
276
+ // SaveAsFile(str) {
277
+ // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
278
+ // if (res === 'confirm') {
279
+ // let style = '<style>' +
280
+ // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
281
+ // let strHtml = style + document.getElementById(str).innerHTML;
282
+ // console.log(strHtml);
283
+ // let LODOP = getLodop();
284
+ // LODOP.PRINT_INIT('');
285
+ // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
286
+ // LODOP.SAVE_TO_FILE('标记分析.xls')
287
+ // }
288
+ // })
289
+ // },
290
+ clearmsg() {
291
+ this.$refs.paged.$refs.cri.model = {}
292
+ },
293
+
294
+ search(args) {
295
+ this.startDate = this.$refs.paged.$refs.cri.model.start_f_parameter_date
296
+ this.endDate = this.$refs.paged.$refs.cri.model.end_f_parameter_date
297
+ if (this.orgCondtionStr)
298
+ this.condition = this.$refs.paged.$refs.cri.condition + `and u.f_orgid in ${this.orgCondtionStr}`
299
+ else
300
+ this.condition = this.$refs.paged.$refs.cri.condition
301
+ console.log("~~~~~~~~~~~~~~~~~~")
302
+ console.log(this.condition)
303
+ args.condition = this.condition
304
+ this.model.search(args.condition, args.model)
305
+ },
306
+ // 显示柱状图
307
+ showEcharts() {
308
+ this.echarts = true
309
+ this.isActiveTotalForm=false
310
+ },
311
+ // 不显示柱状图
312
+ notShowEcharts() {
313
+ this.echarts = false
314
+ this.isActiveTotalForm=false
315
+ },
316
+ // 显示汇总
317
+ showEform() {
318
+ this.echarts = false
319
+ this.isActiveTotalForm=true
320
+ },
321
+ // 不显示汇总
322
+ notShowEform() {
323
+ this.echarts = false
324
+ this.isActiveTotalForm=false
325
+ },
326
+ close() {
327
+ this.show = false
328
+ },
329
+ getRes(obj) {
330
+ this.orgCondtionStr = plugins.convertToIn(obj)
331
+ }
332
+ },
333
+ watch: {
334
+ 'data'(val) {
335
+ if (val.f_files_path) {
336
+ this.getFileContent(val.f_files_path)
337
+ } else {
338
+ this.reportStr = null
339
+ }
340
+ }
341
+ },
342
+ computed: {
343
+ getCondition() {
344
+ var con=""
345
+ if (this.orgCondtionStr) {
346
+ con= `${this.$refs.paged.$refs.cri.condition} and u.f_orgid in ${this.orgCondtionStr}`
347
+ }
348
+ else{
349
+ con= `${this.$refs.paged.$refs.cri.condition} `
350
+ }
351
+ return {
352
+ condition: con ,
353
+ startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
354
+ endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
355
+ }
356
+
357
+ },
358
+ usertypes() {
359
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
360
+ },
361
+ valveStatus() {
362
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
363
+ },
364
+ Gasproperties() {
365
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
366
+ },
367
+ Getuserstyle() {
368
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
369
+ }
370
+ }
371
+ }
372
+ </script>
373
+ <style>
374
+ .mystyle {
375
+ float: right;
376
+ padding-right: 10%;
377
+ }
378
+
379
+ .datapanel {
380
+ color: #333;
381
+ background-color: white;
382
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
383
+ padding: 10px 10px 10px 10px;
384
+ border-radius: 15px;
385
+ }
386
+ </style>