wuhongyuq 5 years ago
parent
commit
4fac2051d0

+ 4 - 4
src/components/personnel/personnelexpert.vue

@@ -104,26 +104,26 @@ export default {
 }
 .leftDiao {
   background: #fff;
-  height: 370px;
+  height: 450px;
   overflow: hidden;
 }
 .leftTop {
   background: #fff;
-  height: 360;
+  height: 360px;
   overflow: hidden;
   margin: 0 0 10px 0;
 }
 .main .fenlei {
   float: left;
   width: 240px;
-  min-height: 720px;
+  min-height: 820px;
   margin: 0 10px 0 0;
   overflow: hidden;
 }
 .main .rightcont {
   float: left;
   width: 950px;
-  min-height: 740px;
+  min-height: 820px;
   overflow: hidden;
   background-color: #fff;
 }

+ 9 - 9
src/components/personnel/personnelist.vue

@@ -18,15 +18,15 @@
         <div class="w_1200">
           <el-col :span="5" class="fenlei">
             <el-col :span="24" class="leftTop">
-              <fenlei :liebiaoList="liebiaoList" v-on="$listeners"></fenlei>
+              <fenleilist :liebiaoList="liebiaoList" v-on="$listeners"></fenleilist>
             </el-col>
             <el-col :span="24" class="leftDiao">
               <examine></examine>
             </el-col>
           </el-col>
           <el-col :span="19" class="rightcont">
-            <rightcont v-on="$listeners" :columnName="columnName" :contentList="contentList" :total="total" v-if="display === 'list'"></rightcont>
-            <policyrightcont v-else :columnTitle="columnTitle" :policyInfo="policyInfo"></policyrightcont>
+            <rightzhaopin v-on="$listeners" :columnName="columnName" :contentList="contentList" :total="total" v-if="display === 'list'"></rightzhaopin>
+            <rightzpdetail v-else :columnTitle="columnTitle" :policyInfo="policyInfo"></rightzpdetail>
           </el-col>
         </div>
       </el-col>
@@ -44,9 +44,9 @@ import top from '@/layout/index/top.vue';
 import logo from '@/layout/index/logo.vue';
 import menuInfo from '@/layout/index/menuInfo.vue';
 import foot from '@/layout/index/foot.vue';
