manage-client 3.2.18 → 3.2.22

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.
@@ -4,7 +4,7 @@
4
4
  <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
6
  <div class="row">
7
- <div class="col-sm-4" >
7
+ <div class="col-sm-2 form-group" >
8
8
  <label class="font_normal_body" for="startDate">开始日期:</label>
9
9
  <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
10
10
  v-model="model.startDate"
@@ -14,7 +14,7 @@
14
14
  :show-reset-button="reset">
15
15
  </datepicker>
16
16
  </div>
17
- <div class="col-sm-4" >
17
+ <div class="col-sm-2 form-group" >
18
18
  <label class="font_normal_body" for="endDate">结束日期:</label>
19
19
  <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
20
20
  v-model="model.endDate"
@@ -24,11 +24,11 @@
24
24
  :show-reset-button="reset">
25
25
  </datepicker>
26
26
  </div>
27
- <div class="col-sm-4 form-group" >
27
+ <div class="col-sm-2 form-group" >
28
28
  <label class="font_normal_body" for="org">公&emsp;&emsp;司:</label>
29
29
  <right-tree id="org" @re-res="$parent.$parent.getRes" style="width: 60%"></right-tree>
30
30
  </div>
31
- <div class="col-sm-4 form-group">
31
+ <div class="col-sm-2 form-group">
32
32
  <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
33
33
  <res-select id="dep" restype='department' style="width: 60%"
34
34
  is-mul="false"
@@ -36,9 +36,8 @@
36
36
  :parentresid="$parent.$parent.depresid"
37
37
  :initresid='$parent.$parent.depid' >
38
38
  </res-select>
39
-
40
39
  </div>
41
- <div class="col-sm-4 form-group">
40
+ <div class="col-sm-2 form-group">
42
41
  <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
43
42
  <res-select id="oper" restype='user' style="width: 60%"
44
43
  is-mul="false"
@@ -52,6 +51,25 @@
52
51
  <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
53
52
  <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
54
53
  <report-excel id='gasprice'></report-excel>
54
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
55
+ 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></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">气表类型</label>
60
+ <v-select :value.sync="model.f_meter_type" multiple
61
+ :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
62
+ condition="f_meter_classify in {}"
63
+ close-on-select></v-select>
64
+ </div>
65
+ <div class="col-sm-2 form-group">
66
+ <label class="font_normal_body">气表品牌</label>
67
+ <v-select :value.sync="model.f_meter_brand"
68
+ v-model="model.f_meter_brand"
69
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
70
+ condition="f_meter_brand = '{}'"
71
+ close-on-select></v-select>
72
+ </div>
55
73
  </div>
56
74
  </div>
57
75
  </criteria>
@@ -98,7 +116,7 @@
98
116
  </template>
99
117
 
100
118
  <script>
101
- import { DataModel } from 'vue-client'
119
+ import {DataModel, HttpResetClass} from 'vue-client'
102
120
  import co from 'co'
103
121
  export default {
104
122
  title: '用户购(用)气量统计',
@@ -112,6 +130,7 @@
112
130
  f_depid: this.$login.f.depids,
113
131
  f_operatorid: this.$login.f.id,
114
132
  operatorid: [],
133
+ criteriaShow: false,
115
134
  depid: [],
116
135
  tablen: 0,
117
136
  orgname: '',
@@ -122,20 +141,45 @@
122
141
  f_orgid: 'this.model.f_orgid'}),
123
142
  reportStr: null,
124
143
  show: false,
144
+ meterbrands: []
125
145
  }
126
146
  },
127
147
  ready () {
128
148
  this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
129
149
  this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
150
+ this.initParams()
130
151
  console.log(this.$login.f)
131
152
  },
