Przeglądaj źródła

更新党员之间首页,列表 详情,

guhongwei 5 lat temu
rodzic
commit
5eb63d4a5d

+ 2 - 0
.env

@@ -0,0 +1,2 @@
+VUE_APP_AXIOS_BASE_URL = ''
+VUE_APP_ROUTER="/www"

+ 4 - 1
src/components/detail.vue

@@ -12,7 +12,7 @@
       </el-col>
       <el-col :sapn="24" class="main">
         <div class="w_1270">
-          <contInfo :contInfos="contInfos"></contInfo>
+          <contInfo :contInfos="contInfos" :bordColor="bordColor" :bordBottomColor="bordBottomColor" :color="color"></contInfo>
         </div>
       </el-col>
       <el-col :sapn="24" class="down">
@@ -32,6 +32,9 @@ export default {
   name: 'detail',
   props: {
     backColor: null, //背景颜色
+    bordColor: null, //border颜色
+    bordBottomColor: null, //border-bottom颜色
+    color: null, //字体颜色
     info: null, //站点信息
     contInfos: null, //信息详细
   },

+ 1 - 1
src/components/list.vue

@@ -21,7 +21,7 @@
             </el-col>
           </el-col>
           <el-col :span="19" class="mainRight">
-            <mainRight :rightList="rightList"></mainRight>
+            <mainRight :rightList="rightList" :backColor="backColor"></mainRight>
           </el-col>
         </div>
       </el-col>

+ 72 - 0
src/components/memberDetail.vue

@@ -0,0 +1,72 @@
+<template>
+  <div id="memberDetail">
+    <el-row>
+      <el-col class="top">
+        <top :info="info"></top>
+      </el-col>
+      <el-col :sapn="24" class="menu">
+        <menuInfos></menuInfos>
+      </el-col>
+      <el-col :sapn="24" class="main">
+        <div class="w_1270">
+          <contInfo :contInfos="contInfos" :bordColor="bordColor" :bordBottomColor="bordBottomColor" :color="color"></contInfo>
+        </div>
+      </el-col>
+      <el-col :sapn="24" class="down">
+        <down :info="info" :backColor="backColor"></down>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '@/layout/member/top.vue';
+import menuInfos from '@/layout/index/menuInfos.vue';
+import contInfo from '@/layout/detail/contInfo.vue';
+import down from '@/layout/index/down.vue';
+export default {
+  name: 'memberDetail',
+  props: {
+    backColor: null, //背景颜色
+    bordColor: null, //border颜色
+    bordBottomColor: null, //border-bottom颜色
+    color: null, //字体颜色
+    contInfos: null, //信息详细
+    info: null, //站点信息
+  },
+  components: {
+    top, //头部信息
+    menuInfos, //菜单
+    contInfo, //内容
+    down, //底部
+  },
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1270 {
+  width: 1270px;
+  margin: 0 auto;
+}
+.top {
+  height: 500px;
+}
+.menu {
+  height: 50px;
+  overflow: hidden;
+  position: absolute;
+  top: 450px;
+}
+.main {
+  min-height: 900px;
+  background: #f6f6f6;
+}
+.down {
+  height: 135px;
+  overflow: hidden;
+}
+</style>

+ 94 - 0
src/components/memberList.vue

@@ -0,0 +1,94 @@
+<template>
+  <div id="memberList">
+    <el-row>
+      <el-col class="top">
+        <top :info="info"></top>
+      </el-col>
+      <el-col :sapn="24" class="menu">
+        <menuInfos></menuInfos>
+      </el-col>
+      <el-col :sapn="24" class="main">
+        <div class="w_1270">
+          <el-col :span="5" class="mainLeft">
+            <el-col :span="24" class="listMenu">
+              <listMenus></listMenus>
+            </el-col>
+          </el-col>
+          <el-col :span="19" class="mainRight">
+            <mainRight :rightList="rightList" :backColor="backColor"></mainRight>
+          </el-col>
+        </div>
+      </el-col>
+      <el-col :sapn="24" class="down">
+        <down :info="info" :backColor="backColor"></down>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import top from '@/layout/member/top.vue';
+import menuInfos from '@/layout/index/menuInfos.vue';
+import listMenus from '@/layout/list/listMenus.vue';
+import mainRight from '@/layout/list/mainRight.vue';
+import down from '@/layout/index/down.vue';
+export default {
+  name: 'memberList',
+  props: {
+    backColor: null, //背景颜色
+    info: null, //站点信息
+    rightList: null, //右侧列表
+  },
+  components: {
+    top, //头部信息
+    menuInfos, //菜单
+    listMenus, //列表左侧导航
+    mainRight, //列表页右侧列表
+    down, //底部
+  },
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1270 {
+  width: 1270px;
+  margin: 0 auto;
+}
+.top {
+  height: 500px;
+}
+.menu {
+  height: 50px;
+  overflow: hidden;
+  position: absolute;
+  top: 450px;
+}
+.main {
+  min-height: 680px;
+  background: #f6f6f6;
+}
+.mainLeft {
+  width: 246px;
+  min-height: 600px;
+  margin: 40px 18px 0 0;
+  border: 1px solid #e6e6e6;
+}
+.listMenu {
+  min-height: 56px;
+  background-color: #f9f9f9;
+  border-bottom: 1px solid #ccc;
+  margin: 0 0 10px 0;
+}
+.mainRight {
+  min-height: 600px;
+  margin: 40px 0 0 0;
+}
+.down {
+  height: 135px;
+  overflow: hidden;
+}
+</style>

+ 9 - 6
src/layout/detail/contInfo.vue

@@ -2,11 +2,11 @@
   <div id="contInfo">
     <el-row>
       <el-col :span="24" class="contInfo">
-        <el-col :span="24" class="top">
-          <el-col :span="20" class="topTitle">
-            <span>{{ title }}</span>
+        <el-col :span="24" class="top" :style="`border-color:${bordColor}`">
+          <el-col :span="18" class="topTitle">
+            <span :style="`border-color:${bordBottomColor};color:${color}`">{{ title }}</span>
           </el-col>
-          <el-col :span="4" class="topBread">
+          <el-col :span="6" class="topBread">
             <el-breadcrumb separator-class="el-icon-arrow-right">
               <el-breadcrumb-item>当前位置:</el-breadcrumb-item>
               <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
@@ -42,6 +42,9 @@ export default {
   name: 'contInfo',
   props: {
     contInfos: null,
+    bordColor: null,
+    bordBottomColor: null,
+    color: null,
   },
   components: {
     share,
@@ -70,7 +73,7 @@ p {
   height: 40px;
   background-color: #f5f5f8;
   margin: 2px 2px 0 2px;
-  border-bottom: 1px solid #ccc;
+  border-bottom: 1px solid;
   width: 1264px;
 }
 .top .topTitle span {
@@ -80,7 +83,7 @@ p {
   line-height: 38px;
   text-align: center;
   font-size: 18px;
-  border-bottom: 2px solid #176ebb;
+  border-bottom: 2px solid;
 }
 .top .topBread {
   padding: 12px 0;

+ 1 - 1
src/layout/list/listMenu.vue

@@ -2,7 +2,7 @@
   <div id="listMenu">
     <el-row>
       <el-col :span="24" class="menu">
-        <el-menu default-active="1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose">
+        <el-menu default-active="1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" active-text-color="#176ebb">
           <el-menu-item index="1">
             <i class="el-icon-menu"></i>
             <span slot="title">就业动态</span>

+ 58 - 0
src/layout/list/listMenus.vue

@@ -0,0 +1,58 @@
+<template>
+  <div id="listMenu">
+    <el-row>
+      <el-col :span="24" class="menu">
+        <el-menu default-active="1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" active-text-color="#be0101">
+          <el-menu-item index="1">
+            <i class="el-icon-menu"></i>
+            <span slot="title">就业动态</span>
+          </el-menu-item>
+          <el-menu-item index="2">
+            <i class="el-icon-menu"></i>
+            <span slot="title">通知公告</span>
+          </el-menu-item>
+          <el-menu-item index="3">
+            <i class="el-icon-menu"></i>
+            <span slot="title">下载专区</span>
+          </el-menu-item>
+          <el-menu-item index="4">
+            <i class="el-icon-menu"></i>
+            <span slot="title">户籍管理</span>
+          </el-menu-item>
+          <el-menu-item index="5">
+            <i class="el-icon-menu"></i>
+            <span slot="title">档案服务</span>
+          </el-menu-item>
+        </el-menu>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'listMenu',
+  props: {},
+  components: {},
+  data: () => ({
+    handleOpen(key, keyPath) {
+      console.log(key, keyPath);
+    },
+    handleClose(key, keyPath) {
+      console.log(key, keyPath);
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-icon-document {
+  font-size: 20px;
+}
+/deep/.el-menu-item {
+  font-size: 18px;
+}
+</style>

+ 2 - 1
src/layout/list/mainRight.vue

@@ -2,7 +2,7 @@
   <div id="mainRight">
     <el-row style="border:1px solid #e6e6e6;">
       <el-col :span="24" class="top">
-        <span>{{ title }}</span>
+        <span :style="`background:${backColor}`">{{ title }}</span>
       </el-col>
       <el-col :span="24" class="info">
         <el-col :span="24" class="list" v-for="(item, index) in rightList" :key="index">
@@ -34,6 +34,7 @@ export default {
   name: 'mainRight',
   props: {
     rightList: null,
+    backColor: null,
   },
   components: {},
   data: () => ({

+ 12 - 12
src/main.js

@@ -1,18 +1,18 @@
-import Vue from "vue";
-import App from "./App.vue";
-import router from "./router";
-import store from "./store";
-import "@/plugins/element.js";
-import "@/plugins/axios";
-import "@/plugins/check-res";
-import "@/plugins/meta";
-import "@/plugins/filters";
-import "@/plugins/loading";
+import Vue from 'vue';
+import App from './App.vue';
+import router from './router';
+import store from './store';
+import '@/plugins/element.js';
+import '@/plugins/axios';
+import '@/plugins/check-res';
+import '@/plugins/meta';
+import '@/plugins/filters';
+import '@/plugins/loading';
 
 Vue.config.productionTip = false;
 
 new Vue({
   router,
   store,
-  render: h => h(App)
-}).$mount("#app");
+  render: h => h(App),
+}).$mount('#app');

+ 10 - 0
src/router/index.js

@@ -25,5 +25,15 @@ export default new Router({
       name: 'member',
       component: () => import('../views/member.vue'),
     },
+    {
+      path: '/memberDetail',
+      name: 'memberDetail',
+      component: () => import('../views/memberDetail.vue'),
+    },
+    {
+      path: '/memberList',
+      name: 'memberList',
+      component: () => import('../views/memberList.vue'),
+    },
   ],
 });

+ 3 - 3
src/store/index.js

@@ -1,5 +1,5 @@
-import Vue from "vue";
-import Vuex from "vuex";
+import Vue from 'vue';
+import Vuex from 'vuex';
 
 Vue.use(Vuex);
 
@@ -7,5 +7,5 @@ export default new Vuex.Store({
   state: {},
   mutations: {},
   actions: {},
-  modules: {}
+  modules: {},
 });

+ 11 - 1
src/views/detail.vue

@@ -1,6 +1,13 @@
 <template>
   <div id="detail">
-    <info-detail :backColor="backColor" :info="info" :contInfos="contInfos"></info-detail>
+    <info-detail
+      :backColor="backColor"
+      :bordColor="bordColor"
+      :bordBottomColor="bordBottomColor"
+      :color="color"
+      :info="info"
+      :contInfos="contInfos"
+    ></info-detail>
   </div>
 </template>
 
@@ -14,6 +21,9 @@ export default {
   },
   data: () => ({
     backColor: '#0457c7',
+    bordColor: '#cccccc',
+    bordBottomColor: '#176ebb',
+    color: '#333333',
     info: {
       title: '吉林省高等学校毕业生就业信息网',
       english: 'Jilin University Graduate Employment Guidance Center',

+ 45 - 0
src/views/memberDetail.vue

@@ -0,0 +1,45 @@
+<template>
+  <div id="memberDetail">
+    <member-info
+      :backColor="backColor"
+      :bordColor="bordColor"
+      :bordBottomColor="bordBottomColor"
+      :color="color"
+      :info="info"
+      :contInfos="contInfos"
+    ></member-info>
+  </div>
+</template>
+
+<script>
+import memberInfo from '@/components/memberDetail.vue';
+export default {
+  name: 'memberDetail',
+  props: {},
+  components: {
+    memberInfo,
+  },
+  data: () => ({
+    backColor: '#be0101',
+    bordColor: '#be0101',
+    bordBottomColor: '#be0101',
+    color: '#be0101',
+    info: {
+      title: '吉林省高等学校毕业生就业信息网',
+      banner: require('@/assets/memberBg.jpg'),
+      copyright: '吉ICP备09006292号-1 Copyright 2019 版权所有 吉林省高等学校毕业生就业指导中心 All Rights Reserved',
+    },
+    contInfos: {
+      title: '我省成功举办全国高校就业指导人员培训(中级)班',
+      date: '2019-12-11',
+      url: require('@/assets/news.jpg'),
+      content: '9月16日-20日,由全国高等学校学生信息咨询与就业指导中心主办。',
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 40 - 0
src/views/memberList.vue

@@ -0,0 +1,40 @@
+<template>
+  <div id="memberList">
+    <member-lists :backColor="backColor" :info="info" :rightList="rightList"></member-lists>
+  </div>
+</template>
+
+<script>
+import memberLists from '@/components/memberList.vue';
+
+export default {
+  name: 'memberList',
+  props: {},
+  components: {
+    memberLists,
+  },
+  data: () => ({
+    backColor: '#be0101',
+    info: {
+      title: '吉林省高等学校毕业生就业信息网',
+      banner: require('@/assets/memberBg.jpg'),
+      copyright: '吉ICP备09006292号-1 Copyright 2019 版权所有 吉林省高等学校毕业生就业指导中心 All Rights Reserved',
+    },
+    rightList: [
+      {
+        title: '省教育厅成功举办吉林省高校服务地方经济发展“双对接”专项行动推进会暨 “生根吉林 ”应用型人才招聘会',
+        date: '2019-12-11',
+      },
+      {
+        title: '十二条数据显示',
+        date: '2019-12-11',
+      },
+    ],
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 35 - 14
vue.config.js

@@ -1,6 +1,7 @@
-const path = require("path");
+const path = require('path');
+const publics = path.resolve(__dirname, '../web-common');
 module.exports = {
-  publicPath: "/",
+  publicPath: process.env.NODE_ENV === 'development' ? '/' : process.env.VUE_APP_ROUTER,
   // 双页面配置
   // pages: {
   //   index: 'src/views/index/main.js',
@@ -10,22 +11,42 @@ module.exports = {
       // 开发生产共同配置
       resolve: {
         alias: {
-          "@": path.resolve(__dirname, "./src"),
-          "@c": path.resolve(__dirname, "./src/components"),
-          "@a": path.resolve(__dirname, "./src/assets")
-        }
-      }
+          '@': path.resolve(__dirname, './src'),
+          '@c': path.resolve(__dirname, './src/components'),
+          '@a': path.resolve(__dirname, './src/assets'),
+          '@publics': publics,
+        },
+      },
     });
   },
   devServer: {
-    port: "8001",
+    port: '8001',
     //api地址前缀
     proxy: {
-      "/weixin": {
-        target: "http://smart.cc-lotus.info",
+      '/api': {
+        target: 'http://smart.cc-lotus.info',
+        ws: true,
+        onProxyReq(proxyReq, req, res) {
+          proxyReq.setHeader('x-tenant', 'master');
+        },
+      },
+      '/files': {
+        target: 'http://smart.cc-lotus.info',
         changeOrigin: true,
-        ws: true
-      }
-    }
-  }
+        ws: true,
+      },
+      '/weixin': {
+        target: 'http://smart.cc-lotus.info',
+        changeOrigin: true,
+        ws: true,
+      },
+      '/test': {
+        target: 'http://10.16.11.186:8103',
+        ws: true,
+        pathRewrite: {
+          '^/test': '/api',
+        },
+      },
+    },
+  },
 };