|
@@ -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>
|