system-clients 3.1.94-aode → 3.1.96

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 (77) hide show
  1. package/.eslintrc.js +16 -16
  2. package/.gradle/{5.5 → 5.2.1}/gc.properties +0 -0
  3. package/{dist/static/.gitkeep → .gradle/buildOutputCleanup/built.bin} +0 -0
  4. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  5. package/.gradle/buildOutputCleanup/cache.properties.lock +1 -0
  6. package/SystemClient.iml +1 -1
  7. package/build/webpack.base.conf.js +17 -14
  8. package/package.json +4 -4
  9. package/src/components/Main.vue +622 -508
  10. package/src/components/TabButton.vue +201 -0
  11. package/src/components/Tabs.vue +67 -0
  12. package/src/components/equipment/EquipmentManage.vue +65 -65
  13. package/src/components/equipment/PcAdd.vue +5 -5
  14. package/src/components/equipment/PcList.vue +5 -5
  15. package/src/components/equipment/PhoneAdd.vue +4 -4
  16. package/src/components/equipment/PhoneList.vue +4 -4
  17. package/src/components/equipment/PosAdd.vue +323 -137
  18. package/src/components/equipment/PosList.vue +294 -164
  19. package/src/components/equipment/PosManage.vue +138 -67
  20. package/src/components/equipment/PosManageBoth.vue +125 -0
  21. package/src/components/equipment/PosParamAdd.vue +236 -0
  22. package/src/components/equipment/PosParamList.vue +121 -0
  23. package/src/components/equipment/PosParamManage.vue +51 -0
  24. package/src/components/parammanage/ParamManage.vue +2 -2
  25. package/src/components/parammanage/ParamPage.vue +7 -7
  26. package/src/components/parammanage/SinglePage.vue +4 -4
  27. package/src/components/server/ImageVieweTest.vue +56 -0
  28. package/src/components/server/ImageViewer.vue +350 -0
  29. package/src/components/server/Login.vue +70 -47
  30. package/src/components/server/PcdBuildingSelect.vue +241 -0
  31. package/src/components/server/ResSelect.vue +5 -0
  32. package/src/components/server/ResSelectGroup.vue +155 -118
  33. package/src/components/server/RightTree.vue +262 -257
  34. package/src/plugins/GetLoginInfoService.js +514 -514
  35. package/src/styles/less/aofeng/standard.less +446 -60
  36. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +13 -13
  37. package/src/styles/less/aofeng/themeOne/systemStyle.less +18 -18
  38. package/src/styles/less/manageStyle/manageStyle/manageChile.less +180 -0
  39. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +1102 -0
  40. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +498 -0
  41. package/src/styles/less/tables.less +50 -0
  42. package/src/styles/less/type.less +16 -3
  43. package/src/styles/less/variables.less +6 -3
  44. package/src/system.js +93 -83
  45. package/static/{ewmlogo.png → logo.png} +0 -0
  46. package/static/newStyle/about-us.png +0 -0
  47. package/yarn-error.log +6896 -0
  48. package/.gradle/5.5/fileChanges/last-build.bin +0 -0
  49. package/.gradle/5.5/fileHashes/fileHashes.lock +0 -0
  50. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  51. package/.npmignore +0 -10
  52. package/build/.npmignore +0 -1
  53. package/dist/static/batchleft.png +0 -0
  54. package/dist/static/batchright.png +0 -0
  55. package/dist/static/bluemainbg.jpg +0 -0
  56. package/dist/static/huangtengbiaozhi.png +0 -0
  57. package/dist/static/login_bg.jpg +0 -0
  58. package/dist/static/login_title.png +0 -0
  59. package/dist/static/login_title1.png +0 -0
  60. package/dist/static/loginbg.jpg +0 -0
  61. package/dist/static/loginlogo.png +0 -0
  62. package/dist/static/main_logo.png +0 -0
  63. package/dist/static/mainbg.jpg +0 -0
  64. package/dist/static/menulogo.png +0 -0
  65. package/dist/static/newmainbg.jpg +0 -0
  66. package/dist/static/psicon.png +0 -0
  67. package/dist/static/singleleft.png +0 -0
  68. package/dist/static/singleright.png +0 -0
  69. package/dist/static/treeopen.png +0 -0
  70. package/dist/static/treeout.png +0 -0
  71. package/dist/static/treeset.png +0 -0
  72. package/dist/static/usericon.png +0 -0
  73. package/dist/static/xinxi.png +0 -0
  74. package/package-lock.json +0 -10507
  75. package/src/.npmignore +0 -1
  76. package/static/aodelogo.png +0 -0
  77. package/static/aodenewlogo.png +0 -0