132
153
  methods: {
154
+ async initParams (condition) {
155
+ // 初始化气表品牌
156
+ let HttpReset = new HttpResetClass()
157
+ let yy=this.$refs.paged.$refs.criteria.model.f_meter_type
158
+ var data = await HttpReset.load('POST', 'rs/sql/singleTable_Final', {
159
+ data: {
160
+ condition: '1=1 and f_orgid in(' + this.f_orgid + ')' + (condition==null ? '' : condition),
161
+ tablename: 't_gasbrand',
162
+ groupitem: 'f_meter_brand',
163
+ orderitem: 'f_meter_brand',
164
+ items: 'f_meter_brand'
165
+ }
166
+ }, {resolveMsg: null, rejectMsg: '获取气表品牌失败!'})
167
+ console.log('气表品牌-->',data)
168
+ let brandArr = [{label: '全部', value: ''}]
169
+ for (let row of data.data){
170
+ brandArr.push({label: row.f_meter_brand, value: row.f_meter_brand})
171
+ }
172
+ this.meterbrands = brandArr
173
+ },
133
174
  searchData () {
134
175
  this.$refs.paged.$refs.criteria.search()
135
176
  },
136
177
  selfSearch (args) {
137
178
  this.printTime = this.$login.toStandardTimeString()
138
- let orgcondition = ' f_orgid in (' + this.f_orgid + ')'
179
+ let orgcondition = '1=1'
180
+ if(this.f_orgid && this.f_orgid[0]) {
181
+ orgcondition += ' and f_orgid in (' + this.f_orgid + ')'
182
+ }
139
183
  if (this.f_depid[0]) {
140
184
  orgcondition += ' and f_depid in (' + this.f_depid + ')'
141
185
  }
@@ -145,11 +189,15 @@
145
189
  this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
146
190
  this.$refs.paged.search(args)
147
191
  },
192
+ hidden() {
193
+ this.criteriaShow = !this.criteriaShow
194
+ },
148
195
  getRes (obj) {
149
196
  this.orgname = obj.res[0]
150
197
  this.depresid = obj.resids
151
198
  this.userresid = obj.resids
152
199
  this.f_orgid = obj.resids
200
+ this.initParams()
153
201
  },
154
202
  getdep (obj, val) {
155
203
  this.depname = val[0]
@@ -167,6 +215,9 @@
167
215
  }
168
216
  },
169
217
  computed: {
218
+ metertypes() {
219
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
220
+ }
170
221
  }
171
222
  }
172
223
  </script>
