@hbisty/qj-common 5.0.4 → 5.0.6

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 (234) 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/siteMsg.js +36 -0
  17. package/src/api/upload.js +8 -8
  18. package/src/components/Bounced/index.vue +145 -145
  19. package/src/components/Breadcrumb/index.vue +71 -71
  20. package/src/components/Checkbox/index.vue +53 -53
  21. package/src/components/Hamburger/index.vue +48 -48
  22. package/src/components/Logistics/logic.vue +186 -186
  23. package/src/components/ScrollBar/index.vue +60 -60
  24. package/src/components/SiteMsg/img/readed-icon.png +0 -0
  25. package/src/components/SiteMsg/img/unread-icon.png +0 -0
  26. package/src/components/SiteMsg/index.vue +773 -0
  27. package/src/components/SiteMsg//347/253/231/345/206/205/344/277/241/346/266/210/346/201/257-/346/216/245/345/217/243/346/226/207/346/241/243.txt +191 -0
  28. package/src/components/Sticky/index.vue +76 -76
  29. package/src/components/SvgIcon/index.vue +42 -42
  30. package/src/components/ThemePicker/index.vue +243 -243
  31. package/src/components/Tinymce/components/editorImage.vue +94 -94
  32. package/src/components/Tinymce/index.vue +166 -166
  33. package/src/components/Tinymce/plugins.js +7 -7
  34. package/src/components/Tinymce/toolbar.js +6 -6
  35. package/src/components/TreeTable/customEval.js +44 -44
  36. package/src/components/TreeTable/eval.js +29 -29
  37. package/src/components/TreeTable/index.vue +124 -124
  38. package/src/components/TreeTable/readme.md +89 -89
  39. package/src/components/TreeTableApi/customEval.js +49 -49
  40. package/src/components/TreeTableApi/eval.js +29 -29
  41. package/src/components/TreeTableApi/index.vue +124 -124
  42. package/src/components/TreeTableApi/readme.md +89 -89
  43. package/src/components/Upload/singleImage.vue +123 -123
  44. package/src/components/Upload/singleImage2.vue +118 -118
  45. package/src/components/Upload/singleImage3.vue +138 -138
  46. package/src/components/Upload/upload.vue +295 -295
  47. package/src/components/workOrderList/index.vue +158 -158
  48. package/src/dependencies.js +119 -119
  49. package/src/iconShop/demo.css +539 -539
  50. package/src/iconShop/demo_index.html +8445 -8445
  51. package/src/iconShop/iconfont.css +1451 -1451
  52. package/src/iconShop/iconfont.json +2522 -2522
  53. package/src/iconShop/iconfont.svg +1070 -1070
  54. package/src/iconfont/demo.css +539 -539
  55. package/src/iconfont/demo_index.html +5276 -5276
  56. package/src/iconfont/iconfont.css +905 -905
  57. package/src/iconfont/iconfont.json +1563 -1563
  58. package/src/iconfont/iconfont.svg +692 -692
  59. package/src/icons/index.js +9 -9
  60. package/src/lang/e.js +48 -48
  61. package/src/lang/en.js +48 -48
  62. package/src/lang/zh.js +48 -48
  63. package/src/main.js +62 -62
  64. package/src/permission.js +283 -283
  65. package/src/permissionForMall.backup.js +375 -375
  66. package/src/permissionForMall.js +375 -375
  67. package/src/preset.js +67 -67
  68. package/src/router/_import_common.js +1 -1
  69. package/src/router/_import_development.js +1 -1
  70. package/src/router/_import_production.js +1 -1
  71. package/src/store/getters.js +39 -39
  72. package/src/store/index.js +18 -18
  73. package/src/store/modules/app.js +34 -34
  74. package/src/store/modules/menu.js +82 -82
  75. package/src/store/modules/user.js +234 -234
  76. package/src/styles/element-ui.scss +1368 -1368
  77. package/src/styles/index.scss +166 -166
  78. package/src/styles/mixin.scss +27 -27
  79. package/src/styles/pc-ui.scss +1031 -1031
  80. package/src/styles/scrollBar.scss +21 -21
  81. package/src/styles/sidebar.scss +123 -123
  82. package/src/styles/transition.scss +32 -32
  83. package/src/styles/variables.scss +44 -44
  84. package/src/styles/wf-ui.scss +86 -86
  85. package/src/utils/auth.js +84 -57
  86. package/src/utils/dom.js +12 -12
  87. package/src/utils/getQueryString.js +5 -5
  88. package/src/utils/import.js +5 -5
  89. package/src/utils/index.js +355 -355
  90. package/src/utils/interceptor.js +34 -34
  91. package/src/utils/menu.js +116 -116
  92. package/src/utils/proapp.js +35 -35
  93. package/src/utils/query.js +26 -26
  94. package/src/utils/request.js +374 -374
  95. package/src/utils/routeMapping.js +39 -39
  96. package/src/utils/routeMapping.json +310 -310
  97. package/src/utils/utils.js +84 -84
  98. package/src/utils/validate.js +102 -102
  99. package/src/views/404.vue +72 -72
  100. package/src/views/Layout.vue +106 -106
  101. package/src/views/imgSwiper/index.vue +34 -34
  102. package/src/views/layout/Layout.vue +181 -181
  103. package/src/views/layout/components/AppMain.vue +20 -20
  104. package/src/views/layout/components/Footer.vue +22 -22
  105. package/src/views/layout/components/LeftNavbar.vue +318 -318
  106. package/src/views/layout/components/NavMenu.vue +15 -15
  107. package/src/views/layout/components/Navbar.vue +765 -695
  108. package/src/views/layout/components/Sidebar/SidebarItem.vue +116 -116
  109. package/src/views/layout/components/Sidebar/index.vue +216 -216
  110. package/src/views/layout/components/index.js +19 -19
  111. package/src/views/layout/theme/darkBlue/Layout.vue +140 -140
  112. package/src/views/layout/theme/darkBlue/components/AppMain.vue +38 -38
  113. package/src/views/layout/theme/darkBlue/components/Footer.vue +147 -147
  114. 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
  115. package/src/views/layout/theme/darkBlue/components/LeftNavbar.3.vue +191 -191
  116. package/src/views/layout/theme/darkBlue/components/LeftNavbar.vue +466 -466
  117. package/src/views/layout/theme/darkBlue/components/Navbar.vue +200 -200
  118. package/src/views/layout/theme/darkBlue/components/Sidebar/SidebarItem.vue +71 -71
  119. package/src/views/layout/theme/darkBlue/components/Sidebar/index.vue +49 -49
  120. package/src/views/layout/theme/darkBlue/components/index.js +15 -15
  121. package/src/views/layout-default/Layout.vue +134 -134
  122. package/src/views/layout-default/components/AppMain.vue +19 -19
  123. package/src/views/layout-default/components/Footer.vue +22 -22
  124. package/src/views/layout-default/components/LeftNavbar.vue +164 -164
  125. package/src/views/layout-default/components/Navbar.vue +295 -295
  126. package/src/views/layout-default/components/Sidebar/SidebarItem.vue +67 -67
  127. package/src/views/layout-default/components/Sidebar/index.vue +59 -59
  128. package/src/views/layout-default/components/index.js +4 -4
  129. package/src/views/layout-default/theme/darkBlue/Layout.vue +140 -140
  130. package/src/views/layout-default/theme/darkBlue/components/AppMain.vue +38 -38
  131. package/src/views/layout-default/theme/darkBlue/components/Footer.vue +147 -147
  132. package/src/views/layout-default/theme/darkBlue/components/LeftNavbar.vue +465 -465
  133. package/src/views/layout-default/theme/darkBlue/components/Navbar.vue +200 -200
  134. package/src/views/layout-default/theme/darkBlue/components/Sidebar/SidebarItem.vue +69 -69
  135. package/src/views/layout-default/theme/darkBlue/components/Sidebar/index.vue +49 -49
  136. package/src/views/layout-default/theme/darkBlue/components/index.js +15 -15
  137. package/src/views/pc/Internationalization.vue +80 -80
  138. package/src/views/pc/default/Layout.vue +442 -442
  139. package/src/views/pc/default/LayoutCard.vue +424 -424
  140. package/src/views/pc/default/assets/flex.scss +99 -99
  141. package/src/views/pc/default/footer-modules/DgFooter/index.vue +179 -179
  142. package/src/views/pc/default/footer-modules/DgFooter/indexSDX.vue +187 -187
  143. package/src/views/pc/default/footer-modules/footer.vue +171 -171
  144. package/src/views/pc/default/footer-modules/footerAns.vue +167 -167
  145. package/src/views/pc/default/footer-modules/footerBulk.vue +169 -169
  146. package/src/views/pc/default/footer-modules/footerDM.vue +254 -254
  147. package/src/views/pc/default/footer-modules/footerDefault.vue +267 -267
  148. package/src/views/pc/default/footer-modules/footerDefaultA.vue +270 -270
  149. package/src/views/pc/default/footer-modules/footerDefaultNew.vue +201 -201
  150. package/src/views/pc/default/footer-modules/footerHDB.vue +153 -153
  151. package/src/views/pc/default/footer-modules/footerHy.vue +63 -63
  152. package/src/views/pc/default/footer-modules/footerKYW.vue +163 -163
  153. package/src/views/pc/default/footer-modules/footerMh.vue +30 -30
  154. package/src/views/pc/default/footer-modules/footerNew.vue +116 -116
  155. package/src/views/pc/default/footer-modules/footer_yzj.vue +169 -169
  156. package/src/views/pc/default/footer-modules/footerayd.vue +85 -85
  157. package/src/views/pc/default/footer-modules/ymFooter.vue +154 -154
  158. package/src/views/pc/default/footer-modules/zgl.vue +250 -250
  159. package/src/views/pc/default/header-modules/DgHeader/Logo.vue +57 -57
  160. package/src/views/pc/default/header-modules/DgHeader/Search.vue +135 -135
  161. package/src/views/pc/default/header-modules/DgHeader/Settleup.vue +46 -46
  162. package/src/views/pc/default/header-modules/DgHeader/index.vue +38 -38
  163. package/src/views/pc/default/header-modules/active.vue +177 -177
  164. package/src/views/pc/default/header-modules/header.vue +97 -97
  165. package/src/views/pc/default/header-modules/headerA.vue +142 -142
  166. package/src/views/pc/default/header-modules/headerFLPT.vue +157 -157
  167. package/src/views/pc/default/header-modules/headerMh.vue +187 -187
  168. package/src/views/pc/default/header-modules/headerNew.vue +121 -121
  169. package/src/views/pc/default/header-modules/headerSDX.vue +304 -304
  170. package/src/views/pc/default/header-modules/headerStyle2.vue +173 -173
  171. package/src/views/pc/default/header-modules/headerStyle3.vue +190 -190
  172. package/src/views/pc/default/header-modules/headerStyle4.vue +163 -163
  173. package/src/views/pc/default/header-modules/headerStyleAns.vue +400 -400
  174. package/src/views/pc/default/header-modules/headerStyleBulk.vue +427 -427
  175. package/src/views/pc/default/header-modules/headerStyleDefalut.vue +209 -209
  176. package/src/views/pc/default/header-modules/headerStyleKYW.vue +435 -435
  177. package/src/views/pc/default/header-modules/headerStyle_yzj.vue +427 -427
  178. package/src/views/pc/default/header-modules/headerayd.vue +187 -187
  179. package/src/views/pc/default/header-modules/index.vue +466 -466
  180. package/src/views/pc/default/header-modules/ymHeader.vue +292 -292
  181. package/src/views/pc/default/header-modules/ysHeader.vue +248 -248
  182. package/src/views/pc/default/header-modules/zgl.vue +855 -855
  183. package/src/views/pc/default/leftMenu-modules/leftMenu-logo.vue +194 -194
  184. package/src/views/pc/default/leftMenu-modules/leftMenu-style2.vue +206 -206
  185. package/src/views/pc/default/leftMenu-modules/leftMenu-style3.vue +207 -207
  186. package/src/views/pc/default/leftMenu-modules/leftMenu-style4.vue +192 -192
  187. package/src/views/pc/default/leftMenu-modules/leftMenu.vue +183 -183
  188. package/src/views/pc/default/leftMenu-modules/leftMenuDefault.vue +212 -212
  189. package/src/views/pc/default/leftMenu-modules/leftMenuDefaultEn.vue +214 -214
  190. package/src/views/pc/default/leftMenu-modules/leftMenuDefaultFLPT.vue +220 -220
  191. package/src/views/pc/default/leftMenu-modules/leftMenuDefaultayd.vue +220 -220
  192. package/src/views/pc/default/nav-modules/nav.vue +52 -52
  193. package/src/views/pc/default/nav-modules/navAns.vue +60 -60
  194. package/src/views/pc/default/nav-modules/navBulk.vue +60 -60
  195. package/src/views/pc/default/top-modules/DgTopShortcut/index.vue +177 -177
  196. package/src/views/pc/default/top-modules/Toplg.vue +280 -280
  197. package/src/views/pc/default/top-modules/topA.vue +136 -136
  198. package/src/views/pc/default/top-modules/topAns.vue +261 -261
  199. package/src/views/pc/default/top-modules/topAns_yzj.vue +282 -282
  200. package/src/views/pc/default/top-modules/topBar.vue +304 -304
  201. package/src/views/pc/default/top-modules/topBulk.vue +280 -280
  202. package/src/views/pc/default/top-modules/topDefault.vue +244 -244
  203. package/src/views/pc/default/top-modules/topDefaultDM.vue +197 -197
  204. package/src/views/pc/default/top-modules/topDefaultNew.vue +271 -271
  205. package/src/views/pc/default/top-modules/topFLPT.vue +197 -197
  206. package/src/views/pc/default/top-modules/topHDB.vue +479 -479
  207. package/src/views/pc/default/top-modules/topKYW.vue +258 -258
  208. package/src/views/pc/default/top-modules/topMh.vue +174 -174
  209. package/src/views/pc/default/top-modules/topNew.vue +97 -97
  210. package/src/views/pc/default/top-modules/topSDX.vue +298 -298
  211. package/src/views/pc/default/top-modules/topSimple.vue +247 -247
  212. package/src/views/pc/default/top-modules/topSimpleHy.vue +256 -256
  213. package/src/views/pc/default/top-modules/topUcc.vue +264 -264
  214. package/src/views/pc/default/top-modules/topayd.vue +170 -170
  215. package/src/views/pc/default/top-modules/ymTop.vue +299 -299
  216. package/src/views/pc/default/top-modules/zgltop.vue +499 -499
  217. package/src/views/routerView.vue +9 -9
  218. package/src/views/templates/components/temp-select.vue +80 -80
  219. package/src/views/templates/components/temp-upload.vue +233 -233
  220. package/src/views/templates/readme.md +2 -2
  221. package/src/views/templates/templateInput.vue +421 -421
  222. package/src/views/templates/templateReadme.html +588 -588
  223. package/src/views/templates/templateReadme.md +619 -619
  224. package/src/views/templates/templateTable.vue +2244 -2244
  225. package/src/views/templates/templateTableData.vue +1883 -1883
  226. package/src/views/templates/templateUi/templateTableContent.vue +187 -187
  227. package/src/views/treeTemplate/index.vue +559 -559
  228. package/src/views/treeTemplate/treeTemplate.md +274 -274
  229. package/src/views/uploadDialog/index copy.vue +352 -352
  230. package/src/views/uploadDialog/index.vue +558 -558
  231. package/src/views/uploadDialog/indexOlay.vue +582 -582
  232. package/src/views/uploadDialog/indexPM.vue +578 -578
  233. package/src/views/uploadDialog/indexUpload.vue +543 -543
  234. package/src/views/uploadDialog/readme.md +45 -45
