openatc-components 0.0.1 → 0.0.2

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 (154) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +29 -29
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +25 -25
  11. package/build/package.prod.config.js +60 -60
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +109 -109
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/dev.env.js +7 -7
  18. package/config/index.js +76 -76
  19. package/config/prod.env.js +4 -4
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/CircleMenu/KissCircleMenu.vue +398 -398
  23. package/package/kisscomps/components/CircleMenu/index.js +2 -2
  24. package/package/kisscomps/components/DashBoard/MakeGradientColor.js +84 -84
  25. package/package/kisscomps/components/DashBoard/dashboard.js +471 -471
  26. package/package/kisscomps/components/DashBoard/dashboard.vue +57 -57
  27. package/package/kisscomps/components/DashBoard/index.js +2 -2
  28. package/package/kisscomps/components/Horizontal/KissHorizontal.vue +146 -146
  29. package/package/kisscomps/components/Horizontal/index.js +2 -2
  30. package/package/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +196 -196
  31. package/package/kisscomps/components/HorizontalChildren/index.js +2 -2
  32. package/package/kisscomps/components/KissCircleMenu/CircleMenu.vue +113 -113
  33. package/package/kisscomps/components/KissCircleMenu/index.js +2 -2
  34. package/package/kisscomps/components/KissCircleMenu/style/index.less +1 -1
  35. package/package/kisscomps/components/KissCircleMenu/style/main/core.less +161 -161
  36. package/package/kisscomps/components/KissCircleMenu/style/main/other.less +94 -94
  37. package/package/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +36 -36
  38. package/package/kisscomps/components/KissCircleMenu/style/var/var.less +21 -21
  39. package/package/kisscomps/components/KissCircleMenu/utils/colorRE.js +5 -5
  40. package/package/kisscomps/components/KissMessageBox/KissMessageBox.vue +108 -108
  41. package/package/kisscomps/components/KissMessageBox/index.js +2 -2
  42. package/package/kisscomps/components/KissSearchInput/index.js +2 -2
  43. package/package/kisscomps/components/KissSearchInput/kisssearchinput.vue +77 -77
  44. package/package/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +294 -294
  45. package/package/kisscomps/components/KissSimulationProgress/index.js +2 -2
  46. package/package/kisscomps/components/StatusBar/StatusBar.vue +222 -222
  47. package/package/kisscomps/components/StatusBar/index.js +2 -2
  48. package/package/kisscomps/components/TragResize/index.js +2 -2
  49. package/package/kisscomps/components/TragResize/kissdragresize.vue +536 -536
  50. package/package/kisscomps/components/TragResize/util/dom.js +23 -23
  51. package/package/kisscomps/components/TragResize/util/fns.js +3 -3
  52. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +320 -320
  53. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +345 -345
  54. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  55. package/package/kisscomps/components/button/index.js +2 -2
  56. package/package/kisscomps/components/button/kissbutton.vue +168 -168
  57. package/package/kisscomps/components/compass3D/compass.vue +180 -180
  58. package/package/kisscomps/components/compass3D/index.js +2 -2
  59. package/package/kisscomps/components/header/index.js +2 -2
  60. package/package/kisscomps/components/header/kissHead.vue +83 -83
  61. package/package/kisscomps/components/horizontalMenu/index.js +2 -2
  62. package/package/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +254 -254
  63. package/package/kisscomps/components/input/index.js +2 -2
  64. package/package/kisscomps/components/input/kissinput.vue +57 -57
  65. package/package/kisscomps/components/menu/index.js +2 -2
  66. package/package/kisscomps/components/menu/kissmenu.vue +324 -324
  67. package/package/kisscomps/components/mutipletips/Tdrag.js +585 -585
  68. package/package/kisscomps/components/mutipletips/index.js +2 -2
  69. package/package/kisscomps/components/mutipletips/kissmutipletips.vue +192 -192
  70. package/package/kisscomps/components/panel/index.js +2 -2
  71. package/package/kisscomps/components/panel/kissPanel.vue +151 -151
  72. package/package/kisscomps/components/select/chosen.jquery.min.js +3 -3
  73. package/package/kisscomps/components/select/index.js +2 -2
  74. package/package/kisscomps/components/select/kissselect.vue +527 -527
  75. package/package/kisscomps/components/tablebutton/index.js +2 -2
  76. package/package/kisscomps/components/tablebutton/tablebutton.vue +97 -97
  77. package/package/kisscomps/components/timectrl/KissTimeCtrl.vue +67 -67
  78. package/package/kisscomps/components/timectrl/index.js +2 -2
  79. package/package/kisscomps/components/timectrl/timectrl.css +851 -851
  80. package/package/kisscomps/components/tip/Tdrag.js +585 -585
  81. package/package/kisscomps/components/tip/index.js +2 -2
  82. package/package/kisscomps/components/tip/kisstips.1.vue +154 -154
  83. package/package/kisscomps/components/tip/kisstips.vue +154 -154
  84. package/package/kisscomps/components/tip/kisstips.vue.bak +211 -211
  85. package/package/kisscomps/index.js +71 -71
  86. package/package/kissui.js +203 -203
  87. package/package/kissui.min.js +203 -203
  88. package/package.json +1 -1
  89. package/src/App.vue +25 -25
  90. package/src/kisscomps/components/CircleMenu/KissCircleMenu.vue +398 -398
  91. package/src/kisscomps/components/CircleMenu/index.js +2 -2
  92. package/src/kisscomps/components/DashBoard/MakeGradientColor.js +84 -84
  93. package/src/kisscomps/components/DashBoard/dashboard.js +471 -471
  94. package/src/kisscomps/components/DashBoard/dashboard.vue +57 -57
  95. package/src/kisscomps/components/DashBoard/index.js +2 -2
  96. package/src/kisscomps/components/KissCircleMenu/CircleMenu.vue +113 -113
  97. package/src/kisscomps/components/KissCircleMenu/index.js +2 -2
  98. package/src/kisscomps/components/KissCircleMenu/style/index.less +1 -1
  99. package/src/kisscomps/components/KissCircleMenu/style/main/core.less +161 -161
  100. package/src/kisscomps/components/KissCircleMenu/style/main/other.less +94 -94
  101. package/src/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +36 -36
  102. package/src/kisscomps/components/KissCircleMenu/style/var/var.less +21 -21
  103. package/src/kisscomps/components/KissCircleMenu/utils/colorRE.js +5 -5
  104. package/src/kisscomps/components/KissSearchInput/index.js +2 -2
  105. package/src/kisscomps/components/KissSearchInput/kisssearchinput.vue +77 -77
  106. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +193 -0
  107. package/src/kisscomps/components/SchemeConfig/index.js +2 -0
  108. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +214 -0
  109. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +176 -0
  110. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +294 -0
  111. package/src/kisscomps/components/SchemeConfig/schemeconfig.vue +711 -0
  112. package/src/kisscomps/components/StatusBar/StatusBar.vue +222 -222
  113. package/src/kisscomps/components/StatusBar/index.js +2 -2
  114. package/src/kisscomps/components/TragResize/index.js +2 -2
  115. package/src/kisscomps/components/TragResize/kissdragresize.vue +536 -536
  116. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +320 -320
  117. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +345 -345
  118. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  119. package/src/kisscomps/components/button/index.js +2 -2
  120. package/src/kisscomps/components/button/kissbutton.vue +168 -168
  121. package/src/kisscomps/components/compass3D/compass.vue +180 -180
  122. package/src/kisscomps/components/compass3D/index.js +2 -2
  123. package/src/kisscomps/components/horizontalMenu/index.js +2 -2
  124. package/src/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +254 -254
  125. package/src/kisscomps/components/input/index.js +2 -2
  126. package/src/kisscomps/components/input/kissinput.vue +57 -57
  127. package/src/kisscomps/components/menu/index.js +2 -2
  128. package/src/kisscomps/components/menu/kissmenu.vue +324 -324
  129. package/src/kisscomps/components/mutipletips/Tdrag.js +585 -585
  130. package/src/kisscomps/components/mutipletips/index.js +2 -2
  131. package/src/kisscomps/components/mutipletips/kissmutipletips.vue +192 -192
  132. package/src/kisscomps/components/select/chosen.jquery.min.js +3 -3
  133. package/src/kisscomps/components/select/index.js +2 -2
  134. package/src/kisscomps/components/select/kissselect.vue +527 -527
  135. package/src/kisscomps/components/timectrl/KissTimeCtrl.vue +67 -67
  136. package/src/kisscomps/components/timectrl/index.js +2 -2
  137. package/src/kisscomps/components/tip/Tdrag.js +585 -585
  138. package/src/kisscomps/components/tip/index.js +2 -2
  139. package/src/kisscomps/components/tip/kisstips.1.vue +154 -154
  140. package/src/kisscomps/components/tip/kisstips.vue +154 -154
  141. package/src/kisscomps/components/tip/kisstips.vue.bak +211 -211
  142. package/src/kisscomps/index.js +73 -71
  143. package/src/main.js +23 -23
  144. package/src/router/index.js +15 -15
  145. package/src/views/home.1.vue +479 -479
  146. package/src/views/home.vue +196 -196
  147. package/test/e2e/custom-assertions/elementCount.js +27 -27
  148. package/test/e2e/nightwatch.conf.js +46 -46
  149. package/test/e2e/runner.js +48 -48
  150. package/test/e2e/specs/test.js +19 -19
  151. package/test/unit/.eslintrc +7 -7
  152. package/test/unit/jest.conf.js +30 -30
  153. package/test/unit/setup.js +3 -3
  154. package/test/unit/specs/HelloWorld.spec.js +11 -11
