Explorar o código

主站master更新

guhongwei %!s(int64=5) %!d(string=hai) anos
pai
achega
bb4f691639

+ 72 - 0
src/layout/master/index/banner.vue

@@ -0,0 +1,72 @@
+<template>
+  <div id="banner">
+    <el-row>
+      <el-col :span="24">
+        <el-image style="width:100%;height:526px;" :src="bannerinfo.banner"></el-image>
+      </el-col>
+      <el-col :span="24" class="search">
+        <div class="w_1200">
+          <el-col :span="4">
+            <p>&nbsp;</p>
+          </el-col>
+          <el-col :span="14" class="input">
+            <el-input v-model="input" placeholder=""></el-input>
+          </el-col>
+          <el-col :span="1" class="button">
+            <el-button><i class="el-icon-search"></i></el-button>
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'banner',
+  props: {
+    bannerinfo: null,
+  },
+  components: {},
+  data: () => ({
+    input: '',
+  }),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.search {
+  position: absolute;
+  bottom: -35px;
+  text-align: center;
+}
+.search .input{
+  width:734px;
+  height:82px;
+
+}
+/deep/.search .el-input__inner {
+  border-radius: 0;
+  height: 82px;
+  line-height: 82px;
+  font-size: 25px;
+}
+.button {
+  text-align: left;
+}
+/deep/.search .button .el-button {
+  border-radius: 0;
+  padding: 20px 22px;
+  background: #415285;
+  color: #fff;
+  border: 0;
+  font-size: 40px;
+}
+</style>

+ 71 - 0
src/layout/master/index/company.vue

