manage-client 3.2.174 → 3.2.176

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.
@@ -1,594 +1,594 @@
1
- <template>
2
- <div class="flex-row" v-if="!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
-
43
- <div style="float:right">
44
- <button class="button_search button_spacing" @click="search()">查询</button>
45
- <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
46
- <button class="button_clear button_spacing" @click="$parent.$parent.shielding">批量拉黑</button>
47
- <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
48
- :field="$parent.$parent.getfield" :sumname="$parent.$parent.sumName"
49
- sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserLoseQuery" template-name='用户失联查询'
50
- :choose-col="true"></export-excel>
51
- <!-- <button class="button_export button_spacing" @click="$parent.$parent.SaveAsFile('lostuserlist')">导出</button>-->
52
- <!-- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()">显示汇总</button>-->
53
- <!-- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>-->
54
- <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>
55
- </div>
56
- </div>
57
- <div class="row" v-show="$parent.$parent.criteriaShow">
58
- <div class="col-sm-2 form-group">
59
- <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
60
- <right-tree @re-res="$parent.$parent.getorg"
61
- :initresid='$parent.$parent.org'></right-tree>
62
- </div>
63
- <div class="col-sm-2 form-group">
64
- <label class="font_normal_body">客户类型</label>
65
- <v-select style="width:60%" id="f_user_type"
66
- v-model="model.f_user_type"
67
- placeholder='客户类型'
68
- :value.sync="model.f_user_type"
69
- :options='$parent.$parent.usertypes'
70
- condition="f_user_type = '{}'"
71
- close-on-select>
72
- </v-select>
73
- </div>
74
- <div class="col-sm-2 form-group">
75
- <label class="font_normal_body">用气性质</label>
76
- <v-select style="width:60%" id="f_gasproperties"
77
- v-model="model.f_gasproperties"
78
- placeholder='用气性质'
79
- :value.sync="model.f_gasproperties"
80
- :options='$parent.$parent.Gasproperties'
81
- condition="f_gasproperties = '{}'"
82
- close-on-select>
83
- </v-select>
84
- </div>
85
- <div class="col-sm-2 form-group">
86
- <label class="font_normal_body">气表品牌</label>
87
- <v-select
88
- placeholder='气表品牌'
89
- :value.sync="model.f_meter_brand"
90
- v-model="model.f_meter_brand"
91
- :options='$parent.$parent.WarningType'
92
- @change="$parent.$parent.getMeterType"
93
- close-on-select
94
- condition="f_meter_brand='{}'">
95
- </v-select>
96
- </div>
97
- <div class="col-sm-2 form-group" >
98
- <label class="font_normal_body">气表型号</label>
99
- <v-select v-if="$parent.$parent.styles"
100
- placeholder='气表型号'
101
- :value.sync="model.f_meter_style"
102
- v-model="model.f_meter_style"
103
- :options='$parent.$parent.Warningstyle'
104
- close-on-select
105
- condition="f_meter_style='{}'">
106
- </v-select>
107
- <v-select v-if="!$parent.$parent.styles"
108
- placeholder='气表型号'
109
- :value.sync="model.f_meter_style"
110
- v-model="model.f_meter_style"
111
- :options='$parent.$parent.Warningstyles'
112
- close-on-select
113
- condition="f_meter_style='{}'">
114
- </v-select>
115
- </div>
116
- <div class="col-sm-2 form-group">
117
- <label class="font_normal_body">用户状态</label>
118
- <v-select
119
- placeholder='用户状态'
120
- value-single
121
- style="width:60%"
122
- :value.sync="model.f_user_state"
123
- v-model="model.f_user_state"
124
- :options='$parent.$parent.userstate'
125
- close-on-select condition="f_user_state ='{}'">
126
- </v-select>
127
- </div>
128
- <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
129
- <label class="font_normal_body">失联天数&nbsp;</label>
130
- <div class="row">
131
- <input type="text" style="width:27%" class="input_search" v-model="model.SLday1"
132
- condition="SLday >= {} " placeholder="">
133
- <label class="font_normal_body"> ≤ x ≤ </label>
134
- <input type="text" style="width:27%" class="input_search" v-model="model.SLday2"
135
- condition="SLday <= {} " placeholder="">
136
- </div>
137
- </div>
138
- <div class="col-sm-2 form-group ">
139
- <label for="contain_newfile" class="font_normal_body">开户未上报</label>
140
- <v-select id="contain_newfile"
141
- v-model="model.notappear"
142
- style="width:60%"
143
- :value.sync="model.notappear"
144
- :options='$parent.$parent.not_appear'
145
- :value-single="true"
146
- close-on-select>
147
- </v-select>
148
- </div>
149
- </div>
150
- </div>
151
- </criteria>
152
- <data-grid id="lostuserlist" :model="model" partial='list' v-ref:grid class="list_area table_sy" :optional="true">
153
- <template partial='head'>
154
- <th style="text-align:center">
155
- <nobr>序号</nobr>
156
- </th>
157
- <th style="text-align:center">
158
- <nobr>客户编号</nobr>
159
- </th>
160
- <th style="text-align:center">
161
- <nobr>客户名称</nobr>
162
- </th>
163
- <th style="text-align:center">
164
- <nobr>客户地址</nobr>
165
- </th>
166
- <th style="text-align:center">
167
- <nobr>客户类型</nobr>
168
- </th>
169
- <th style="text-align:center">
170
- <nobr>用气性质</nobr>
171
- </th>
172
- <th style="text-align:center">
173
- <nobr>联系电话</nobr>
174
- </th>
175
- <th style="text-align:center">
176
- <nobr>系统金额</nobr>
177
- </th>
178
- <th style="text-align:center">
179
- <nobr>表号</nobr>
180
- </th>
181
- <th style="text-align:center">
182
- <nobr>启用日期</nobr>
183
- </th>
184
-
185
- <th style="text-align:center" >
186
- <nobr>初次上报日期</nobr>
187
- </th>
188
- <th style="text-align:center" >
189
- <nobr>最后上报日期</nobr>
190
- </th>
191
- <th style="text-align:center">
192
- <nobr>最后表读数</nobr>
193
- </th>
194
-
195
- <th style="text-align:center" >
196
- <nobr>失联天数</nobr>
197
- </th>
198
- <th style="text-align:center" >
199
- <nobr>气表厂家</nobr>
200
- </th>
201
- <th style="text-align:center" >
202
- <nobr>气表型号</nobr>
203
- </th>
204
- <th style="text-align:center" >
205
- <nobr>用户状态</nobr>
206
- </th>
207
- <th style="text-align:center" >
208
- <nobr>组织机构</nobr>
209
- </th>
210
- </template>
211
- <template partial='body'>
212
- <td style="text-align:center">{{$index+1}}</td>
213
- <td style="text-align: center;"><nobr>
214
- <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
215
- </nobr> </td>
216
- <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
217
- <td>
218
- <nobr>{{row.f_address}}</nobr>
219
- </td>
220
- <td style="text-align:center">{{row.f_user_type}}</td>
221
- <td style="text-align:center">{{row.f_gasproperties}}</td>
222
- <td style="text-align:center">{{row.f_user_phone}}</td>
223
- <td style="text-align:center">{{row.f_balance_amount}}</td>
224
- <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
225
- <td style="text-align:center"><nobr>{{row.f_startuse_date}}</nobr></td>
226
- <td style="text-align:center">
227
- <nobr>{{row.initinsertdate}}</nobr>
228
- </td> <td style="text-align:center">
229
- <nobr>{{row.lastinsertdate}}</nobr>
230
- </td>
231
- <td style="text-align:center">{{row.f_meter_base}}</td>
232
-
233
- <td style="text-align:center">
234
- <nobr>{{row.slday}}</nobr>
235
- </td>
236
- <td style="text-align:center">{{row.f_meter_brand}}</td>
237
- <td style="text-align:center">
238
- <nobr>{{row.f_meter_style}}</nobr>
239
- </td>
240
- <td style="text-align:center">
241
- <nobr>{{row.f_user_state}}</nobr>
242
- </td>
243
- <td style="text-align:center">
244
- <nobr>{{row.f_orgname}}</nobr>
245
- </td>
246
- </template>
247
- </data-grid>
248
- </criteria-paged>
249
- </div>
250
- <modal :show.sync="shieldingShow" backdrop="false">
251
- <header slot="modal-header" class="modal-header text-center">
252
- <h4 class="modal-title">用户拉黑</h4>
253
- </header>
254
- <article slot="modal-body">
255
- <validator name='v'>
256
- <form novalidate class="form-horizontal select-overspread ">
257
- <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
258
- <div class="col-sm-4 form-group" id="f_type" :class="[$v.black.required ? 'has-error' : 'has-success']">
259
- <label for="f_type" style="margin-left: -13px;" class="font_normal_body" title="参数:黑名单类型">黑名单类型</label>
260
- <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.black.selectedItems"
261
- v-validate:black='{required: true }'>
262
- <v-select :value.sync="shieldingmodel.f_type" v-model="shieldingmodel.f_type" width="53%"
263
- :options='types' placeholder='黑名单类型' title="参数:黑名单类型"
264
- :search="false" :value-single="true" close-on-select v-ref:black></v-select>
265
- </div>
266
- </div>
267
-
268
- <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
269
- <div class="col-sm-12 form-group" id="f_comments" :class="[$v.f_comments.required ? 'has-error' : 'has-success']">
270
- <label for="f_comments" class=" font_normal_body"><nobr>原&emsp;&emsp;因</nobr></label>
271
- <input class="input_search" type="text" class="input_search" style="width:87%" v-model="shieldingmodel.f_comments"
272
- placeholder="原因" v-validate:f_comments='{required: true }' >
273
- </div>
274
- </div>
275
- </form>
276
- </validator>
277
- </article>
278
- <footer slot="modal-footer" class="modal-footer">
279
- <button type="button" class="btn btn-default" @click='cancelShielding()'>取消</button>
280
- <button type="button" class="btn btn-success" @click='confirmShielding()' :disabled='!$v.valid'>确认</button>
281
- </footer>
282
- </modal>
283
- </div>
284
- <div class="flex-row" style="width:99%;height:98%;margin-bottom:0px" v-if="showdetail">
285
- <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
286
- </div>
287
- </template>
288
-
289
- <script>
290
- import {PagedList} from 'vue-client'
291
- import UserGasEcharts from './UserGasEcharts'
292
- import plugin from 'system-clients/src/plugins/GetLoginInfoService'
293
- import {HttpResetClass} from 'vue-client'
294
- let readySomething = async function (self) {
295
-
296
- await self.$MagLoadParams.loadParam()
297
- self.initParams()
298
- self.$refs.paged.$refs.cri.model.notappear='不包含'
299
- self.$refs.paged.$refs.cri.model.SLday1=10
300
- self.$refs.paged.$refs.cri.model.f_user_state='正常'
301
- self.$refs.paged.$refs.cri.search()
302
- self.$refs.paged.$refs.grid.selectInit()
303
- }
304
- export default {
305
- title: '失联分析',
306
- props: ['data'],
307
- components: {UserGasEcharts},
308
-
309
- data() {
310
- return {
311
- model: new PagedList('rs/sql/webmeter_getUserLoseQuery', 20),
312
- getfield:{
313
- "f_userinfo_code":"客户编号","f_user_name":"客户名称",
314
- "f_address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质",
315
- "f_meternumber":"表号",
316
- "f_user_phone":"联系电话",
317
- "f_balance_amount":"系统余额",
318
-
319
- "f_startuse_date":"启用日期",
320
- "initinsertdate":"初次上报日期",
321
- "lastinsertdate":"最后上报日期",
322
- "f_meter_base":"最后表读数",
323
- "slday":"失联天数",
324
- "f_meter_brand":"气表厂家","f_orgname":"组织机构"},
325
- reportStr: null,
326
- show: false,
327
- showdetail:false,
328
- rowdata:{},
329
- criteriaShow:false,
330
- shieldingShow: false,
331
- types: this.$appdata.getParam('黑名单类型'),
332
- outlets: [],
333
- operator: [],
334
- shieldingmodel: {
335
- f_type: '',
336
- f_comments: ''
337
- },
338
- filename: '',
339
- WarningType: [
340
- {label: '全部', value: ''}
341
- ],
342
- Warningstyles: [
343
- {label: '全部', value: ''}
344
- ],
345
- styles:false,
346
- org:[this.$login.f.orgid],
347
- orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`,
348
- echarts: false,
349
- searchshow: false,
350
- isActiveTotalForm: false,
351
- condition: '1=1',
352
- groupname: ['max_days_type'],
353
- getgroupname: [
354
- {label: '客户类型', value: 'f_user_type'},
355
- {label: '用气性质', value: 'f_gasproperties'},
356
- {label: '分公司', value: 'f_orgname'},
357
- {label: '最长失联天数', value: 'max_days_type'},
358
- ]
359
- }
360
- },
361
- ready() {
362
- readySomething(this)
363
- this.getMeterTypeAndBrand('f_meter_brand', '1=1')
364
- },
365
-
366
- methods: {
367
- getMeterType() {
368
- this.Warningstyle = [{label: '全部', value: ''}]
369
- this.styles = false
370
- let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
371
- this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
372
- },
373
- getMeterTypeAndBrand(groupname, condition) {
374
- condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
375
- let self = this
376
- let load = new HttpResetClass()
377
- load.load('POST', 'rs/sql/getMeterStyleAndBrand1', {
378
- data: {
379
- condition: condition,
380
- groupname: groupname
381
- }
382
- }, {warnMsg: null, resolveMsg: null}).then((res) => {
383
- for (let i = 0; i < res.data.length; i++) {
384
- if (groupname == 'f_meter_brand') {
385
- let dr = {}
386
- dr.label = res.data[i].f_meter_brand
387
- dr.value = res.data[i].f_meter_brand
388
- //气表品牌
389
- self.WarningType.push(dr)
390
- } else if (groupname == 'f_meter_style') {
391
- self.Warningstyle= [
392
- {label: '全部', value: ''}
393
- ],
394
- self.$refs.paged.$refs.cri.model.f_meter_style=''
395
- let dr = {}
396
- dr.label = res.data[i].f_meter_style
397
- dr.value = res.data[i].f_meter_style
398
- //气表类型
399
- self.Warningstyle.push(dr)
400
- }
401
- }
402
- if (self.Warningstyle.length > 1) {
403
- self.showMeterStyle()
404
- }
405
- })
406
-
407
- },
408
- showMeterStyle() {
409
- this.styles = true
410
- },
411
- hidden(){
412
- this.criteriaShow = !this.criteriaShow
413
- },
414
- showmsg(obj){
415
- this.rowdata=obj
416
- this.showdetail=true
417
- },
418
- cancel() {
419
- this.showdetail = false
420
- },
421
- clickshow() {
422
- this.searchshow = !this.searchshow
423
- },
424
- search(args) {
425
- this.condition = this.$refs.paged.$refs.cri.condition + `${this.orgCondtionStr}`
426
- args.condition = this.condition
427
- if(this.$refs.paged.$refs.cri.model.notappear) {
428
- if (this.$refs.paged.$refs.cri.model.notappear === '不包含') {
429
- args.condition = args.condition + " and initinsertdate <> '开户未上报'"
430
- }
431
- }
432
- this.model.search(args.condition, args.model)
433
- },
434
- getorg(obj) {
435
- if (obj.resids.length>0) {
436
- this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(obj.resids)
437
- }else
438
- {
439
- this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid
440
- }
441
- },
442
- clearmsg() {
443
- this.$refs.paged.$refs.cri.model = {}
444
- },
445
- shielding() {
446
- if(!(this.$refs.paged.$refs.grid.getRowData().length > 0)) {
447
- this.$showAlert('请至少选择一项', 'warning', 1500)
448
- return
449
- }
450
- this.shieldingShow = true
451
- },
452
- cancelShielding() {
453
- this.shieldingShow = false
454
- this.$refs.paged.$refs.grid.selectInit()
455
- },
456
- async confirmShielding() {
457
- let data = {
458
- rows: this.$refs.paged.$refs.grid.getRowData(),
459
- f_operat_type: '拉黑',
460
- f_operator: this.$login.f.name,
461
- f_operatorid: this.$login.f.id,
462
- f_orgid: this.$login.f.orgid,
463
- f_orgname: this.$login.f.orgs,
464
- f_depid: this.$login.f.depids,
465
- f_depname: this.$login.f.deps,
466
- f_operate_date: this.$login.toStandardTimeString(),
467
- f_userinfo_id: {
468
- f_userinfo_id: this.model.f_userinfo_id,
469
- f_user_state: '正常',
470
- version: this.model.version
471
- },
472
- shieldingmodel: this.shieldingmodel
473
- }
474
- console.log(data)
475
- await this.$resetpost('rs/logic/batchShielding',data, {resolveMsg: '拉黑成功', rejectMsg: '拉黑失败'})
476
- this.cancelShielding()
477
- },
478
- close() {
479
- this.show = false
480
- },
481
- initParams () {
482
- let arr = []
483
- this.$MagGetSaleParam.getGasbrand().forEach((item) => {
484
- let temp = {}
485
- if(item.value.f_meter_type==='物联网表'){
486
- temp.label = item.label
487
- temp.value = item.value.f_meter_brand
488
- arr.push(temp )
489
- }
490
-
491
- })
492
- this.meterbrands = [{label: '全部', value: ''}, ...arr]
493
- },
494
- // 显示柱状图
495
- showEcharts() {
496
- this.echarts = true
497
- this.isActiveTotalForm = false
498
- },
499
- notShowTotalForm() {
500
- this.echarts = false
501
- this.isActiveTotalForm = false
502
- },
503
- // 不显示柱状图
504
- notShowEcharts() {
505
- this.echarts = false
506
- this.isActiveTotalForm = false
507
- },
508
- // 显示汇总数据表格
509
- showTotalForm() {
510
- this.echarts = false
511
- this.isActiveTotalForm = true
512
- }
513
- },
514
- watch: {
515
- 'data'(val) {
516
- if (val.f_files_path) {
517
- this.getFileContent(val.f_files_path)
518
- } else {
519
- this.reportStr = null
520
- }
521
- }
522
- },
523
- computed: {
524
- // usertypes () {
525
- // return this.$appdate.getParams("客户类型")
526
- // },
527
- getCondition() {
528
- let condition=this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
529
- if(this.$refs.paged.$refs.cri.model.notappear) {
530
- if (this.$refs.paged.$refs.cri.model.notappear === '不包含') {
531
- condition = condition + " and initinsertdate <> '开户未上报'"
532
- }
533
- }
534
- return {
535
-
536
- condition: condition
537
- }
538
- },
539
- usertypes() {
540
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
541
- },
542
- Gasproperties() {
543
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
544
- },
545
- f_outlets() {
546
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
547
- },
548
- valveStatus() {
549
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
550
- },
551
- not_appear(){
552
- return [{label: '包含', value: '包含'},{label: '不包含', value: '不包含'} ]
553
- },
554
- getstate() {
555
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('最新状态')]
556
- },
557
- userstate() {
558
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
559
- }
560
- }
561
- }
562
- </script>
563
- <style>
564
- .form-input-group label {
565
- text-align: right;
566
- width: auto;
567
- }
568
-
569
- .mystyle {
570
- float: right;
571
- padding-right: 10%;
572
- }
573
-
574
- .mystyle1 {
575
- padding-top: 10px;
576
-
577
- }
578
-
579
- .mystyle2 {
580
- width: 100%;
581
- height: 35px;
582
- /*background: #00A3F0;*/
583
- padding-left: 15px;
584
- float: left;
585
- }
586
-
587
- .datapanel {
588
- color: #333;
589
- background-color: white;
590
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
591
- padding: 10px 30px 10px 30px;
592
- border-radius: 15px;
593
- }
594
- </style>
1
+ <template>
2
+ <div class="flex-row" v-if="!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
+
43
+ <div style="float:right">
44
+ <button class="button_search button_spacing" @click="search()">查询</button>
45
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
46
+ <button class="button_clear button_spacing" @click="$parent.$parent.shielding">批量拉黑</button>
47
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
48
+ :field="$parent.$parent.getfield" :sumname="$parent.$parent.sumName"
49
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserLoseQuery" template-name='用户失联查询'
50
+ :choose-col="true"></export-excel>
51
+ <!-- <button class="button_export button_spacing" @click="$parent.$parent.SaveAsFile('lostuserlist')">导出</button>-->
52
+ <!-- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()">显示汇总</button>-->
53
+ <!-- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>-->
54
+ <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>
55
+ </div>
56
+ </div>
57
+ <div class="row" v-show="$parent.$parent.criteriaShow">
58
+ <div class="col-sm-2 form-group">
59
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
60
+ <right-tree @re-res="$parent.$parent.getorg"
61
+ :initresid='$parent.$parent.org'></right-tree>
62
+ </div>
63
+ <div class="col-sm-2 form-group">
64
+ <label class="font_normal_body">客户类型</label>
65
+ <v-select style="width:60%" id="f_user_type"
66
+ v-model="model.f_user_type"
67
+ placeholder='客户类型'
68
+ :value.sync="model.f_user_type"
69
+ :options='$parent.$parent.usertypes'
70
+ condition="f_user_type = '{}'"
71
+ close-on-select>
72
+ </v-select>
73
+ </div>
74
+ <div class="col-sm-2 form-group">
75
+ <label class="font_normal_body">用气性质</label>
76
+ <v-select style="width:60%" id="f_gasproperties"
77
+ v-model="model.f_gasproperties"
78
+ placeholder='用气性质'
79
+ :value.sync="model.f_gasproperties"
80
+ :options='$parent.$parent.Gasproperties'
81
+ condition="f_gasproperties = '{}'"
82
+ close-on-select>
83
+ </v-select>
84
+ </div>
85
+ <div class="col-sm-2 form-group">
86
+ <label class="font_normal_body">气表品牌</label>
87
+ <v-select
88
+ placeholder='气表品牌'
89
+ :value.sync="model.f_meter_brand"
90
+ v-model="model.f_meter_brand"
91
+ :options='$parent.$parent.WarningType'
92
+ @change="$parent.$parent.getMeterType"
93
+ close-on-select
94
+ condition="f_meter_brand='{}'">
95
+ </v-select>
96
+ </div>
97
+ <div class="col-sm-2 form-group" >
98
+ <label class="font_normal_body">气表型号</label>
99
+ <v-select v-if="$parent.$parent.styles"
100
+ placeholder='气表型号'
101
+ :value.sync="model.f_meter_style"
102
+ v-model="model.f_meter_style"
103
+ :options='$parent.$parent.Warningstyle'
104
+ close-on-select
105
+ condition="f_meter_style='{}'">
106
+ </v-select>
107
+ <v-select v-if="!$parent.$parent.styles"
108
+ placeholder='气表型号'
109
+ :value.sync="model.f_meter_style"
110
+ v-model="model.f_meter_style"
111
+ :options='$parent.$parent.Warningstyles'
112
+ close-on-select
113
+ condition="f_meter_style='{}'">
114
+ </v-select>
115
+ </div>
116
+ <div class="col-sm-2 form-group">
117
+ <label class="font_normal_body">用户状态</label>
118
+ <v-select
119
+ placeholder='用户状态'
120
+ value-single
121
+ style="width:60%"
122
+ :value.sync="model.f_user_state"
123
+ v-model="model.f_user_state"
124
+ :options='$parent.$parent.userstate'
125
+ close-on-select condition="f_user_state ='{}'">
126
+ </v-select>
127
+ </div>
128
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
129
+ <label class="font_normal_body">失联天数&nbsp;</label>
130
+ <div class="row">
131
+ <input type="text" style="width:27%" class="input_search" v-model="model.SLday1"
132
+ condition="SLday >= {} " placeholder="">
133
+ <label class="font_normal_body"> ≤ x ≤ </label>
134
+ <input type="text" style="width:27%" class="input_search" v-model="model.SLday2"
135
+ condition="SLday <= {} " placeholder="">
136
+ </div>
137
+ </div>
138
+ <div class="col-sm-2 form-group ">
139
+ <label for="contain_newfile" class="font_normal_body">开户未上报</label>
140
+ <v-select id="contain_newfile"
141
+ v-model="model.notappear"
142
+ style="width:60%"
143
+ :value.sync="model.notappear"
144
+ :options='$parent.$parent.not_appear'
145
+ :value-single="true"
146
+ close-on-select>
147
+ </v-select>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </criteria>
152
+ <data-grid id="lostuserlist" :model="model" partial='list' v-ref:grid class="list_area table_sy" :optional="true">
153
+ <template partial='head'>
154
+ <th style="text-align:center">
155
+ <nobr>序号</nobr>
156
+ </th>
157
+ <th style="text-align:center">
158
+ <nobr>客户编号</nobr>
159
+ </th>
160
+ <th style="text-align:center">
161
+ <nobr>客户名称</nobr>
162
+ </th>
163
+ <th style="text-align:center">
164
+ <nobr>客户地址</nobr>
165
+ </th>
166
+ <th style="text-align:center">
167
+ <nobr>客户类型</nobr>
168
+ </th>
169
+ <th style="text-align:center">
170
+ <nobr>用气性质</nobr>
171
+ </th>
172
+ <th style="text-align:center">
173
+ <nobr>联系电话</nobr>
174
+ </th>
175
+ <th style="text-align:center">
176
+ <nobr>系统金额</nobr>
177
+ </th>
178
+ <th style="text-align:center">
179
+ <nobr>表号</nobr>
180
+ </th>
181
+ <th style="text-align:center">
182
+ <nobr>启用日期</nobr>
183
+ </th>
184
+
185
+ <th style="text-align:center" >
186
+ <nobr>初次上报日期</nobr>
187
+ </th>
188
+ <th style="text-align:center" >
189
+ <nobr>最后上报日期</nobr>
190
+ </th>
191
+ <th style="text-align:center">
192
+ <nobr>最后表读数</nobr>
193
+ </th>
194
+
195
+ <th style="text-align:center" >
196
+ <nobr>失联天数</nobr>
197
+ </th>
198
+ <th style="text-align:center" >
199
+ <nobr>气表厂家</nobr>
200
+ </th>
201
+ <th style="text-align:center" >
202
+ <nobr>气表型号</nobr>
203
+ </th>
204
+ <th style="text-align:center" >
205
+ <nobr>用户状态</nobr>
206
+ </th>
207
+ <th style="text-align:center" >
208
+ <nobr>组织机构</nobr>
209
+ </th>
210
+ </template>
211
+ <template partial='body'>
212
+ <td style="text-align:center">{{$index+1}}</td>
213
+ <td style="text-align: center;"><nobr>
214
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
215
+ </nobr> </td>
216
+ <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
217
+ <td>
218
+ <nobr>{{row.f_address}}</nobr>
219
+ </td>
220
+ <td style="text-align:center">{{row.f_user_type}}</td>
221
+ <td style="text-align:center">{{row.f_gasproperties}}</td>
222
+ <td style="text-align:center">{{row.f_user_phone}}</td>
223
+ <td style="text-align:center">{{row.f_balance_amount}}</td>
224
+ <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
225
+ <td style="text-align:center"><nobr>{{row.f_startuse_date}}</nobr></td>
226
+ <td style="text-align:center">
227
+ <nobr>{{row.initinsertdate}}</nobr>
228
+ </td> <td style="text-align:center">
229
+ <nobr>{{row.lastinsertdate}}</nobr>
230
+ </td>
231
+ <td style="text-align:center">{{row.f_meter_base}}</td>
232
+
233
+ <td style="text-align:center">
234
+ <nobr>{{row.slday}}</nobr>
235
+ </td>
236
+ <td style="text-align:center">{{row.f_meter_brand}}</td>
237
+ <td style="text-align:center">
238
+ <nobr>{{row.f_meter_style}}</nobr>
239
+ </td>
240
+ <td style="text-align:center">
241
+ <nobr>{{row.f_user_state}}</nobr>
242
+ </td>
243
+ <td style="text-align:center">
244
+ <nobr>{{row.f_orgname}}</nobr>
245
+ </td>
246
+ </template>
247
+ </data-grid>
248
+ </criteria-paged>
249
+ </div>
250
+ <modal :show.sync="shieldingShow" backdrop="false">
251
+ <header slot="modal-header" class="modal-header text-center">
252
+ <h4 class="modal-title">用户拉黑</h4>
253
+ </header>
254
+ <article slot="modal-body">
255
+ <validator name='v'>
256
+ <form novalidate class="form-horizontal select-overspread ">
257
+ <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
258
+ <div class="col-sm-4 form-group" id="f_type" :class="[$v.black.required ? 'has-error' : 'has-success']">
259
+ <label for="f_type" style="margin-left: -13px;" class="font_normal_body" title="参数:黑名单类型">黑名单类型</label>
260
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.black.selectedItems"
261
+ v-validate:black='{required: true }'>
262
+ <v-select :value.sync="shieldingmodel.f_type" v-model="shieldingmodel.f_type" width="53%"
263
+ :options='types' placeholder='黑名单类型' title="参数:黑名单类型"
264
+ :search="false" :value-single="true" close-on-select v-ref:black></v-select>
265
+ </div>
266
+ </div>
267
+
268
+ <div class="auto col-sm-11 col-md-offset-1" style="margin-top: 10px;">
269
+ <div class="col-sm-12 form-group" id="f_comments" :class="[$v.f_comments.required ? 'has-error' : 'has-success']">
270
+ <label for="f_comments" class=" font_normal_body"><nobr>原&emsp;&emsp;因</nobr></label>
271
+ <input class="input_search" type="text" class="input_search" style="width:87%" v-model="shieldingmodel.f_comments"
272
+ placeholder="原因" v-validate:f_comments='{required: true }' >
273
+ </div>
274
+ </div>
275
+ </form>
276
+ </validator>
277
+ </article>
278
+ <footer slot="modal-footer" class="modal-footer">
279
+ <button type="button" class="btn btn-default" @click='cancelShielding()'>取消</button>
280
+ <button type="button" class="btn btn-success" @click='confirmShielding()' :disabled='!$v.valid'>确认</button>
281
+ </footer>
282
+ </modal>
283
+ </div>
284
+ <div class="flex-row" style="width:99%;height:98%;margin-bottom:0px" v-if="showdetail">
285
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
286
+ </div>
287
+ </template>
288
+
289
+ <script>
290
+ import {PagedList} from 'vue-client'
291
+ import UserGasEcharts from './UserGasEcharts'
292
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
293
+ import {HttpResetClass} from 'vue-client'
294
+ let readySomething = async function (self) {
295
+
296
+ await self.$MagLoadParams.loadParam()
297
+ self.initParams()
298
+ self.$refs.paged.$refs.cri.model.notappear='不包含'
299
+ self.$refs.paged.$refs.cri.model.SLday1=10
300
+ self.$refs.paged.$refs.cri.model.f_user_state='正常'
301
+ self.$refs.paged.$refs.cri.search()
302
+ self.$refs.paged.$refs.grid.selectInit()
303
+ }
304
+ export default {
305
+ title: '失联分析',
306
+ props: ['data'],
307
+ components: {UserGasEcharts},
308
+
309
+ data() {
310
+ return {
311
+ model: new PagedList('rs/sql/webmeter_getUserLoseQuery', 20),
312
+ getfield:{
313
+ "f_userinfo_code":"客户编号","f_user_name":"客户名称",
314
+ "f_address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质",
315
+ "f_meternumber":"表号",
316
+ "f_user_phone":"联系电话",
317
+ "f_balance_amount":"系统余额",
318
+
319
+ "f_startuse_date":"启用日期",
320
+ "initinsertdate":"初次上报日期",
321
+ "lastinsertdate":"最后上报日期",
322
+ "f_meter_base":"最后表读数",
323
+ "slday":"失联天数",
324
+ "f_meter_brand":"气表厂家","f_orgname":"组织机构"},
325
+ reportStr: null,
326
+ show: false,
327
+ showdetail:false,
328
+ rowdata:{},
329
+ criteriaShow:false,
330
+ shieldingShow: false,
331
+ types: this.$appdata.getParam('黑名单类型'),
332
+ outlets: [],
333
+ operator: [],
334
+ shieldingmodel: {
335
+ f_type: '',
336
+ f_comments: ''
337
+ },
338
+ filename: '',
339
+ WarningType: [
340
+ {label: '全部', value: ''}
341
+ ],
342
+ Warningstyles: [
343
+ {label: '全部', value: ''}
344
+ ],
345
+ styles:false,
346
+ org:[this.$login.f.orgid],
347
+ orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`,
348
+ echarts: false,
349
+ searchshow: false,
350
+ isActiveTotalForm: false,
351
+ condition: '1=1',
352
+ groupname: ['max_days_type'],
353
+ getgroupname: [
354
+ {label: '客户类型', value: 'f_user_type'},
355
+ {label: '用气性质', value: 'f_gasproperties'},
356
+ {label: '分公司', value: 'f_orgname'},
357
+ {label: '最长失联天数', value: 'max_days_type'},
358
+ ]
359
+ }
360
+ },
361
+ ready() {
362
+ readySomething(this)
363
+ this.getMeterTypeAndBrand('f_meter_brand', '1=1')
364
+ },
365
+
366
+ methods: {
367
+ getMeterType() {
368
+ this.Warningstyle = [{label: '全部', value: ''}]
369
+ this.styles = false
370
+ let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
371
+ this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
372
+ },
373
+ getMeterTypeAndBrand(groupname, condition) {
374
+ condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
375
+ let self = this
376
+ let load = new HttpResetClass()
377
+ load.load('POST', 'rs/sql/getMeterStyleAndBrand1', {
378
+ data: {
379
+ condition: condition,
380
+ groupname: groupname
381
+ }
382
+ }, {warnMsg: null, resolveMsg: null}).then((res) => {
383
+ for (let i = 0; i < res.data.length; i++) {
384
+ if (groupname == 'f_meter_brand') {
385
+ let dr = {}
386
+ dr.label = res.data[i].f_meter_brand
387
+ dr.value = res.data[i].f_meter_brand
388
+ //气表品牌
389
+ self.WarningType.push(dr)
390
+ } else if (groupname == 'f_meter_style') {
391
+ self.Warningstyle= [
392
+ {label: '全部', value: ''}
393
+ ],
394
+ self.$refs.paged.$refs.cri.model.f_meter_style=''
395
+ let dr = {}
396
+ dr.label = res.data[i].f_meter_style
397
+ dr.value = res.data[i].f_meter_style
398
+ //气表类型
399
+ self.Warningstyle.push(dr)
400
+ }
401
+ }
402
+ if (self.Warningstyle.length > 1) {
403
+ self.showMeterStyle()
404
+ }
405
+ })
406
+
407
+ },
408
+ showMeterStyle() {
409
+ this.styles = true
410
+ },
411
+ hidden(){
412
+ this.criteriaShow = !this.criteriaShow
413
+ },
414
+ showmsg(obj){
415
+ this.rowdata=obj
416
+ this.showdetail=true
417
+ },
418
+ cancel() {
419
+ this.showdetail = false
420
+ },
421
+ clickshow() {
422
+ this.searchshow = !this.searchshow
423
+ },
424
+ search(args) {
425
+ this.condition = this.$refs.paged.$refs.cri.condition + `${this.orgCondtionStr}`
426
+ args.condition = this.condition
427
+ if(this.$refs.paged.$refs.cri.model.notappear) {
428
+ if (this.$refs.paged.$refs.cri.model.notappear === '不包含') {
429
+ args.condition = args.condition + " and initinsertdate <> '开户未上报'"
430
+ }
431
+ }
432
+ this.model.search(args.condition, args.model)
433
+ },
434
+ getorg(obj) {
435
+ if (obj.resids.length>0) {
436
+ this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(obj.resids)
437
+ }else
438
+ {
439
+ this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid
440
+ }
441
+ },
442
+ clearmsg() {
443
+ this.$refs.paged.$refs.cri.model = {}
444
+ },
445
+ shielding() {
446
+ if(!(this.$refs.paged.$refs.grid.getRowData().length > 0)) {
447
+ this.$showAlert('请至少选择一项', 'warning', 1500)
448
+ return
449
+ }
450
+ this.shieldingShow = true
451
+ },
452
+ cancelShielding() {
453
+ this.shieldingShow = false
454
+ this.$refs.paged.$refs.grid.selectInit()
455
+ },
456
+ async confirmShielding() {
457
+ let data = {
458
+ rows: this.$refs.paged.$refs.grid.getRowData(),
459
+ f_operat_type: '拉黑',
460
+ f_operator: this.$login.f.name,
461
+ f_operatorid: this.$login.f.id,
462
+ f_orgid: this.$login.f.orgid,
463
+ f_orgname: this.$login.f.orgs,
464
+ f_depid: this.$login.f.depids,
465
+ f_depname: this.$login.f.deps,
466
+ f_operate_date: this.$login.toStandardTimeString(),
467
+ f_userinfo_id: {
468
+ f_userinfo_id: this.model.f_userinfo_id,
469
+ f_user_state: '正常',
470
+ version: this.model.version
471
+ },
472
+ shieldingmodel: this.shieldingmodel
473
+ }
474
+ console.log(data)
475
+ await this.$resetpost('rs/logic/batchShielding',data, {resolveMsg: '拉黑成功', rejectMsg: '拉黑失败'})
476
+ this.cancelShielding()
477
+ },
478
+ close() {
479
+ this.show = false
480
+ },
481
+ initParams () {
482
+ let arr = []
483
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
484
+ let temp = {}
485
+ if(item.value.f_meter_type==='物联网表'){
486
+ temp.label = item.label
487
+ temp.value = item.value.f_meter_brand
488
+ arr.push(temp )
489
+ }
490
+
491
+ })
492
+ this.meterbrands = [{label: '全部', value: ''}, ...arr]
493
+ },
494
+ // 显示柱状图
495
+ showEcharts() {
496
+ this.echarts = true
497
+ this.isActiveTotalForm = false
498
+ },
499
+ notShowTotalForm() {
500
+ this.echarts = false
501
+ this.isActiveTotalForm = false
502
+ },
503
+ // 不显示柱状图
504
+ notShowEcharts() {
505
+ this.echarts = false
506
+ this.isActiveTotalForm = false
507
+ },
508
+ // 显示汇总数据表格
509
+ showTotalForm() {
510
+ this.echarts = false
511
+ this.isActiveTotalForm = true
512
+ }
513
+ },
514
+ watch: {
515
+ 'data'(val) {
516
+ if (val.f_files_path) {
517
+ this.getFileContent(val.f_files_path)
518
+ } else {
519
+ this.reportStr = null
520
+ }
521
+ }
522
+ },
523
+ computed: {
524
+ // usertypes () {
525
+ // return this.$appdate.getParams("客户类型")
526
+ // },
527
+ getCondition() {
528
+ let condition=this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
529
+ if(this.$refs.paged.$refs.cri.model.notappear) {
530
+ if (this.$refs.paged.$refs.cri.model.notappear === '不包含') {
531
+ condition = condition + " and initinsertdate <> '开户未上报'"
532
+ }
533
+ }
534
+ return {
535
+
536
+ condition: condition
537
+ }
538
+ },
539
+ usertypes() {
540
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
541
+ },
542
+ Gasproperties() {
543
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
544
+ },
545
+ f_outlets() {
546
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
547
+ },
548
+ valveStatus() {
549
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
550
+ },
551
+ not_appear(){
552
+ return [{label: '包含', value: '包含'},{label: '不包含', value: '不包含'} ]
553
+ },
554
+ getstate() {
555
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('最新状态')]
556
+ },
557
+ userstate() {
558
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
559
+ }
560
+ }
561
+ }
562
+ </script>
563
+ <style>
564
+ .form-input-group label {
565
+ text-align: right;
566
+ width: auto;
567
+ }
568
+
569
+ .mystyle {
570
+ float: right;
571
+ padding-right: 10%;
572
+ }
573
+
574
+ .mystyle1 {
575
+ padding-top: 10px;
576
+
577
+ }
578
+
579
+ .mystyle2 {
580
+ width: 100%;
581
+ height: 35px;
582
+ /*background: #00A3F0;*/
583
+ padding-left: 15px;
584
+ float: left;
585
+ }
586
+
587
+ .datapanel {
588
+ color: #333;
589
+ background-color: white;
590
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
591
+ padding: 10px 30px 10px 30px;
592
+ border-radius: 15px;
593
+ }
594
+ </style>