App.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div id="app">
  3. <HeaderBanner></HeaderBanner>
  4. <Navigation :navTitle1='navTitle1' :navTitle2='navTitle2'></Navigation>
  5. <div class="app_content">
  6. <div class="router">
  7. <LoginInfo
  8. :userAccount='userAccount'
  9. ></LoginInfo>
  10. <Routerbanner
  11. @change_nav="changeNav"
  12. :isManufacturer="isManufacturer"
  13. />
  14. </div>
  15. <div class="router_view">
  16. <router-view :isManufacturer="isManufacturer"></router-view>
  17. </div>
  18. </div>
  19. <FooterBanner/>
  20. </div>
  21. </template>
  22. <script>
  23. import HeaderBanner from "./components/HeaderBanner";
  24. import Navigation from "./components/Navigation";
  25. import LoginInfo from "./components/LoginInfo";
  26. import Routerbanner from "./components/RouterBanner";
  27. import FooterBanner from "./components/Footerbanner";
  28. export default {
  29. components: {
  30. HeaderBanner,
  31. Navigation,
  32. LoginInfo,
  33. Routerbanner,
  34. FooterBanner
  35. },
  36. data() {
  37. return {
  38. navTitle1: ' > 数据管理',
  39. navTitle2: '',
  40. isManufacturer: 'distributor', // distributor 经销商 manufacturer 厂商
  41. userAccount: '',
  42. userToken:''
  43. }
  44. },
  45. methods: {
  46. // 点击路由,导航栏对应变化
  47. changeNav: function(navTitle1, navTitle2){
  48. this.navTitle1 = ' > ' + navTitle1;
  49. if (navTitle2) {
  50. this.navTitle2 = ' > ' + navTitle2;
  51. } else {
  52. this.navTitle2 = '';
  53. }
  54. },
  55. getTokenRequest(){
  56. this.$http({
  57. method: 'post',
  58. url: '/auth/checkSign',
  59. data:this.userToken
  60. }).then((res) => {
  61. console.log(res);
  62. if(res.data.code === 200) {
  63. let userInfo = res.data.data;
  64. this.userAccount = userInfo.userCode;
  65. localStorage.setItem('userOutId',userInfo.outId);
  66. localStorage.setItem("userId", userInfo.agentId);
  67. sessionStorage.setItem("userNameAccount", userInfo.userCode);
  68. console.log(userInfo.agentId)
  69. if (!userInfo.agentId) {
  70. this.isManufacturer = 'manufacturer';
  71. this.$router.replace({ path: "/uploadInfor" });
  72. } else {
  73. if (userInfo.userRole == '1' || userInfo.userRole == '2') {
  74. this.isManufacturer = 'distributor';
  75. this.$router.replace({ path: "/inforList" });
  76. } else {
  77. this.isManufacturer = 'manufacturer';
  78. this.$router.replace({ path: "/uploadInfor" });
  79. }
  80. }
  81. sessionStorage.setItem('userPath',this.isManufacturer)
  82. }else {
  83. let message = res.data.message;
  84. console.log('message', message);
  85. alert(message);
  86. }
  87. }).catch((err) => {
  88. alert('无法校验的字符串');
  89. console.log(err);
  90. })
  91. },
  92. // 测试接口
  93. getData() {
  94. // 正常token
  95. // dXNlcklkPTEwMDEmYWNjb3VudD1MMDIxMF9NTSZmcm9tPXNpd2VpJnRpbWVzdGFtcD0xNjE4NTU2MTQ4JnNpZ249MWI3MmIwODkzNmZhNDdmMDU5MDRiNDc3N2FkOTdkMTI== //测试经销商TOKEN
  96. // dXNlcklkPTE1NiZhY2NvdW50PUwwTTE0X01NJmZyb209c2l3ZWkmdGltZXN0YW1wPTE2MTg1NTYzMDAmc2lnbj1lNDZmM2Q3MmFiZDI3ODYwMDYyMmY2N2NmZjFiNjZmNw== //测试厂商TOKEN
  97. this.userToken = sessionStorage.getItem('setToken');
  98. if(this.userToken){
  99. console.log('已登录',this.userToken,this.$route.path,sessionStorage.getItem('userNameAccount'));
  100. this.userAccount = sessionStorage.getItem('userNameAccount');
  101. if(sessionStorage.getItem('userPath') === 'distributor'){
  102. this.isManufacturer = 'distributor';
  103. if(this.$route.path !== '/inforList') this.$router.replace({ path: "/inforList" });
  104. }else if (sessionStorage.getItem('userPath') === 'manufacturer') {
  105. this.isManufacturer = 'manufacturer';
  106. if(this.$route.path !== '/uploadInfor') this.$router.replace({ path: "/uploadInfor" });
  107. }else {
  108. console.log(this.isManufacturer)
  109. }
  110. }else {
  111. sessionStorage.clear();
  112. localStorage.clear();
  113. let query = this.$route.query || {};
  114. sessionStorage.setItem('setToken',query.token);
  115. this.userToken = query.token;
  116. console.log('token:', this.userToken);
  117. this.getTokenRequest();
  118. }
  119. }
  120. },
  121. mounted() {
  122. },
  123. created() {
  124. this.getData();
  125. }
  126. };
  127. </script>
  128. <style lang="less">
  129. * {
  130. padding: 0;
  131. margin: 0;
  132. list-style: none;
  133. color: #333;
  134. font-size: 12px;
  135. }
  136. button{
  137. border: none;
  138. background-color: #0056A0;
  139. height: 30px;
  140. width: 58px;
  141. color: #fff;
  142. font-weight: 400px;
  143. font-family: Arial;
  144. margin-left: 18px;
  145. font-size: 14px;
  146. &:hover{
  147. cursor: pointer;
  148. }
  149. }
  150. .current_button{
  151. background-color: #0056A0;
  152. height: 30px;
  153. width: 58px;
  154. line-height: 30px;
  155. text-align: center;
  156. color: #fff;
  157. font-weight: 400px;
  158. font-family: Arial;
  159. margin-left: 18px;
  160. font-size: 14px;
  161. &:hover{
  162. cursor: pointer;
  163. }
  164. }
  165. #app {
  166. background-color: #eeeeee;
  167. height: 100%;
  168. min-height: 100vh;
  169. .app_content {
  170. width: 1190px;
  171. margin: 0 auto;
  172. font-size: 12px;
  173. color: #333;
  174. font-family: "微软雅黑";
  175. display: flex;
  176. justify-content: space-between;
  177. .router{
  178. width: 150px;
  179. height: 100%;
  180. background-color: #d4d4d4;
  181. height: auto;
  182. min-height: 50vh;
  183. }
  184. .router_view{
  185. width: 1030px;
  186. }
  187. }
  188. }
  189. @media screen and (max-width: 1190px) {
  190. #app{
  191. width: 1190px;
  192. }
  193. }
  194. </style>