@@ -0,0 +1,71 @@
+<template>
+  <div id="company">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-col :span="24" class="english">
+            {{companytop.english}}
+          </el-col>
+          <el-col :span="24" class="title">
+            {{companytop.title}}
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="info">
+          <el-col :span="12" class="companylist" v-for="(item,index) in companylist" :key="index">
+            <el-col :span="24">
+                <p class="title">{{item.title}}({{item.date}})</p>
+              </el-col>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'company',
+  props: {
+    companytop: null,
+    companylist: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  height:92px;
+  text-align: center;
+}
+.top .english {
+  text-transform: uppercase;
+  color: #5b5e66;
+  font-family: 微软雅黑;
+  font-size: 42px;
+}
+.top .title {
+  color: #415285;
+  font-size: 36px;
+  font-family: 微软雅黑;
+}
+.companylist{
+  padding: 48px 10px 0 0;
+}
+.companylist .title {
+  color: #5b5e66;
+  font-size: 24px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+</style>
+

+ 72 - 0
src/layout/master/index/contact.vue

@@ -0,0 +1,72 @@
+<template>
+  <div id="contact">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="10" class="contact">
+          <el-col :span="24" class="english">
+            {{contactinfo.english}}
+          </el-col>
+          <el-col :span="24" class="title">
+            {{contactinfo.title}}
+          </el-col>
+        </el-col>
+        <el-col :span="14" class="right">
+          <el-col :span="24" class="text">
+            <i class="el-icon-location-outline"></i><span>{{contactinfo.address}}</span>
+          </el-col>
+          <el-col :span="24" class="text">
+            <i class="el-icon-phone-outline"></i><span>{{contactinfo.youzheng}}</span>
+          </el-col>
+          <el-col :span="24" class="text">
+            <i class="el-icon-monitor"></i><span>{{contactinfo.rexian}}</span>
+          </el-col>
+          <el-col :span="24" class="text">
+            <i class="el-icon-printer"></i><span>{{contactinfo.chuanzhen}}</span>
+          </el-col>
+          <el-col :span="24" class="text">
+            <i class="el-icon-message"></i><span>{{contactinfo.email}}</span>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'contact',
+  props: {
+    contactinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.contact {
+  text-align: center;
+  padding: 60px 0;
+}
+.contact .english {
+  font-size: 42px;
+  color: #5b5e66;
+  padding: 10px 0;
+}
+.contact .title {
+  color: #415285;
+  font-size: 36px;
+}
+.right .text i {
+  color: #576693;
+  padding: 0 15px 0 0;
+}
+.right .text {
+  color: #5b5e66;
+  font-size: 24px;
+  padding: 14px 0 0 0;
+}
+</style>

+ 97 - 0
src/layout/master/index/fast.vue

@@ -0,0 +1,97 @@
+<template>
+  <div id="fast">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-col :span="24" class="english">
+            {{fasttop.english}}
+          </el-col>
+          <el-col :span="24" class="title">
+            {{fasttop.title}}
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="fast">
+          <el-col :span="6" class="fastlist" v-for="(item,index) in fastlist" :key="index">
+            <el-col :span="24" class="image">
+              <el-image style="width:109px;height:113px;" :src="item.url"></el-image>
+            </el-col>
+            <el-col :span="24" class="title">
+              <el-link :underline="false" :href="item.link">{{item.title}}</el-link>
+            </el-col>
+            <el-col :span="24" class="content">
+              <p>{{item.content}}</p>
+            </el-col>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'fast',
+  props: {
+    fasttop: null,
+    fastlist: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  text-align: center;
+}
+.top .english {
+  text-transform: uppercase;
+  color: #5b5e66;
+  font-family: 微软雅黑;
+  font-size: 42px;
+}
+.top .title {
+  color: #415285;
+  font-size: 36px;
+  font-family: 微软雅黑;
+  padding: 25px 0 50px 0;
+}
+.fast {
+  text-align: center;
+}
+.fastlist {
+  text-align: center;
+  width: 197px;
+  height: 326px;
+  margin: 0 50px;
+  box-shadow: 0 0 10px #ccc;
+  border-radius: 10px;
+}
+.fastlist .image {
+  padding: 15px 0;
+  border-bottom: 1px solid #ccc;
+}
+.fastlist .title {
+  padding: 20px 0;
+}
+.fastlist .title .el-link {
+  color: #415285;
+  font-size: 24px;
+}
+.fastlist .content {
+  padding: 0 25px;
+}
+.fastlist .content p {
+  font-size: 12px;
+  color: #999;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 3;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+}
+</style>

+ 48 - 0
src/layout/master/index/foot.vue

@@ -0,0 +1,48 @@
+<template>
+  <div id="foot">
+    <el-row>
+      <el-col :span="24" class="foot">
+        <div class="w_1200">
+          <el-col :span="24" class="title">
+            {{footinfo.title}}
+          </el-col>
+          <el-col :span="24" class="title">
+            {{footinfo.jishu}}
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'foot',
+  props: {
+    footinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.foot {
+      background: #393939;
+    height: 185px;
+    text-align: center;
+    padding: 37px 0 0 0;
+    font-size: 24px;
+    color: #a7a7a7;
+}
+.foot .title{
+  padding: 20px 0 0 0;
+}
+</style>

+ 247 - 0
src/layout/master/index/huodong.vue

@@ -0,0 +1,247 @@
+<template>
+  <div id="huodong">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-col :span="24" class="english">{{huodonginfo.english}}</el-col>
+          <el-col :span="24" class="title">{{huodonginfo.title}}</el-col>
+        </el-col>
+        <el-col :span="24" class="infoone">
+          <el-col :span="24" class="infoonebei">
+            <span>01活动</span>
+          </el-col>
+          <el-col :span="24" class="infoonelist">
+            <el-tabs v-model="activeName" @tab-click="handleClick">
+              <el-tab-pane label="校内宣讲" name="first">
+                <el-col :span="24" class="list">
+                  <el-col :span="24" class="talksList" v-for="(item, index) in talksList" :key="index">
+                    <el-col :span="24" style="padding:0 0 12px 0;">
+                      <el-col :span="20">
+                        <span class="qiu"></span>
+                        <el-link :underline="false">
+                          <p class="title">{{item.title}}</p>
+                        </el-link>
+                      </el-col>
+                      <el-col :span="4">
+                        <p class="date">{{item.date}}</p>
+                      </el-col>
+                    </el-col>
+                    <el-col :span="24" class="text">
+                      <span>宣讲时间:{{item.time}}</span>&nbsp;
+                      <span>宣讲地点:{{item.address}}</span>
+                    </el-col>
+                  </el-col>
+                </el-col>
+              </el-tab-pane>
+              <el-tab-pane label="双选会" name="second">
+                <el-col :span="24" class="list">
+                  <el-col :span="24" class="talksList" v-for="(item, index) in fairsList" :key="index">
+                    <el-col :span="24" style="padding:0 0 12px 0;">
+                      <el-col :span="20">
+                        <span class="qiu"></span>
+                        <el-link :underline="false">
+                          <p class="title">{{item.title}}</p>
+                        </el-link>
+                      </el-col>
+                      <el-col :span="4">
+                        <p class="date">{{item.date}}</p>
+                      </el-col>
+                    </el-col>
+                    <el-col :span="24" class="text">
+                      <span>宣讲时间:{{item.time}}</span>&nbsp;
+                      <span>宣讲地点:{{item.address}}</span>
+                    </el-col>
+                  </el-col>
+                </el-col>
+              </el-tab-pane>
+              <el-tab-pane label="校外宣讲" name="third">
+                <el-col :span="24" class="list">
+                  <el-col :span="24" class="talksList" v-for="(item, index) in talksoutList" :key="index">
+                    <el-col :span="24" style="padding:0 0 12px 0;">
+                      <el-col :span="20">
+                        <span class="qiu"></span>
+                        <el-link :underline="false">
+                          <p class="title">{{item.title}}</p>
+                        </el-link>
+                      </el-col>
+                      <el-col :span="4">
+                        <p class="date">{{item.date}}</p>
+                      </el-col>
+                    </el-col>
+                    <el-col :span="24" class="text">
+                      <span>宣讲时间:{{item.time}}</span>&nbsp;
+                      <span>宣讲地点:{{item.address}}</span>
+                    </el-col>
+                  </el-col>
+                </el-col>
+              </el-tab-pane>
+              <el-tab-pane label="招聘快讯" name="fourth">
+                <el-col :span="24" class="list">
+                  <el-col :span="24" class="talksList" v-for="(item, index) in infoList" :key="index">
+                    <el-col :span="24" style="padding:0 0 12px 0;">
+                      <el-col :span="20">
+                        <span class="qiu"></span>
+                        <el-link :underline="false">
+                          <p class="title">{{item.title}}</p>
+                        </el-link>
+                      </el-col>
+                      <el-col :span="4">
+                        <p class="date">{{item.date}}</p>
+                      </el-col>
+                    </el-col>
+                    <el-col :span="24" class="text">
+                      <span>宣讲时间:{{item.time}}</span>&nbsp;
+                      <span>宣讲地点:{{item.address}}</span>
+                    </el-col>
+                  </el-col>
+                </el-col>
+              </el-tab-pane>
+            </el-tabs>
+            <el-link :underline="false" class="add"><i class="el-icon-plus"></i></el-link>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'huodong',
+  props: {
+    huodonginfo: null,
+    talksList: null,
+    fairsList: null,
+    talksoutList: null,
+    infoList: null,
+  },
+  components: {},
+  data: () => ({
+    activeName: 'first'
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    handleClick(tab, event) {
+      // eslint-disable-next-line no-console
+      console.log(tab, event);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  height: 90px;
+  text-align: center;
+  margin-bottom: 30px;
+}
+.top .english {
+  text-transform: uppercase;
+  color: #5b5e66;
+  font-family: 微软雅黑;
+  font-size: 42px;
+}
+.top .title {
+  color: #415285;
+  font-size: 36px;
+  font-family: 微软雅黑;
+}
+.infoone {
+  height: 512px;
+}
+.infoonebei {
+  width: 294px;
+  height: 512px;
+  background: #415285;
+}
+.infoonebei span {
+  display: inline-block;
+  width: 294px;
+  text-align: center;
+  height: 108px;
+  line-height: 108px;
+  font-size: 42px;
+  color: #fff;
+}
+.infoonelist {
+  width: 1130px;
+  height: 372px;
+  background: #fff;
+  position: absolute;
+  top: 232px;
+  left: 71px;
+  box-shadow: 0px 0px 5px #ccc;
+}
+.add {
+  position: absolute;
+  top: 20px;
+  right: 20px;
+  width: 43px;
+  height: 43px;
+  line-height: 43px;
+  text-align: center;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+}
+.add .el-link--inner {
+  font-size: 30px;
+}
+/deep/.el-tabs__header {
+  margin: 0;
+}
+/deep/.el-tabs__nav-wrap {
+  height: 90px;
+}
+/deep/.el-tabs__item {
+  font-size: 30px;
+  height: 90px;
+  line-height: 90px;
+}
+/deep/.el-tabs__item.is-active {
+  color: #415285;
+}
+/deep/.el-tabs__nav-wrap::after {
+  background-color: transparent;
+}
+/deep/.el-tabs__active-bar {
+  background-color: #415285;
+  height: 6px;
+}
+/deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px;
+}
+.infoonelist .list {
+  height: 284px;
+  overflow: hidden;
+}
+.list .title {
+  font-size: 30px;
+  color: #000;
+}
+.list .date {
+  color: #999;
+  font-size: 25px;
+  text-align: right;
+  padding: 0 15px;
+}
+.list .text {
+  font-size: 24px;
+  color: #b1b1b1;
+  padding: 0 50px;
+}
+.list .qiu {
+  display: inline-block;
+  width: 4px;
+  height: 5px;
+  background: #999;
+  margin: 0 16px 0 31px;
+}
+.talksList {
+  padding: 43px 0 0 0;
+}
+</style>

+ 55 - 0
src/layout/master/index/login.vue

@@ -0,0 +1,55 @@
+<template>
+  <div id="login">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="8" class="login">
+          <el-link :underline="false">
+            <el-image :src="shengyuan"></el-image>
+            <p class="mainTwoTit">生源信息</p>
+          </el-link>
+        </el-col>
+        <el-col :span="8" class="login">
+          <el-link :underline="false">
+            <el-image :src="qiye"></el-image>
+            <p class="mainTwoTit">单位登录/注册</p>
+          </el-link>
+        </el-col>
+        <el-col :span="8" class="login">
+          <el-link :underline="false">
+            <el-image :src="xuesheng"></el-image>
+            <p class="mainTwoTit">学生登录</p>
+          </el-link>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'login',
+  props: {},
+  components: {},
+  data: () => ({
+    shengyuan: require('../../../assets/shengyuan.png'),
+    qiye: require('../../../assets/qiye.png'),
+    xuesheng: require('../../../assets/stu.png'),
+  }),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.login {
+  text-align: center;
+}
+.mainTwoTit {
+  font-size: 33px;
+  color: #666;
+  font-family: 微软雅黑;
+  margin: 0;
+  padding: 0;
+}
+</style>

+ 139 - 0
src/layout/master/index/news.vue

@@ -0,0 +1,139 @@
+<template>
+  <div id="news">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="title">
+          <span>{{title}}</span>
+        </el-col>
+        <el-col :span="24">
+          <el-col :span="13" class="block">
+            <el-carousel ref="shubiao">
+              <el-carousel-item v-for="(item, index) in newsList" :key="index" :name="`${index}`">
+                <el-link :underline="false">
+                  <el-image style="width:620px;height:350px;" :src="item.picurl" class="newsList"></el-image>
+                </el-link>
+              </el-carousel-item>
+            </el-carousel>
+          </el-col>
+          <el-col :span="11" class="newsLi">
+            <ul>
+              <li class="listdata"><span class="qiudata"></span>
+                <el-link :underline="false">今天(3月8日星期五)</el-link>
+              </li>
+              <li class="list" v-for="(tag, index) in newsList" :key="index" :type="tag.type" @mouseover="shuYi(index)"
+                  :class="newListActive(tag)">
+                <span class="qiu"></span>
+                <el-link :underline="false" class="newsListTit">{{ tag.title }}</el-link>
+              </li>
+            </ul>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'news',
+  props: {
+    newsList: null,
+  },
+  components: {},
+  data: () => ({
+    title: '就业新闻',
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    shuYi(index) {
+      this.$refs.shubiao.setActiveItem(`${index}`);
+    },
+    // eslint-disable-next-line no-unused-vars
+    newListActive(item) { },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+ul {
+  margin: 0;
+  padding: 0;
+}
+li {
+  list-style: none;
+}
+.title {
+  color: #333;
+  font-size: 24px;
+  font-family: 微软雅黑;
+  font-weight: bold;
+  margin-bottom: 15px;
+}
+/deep/.el-carousel__indicators--horizontal {
+  display: none;
+}
+/deep/.el-carousel__arrow {
+  display: none;
+}
+/deep/.el-carousel__container {
+  height: 350px;
+}
+.block{
+  width:620px;
+  height:350px;
+}
+.newsLi {
+  width: 580px;
+  height:350px;
+  background-color: #eeeeee;
+  overflow: hidden;
+}
+.list {
+  height: 50px;
+  line-height: 50px;
+  border-left: 5px solid #eeeeee;
+}
+.listdata {
+  height: 50px;
+  line-height: 50px;
+  border-left: 5px solid #eeeeee;
+}
+.listdata .el-link {
+  color: #999999;
+  font-size: 20px;
+  font-family: 微软雅黑;
+}
+.list .el-link {
+  color: #999999;
+  font-size: 20px;
+  font-family: 微软雅黑;
+}
+.list:hover {
+  border-left: 5px solid #415285;
+  background: #fff;
+}
+.list:hover .el-link {
+  color: #333;
+}
+.list:hover .qiu{
+  background: #415285;
+}
+.qiudata {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  background: #fff;
+  border:1px solid #ccc;
+  border-radius: 90px;
+  margin: 0 15px;
+}
+.qiu {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  background: #d5d5d5;
+  border-radius: 90px;
+  margin: 0 15px;
+}
+</style>

+ 179 - 0
src/layout/master/index/notice.vue

@@ -0,0 +1,179 @@
+<template>
+  <div id="notice">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-col :span="24" class="english">{{noticeinfo.english}}</el-col>
+          <el-col :span="24" class="title">{{noticeinfo.title}}</el-col>
+        </el-col>
+        <el-col :span="24" class="info">
+          <el-col :span="24" class="infoBei">
+            <span>{{title}}</span>
+          </el-col>
+          <el-col :span="24" class="infolist">
+            <el-col :span="24" class="button">
+              <el-button class="icon" style="margin: 0 43px 0 0;"><i class="el-icon-arrow-left"></i></el-button>
+              <el-button class="icon" style="margin: 0 10px;"><i class="el-icon-arrow-right"></i></el-button>
+            </el-col>
+            <el-col :span="24" class="noticelist">
+              <el-col :span="8" class="content" v-for="(item, index) in noticelist" :key="index">
+                <el-link :underline="false">
+                  <el-col :span="24" class="image">
+                    <el-image style="width:100%;height:226px;" :src="item.url"></el-image>
+                  </el-col>
+                  <el-col :span="24" class="title">
+                    <p>{{item.title}}</p>
+                  </el-col>
+                  <el-col :span="24" class="text">
+                    <p>{{item.text}}</p>
+                  </el-col>
+                  <el-col :span="24" class="time">
+                    {{item.time}}
+                  </el-col>
+                </el-link>
+              </el-col>
+            </el-col>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'notice',
+  props: {
+    noticeinfo: null,
+    noticelist: null,
+  },
+  components: {},
+  data: () => ({
+    title: '最新公告',
+  }),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  height: 100px;
+  text-align: center;
+  margin-bottom: 42px;
+}
+.top .english {
+  text-transform: uppercase;
+  color: #5b5e66;
+  font-family: 微软雅黑;
+  font-size: 42px;
+}
+.top .title {
+  color: #415285;
+  font-size: 36px;
+  font-family: 微软雅黑;
+}
+
+.info {
+  height: 513px;
+}
+.info .infoBei {
+  width: 294px;
+  height: 512px;
+  background-color: #415285;
+}
+.info .infoBei span {
+  margin: 52px 0 0 69px;
+  display: inline-block;
+  font-size: 22px;
+  font-family: 微软雅黑;
+  color: #fff;
+}
+.infolist {
+  width: 1130px;
+  height: 470px;
+  position: absolute;
+  top: 166px;
+  left: 72px;
+}
+.button {
+  text-align: right;
+  height: 40px;
+  margin-bottom: 30px;
+}
+.button .icon {
+  width: 40px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  padding: 0;
+  border-radius: 90px;
+  border: 2px solid #ccc;
+}
+.button .icon .el-icon-arrow-left {
+  font-size: 20px;
+  font-weight: bold;
+  color: #ccc;
+}
+.button .icon .el-icon-arrow-right {
+  font-size: 20px;
+  font-weight: bold;
+  color: #ccc;
+}
+.noticelist {
+  height: 400px;
+  background: #fff;
+}
+.content {
+  width: 346px;
+  height: 400px;
+  margin-right: 45px;
+  box-shadow: 0 0 5px #ccc;
+}
+.content:last-child{
+  margin-right:0;
+}
+.content .image {
+  width: 346px;
+  height: 226px;
+  margin-bottom: 15px;
+}
+.content .title p {
+  font-size: 24px;
+  color: #5b5e66;
+  font-family: 微软雅黑;
+  margin-bottom: 12px;
+  padding: 0 24px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 2;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+}
+.content .text p {
+  font-size: 12px;
+  color: #999999;
+  font-family: 宋体;
+  margin-bottom: 12px;
+  padding: 0 24px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 3;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+}
+.content .time {
+  font-size: 18px;
+  color: #999999;
+  font-family: 宋体;
+  text-align: right;
+  padding: 0 24px;
+}
+</style>

+ 243 - 0
src/layout/master/index/other.vue

@@ -0,0 +1,243 @@
+<template>
+  <div id="other">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="infoone">
+          <el-col :span="24" class="infoonebei">
+            <span>03其他</span>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="infoonelist">
+          <el-tabs v-model="activeName" @tab-click="handleClick">
+            <el-tab-pane label="事业单位" name="first">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in danweilist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="公务员" name="second">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in gongwulist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="选调生" name="third">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in xuantiaolist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="西部计划" name="fourth">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in xibulist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="特岗教师" name="fifth">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in teganglist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="三支一扶" name="sisth">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in sanzhilist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="大学生村官" name="seventh">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in cunguanlist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+          </el-tabs>
+          <el-link :underline="false" class="add"><i class="el-icon-plus"></i></el-link>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'other',
+  props: {
+    danweilist: null,
+    gongwulist: null,
+    xuantiaolist: null,
+    xibulist: null,
+    teganglist: null,
+    sanzhilist: null,
+    cunguanlist: null,
+  },
+  components: {},
+  data: () => ({
+    activeName: 'first'
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    handleClick(tab, event) {
+      // eslint-disable-next-line no-console
+      console.log(tab, event);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.infoone {
+  height: 476px;
+}
+.infoonebei {
+  width: 294px;
+  height: 476px;
+  background: #415285;
+}
+.infoonebei span {
+  display: inline-block;
+  width: 294px;
+  text-align: center;
+  height: 108px;
+  line-height: 108px;
+  font-size: 42px;
+  color: #fff;
+}
+.infoonelist {
+  width: 1130px;
+  height: 348px;
+  background: #fff;
+  position: absolute;
+  top: 100px;
+  left: 71px;
+  box-shadow: 0px 0px 5px #ccc;
+}
+.add {
+  position: absolute;
+  top: 40px;
+  right: 20px;
+  width: 30px;
+  height: 30px;
+  line-height: 30px;
+  text-align: center;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+}
+.add .el-link--inner {
+  font-size: 30px;
+}
+/deep/.el-tabs__header {
+  margin: 0;
+}
+/deep/.el-tabs__nav-wrap {
+  height: 90px;
+}
+/deep/.el-tabs__item {
+  font-size: 26px;
+  height: 90px;
+  line-height: 112px;
+}
+/deep/.el-tabs__item.is-active {
+  color: #415285;
+}
+/deep/.el-tabs__nav-wrap::after {
+  background-color: transparent;
+}
+/deep/.el-tabs__active-bar {
+  background-color: #415285;
+  height: 4px;
+}
+/deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px;
+}
+.list {
+  height: 259px;
+  overflow: hidden;
+}
+.listinfo {
+  padding: 26px 0 0 0;
+}
+.list .qiu {
+  display: inline-block;
+  width: 4px;
+  height: 5px;
+  background: #999;
+  margin: 0 5px 0 25px;
+}
+.list .title {
+  font-size: 24px;
+  color: #000;
+}
+.list .date {
+  font-size: 24px;
+  color: #999;
+}
+</style>

+ 159 - 0
src/layout/master/index/recruit.vue

@@ -0,0 +1,159 @@
+<template>
+  <div id="recruit">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="recruitbei">
+          <span>02招聘</span>
+        </el-col>
+        <el-col :span="24" class="infoonelist">
+          <el-tabs v-model="activeName" @tab-click="handleClick">
+            <el-tab-pane label="吉林省事业单位招聘" name="first">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in shiyelist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+            <el-tab-pane label="吉林省教师招聘" name="second">
+              <el-col :span="24" class="list">
+                <el-col :span="24" class="listinfo" v-for="(item, index) in teacherlist" :key="index">
+                  <el-col :span="21">
+                    <span class="qiu"></span>
+                    <el-link :underline="false">
+                      <p class="title">{{item.title}}</p>
+                    </el-link>
+                  </el-col>
+                  <el-col :span="3" class="date">
+                    {{item.date}}
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-tab-pane>
+          </el-tabs>
+          <el-link :underline="false" class="add"><i class="el-icon-plus"></i></el-link>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'recruit',
+  props: {
+    shiyelist: null,
+    teacherlist: null,
+  },
+  components: {},
+  data: () => ({
+    activeName: 'first'
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    handleClick(tab, event) {
+      // eslint-disable-next-line no-console
+      console.log(tab, event);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.recruitbei {
+  text-align: right;
+}
+.recruitbei span {
+  display: inline-block;
+  width: 294px;
+  height: 469px;
+  background: #415285;
+  color: #fff;
+  text-align: center;
+  font-size: 48px;
+  font-family: 宋体;
+  font-weight: bold;
+  padding: 43px 0 0 0;
+}
+.infoonelist {
+  width: 1130px;
+  height: 372px;
+  background: #fff;
+  position: absolute;
+  right: 47px;
+  top: 118px;
+  box-shadow: 0px 0px 5px #ccc;
+}
+.add {
+  position: absolute;
+  top: 20px;
+  right: 20px;
+  width: 43px;
+  height: 43px;
+  line-height: 43px;
+  text-align: center;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+}
+/deep/.add .el-link--inner {
+  font-size: 30px;
+}
+/deep/.el-tabs__header {
+  margin: 0;
+}
+/deep/.el-tabs__nav-wrap {
+  height: 90px;
+}
+/deep/.el-tabs__item {
+  font-size: 30px;
+  height: 90px;
+  line-height: 90px;
+}
+/deep/.el-tabs__item.is-active {
+  color: #415285;
+}
+/deep/.el-tabs__nav-wrap::after {
+  background-color: transparent;
+}
+/deep/.el-tabs__active-bar {
+  background-color: #415285;
+  height: 6px;
+}
+/deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px;
+}
+.list {
+  height: 284px;
+  overflow: hidden;
+}
+.listinfo {
+  padding: 30px 0 0 0;
+}
+.list .qiu {
+  display: inline-block;
+  width: 4px;
+  height: 5px;
+  background: #999;
+  margin: 0 16px 0 31px;
+}
+.list .title {
+  font-size: 24px;
+  color: #828282;
+}
+.list .date {
+  font-size: 24px;
+  color: #999;
+}
+</style>

+ 67 - 0
src/layout/master/index/rili.vue

@@ -0,0 +1,67 @@
+<template>
+  <div id="rili">
+    <el-row>
+      <el-col :span="24" class="rili">
+        <div class="w_1200">
+          <el-col :span="24" class="top">
+            <el-col :span="24" class="english">{{rilitop.english}}</el-col>
+            <el-col :span="24" class="title">{{rilitop.title}}</el-col>
+          </el-col>
+          <el-col :span="24" class="info">
+            日历组件
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'rili',
+  props: {
+    rilitop: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.rili {
+  height: 1026px;
+  background: #789699;
+}
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  text-align: center;
+  height: 214px;
+  padding: 75px 0 48px 0;
+}
+.top .english {
+  text-transform: uppercase;
+  color: #fff;
+  font-family: 微软雅黑;
+  font-size: 42px;
+}
+.top .title {
+  color: #fff;
+  font-size: 36px;
+  font-family: 微软雅黑;
+}
+.info {
+  text-align: center;
+  height: 688px;
+  border: 1px solid #ccc;
+}
+</style>

+ 83 - 0
src/layout/master/index/top.vue

@@ -0,0 +1,83 @@
+<template>
+  <div id="top">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="12">
+          <el-col :span="4" class="logo">
+            <el-image style="width:77px;height:75px;" :src="topinfo.logo"></el-image>
+          </el-col>
+          <el-col :span="20" class="title">
+            {{topinfo.title}}
+          </el-col>
+        </el-col>
+        <el-col :span="12">
+          <el-col :span="1" class="shu"></el-col>
+          <el-col :span="22" class="menulist">
+            <el-col :span="5" class="text" v-for="(item, index) in menulist" :key="index">
+              <el-link :underline="false">{{item.title}}</el-link>
+            </el-col>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'top',
+  props: {
+    topinfo: null,
+    menulist: null,
+  },
+  components: {},
+  data: () => ({
+    activeIndex: '1',
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    handleSelect(key, keyPath) {
+      // eslint-disable-next-line no-console
+      console.log(key, keyPath);
+    }
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200{
+  width: 1200px;
+  margin:0 auto;
+}
+.logo {
+  padding: 30px 0;
+}
+.title {
+  height: 140px;
+  line-height: 140px;
+  font-size: 32px;
+  font-family: 宋体;
+  color: #545e69;
+}
+.shu {
+  width: 9px;
+  height: 40px;
+  background: #415285;
+  margin: 51px 10px;
+}
+.menulist {
+  height: 140px;
+  line-height: 140px;
+}
+.menulist .text {
+  text-align: center;
+}
+.menulist .text .el-link {
+  font-size: 25px;
+  color: #415285;
+}
+.search{
+  text-align:center;
+}
+</style>

+ 70 - 0
src/layout/master/index/unit.vue

@@ -0,0 +1,70 @@
+<template>
+  <div id="unit">
+    <el-row>
+      <el-col :span="24" class="unit" :style="'background: url(' + unittop.logoBei + ');height:700px;'">
+        <div class="w_1200">
+          <el-col :span="24" class="top">
+            <el-col :span="24" class="english">
+              {{unittop.english}}
+            </el-col>
+            <el-col :span="24" class="title">
+              {{unittop.title}}
+            </el-col>
+          </el-col>
+          <el-col :span="24" class="info">
+            <el-col :span="4" class="unitlist" v-for="(item,index) in unitlist" :key="index">
+              <el-link :underline="false">
+                <el-image style="width:145px;height:145px;border-radius:90px;" :src="item.url"></el-image>
+              </el-link>
+            </el-col>
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'unit',
+  props: {
+    unittop: null,
+    unitlist: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.unit {
+  height: 700px;
+}
+.top {
+  height: 238px;
+  text-align: center;
+  padding: 77px 0 73px;
+}
+.top .english {
+  text-transform: uppercase;
+  color: #fff;
+  font-family: 微软雅黑;
+  font-size: 42px;
+}
+.top .title {
+  color: #fff;
+  font-size: 36px;
+  font-family: 微软雅黑;
+}
+.unitlist{
+  text-align: center;
+  margin:0 0 48px 0;
+}
+</style>

+ 74 - 0
src/layout/master/index/yizhan.vue

@@ -0,0 +1,74 @@
+<template>
+  <div id="yizhan">
+    <el-row>
+      <el-col :span="24" class="yizhanshi">
+        <div class="w_1200">
+          <el-col :span="24" class="top">
+            <el-image :src="yizhanshi"></el-image>
+          </el-col>
+          <el-col :span="24">
+            <el-col :span="6" class="login">
+              <el-link :underline="false">
+                <el-image :src="xuesheng"></el-image>
+              </el-link>
+            </el-col>
+            <el-col :span="6" class="login">
+              <el-link :underline="false">
+                <el-image :src="company"></el-image>
+              </el-link>
+            </el-col>
+            <el-col :span="6" class="login">
+              <el-link :underline="false">
+                <el-image :src="xueshengzhidao"></el-image>
+              </el-link>
+            </el-col>
+            <el-col :span="6" class="login">
+              <el-link :underline="false">
+                <el-image :src="yongren"></el-image>
+              </el-link>
+            </el-col>
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'yizhan',
+  props: {},
+  components: {},
+  data: () => ({
+    yizhanshi: require('../../../assets/yizhan.png'),
+    xuesheng: require('../../../assets/studentlogin.png'),
+    company: require('../../../assets/companylogin.png'),
+    xueshengzhidao: require('../../../assets/zhidao.png'),
+    yongren: require('../../../assets/yongren.png'),
+
+  }),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.yizhanshi {
+  height: 274px;
+  background: #4193c5;
+}
+.top {
+  margin: 30px 0;
+}
+.login {
+  text-align: center;
+}
+.login .el-image {
+  border-radius: 35px;
+}
+</style>

+ 125 - 0
src/layout/master/login/maininfo.vue

@@ -0,0 +1,125 @@
+<template>
+  <div id="maininfo">
+    <el-row>
+      <el-col :span="24" class="image"
+              :style="'background: url(' + newsinfo.bgimg + ');background-position:center center;'">
+      </el-col>
+      <el-col :span="24" class="login">
+        <div class="w_1200">
+          <el-col :span="15">
+            <p>&nbsp;</p>
+          </el-col>
+          <el-col :span="8" class="loginform">
+            <el-col :span="24" class="loginformTop">
+              <span class="title">{{newsinfo.title}}</span>
+              <span class="jianyi">(建议您使用谷歌浏览器)</span>
+              <el-button icon="el-icon-full-screen" class="button"></el-button>
+            </el-col>
+            <el-col :span="24" class="form">
+              <el-form ref="form" :model="form">
+                <el-form-item>
+                  <el-input v-model="form.name" placeholder="用户名(手机号)"></el-input>
+                </el-form-item>
+                <el-form-item>
+                  <el-input type="password" v-model="form.pass" placeholder="密码(首次登录密码为身份证密码后六位)"></el-input>
+                </el-form-item>
+                <el-form-item>
+                  <el-button type="primary" @click="onSubmit">登录</el-button>
+                </el-form-item>
+              </el-form>
+            </el-col>
+            <el-col :span="24" class="formdown">
+              <el-col :span="12" class="button" style="text-align:left;">
+                <el-button>注册</el-button>
+              </el-col>
+              <el-col :span="12" class="button" style="text-align:right;">
+                <el-button>忘记登录密码</el-button>
+              </el-col>
+            </el-col>
+          </el-col>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'maininfo',
+  props: {
+    newsinfo: null,
+  },
+  components: {},
+  data: () => ({
+    form: {
+      name: '',
+      pass: '',
+    }
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    onSubmit() {
+      // eslint-disable-next-line no-console
+      console.log('submit!');
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.image {
+  height: 943px;
+}
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.login {
+  position: absolute;
+  top: 0;
+}
+.loginform {
+  height: 316px;
+  box-shadow: 0 0 10px #ccc;
+  background: #fff;
+  margin: 86px 0 0 0;
+}
+.loginformTop {
+  padding: 28px 32px;
+}
+.loginformTop .title {
+  font-size: 18px;
+  color: #000;
+}
+.loginformTop .jianyi {
+  color: red;
+  font-size: 18px;
+  margin: 0 5px;
+}
+/deep/.loginformTop .el-button {
+  border-radius: 0;
+  padding: 0;
+  border: none;
+  font-size: 22px;
+  color: #000;
+  margin: 0 19px;
+}
+.form {
+  padding: 0 32px;
+}
+.form .el-button {
+  width: 100%;
+  background: #415285;
+  border-color: #415285;
+}
+.formdown {
+  padding: 0 32px;
+}
+.formdown .button .el-button {
+  padding: 0;
+  border: none;
+  font-size: 14px;
+  color: #9c9c9c;
+}
+</style>

+ 48 - 0
src/layout/master/login/stutop.vue

@@ -0,0 +1,48 @@
+<template>
+  <div id="stutop">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="2" class="top">
+          <el-image :src="topinfo.logo" style="width:75px;height:75px;"></el-image>
+        </el-col>
+        <el-col :span="22" class="text">
+          <p class="title">{{topinfo.title}}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'stutop',
+  props: {
+    topinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  height: 140px;
+  padding: 30px 0;
+}
+.text {
+  padding: 49px 0px;
+}
+.text .title {
+  font-size: 31px;
+  color: #545e69;
+  letter-spacing: 6px;
+  font-family: 宋体;
+}
+</style>

+ 54 - 0
src/layout/master/login/top.vue

@@ -0,0 +1,54 @@
+<template>
+  <div id="top">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="2" class="top">
+          <el-image :src="topinfo.logo" style="width:100px;height:80px;"></el-image>
+        </el-col>
+        <el-col :span="22" class="text">
+          <p class="title">{{topinfo.title}}</p>
+          <p class="english">{{topinfo.english}}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'top',
+  props: {
+    topinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  height: 140px;
+  padding: 30px 0;
+}
+.text {
+  padding: 46px 20px;
+}
+.text .title {
+  font-size: 25px;
+  color: #000;
+  letter-spacing: 6px;
+}
+.text .english {
+  font-size: 8px;
+  color: #000;
+  text-transform: uppercase;
+  letter-spacing: -1px;
+}
+</style>

+ 30 - 0
src/layout/master/news/banner.vue

@@ -0,0 +1,30 @@
+<template>
+  <div id="banner">
+    <el-row>
+      <el-col :span="24">
+        <el-image style="width:100%;height:529px;" :src="bannerinfo.banner"></el-image>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'banner',
+  props: {
+    bannerinfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+</style>

+ 129 - 0
src/layout/master/news/newsright.vue

@@ -0,0 +1,129 @@
+<template>
+  <div id="mainRight">
+    <el-row>
+      <el-col class="top">
+        <el-col :span="24" class="english">
+          {{newsrightinfo.english}}
+        </el-col>
+        <el-col :span="24" class="title">
+          {{newsrightinfo.title}}
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="infotop">
+          <el-col :span="24" class="newsrightlist" v-for="(item,index) in newsrightlist" :key="index">
+            <el-col :span="11" class="image">
+              <el-image style="width:348px;height:229px;" :src="item.url"></el-image>
+            </el-col>
+            <el-col :span="13" class="text">
+              <el-col :span="24" class="title">
+                <p>
+                  {{item.title}}
+                </p>
+              </el-col>
+              <el-col :span="24" class="time">
+                {{item.time}}
+              </el-col>
+              <el-col :span="24" class="content">
+                <p>
+                  {{item.content}}
+                </p>
+              </el-col>
+            </el-col>
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="page">
+          <el-pagination background layout="prev, pager, next, total, jumper" :total="16">
+          </el-pagination>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'mainRight',
+  props: {
+    newsrightinfo: null,
+    newsrightlist: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  height: 190px;
+  text-align: center;
+}
+.english {
+  font-size: 42px;
+  margin-top: 65px;
+  color: #3e3c3c;
+  text-transform: uppercase;
+}
+.title {
+  font-size: 30px;
+  color: #415285;
+  font-family: 宋体;
+}
+.newsrightlist {
+  background: #f9f3f3;
+  height: 293px;
+  overflow: hidden;
+}
+.newsrightlist:nth-child(2n) {
+  background: #fff;
+  height: 293px;
+  overflow: hidden;
+}
+
+.info {
+  height: 1430px;
+}
+.infotop {
+  height: 1172px;
+  overflow: hidden;
+}
+.image {
+  width: 388px;
+  padding: 47px 20px 20px 20px;
+}
+.text .title p {
+  font-size: 28px;
+  color: #000;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  padding: 47px 100px 0 0;
+}
+.text .time {
+  font-size: 14px;
+  padding: 37px 0;
+}
+.text .content p {
+  font-size: 1px;
+  color: #9a9494;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 5;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  line-height: 20px;
+}
+.page {
+  text-align: center;
+  height: 258px;
+  padding: 114px 0;
+}
+</style>

+ 99 - 0
src/layout/master/notice/maininfo.vue

@@ -0,0 +1,99 @@
+<template>
+  <div id="maininfo">
+    <el-row>
+      <el-col :span="24" class="top">
+        <span>{{title}}</span>
+      </el-col>
+      <el-col :span="24" class="noticelist" v-for="(item,index) in noticelist" :key="index">
+        <el-col :span="5" class="image">
+          <el-image style="width:222px;height:141px" :src="item.image"></el-image>
+        </el-col>
+        <el-col :span="19" class="text">
+          <el-col :span="24" class="title">
+            <p>{{item.title}}</p>
+          </el-col>
+          <el-col :span="24" class="content">
+            <p>{{item.content}}</p>
+          </el-col>
+          <el-col :span="24" class="time">
+            {{item.time}}
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'maininfo',
+  props: {
+    noticelist: null,
+  },
+  components: {},
+  data: () => ({
+    title: '最新公告',
+  }),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.top {
+  margin: 84px 0 13px 0;
+}
+.top span {
+  display: inline-block;
+  width: 99px;
+  height: 32px;
+  text-align: center;
+  line-height: 32px;
+  font-size: 14px;
+  color: #fff;
+  background: #415285;
+}
+.noticelist {
+  height: 223px;
+  padding: 40px 0 0 0;
+  border-bottom: 1px solid #ccc;
+}
+.noticelist:last-child{
+  border-bottom:none;
+}
+.text .title p {
+  font-size: 18px;
+  color: #19110b;
+  font-weight: bold;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.text .title p:hover {
+  color: #415285;
+  cursor: pointer;
+}
+.text .content {
+  padding: 13px 0;
+}
+.text .content p {
+  font-size: 13px;
+  color: #999;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 3;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  line-height: 25px;
+}
+.text .time {
+  font-size: 13px;
+  color: #999;
+}
+</style>

+ 57 - 0
src/layout/master/notice/noticeleft.vue

@@ -0,0 +1,57 @@
+<template>
+  <div id="noticeleft">
+    <el-row>
+      <el-col :span="24">
+        <el-image style="width:303px;height:195px" :src="topimage"></el-image>
+        <el-col :span="24" class="menu">
+          <el-menu>
+            <el-menu-item :index="(index+'')" v-for="(item,index) in leftmenu" :key="index">
+              <span>{{item.title}}</span>
+            </el-menu-item>
+          </el-menu>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'noticeleft',
+  props: {
+    leftmenu: null,
+  },
+  components: {},
+  data: () => ({
+    topimage: require('../../../assets/menutop.png'),
+  }),
+  created() { },
+  computed: {},
+  methods: {
+    handleOpen(key, keyPath) {
+      // eslint-disable-next-line no-console
+      console.log(key, keyPath);
+    },
+    handleClose(key, keyPath) {
+      // eslint-disable-next-line no-console
+      console.log(key, keyPath);
+    }
+
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.menu {
+  margin: -4px 0 0 0;
+}
+.el-menu-item.is-active {
+  background: #b9c1d7;
+}
+.el-menu-item {
+  color: #415285;
+  text-align: center;
+  font-size: 24px;
+  padding: 0 !important;
+}
+</style>

+ 75 - 0
src/layout/master/notice/noticeright.vue

@@ -0,0 +1,75 @@
+<template>
+  <div id="noticeright">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="title">
+          <p>{{noticedetail.title}}</p>
+        </el-col>
+        <el-col :span="24" class="time">
+          {{noticedetail.time}}
+        </el-col>
+        <el-col :span="24" class="image">
+          <el-image style="width:650px;height:427px;" :src="noticedetail.url"></el-image>
+        </el-col>
+        <el-col :span="24" class="content">
+          <p>{{noticedetail.content}}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'noticeright',
+  props: {
+    noticedetail: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  margin: 0;
+  padding: 0;
+}
+.info {
+  height: 1565px;
+  background: #f9f3f3;
+  padding: 0 70px 0 33px;
+  text-align: center;
+}
+.info .title p {
+  font-size: 36px;
+  color: #000;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  padding: 90px 0 30px 0;
+}
+.info .time {
+  font-size: 24px;
+  color: #333;
+  padding: 0 0 75px 0;
+}
+.info .image {
+  padding: 0 0 75px 0;
+}
+.info .content p {
+  font-size: 24px;
+  color: #4f4f4f;
+  text-indent: 2rem;
+  line-height: 45px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 16;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+}
+</style>

+ 211 - 0
src/views/master/index/index.vue

@@ -0,0 +1,211 @@
+<template>
+  <div id="index">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo" :menulist="menulist"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="banner">
+        <banner :bannerinfo="bannerinfo"></banner>
+      </el-col>
+      <el-col :span="24" class="news">
+        <div class="w_1200">
+          <news :newsList="newsList"></news>
+        </div>
+      </el-col>
+      <el-col :span="24" class="notice">
+        <div class="w_1200">
+          <notice :noticeinfo="noticeinfo" :noticelist="noticelist"></notice>
+        </div>
+      </el-col>
+      <el-col :span="24" class="login">
+        <div class="w_1200">
+          <login></login>
+        </div>
+      </el-col>
+      <el-col :span="24" class="huodong">
+        <div class="w_1200">
+          <huodong :huodonginfo="huodonginfo" :talksList="talksList" :fairsList="fairsList" :talksoutList="talksoutList"
+                   :infoList="infoList"></huodong>
+        </div>
+      </el-col>
+      <el-col :span="24" class="recruit">
+        <div class="w_1200">
+          <recruit :shiyelist="shiyelist" :teacherlist="teacherlist"></recruit>
+        </div>
+      </el-col>
+      <el-col :span="24" class="other">
+        <div class="w_1200">
+          <other :danweilist="danweilist" :gongwulist="gongwulist" :xuantiaolist="xuantiaolist" :xibulist="xibulist"
+                 :teganglist="teganglist" :sanzhilist="sanzhilist" :cunguanlist="cunguanlist"></other>
+        </div>
+      </el-col>
+      <el-col :span="24" class="rili">
+        <rili :rilitop="rilitop"></rili>
+      </el-col>
+      <el-col :span="24" class="fast">
+        <div class="w_1200">
+          <fast :fasttop="fasttop" :fastlist="fastlist"></fast>
+        </div>
+      </el-col>
+      <el-col :span="24" class="contact">
+        <div class="w_1200">
+          <contact :contactinfo="contactinfo"></contact>
+        </div>
+      </el-col>
+      <el-col :span="24" class="yizhan">
+        <yizhan></yizhan>
+      </el-col>
+      <el-col :span="24" class="company">
+        <div class="w_1200">
+          <company :companytop="companytop" :companylist="companylist"></company>
+        </div>
+      </el-col>
+      <el-col :span="24" class="unit">
+        <unit :unittop="unittop" :unitlist="unitlist"></unit>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/index/top.vue';
+import banner from '../../../layout/master/index/banner.vue';
+import news from '../../../layout/master/index/news.vue';
+import notice from '../../../layout/master/index/notice.vue';
+import login from '../../../layout/master/index/login.vue';
+import huodong from '../../../layout/master/index/huodong.vue';
+import recruit from '../../../layout/master/index/recruit.vue';
+import other from '../../../layout/master/index/other.vue';
+import rili from '../../../layout/master/index/rili.vue';
+import fast from '../../../layout/master/index/fast.vue';
+import contact from '../../../layout/master/index/contact.vue';
+import yizhan from '../../../layout/master/index/yizhan.vue';
+import company from '../../../layout/master/index/company.vue';
+import unit from '../../../layout/master/index/unit.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'index',
+  props: {
+    topinfo: null,//头部内容
+    menulist: null,//导航
+    bannerinfo: null,//banner图片
+    newsList: null,//新闻列表
+    noticeinfo: null,//通知公告头部内容
+    noticelist: null,//通知公告列表
+    huodonginfo: null,//活动头部内容
+    talksList: null,//校内宣讲会列表
+    fairsList: null,//双选会列表
+    talksoutList: null,//校外宣讲会列表
+    infoList: null,//招聘快讯列表
+    shiyelist: null,//吉林省事业单位列表
+    teacherlist: null,//吉林省教师招聘列表
+    danweilist: null,//事业单位列表
+    gongwulist: null,//公务员列表
+    xuantiaolist: null,//选调生列表
+    xibulist: null,//西部计划列表
+    teganglist: null,//特岗教师列表
+    sanzhilist: null,//三支一扶列表
+    cunguanlist: null,//大学生村官列表
+    rilitop: null,//日历头部内容
+    fasttop: null,//快速通道头部内容
+    fastlist: null,//快速通道列表
+    contactinfo: null,//联系我们内容
+    companytop: null,//招聘企业头部内容
+    companylist: null,//招聘企业列表
+    unittop: null,//合作单位头部内容
+    unitlist: null,//合作单位列表
+    footinfo: null,//底部内容
+
+  },
+  components: {
+    top,
+    banner,
+    news,
+    notice,
+    login,
+    huodong,
+    recruit,
+    other,
+    rili,
+    fast,
+    contact,
+    yizhan,
+    company,
+    unit,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 143px;
+}
+.banner {
+  height: 526px;
+  margin-bottom: 75px;
+}
+.news {
+  height: 390px;
+  margin-bottom: 100px;
+}
+.notice {
+  height: 654px;
+  margin-bottom: 78px;
+}
+.login {
+  height: 208px;
+  margin-bottom: 96px;
+}
+.huodong {
+  height: 632px;
+  margin-bottom: 50px;
+}
+.recruit {
+  height: 512px;
+  margin-bottom: 80px;
+}
+.other {
+  height: 476px;
+  margin-bottom: 166px;
+}
+.rili {
+  height: 1026px;
+  margin-bottom: 86px;
+}
+.fast {
+  height: 508px;
+  margin-bottom: 110px;
+}
+.contact {
+  height: 270px;
+  margin-bottom: 60px;
+}
+.yizhan {
+  height: 274px;
+  margin-bottom: 86px;
+}
+.company {
+  height: 465px;
+  margin-bottom: 76px;
+}
+.unit {
+  height: 699px;
+}
+.foot {
+  height: 185px;
+}
+</style>

+ 56 - 0
src/views/master/login/company.vue

@@ -0,0 +1,56 @@
+<template>
+  <div id="companys">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="maininfo">
+        <maininfo :newsinfo="newsinfo"></maininfo>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/login/top.vue';
+import maininfo from '../../../layout/master/login/maininfo.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'companys',
+  props: {
+    topinfo: null,//头部内容
+    newsinfo: null,//中间登录
+    footinfo: null,//底部内容
+  },
+  components: {
+    top,
+    maininfo,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};  
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.maininfo {
+  height: 943px;
+}
+.foot {
+  height: 184px;
+}
+</style>

+ 56 - 0
src/views/master/login/companys.vue

@@ -0,0 +1,56 @@
+<template>
+  <div id="companys">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="maininfo">
+        <maininfo :newsinfo="newsinfo"></maininfo>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/login/top.vue';
+import maininfo from '../../../layout/master/login/maininfo.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'companys',
+  props: {
+    topinfo: null,//头部内容
+    newsinfo: null,//中间登录
+    footinfo: null,//底部内容
+  },
+  components: {
+    top,
+    maininfo,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};  
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.maininfo {
+  height: 943px;
+}
+.foot {
+  height: 184px;
+}
+</style>

+ 56 - 0
src/views/master/login/student.vue

@@ -0,0 +1,56 @@
+<template>
+  <div id="student">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <stutop :topinfo="topinfo"></stutop>
+        </div>
+      </el-col>
+      <el-col :span="24" class="maininfo">
+        <maininfo :newsinfo="newsinfo"></maininfo>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import stutop from '../../../layout/master/login/stutop.vue';
+import maininfo from '../../../layout/master/login/maininfo.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'student',
+  props: {
+    topinfo: null,//头部内容
+    newsinfo: null,//中间登录
+    footinfo: null,//底部内容
+  },
+  components: {
+    stutop,
+    maininfo,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};  
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.maininfo {
+  height: 943px;
+}
+.foot {
+  height: 184px;
+}
+</style>

+ 85 - 0
src/views/master/news/detail.vue

@@ -0,0 +1,85 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo" :menulist="menulist"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="banner">
+        <banner :bannerinfo="bannerinfo"></banner>
+      </el-col>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="4" class="mainLeft">
+            <noticeleft :leftmenu="leftmenu"></noticeleft>
+          </el-col>
+          <el-col :span="20" class="mainRight">
+            <noticeright :noticedetail="noticedetail"></noticeright>
+          </el-col>
+        </div>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/index/top.vue';
+import banner from '../../../layout/master/news/banner.vue';
+import noticeleft from '../../../layout/master/notice/noticeleft.vue';
+import noticeright from '../../../layout/master/notice/noticeright.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'detail',
+  props: {
+    topinfo: null,//头部内容
+    menulist: null,//导航
+    bannerinfo: null,//banner图片
+    leftmenu: null,//左侧导航
+    noticedetail: null,//新闻详情
+    footinfo: null,//底部信息
+  },
+  components: {
+    top,
+    banner,
+    noticeleft,
+    noticeright,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.banner {
+  height: 529px;
+  margin-bottom: 72px;
+}
+.main {
+  height: 1622px;
+}
+.mainLeft {
+  width: 303px;
+  margin-right: 14px;
+  text-align: center;
+}
+.mainRight {
+  width: 883px;
+  background-color: #f8f2f2;
+  height: 1568px;
+  text-align: center;
+}
+</style>

+ 87 - 0
src/views/master/news/list.vue

@@ -0,0 +1,87 @@
+<template>
+  <div id="list">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo" :menulist="menulist"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="banner">
+        <banner :bannerinfo="bannerinfo"></banner>
+      </el-col>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="4" class="newsleft">
+            <noticeleft :leftmenu="leftmenu"></noticeleft>
+          </el-col>
+          <el-col :span="20" class="newsright">
+            <newsright :newsrightinfo="newsrightinfo" :newsrightlist="newsrightlist"></newsright>
+          </el-col>
+        </div>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/index/top.vue';
+import banner from '../../../layout/master/news/banner.vue';
+import noticeleft from '../../../layout/master/notice/noticeleft.vue';
+import newsright from '../../../layout/master/news/newsright.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'list',
+  props: {
+    topinfo: null,//头部内容
+    menulist: null,//导航菜单
+    bannerinfo: null,//banner图片
+    leftmenu: null,//左侧导航菜单
+    newsrightinfo: null,//右侧头部标题
+    newsrightlist: null,//右侧列表
+    footinfo: null,//底部信息
+  },
+  components: {
+    top,
+    banner,
+    noticeleft,
+    newsright,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.banner {
+  height: 529px;
+}
+.main {
+  height: 1690px;
+  padding: 70px 0 0 0;
+}
+.main .newsleft {
+  width: 303px;
+  height: 1620px;
+  margin: 0 14px 0 0;
+}
+.main .newsright {
+  width: 883px;
+  height: 1620px;
+}
+.foot {
+  height: 184px;
+}
+</style>

+ 86 - 0
src/views/master/notice/detail.vue

@@ -0,0 +1,86 @@
+<template>
+  <div id="detail">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo" :menulist="menulist"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="banner">
+        <banner :bannerinfo="bannerinfo"></banner>
+      </el-col>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="4" class="noticeleft">
+            <noticeleft :leftmenu="leftmenu"></noticeleft>
+          </el-col>
+          <el-col :span="20" class="noticeright">
+            <noticeright :noticedetail="noticedetail"></noticeright>
+          </el-col>
+        </div>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/index/top.vue';
+import banner from '../../../layout/master/news/banner.vue';
+import noticeleft from '../../../layout/master/notice/noticeleft.vue';
+import noticeright from '../../../layout/master/notice/noticeright.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'detail',
+  props: {
+    topinfo: null,//头部内容
+    menulist: null,//导航
+    bannerinfo: null,//banner图片
+    leftmenu: null,//左侧导航
+    noticedetail: null,//通知右侧内容
+    footinfo: null,//底部内容
+  },
+  components: {
+    top,
+    banner,
+    noticeleft,
+    noticeright,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.banner {
+  height: 529px;
+}
+.main {
+  height: 1694px;
+  padding: 90px 0 0 0;
+}
+.main .noticeleft {
+  width: 303px;
+  height: 1694px;
+  margin: 0 14px 0 0;
+}
+.main .noticeright {
+  width: 883px;
+  height: 1694px;
+}
+.foot {
+  height: 184px;
+}
+</style>

+ 68 - 0
src/views/master/notice/list.vue

@@ -0,0 +1,68 @@
+<template>
+  <div id="list">
+    <el-row style="overflow-y:hidden;">
+      <el-col :span="24" class="top">
+        <div class="w_1200">
+          <top :topinfo="topinfo" :menulist="menulist"></top>
+        </div>
+      </el-col>
+      <el-col :span="24" class="banner">
+        <banner :bannerinfo="bannerinfo"></banner>
+      </el-col>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <maininfo :noticelist="noticelist"></maininfo>
+        </div>
+      </el-col>
+      <el-col :span="24" class="foot">
+        <foot :footinfo="footinfo"></foot>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '../../../layout/master/index/top.vue';
+import banner from '../../../layout/master/news/banner.vue';
+import maininfo from '../../../layout/master/notice/maininfo.vue';
+import foot from '../../../layout/master/index/foot.vue';
+export default {
+  name: 'list',
+  props: {
+    topinfo: null,//头部内容
+    menulist: null,//导航
+    bannerinfo: null,//banner图片
+    noticelist: null,//公告列表
+    footinfo: null,//底部内容
+  },
+  components: {
+    top,
+    banner,
+    maininfo,
+    foot,
+  },
+  data: () => ({}),
+  created() { },
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.top {
+  height: 140px;
+}
+.banner {
+  height: 529px;
+}
+.main {
+  height: 2082px;
+}
+.foot {
+  height: 184px;
+}
+</style>