@@ -1,324 +1,324 @@
1
- <template>
2
- <nav class="KissNavMenuContainer">
3
- <ul
4
- v-for="(item, index) in menuList"
5
- :key="index"
6
- >
7
- <li class="KissNavMenuItem">
8
- <div
9
- :id="item.MenuName"
10
- :class="menuSelList[index] ? 'KissNavMenuBorderClick' : 'KissNavMenuBorder'"
11
- v-on:click="handleClick($event, index)"
12
- v-on:mouseenter="onMouseEnter(item)"
13
- v-on:mouseleave="onMouseLeave(item)"
14
- ref="menu"
15
- >
16
- <div
17
- class="KissNavMenuIcon"
18
- :style="getBg(item, index)"
19
- ></div>
20
- <transition name="bounce">
21
- <div
22
- class="KissNavMenuName"
23
- v-show="isShow(item.MenuName)"
24
- >{{item.MenuName}}</div>
25
- </transition>
26
- </div>
27
- </li>
28
- </ul>
29
- </nav>
30
- </template>
31
-
32
- <script>
33
- export default {
34
- name: 'kiss-nav-menu',
35
- props: {
36
- // 定义一个组件被外部使用的时候可变的行为的。可以通过props来配置这个组件:style= "{background : index.isHv == 0 ? index.BaseImg : index.HoverImg}"
37
- menuList: {
38
- type: Array,
39
- default: function () {
40
- return [
41
- {
42
- MenuName: 'asdfasdfadsfaaaaa',
43
- BaseImg: 'url("./static/img/KissNavMenu/home.png")',
44
- HoverImg: 'url("./static/img/KissNavMenu/homeselect.png")',
45
- isHv: 0
46
- },
47
- {
48
- MenuName: '路网',
49
- BaseImg: 'url("./static/img/KissNavMenu/net.png")',
50
- HoverImg: 'url("./static/img/KissNavMenu/netselect.png")',
51
- isHv: 0
52
- },
53
- {
54
- MenuName: '路口',
55
- BaseImg: 'url("./static/img/KissNavMenu/cross.png")',
56
- HoverImg: 'url("./static/img/KissNavMenu/crossselect.png")',
57
- isHv: 0
58
- },
59
- {
60
- MenuName: '统计',
61
- BaseImg: 'url("./static/img/KissNavMenu/count.png")',
62
- HoverImg: 'url("./static/img/KissNavMenu/countselect.png")',
63
- isHv: 0
64
- },
65
- {
66
- MenuName: '报警',
67
- BaseImg: 'url("./static/img/KissNavMenu/alart.png")',
68
- HoverImg: 'url("./static/img/KissNavMenu/alartselect.png")',
69
- isHv: 0
70
- },
71
- {
72
- MenuName: '帮助',
73
- BaseImg: 'url("./static/img/KissNavMenu/help.png")',
74
- HoverImg: 'url("./static/img/KissNavMenu/helpselect.png")',
75
- isHv: 0
76
- }
77
- ]
78
- }
79
- }
80
- },
81
- data () {
82
- return {
83
- active: false,
84
- styleObject: {
85
- background: ''
86
- },
87
- style: {
88
- background: ''
89
- },
90
- menuShowList: [],
91
- menuSelList: [],
92
- curSelIndex: -1
93
- }
94
- },
95
- mounted () {
96
- for (let menu of this.menuList.values()) {
97
- this.menuShowList.push({
98
- name: menu.MenuName,
99
- show: false
100
- })
101
- this.menuSelList.push(false)
102
- }
103
- },
104
- methods: {
105
- handleClick (event, index) {
106
- this.$emit('click', event, index)
107
- this.setActive(index)
108
- },
109
- setActive (index) {
110
- if (this.curSelIndex !== -1) {
111
- // this.menuSelList[this.curSelIndex] = false
112
- this.$set(this.menuSelList, this.curSelIndex, false)
113
- }
114
- this.menuSelList[index] = true
115
- this.curSelIndex = index
116
- },
117
- addStyle (index) {
118
- index.isHv = 1
119
- this.styleObject.background = index.HoverImg
120
- },
121
- removeStyle (index) {
122
- index.isHv = 0
123
- this.styleObject.background = index.BaseImg
124
- },
125
- getBg (item, index) {
126
- let bg = (item.isHv === 0 && !this.menuSelList[index]) ? item.BaseImg : item.HoverImg
127
- // let img = require(bg)
128
- return {
129
- background: bg
130
- }
131
- },
132
- onMouseEnter (menuData) {
133
- let index = this.menuShowList.findIndex(val => val.name === menuData.MenuName)
134
- this.menuShowList[index].show = true
135
- this.addStyle(menuData)
136
- },
137
- onMouseLeave (menuData) {
138
- let index = this.menuShowList.findIndex(val => val.name === menuData.MenuName)
139
- this.menuShowList[index].show = false
140
- this.removeStyle(menuData)
141
- },
142
- isShow (menuName) {
143
- let index = this.menuShowList.findIndex(val => val.name === menuName)
144
- if (index < 0) return false
145
- return this.menuShowList[index].show
146
- }
147
- }
148
- }
149
- </script>
150
-
151
- <!-- Add "scoped" attribute to limit CSS to this component only -->
152
- <style scoped>
153
- /************** 这里是通用样式, 是不用抽取的 **********/
154
- * {
155
- margin: 0px;
156
- padding: 0px;
157
- }
158
- /*整个nav的容器, 大小随着里面的子元素变动而变动*/
159
- .KissNavMenuContainer {
160
- width: auto;
161
- height: auto;
162
- }
163
-
164
- .KissNavMenuItem {
165
- outline: 0px;
166
- border: 0px;
167
- width: 82;
168
- height: 92px;
169
- background-color: transparent;
170
- list-style: none;
171
- }
172
- /***************************************************/
173
-
174
- .KissNavMenuBorder {
175
- position: relative;
176
- z-index: 1;
177
- width: 64px;
178
- height: 74px;
179
- cursor: pointer;
180
- /* border: 1px solid red; */
181
- background: url("../image/KissNavMenu/menubg.png");
182
- background-repeat: no-repeat;
183
- }
184
-
185
- .KissNavMenuBorder:hover {
186
- background: url("../image/KissNavMenu/menubgselect.png");
187
- background-repeat: no-repeat;
188
- }
189
-
190
- .KissNavMenuBorderClick {
191
- position: relative;
192
- z-index: 1;
193
- width: 64px;
194
- height: 74px;
195
- cursor: pointer;
196
- background: url("../image/KissNavMenu/menubgselect.png");
197
- background-repeat: no-repeat;
198
- }
199
-
200
- .KissNavMenuIcon {
201
- position: relative;
202
- z-index: 2;
203
- pointer-events: none; /*这个属性为none 鼠标事件将不起作用直接响应父组件的鼠标事件*/
204
- width: 38px;
205
- height: 38px;
206
- top: 18px;
207
- bottom: 0px;
208
- /* left: 0px;
209
- right: 0px; */
210
- /* border: 1px solid red; */
211
- margin-left: auto;
212
- margin-right: auto;
213
- background-repeat: no-repeat;
214
- }
215
-
216
- .KissNavMenuBorder:hover .KissNavMenuIcon {
217
- -webkit-animation: dese 0.75s linear infinite;
218
- -moz-animation: dese 0.75s linear infinite;
219
- -ms-animation: dese 0.75s linear infinite;
220
- -o-animation: dese 0.75s linear infinite;
221
- animation: dese 0.75s linear infinite;
222
- }
223
- .KissNavMenuBorder:hover .KissNavMenuName {
224
- opacity: 1;
225
- }
226
-
227
- .KissNavMenuBorderClick:hover .KissNavMenuIcon {
228
- -webkit-animation: dese 0.75s linear infinite;
229
- -moz-animation: dese 0.75s linear infinite;
230
- -ms-animation: dese 0.75s linear infinite;
231
- -o-animation: dese 0.75s linear infinite;
232
- animation: dese 0.75s linear infinite;
233
- }
234
- .KissNavMenuBorderClick:hover .KissNavMenuName {
235
- opacity: 1;
236
- }
237
-
238
- /*****************图标文字***************/
239
- .KissNavMenuName {
240
- opacity: 0;
241
- position: relative;
242
- display: inline-block;
243
- pointer-events: none;
244
- z-index: 0;
245
- height: 35px;
246
- white-space: nowrap;
247
- min-width: 100px;
248
- top: -17px;
249
- left: 67px;
250
- text-align: center;
251
- color: #ffde00;
252
- background-color: #724e01;
253
- border: #ffba00 solid 1px;
254
-
255
- font-size: 14px;
256
- line-height: 38px;
257
- padding-left: 5px;
258
- padding-right: 5px;
259
- }
260
-
261
- /* 定义keyframe动画效果:摇摆*/
262
- @keyframes dese {
263
- 0% {
264
- transform: rotate(-12deg);
265
- } /* 添加旋转角度,以下类似 */
266
- 20% {
267
- transform: rotate(8deg);
268
- }
269
- 30% {
270
- transform: rotate(6deg);
271
- }
272
- 40% {
273
- transform: rotate(3deg);
274
- }
275
- 55% {
276
- transform: rotate(0deg);
277
- }
278
- 70% {
279
- transform: rotate(-4deg);
280
- }
281
- 80% {
282
- transform: rotate(7deg);
283
- }
284
- 90% {
285
- transform: rotate(-8deg);
286
- }
287
- 90% {
288
- transform: rotate(12deg);
289
- }
290
- }
291
-
292
- .bounce-leave-to {
293
- animation: bounceInLeft 0.5s reverse;
294
- }
295
- .bounce-enter-active {
296
- animation: bounceInLeft 0.5s;
297
- }
298
-
299
- @keyframes bounceInLeft {
300
- 0% {
301
- opacity: 0;
302
- transform: translate3d(-2000px, 0, 0);
303
- }
304
-
305
- 60% {
306
- opacity: 0.6;
307
- transform: translate3d(-1000px, 0, 0);
308
- }
309
-
310
- 75% {
311
- opacity: 0.75;
312
- transform: translate3d(-500px, 0, 0);
313
- }
314
-
315
- 90% {
316
- opacity: 0.9;
317
- transform: translate3d(-20px, 0, 0);
318
- }
319
-
320
- to {
321
- transform: none;
322
- }
323
- }
324
- </style>
1
+ <template>
2
+ <nav class="KissNavMenuContainer">
3
+ <ul
4
+ v-for="(item, index) in menuList"
5
+ :key="index"
6
+ >
7
+ <li class="KissNavMenuItem">
8
+ <div
9
+ :id="item.MenuName"
10
+ :class="menuSelList[index] ? 'KissNavMenuBorderClick' : 'KissNavMenuBorder'"
11
+ v-on:click="handleClick($event, index)"
12
+ v-on:mouseenter="onMouseEnter(item)"
13
+ v-on:mouseleave="onMouseLeave(item)"
14
+ ref="menu"
15
+ >
16
+ <div
17
+ class="KissNavMenuIcon"
18
+ :style="getBg(item, index)"
19
+ ></div>
20
+ <transition name="bounce">
21
+ <div
22
+ class="KissNavMenuName"
23
+ v-show="isShow(item.MenuName)"
24
+ >{{item.MenuName}}</div>
25
+ </transition>
26
+ </div>
27
+ </li>
28
+ </ul>
29
+ </nav>
30
+ </template>
31
+
32
+ <script>
33
+ export default {
34
+ name: 'kiss-nav-menu',
35
+ props: {
36
+ // 定义一个组件被外部使用的时候可变的行为的。可以通过props来配置这个组件:style= "{background : index.isHv == 0 ? index.BaseImg : index.HoverImg}"
37
+ menuList: {
38
+ type: Array,
39
+ default: function () {
40
+ return [
41
+ {
42
+ MenuName: 'asdfasdfadsfaaaaa',
43
+ BaseImg: 'url("./static/img/KissNavMenu/home.png")',
44
+ HoverImg: 'url("./static/img/KissNavMenu/homeselect.png")',
45
+ isHv: 0
46
+ },
47
+ {
48
+ MenuName: '路网',
49
+ BaseImg: 'url("./static/img/KissNavMenu/net.png")',
50
+ HoverImg: 'url("./static/img/KissNavMenu/netselect.png")',
51
+ isHv: 0
52
+ },
53
+ {
54
+ MenuName: '路口',
55
+ BaseImg: 'url("./static/img/KissNavMenu/cross.png")',
56
+ HoverImg: 'url("./static/img/KissNavMenu/crossselect.png")',
57
+ isHv: 0
58
+ },
59
+ {
60
+ MenuName: '统计',
61
+ BaseImg: 'url("./static/img/KissNavMenu/count.png")',
62
+ HoverImg: 'url("./static/img/KissNavMenu/countselect.png")',
63
+ isHv: 0
64
+ },
65
+ {
66
+ MenuName: '报警',
67
+ BaseImg: 'url("./static/img/KissNavMenu/alart.png")',
68
+ HoverImg: 'url("./static/img/KissNavMenu/alartselect.png")',
69
+ isHv: 0
70
+ },
71
+ {
72
+ MenuName: '帮助',
73
+ BaseImg: 'url("./static/img/KissNavMenu/help.png")',
74
+ HoverImg: 'url("./static/img/KissNavMenu/helpselect.png")',
75
+ isHv: 0
76
+ }
77
+ ]
78
+ }
79
+ }
80
+ },
81
+ data () {
82
+ return {
83
+ active: false,
84
+ styleObject: {
85
+ background: ''
86
+ },
87
+ style: {
88
+ background: ''
89
+ },
90
+ menuShowList: [],
91
+ menuSelList: [],
92
+ curSelIndex: -1
93
+ }
94
+ },
95
+ mounted () {
96
+ for (let menu of this.menuList.values()) {
97
+ this.menuShowList.push({
98
+ name: menu.MenuName,
99
+ show: false
100
+ })
101
+ this.menuSelList.push(false)
102
+ }
103
+ },
104
+ methods: {
105
+ handleClick (event, index) {
106
+ this.$emit('click', event, index)
107
+ this.setActive(index)
108
+ },
109
+ setActive (index) {
110
+ if (this.curSelIndex !== -1) {
111
+ // this.menuSelList[this.curSelIndex] = false
112
+ this.$set(this.menuSelList, this.curSelIndex, false)
113
+ }
114
+ this.menuSelList[index] = true
115
+ this.curSelIndex = index
116
+ },
117
+ addStyle (index) {
118
+ index.isHv = 1
119
+ this.styleObject.background = index.HoverImg
120
+ },
121
+ removeStyle (index) {
122
+ index.isHv = 0
123
+ this.styleObject.background = index.BaseImg
124
+ },
125
+ getBg (item, index) {
126
+ let bg = (item.isHv === 0 && !this.menuSelList[index]) ? item.BaseImg : item.HoverImg
127
+ // let img = require(bg)
128
+ return {
129
+ background: bg
130
+ }
131
+ },
132
+ onMouseEnter (menuData) {
133
+ let index = this.menuShowList.findIndex(val => val.name === menuData.MenuName)
134
+ this.menuShowList[index].show = true
135
+ this.addStyle(menuData)
136
+ },
137
+ onMouseLeave (menuData) {
138
+ let index = this.menuShowList.findIndex(val => val.name === menuData.MenuName)
139
+ this.menuShowList[index].show = false
140
+ this.removeStyle(menuData)
141
+ },
142
+ isShow (menuName) {
143
+ let index = this.menuShowList.findIndex(val => val.name === menuName)
144
+ if (index < 0) return false
145
+ return this.menuShowList[index].show
146
+ }
147
+ }
148
+ }
149
+ </script>
150
+
151
+ <!-- Add "scoped" attribute to limit CSS to this component only -->
152
+ <style scoped>
153
+ /************** 这里是通用样式, 是不用抽取的 **********/
154
+ * {
155
+ margin: 0px;
156
+ padding: 0px;
157
+ }
158
+ /*整个nav的容器, 大小随着里面的子元素变动而变动*/
159
+ .KissNavMenuContainer {
160
+ width: auto;
161
+ height: auto;
162
+ }
163
+
164
+ .KissNavMenuItem {
165
+ outline: 0px;
166
+ border: 0px;
167
+ width: 82;
168
+ height: 92px;
169
+ background-color: transparent;
170
+ list-style: none;
171
+ }
172
+ /***************************************************/
173
+
174
+ .KissNavMenuBorder {
175
+ position: relative;
176
+ z-index: 1;
177
+ width: 64px;
178
+ height: 74px;
179
+ cursor: pointer;
180
+ /* border: 1px solid red; */
181
+ background: url("../image/KissNavMenu/menubg.png");
182
+ background-repeat: no-repeat;
183
+ }
184
+
185
+ .KissNavMenuBorder:hover {
186
+ background: url("../image/KissNavMenu/menubgselect.png");
187
+ background-repeat: no-repeat;
188
+ }
189
+
190
+ .KissNavMenuBorderClick {
191
+ position: relative;
192
+ z-index: 1;
193
+ width: 64px;
194
+ height: 74px;
195
+ cursor: pointer;
196
+ background: url("../image/KissNavMenu/menubgselect.png");
197
+ background-repeat: no-repeat;
198
+ }
199
+
200
+ .KissNavMenuIcon {
201
+ position: relative;
202
+ z-index: 2;
203
+ pointer-events: none; /*这个属性为none 鼠标事件将不起作用直接响应父组件的鼠标事件*/
204
+ width: 38px;
205
+ height: 38px;
206
+ top: 18px;
207
+ bottom: 0px;
208
+ /* left: 0px;
209
+ right: 0px; */
210
+ /* border: 1px solid red; */
211
+ margin-left: auto;
212
+ margin-right: auto;
213
+ background-repeat: no-repeat;
214
+ }
215
+
216
+ .KissNavMenuBorder:hover .KissNavMenuIcon {
217
+ -webkit-animation: dese 0.75s linear infinite;
218
+ -moz-animation: dese 0.75s linear infinite;
219
+ -ms-animation: dese 0.75s linear infinite;
220
+ -o-animation: dese 0.75s linear infinite;
221
+ animation: dese 0.75s linear infinite;
222
+ }
223
+ .KissNavMenuBorder:hover .KissNavMenuName {
224
+ opacity: 1;
225
+ }
226
+
227
+ .KissNavMenuBorderClick:hover .KissNavMenuIcon {
228
+ -webkit-animation: dese 0.75s linear infinite;
229
+ -moz-animation: dese 0.75s linear infinite;
230
+ -ms-animation: dese 0.75s linear infinite;
231
+ -o-animation: dese 0.75s linear infinite;
232
+ animation: dese 0.75s linear infinite;
233
+ }
234
+ .KissNavMenuBorderClick:hover .KissNavMenuName {
235
+ opacity: 1;
236
+ }
237
+
238
+ /*****************图标文字***************/
239
+ .KissNavMenuName {
240
+ opacity: 0;
241
+ position: relative;
242
+ display: inline-block;
243
+ pointer-events: none;
244
+ z-index: 0;
245
+ height: 35px;
246
+ white-space: nowrap;
247
+ min-width: 100px;
248
+ top: -17px;
249
+ left: 67px;
250
+ text-align: center;
251
+ color: #ffde00;
252
+ background-color: #724e01;
253
+ border: #ffba00 solid 1px;
254
+
255
+ font-size: 14px;
256
+ line-height: 38px;
257
+ padding-left: 5px;
258
+ padding-right: 5px;
259
+ }
260
+
261
+ /* 定义keyframe动画效果:摇摆*/
262
+ @keyframes dese {
263
+ 0% {
264
+ transform: rotate(-12deg);
265
+ } /* 添加旋转角度,以下类似 */
266
+ 20% {
267
+ transform: rotate(8deg);
268
+ }
269
+ 30% {
270
+ transform: rotate(6deg);
271
+ }
272
+ 40% {
273
+ transform: rotate(3deg);
274
+ }
275
+ 55% {
276
+ transform: rotate(0deg);
277
+ }
278
+ 70% {
279
+ transform: rotate(-4deg);
280
+ }
281
+ 80% {
282
+ transform: rotate(7deg);
283
+ }
284
+ 90% {
285
+ transform: rotate(-8deg);
286
+ }
287
+ 90% {
288
+ transform: rotate(12deg);
289
+ }
290
+ }
291
+
292
+ .bounce-leave-to {
293
+ animation: bounceInLeft 0.5s reverse;
294
+ }
295
+ .bounce-enter-active {
296
+ animation: bounceInLeft 0.5s;
297
+ }
298
+
299
+ @keyframes bounceInLeft {
300
+ 0% {
301
+ opacity: 0;
302
+ transform: translate3d(-2000px, 0, 0);
303
+ }
304
+
305
+ 60% {
306
+ opacity: 0.6;
307
+ transform: translate3d(-1000px, 0, 0);
308
+ }
309
+
310
+ 75% {
311
+ opacity: 0.75;
312
+ transform: translate3d(-500px, 0, 0);
313
+ }
314
+
315
+ 90% {
316
+ opacity: 0.9;
317
+ transform: translate3d(-20px, 0, 0);
318
+ }
319
+
320
+ to {
321
+ transform: none;
322
+ }
323
+ }
324
+ </style>