n20-common-lib 1.2.33 → 1.2.36

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 (193) hide show
  1. package/README.md +2 -2
  2. package/package.json +88 -88
  3. package/src/_qiankun/index.js +113 -113
  4. package/src/_qiankun/postMessage.js +48 -48
  5. package/src/assets/css/_coreLib.scss +35 -35
  6. package/src/assets/css/cl-anchor.scss +23 -23
  7. package/src/assets/css/cl-approve-card.scss +58 -58
  8. package/src/assets/css/cl-dialog.scss +99 -99
  9. package/src/assets/css/cl-drag-list.scss +22 -22
  10. package/src/assets/css/cl-empty.scss +10 -10
  11. package/src/assets/css/cl-expandable-pane.scss +26 -26
  12. package/src/assets/css/cl-expandable.scss +24 -24
  13. package/src/assets/css/cl-file-upload-table.scss +11 -11
  14. package/src/assets/css/cl-filter.scss +4 -4
  15. package/src/assets/css/cl-flow-step.scss +185 -185
  16. package/src/assets/css/cl-footer-box.scss +10 -10
  17. package/src/assets/css/cl-form-item.scss +612 -612
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +92 -92
  20. package/src/assets/css/cl-layout-content.scss +16 -16
  21. package/src/assets/css/cl-layout-header.scss +73 -73
  22. package/src/assets/css/cl-layout-tabs.scss +87 -87
  23. package/src/assets/css/cl-layout.scss +97 -97
  24. package/src/assets/css/cl-login-temporary.scss +37 -37
  25. package/src/assets/css/cl-message.scss +75 -75
  26. package/src/assets/css/cl-more-tab.scss +98 -98
  27. package/src/assets/css/cl-nav-menu.scss +5 -5
  28. package/src/assets/css/cl-pagination.scss +128 -128
  29. package/src/assets/css/cl-secondary-tab.scss +53 -53
  30. package/src/assets/css/cl-showcolumn.scss +23 -23
  31. package/src/assets/css/cl-sifting.scss +51 -51
  32. package/src/assets/css/cl-statis.scss +42 -42
  33. package/src/assets/css/cl-step.scss +73 -73
  34. package/src/assets/css/cl-suspend.scss +19 -19
  35. package/src/assets/css/cl-tertiary-tab.scss +54 -54
  36. package/src/assets/css/cl-upload.scss +41 -41
  37. package/src/assets/css/cl-worn-pagination.scss +50 -50
  38. package/src/assets/css/el-button.scss +173 -173
  39. package/src/assets/css/el-table.scss +79 -79
  40. package/src/assets/css/element-variables.scss +1061 -1061
  41. package/src/assets/css/element.dev.scss +21 -21
  42. package/src/assets/css/font-icon.scss +27 -27
  43. package/src/assets/css/index.dev.scss +4 -4
  44. package/src/assets/css/index.scss +11 -11
  45. package/src/assets/css/normalize.scss +726 -726
  46. package/src/assets/css/rootvar.scss +139 -139
  47. package/src/assets/css/select.scss +25 -25
  48. package/src/assets/css/title-pop.scss +4 -4
  49. package/src/assets/getJsonc.js +50 -50
  50. package/src/assets/realUrl.js +12 -12
  51. package/src/components/.DS_Store +0 -0
  52. package/src/components/Anchor/AnchorItem.vue +29 -29
  53. package/src/components/Anchor/index.vue +185 -185
  54. package/src/components/ApprovalButtons/index.vue +233 -233
  55. package/src/components/ApprovalCard/index.vue +128 -128
  56. package/src/components/ApprovalRecord/approvalImg.vue +39 -39
  57. package/src/components/ApprovalRecord/index.vue +59 -59
  58. package/src/components/Button/button-group.vue +150 -150
  59. package/src/components/Button/icon-group-button.vue +61 -61
  60. package/src/components/Button/index.vue +56 -56
  61. package/src/components/CascaderArea/index.vue +103 -103
  62. package/src/components/ContentLoading/index.vue +41 -41
  63. package/src/components/ContentNull/index.vue +19 -19
  64. package/src/components/DatePicker/index.vue +27 -27
  65. package/src/components/DatePicker/por.vue +169 -169
  66. package/src/components/Dialog/index.vue +26 -26
  67. package/src/components/Dialog/indexO.vue +116 -116
  68. package/src/components/DragList/index.vue +75 -75
  69. package/src/components/Empty/.DS_Store +0 -0
  70. package/src/components/Empty/img/.DS_Store +0 -0
  71. package/src/components/Empty/img/abnormal.svg +108 -108
  72. package/src/components/Empty/img/dispose.svg +71 -71
  73. package/src/components/Empty/img/empty.svg +57 -57
  74. package/src/components/Empty/img/general.svg +58 -58
  75. package/src/components/Empty/img/lock.svg +57 -57
  76. package/src/components/Empty/img/network.svg +59 -59
  77. package/src/components/Empty/img/relevant.svg +68 -68
  78. package/src/components/Empty/img/search.svg +72 -72
  79. package/src/components/Empty/index.vue +92 -92
  80. package/src/components/Expandable/index.vue +49 -49
  81. package/src/components/Expandable/main.vue +52 -52
  82. package/src/components/FileExportAsync/index.vue +178 -178
  83. package/src/components/FileUploadTable/index.vue +484 -484
  84. package/src/components/Filters/index.vue +371 -371
  85. package/src/components/Filters/indexO.vue +104 -104
  86. package/src/components/FlowStep/index.vue +68 -68
  87. package/src/components/FooterBox/index.vue +21 -21
  88. package/src/components/GeneralCard/index.vue +15 -15
  89. package/src/components/InputNumber/index.vue +169 -169
  90. package/src/components/InputNumber/numberRange.vue +47 -47
  91. package/src/components/InputSearch/index.vue +75 -75
  92. package/src/components/Layout/.DS_Store +0 -0
  93. package/src/components/Layout/AsideNav/index.vue +119 -119
  94. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  95. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  96. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  97. package/src/components/Layout/HeaderWrap/index.vue +371 -371
  98. package/src/components/Layout/HeaderWrap/noticePop.vue +300 -300
  99. package/src/components/Layout/SubContent/index.vue +127 -131
  100. package/src/components/Layout/TabsNav/index.vue +170 -170
  101. package/src/components/Layout/index.vue +518 -522
  102. package/src/components/Layout/utils.js +12 -12
  103. package/src/components/LoginTemporary/form.vue +570 -570
  104. package/src/components/LoginTemporary/index.vue +139 -139
  105. package/src/components/LoginTemporary/qrcode.vue +90 -90
  106. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  107. package/src/components/LoginTemporary/utils.js +73 -73
  108. package/src/components/MicroApp/index.js +67 -67
  109. package/src/components/MicroFrame/index.vue +95 -95
  110. package/src/components/MoreTab/index.vue +232 -232
  111. package/src/components/NavMenu/index.vue +60 -60
  112. package/src/components/NstcG6Components/.DS_Store +0 -0
  113. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +184 -184
  114. package/src/components/PageLayout/page.vue +15 -15
  115. package/src/components/Pagination/index.vue +165 -165
  116. package/src/components/SecondaryTab/index.vue +58 -58
  117. package/src/components/SelectLazy/index.vue +75 -75
  118. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  119. package/src/components/SelectTree/index.vue +205 -205
  120. package/src/components/ShowColumn/index.vue +213 -213
  121. package/src/components/Sifting/index.vue +99 -99
  122. package/src/components/Statis/index.vue +97 -97
  123. package/src/components/Statis/statisItem.vue +54 -54
  124. package/src/components/Statis/statisPopover.vue +55 -55
  125. package/src/components/Step/index.vue +38 -38
  126. package/src/components/Suspend/index.vue +72 -72
  127. package/src/components/Table/index.vue +209 -209
  128. package/src/components/Table/indexO.vue +149 -149
  129. package/src/components/Task/index.vue +26 -26
  130. package/src/components/TertiaryTab/index.vue +63 -63
  131. package/src/components/TimePicker/index.vue +28 -28
  132. package/src/components/Upload/index.vue +242 -242
  133. package/src/components/WornPagination/index.vue +73 -73
  134. package/src/directives/VClickOutside/index.js +19 -19
  135. package/src/directives/VHas/index.js +58 -58
  136. package/src/directives/VMove/index.js +42 -42
  137. package/src/directives/VTitle/index.js +69 -69
  138. package/src/directives/VTitle/tooltip.vue +21 -21
  139. package/src/index.js +229 -229
  140. package/src/plugins/CompatibleOld/index.js +57 -57
  141. package/src/plugins/Print/index.js +4 -4
  142. package/src/plugins/Print/print-js/.babelrc +12 -12
  143. package/src/plugins/Print/print-js/LICENSE +21 -21
  144. package/src/plugins/Print/print-js/README.md +98 -98
  145. package/src/plugins/Print/print-js/dist/print.css +96 -96
  146. package/src/plugins/Print/print-js/dist/print.js +990 -990
  147. package/src/plugins/Print/print-js/package.json +60 -60
  148. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  149. package/src/plugins/Print/print-js/src/index.js +10 -10
  150. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  151. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  152. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  153. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  154. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  155. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  156. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  157. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  158. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  159. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  160. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  161. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  162. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  163. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  164. package/src/plugins/Print/print.js +2 -2
  165. package/src/plugins/Print/print.scss +1 -1
  166. package/src/plugins/SetMenuTree/index.vue +41 -41
  167. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  168. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  169. package/src/plugins/SetMenuTree/utils.js +74 -74
  170. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  171. package/src/plugins/Sign/index.js +65 -65
  172. package/src/plugins/Sign/sign.js +1 -1
  173. package/src/plugins/setTabsForSub.js +2 -2
  174. package/src/utils/auth.js +53 -53
  175. package/src/utils/axios.js +203 -203
  176. package/src/utils/downloadBlob.js +19 -19
  177. package/src/utils/forEachs.js +16 -16
  178. package/src/utils/getScrollContainer.js +43 -43
  179. package/src/utils/i18n/cn2hk.json +1270 -1270
  180. package/src/utils/i18n/index.js +50 -50
  181. package/src/utils/list2tree.js +36 -36
  182. package/src/utils/msgboxPor.js +26 -26
  183. package/src/utils/print.js +161 -161
  184. package/src/utils/relaNo.js +72 -72
  185. package/src/utils/repairElementUI.js +66 -66
  186. package/src/utils/urlToGo.js +82 -82
  187. package/style/css/normalize.scss +726 -726
  188. package/style/index.css +3 -3
  189. package/style/pageDemo/demo-1.vue +131 -131
  190. package/style/pageDemo/demo-2.vue +35 -35
  191. package/style/pageDemo/demo-3.vue +22 -22
  192. package/style/pageDemo/seeCode.js +20 -20
  193. package/style/server-config.jsonc +717 -606