-import fenlei from '@/layout/shuju/fenleis.vue';
-import rightcont from '@/layout/shuju/rightcont.vue';
-import policyrightcont from '@/layout/shuju/policyrightcont.vue';
+import fenleilist from '@/layout/personnel/fenleilist.vue';
+import rightzhaopin from '@/layout/personnel/rightzhaopin.vue';
+import rightzpdetail from '@/layout/personnel/rightzpdetail.vue';
 import examine from '@/layout/personCenter/question.vue';
 export default {
   name: 'policy',
@@ -65,9 +65,9 @@ export default {
     logo, //logo
     menuInfo, //导航
     foot, //底部
-    fenlei, //左边分类
-    rightcont, //右边栏
-    policyrightcont,
+    fenleilist, //左边分类
+    rightzhaopin, //右边栏
+    rightzpdetail,
     examine,
   },
   data: () => ({}),

+ 1 - 1
src/layout/personnel/context.vue

@@ -2,7 +2,7 @@
   <div id="rightcont">
     <el-col class="zhengce">
       <el-col class="tittop">
-        <el-col class="tittxt">公司信息</el-col>
+        <el-col class="tittxt">招聘信息</el-col>
       </el-col>
       <el-col class="titleimage">
         <el-col :span="24">

+ 65 - 0
src/layout/personnel/fenleilist.vue

@@ -0,0 +1,65 @@
+<template>
+  <div id="fenlei">
+    <el-col class="swfl">
+      <el-image style="width:22px;height:22px;margin:0 5px -5px 0;" :src="src"></el-image>
+      <span>政策分类</span>
+    </el-col>
+    <el-col>
+      <el-menu default-active="1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" text-color="#215299" active-text-color="#215299">
+        <el-menu-item index="1" v-for="(item, index) in liebiaoList" :key="index"
+          ><span slot="title" @click="clickUrl(item.id)">{{ item.name }}</span></el-menu-item
+        >
+      </el-menu>
+    </el-col>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'fenlei',
+  props: {
+    liebiaoList: null,
+  },
+  components: {},
+  data: () => ({
+    src: require('@/assets/swfl.png'),
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    clickUrl(id) {
+      this.$emit('clickLists', { id });
+    },
+    handleOpen(key, keyPath) {
+      console.log(key, keyPath);
+    },
+    handleClose(key, keyPath) {
+      console.log(key, keyPath);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.swfl {
+  height: 60px;
+  width: 240px;
+  line-height: 60px;
+  background-color: #22529a;
+  text-align: center;
+}
+.swfl span {
+  font-size: 22px;
+  color: #ffffff;
+}
+/deep/.el-menu-item {
+  height: 60px;
+  text-align: center;
+  line-height: 60px;
+  border-bottom: 1px dashed;
+  font-size: 22px;
+}
+/deep/.el-menu-item:last-child {
+  border-bottom: none;
+}
+</style>

+ 7 - 1
src/layout/personnel/mainInfo.vue

@@ -70,7 +70,13 @@
               <el-table-column prop="user_name" label="发布人" align="center"> </el-table-column>
             </el-table>
           </el-tab-pane>
-          <el-tab-pane label="找合作" name="fifth">找合作</el-tab-pane>
+          <el-tab-pane label="找合作" name="fifth">
+            <el-carousel height="360px">
+              <el-carousel-item @click.native="$router.push({ path: '/supermaket/supermarket' })">
+                <p class="title textOver">找合作</p>
+              </el-carousel-item>
+            </el-carousel>
+          </el-tab-pane>
         </el-tabs>
         <el-col :span="24" class="more">
           <el-link><el-image :src="more"></el-image></el-link>

+ 28 - 23
src/layout/personnel/rightcontzj.vue

@@ -10,11 +10,15 @@
             <el-col class="images" :span="12">
               <el-image style="width:117px;height:117px" :src="policyInfo.imgpath"></el-image>
             </el-col>
-            <el-col :span="12" class="bgcolorWenzi">
-              <p class="zjname">{{ policyInfo.name }}</p>
-              <p>性别:{{ policyInfo.gender }}</p>
-              <p>民族:{{ policyInfo.nation }}</p>
-              <p>职称:{{ policyInfo.technical_actual }}</p>
+          </el-col>
+          <el-col :span="16" class="bgcolorWenzi">
+            <p class="zjname">{{ policyInfo.name }}</p>
+            <el-col>
+              <p class="zjnamep">{{ policyInfo.technical }}</p>
+              <p class="zjnamep">{{ policyInfo.gender }}</p>
+              <p class="zjnamep">{{ policyInfo.nation }}</p>
+              <p class="zjnamep">{{ policyInfo.technical }}</p>
+              <p class="zjnamep">{{ policyInfo.position }}</p>
             </el-col>
           </el-col>
         </el-col>
@@ -28,24 +32,19 @@
               <p>出生日期:{{ policyInfo.birth }}</p>
               <p>证件类型:{{ policyInfo.cardtype }}</p>
               <p>身份证号:{{ policyInfo.cardnumber }}</p>
-              <p>初级职称:{{ policyInfo.technical }}</p>
-              <p>职务:{{ policyInfo.position }}</p>
+              <p>具体职称:{{ policyInfo.technical_actual }}</p>
               <p>毕业院校:{{ policyInfo.school }}</p>
               <p>学历:{{ policyInfo.eduback }}</p>
               <p>所学专业:{{ policyInfo.major_studied }}</p>
-
-              <p>邮箱:{{ policyInfo.email }}</p>
-              <p>办公电话:{{ policyInfo.tel }}</p>
               <p>从事专业:{{ policyInfo.professional }}</p>
-              <p>手机号:{{ policyInfo.phone }}</p>
+              <p>电子邮箱:{{ policyInfo.email }}</p>
+              <p>办公电话:{{ policyInfo.tel }}</p>
               <p>业务工作简介:{{ policyInfo.job_profile }}</p>
+              <p>可供咨询领域:{{ policyInfo.field }}</p>
               <p>主持或参与项目情况:{{ policyInfo.project_profile }}</p>
               <p>主要学术成就及获奖情况:{{ policyInfo.achievement }}</p>
               <p>论文论著:{{ policyInfo.paper }}</p>
               <p>备注:{{ policyInfo.remark }}</p>
-              <p>领域拼音:{{ policyInfo.field_py }}</p>
-              <p>主要学术成就及获奖情况:{{ policyInfo.achievement }}</p>
-              <p>主要学术成就及获奖情况:{{ policyInfo.achievement }}</p>
             </el-col>
           </el-col>
         </el-col>
@@ -93,8 +92,8 @@ p {
   height: 200px;
 }
 .bgcolor {
-  width: 380px;
-  height: 200px;
+  width: 150px;
+  height: 150px;
 }
 .images {
   text-align: center;
@@ -123,6 +122,16 @@ p {
 .zjname {
   font-size: 30px;
   color: #215299;
+  height: 68px;
+  line-height: 68px;
+}
+.zjnamep {
+  float: left;
+  margin-right: 7px;
+  font-size: 20px;
+  line-height: 36px;
+  height: 36px;
+  color: #666666;
 }
 .titletop1 .name {
   height: 50px;
@@ -137,12 +146,7 @@ p {
   color: #215299;
   font-size: 18px;
 }
-.date {
-  height: 50px;
-  line-height: 50px;
-  text-align: right;
-  padding: 0 50px 0 0;
-}
+
 .info {
   padding: 0 30px;
 }
@@ -159,7 +163,8 @@ p {
   height: 300px;
   padding: 30px 0;
   font-size: 16px;
-  color: #666666;
+  color: rgb(102, 102, 102);
+  text-decoration: none;
   line-height: 30px;
 }
 </style>

+ 111 - 0
src/layout/personnel/rightzhaopin.vue

@@ -0,0 +1,111 @@
+<template>
+  <div id="rightcont">
+    <el-col class="zhengce">
+      <el-col :span="24" class="topTitle">
+        {{ columnName }}
+      </el-col>
+      <el-col :span="24" class="info">
+        <ul>
+          <li v-for="(item, index) in contentList" :key="index" @click="$emit('fetch', item.id)">
+            <el-col :span="21" class="title textOver">{{ item.title }}</el-col>
+            <el-col :span="3" class="date">
+              {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+            </el-col>
+          </li>
+        </ul>
+        <el-col class="page" :span="24">
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            layout="total,  prev, pager, next, jumper"
+            :total="total"
+          >
+          </el-pagination>
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'rightcont',
+  props: {
+    columnName: null,
+    contentList: null,
+    total: null,
+  },
+  components: {},
+  data: () => ({
+    currentPage: 1,
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+ul {
+  margin: 0;
+}
+li {
+  padding: 0;
+  margin: 0;
+  color: #a8abb7;
+}
+.zhengce {
+  height: 660px;
+  padding: 20px;
+  overflow: hidden;
+}
+.topTitle {
+  font-size: 22px;
+  color: #22529a;
+  margin: 0 0 20px 0;
+}
+.info {
+  height: 570px;
+  overflow: hidden;
+}
+.info ul {
+  height: 510px;
+  overflow: hidden;
+  padding: 0 0 0 20px;
+}
+.info ul li {
+  float: left;
+  width: 100%;
+  padding: 0 0 13px 0;
+}
+.info ul li .title {
+  font-size: 16px;
+  color: #60636d;
+}
+.info ul li .date {
+  font-size: 16px;
+  color: #a8abb7;
+  text-align: right;
+}
+.info ul li:hover {
+  cursor: pointer;
+}
+.info ul li:hover .title {
+  color: #22529a;
+}
+.info ul li:hover .date {
+  color: #22529a;
+}
+.page {
+  padding: 11px 0;
+  text-align: center;
+}
+</style>

+ 88 - 0
src/layout/personnel/rightzpdetail.vue

@@ -0,0 +1,88 @@
+<template>
+  <div id="policyrightcont">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="topInfo">
+          <span>{{ columnTitle }}</span>
+        </el-col>
+        <el-col :span="24" class="infoMess">
+          <el-col :span="24" class="title">
+            {{ policyInfo.title }}
+          </el-col>
+          <el-col :span="24" class="infoDate">
+            <p>
+              <span>发布人:{{ policyInfo.publish }}</span>
+              <span>来源:{{ policyInfo.orgin }}</span>
+              <span>发布时间: {{ policyInfo.meta && policyInfo.meta.createdAt ? new Date(policyInfo.meta.createdAt).toLocaleDateString() : '' || '' }}</span>
+            </p>
+          </el-col>
+          <el-col v-if="policyInfo.picture" class="image">
+            <el-image style="width:50%" :src="policyInfo.picture"></el-image>
+          </el-col>
+          <el-col :span="24" class="content">
+            <p v-html="policyInfo.content"></p>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'policyrightcont',
+  props: {
+    columnTitle: null,
+    policyInfo: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.info {
+  padding: 0 20px;
+}
+.topInfo {
+  height: 60px;
+  line-height: 60px;
+  font-size: 22px;
+}
+.infoMess .title {
+  line-height: 30px;
+  text-align: center;
+  font-size: 16px;
+  font-weight: bold;
+  color: #000000;
+  margin: 0 0 20px 0;
+}
+.infoDate {
+  height: 36px;
+  line-height: 36px;
+}
+.infoDate p {
+  width: 700px;
+  background: #eeeeee;
+  margin: 0 105px;
+}
+.infoDate p span {
+  font-size: 14px;
+  color: #000;
+  padding: 0 0 0 80px;
+}
+.infoMess .image {
+  text-align: center;
+  margin: 20px 0 0 0;
+}
+.content {
+  padding: 0px 0 20px 0;
+}
+</style>

+ 5 - 0
src/router/index.js

@@ -167,6 +167,11 @@ const routes = [
     path: '/personnel/personnelexpert',
     component: () => import('../views/personnel/personnelexpert.vue'),
   },
+
+  {
+    path: '/personnel/personnelcmdetail',
+    component: () => import('../views/personnel/personnelcmdetail.vue'),
+  },
   //科技人才-招聘信息
   {
     path: '/personnel/recruit',

+ 19 - 0
src/views/personnel/personnelcmdetail.vue

@@ -0,0 +1,19 @@
+<template>
+  <div id="personnelcmdetail">
+    <p>personnelcmdetail</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'personnelcmdetail',
+  props: {},
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="scss" scoped></style>

+ 1 - 1
src/views/personnel/personnelist.vue

@@ -21,7 +21,7 @@ import { createNamespacedHelpers, mapGetters } from 'vuex';
 import _ from 'loadsh';
 const { mapActions: mapSite } = createNamespacedHelpers('site');
 const { mapActions: mappolicyColumn } = createNamespacedHelpers('policiesColumn');
-const { mapActions: mappolicyNews } = createNamespacedHelpers('policiesxinxi');
+const { mapActions: mappolicyNews } = createNamespacedHelpers('policiesColumn');
 
 export default {
   name: 'shujulist',