Ver código fonte

添加备注,加入master主站(数据没调)

lrf402788946 5 anos atrás
pai
commit
6ca08c2af5
3 arquivos alterados com 103 adições e 15 exclusões
  1. 3 2
      src/layout/layout-part/top-menu.vue
  2. 2 2
      src/plugins/var.js
  3. 98 11
      src/views/index/index.vue

+ 3 - 2
src/layout/layout-part/top-menu.vue

@@ -56,7 +56,8 @@ export default {
       if (menu) {
         this.$set(this, `menu`, JSON.parse(menu));
         return;
-      } else this.getMenu();
+      }
+      // else this.getMenu();
     },
     async getMenu() {
       //获取菜单
@@ -77,7 +78,7 @@ export default {
       }
     },
     async completeMenu(item) {
-      let res = await this.columnOperation({ type: 'list', data: { parent_id: item.id, site: item.site } });
+      let res = await this.columnOperation({ type: 'list', data: { parent_id: item.id } });
       if (`${res.errcode}` === '0') {
         //组合path:res.data内容都为栏目.所以,点击这些栏目显示的列表应该是信息列表,需要用栏目的id作为查询信息的parten_id查出不同栏目的信息
         for (const col of res.data) {

+ 2 - 2
src/plugins/var.js

@@ -7,8 +7,8 @@ const getSiteId = () => {
   let arr = host.split('.');
   if (arr.length > 0) {
     schId = arr[0];
-    `${schId}`.includes('localhost') || `${schId}`.includes('127.0.0.1') ? (schId = 99991) : '';
-    sessionStorage.setItem('schId', `${schId}`.includes('localhost') || `${schId}`.includes('127.0.0.1') ? 99991 : schId);
+    `${schId}`.includes('localhost') || `${schId}`.includes('127.0.0.1') ? (schId = 'master') : '';
+    sessionStorage.setItem('schId', `${schId}`.includes('localhost') || `${schId}`.includes('127.0.0.1') ? 'master' : schId);
   }
   return schId;
 };

+ 98 - 11
src/views/index/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="request">
-    <el-row>
+    <el-row v-if="!checkUser()">
       <pages-one
         v-if="!loading"
         :topInfo="site"
@@ -23,11 +23,45 @@
         </template>
       </pages-one>
     </el-row>
+    <master
+      :topinfo="topinfo"
+      :menulist="menulist"
+      :bannerinfo="bannerinfo"
+      :newsList="newsList"
+      :noticeinfo="noticeinfo"
+      :noticelist="noticelist"
+      :huodonginfo="huodonginfo"
+      :talksList="talksList"
+      :fairsList="fairsList"
+      :talksoutList="talksoutList"
+      :infoList="infoList"
+      :shiyelist="shiyelist"
+      :teacherlist="teacherlist"
+      :danweilist="danweilist"
+      :gongwulist="gongwulist"
+      :xuantiaolist="xuantiaolist"
+      :xibulist="xibulist"
+      :teganglist="teganglist"
+      :sanzhilist="sanzhilist"
+      :cunguanlist="cunguanlist"
+      :rilitop="rilitop"
+      :fasttop="fasttop"
+      :fastlist="fastlist"
+      :contactinfo="contactinfo"
+      :companytop="companytop"
+      :companylist="companylist"
+      :unittop="unittop"
+      :unitlist="unitlist"
+      :footinfo="footinfo"
+      v-else
+    ></master>
   </div>
 </template>
 
 <script>
 import _ from 'lodash';
+import { jobMenu } from '@/config/jobs-menu';
+import master from '@publics/src/views/master/index/index.vue';
 import topMenu from '@/layout/layout-part/top-menu.vue';
 import selfCalendar from '@/components/self-calendar.vue';
 import pagesOne from '@publics/src/views/index.vue';
@@ -39,17 +73,16 @@ export default {
     pagesOne,
     topMenu,
     selfCalendar,
+    master,
   },
   data: () => ({
+    //menu部分
+    activeIndex: '1',
+    menu: [],
+    jobs: jobMenu,
     loading: true,
     limit: 4,
-    newList: [
-      { url: require('@/assets/a1.jpg'), id: 1, name: '应用技术学院召开首届专场人才招聘会' },
-      { url: require('@/assets/a2.jpg'), id: 2, name: '浙江湖州城市综合推介会暨2019年重点用人单位招聘会在我校举行' },
-      { url: require('@/assets/a3.jpg'), id: 3, name: '我校与亚信科技(中国)有限公司举行校企战略合作签约暨客座教授聘任仪式' },
-      { url: require('@/assets/a4.jpg'), id: 4, name: '求职创业补贴学生名单公示' },
-      { url: require('@/assets/a5.jpg'), id: 5, name: '学校隆重举行2019届毕业生春季供需洽谈会' },
-    ],
+    newList: [],
     talksList: [],
     jobfairList: [],
     talksOutList: [],
@@ -64,9 +97,11 @@ export default {
   }),
   async created() {
     await this.getSite();
-    // this.search();
+    this.search();
     this.getModule();
-    // this.getLink();
+    this.getLink();
+    await this.getMenu();
+    this.$set(this, `loading`, false);
   },
   computed: {},
   methods: {
@@ -79,7 +114,15 @@ export default {
       'moduleOperation',
       'columnOperation',
       'linkOperation',
+      'menuOperation',
     ]),
+    //检查用户身份
+    checkUser() {
+      let schId = sessionStorage.getItem('schId');
+      if (schId === 'master') return false;
+      else return true;
+    },
+    //获取站点信息
     async getSite() {
       let site = sessionStorage.getItem('site');
       if (!site) {
@@ -91,8 +134,8 @@ export default {
       } else {
         this.$set(this, `site`, JSON.parse(site));
       }
-      this.$set(this, `loading`, false);
     },
+    //查询招聘类信息
     async search() {
       // 1直接拿着参数发送请求
       let result = await this.postTalksInfo({ type: 'list', data: { schid: this.$site } });
@@ -124,6 +167,7 @@ export default {
         this.$message.error(result.errmsg ? result.errmsg : 'error');
       }
     },
+    //获取固定的4个模块
     async getModule() {
       //获取分站所有模块 TODO:site=>_tenant
       let result = await this.moduleOperation({ type: 'list' });
@@ -138,6 +182,7 @@ export default {
         }
       }
     },
+    //根据条件获取栏目
     async getColumn(item) {
       // console.log(item);
       // console.log(this.site);
@@ -166,6 +211,7 @@ export default {
       }
       return item;
     },
+    //根据条件获取信息
     async getNews(item, news_type) {
       //这个item是栏目列表,循环查每个栏目6条信息
       let res = await this.newsOperation({ type: 'list', data: { parent_id: item.id, skip: 0, limit: 6 } });
@@ -173,6 +219,7 @@ export default {
         return res.data;
       }
     },
+    //组合数据
     makeList(item) {
       if (!item) return;
       if (item.category === 'news') {
@@ -203,6 +250,7 @@ export default {
         this.$set(this, `self2List`, item.children);
       }
     },
+    //友情链接/合作单位
     async getLink() {
       //合作单位
       let coop = await this.linkOperation({ type: 'list', data: { site: this.$site, type: 'cooperation' } });
@@ -215,6 +263,45 @@ export default {
         this.$set(this, `linkList`, link.data);
       }
     },
+    //检查+读取菜单
+    async loadMenu() {
+      let menu = sessionStorage.getItem('menu');
+      if (menu) {
+        this.$set(this, `menu`, JSON.parse(menu));
+        return;
+      } else this.getMenu();
+    },
+    //获取菜单
+    async getMenu() {
+      //获取菜单
+      let result = await this.menuOperation({ type: 'list', data: { site: this.$site } });
+      if (`${result.errcode}` === '0') {
+        //获取菜单的栏目
+        let allMenu = result.data;
+        for (let item of allMenu) {
+          if (item.type === 'content') {
+            item.path = `/info/detail?id=${item.content_id}`;
+          } else if (item.type !== 'url') {
+            let res = await this.completeMenu(item);
+            item.children = res;
+          }
+        }
+        sessionStorage.setItem('menu', JSON.stringify(allMenu));
+        this.$set(this, `menu`, allMenu);
+      }
+    },
+    //将菜单完善至栏目级别
+    async completeMenu(item) {
+      let res = await this.columnOperation({ type: 'list', data: { parent_id: item.id, site: item.site } });
+      if (`${res.errcode}` === '0') {
+        //组合path:res.data内容都为栏目.所以,点击这些栏目显示的列表应该是信息列表,需要用栏目的id作为查询信息的parten_id查出不同栏目的信息
+        for (const col of res.data) {
+          if (col.type === 'content') col.path = `/info/detail?id=${col.content_id}`;
+          else if (col.type !== 'url') col.path = `/info/list/${col.id}`;
+        }
+        return res.data;
+      }
+    },
   },
 };
 </script>