qj-common 4.3.0 → 4.3.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 (229) hide show
  1. package/.babelrc +12 -12
  2. package/.eslintrc.js +25 -25
  3. package/.idea/common.iml +11 -11
  4. package/.idea/modules.xml +7 -7
  5. package/.idea/vcs.xml +5 -5
  6. package/.postcssrc.js +9 -9
  7. package/.prettierrc.js +7 -7
  8. package/.project +37 -37
  9. package/README.md +2 -2
  10. package/gulpfile.js +20 -20
  11. package/package.json +18 -18
  12. package/src/api/apimanage.js +146 -146
  13. package/src/api/common/index.js +192 -192
  14. package/src/api/login.js +160 -160
  15. package/src/api/shopFbu.js +515 -515
  16. package/src/api/upload.js +8 -8
  17. package/src/components/Bounced/index.vue +145 -145
  18. package/src/components/Breadcrumb/index.vue +71 -71
  19. package/src/components/Checkbox/index.vue +53 -53
  20. package/src/components/Hamburger/index.vue +48 -48
  21. package/src/components/Logistics/logic.vue +186 -186
  22. package/src/components/ScrollBar/index.vue +60 -60
  23. package/src/components/Sticky/index.vue +76 -76
  24. package/src/components/SvgIcon/index.vue +42 -42
  25. package/src/components/ThemePicker/index.vue +243 -243
  26. package/src/components/Tinymce/components/editorImage.vue +94 -94
  27. package/src/components/Tinymce/index.vue +166 -166
  28. package/src/components/Tinymce/plugins.js +7 -7
  29. package/src/components/Tinymce/toolbar.js +6 -6
  30. package/src/components/TreeTable/customEval.js +44 -44
  31. package/src/components/TreeTable/eval.js +29 -29
  32. package/src/components/TreeTable/index.vue +124 -124
  33. package/src/components/TreeTable/readme.md +89 -89
  34. package/src/components/TreeTableApi/customEval.js +49 -49
  35. package/src/components/TreeTableApi/eval.js +29 -29
  36. package/src/components/TreeTableApi/index.vue +124 -124
  37. package/src/components/TreeTableApi/readme.md +89 -89
  38. package/src/components/Upload/singleImage.vue +123 -123
  39. package/src/components/Upload/singleImage2.vue +118 -118
  40. package/src/components/Upload/singleImage3.vue +138 -138
  41. package/src/components/Upload/upload.vue +295 -295
  42. package/src/components/workOrderList/index.vue +158 -158
  43. package/src/dependencies.js +119 -119
  44. package/src/iconShop/demo.css +539 -539
  45. package/src/iconShop/demo_index.html +8445 -8445
  46. package/src/iconShop/iconfont.css +1451 -1451
  47. package/src/iconShop/iconfont.json +2522 -2522
  48. package/src/iconShop/iconfont.svg +1070 -1070
  49. package/src/iconfont/demo.css +539 -539
  50. package/src/iconfont/demo_index.html +5276 -5276
  51. package/src/iconfont/iconfont.css +905 -905
  52. package/src/iconfont/iconfont.json +1563 -1563
  53. package/src/iconfont/iconfont.svg +692 -692
  54. package/src/icons/index.js +9 -9
  55. package/src/lang/e.js +48 -48
  56. package/src/lang/en.js +48 -48
  57. package/src/lang/zh.js +48 -48
  58. package/src/main.js +62 -62
  59. package/src/permission.js +283 -283
  60. package/src/permissionForMall.backup.js +375 -375
  61. package/src/permissionForMall.js +375 -375
  62. package/src/preset.js +67 -67
  63. package/src/router/_import_common.js +1 -1
  64. package/src/router/_import_development.js +1 -1
  65. package/src/router/_import_production.js +1 -1
  66. package/src/store/getters.js +39 -39
  67. package/src/store/index.js +18 -18
  68. package/src/store/modules/app.js +34 -30
  69. package/src/store/modules/menu.js +82 -82
  70. package/src/store/modules/user.js +227 -227
  71. package/src/styles/element-ui.scss +1368 -1368
  72. package/src/styles/index.scss +166 -166
  73. package/src/styles/mixin.scss +27 -27
  74. package/src/styles/pc-ui.scss +1031 -1031
  75. package/src/styles/scrollBar.scss +21 -21
  76. package/src/styles/sidebar.scss +123 -123
  77. package/src/styles/transition.scss +32 -32
  78. package/src/styles/variables.scss +44 -44
  79. package/src/styles/wf-ui.scss +86 -86
  80. package/src/utils/auth.js +57 -57
  81. package/src/utils/dom.js +12 -12
  82. package/src/utils/getQueryString.js +5 -5
  83. package/src/utils/import.js +5 -5
  84. package/src/utils/index.js +355 -355
  85. package/src/utils/interceptor.js +34 -34
  86. package/src/utils/menu.js +116 -116
  87. package/src/utils/proapp.js +35 -35
  88. package/src/utils/query.js +26 -26
  89. package/src/utils/request.js +366 -366
  90. package/src/utils/routeMapping.js +39 -39
  91. package/src/utils/routeMapping.json +310 -310
  92. package/src/utils/utils.js +84 -84
  93. package/src/utils/validate.js +102 -102
  94. package/src/views/404.vue +72 -72
  95. package/src/views/Layout.vue +106 -106
  96. package/src/views/imgSwiper/index.vue +34 -34
  97. package/src/views/layout/Layout.vue +181 -170
  98. package/src/views/layout/components/AppMain.vue +20 -20
  99. package/src/views/layout/components/Footer.vue +22 -22
  100. package/src/views/layout/components/LeftNavbar.vue +318 -310
  101. package/src/views/layout/components/NavMenu.vue +15 -15
  102. package/src/views/layout/components/Navbar.vue +664 -661
  103. package/src/views/layout/components/Sidebar/SidebarItem.vue +116 -113
  104. package/src/views/layout/components/Sidebar/index.vue +203 -193
  105. package/src/views/layout/components/index.js +19 -19
  106. package/src/views/layout/theme/darkBlue/Layout.vue +140 -140
  107. package/src/views/layout/theme/darkBlue/components/AppMain.vue +38 -38
  108. package/src/views/layout/theme/darkBlue/components/Footer.vue +147 -147
  109. package/src/views/layout/theme/darkBlue/components/LeftNavbar(/345/261/225/347/244/272/345/205/250/351/203/250/350/217/234/345/215/225).vue +448 -448
  110. package/src/views/layout/theme/darkBlue/components/LeftNavbar.3.vue +191 -191
  111. package/src/views/layout/theme/darkBlue/components/LeftNavbar.vue +466 -466
  112. package/src/views/layout/theme/darkBlue/components/Navbar.vue +200 -200
  113. package/src/views/layout/theme/darkBlue/components/Sidebar/SidebarItem.vue +71 -71
  114. package/src/views/layout/theme/darkBlue/components/Sidebar/index.vue +49 -49
  115. package/src/views/layout/theme/darkBlue/components/index.js +15 -15
  116. package/src/views/layout-default/Layout.vue +134 -134
  117. package/src/views/layout-default/components/AppMain.vue +19 -19
  118. package/src/views/layout-default/components/Footer.vue +22 -22
  119. package/src/views/layout-default/components/LeftNavbar.vue +164 -164
  120. package/src/views/layout-default/components/Navbar.vue +295 -295
  121. package/src/views/layout-default/components/Sidebar/SidebarItem.vue +67 -67
  122. package/src/views/layout-default/components/Sidebar/index.vue +59 -59
  123. package/src/views/layout-default/components/index.js +4 -4
  124. package/src/views/layout-default/theme/darkBlue/Layout.vue +140 -140
  125. package/src/views/layout-default/theme/darkBlue/components/AppMain.vue +38 -38
  126. package/src/views/layout-default/theme/darkBlue/components/Footer.vue +147 -147
  127. package/src/views/layout-default/theme/darkBlue/components/LeftNavbar.vue +465 -465
  128. package/src/views/layout-default/theme/darkBlue/components/Navbar.vue +200 -200
  129. package/src/views/layout-default/theme/darkBlue/components/Sidebar/SidebarItem.vue +69 -69
  130. package/src/views/layout-default/theme/darkBlue/components/Sidebar/index.vue +49 -49
  131. package/src/views/layout-default/theme/darkBlue/components/index.js +15 -15
  132. package/src/views/pc/Internationalization.vue +80 -80
  133. package/src/views/pc/default/Layout.vue +442 -442
  134. package/src/views/pc/default/LayoutCard.vue +424 -424
  135. package/src/views/pc/default/assets/flex.scss +99 -99
  136. package/src/views/pc/default/footer-modules/DgFooter/index.vue +179 -179
  137. package/src/views/pc/default/footer-modules/DgFooter/indexSDX.vue +187 -187
  138. package/src/views/pc/default/footer-modules/footer.vue +171 -171
  139. package/src/views/pc/default/footer-modules/footerAns.vue +167 -167
  140. package/src/views/pc/default/footer-modules/footerBulk.vue +169 -169
  141. package/src/views/pc/default/footer-modules/footerDM.vue +254 -254
  142. package/src/views/pc/default/footer-modules/footerDefault.vue +267 -267
  143. package/src/views/pc/default/footer-modules/footerDefaultA.vue +270 -270
  144. package/src/views/pc/default/footer-modules/footerDefaultNew.vue +201 -201
  145. package/src/views/pc/default/footer-modules/footerHDB.vue +153 -153
  146. package/src/views/pc/default/footer-modules/footerHy.vue +63 -63
  147. package/src/views/pc/default/footer-modules/footerKYW.vue +163 -163
  148. package/src/views/pc/default/footer-modules/footerMh.vue +30 -30
  149. package/src/views/pc/default/footer-modules/footerNew.vue +116 -116
  150. package/src/views/pc/default/footer-modules/footer_yzj.vue +169 -169
  151. package/src/views/pc/default/footer-modules/footerayd.vue +85 -85
  152. package/src/views/pc/default/footer-modules/ymFooter.vue +154 -154
  153. package/src/views/pc/default/footer-modules/zgl.vue +250 -250
  154. package/src/views/pc/default/header-modules/DgHeader/Logo.vue +57 -57
  155. package/src/views/pc/default/header-modules/DgHeader/Search.vue +135 -135
  156. package/src/views/pc/default/header-modules/DgHeader/Settleup.vue +46 -46
  157. package/src/views/pc/default/header-modules/DgHeader/index.vue +38 -38
  158. package/src/views/pc/default/header-modules/active.vue +177 -177
  159. package/src/views/pc/default/header-modules/header.vue +97 -97
  160. package/src/views/pc/default/header-modules/headerA.vue +142 -142
  161. package/src/views/pc/default/header-modules/headerFLPT.vue +157 -157
  162. package/src/views/pc/default/header-modules/headerMh.vue +187 -187
  163. package/src/views/pc/default/header-modules/headerNew.vue +121 -121
  164. package/src/views/pc/default/header-modules/headerSDX.vue +304 -304
  165. package/src/views/pc/default/header-modules/headerStyle2.vue +173 -173
  166. package/src/views/pc/default/header-modules/headerStyle3.vue +190 -190
  167. package/src/views/pc/default/header-modules/headerStyle4.vue +163 -163
  168. package/src/views/pc/default/header-modules/headerStyleAns.vue +400 -400
  169. package/src/views/pc/default/header-modules/headerStyleBulk.vue +427 -427
  170. package/src/views/pc/default/header-modules/headerStyleDefalut.vue +209 -209
  171. package/src/views/pc/default/header-modules/headerStyleKYW.vue +435 -435
  172. package/src/views/pc/default/header-modules/headerStyle_yzj.vue +427 -427
  173. package/src/views/pc/default/header-modules/headerayd.vue +187 -187
  174. package/src/views/pc/default/header-modules/index.vue +466 -466
  175. package/src/views/pc/default/header-modules/ymHeader.vue +292 -292
  176. package/src/views/pc/default/header-modules/ysHeader.vue +248 -248
  177. package/src/views/pc/default/header-modules/zgl.vue +855 -855
  178. package/src/views/pc/default/leftMenu-modules/leftMenu-logo.vue +194 -194
  179. package/src/views/pc/default/leftMenu-modules/leftMenu-style2.vue +206 -206
  180. package/src/views/pc/default/leftMenu-modules/leftMenu-style3.vue +207 -207
  181. package/src/views/pc/default/leftMenu-modules/leftMenu-style4.vue +192 -192
  182. package/src/views/pc/default/leftMenu-modules/leftMenu.vue +183 -183
  183. package/src/views/pc/default/leftMenu-modules/leftMenuDefault.vue +212 -212
  184. package/src/views/pc/default/leftMenu-modules/leftMenuDefaultEn.vue +214 -214
  185. package/src/views/pc/default/leftMenu-modules/leftMenuDefaultFLPT.vue +220 -220
  186. package/src/views/pc/default/leftMenu-modules/leftMenuDefaultayd.vue +220 -220
  187. package/src/views/pc/default/nav-modules/nav.vue +52 -52
  188. package/src/views/pc/default/nav-modules/navAns.vue +60 -60
  189. package/src/views/pc/default/nav-modules/navBulk.vue +60 -60
  190. package/src/views/pc/default/top-modules/DgTopShortcut/index.vue +177 -177
  191. package/src/views/pc/default/top-modules/Toplg.vue +280 -280
  192. package/src/views/pc/default/top-modules/topA.vue +136 -136
  193. package/src/views/pc/default/top-modules/topAns.vue +261 -261
  194. package/src/views/pc/default/top-modules/topAns_yzj.vue +282 -282
  195. package/src/views/pc/default/top-modules/topBar.vue +304 -304
  196. package/src/views/pc/default/top-modules/topBulk.vue +280 -280
  197. package/src/views/pc/default/top-modules/topDefault.vue +244 -244
  198. package/src/views/pc/default/top-modules/topDefaultDM.vue +197 -197
  199. package/src/views/pc/default/top-modules/topDefaultNew.vue +271 -271
  200. package/src/views/pc/default/top-modules/topFLPT.vue +197 -197
  201. package/src/views/pc/default/top-modules/topHDB.vue +479 -479
  202. package/src/views/pc/default/top-modules/topKYW.vue +258 -258
  203. package/src/views/pc/default/top-modules/topMh.vue +174 -174
  204. package/src/views/pc/default/top-modules/topNew.vue +97 -97
  205. package/src/views/pc/default/top-modules/topSDX.vue +298 -298
  206. package/src/views/pc/default/top-modules/topSimple.vue +247 -247
  207. package/src/views/pc/default/top-modules/topSimpleHy.vue +256 -256
  208. package/src/views/pc/default/top-modules/topUcc.vue +264 -264
  209. package/src/views/pc/default/top-modules/topayd.vue +170 -170
  210. package/src/views/pc/default/top-modules/ymTop.vue +299 -299
  211. package/src/views/pc/default/top-modules/zgltop.vue +499 -499
  212. package/src/views/routerView.vue +9 -9
  213. package/src/views/templates/components/temp-select.vue +80 -80
  214. package/src/views/templates/components/temp-upload.vue +233 -233
  215. package/src/views/templates/readme.md +2 -2
  216. package/src/views/templates/templateInput.vue +421 -421
  217. package/src/views/templates/templateReadme.html +588 -588
  218. package/src/views/templates/templateReadme.md +619 -619
  219. package/src/views/templates/templateTable.vue +2243 -2243
  220. package/src/views/templates/templateTableData.vue +1883 -1883
  221. package/src/views/templates/templateUi/templateTableContent.vue +187 -187
  222. package/src/views/treeTemplate/index.vue +559 -559
  223. package/src/views/treeTemplate/treeTemplate.md +274 -274
  224. package/src/views/uploadDialog/index copy.vue +352 -352
  225. package/src/views/uploadDialog/index.vue +558 -558
  226. package/src/views/uploadDialog/indexOlay.vue +582 -582
  227. package/src/views/uploadDialog/indexPM.vue +578 -578
  228. package/src/views/uploadDialog/indexUpload.vue +543 -543
  229. package/src/views/uploadDialog/readme.md +45 -45