@@ -0,0 +1,374 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search" v-if="!show">
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="info.f_userinfo_code = '{}'"
14
+ placeholder='客户编号' type="text"
15
+ v-el:meternumber v-model="model.f_userinfo_code" v-next-el='f_userinfo_code'
16
+ >
17
+ </div>
18
+ <div class="col-sm-2 form-group">
19
+ <label class="font_normal_body">客户名称</label>
20
+ <input style="width:60%" class="input_search" condition="info.f_user_name like '%{}%'"
21
+ placeholder='客户名称' type="text"
22
+ v-el:username v-model="model.f_username" v-next-el='userid'>
23
+ </div>
24
+ <div class="col-sm-2 form-group">
25
+ <label class="font_normal_body">客户地址</label>
26
+ <input style="width:60%" class="input_search" condition="a.f_address like '%{}%'" placeholder='地址'
27
+ type="text"
28
+ v-el:area v-el:xq v-model="model.f_address" v-next-el='address'
29
+ >
30
+ </div>
31
+ <div class="col-sm-2 form-group">
32
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
33
+ <input style="width:60%" class="input_search" condition="uf.f_meternumber = '{}'"
34
+ placeholder='表钢号' type="text"
35
+ v-el:meternumber v-model="model.f_meternumber" v-next-el='meternumber'
36
+ >
37
+ </div>
38
+ <div class="span" style="float:right;">
39
+ <button @click="search()" class="button_search button_spacing">查询</button>
40
+ <button @click="$parent.$parent.clearmsg" class="button_clear button_spacing">清空</button>
41
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
42
+ :field="$parent.$parent.getfield"
43
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_PriceInstructDetail"
44
+ template-name='调价分析'
45
+ :choose-col="true"></export-excel>
46
+ <!-- <button @click="$parent.$parent.showEcharts()" class="button_export button_spacing">显示图表</button>-->
47
+ <div style="float: right" class="button_spacing"
48
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
49
+ @click="$parent.$parent.hidden()"></div>
50
+ </div>
51
+ </div>
52
+ <div class="row" v-show="$parent.$parent.criteriaShow">
53
+
54
+ <div class="col-sm-2 form-group">
55
+ <!-- <label class="font_normal_body">组织机构</label>-->
56
+ <!-- <res-select :initresid="$parent.$parent.orgid"-->
57
+ <!-- @res-select="$parent.$parent.getRes"-->
58
+ <!-- restype='organization'style="width: 60%">-->
59
+ <!-- </res-select>-->
60
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
61
+ <right-tree @re-res="$parent.$parent.getRes"
62
+ :initresid='$parent.$parent.orgid'></right-tree>
63
+ </div>
64
+ <div class="col-sm-2 form-group">
65
+ <label class="font_normal_body">用户类型</label>
66
+ <v-select :options='$parent.$parent.usertypes'
67
+ :value.sync="model.f_user_type"
68
+ close-on-select
69
+ style="width:60%"
70
+ condition="uf.f_user_type = '{}'"
71
+ @change="$parent.$parent.userTypeChange()"
72
+ id="f_user_type"
73
+ placeholder='用户类型'
74
+ v-model="model.f_user_type">
75
+ </v-select>
76
+ </div>
77
+ <div class="col-sm-2 form-group">
78
+ <label class="font_normal_body">用气性质</label>
79
+ <v-select :options='$parent.$parent.gasproperties'
80
+ :value.sync="model.f_gasproperties"
81
+ close-on-select
82
+ style="width:60%"
83
+ condition="uf.f_gasproperties = '{}'"
84
+ id="f_gasproperties"
85
+ placeholder='用气性质'
86
+ v-model="model.f_gasproperties">
87
+ </v-select>
88
+ </div>
89
+ <div class="col-sm-2 form-group">
90
+ <label class="font_normal_body" style="word-break:keep-all;">调价时间</label>
91
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
92
+ :value.sync="model.startDate"
93
+ style="width:60%"
94
+ placeholder="起始时间"
95
+ v-model="model.startDate"
96
+ ></datepicker>
97
+ </div>
98
+ <div class="col-sm-2 form-group">
99
+ <label class="font_normal_body" style="word-break:keep-all;">&emsp;&ensp;至&emsp;</label>
100
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
101
+ :value.sync="model.endDate"
102
+ placeholder="结束时间"
103
+ style="width:60%"
104
+ v-model="model.endDate"
105
+ ></datepicker>
106
+ </div>
107
+ <div class="col-sm-2 form-group">
108
+ <label class="font_normal_body" style="word-break:keep-all;">指令状态</label>
109
+ <v-select :options='$parent.$parent.instruct_states'
110
+ :value.sync="model.instruct_state"
111
+ close-on-select
112
+ style="width:60%"
113
+ condition="{}"
114
+ placeholder='指令状态'
115
+ v-model="model.instruct_state">
116
+ </v-select>
117
+ </div>
118
+
119
+ </div>
120
+ </div>
121
+ </criteria>
122
+ <data-grid :model="model" id="reportgas" partial='list' class="list_area table_sy" v-ref:grid>
123
+ <template partial='head'>
124
+ <tr>
125
+ <th style="text-align:center">
126
+ <nobr>用户编号</nobr>
127
+ </th>
128
+ <th style="text-align:center">
129
+ <nobr>表号</nobr>
130
+ </th>
131
+ <th style="text-align:center">
132
+ <nobr>气表品牌</nobr>
133
+ </th>
134
+ <th style="text-align:center">
135
+ <nobr>气表型号</nobr>
136
+ </th>
137
+ <th style="text-align:center">
138
+ <nobr>表具状态</nobr>
139
+ </th>
140
+ <th style="text-align:center">
141
+ <nobr>用气性质</nobr>
142
+ </th>
143
+ <th style="text-align:center">
144
+ <nobr>气价名称</nobr>
145
+ </th>
146
+ <th style="text-align:center">
147
+ <nobr>用户姓名</nobr>
148
+ </th>
149
+ <th style="text-align:center">
150
+ <nobr>用户地址</nobr>
151
+ </th>
152
+ <th style="text-align:center">
153
+ <nobr>用户小区</nobr>
154
+ </th>
155
+ <th style="text-align:center">
156
+ <nobr>联系方式</nobr>
157
+ </th>
158
+ <th style="text-align:center">
159
+ <nobr>指令状态</nobr>
160
+ </th>
161
+ </tr>
162
+ </template>
163
+ <template partial='body' partial='list' v-ref:grid>
164
+ <tr>
165
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
166
+ <nobr>
167
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a
168
+ style="cursor:pointer;">{{ row.f_userinfo_code }}</a></span>
169
+ </nobr>
170
+ </td>
171
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
172
+ <nobr>{{ row.f_meternumber }}</nobr>
173
+ </td>
174
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
175
+ <nobr>{{ row.f_meter_brand }}</nobr>
176
+ </td>
177
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
178
+ <nobr>{{ row.f_meter_style }}</nobr>
179
+ </td>
180
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
181
+ <nobr>{{ row.f_table_state }}</nobr>
182
+ </td>
183
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
184
+ <nobr>{{ row.f_gasproperties }}</nobr>
185
+ </td>
186
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
187
+ <nobr>{{ row.f_price_name }}</nobr>
188
+ </td>
189
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
190
+ <nobr>{{ row.f_user_name }}</nobr>
191
+ </td>
192
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
193
+ <nobr>{{ row.f_address }}</nobr>
194
+ </td>
195
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
196
+ <nobr>{{ row.f_residential_area }}</nobr>
197
+ </td>
198
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
199
+ <nobr>{{ row.f_user_phone }}</nobr>
200
+ </td>
201
+ <td :class="row.f_user_state !== '正常'? 'back-red' : 'back-blue'" style="text-align: center;">
202
+ <nobr>{{ row.f_instruct_state }}</nobr>
203
+ </td>
204
+ </tr>
205
+ </template>
206
+ <template partial='foot'></template>
207
+ </data-grid>
208
+ </criteria-paged>
209
+ </div>
210
+ </div>
211
+ </div>
212
+ <div class="basic-main" style="width:99%;height:98%;margin-bottom:0px" v-if="show">
213
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id"
214
+ @cancel-main="cancel"></user-info-detail-manage-new>
215
+ </div>
216
+ </div>
217
+ </template>
218
+ <script>
219
+ import {PagedList} from 'vue-client'
220
+ import * as Util from '../../../Util'
221
+ import plugins from '../../../plugins/GetLoginInfoService'
222
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
223
+
224
+ export default {
225
+ title: '调价分析',
226
+ data() {
227
+ return {
228
+ model: new PagedList('rs/sql/webmeter_PriceInstructDetail', 100, {
229
+ startDate: 'this.model.startDate',
230
+ endDate: 'this.model.endDate'
231
+ }),
232
+ condition: '1=1',
233
+ startDate: '',
234
+ gasproperties: [{label: '全部', value: ''}],
235
+ instruct_states: [
236
+ {label: '全部', value: ''},
237
+ {label: '已发送', value: ` ins.f_instruct_state = '已发送' `},
238
+ {label: '执行成功', value: ` ins.f_instruct_state = '执行成功' `},
239
+ {label: '执行失败', value: ` ins.f_instruct_state = '执行失败' `},
240
+ {label: '忽略冗余', value: ` ins.f_instruct_state = '忽略冗余' `},
241
+ {label: '指令生成失败', value: ` ins.f_instruct_state is null `}
242
+ ],
243
+ endDate: '',
244
+ getfield: {
245
+ "f_userinfo_code": "用户编号",
246
+ "f_meternumber": "表号",
247
+ "f_meter_brand": "气表品牌",
248
+ "f_meter_style": "气表型号",
249
+ "f_table_state": "气表状态",
250
+ "f_gasproperties": "用气性质",
251
+ "f_price_name": "气价名称",
252
+ "f_user_name": "用户名称",
253
+ "f_address": "用户地址",
254
+ "f_residential_area": "用户小区",
255
+ "f_user_phone": "联系方式",
256
+ "f_instruct_state": "指令状态"
257
+ },
258
+ criteriaShow: false,
259
+ echarts: false,
260
+ show: false,
261
+ condition_bl: false,
262
+ rowdata: {},
263
+ searchshow: false,
264
+ orgCondtionStr: '(' + this.$login.f.orgid + ')',
265
+ orgid: [this.$login.f.orgid]
266
+ }
267
+ },
268
+ ready() {
269
+ this.$refs.paged.$refs.cri.model.startDate = Util.addDate(new Date(), -6).substring(0, 10) + ' 00:00:00'
270
+ this.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
271
+ this.getdata()
272
+ },
273
+ methods: {
274
+ userTypeChange() {
275
+ this.gasproperties = [{label: '全部', value: ''}]
276
+ if (this.$refs.paged.$refs.cri.model !== null) {
277
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
278
+
279
+ console.log(this.$refs.paged.$refs.cri.model.f_user_type[0])
280
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
281
+ } else {
282
+ this.gasproperties = [{label: '全部', value: ''}]
283
+ }
284
+ },
285
+ search1() {
286
+ this.$refs.paged.$refs.cri.search()
287
+ },
288
+ // 查询开关
289
+ hidden() {
290
+ this.criteriaShow = !this.criteriaShow
291
+ },
292
+ getdata() {
293
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
294
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
295
+ if (this.orgCondtionStr)
296
+ this.condition = this.$refs.paged.$refs.cri.condition + 'and uf.f_orgid in ' + this.orgCondtionStr
297
+ this.$refs.paged.$refs.cri.search()
298
+ },
299
+ // 显示柱状图
300
+ showEcharts() {
301
+ this.echarts = !this.echarts
302
+ },
303
+ close() {
304
+ this.show = false
305
+ },
306
+ clearmsg() {
307
+ this.$refs.paged.$refs.cri.model = {}
308
+ },
309
+ wai_search(obj) {
310
+ console.log(obj)
311
+ this.$refs.paged.$refs.cri.model.startDate = obj.startDate
312
+ this.$refs.paged.$refs.cri.model.endDate = obj.endDate
313
+ this.condition = obj.condition
314
+ this.condition_bl = true
315
+ this.$refs.paged.$refs.cri.search()
316
+ },
317
+ async search(args) {
318
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
319
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
320
+ if (this.endDate == '' || this.startDate == '') {
321
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
322
+ }
323
+ if (this.condition_bl) {
324
+ args.condition = this.condition
325
+ } else {
326
+ if (this.orgCondtionStr)
327
+ args.condition = `${args.condition}` + 'and uf.f_orgid in ' + this.orgCondtionStr
328
+ this.condition = args.condition
329
+ }
330
+ await this.model.search(args.condition, args.model)
331
+ this.condition_bl = false
332
+ },
333
+ getRes(obj) {
334
+ this.orgCondtionStr = plugins.convertToIn(obj.resids) ? plugin.convertToIn(obj.resids) : '(' + this.$login.f.orgid + ')'
335
+ },
336
+ cancel(obj) {
337
+ this.show = false
338
+ },
339
+ showmsg(obj) {
340
+ this.rowdata = obj
341
+ this.show = true
342
+ }
343
+ },
344
+ computed: {
345
+ getCondition() {
346
+ var con = `${this.condition} and uf.f_orgid in ${this.orgCondtionStr}`
347
+ return {
348
+ condition: con,
349
+ startDate: `${this.$refs.paged.$refs.cri.model.startDate}`,
350
+ endDate: `${this.$refs.paged.$refs.cri.model.endDate}`
351
+ }
352
+ },
353
+ usertypes() {
354
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
355
+ },
356
+ Getuserstyle() {
357
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气类型')]
358
+ }
359
+ }
360
+ }
361
+ </script>
362
+ <style>
363
+ .mystyle {
364
+ margin-left: 80px;
365
+ }
366
+
367
+ .datapanel {
368
+ color: #333;
369
+ background-color: white;
370
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
371
+ padding: 10px 10px 10px 10px;
372
+ border-radius: 15px;
373
+ }
374
+ </style>