@@ -1,67 +1,138 @@
1
- <template>
2
- <div class="flex-row">
3
- <div :class="{'basic-main':!isChange,'binary-left':isChange}">
4
- <pos-list :row="row" @select-changed="selected" style="width:auto;" :f_filialeid.sync="f_filialeids" v-ref:list ></pos-list>
5
- </div>
6
- <div class="binary-right" style="margin-left: 10px; width: 50%;" v-if="isChange">
7
- <pos-add :data="row" :f_filialeids.sync="f_filialeids" v-ref:addbox></pos-add>
8
- </div>
9
- </div>
10
- </template>
11
- <script>
12
-
13
- import PosList from './PosList'
14
- import PosAdd from './PosAdd'
15
-
16
- export default {
17
- title: 'POS终端管理',
18
- components: {
19
- PosList, PosAdd
20
- },
21
- data () {
22
- return {
23
- isChange: false,
24
- row: null,
25
-
26
- f_filialeids: ''
27
- }
28
- },
29
- methods: {
30
- selected (obj) {
31
- this.isChange = true
32
- this.row = obj.val
33
- }
34
- },
35
- events: {
36
- 'search' () {
37
- this.isChange = false
38
- this.row = null
39
- this.$refs.list.$refs.paged.$refs.cri.search()
40
- },
41
- 'research' () {
42
- console.log('重新查询')
43
- this.isChange = false
44
- this.row = null
45
- },
46
- 'refresh' () {
47
- this.isChange = false
48
- this.row = null
49
- this.$refs.list.search()
50
- },
51
- 'error' (name, row, res) {
52
- this.isChange = false
53
- this.row = null
54
- },
55
- 'close' () {
56
- this.isChange = false
57
- this.row = null
58
- this.$refs.list.search()
59
- },
60
- 'add' () {
61
- this.row = null
62
- this.isChange = true
63
- this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
64
- }
65
- }
66
- }
67
- </script>
1
+ <template>
2
+ <div class="flex-row">
3
+ <div :class="{'basic-main':!isChange,'binary-left':isChange}">
4
+ <pos-list :row="row" @dblclick="selected" style="width:auto;" :f_filialeid.sync="f_filialeids" :isshowless="isChange" v-ref:list ></pos-list>
5
+ </div>
6
+ <div class="binary-right" style="margin-left: 10px; width: 40%;" v-if="isChange">
7
+ <pos-add :data="row" :info="infoadd" :f_filialeids.sync="f_filialeids" v-ref:addbox></pos-add>
8
+ </div>
9
+
10
+ <!-- <modal v-if="batchPos" :show.sync="batchPos" backdrop="false" >-->
11
+ <!-- <header slot="modal-header" class="modal-header">-->
12
+ <!-- <button type="button" class="close" @click="close"><span>&times;</span></button>-->
13
+ <!-- <h4 class="modal-title">批量操作</h4>-->
14
+ <!-- </header>-->
15
+ <!-- <article slot="modal-body" class="modal-body">-->
16
+ <!-- <form class="form-horizontal">-->
17
+ <!-- <div class="row">-->
18
+ <!-- <div>-->
19
+ <!-- <h4>注意事项</h4>-->
20
+ <!-- <p>1.如果需要对POS设备进行升级,批量选择的POS设备包含非正常状态,则只会对状态为正常的设备进行升级。</p>-->
21
+ <!-- <p>2.如果POS设备处于停用状态,则可以进行启用操作。如果设备处于启用状态,则可以进行停用和升级操作。</p>-->
22
+ <!-- <p>3.批量操作可能耗时较长,请刷新列表查看结果。</p>-->
23
+ <!-- </div>-->
24
+ <!-- </div>-->
25
+ <!-- </form>-->
26
+ <!-- </article>-->
27
+ <!-- <footer slot="modal-footer" class="modal-footer">-->
28
+ <!--&lt;!&ndash; <button type="button" class="button_search button_spacing" @click="batchRoot('2')">批量升级</button>&ndash;&gt;-->
29
+ <!-- <button type="button" class="button_search button_spacing" @click="batchRoot('1')">批量启用</button>-->
30
+ <!-- <button type="button" class="button_search button_spacing" @click="batchRoot('0')">批量停用</button>-->
31
+ <!-- <button type="button" class="button_clear button_spacing" @click='close'>退出</button>-->
32
+ <!-- </footer>-->
33
+ <!-- </modal>-->
34
+ </div>
35
+ </template>
36
+ <script>
37
+
38
+ import PosList from './PosList'
39
+ import PosAdd from './PosAdd'
40
+
41
+ export default {
42
+ title: 'POS终端管理',
43
+ components: {
44
+ PosList, PosAdd
45
+ },
46
+ data () {
47
+ return {
48
+ isChange: false,
49
+ row: null,
50
+ infoadd: true, // 判断是否显示 升级 等按钮(true/false)
51
+ batchPos: false,
52
+ f_filialeids: ''
53
+ }
54
+ },
55
+ methods: {
56
+ // 批量操作
57
+ // async batchRoot(val){
58
+ // let arrs = []
59
+ // let alertMessage=''
60
+ // let selPos = this.$refs.list.selPos
61
+ // if (val==='0'){
62
+ // alertMessage='停用'
63
+ // for (const tmp of selPos) {
64
+ // if (tmp.f_state==='正常') arrs.push(tmp)
65
+ // }
66
+ // } else if (val==='1'){
67
+ // alertMessage='启用'
68
+ // for (const tmp of selPos) {
69
+ // if (tmp.f_state==='停用') arrs.push(tmp)
70
+ // }
71
+ // } else if(val==='2'){
72
+ // alertMessage='升级'
73
+ // for (const tmp of selPos) {
74
+ // if (tmp.f_state==='正常') arrs.push(tmp)
75
+ // }
76
+ // } else {
77
+ // this.showAlert('出现异常,请重新进操作')
78
+ // return
79
+ // }
80
+ //
81
+ // await this.$resetpost('rs/logic/batchPos',{data: {tasks: arrs, taskState: val}}, {rejectMsg: null, resolveMsg: null})
82
+ //
83
+ // // 需要提示
84
+ // this.$showAlert(`已经开始批量${alertMessage},选择${selPos.length},其中${arrs.length}台可以正常${alertMessage},具体请留意设备情况,并刷新列表查看执行结果!`)
85
+ // this.isChange = false
86
+ // this.close()
87
+ // },
88
+ close(){
89
+ this.batchPos = false
90
+ },
91
+ selected(obj, idx) {
92
+ console.log(obj)
93
+ if (!(obj instanceof MouseEvent)) {
94
+ this.isChange = true
95
+ this.infoadd = true
96
+ this.row = obj
97
+ } else {
98
+ this.$showAlert('如需新增,请点击增加按钮!', 'info', 1000)
99
+ }
100
+ }
101
+ },
102
+ events: {
103
+ 'search' () {
104
+ this.infoadd=true
105
+ this.isChange = false
106
+ this.row = null
107
+ this.$refs.list.$refs.paged.$refs.cri.search()
108
+ },
109
+ 'research' () {
110
+ console.log('重新查询')
111
+ this.isChange = false
112
+ this.row = null
113
+ },
114
+ 'refresh' () {
115
+ this.isChange = false
116
+ this.row = null
117
+ this.$refs.list.search()
118
+ },
119
+ 'error' (name, row, res) {
120
+ this.isChange = false
121
+ this.row = null
122
+ },
123
+ 'close' () {
124
+ this.isChange = false
125
+ this.row = null
126
+
127
+ // this.$refs.list.search()
128
+ },
129
+ 'add' (val) {
130
+ this.f_filialeids = val
131
+ this.infoadd=false
132
+ this.row = null
133
+ this.isChange = true
134
+ this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
135
+ }
136
+ }
137
+ }
138
+ </script>
@@ -0,0 +1,125 @@
1
+ <template>
2
+ <div class="flex-row" v-if="$login.r.includes('POS参数管理')">
3
+ <tab-button :button="false" :class="{'basic-main':!isChange&&!isParamChange,'binary-left':isChange||isParamChange}">
4
+ <tabs header="设备管理">
5
+ <pos-list :row="row" @dblclick="selected" style="width:auto;" :f_filialeid.sync="f_filialeids"
6
+ :isshowless="isChange" v-ref:poslist></pos-list>
7
+ </tabs>
8
+ <tabs header="POS参数管理">
9
+ <pos-param-list @add="addParam" @close="closeParam" v-ref:listp></pos-param-list>
10
+ </tabs>
11
+ </tab-button>
12
+ <div class="binary-right" style="margin-left: 5px;overflow-x: scroll" v-if="isChange||isParamChange">
13
+ <pos-param-add :param_id="param_id" v-ref:addp v-if="isParamChange"></pos-param-add>
14
+ <pos-add :data="row" :info="infoadd" :f_filialeids.sync="f_filialeids" v-if="isChange"
15
+ v-ref:addbox></pos-add>
16
+ </div>
17
+ </div>
18
+ <pos-manage v-if="!$login.r.includes('POS参数管理')"></pos-manage>
19
+ </template>
20
+
21
+ <script>
22
+ import TabButton from '../TabButton'
23
+ import Tabs from '../Tabs'
24
+ import PosList from "./PosList";
25
+ import PosAdd from "./PosAdd";
26
+ import PosParamList from './PosParamList'
27
+ import PosParamAdd from './PosParamAdd'
28
+
29
+ export default {
30
+ name: "PosManageBoth",
31
+ title: 'POS管理',
32
+ data() {
33
+ return {
34
+ show: [],
35
+ data: {},
36
+ param_id: '',
37
+ f_filialeids: '',
38
+ isChange: false,
39
+ isParamChange: false,
40
+ row: null,
41
+ infoadd: true, // 判断是否显示 升级 等按钮(true/false)
42
+ batchPos: false,
43
+ }
44
+ },
45
+ components: {Tabs, TabButton, PosList, PosAdd, PosParamList, PosParamAdd},
46
+ ready() {
47
+ },
48
+ methods: {
49
+ selected(obj, idx) {
50
+ console.log(obj)
51
+ if (!(obj instanceof MouseEvent)) {
52
+ this.isChange = true
53
+ this.infoadd = true
54
+ this.row = obj
55
+ } else {
56
+ this.$showAlert('如需新增,请点击增加按钮!', 'info', 1000)
57
+ }
58
+ },
59
+ addParam() {
60
+ this.isParamChange = true
61
+ this.isChange = false
62
+ setTimeout(() => {
63
+ this.$refs.addp.initModel()
64
+ }, 100)
65
+ },
66
+ closeParam() {
67
+ this.isParamChange = false
68
+ }
69
+ },
70
+ events: {
71
+ 'researchParam'() {
72
+ this.$refs.listp.search()
73
+ this.isParamChange = false
74
+ this.isChange = false
75
+ },
76
+ 'search'() {
77
+ this.infoadd = true
78
+ this.isParamChange = false
79
+ this.isChange = false
80
+ this.row = null
81
+ this.$refs.list.$refs.paged.$refs.cri.search()
82
+ },
83
+ 'tab-changed'() {
84
+ console.log("tabchanged")
85
+ this.isParamChange = false
86
+ this.isChange = false
87
+ },
88
+ 'refresh'() {
89
+ this.isParamChange = false
90
+ this.isChange = false
91
+ this.row = null
92
+ this.$refs.poslist.search()
93
+ },
94
+ 'error'(name, row, res) {
95
+ this.isParamChange = false
96
+ this.isChange = false
97
+ this.row = null
98
+ },
99
+ 'close'() {
100
+ this.isParamChange = false
101
+ this.isChange = false
102
+ this.row = null
103
+ },
104
+ 'add'(val) {
105
+ this.f_filialeids = val
106
+ this.infoadd = false
107
+ this.row = null
108
+ this.isChange = true
109
+ this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
110
+ },
111
+ 'modify'(row) {
112
+ this.isChange = false
113
+ this.isParamChange = true
114
+ setTimeout(() => {
115
+ this.$refs.addp.curorgid = []
116
+ this.$refs.addp.edit(row.f_param_id)
117
+ }, 100)
118
+ }
119
+ }
120
+ }
121
+ </script>
122
+
123
+ <style scoped>
124
+
125
+ </style>
@@ -0,0 +1,236 @@
1
+ <template>
2
+ <div class="auto select-overspread" id='posParamManage'>
3
+
4
+ <form novalidate class="form-horizontal">
5
+ <ul class="nav nav-tabs">
6
+ <li role="presentation" class="active"><a href="#">固定属性</a></li>
7
+ </ul>
8
+ <div class="row">
9
+ <div class="col-sm-6 form-group">
10
+ <label class="font_normal_body">所属公司</label>
11
+ <res-select restype='organization'
12
+ is-mul="false"
13
+ @res-select="getRes"
14
+ :initresid="curorgid">
15
+ </res-select>
16
+ </div>
17
+ <div class="col-sm-6 form-group">
18
+ <label class="font_normal_body">参数名称</label>
19
+ <input type="text" class="input_search" style="width: 60%" v-model="model.name"
20
+ placeholder="参数名称"/>
21
+ </div>
22
+ <div class="col-sm-6 form-group">
23
+ <label class="font_normal_body">创&nbsp;建&nbsp;人</label>
24
+ <input type="text" class="input_search" style="width: 60%" v-model="model.f_operator"
25
+ disabled placeholder="创建人"/>
26
+ </div>
27
+ </div>
28
+ <ul class="nav nav-tabs">
29
+ <li role="presentation" class="active">
30
+ <a href="#">银行属性</a>
31
+ </li>
32
+ </ul>
33
+ <div class="row">
34
+ <div class="col-sm-6 form-group">
35
+ <label class="font_normal_body" title="参数管理:银行属性">新增属性</label>
36
+ <v-select id="f_charge_type"
37
+ v-model="BankTypeItem"
38
+ placeholder='选择银行属性'
39
+ :multiple="true"
40
+ :value.sync="BankTypeItem"
41
+ :options='BankTypeItems'
42
+ close-on-select clear-button>
43
+ </v-select>
44
+ </div>
45
+ <template v-for="item in BankTypeItem">
46
+ <div class="form-group col-sm-6">
47
+ <label class="font_normal_body" v-if="item.length !== 2">{{ item }}</label>
48
+ <label class="font_normal_body" v-if="item.length === 2">{{ item[0] }}&emsp;&emsp;{{ item[1] }}</label>
49
+ <input type="text" class="input_search" @change="forceUpdate()" style="width: 60%" v-model="bankmodel[item]"
50
+ :placeholder="item"/>
51
+ </div>
52
+ </template>
53
+ </div>
54
+ <ul class="nav nav-tabs">
55
+ <li role="presentation" class="active">
56
+ <a href="#">系统属性</a>
57
+ </li>
58
+ </ul>
59
+ <div class="row">
60
+ <div class="col-sm-6 form-group">
61
+ <label class="font_normal_body" title="参数管理:系统属性">新增属性</label>
62
+ <v-select id="f_charge_type"
63
+ v-model="SystemTypeItem"
64
+ placeholder='选择系统属性'
65
+ :multiple="true"
66
+ :value.sync="SystemTypeItem"
67
+ :options='SystemTypeItems'
68
+ close-on-select clear-button>
69
+ </v-select>
70
+ </div>
71
+ <template v-for="item in SystemTypeItem">
72
+ <div class="form-group col-sm-6">
73
+ <label class="font_normal_body" v-if="item.length !== 2">{{ item }}</label>
74
+ <label class="font_normal_body" v-if="item.length === 2">{{ item[0] }}&emsp;&emsp;{{ item[1] }}</label>
75
+ <input type="text" class="input_search" @change="forceUpdate()" style="width: 60%"
76
+ v-model="systemmodel[item]"
77
+ :placeholder="item"/>
78
+ </div>
79
+ </template>
80
+ </div>
81
+ </form>
82
+ <div class="row" style="text-align:right;height:auto;margin-top: 20px">
83
+ <button class="btn button_search" @click="confirm()" :disabled="!$v.valid">确认</button>
84
+ <button class="btn button_clear " @click="cancel()">取消</button>
85
+ </div>
86
+ </div>
87
+ </template>
88
+ <script>
89
+
90
+ import {HttpResetClass} from "vue-client";
91
+
92
+ export default {
93
+ data() {
94
+ return {
95
+ checkparam: false,
96
+ BankTypeItem: [],
97
+ BankTypeItems: this.$appdata.getParam('银行属性'),
98
+ SystemTypeItem: [],
99
+ SystemTypeItems: this.$appdata.getParam('系统属性'),
100
+ param_id: '',
101
+ curorgid: [],
102
+ bankmodel: {},
103
+ model: {
104
+ name: '',
105
+ f_orgid: '',
106
+ f_orgname: '',
107
+ f_operator: ''
108
+ },
109
+ systemmodel: {}
110
+ }
111
+ },
112
+ watch: {},
113
+ ready() {
114
+ },
115
+ methods: {
116
+ getRes(val, val1) {
117
+ this.model.f_orgid = val[0]
118
+ this.model.f_orgname = val1[0]
119
+ },
120
+ forceUpdate() {
121
+ // 仅因为生成的字段不会双向绑定渲染页面
122
+ this.model = JSON.parse(JSON.stringify(this.model))
123
+ this.systemmodel = JSON.parse(JSON.stringify(this.systemmodel))
124
+ this.bankmodel = JSON.parse(JSON.stringify(this.bankmodel))
125
+ },
126
+ async confirm() {
127
+ await this.$resetpost('rs/logic/Pos_saveParam',
128
+ {
129
+ data: {
130
+ model: this.model,
131
+ bankmodel: this.bankmodel,
132
+ systemmodel: this.systemmodel,
133
+ param_id: this.param_id
134
+ }
135
+ },
136
+ {rejectMsg: '保存失败', resolveMsg: '保存成功'})
137
+ this.$dispatch('researchParam')
138
+ },
139
+ async edit(param_id) {
140
+ this.param_id = param_id
141
+ let load = new HttpResetClass()
142
+ load.load("POST", 'rs/sql/singleTable',
143
+ {
144
+ data: {
145
+ tablename: ' t_equipment_param ',
146
+ condition: ` f_param_id = ${param_id} `
147
+ }
148
+ },
149
+ {resolveMsg: null, rejectMsg: null})
150
+ .then((res) => {
151
+ this.initModel()
152
+ res.data.forEach(item => {
153
+ if (item.f_type === 'system') {
154
+ this.SystemTypeItem.push(item.f_key)
155
+ this.systemmodel[item.f_key] = item.f_value
156
+ } else if (item.f_type === 'bank') {
157
+ this.BankTypeItem.push(item.f_key)
158
+ this.bankmodel[item.f_key] = item.f_value
159
+ } else {
160
+ this.model[item.f_key] = item.f_value
161
+ }
162
+ if (item.f_key === 'f_orgid') {
163
+ this.curorgid = [item.f_value]
164
+ }
165
+ })
166
+ })
167
+ },
168
+ initModel() {
169
+ this.SystemTypeItem = []
170
+ this.BankTypeItem = []
171
+ this.model = {
172
+ name: '',
173
+ f_orgid: '',
174
+ f_orgname: '',
175
+ f_operator: this.$login.f.name
176
+ }
177
+ this.curorgid = [this.$login.f.orgid]
178
+ this.systemmodel = {}
179
+ this.bankmodel = {}
180
+ },
181
+ cancel() {
182
+ this.$dispatch('close')
183
+ }
184
+ }
185
+ }
186
+ </script>
187
+ <style lang="less">
188
+ #posParamManage {
189
+ #addboxmap {
190
+ height: 300px;
191
+ }
192
+
193
+ .glyphicon-map-marker:hover {
194
+ color: red;
195
+ }
196
+
197
+ .glyphicon-map-marker {
198
+ color: blue;
199
+ cursor: pointer;
200
+ }
201
+
202
+ .col-sm-6 {
203
+ .font_normal_body {
204
+ width: 73px;
205
+ overflow: auto;
206
+ white-space: nowrap;
207
+ // 指滚动条两边的按钮
208
+ &::-webkit-scrollbar-button {
209
+ display: none;
210
+ }
211
+
212
+ // 滚动条的宽度
213
+ &::-webkit-scrollbar {
214
+ width: 5px !important;
215
+ height: 5px !important;
216
+ }
217
+
218
+ // 滚动条的设置
219
+ &::-webkit-scrollbar-thumb {
220
+ background-color: #ddd;
221
+ background-clip: padding-box;
222
+ }
223
+
224
+ &::-webkit-scrollbar-thumb:hover {
225
+ background-color: #bbb;
226
+ }
227
+
228
+ &::-webkit-scrollbar-track {
229
+ /*滚动条里面轨道*/
230
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
231
+ background: #ededed;
232
+ }
233
+ }
234
+ }
235
+ }
236
+ </style>