@@ -1,448 +1,448 @@
1
- <template>
2
- <div
3
- :class="{'is-active':sidebar.appNavOpen}"
4
- class="el-menu-vertical-demo"
5
- :style="{height:height+'px'}"
6
- >
7
- <!-- <div class="top-logo">
8
- <img src="../assets/logo.png">
9
- </div>-->
10
- <div class="tool-menu-svg">
11
- <a class="header-container">
12
- <div class="header-img">
13
- <i class="user-icon"></i>
14
- </div>
15
- <span>{{$store.state.user.name}}</span>
16
- </a>
17
- <a class="my-youfu">我的悠福</a>
18
- </div>
19
- <!-- <div class="el-container-box" :style="{height:heightBox+'px'}"> -->
20
- <div class="el-container-box">
21
- <div class="el-menu-box">
22
- <ul class="el-menu-ul">
23
- <li
24
- class="active"
25
- v-for="(item,index) in appList.list"
26
- :key="index"
27
- v-if="!item.menuTarget"
28
- >
29
- <a class="active" @click="menuLi($event)">
30
- <i
31
- class="iconfont"
32
- :class="item.proappMenuRemark ? item.proappMenuRemark :'icon-caidan-shi'"
33
- ></i>
34
- {{item.menuName}}
35
- </a>
36
- <ol v-if="item.children!==null">
37
- <li
38
- v-for="(itemOl,indexOl) in item.children"
39
- :key="indexOl"
40
- :class="[$route.path == '/'+itemOl.menuAction ? 'active':'',itemOl.menuAction]"
41
- v-if=" !itemOl.menuTarget"
42
- >
43
- <div class="el-li-title">
44
- <a @click="menuHref(item.menuAction,itemOl,2)">
45
- <em></em>
46
- <span></span>
47
- {{itemOl.menuName}}
48
- </a>
49
- <i
50
- v-if="itemOl.children!==null"
51
- :class="[iconStatic? 'el-icon-minus':'el-icon-plus', 'el-icon']"
52
- @click="menuIcon($event)"
53
- ></i>
54
- </div>
55
- <dl v-if="itemOl.children!==null" class="el-dl-list-box">
56
- <dd
57
- v-for="(itemDd,indexDd) in itemOl.children"
58
- :key="indexDd"
59
- :class="[$route.path.split('/')[2] == itemDd.menuAction ? 'is-active3':'']"
60
- v-if=" !itemDd.menuTarget"
61
- >
62
- <a
63
- class="el-dd-list"
64
- @click="menuHref(item.menuAction,itemDd,3)"
65
- >{{itemDd.menuName}}</a>
66
- </dd>
67
- </dl>
68
- </li>
69
- </ol>
70
- </li>
71
- </ul>
72
- </div>
73
- </div>
74
- </div>
75
- </template>
76
-
77
- <script>
78
- import { mapGetters } from "vuex";
79
-
80
- export default {
81
- data() {
82
- return {
83
- appActive: process.env.APP_PATH, // 当前点击的项目名称
84
- height: document.documentElement.clientHeight - 85,
85
- heightBox: document.documentElement.clientHeight - 355,
86
- isCollapse: true,
87
- iconStatic: false
88
- };
89
- },
90
- mounted() {
91
- // console.log(this.appList, "=====++++==");
92
- console.log(this.appList, "appListappList");
93
- window.addEventListener("resize", this.heightChange);
94
- //先判断是几级菜单,现在的是二级菜单
95
- if (document.querySelector(".active")) {
96
- //表示二级菜单
97
- document.querySelector(".active").parentNode.parentNode.className =
98
- "active";
99
- } else if (document.querySelector(".is-active3")) {
100
- //三级菜单
101
- let obj = document.querySelector(".is-active3");
102
- console.log(obj, "obj");
103
- this.iconStatic = true;
104
- obj.parentNode.parentNode.childNodes[0].classList.add("active");
105
- obj.parentNode.parentNode.parentNode.parentNode.childNodes[0].classList.add(
106
- "active"
107
- );
108
- obj.className = "active";
109
- }
110
- },
111
- computed: {
112
- ...mapGetters(["appList", "sidebar"])
113
- },
114
- watch: {},
115
- methods: {
116
- // toggle(index) {
117
- // this.checkindex = index;
118
- // },
119
- menuLi(e) {
120
- //点击显示二级菜单
121
- //点击添加class
122
- e.target.classList.toggle("active");
123
- },
124
- menuIcon(e) {
125
- //点击显示三级菜单
126
- e.target.parentNode.classList.toggle("active");
127
- if (e.target.className.indexOf("el-icon-plus") >= 0) {
128
- e.target.classList.remove("el-icon-plus");
129
- e.target.classList.add("el-icon-minus");
130
- } else {
131
- e.target.classList.remove("el-icon-minus");
132
- e.target.classList.add("el-icon-plus");
133
- }
134
- },
135
- handleSelect(key, keyPath) {
136
- if (!key) {
137
- return;
138
- }
139
- var url = "";
140
- this.appList.list.forEach(item => {
141
- if (item.menuJspath === key) {
142
- url = item.menuAction;
143
- }
144
- });
145
- window.location.href = url;
146
- console.log(key, keyPath);
147
- },
148
- handleOpen(key, keyPath) {
149
- console.log(key, keyPath);
150
- },
151
- handleClose(key, keyPath) {
152
- console.log(key, keyPath);
153
- },
154
- heightChange() {
155
- this.height = document.documentElement.clientHeight - 58 - 40;
156
- },
157
- menuHref(menuAction, item, index) {
158
- let path =
159
- index === 2
160
- ? "/" + item.menuAction
161
- : "/" + item.proappMenuPcode + "/" + item.menuAction;
162
- // index===2 是二级菜单,3是三级菜单
163
- if (item.children === null) {
164
- //可跳转
165
- if (location.href.indexOf("localhost") >= 0) {
166
- //localhost表示本地跳转
167
-
168
- this.$router.push({
169
- path: path
170
- });
171
-
172
- this.$store.commit("MENUTITLE", item.menuName);
173
- } else {
174
- if (location.href.indexOf(menuAction) >= 0) {
175
- //表示线上同源下跳转
176
- this.$router.push({
177
- path: path
178
- });
179
- this.$store.commit("MENUTITLE", item.menuName);
180
- } else {
181
- location.href = menuAction + "#" + path;
182
- }
183
- }
184
- }
185
- }
186
- }
187
- };
188
- </script>
189
-
190
- <style rel="stylesheet" scoped>
191
- .el-menu-ul ol {
192
- display: none;
193
- margin-left: 7px;
194
- /* transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
195
- transform: translateY(0); */
196
- }
197
- .el-menu-ul li ol li.active .el-dl-list-box,
198
- .el-menu-ul ol.active,
199
- .el-menu-ul li a.active + ol {
200
- display: block;
201
- }
202
-
203
- .el-menu-ul .active ol,
204
- .el-menu-ul .active + ol {
205
- display: block;
206
- }
207
-
208
- .el-menu-vertical-demo {
209
- width: 196px;
210
- margin-top: 12px;
211
- }
212
- .user-icon {
213
- display: block;
214
- height: 80px;
215
- overflow: hidden;
216
- background: url("../../../../../assets/nav/admin.png") center no-repeat;
217
- }
218
- .top-logo {
219
- height: 120px;
220
- line-height: 120px;
221
- text-align: center;
222
- margin-bottom: 2px;
223
- background: #fff;
224
- }
225
- .top-logo img {
226
- height: 70px;
227
- }
228
- .el-menu-vertical-demo {
229
- background: none;
230
- }
231
- .el-menu-vertical-demo.is-active {
232
- width: 50px;
233
- }
234
- .el-menu-vertical {
235
- width: 100%;
236
- height: 100%;
237
- border-right: none;
238
- }
239
-
240
- .el-menu-item:hover,
241
- .el-menu-item:hover a,
242
- .el-menu-item:hover a i {
243
- background: #f1f8ff !important;
244
- }
245
- .el-menu-item.is-active,
246
- .el-menu-item.is-active a,
247
- .el-menu-item.is-active a i {
248
- background: #f1f8ff !important;
249
- }
250
-
251
- .header-img {
252
- display: inline-block;
253
- width: 80px;
254
- height: 80px;
255
- border-radius: 50%;
256
- background: #eee;
257
- margin: 20px 0 0px;
258
- text-align: center;
259
- }
260
- .header-container {
261
- display: block;
262
- }
263
- .header-container span {
264
- display: block;
265
- color: #666;
266
- line-height: 30px;
267
- }
268
- .el-submenu .el-menu-item {
269
- min-width: 196px;
270
- }
271
- .tool-menu-svg {
272
- font-size: 14px;
273
- width: 196px;
274
- /*height: 150px;*/
275
- text-align: center;
276
- /*position: absolute;*/
277
- z-index: 12;
278
- background: #fff;
279
- border-bottom: solid 1px #eee;
280
- padding-bottom: 10px;
281
- /* box-shadow: -5px 2px 10px 0 #333; */
282
- }
283
- .my-youfu {
284
- display: block;
285
- height: 50px;
286
- line-height: 50px;
287
- background: #f1f8ff;
288
- color: #2171d2;
289
- margin-top: 30px;
290
- position: relative;
291
- }
292
- .my-youfu:after {
293
- content: "";
294
- display: block;
295
- width: 4px;
296
- background: #2171d2;
297
- position: absolute;
298
- right: -4px;
299
- height: 100%;
300
- top: 0;
301
- }
302
- .app-scroll-container {
303
- /* margin-top: 72px;
304
- padding-bottom: 72px;*/
305
- margin-top: 60px;
306
- }
307
- .app-scroll-container.scroll-container {
308
- background: #fff;
309
- }
310
- .el-menu-custom {
311
- margin-left: 34px;
312
- width: 140px;
313
- }
314
- .el-menu-list {
315
- /* border-top: 1px solid #666; */
316
- min-width: 160px !important;
317
- border-left: 1px solid #999;
318
- padding: 0px !important;
319
- }
320
- .el-menu-ul a {
321
- overflow: hidden;
322
- text-overflow: ellipsis;
323
- white-space: nowrap;
324
- }
325
- .el-menu-list i {
326
- width: 20px;
327
- height: 1px;
328
- background: #999;
329
- display: inline-block;
330
- }
331
- .el-menu-list span {
332
- display: inline-block;
333
- width: 6px;
334
- height: 6px;
335
- border-radius: 50%;
336
- background: #999;
337
- margin-right: 6px;
338
- }
339
-
340
- .el-menu-ul {
341
- margin: 0px 15px;
342
- width: 166px;
343
- font-size: 14px;
344
- line-height: 42px;
345
- -webkit-user-select: none;
346
- -moz-user-select: none;
347
- -ms-user-select: none;
348
- user-select: none;
349
- }
350
- .el-dl-list-box {
351
- display: none;
352
- }
353
- .el-dl-list-box a {
354
- display: block;
355
- }
356
- .el-menu-ul ol li {
357
- position: relative;
358
- }
359
- .el-menu-ul ol li:last-child .el-dl-list-box a::before {
360
- content: "";
361
- position: absolute;
362
- left: 0;
363
- background: #999;
364
- width: 1px;
365
- z-index: 10;
366
- height: 0px;
367
- }
368
- .el-dl-list-box a::before {
369
- content: "";
370
- position: absolute;
371
- left: 0;
372
- background: #999;
373
- width: 1px;
374
- z-index: 10;
375
- height: 44px;
376
- }
377
-
378
- .el-menu-ul ol li::before {
379
- content: "";
380
- position: absolute;
381
- left: 0;
382
- background: #999;
383
- width: 1px;
384
- z-index: 10;
385
- height: 44px;
386
- }
387
- .el-menu-ul ol li:last-child::before {
388
- content: "";
389
- position: absolute;
390
- left: 0;
391
- background: #999;
392
- width: 1px;
393
- z-index: 10;
394
- height: 23px;
395
- }
396
- .el-menu-ul i {
397
- font-size: 16px;
398
- margin-right: 5px;
399
- display: inline-block;
400
- }
401
- .el-menu-box a {
402
- color: #666;
403
- }
404
- .el-menu-box {
405
- position: relative;
406
- }
407
- .el-menu-box ~ .el-menu-box {
408
- /* border-top: 1px solid #eee; */
409
- margin-top: 20px;
410
- }
411
- .el-container-box {
412
- background: #fff;
413
- /*margin-top: 150px;*/
414
- overflow-x: hidden;
415
- overflow-y: auto;
416
- }
417
-
418
- .el-li-title span {
419
- display: inline-block;
420
- width: 6px;
421
- height: 6px;
422
- border-radius: 50%;
423
- background: #999;
424
- margin-right: 6px;
425
- }
426
- .el-li-title.active + dl {
427
- display: block;
428
- }
429
- .el-li-title em {
430
- width: 15px;
431
- height: 1px;
432
- background: #999;
433
- display: inline-block;
434
- vertical-align: middle;
435
- }
436
- .el-dd-list {
437
- display: block;
438
- font-size: 12px;
439
- color: #999;
440
- padding-left: 45px;
441
- }
442
- .el-li-title i.el-icon {
443
- font-size: 12px;
444
- margin-left: 5px;
445
- cursor: pointer;
446
- }
447
- </style>
448
-
1
+ <template>
2
+ <div
3
+ :class="{'is-active':sidebar.appNavOpen}"
4
+ class="el-menu-vertical-demo"
5
+ :style="{height:height+'px'}"
6
+ >
7
+ <!-- <div class="top-logo">
8
+ <img src="../assets/logo.png">
9
+ </div>-->
10
+ <div class="tool-menu-svg">
11
+ <a class="header-container">
12
+ <div class="header-img">
13
+ <i class="user-icon"></i>
14
+ </div>
15
+ <span>{{$store.state.user.name}}</span>
16
+ </a>
17
+ <a class="my-youfu">我的悠福</a>
18
+ </div>
19
+ <!-- <div class="el-container-box" :style="{height:heightBox+'px'}"> -->
20
+ <div class="el-container-box">
21
+ <div class="el-menu-box">
22
+ <ul class="el-menu-ul">
23
+ <li
24
+ class="active"
25
+ v-for="(item,index) in appList.list"
26
+ :key="index"
27
+ v-if="!item.menuTarget"
28
+ >
29
+ <a class="active" @click="menuLi($event)">
30
+ <i
31
+ class="iconfont"
32
+ :class="item.proappMenuRemark ? item.proappMenuRemark :'icon-caidan-shi'"
33
+ ></i>
34
+ {{item.menuName}}
35
+ </a>
36
+ <ol v-if="item.children!==null">
37
+ <li
38
+ v-for="(itemOl,indexOl) in item.children"
39
+ :key="indexOl"
40
+ :class="[$route.path == '/'+itemOl.menuAction ? 'active':'',itemOl.menuAction]"
41
+ v-if=" !itemOl.menuTarget"
42
+ >
43
+ <div class="el-li-title">
44
+ <a @click="menuHref(item.menuAction,itemOl,2)">
45
+ <em></em>
46
+ <span></span>
47
+ {{itemOl.menuName}}
48
+ </a>
49
+ <i
50
+ v-if="itemOl.children!==null"
51
+ :class="[iconStatic? 'el-icon-minus':'el-icon-plus', 'el-icon']"
52
+ @click="menuIcon($event)"
53
+ ></i>
54
+ </div>
55
+ <dl v-if="itemOl.children!==null" class="el-dl-list-box">
56
+ <dd
57
+ v-for="(itemDd,indexDd) in itemOl.children"
58
+ :key="indexDd"
59
+ :class="[$route.path.split('/')[2] == itemDd.menuAction ? 'is-active3':'']"
60
+ v-if=" !itemDd.menuTarget"
61
+ >
62
+ <a
63
+ class="el-dd-list"
64
+ @click="menuHref(item.menuAction,itemDd,3)"
65
+ >{{itemDd.menuName}}</a>
66
+ </dd>
67
+ </dl>
68
+ </li>
69
+ </ol>
70
+ </li>
71
+ </ul>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </template>
76
+
77
+ <script>
78
+ import { mapGetters } from "vuex";
79
+
80
+ export default {
81
+ data() {
82
+ return {
83
+ appActive: process.env.APP_PATH, // 当前点击的项目名称
84
+ height: document.documentElement.clientHeight - 85,
85
+ heightBox: document.documentElement.clientHeight - 355,
86
+ isCollapse: true,
87
+ iconStatic: false
88
+ };
89
+ },
90
+ mounted() {
91
+ // console.log(this.appList, "=====++++==");
92
+ console.log(this.appList, "appListappList");
93
+ window.addEventListener("resize", this.heightChange);
94
+ //先判断是几级菜单,现在的是二级菜单
95
+ if (document.querySelector(".active")) {
96
+ //表示二级菜单
97
+ document.querySelector(".active").parentNode.parentNode.className =
98
+ "active";
99
+ } else if (document.querySelector(".is-active3")) {
100
+ //三级菜单
101
+ let obj = document.querySelector(".is-active3");
102
+ console.log(obj, "obj");
103
+ this.iconStatic = true;
104
+ obj.parentNode.parentNode.childNodes[0].classList.add("active");
105
+ obj.parentNode.parentNode.parentNode.parentNode.childNodes[0].classList.add(
106
+ "active"
107
+ );
108
+ obj.className = "active";
109
+ }
110
+ },
111
+ computed: {
112
+ ...mapGetters(["appList", "sidebar"])
113
+ },
114
+ watch: {},
115
+ methods: {
116
+ // toggle(index) {
117
+ // this.checkindex = index;
118
+ // },
119
+ menuLi(e) {
120
+ //点击显示二级菜单
121
+ //点击添加class
122
+ e.target.classList.toggle("active");
123
+ },
124
+ menuIcon(e) {
125
+ //点击显示三级菜单
126
+ e.target.parentNode.classList.toggle("active");
127
+ if (e.target.className.indexOf("el-icon-plus") >= 0) {
128
+ e.target.classList.remove("el-icon-plus");
129
+ e.target.classList.add("el-icon-minus");
130
+ } else {
131
+ e.target.classList.remove("el-icon-minus");
132
+ e.target.classList.add("el-icon-plus");
133
+ }
134
+ },
135
+ handleSelect(key, keyPath) {
136
+ if (!key) {
137
+ return;
138
+ }
139
+ var url = "";
140
+ this.appList.list.forEach(item => {
141
+ if (item.menuJspath === key) {
142
+ url = item.menuAction;
143
+ }
144
+ });
145
+ window.location.href = url;
146
+ console.log(key, keyPath);
147
+ },
148
+ handleOpen(key, keyPath) {
149
+ console.log(key, keyPath);
150
+ },
151
+ handleClose(key, keyPath) {
152
+ console.log(key, keyPath);
153
+ },
154
+ heightChange() {
155
+ this.height = document.documentElement.clientHeight - 58 - 40;
156
+ },
157
+ menuHref(menuAction, item, index) {
158
+ let path =
159
+ index === 2
160
+ ? "/" + item.menuAction
161
+ : "/" + item.proappMenuPcode + "/" + item.menuAction;
162
+ // index===2 是二级菜单,3是三级菜单
163
+ if (item.children === null) {
164
+ //可跳转
165
+ if (location.href.indexOf("localhost") >= 0) {
166
+ //localhost表示本地跳转
167
+
168
+ this.$router.push({
169
+ path: path
170
+ });
171
+
172
+ this.$store.commit("MENUTITLE", item.menuName);
173
+ } else {
174
+ if (location.href.indexOf(menuAction) >= 0) {
175
+ //表示线上同源下跳转
176
+ this.$router.push({
177
+ path: path
178
+ });
179
+ this.$store.commit("MENUTITLE", item.menuName);
180
+ } else {
181
+ location.href = menuAction + "#" + path;
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ };
188
+ </script>
189
+
190
+ <style rel="stylesheet" scoped>
191
+ .el-menu-ul ol {
192
+ display: none;
193
+ margin-left: 7px;
194
+ /* transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
195
+ transform: translateY(0); */
196
+ }
197
+ .el-menu-ul li ol li.active .el-dl-list-box,
198
+ .el-menu-ul ol.active,
199
+ .el-menu-ul li a.active + ol {
200
+ display: block;
201
+ }
202
+
203
+ .el-menu-ul .active ol,
204
+ .el-menu-ul .active + ol {
205
+ display: block;
206
+ }
207
+
208
+ .el-menu-vertical-demo {
209
+ width: 196px;
210
+ margin-top: 12px;
211
+ }
212
+ .user-icon {
213
+ display: block;
214
+ height: 80px;
215
+ overflow: hidden;
216
+ background: url("../../../../../assets/nav/admin.png") center no-repeat;
217
+ }
218
+ .top-logo {
219
+ height: 120px;
220
+ line-height: 120px;
221
+ text-align: center;
222
+ margin-bottom: 2px;
223
+ background: #fff;
224
+ }
225
+ .top-logo img {
226
+ height: 70px;
227
+ }
228
+ .el-menu-vertical-demo {
229
+ background: none;
230
+ }
231
+ .el-menu-vertical-demo.is-active {
232
+ width: 50px;
233
+ }
234
+ .el-menu-vertical {
235
+ width: 100%;
236
+ height: 100%;
237
+ border-right: none;
238
+ }
239
+
240
+ .el-menu-item:hover,
241
+ .el-menu-item:hover a,
242
+ .el-menu-item:hover a i {
243
+ background: #f1f8ff !important;
244
+ }
245
+ .el-menu-item.is-active,
246
+ .el-menu-item.is-active a,
247
+ .el-menu-item.is-active a i {
248
+ background: #f1f8ff !important;
249
+ }
250
+
251
+ .header-img {
252
+ display: inline-block;
253
+ width: 80px;
254
+ height: 80px;
255
+ border-radius: 50%;
256
+ background: #eee;
257
+ margin: 20px 0 0px;
258
+ text-align: center;
259
+ }
260
+ .header-container {
261
+ display: block;
262
+ }
263
+ .header-container span {
264
+ display: block;
265
+ color: #666;
266
+ line-height: 30px;
267
+ }
268
+ .el-submenu .el-menu-item {
269
+ min-width: 196px;
270
+ }
271
+ .tool-menu-svg {
272
+ font-size: 14px;
273
+ width: 196px;
274
+ /*height: 150px;*/
275
+ text-align: center;
276
+ /*position: absolute;*/
277
+ z-index: 12;
278
+ background: #fff;
279
+ border-bottom: solid 1px #eee;
280
+ padding-bottom: 10px;
281
+ /* box-shadow: -5px 2px 10px 0 #333; */
282
+ }
283
+ .my-youfu {
284
+ display: block;
285
+ height: 50px;
286
+ line-height: 50px;
287
+ background: #f1f8ff;
288
+ color: #2171d2;
289
+ margin-top: 30px;
290
+ position: relative;
291
+ }
292
+ .my-youfu:after {
293
+ content: "";
294
+ display: block;
295
+ width: 4px;
296
+ background: #2171d2;
297
+ position: absolute;
298
+ right: -4px;
299
+ height: 100%;
300
+ top: 0;
301
+ }
302
+ .app-scroll-container {
303
+ /* margin-top: 72px;
304
+ padding-bottom: 72px;*/
305
+ margin-top: 60px;
306
+ }
307
+ .app-scroll-container.scroll-container {
308
+ background: #fff;
309
+ }
310
+ .el-menu-custom {
311
+ margin-left: 34px;
312
+ width: 140px;
313
+ }
314
+ .el-menu-list {
315
+ /* border-top: 1px solid #666; */
316
+ min-width: 160px !important;
317
+ border-left: 1px solid #999;
318
+ padding: 0px !important;
319
+ }
320
+ .el-menu-ul a {
321
+ overflow: hidden;
322
+ text-overflow: ellipsis;
323
+ white-space: nowrap;
324
+ }
325
+ .el-menu-list i {
326
+ width: 20px;
327
+ height: 1px;
328
+ background: #999;
329
+ display: inline-block;
330
+ }
331
+ .el-menu-list span {
332
+ display: inline-block;
333
+ width: 6px;
334
+ height: 6px;
335
+ border-radius: 50%;
336
+ background: #999;
337
+ margin-right: 6px;
338
+ }
339
+
340
+ .el-menu-ul {
341
+ margin: 0px 15px;
342
+ width: 166px;
343
+ font-size: 14px;
344
+ line-height: 42px;
345
+ -webkit-user-select: none;
346
+ -moz-user-select: none;
347
+ -ms-user-select: none;
348
+ user-select: none;
349
+ }
350
+ .el-dl-list-box {
351
+ display: none;
352
+ }
353
+ .el-dl-list-box a {
354
+ display: block;
355
+ }
356
+ .el-menu-ul ol li {
357
+ position: relative;
358
+ }
359
+ .el-menu-ul ol li:last-child .el-dl-list-box a::before {
360
+ content: "";
361
+ position: absolute;
362
+ left: 0;
363
+ background: #999;
364
+ width: 1px;
365
+ z-index: 10;
366
+ height: 0px;
367
+ }
368
+ .el-dl-list-box a::before {
369
+ content: "";
370
+ position: absolute;
371
+ left: 0;
372
+ background: #999;
373
+ width: 1px;
374
+ z-index: 10;
375
+ height: 44px;
376
+ }
377
+
378
+ .el-menu-ul ol li::before {
379
+ content: "";
380
+ position: absolute;
381
+ left: 0;
382
+ background: #999;
383
+ width: 1px;
384
+ z-index: 10;
385
+ height: 44px;
386
+ }
387
+ .el-menu-ul ol li:last-child::before {
388
+ content: "";
389
+ position: absolute;
390
+ left: 0;
391
+ background: #999;
392
+ width: 1px;
393
+ z-index: 10;
394
+ height: 23px;
395
+ }
396
+ .el-menu-ul i {
397
+ font-size: 16px;
398
+ margin-right: 5px;
399
+ display: inline-block;
400
+ }
401
+ .el-menu-box a {
402
+ color: #666;
403
+ }
404
+ .el-menu-box {
405
+ position: relative;
406
+ }
407
+ .el-menu-box ~ .el-menu-box {
408
+ /* border-top: 1px solid #eee; */
409
+ margin-top: 20px;
410
+ }
411
+ .el-container-box {
412
+ background: #fff;
413
+ /*margin-top: 150px;*/
414
+ overflow-x: hidden;
415
+ overflow-y: auto;
416
+ }
417
+
418
+ .el-li-title span {
419
+ display: inline-block;
420
+ width: 6px;
421
+ height: 6px;
422
+ border-radius: 50%;
423
+ background: #999;
424
+ margin-right: 6px;
425
+ }
426
+ .el-li-title.active + dl {
427
+ display: block;
428
+ }
429
+ .el-li-title em {
430
+ width: 15px;
431
+ height: 1px;
432
+ background: #999;
433
+ display: inline-block;
434
+ vertical-align: middle;
435
+ }
436
+ .el-dd-list {
437
+ display: block;
438
+ font-size: 12px;
439
+ color: #999;
440
+ padding-left: 45px;
441
+ }
442
+ .el-li-title i.el-icon {
443
+ font-size: 12px;
444
+ margin-left: 5px;
445
+ cursor: pointer;
446
+ }
447
+ </style>
448
+