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,305 +1,305 @@
1
- <template>
2
- <div class="common-top-bar">
3
- <div class="inner w1200 m0a">
4
- <div class="left">
5
- <!-- <i class="el-icon-location-outline"></i> -->
6
- <p class="top-left-con">
7
- <span v-if="isLogin && userInfor">Hi,{{decodeURIComponent(userInfor.userName)}}</span>
8
- <!-- <span v-else>Hi,欢迎来到商城!</span> -->
9
- </p>
10
- <ul class="top-left-ul">
11
- <li class="rignt-line"></li>
12
- <li v-if="!isLogin">
13
- <a href="/paas/index/index.html#/loginPc">登录</a>
14
- </li>
15
- <li v-if="!isLogin" class="rignt-line">|</li>
16
- <li v-if="!isLogin">
17
- <a href="/paas/index/index.html#/regPc">注册</a>
18
- </li>
19
- <li v-if="isLogin">
20
- <a href="javascript:;" @click="logout">退出</a>
21
- </li>
22
- </ul>
23
- </div>
24
- <div class="right">
25
- <ul class>
26
- <li>
27
- <span v-if="isLogin && userInfor">您好,{{userInfor.userName}}</span>
28
- <span v-else>Hi,欢迎来到商城!</span>
29
- </li>
30
- <li v-if="isLogin" class="rignt-line">|</li>
31
- <li v-if="isLogin">
32
- <a href="javascript:;" @click="logout">退出</a>
33
- </li>
34
- <li v-if="!isLogin">
35
- <a href="/paas/index/index.html#/loginPc">登录</a>
36
- </li>
37
- <li v-if="!isLogin" class="rignt-line">|</li>
38
- <li v-if="!isLogin">
39
- <a href="/paas/index/index.html#/regPc">注册</a>
40
- </li>
41
- <!-- <li v-if="!isLogin">
42
- <i class="iconfont icon-beixin5" ></i>
43
- <a href="javascript:;">消息</a>
44
- </li>-->
45
- <li class="rignt-line">|</li>
46
- <li>
47
- <i class="iconfont icon-beixin8"></i>
48
- <a href="/paas/order-manager/index.html#/order">我的订单</a>
49
- </li>
50
- <li class="rignt-line">|</li>
51
- <li class="gw">
52
- <i class="iconfont icon-beixin2"></i>
53
- <a @click.stop="gwopen">我的顾问</a>
54
- <div v-if="flaggw" class="triangle_border_up">
55
- <span></span>
56
- </div>
57
- <div v-if="flaggw" class="mygw">{{gw}}</div>
58
- </li>
59
- <li class="rignt-line">|</li>
60
- <li>
61
- <i class="iconfont icon-beixin7"></i>
62
- <a href="javascript:;">400-880-8260</a>
63
- </li>
64
- <li v-if="isLogin" class="rignt-line">|</li>
65
- <li @mouseenter="enter" @mouseleave="leave">
66
- <i class="iconfont icon-beixin"></i>
67
- <a href="javascript:;">北新APP</a>
68
- <div v-if="show" class="erwm">
69
- <div>
70
- <img :src="myerwm" alt />
71
- <div>ios</div>
72
- </div>
73
- <div>
74
- <img :src="myerwm" alt />
75
- <div>Android</div>
76
- </div>
77
- </div>
78
- </li>
79
- <!-- <li class="rignt-line">|</li>
80
- <li>
81
- <a href="/">首页</a>
82
- </li>-->
83
- <!-- <li>
84
- <a href>我要加盟</a>
85
- </li>
86
- <li>
87
- <a href>技术支持</a>
88
- </li>-->
89
-
90
- <li class="rignt-line">|</li>
91
- <li>
92
- <a href="/paas/user-manager/index.html#/user">会员中心</a>
93
- </li>
94
- <!-- <li>
95
- <a href>关于品牌</a>
96
- </li>
97
- <li>
98
- <a href>移动版</a>
99
- </li>-->
100
- </ul>
101
- </div>
102
- </div>
103
- <slot></slot>
104
- </div>
105
- </template>
106
-
107
- <script>
108
- import { logout } from "#/api/login";
109
- import { getToken, removeToken } from "#/utils/auth";
110
- import API from "#/api/common/index.js";
111
- import erwm from "#/assets/newerwei.png";
112
-
113
- export default {
114
- data() {
115
- return {
116
- gw: "暂无顾问",
117
- flaggw: false,
118
- myerwm: erwm,
119
- show: false
120
- };
121
- },
122
- computed: {
123
- isLogin() {
124
- return this.getUserCookie() ? getToken(this.getUserCookie()) : false;
125
- },
126
- userInfor() {
127
- let info =
128
- this.getUserCookie() && getToken(this.getUserCookie())
129
- ? JSON.parse(getToken(this.getUserCookie()))
130
- : {};
131
- return info;
132
- }
133
- },
134
- mounted() {
135
- window.addEventListener("click", this.gwhide);
136
- },
137
- methods: {
138
- gwopen() {
139
- API.getCustrelByEmployee().then(res => {
140
- if (res) {
141
- if (res.employeePhone) {
142
- this.gw = res.employeePhone;
143
- } else {
144
- this.gw = "暂无顾问";
145
- }
146
- } else {
147
- this.gw = "暂无顾问";
148
- }
149
- });
150
- this.flaggw = true;
151
- },
152
- gwhide() {
153
- this.flaggw = false;
154
- },
155
- enter() {
156
- this.show = true;
157
- },
158
- leave() {
159
- this.show = false;
160
- },
161
- logout() {
162
- // 退出
163
- logout().then(() => {
164
- let newDomain = document.domain
165
- .split(".")
166
- .splice(-2)
167
- .join(".");
168
- removeToken("LOGININFO", newDomain, "/");
169
- // removeToken("personalInfo", newDomain, "/");
170
- // location.reload();
171
- location.href = location.origin;
172
- });
173
- },
174
- getUserCookie() {
175
- let cookie = document.cookie;
176
- let start = cookie.indexOf("saas-user-");
177
- if (start > -1) {
178
- let end = cookie.indexOf("=", start);
179
- return cookie.substring(start, end);
180
- } else {
181
- return null;
182
- }
183
- }
184
- }
185
- };
186
- </script>
187
-
188
- <style rel="stylesheet/scss" lang="scss" scoped >
189
- .common-top-bar {
190
- position: relative;
191
- }
192
- .gw {
193
- position: relative;
194
- }
195
- .mygw {
196
- // border: 1px solid #ccc;
197
- border-radius: 5px;
198
- text-align: center;
199
- // display: none;
200
- background-color: white;
201
- z-index: 999;
202
- width: 200px;
203
- height: 30px;
204
- line-height: 30px;
205
- position: absolute;
206
- left: -50%;
207
- top: 40px;
208
- box-shadow: 0px 0px 10px #ccc;
209
- }
210
- .triangle_border_up {
211
- // display: none;
212
- position: absolute;
213
- left: 66%;
214
- top: 30px;
215
- width: 0;
216
- height: 0;
217
- border-width: 0 10px 10px;
218
- border-style: solid;
219
- border-color: transparent transparent white; /*透明 透明 灰*/
220
- }
221
- .erwm {
222
- text-align: center;
223
- width: 220px;
224
- img {
225
- width: 100px;
226
- height: 100px;
227
- display: block;
228
- }
229
- div {
230
- display: inline-block;
231
- }
232
- position: absolute;
233
- right: 0;
234
- top: 40px;
235
- z-index: 9999;
236
- }
237
- .top-left-con {
238
- float: left;
239
- // margin: 0 20px;
240
- }
241
- .top-left-ul {
242
- // margin: 0 20px;
243
- margin-left: 9px;
244
- float: left;
245
- li {
246
- float: left;
247
- margin: 0 10px;
248
- a {
249
- color: #666;
250
- // &:hover {
251
- // color: #ff9e01;
252
- // }
253
- }
254
- }
255
- }
256
- .common-top-bar {
257
- color: #666;
258
- font-size: 13px;
259
- width: 100%;
260
- height: 40px;
261
- line-height: 40px;
262
- background-color: #fff;
263
- .inner {
264
- .left {
265
- float: left;
266
- }
267
- .right {
268
- float: right;
269
- position: relative;
270
- ul {
271
- margin-right: 1px;
272
- }
273
- ul li {
274
- margin: 0 10px;
275
- float: left;
276
- float:left a {
277
- color: #666;
278
- }
279
- // &:hover a {
280
- // color: #ff9e01;
281
- // }
282
- }
283
- .line {
284
- width: 1px;
285
- height: 16px;
286
- background: #ccc;
287
- margin: 12px 28px;
288
- }
289
- .item {
290
- vertical-align: top;
291
- height: 20px;
292
- margin-top: 12px;
293
- line-height: 20px;
294
- }
295
- }
296
- }
297
- }
298
- .common-top-bar .inner ul li.rignt-line {
299
- // overflow: hidden;
300
- // margin: 16px 20px 0;
301
- // width: 1px;
302
- // height: 10px;
303
- // background-color: #ccc;
304
- }
1
+ <template>
2
+ <div class="common-top-bar">
3
+ <div class="inner w1200 m0a">
4
+ <div class="left">
5
+ <!-- <i class="el-icon-location-outline"></i> -->
6
+ <p class="top-left-con">
7
+ <span v-if="isLogin && userInfor">Hi,{{decodeURIComponent(userInfor.userName)}}</span>
8
+ <!-- <span v-else>Hi,欢迎来到商城!</span> -->
9
+ </p>
10
+ <ul class="top-left-ul">
11
+ <li class="rignt-line"></li>
12
+ <li v-if="!isLogin">
13
+ <a href="/paas/index/index.html#/loginPc">登录</a>
14
+ </li>
15
+ <li v-if="!isLogin" class="rignt-line">|</li>
16
+ <li v-if="!isLogin">
17
+ <a href="/paas/index/index.html#/regPc">注册</a>
18
+ </li>
19
+ <li v-if="isLogin">
20
+ <a href="javascript:;" @click="logout">退出</a>
21
+ </li>
22
+ </ul>
23
+ </div>
24
+ <div class="right">
25
+ <ul class>
26
+ <li>
27
+ <span v-if="isLogin && userInfor">您好,{{userInfor.userName}}</span>
28
+ <span v-else>Hi,欢迎来到商城!</span>
29
+ </li>
30
+ <li v-if="isLogin" class="rignt-line">|</li>
31
+ <li v-if="isLogin">
32
+ <a href="javascript:;" @click="logout">退出</a>
33
+ </li>
34
+ <li v-if="!isLogin">
35
+ <a href="/paas/index/index.html#/loginPc">登录</a>
36
+ </li>
37
+ <li v-if="!isLogin" class="rignt-line">|</li>
38
+ <li v-if="!isLogin">
39
+ <a href="/paas/index/index.html#/regPc">注册</a>
40
+ </li>
41
+ <!-- <li v-if="!isLogin">
42
+ <i class="iconfont icon-beixin5" ></i>
43
+ <a href="javascript:;">消息</a>
44
+ </li>-->
45
+ <li class="rignt-line">|</li>
46
+ <li>
47
+ <i class="iconfont icon-beixin8"></i>
48
+ <a href="/paas/order-manager/index.html#/order">我的订单</a>
49
+ </li>
50
+ <li class="rignt-line">|</li>
51
+ <li class="gw">
52
+ <i class="iconfont icon-beixin2"></i>
53
+ <a @click.stop="gwopen">我的顾问</a>
54
+ <div v-if="flaggw" class="triangle_border_up">
55
+ <span></span>
56
+ </div>
57
+ <div v-if="flaggw" class="mygw">{{gw}}</div>
58
+ </li>
59
+ <li class="rignt-line">|</li>
60
+ <li>
61
+ <i class="iconfont icon-beixin7"></i>
62
+ <a href="javascript:;">400-880-8260</a>
63
+ </li>
64
+ <li v-if="isLogin" class="rignt-line">|</li>
65
+ <li @mouseenter="enter" @mouseleave="leave">
66
+ <i class="iconfont icon-beixin"></i>
67
+ <a href="javascript:;">北新APP</a>
68
+ <div v-if="show" class="erwm">
69
+ <div>
70
+ <img :src="myerwm" alt />
71
+ <div>ios</div>
72
+ </div>
73
+ <div>
74
+ <img :src="myerwm" alt />
75
+ <div>Android</div>
76
+ </div>
77
+ </div>
78
+ </li>
79
+ <!-- <li class="rignt-line">|</li>
80
+ <li>
81
+ <a href="/">首页</a>
82
+ </li>-->
83
+ <!-- <li>
84
+ <a href>我要加盟</a>
85
+ </li>
86
+ <li>
87
+ <a href>技术支持</a>
88
+ </li>-->
89
+
90
+ <li class="rignt-line">|</li>
91
+ <li>
92
+ <a href="/paas/user-manager/index.html#/user">会员中心</a>
93
+ </li>
94
+ <!-- <li>
95
+ <a href>关于品牌</a>
96
+ </li>
97
+ <li>
98
+ <a href>移动版</a>
99
+ </li>-->
100
+ </ul>
101
+ </div>
102
+ </div>
103
+ <slot></slot>
104
+ </div>
105
+ </template>
106
+
107
+ <script>
108
+ import { logout } from "#/api/login";
109
+ import { getToken, removeToken } from "#/utils/auth";
110
+ import API from "#/api/common/index.js";
111
+ import erwm from "#/assets/newerwei.png";
112
+
113
+ export default {
114
+ data() {
115
+ return {
116
+ gw: "暂无顾问",
117
+ flaggw: false,
118
+ myerwm: erwm,
119
+ show: false
120
+ };
121
+ },
122
+ computed: {
123
+ isLogin() {
124
+ return this.getUserCookie() ? getToken(this.getUserCookie()) : false;
125
+ },
126
+ userInfor() {
127
+ let info =
128
+ this.getUserCookie() && getToken(this.getUserCookie())
129
+ ? JSON.parse(getToken(this.getUserCookie()))
130
+ : {};
131
+ return info;
132
+ }
133
+ },
134
+ mounted() {
135
+ window.addEventListener("click", this.gwhide);
136
+ },
137
+ methods: {
138
+ gwopen() {
139
+ API.getCustrelByEmployee().then(res => {
140
+ if (res) {
141
+ if (res.employeePhone) {
142
+ this.gw = res.employeePhone;
143
+ } else {
144
+ this.gw = "暂无顾问";
145
+ }
146
+ } else {
147
+ this.gw = "暂无顾问";
148
+ }
149
+ });
150
+ this.flaggw = true;
151
+ },
152
+ gwhide() {
153
+ this.flaggw = false;
154
+ },
155
+ enter() {
156
+ this.show = true;
157
+ },
158
+ leave() {
159
+ this.show = false;
160
+ },
161
+ logout() {
162
+ // 退出
163
+ logout().then(() => {
164
+ let newDomain = document.domain
165
+ .split(".")
166
+ .splice(-2)
167
+ .join(".");
168
+ removeToken("LOGININFO", newDomain, "/");
169
+ // removeToken("personalInfo", newDomain, "/");
170
+ // location.reload();
171
+ location.href = location.origin;
172
+ });
173
+ },
174
+ getUserCookie() {
175
+ let cookie = document.cookie;
176
+ let start = cookie.indexOf("saas-user-");
177
+ if (start > -1) {
178
+ let end = cookie.indexOf("=", start);
179
+ return cookie.substring(start, end);
180
+ } else {
181
+ return null;
182
+ }
183
+ }
184
+ }
185
+ };
186
+ </script>
187
+
188
+ <style rel="stylesheet/scss" lang="scss" scoped >
189
+ .common-top-bar {
190
+ position: relative;
191
+ }
192
+ .gw {
193
+ position: relative;
194
+ }
195
+ .mygw {
196
+ // border: 1px solid #ccc;
197
+ border-radius: 5px;
198
+ text-align: center;
199
+ // display: none;
200
+ background-color: white;
201
+ z-index: 999;
202
+ width: 200px;
203
+ height: 30px;
204
+ line-height: 30px;
205
+ position: absolute;
206
+ left: -50%;
207
+ top: 40px;
208
+ box-shadow: 0px 0px 10px #ccc;
209
+ }
210
+ .triangle_border_up {
211
+ // display: none;
212
+ position: absolute;
213
+ left: 66%;
214
+ top: 30px;
215
+ width: 0;
216
+ height: 0;
217
+ border-width: 0 10px 10px;
218
+ border-style: solid;
219
+ border-color: transparent transparent white; /*透明 透明 灰*/
220
+ }
221
+ .erwm {
222
+ text-align: center;
223
+ width: 220px;
224
+ img {
225
+ width: 100px;
226
+ height: 100px;
227
+ display: block;
228
+ }
229
+ div {
230
+ display: inline-block;
231
+ }
232
+ position: absolute;
233
+ right: 0;
234
+ top: 40px;
235
+ z-index: 9999;
236
+ }
237
+ .top-left-con {
238
+ float: left;
239
+ // margin: 0 20px;
240
+ }
241
+ .top-left-ul {
242
+ // margin: 0 20px;
243
+ margin-left: 9px;
244
+ float: left;
245
+ li {
246
+ float: left;
247
+ margin: 0 10px;
248
+ a {
249
+ color: #666;
250
+ // &:hover {
251
+ // color: #ff9e01;
252
+ // }
253
+ }
254
+ }
255
+ }
256
+ .common-top-bar {
257
+ color: #666;
258
+ font-size: 13px;
259
+ width: 100%;
260
+ height: 40px;
261
+ line-height: 40px;
262
+ background-color: #fff;
263
+ .inner {
264
+ .left {
265
+ float: left;
266
+ }
267
+ .right {
268
+ float: right;
269
+ position: relative;
270
+ ul {
271
+ margin-right: 1px;
272
+ }
273
+ ul li {
274
+ margin: 0 10px;
275
+ float: left;
276
+ float:left a {
277
+ color: #666;
278
+ }
279
+ // &:hover a {
280
+ // color: #ff9e01;
281
+ // }
282
+ }
283
+ .line {
284
+ width: 1px;
285
+ height: 16px;
286
+ background: #ccc;
287
+ margin: 12px 28px;
288
+ }
289
+ .item {
290
+ vertical-align: top;
291
+ height: 20px;
292
+ margin-top: 12px;
293
+ line-height: 20px;
294
+ }
295
+ }
296
+ }
297
+ }
298
+ .common-top-bar .inner ul li.rignt-line {
299
+ // overflow: hidden;
300
+ // margin: 16px 20px 0;
301
+ // width: 1px;
302
+ // height: 10px;
303
+ // background-color: #ccc;
304
+ }
305
305
  </style>