guhongwei 5 年 前
コミット
df94c6188e

+ 5 - 2
src/layout/detail-layout.vue

@@ -4,7 +4,7 @@
       <div class="w_0100">
         <div class="w_1200">
           <el-col :span="24" class="top">
-            <slot name="top">头部</slot>
+            <top-Deatil></top-Deatil>
           </el-col>
         </div>
       </div>
@@ -43,12 +43,14 @@
 <script>
 import topMenu from '@/layout/layout-part/top-menu.vue';
 import foots from '@/layout/layout-part/foot.vue';
+import topDeatil from '@/layout/layout-part/top-Deatil.vue';
 export default {
   name: 'detail',
   props: {},
   components: {
     topMenu,
     foots,
+    topDeatil,
   },
   data: () => ({}),
   created() {},
@@ -69,8 +71,9 @@ export default {
 .top {
   float: left;
   width: 100%;
-  height: 100px;
+  height: 120px;
   background: #fff;
+  padding: 10px 0;
 }
 .menu {
   float: left;

+ 18 - 27
src/layout/layout-part/foot.vue

@@ -1,34 +1,11 @@
 <template>
   <div id="foot">
     <el-row class="foot">
-      <el-col class="footLink">
-        <p>
-          <el-link :underline="false" href="" target="_blank">学校概括</el-link>
-          <el-link :underline="false" href="" target="_blank">创新创业</el-link>
-          <el-link :underline="false" href="" target="_blank">新闻公告</el-link>
-          <el-link :underline="false" href="" target="_blank">招聘信息</el-link>
-          <el-link :underline="false" href="" target="_blank">生源信息</el-link>
-          <el-link :underline="false" href="" target="_blank">政策法规</el-link>
-          <el-link :underline="false" href="" target="_blank">服务指南</el-link>
-          <el-link :underline="false" href="" target="_blank">就业学生团队</el-link>
-          <el-link :underline="false" href="" target="_blank">联系我们</el-link>
-        </p>
-      </el-col>
       <el-col class="footTit">
         <p>
-          <span class="text">长春工业大学版权所有</span>
+          <span class="text">{{ site.copyright }}</span>
           <span class="line">|</span>
-          <span class="text">域名备案信息:吉ICP备05002091号</span>
-        </p>
-      </el-col>
-      <el-col class="footTxt">
-        <p>
-          <span class="text">可信网站验证</span>
-          <span class="text">诚信网站验证</span>
-          <span class="text">安全联盟</span>
-          <span class="text">行业验证</span>
-          <!-- <span class="text">浏览量:今日5823&nbsp;/&nbsp;共计6216772</span>
-          <el-link :underline="false" class="item" href="http://www.bibibi.net" target="_blank" style="color:#6d6d6d;">技术支持:云研科技</el-link> -->
+          <span class="text">域名备案信息:{{ site.domain }}</span>
         </p>
       </el-col>
     </el-row>
@@ -36,10 +13,24 @@
 </template>
 
 <script>
+import { mapActions, mapState } from 'vuex';
+import _ from 'lodash';
 export default {
   name: 'foot',
-  data: () => ({}),
-  methods: {},
+  data: () => ({
+    site: {},
+  }),
+  created() {
+    this.search();
+  },
+  methods: {
+    ...mapActions(['siteOperation']),
+    async search() {
+      let site = '99991';
+      let result = await this.siteOperation({ type: 'search', data: { site: site } });
+      this.$set(this, 'site', result.data);
+    },
+  },
 };
 </script>
 

+ 34 - 0
src/layout/layout-part/top-Deatil.vue

@@ -0,0 +1,34 @@
+<template>
+  <div id="top-Deatil">
+    <el-row>
+      <el-image style="width: 600px; height: 100px" :src="site.banner || ''"></el-image>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapActions, mapState } from 'vuex';
+import _ from 'lodash';
+export default {
+  name: 'top-Deatil',
+  props: {},
+  components: {},
+  data: () => ({
+    site: {},
+  }),
+  created() {
+    this.search();
+  },
+  computed: {},
+  methods: {
+    ...mapActions(['siteOperation']),
+    async search() {
+      let site = '99991';
+      let result = await this.siteOperation({ type: 'search', data: { site: site } });
+      this.$set(this, 'site', result.data);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 96 - 29
src/layout/layout-part/top-menu.vue

@@ -1,34 +1,40 @@
 <template lang="html">
   <div id="menus">
-    <el-col :span="24" class="menu">
-      <el-menu :default-active="activeIndex" mode="horizontal" background-color="#850000" text-color="#fff" active-text-color="#fff" :router="true">
-        <!-- <el-submenu index="2">
-          <template slot="title">
-            学院概括
-          </template>
-          <el-menu-item index="2-1">学院简介</el-menu-item>
-          <el-menu-item index="2-2">部门概括</el-menu-item>
-        </el-submenu>
-        <el-submenu index="3">
-          <template slot="title">
-            创新创业
-          </template>
-          <el-menu-item index="3-1">创业法规</el-menu-item>
-          <el-menu-item index="3-2">创业培训</el-menu-item>
-          <el-menu-item index="3-3">创业案例</el-menu-item>
-        </el-submenu> -->
-        <!-- <new-menu-item></new-menu-item> -->
-        <template v-for="(item, index) in menu">
-          <el-submenu v-if="item.children.length > 0" :index="`${index}`" :key="index">
-            <template slot="title">
-              {{ item.name }}
+    <!-- <div class="w_0100 top">
+      <div class="topTit">
+        <div class="w_1200">
+          <el-col :span="12" class="logo">
+            <el-image style="width: 600px; height: 100px" :src="site.banner || ''"></el-image>
+            <span class="logo_txt" :style="`background:${backColor}`">{{ site.name }}</span>
+          </el-col>
+          <el-col :span="12" class="search">
+            <el-col :span="3" style="float: right;"
+              ><el-button type="danger" icon="el-icon-search" :style="`background:${backColor}; border-color:${borderCol}`"></el-button
+            ></el-col>
+            <el-col :span="10" style="float: right;" class="searchInput" :style="`border-color:${borderCol}`"
+              ><el-input v-model="input" placeholder="请输入内容"></el-input
+            ></el-col>
+          </el-col>
+        </div>
+      </div>
+    </div> -->
+    <div class="w_0100" :style="`background:${backColor}`">
+      <div class="w_1200">
+        <el-col :span="24" class="menu">
+          <el-menu :default-active="activeIndex" mode="horizontal" background-color="#850000" text-color="#fff" active-text-color="#fff" :router="true">
+            <template v-for="(item, index) in menu">
+              <el-submenu v-if="item.children.length > 0" :index="`${index}`" :key="index">
+                <template slot="title">
+                  {{ item.name }}
+                </template>
+                <el-menu-item v-for="(sub, subIndex) in item.children" :key="subIndex" :index="path">{{ sub.name }}</el-menu-item>
+              </el-submenu>
+              <el-menu-item v-else :index="item.path" :key="index">{{ item.name }}</el-menu-item>
             </template>
-            <el-menu-item v-for="(sub, subIndex) in item.children" :key="subIndex" :index="path">{{ sub.name }}</el-menu-item>
-          </el-submenu>
-          <el-menu-item v-else :index="item.path" :key="index">{{ item.name }}</el-menu-item>
-        </template>
-      </el-menu>
-    </el-col>
+          </el-menu>
+        </el-col>
+      </div>
+    </div>
   </div>
 </template>
 
@@ -41,15 +47,21 @@ export default {
   data: () => ({
     activeIndex: '1',
     menu: [],
+    input: '',
+    color: '#850000',
+    backColor: '#850000',
+    borderCol: '#850000',
   }),
   created() {
     this.loadMenu();
   },
   methods: {
-    ...mapActions(['menuOperation']),
+    ...mapActions(['menuOperation', 'siteOperation']),
     async loadMenu() {
       let menu = sessionStorage.getItem('menu');
       if (menu) return;
+      let site = sessionStorage.getItem('site');
+      if (site) return;
       else this.getMenu();
     },
     async getMenu() {
@@ -86,12 +98,67 @@ export default {
         });
         this.$set(this, `menu`, fMenu);
       }
+      result = await this.siteOperation({ type: 'search', data: { site: site } });
+      sessionStorage.setItem('site', JSON.stringify(result.data));
+      this.$set(this, 'site', result.data);
     },
   },
 };
 </script>
 
 <style lang="less" scoped>
+.w_0100 {
+  float: left;
+  width: 100%;
+}
+.w_1200 {
+  margin: 0 auto;
+  width: 1200px;
+}
+.top {
+  float: left;
+  width: 100%;
+  height: 334px;
+  background-image: url(../../assets/logo_beijing.png);
+}
+.topTit {
+  width: 100%;
+  height: 344px;
+  background: url(../../assets/bg-shade.png) right bottom repeat-x;
+}
+.logo {
+  float: left;
+  width: 50%;
+  padding: 80px 0;
+}
+.logo_txt {
+  margin-right: 6px;
+  font-size: 11px;
+  background: #850000;
+  color: #fff;
+  padding: 2px 10px;
+  display: inline;
+  border-radius: 6px;
+}
+.search {
+  padding: 235px 0 0 0;
+}
+.search .searchInput {
+  border: 2px solid;
+}
+/deep/.search .el-input__inner {
+  height: 26px;
+  border-radius: 0;
+  border: none;
+}
+/deep/.search .el-button {
+  width: 60px;
+  height: 30px;
+  border-radius: 0;
+  padding: 0px 0 0 0;
+  background: #850000;
+  border: 2px solid;
+}
 .menu {
   position: relative;
   height: 40px;

+ 16 - 0
src/store.js

@@ -32,6 +32,9 @@ const api = {
   //分站菜单
   menuQuery: '/adminapi/menu/query',
   menuSearch: `/adminapi/menu/fetch/{id}`,
+  // 站点管理
+  siteQuery: '/adminapi/site/query',
+  siteFetch: site => `/adminapi/site/fetch/${site}`,
 };
 
 export default new Vuex.Store({
@@ -267,6 +270,19 @@ export default new Vuex.Store({
       }
       return result;
     },
+    // 站点管理
+    async siteOperation({ state }, { type, data }) {
+      let result;
+      if (type === 'list') {
+        let { site, column } = data;
+        result = await this.$axios.$get(api.siteQuery, { site: site, column: column });
+      }
+      if (type === 'search') {
+        let { site } = data;
+        result = await this.$axios.$get(api.siteFetch(site));
+      }
+      return result;
+    },
   },
 });
 

+ 15 - 25
src/views/index/index.vue

@@ -1,30 +1,8 @@
 <template>
   <div id="index">
     <el-row>
-      <div class="w_0100 top">
-        <div class="topTit">
-          <div class="w_1200">
-            <el-col :span="12" class="logo">
-              <img src="../../assets/1471422360-3448.png" width="600" height="100" />
-              <span class="logo_txt" :style="`background:${backColor}`">东北地方高校就业创业协作体</span>
-              <span class="logo_txt" :style="`background:${backColor}`">云就业高校联盟</span>
-            </el-col>
-            <el-col :span="12" class="search">
-              <el-col :span="3" style="float: right;"
-                ><el-button type="danger" icon="el-icon-search" :style="`background:${backColor}; border-color:${borderCol}`"></el-button
-              ></el-col>
-              <el-col :span="10" style="float: right;" class="searchInput" :style="`border-color:${borderCol}`"
-                ><el-input v-model="input" placeholder="请输入内容"></el-input
-              ></el-col>
-            </el-col>
-          </div>
-        </div>
-      </div>
-      <div class="w_0100">
-        <div class="w_1200">
-          <top-menu> </top-menu>
-        </div>
-      </div>
+      <el-row>{{ site.name }}}</el-row>
+      <top-menu></top-menu>
       <div class="w_0100">
         <div class="w_1200">
           <el-col :span="24" class="main">
@@ -501,6 +479,7 @@ export default {
     tagsThr: null,
     tagsCol: null,
     tagsOne: null,
+    site: {},
   },
   components: {
     foot,
@@ -520,9 +499,19 @@ export default {
     ],
     url: require('@/assets/xinxi.png'),
   }),
-  created() {},
+  created() {
+    this.search();
+  },
   computed: {},
   methods: {
+    search() {
+      let site = sessionStorage.getItem('site');
+      if (site) {
+        site = JSON.parse(site);
+        this.$set(this, `site`, site);
+      }
+      console.log(site);
+    },
     handleSelect(key, keyPath) {
       // console.log(key, keyPath);
     },
@@ -677,6 +666,7 @@ img {
 /deep/.el-menu--horizontal > .el-submenu .el-submenu__title {
   height: 40px;
   line-height: 40px;
+  border-bottom-color: #850000 !important;
 }
 /deep/.el-menu--popup {
   min-width: 110px !important;