@@ -1,318 +1,318 @@
1
- <template>
2
- <div :class="{ 'is-active': sidebar.appNavOpen }" class="el-menu-vertical-demo"
3
- :style="{ 'height': heightAll + 'px' }">
4
- <div class="tool-menu-svg">
5
- <a class="logo-container" @click="navigator">
6
- <!-- :href="indexHref" -->
7
- <img :src="logoImg" />
8
- </a>
9
- </div>
10
- <div class="app-scroll-container" :style="{ height: height + 'px' }">
11
- <el-menu :default-active="appActive" @select="handleSelect" class="el-menu-vertical">
12
- <el-menu-item v-for="item in topAppList" :key="item.proappMenuCode" :index="item.proappMenuCode"
13
- @click="navBar(item)">
14
- <!-- :href="item.menuAction" -->
15
- <a :title="item.menuName" slot="title">{{ item.menuName }}</a>
16
- </el-menu-item>
17
- </el-menu>
18
- </div>
19
- <div class="app-menu-fixed">
20
- <hr />
21
- <ul>
22
- <li v-for="(item, index) in bottomAppList" :key="index"
23
- :class="[item.proappModelCode == appActive ? 'c-theme' : '']">
24
- <a @click="openHref(item)" :class="[item.proappMenuCode == appActive ? 'c-theme' : '']">
25
- <i :class="['iconfont', item.menuDefaultClass ? item.menuDefaultClass : 'icon-caidan-shi']"></i>
26
- {{ item.menuName }}
27
- </a>
28
- </li>
29
- </ul>
30
- </div>
31
- </div>
32
- </template>
33
-
34
- <script>
35
- import { mapGetters } from "vuex";
36
- import { getProappinfo } from "#/api/login";
37
- import ScrollBar from "#/components/ScrollBar";
38
- export default {
39
- components: { ScrollBar },
40
- data() {
41
- return {
42
- logoImg: require("../assets/logo.png"),
43
- indexHref: "#",
44
- appActive: null, // 当前点击的项目名称
45
- height: 800,
46
- topAppList: [], // 上面菜单
47
- bottomAppList: [], //下面菜单
48
- proappEnvOpentype: window.sessionStorage.getItem("proappEnvLayout")
49
- ? JSON.parse(window.sessionStorage.getItem("proappEnvLayout"))
50
- .proappEnvOpentype
51
- : null, //默认是null
52
- heightAll: document.documentElement.clientHeight,
53
- secDomainName: null
54
- };
55
- },
56
- computed: {
57
- ...mapGetters(["appList", "sidebar"])
58
- },
59
- created() {
60
-
61
- this.getAppInfo();
62
- console.log(this.$route.meta.menuCode, "this.$route.meta.menuCode");
63
- let menuCode = sessionStorage.getItem('menuCode') ? sessionStorage.getItem('menuCode') : null
64
- if (this.$route.path && this.$route.meta) {
65
- if ('title' in this.$route.meta && 'icon' in this.$route.meta && 'menuCode' in this.$route.meta && 'params' in this.$route.meta && this.$store.name !== '首页') {
66
- menuCode = sessionStorage.getItem('menuCode') ? sessionStorage.getItem('menuCode') : localStorage.getItem('menuCode') ? localStorage.getItem('menuCode') : null
67
-
68
- }
69
- }
70
- this.appActive = this.$route.meta.menuCode ? this.$route.meta.menuCode : menuCode ? menuCode : null;;
71
- console.log(this.appActive, "this.appActive ");
72
-
73
- },
74
- mounted() {
75
- this.handleAppList();
76
- this.indexHref = JSON.parse(
77
- window.sessionStorage.getItem("proappEnvLayout")
78
- ) ? JSON.parse(
79
- window.sessionStorage.getItem("proappEnvLayout")
80
- ).proappEnvIndex : '';
81
- window.addEventListener("resize", this.heightChange);
82
- this.secDomainName = sessionStorage.getItem('secDomainName') ? sessionStorage.getItem('secDomainName') : null
83
- },
84
- methods: {
85
- navigator() {
86
- window.sessionStorage.setItem("menuCode", '');
87
- window.location.href = process.env.API_ROOT + this.indexHref;
88
- },
89
- openHref(item) {
90
- window.sessionStorage.setItem("menuCode", item.proappModelCode);
91
- window.localStorage.setItem("menuCode", item.proappModelCode);
92
- this.handlerMenu(item);
93
- },
94
- handleAppList() {
95
- this.topAppList = [];
96
- this.bottomAppList = [];
97
- let menuList = window.sessionStorage.getItem("menuList")
98
- ? JSON.parse(window.sessionStorage.getItem("menuList")).menuList
99
- : [];
100
- menuList.forEach(res => {
101
- // 处理菜单top和bottom 的问题
102
- if (
103
- res.proappMenuConfig === "bottom" &&
104
- res.children &&
105
- res.children.length > 0
106
- ) {
107
- this.bottomAppList.push(res);
108
- } else if (res.children && res.children.length > 0) {
109
- this.topAppList.push(res);
110
- // console.log(this.topAppList, "this.topAppList");
111
- }
112
- this.height =
113
- document.documentElement.clientHeight -
114
- 116 -
115
- this.bottomAppList.length * 46;
116
- });
117
- },
118
- getAppInfo() {
119
- let imgLogo = JSON.parse(
120
- window.sessionStorage.getItem("proappEnvLayout")
121
- );
122
- if (imgLogo) {
123
- if (imgLogo.proappEnvLogo.indexOf('http') > -1) {
124
- this.logoImg = imgLogo.proappEnvLogo;
125
- } else if (this.secDomainName) {
126
- this.logoImg = this.secDomainName + imgLogo.proappEnvLogo;
127
- } else {
128
- this.logoImg = imgLogo.proappEnvLogo;
129
- }
130
- // this.indexHref = imgLogo.proappEnvIndexr;
131
- } else {
132
- getProappinfo().then(data => {
133
- // console.log(data, "data");
134
- if (data) {
135
- // this.indexHref = data.proappEnvIndexr;
136
- window.sessionStorage.setItem(
137
- "proappEnvLayout",
138
- JSON.stringify(data)
139
- );
140
- this.$store.commit("setProappEnvLayout", data);
141
-
142
- if (data.proappEnvLogo.indexOf('http') > -1) {
143
- this.logoImg = data.proappEnvLogo;
144
- } else if (this.secDomainName) {
145
- this.logoImg = this.secDomainName + data.proappEnvLogo;
146
- } else {
147
- this.logoImg = data.proappEnvLogo;
148
- }
149
-
150
- }
151
- });
152
- }
153
- },
154
- navBar(item) {
155
- console.log(item, "item");
156
- if (location.href.indexOf("localhost") >= 0) {
157
- return false;
158
- } else {
159
- if (item.menuName === '首页') {
160
- window.sessionStorage.removeItem("menuCode");
161
- } else {
162
- window.sessionStorage.setItem("menuCode", item.proappModelCode);
163
- window.localStorage.setItem("menuCode", item.proappModelCode);
164
- }
165
- this.handlerMenu(item);
166
- }
167
- },
168
- handlerMenu(item) {
169
- for (let i = 0; i < item.children.length; i++) {
170
- let el = item.children[i];
171
- if (el.children) {
172
- this.handlerMenu(el);
173
- break;
174
- } else if (el.menuShow == 0) {
175
- console.log(el);
176
- let url =
177
- this.proappEnvOpentype != "/"
178
- ? `${el.menuTarget}#/${el.proappMenuPcode}/${el.menuAction}`
179
- : `${el.menuTarget}#/${el.menuAction}`;
180
- url = this.secDomainName && (url.indexOf('http') == -1) ? this.secDomainName + url : url
181
- location.href = url;
182
- break;
183
- }
184
- }
185
- },
186
- heightChange() {
187
- console.log("开始发生改变");
188
- this.heightAll = document.documentElement.clientHeight;
189
- this.height = this.heightAll - 116 - this.bottomAppList.length * 46;
190
- }
191
- },
192
- watch: {
193
- appList: {
194
- handler() {
195
- this.handleAppList();
196
- },
197
- deep: true
198
- }
199
- }
200
- };
201
- </script>
202
- <style></style>
203
-
204
- <style rel="stylesheet" scoped>
205
- .app-menu-fixed li.c-theme {
206
- background: #fff;
207
- }
208
-
209
- .el-menu-vertical-demo {
210
- position: absolute;
211
- width: 98px;
212
- left: 0;
213
- top: 0;
214
- bottom: 0;
215
- transition: width 0.43s;
216
- z-index: 1002;
217
- }
218
-
219
- .el-menu-vertical-demo.is-active {
220
- width: 50px;
221
- }
222
-
223
- .app-scroll-container {
224
- margin-top: 100px;
225
- overflow: auto;
226
- background: inherit;
227
- }
228
-
229
- .app-scroll-container .el-menu {
230
- background: none;
231
- }
232
-
233
- .el-menu-vertical {
234
- width: 100%;
235
- height: 100%;
236
-
237
- border-right: none;
238
- }
239
-
240
- .el-menu-vertical .el-menu-item {
241
- height: 44px;
242
- line-height: 44px;
243
- font-size: 14px;
244
- font-weight: 500;
245
- text-align: center;
246
- padding: 0 !important;
247
- color: #fff;
248
- font-weight: bold;
249
- font-family: "微软雅黑";
250
- }
251
-
252
- .el-menu-vertical .el-menu-item a {
253
- width: 4em;
254
- display: inline-block;
255
- overflow: hidden;
256
- text-overflow: ellipsis;
257
- white-space: nowrap;
258
- }
259
-
260
- .el-menu-item.is-active {
261
- background: #fff;
262
- }
263
-
264
- .logo-container {
265
- display: block;
266
- text-align: center;
267
- border-radius: 50%;
268
- height: 70px;
269
- width: 70px;
270
- margin: 20px auto 10px;
271
- overflow: hidden;
272
- background: #fff;
273
- }
274
-
275
- .logo-container img {
276
- /*margin-top: 10px;*/
277
- /*margin-bottom: 20px;*/
278
- width: 100%;
279
- height: 100%;
280
- }
281
-
282
- .tool-menu-svg {
283
- font-size: 14px;
284
- width: 100%;
285
- text-align: center;
286
- position: absolute;
287
- z-index: 12;
288
- }
289
-
290
- .app-scroll-container.scroll-container {
291
- background: none !important;
292
- }
293
-
294
- .app-menu-fixed hr {
295
- border: none;
296
- height: 2px;
297
- background: #41495b;
298
- margin-bottom: 10px;
299
- }
300
-
301
- .app-menu-fixed ul li {
302
- height: 46px;
303
- line-height: 46px;
304
- color: #fff;
305
- font-size: 14px;
306
- font-weight: bold;
307
- text-align: center;
308
- }
309
-
310
- .app-menu-fixed ul li i {
311
- margin-right: 8px;
312
- }
313
-
314
- .app-menu-fixed ul li.is-active {
315
- color: #363e50;
316
- background: #fff;
317
- }
318
- </style>
1
+ <template>
2
+ <div :class="{ 'is-active': sidebar.appNavOpen }" class="el-menu-vertical-demo"
3
+ :style="{ 'height': heightAll + 'px' }">
4
+ <div class="tool-menu-svg">
5
+ <a class="logo-container" @click="navigator">
6
+ <!-- :href="indexHref" -->
7
+ <img :src="logoImg" />
8
+ </a>
9
+ </div>
10
+ <div class="app-scroll-container" :style="{ height: height + 'px' }">
11
+ <el-menu :default-active="appActive" @select="handleSelect" class="el-menu-vertical">
12
+ <el-menu-item v-for="item in topAppList" :key="item.proappMenuCode" :index="item.proappMenuCode"
13
+ @click="navBar(item)">
14
+ <!-- :href="item.menuAction" -->
15
+ <a :title="item.menuName" slot="title">{{ item.menuName }}</a>
16
+ </el-menu-item>
17
+ </el-menu>
18
+ </div>
19
+ <div class="app-menu-fixed">
20
+ <hr />
21
+ <ul>
22
+ <li v-for="(item, index) in bottomAppList" :key="index"
23
+ :class="[item.proappModelCode == appActive ? 'c-theme' : '']">
24
+ <a @click="openHref(item)" :class="[item.proappMenuCode == appActive ? 'c-theme' : '']">
25
+ <i :class="['iconfont', item.menuDefaultClass ? item.menuDefaultClass : 'icon-caidan-shi']"></i>
26
+ {{ item.menuName }}
27
+ </a>
28
+ </li>
29
+ </ul>
30
+ </div>
31
+ </div>
32
+ </template>
33
+
34
+ <script>
35
+ import { mapGetters } from "vuex";
36
+ import { getProappinfo } from "#/api/login";
37
+ import ScrollBar from "#/components/ScrollBar";
38
+ export default {
39
+ components: { ScrollBar },
40
+ data() {
41
+ return {
42
+ logoImg: require("../assets/logo.png"),
43
+ indexHref: "#",
44
+ appActive: null, // 当前点击的项目名称
45
+ height: 800,
46
+ topAppList: [], // 上面菜单
47
+ bottomAppList: [], //下面菜单
48
+ proappEnvOpentype: window.sessionStorage.getItem("proappEnvLayout")
49
+ ? JSON.parse(window.sessionStorage.getItem("proappEnvLayout"))
50
+ .proappEnvOpentype
51
+ : null, //默认是null
52
+ heightAll: document.documentElement.clientHeight,
53
+ secDomainName: null
54
+ };
55
+ },
56
+ computed: {
57
+ ...mapGetters(["appList", "sidebar"])
58
+ },
59
+ created() {
60
+
61
+ this.getAppInfo();
62
+ console.log(this.$route.meta.menuCode, "this.$route.meta.menuCode");
63
+ let menuCode = sessionStorage.getItem('menuCode') ? sessionStorage.getItem('menuCode') : null
64
+ if (this.$route.path && this.$route.meta) {
65
+ if ('title' in this.$route.meta && 'icon' in this.$route.meta && 'menuCode' in this.$route.meta && 'params' in this.$route.meta && this.$store.name !== '首页') {
66
+ menuCode = sessionStorage.getItem('menuCode') ? sessionStorage.getItem('menuCode') : localStorage.getItem('menuCode') ? localStorage.getItem('menuCode') : null
67
+
68
+ }
69
+ }
70
+ this.appActive = this.$route.meta.menuCode ? this.$route.meta.menuCode : menuCode ? menuCode : null;;
71
+ console.log(this.appActive, "this.appActive ");
72
+
73
+ },
74
+ mounted() {
75
+ this.handleAppList();
76
+ this.indexHref = JSON.parse(
77
+ window.sessionStorage.getItem("proappEnvLayout")
78
+ ) ? JSON.parse(
79
+ window.sessionStorage.getItem("proappEnvLayout")
80
+ ).proappEnvIndex : '';
81
+ window.addEventListener("resize", this.heightChange);
82
+ this.secDomainName = sessionStorage.getItem('secDomainName') ? sessionStorage.getItem('secDomainName') : null
83
+ },
84
+ methods: {
85
+ navigator() {
86
+ window.sessionStorage.setItem("menuCode", '');
87
+ window.location.href = process.env.API_ROOT + this.indexHref;
88
+ },
89
+ openHref(item) {
90
+ window.sessionStorage.setItem("menuCode", item.proappModelCode);
91
+ window.localStorage.setItem("menuCode", item.proappModelCode);
92
+ this.handlerMenu(item);
93
+ },
94
+ handleAppList() {
95
+ this.topAppList = [];
96
+ this.bottomAppList = [];
97
+ let menuList = window.sessionStorage.getItem("menuList")
98
+ ? JSON.parse(window.sessionStorage.getItem("menuList")).menuList
99
+ : [];
100
+ menuList.forEach(res => {
101
+ // 处理菜单top和bottom 的问题
102
+ if (
103
+ res.proappMenuConfig === "bottom" &&
104
+ res.children &&
105
+ res.children.length > 0
106
+ ) {
107
+ this.bottomAppList.push(res);
108
+ } else if (res.children && res.children.length > 0) {
109
+ this.topAppList.push(res);
110
+ // console.log(this.topAppList, "this.topAppList");
111
+ }
112
+ this.height =
113
+ document.documentElement.clientHeight -
114
+ 116 -
115
+ this.bottomAppList.length * 46;
116
+ });
117
+ },
118
+ getAppInfo() {
119
+ let imgLogo = JSON.parse(
120
+ window.sessionStorage.getItem("proappEnvLayout")
121
+ );
122
+ if (imgLogo) {
123
+ if (imgLogo.proappEnvLogo.indexOf('http') > -1) {
124
+ this.logoImg = imgLogo.proappEnvLogo;
125
+ } else if (this.secDomainName) {
126
+ this.logoImg = this.secDomainName + imgLogo.proappEnvLogo;
127
+ } else {
128
+ this.logoImg = imgLogo.proappEnvLogo;
129
+ }
130
+ // this.indexHref = imgLogo.proappEnvIndexr;
131
+ } else {
132
+ getProappinfo().then(data => {
133
+ // console.log(data, "data");
134
+ if (data) {
135
+ // this.indexHref = data.proappEnvIndexr;
136
+ window.sessionStorage.setItem(
137
+ "proappEnvLayout",
138
+ JSON.stringify(data)
139
+ );
140
+ this.$store.commit("setProappEnvLayout", data);
141
+
142
+ if (data.proappEnvLogo.indexOf('http') > -1) {
143
+ this.logoImg = data.proappEnvLogo;
144
+ } else if (this.secDomainName) {
145
+ this.logoImg = this.secDomainName + data.proappEnvLogo;
146
+ } else {
147
+ this.logoImg = data.proappEnvLogo;
148
+ }
149
+
150
+ }
151
+ });
152
+ }
153
+ },
154
+ navBar(item) {
155
+ console.log(item, "item");
156
+ if (location.href.indexOf("localhost") >= 0) {
157
+ return false;
158
+ } else {
159
+ if (item.menuName === '首页') {
160
+ window.sessionStorage.removeItem("menuCode");
161
+ } else {
162
+ window.sessionStorage.setItem("menuCode", item.proappModelCode);
163
+ window.localStorage.setItem("menuCode", item.proappModelCode);
164
+ }
165
+ this.handlerMenu(item);
166
+ }
167
+ },
168
+ handlerMenu(item) {
169
+ for (let i = 0; i < item.children.length; i++) {
170
+ let el = item.children[i];
171
+ if (el.children) {
172
+ this.handlerMenu(el);
173
+ break;
174
+ } else if (el.menuShow == 0) {
175
+ console.log(el);
176
+ let url =
177
+ this.proappEnvOpentype != "/"
178
+ ? `${el.menuTarget}#/${el.proappMenuPcode}/${el.menuAction}`
179
+ : `${el.menuTarget}#/${el.menuAction}`;
180
+ url = this.secDomainName && (url.indexOf('http') == -1) ? this.secDomainName + url : url
181
+ location.href = url;
182
+ break;
183
+ }
184
+ }
185
+ },
186
+ heightChange() {
187
+ console.log("开始发生改变");
188
+ this.heightAll = document.documentElement.clientHeight;
189
+ this.height = this.heightAll - 116 - this.bottomAppList.length * 46;
190
+ }
191
+ },
192
+ watch: {
193
+ appList: {
194
+ handler() {
195
+ this.handleAppList();
196
+ },
197
+ deep: true
198
+ }
199
+ }
200
+ };
201
+ </script>
202
+ <style></style>
203
+
204
+ <style rel="stylesheet" scoped>
205
+ .app-menu-fixed li.c-theme {
206
+ background: #fff;
207
+ }
208
+
209
+ .el-menu-vertical-demo {
210
+ position: absolute;
211
+ width: 98px;
212
+ left: 0;
213
+ top: 0;
214
+ bottom: 0;
215
+ transition: width 0.43s;
216
+ z-index: 1002;
217
+ }
218
+
219
+ .el-menu-vertical-demo.is-active {
220
+ width: 50px;
221
+ }
222
+
223
+ .app-scroll-container {
224
+ margin-top: 100px;
225
+ overflow: auto;
226
+ background: inherit;
227
+ }
228
+
229
+ .app-scroll-container .el-menu {
230
+ background: none;
231
+ }
232
+
233
+ .el-menu-vertical {
234
+ width: 100%;
235
+ height: 100%;
236
+
237
+ border-right: none;
238
+ }
239
+
240
+ .el-menu-vertical .el-menu-item {
241
+ height: 44px;
242
+ line-height: 44px;
243
+ font-size: 14px;
244
+ font-weight: 500;
245
+ text-align: center;
246
+ padding: 0 !important;
247
+ color: #fff;
248
+ font-weight: bold;
249
+ font-family: "微软雅黑";
250
+ }
251
+
252
+ .el-menu-vertical .el-menu-item a {
253
+ width: 4em;
254
+ display: inline-block;
255
+ overflow: hidden;
256
+ text-overflow: ellipsis;
257
+ white-space: nowrap;
258
+ }
259
+
260
+ .el-menu-item.is-active {
261
+ background: #fff;
262
+ }
263
+
264
+ .logo-container {
265
+ display: block;
266
+ text-align: center;
267
+ border-radius: 50%;
268
+ height: 70px;
269
+ width: 70px;
270
+ margin: 20px auto 10px;
271
+ overflow: hidden;
272
+ background: #fff;
273
+ }
274
+
275
+ .logo-container img {
276
+ /*margin-top: 10px;*/
277
+ /*margin-bottom: 20px;*/
278
+ width: 100%;
279
+ height: 100%;
280
+ }
281
+
282
+ .tool-menu-svg {
283
+ font-size: 14px;
284
+ width: 100%;
285
+ text-align: center;
286
+ position: absolute;
287
+ z-index: 12;
288
+ }
289
+
290
+ .app-scroll-container.scroll-container {
291
+ background: none !important;
292
+ }
293
+
294
+ .app-menu-fixed hr {
295
+ border: none;
296
+ height: 2px;
297
+ background: #41495b;
298
+ margin-bottom: 10px;
299
+ }
300
+
301
+ .app-menu-fixed ul li {
302
+ height: 46px;
303
+ line-height: 46px;
304
+ color: #fff;
305
+ font-size: 14px;
306
+ font-weight: bold;
307
+ text-align: center;
308
+ }
309
+
310
+ .app-menu-fixed ul li i {
311
+ margin-right: 8px;
312
+ }
313
+
314
+ .app-menu-fixed ul li.is-active {
315
+ color: #363e50;
316
+ background: #fff;
317
+ }
318
+ </style>
@@ -1,15 +1,15 @@
1
- <template>
2
- <section class="nav-menu"></section>
3
- </template>
4
- <script>
5
- export default {};
6
- </script>
7
- <style rel="stylesheet/scss" lang="scss" scoped>
8
- .nav-menu {
9
- width: 200px;
10
- background: red;
11
- height: 100%;
12
- }
13
- </style>
14
-
15
-
1
+ <template>
2
+ <section class="nav-menu"></section>
3
+ </template>
4
+ <script>
5
+ export default {};
6
+ </script>
7
+ <style rel="stylesheet/scss" lang="scss" scoped>
8
+ .nav-menu {
9
+ width: 200px;
10
+ background: red;
11
+ height: 100%;
12
+ }
13
+ </style>
14
+
15
+