@@ -1,185 +1,185 @@
1
- <template>
2
- <el-scrollbar id="page-scrollbar" style="height: 100%">
3
- <div ref="Anchor">
4
- <slot></slot>
5
- <ul class="n20-anchor">
6
- <li
7
- v-for="(item, index) in AnchorNavList"
8
- :key="index"
9
- :class="[
10
- 'n20-anchor-item',
11
- value === item.id ? 'n20-anchor-activit' : ''
12
- ]"
13
- @click="getAnchorItem(item.id, index)"
14
- >
15
- {{ item.title }}
16
- </li>
17
- </ul>
18
- </div>
19
- </el-scrollbar>
20
- </template>
21
-
22
- <script>
23
- import {
24
- getScrollContainer,
25
- vueDebounce
26
- } from '../../utils/getScrollContainer.js'
27
-
28
- export default {
29
- name: 'Anchor',
30
- props: {
31
- scrollDom: {
32
- type: String,
33
- default: ''
34
- },
35
- // 默认选中tab按钮
36
- value: {
37
- type: String,
38
- default: ''
39
- }
40
- },
41
- data() {
42
- return {
43
- AnchorNavList: [], // 按钮数据
44
- AnchorNavMap: {}, // 楼层高度的映射
45
- scrollDisabled: false, //禁止滚动函数执行
46
- valueType: 1, //当前楼层改变的类型,1是组件传递、按钮直达改变,2是通过滚动监听自动改变
47
- scrollFunDebounceFun: vueDebounce('scrollFun', 100)
48
- }
49
- },
50
- computed: {
51
- scrollWrap() {
52
- if (this.scrollDom) {
53
- return document.querySelector(this.scrollDom)
54
- } else {
55
- return getScrollContainer(this.$refs.Anchor, true)
56
- }
57
- }
58
- },
59
- watch: {
60
- // 监听楼层变化,当为父组件传递,或者按钮直达时,手动滚动到当前楼层
61
- value: function (val) {
62
- this.valueType === 1 && this.scrollDomFun(this.AnchorNavMap[val])
63
- }
64
- },
65
- async mounted() {
66
- await this.init()
67
- // 如果传了当前楼层,直接到达对应的高度
68
- if (this.value) {
69
- this.scrollWrap.scrollTop = this.AnchorNavMap[this.value]
70
- } else {
71
- //没有传楼层,则根据当前高度自动获取
72
- this.getAnchorValue(this.scrollWrap.scrollTop)
73
- }
74
- this.scrollWrap.addEventListener('scroll', this.scrollFunDebounce)
75
- },
76
- beforeDestroy() {
77
- this.scrollWrap.removeEventListener('scroll', this.scrollFunDebounce)
78
- },
79
- methods: {
80
- // 初始化,获取电梯按钮数据,获取楼层高度映射
81
- init() {
82
- let parentTop =
83
- this.$refs.Anchor.getBoundingClientRect().top -
84
- this.scrollWrap.getBoundingClientRect().top
85
- let list = this.$children[0].$children.map((item) => {
86
- let rect = item.$el.getBoundingClientRect()
87
- let itemScrollTop = item.$el.offsetTop
88
- this.AnchorNavMap[item.id] = itemScrollTop
89
- return {
90
- scrollTop: itemScrollTop,
91
- top: rect.top - parentTop,
92
- bottom: rect.bottom - parentTop,
93
- height: rect.height,
94
- title: item.title,
95
- id: item.id
96
- }
97
- })
98
- // 去掉多余的节点
99
- this.AnchorNavList = list.filter(
100
- (val) => val.id !== undefined && val.title !== undefined
101
- )
102
- },
103
- //滚动的函数
104
- scrollFun(e) {
105
- this.getAnchorValue(e.target.scrollTop)
106
- },
107
- scrollFunDebounce(e) {
108
- !this.scrollDisabled && this.scrollFunDebounceFun(e)
109
- },
110
- // 根据当前高度获取楼层位置
111
- getAnchorValue(scrollTop) {
112
- let arr = []
113
- for (let i = 0; i < this.AnchorNavList.length; i++) {
114
- let item = this.AnchorNavList[i]
115
- let height = this.scrollWrap.getBoundingClientRect().height + scrollTop
116
- let value = 0
117
- if (scrollTop <= item.top) {
118
- value = height - item.top
119
- if (value > item.height) {
120
- value = item.height
121
- } else if (value < 0) {
122
- value = 0
123
- }
124
- } else if (scrollTop > item.top && scrollTop <= item.bottom) {
125
- value = item.bottom - scrollTop
126
- }
127
- value = value / item.height
128
- arr.push(value)
129
- }
130
- let max = Math.max(...arr)
131
- for (let i = 0; i < arr.length; i++) {
132
- if (arr[i] === max) {
133
- this.valueType = 2
134
- this.$emit('input', this.AnchorNavList[i].id)
135
- break
136
- }
137
- }
138
- },
139
- getAnchorItem(id, i) {
140
- //直达楼层
141
- if (id === this.value || this.scrollDisabled) {
142
- return
143
- }
144
- this.$children[0].$children[i].show = true
145
- this.valueType = 1
146
- this.$emit('input', id)
147
- },
148
- // 模拟滚动
149
- scrollDomFun(itemScrollTop) {
150
- this.scrollDisabled = true //模拟滚动过程中,禁用直达楼层和监听的滚动事件
151
- let speed = 50
152
- let scrollTop = this.scrollWrap.scrollTop
153
- if (itemScrollTop > scrollTop) {
154
- // 向下滚动
155
- let timer = setInterval(() => {
156
- scrollTop += speed
157
- if (scrollTop < itemScrollTop) {
158
- this.scrollWrap.scrollTop = scrollTop
159
- } else {
160
- this.scrollWrap.scrollTop = itemScrollTop
161
- clearInterval(timer)
162
- setTimeout(() => {
163
- this.scrollDisabled = false
164
- }, 100)
165
- }
166
- }, 20)
167
- } else {
168
- // 向上滚动
169
- let timer = setInterval(() => {
170
- scrollTop -= speed
171
- if (scrollTop >= itemScrollTop) {
172
- this.scrollWrap.scrollTop = scrollTop
173
- } else {
174
- this.scrollWrap.scrollTop = itemScrollTop
175
- clearInterval(timer)
176
- setTimeout(() => {
177
- this.scrollDisabled = false
178
- }, 100)
179
- }
180
- }, 20)
181
- }
182
- }
183
- }
184
- }
185
- </script>
1
+ <template>
2
+ <el-scrollbar id="page-scrollbar" style="height: 100%">
3
+ <div ref="Anchor">
4
+ <slot></slot>
5
+ <ul class="n20-anchor">
6
+ <li
7
+ v-for="(item, index) in AnchorNavList"
8
+ :key="index"
9
+ :class="[
10
+ 'n20-anchor-item',
11
+ value === item.id ? 'n20-anchor-activit' : ''
12
+ ]"
13
+ @click="getAnchorItem(item.id, index)"
14
+ >
15
+ {{ item.title }}
16
+ </li>
17
+ </ul>
18
+ </div>
19
+ </el-scrollbar>
20
+ </template>
21
+
22
+ <script>
23
+ import {
24
+ getScrollContainer,
25
+ vueDebounce
26
+ } from '../../utils/getScrollContainer.js'
27
+
28
+ export default {
29
+ name: 'Anchor',
30
+ props: {
31
+ scrollDom: {
32
+ type: String,
33
+ default: ''
34
+ },
35
+ // 默认选中tab按钮
36
+ value: {
37
+ type: String,
38
+ default: ''
39
+ }
40
+ },
41
+ data() {
42
+ return {
43
+ AnchorNavList: [], // 按钮数据
44
+ AnchorNavMap: {}, // 楼层高度的映射
45
+ scrollDisabled: false, //禁止滚动函数执行
46
+ valueType: 1, //当前楼层改变的类型,1是组件传递、按钮直达改变,2是通过滚动监听自动改变
47
+ scrollFunDebounceFun: vueDebounce('scrollFun', 100)
48
+ }
49
+ },
50
+ computed: {
51
+ scrollWrap() {
52
+ if (this.scrollDom) {
53
+ return document.querySelector(this.scrollDom)
54
+ } else {
55
+ return getScrollContainer(this.$refs.Anchor, true)
56
+ }
57
+ }
58
+ },
59
+ watch: {
60
+ // 监听楼层变化,当为父组件传递,或者按钮直达时,手动滚动到当前楼层
61
+ value: function (val) {
62
+ this.valueType === 1 && this.scrollDomFun(this.AnchorNavMap[val])
63
+ }
64
+ },
65
+ async mounted() {
66
+ await this.init()
67
+ // 如果传了当前楼层,直接到达对应的高度
68
+ if (this.value) {
69
+ this.scrollWrap.scrollTop = this.AnchorNavMap[this.value]
70
+ } else {
71
+ //没有传楼层,则根据当前高度自动获取
72
+ this.getAnchorValue(this.scrollWrap.scrollTop)
73
+ }
74
+ this.scrollWrap.addEventListener('scroll', this.scrollFunDebounce)
75
+ },
76
+ beforeDestroy() {
77
+ this.scrollWrap.removeEventListener('scroll', this.scrollFunDebounce)
78
+ },
79
+ methods: {
80
+ // 初始化,获取电梯按钮数据,获取楼层高度映射
81
+ init() {
82
+ let parentTop =
83
+ this.$refs.Anchor.getBoundingClientRect().top -
84
+ this.scrollWrap.getBoundingClientRect().top
85
+ let list = this.$children[0].$children.map((item) => {
86
+ let rect = item.$el.getBoundingClientRect()
87
+ let itemScrollTop = item.$el.offsetTop
88
+ this.AnchorNavMap[item.id] = itemScrollTop
89
+ return {
90
+ scrollTop: itemScrollTop,
91
+ top: rect.top - parentTop,
92
+ bottom: rect.bottom - parentTop,
93
+ height: rect.height,
94
+ title: item.title,
95
+ id: item.id
96
+ }
97
+ })
98
+ // 去掉多余的节点
99
+ this.AnchorNavList = list.filter(
100
+ (val) => val.id !== undefined && val.title !== undefined
101
+ )
102
+ },
103
+ //滚动的函数
104
+ scrollFun(e) {
105
+ this.getAnchorValue(e.target.scrollTop)
106
+ },
107
+ scrollFunDebounce(e) {
108
+ !this.scrollDisabled && this.scrollFunDebounceFun(e)
109
+ },
110
+ // 根据当前高度获取楼层位置
111
+ getAnchorValue(scrollTop) {
112
+ let arr = []
113
+ for (let i = 0; i < this.AnchorNavList.length; i++) {
114
+ let item = this.AnchorNavList[i]
115
+ let height = this.scrollWrap.getBoundingClientRect().height + scrollTop
116
+ let value = 0
117
+ if (scrollTop <= item.top) {
118
+ value = height - item.top
119
+ if (value > item.height) {
120
+ value = item.height
121
+ } else if (value < 0) {
122
+ value = 0
123
+ }
124
+ } else if (scrollTop > item.top && scrollTop <= item.bottom) {
125
+ value = item.bottom - scrollTop
126
+ }
127
+ value = value / item.height
128
+ arr.push(value)
129
+ }
130
+ let max = Math.max(...arr)
131
+ for (let i = 0; i < arr.length; i++) {
132
+ if (arr[i] === max) {
133
+ this.valueType = 2
134
+ this.$emit('input', this.AnchorNavList[i].id)
135
+ break
136
+ }
137
+ }
138
+ },
139
+ getAnchorItem(id, i) {
140
+ //直达楼层
141
+ if (id === this.value || this.scrollDisabled) {
142
+ return
143
+ }
144
+ this.$children[0].$children[i].show = true
145
+ this.valueType = 1
146
+ this.$emit('input', id)
147
+ },
148
+ // 模拟滚动
149
+ scrollDomFun(itemScrollTop) {
150
+ this.scrollDisabled = true //模拟滚动过程中,禁用直达楼层和监听的滚动事件
151
+ let speed = 50
152
+ let scrollTop = this.scrollWrap.scrollTop
153
+ if (itemScrollTop > scrollTop) {
154
+ // 向下滚动
155
+ let timer = setInterval(() => {
156
+ scrollTop += speed
157
+ if (scrollTop < itemScrollTop) {
158
+ this.scrollWrap.scrollTop = scrollTop
159
+ } else {
160
+ this.scrollWrap.scrollTop = itemScrollTop
161
+ clearInterval(timer)
162
+ setTimeout(() => {
163
+ this.scrollDisabled = false
164
+ }, 100)
165
+ }
166
+ }, 20)
167
+ } else {
168
+ // 向上滚动
169
+ let timer = setInterval(() => {
170
+ scrollTop -= speed
171
+ if (scrollTop >= itemScrollTop) {
172
+ this.scrollWrap.scrollTop = scrollTop
173
+ } else {
174
+ this.scrollWrap.scrollTop = itemScrollTop
175
+ clearInterval(timer)
176
+ setTimeout(() => {
177
+ this.scrollDisabled = false
178
+ }, 100)
179
+ }
180
+ }, 20)
181
+ }
182
+ }
183
+ }
184
+ }
185
+ </script>