lrf402788946 5 éve
szülő
commit
e9a37c2667

+ 1 - 1
public/index.html

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <title>web-mobile</title>
+    <title>加载中...</title>
   </head>
   </head>
   <body>
   <body>
     <noscript>
     <noscript>

+ 2 - 7
src/components/detail/corp-list.vue

@@ -1,20 +1,15 @@
 <template>
 <template>
   <div id="corp-list">
   <div id="corp-list">
     <el-row class="jobfairPar">
     <el-row class="jobfairPar">
+      <!-- TODO:查看企业详情 -->
       <el-col :span="24" class="jobfairParLi" v-for="(item, index) in info" :key="index">
       <el-col :span="24" class="jobfairParLi" v-for="(item, index) in info" :key="index">
         <el-col :span="21" class="jobfairParLiDiv text-owt">
         <el-col :span="21" class="jobfairParLiDiv text-owt">
           <p>
           <p>
-            {{ item.corpname ? item.corpname : '白城医学高等专科学校附属医院' }}
+            {{ item.corpname ? item.corpname : '' }}
           </p>
           </p>
         </el-col>
         </el-col>
-        <!-- <el-col :span="3" class="jobfairParLiSpan">
-                      <i class="el-icon-view el-icon--right"></i>
-                      46
-                      &nbsp;
-                    </el-col> -->
         <el-col :span="1" class="jobfairParLiI"><i class="el-icon-arrow-right el-icon--right"></i></el-col>
         <el-col :span="1" class="jobfairParLiI"><i class="el-icon-arrow-right el-icon--right"></i></el-col>
       </el-col>
       </el-col>
-      <!-- <a class="jobfairParLiA" href=""><span>查看更多参加企业</span></a> -->
     </el-row>
     </el-row>
   </div>
   </div>
 </template>
 </template>

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

@@ -11,7 +11,7 @@
           </el-col>
           </el-col>
         </el-row>
         </el-row>
       </el-header>
       </el-header>
-      <el-header v-else style="height:2.5rem">
+      <el-header style="height:2.5rem" v-if="title">
         <el-row class="title">
         <el-row class="title">
           <el-col :span="24" style="text-align:center;">{{ title }}</el-col>
           <el-col :span="24" style="text-align:center;">{{ title }}</el-col>
         </el-row>
         </el-row>

+ 6 - 1
src/layout/scroll.vue

@@ -8,7 +8,7 @@
       :threshold="200"
       :threshold="200"
       pulldownTxt="向下滚动查看更多信息"
       pulldownTxt="向下滚动查看更多信息"
       unloadMoreTxt="没有更多信息啦"
       unloadMoreTxt="没有更多信息啦"
-      style="height:100vh;"
+      :style="`height:${height}px`"
     >
     >
       <template v-slot:list>
       <template v-slot:list>
         <slot></slot>
         <slot></slot>
@@ -26,8 +26,13 @@ export default {
   components: {},
   components: {},
   data: () => ({
   data: () => ({
     loading: false,
     loading: false,
+    height: 0,
   }),
   }),
   created() {},
   created() {},
+  mounted() {
+    let h = (window.screen.availHeight - 100) * 0.9;
+    this.$set(this, `height`, h);
+  },
   computed: {},
   computed: {},
   methods: {
   methods: {
     loadMore() {
     loadMore() {

+ 14 - 0
src/pages/index/views/home.vue

@@ -35,6 +35,12 @@
         <el-col :span="24"><div class="el-icon-s-platform icon_zoom"></div></el-col>
         <el-col :span="24"><div class="el-icon-s-platform icon_zoom"></div></el-col>
         <el-col :span="24"><el-link type="info" :underline="false" href="jobinfoList.html">在线招聘</el-link></el-col>
         <el-col :span="24"><el-link type="info" :underline="false" href="jobinfoList.html">在线招聘</el-link></el-col>
       </el-col>
       </el-col>
+      <el-col :span="6" class="list_border" @click.native="toHtml('jobsList.html#/')">
+        <el-col :span="24"><div class="el-icon-school icon_zoom"></div></el-col>
+        <el-col :span="24">
+          <el-link type="info" :underline="false">招聘职位</el-link>
+        </el-col>
+      </el-col>
       <el-col :span="6" class="list_border" @click.native="toHtml('', 'check')">
       <el-col :span="6" class="list_border" @click.native="toHtml('', 'check')">
         <el-col :span="24"><div class="el-icon-user icon_zoom"></div></el-col>
         <el-col :span="24"><div class="el-icon-user icon_zoom"></div></el-col>
         <el-col :span="24"><el-link type="info" :underline="false">个人中心</el-link></el-col>
         <el-col :span="24"><el-link type="info" :underline="false">个人中心</el-link></el-col>
@@ -96,6 +102,11 @@ import { mapActions, mapState } from 'vuex';
 import testUser from '@/components/test-user.vue';
 import testUser from '@/components/test-user.vue';
 import _ from 'lodash';
 import _ from 'lodash';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: this.siteTitle ? this.siteTitle : '就业信息网',
+    };
+  },
   name: 'home',
   name: 'home',
   props: {},
   props: {},
   components: {
   components: {
@@ -109,6 +120,7 @@ export default {
     site: {},
     site: {},
     news: {},
     news: {},
     notice: {},
     notice: {},
+    siteTitle: '',
   }),
   }),
   async created() {
   async created() {
     await this.getSite();
     await this.getSite();
@@ -144,9 +156,11 @@ export default {
         if (`${result.errcode}` === `0`) {
         if (`${result.errcode}` === `0`) {
           sessionStorage.setItem('site', JSON.stringify(result.data));
           sessionStorage.setItem('site', JSON.stringify(result.data));
           this.$set(this, `site`, result.data);
           this.$set(this, `site`, result.data);
+          this.$set(this, `siteTitle`, this.site.name);
         }
         }
       } else {
       } else {
         this.$set(this, `site`, JSON.parse(site));
         this.$set(this, `site`, JSON.parse(site));
+        this.$set(this, `siteTitle`, this.site.name);
       }
       }
       this.$set(this, `url`, this.site.banner);
       this.$set(this, `url`, this.site.banner);
     },
     },

+ 26 - 1
src/pages/jobfair/views/detail.vue

@@ -22,7 +22,7 @@
               <li>
               <li>
                 <el-row :span="24">
                 <el-row :span="24">
                   <i class="el-icon-alarm-clock el-icon--left"></i>
                   <i class="el-icon-alarm-clock el-icon--left"></i>
-                  {{ info.date }}&nbsp;{{ info.time }}
+                  {{ info.time }}
                 </el-row>
                 </el-row>
               </li>
               </li>
               <li>
               <li>
@@ -77,6 +77,11 @@ import jobList from '@/components/detail/job-list.vue';
 import corpList from '@/components/detail/corp-list.vue';
 import corpList from '@/components/detail/corp-list.vue';
 import { mapActions, mapState } from 'vuex';
 import { mapActions, mapState } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '招聘会详情',
+    };
+  },
   name: 'detail',
   name: 'detail',
   props: {},
   props: {},
   components: {
   components: {
@@ -107,10 +112,30 @@ export default {
       let result = await this.fairsOperation({ type: 'search', data: { id: this.$route.query.id } });
       let result = await this.fairsOperation({ type: 'search', data: { id: this.$route.query.id } });
       if (`${result.errcode}` === '0') {
       if (`${result.errcode}` === '0') {
         this.$set(this, `info`, result.data);
         this.$set(this, `info`, result.data);
+        this.searchCorps();
       } else {
       } else {
         this.$message.error(result.errmsg ? result.errmsg : 'error');
         this.$message.error(result.errmsg ? result.errmsg : 'error');
       }
       }
     },
     },
+    async searchCorps() {
+      let result = await this.fairsOperation({ type: 'searchCorp', data: { fairid: this.$route.query.id } });
+      if (`${result.errcode}` === '0') {
+        this.$set(this, `corpsList`, result.data);
+        this.searchJobs();
+      }
+    },
+    async searchJobs() {
+      let jobsList = [];
+      if (this.corpsList.length > 0) {
+        for (const item of this.corpsList) {
+          let result = await this.fairsOperation({ type: `searchJobs`, data: { id: item.id } });
+          if (`${result.errcode}` === '0') {
+            result.data.map(item => jobsList.push(item));
+          }
+        }
+        this.$set(this, `jobsList`, jobsList);
+      }
+    },
     async getTicket() {
     async getTicket() {
       if (typeof this.user !== 'object') {
       if (typeof this.user !== 'object') {
         this.$message.error('请先登录');
         this.$message.error('请先登录');

+ 5 - 0
src/pages/jobfairList/views/list.vue

@@ -61,6 +61,11 @@ import listLayout from '@/layout/list-layout.vue';
 import nodata from '@/components/nodata.vue';
 import nodata from '@/components/nodata.vue';
 import { mapActions, mapState } from 'vuex';
 import { mapActions, mapState } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '校园招聘会',
+    };
+  },
   name: 'jobfair',
   name: 'jobfair',
   props: {
   props: {
     searchVal: { type: String, default: '' },
     searchVal: { type: String, default: '' },

+ 5 - 0
src/pages/jobinfo/views/detail.vue

@@ -20,6 +20,11 @@ import jobList from '@/components/detail/job-list.vue';
 import detailLayout from '@/layout/detail-layout.vue';
 import detailLayout from '@/layout/detail-layout.vue';
 import { mapActions } from 'vuex';
 import { mapActions } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '招聘信息详情',
+    };
+  },
   name: 'detail',
   name: 'detail',
   props: {},
   props: {},
   components: {
   components: {

+ 2 - 0
src/pages/jobinfoList/store/index.js

@@ -2,6 +2,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import Vuex from 'vuex';
 import * as jobinfo from '@/store/jobinfo';
 import * as jobinfo from '@/store/jobinfo';
 import * as user from '@/store/user';
 import * as user from '@/store/user';
+import * as corp from '@/store/corp';
 
 
 Vue.use(Vuex);
 Vue.use(Vuex);
 
 
@@ -9,5 +10,6 @@ export default new Vuex.Store({
   modules: {
   modules: {
     jobinfo: jobinfo,
     jobinfo: jobinfo,
     user: user,
     user: user,
+    corp: corp,
   },
   },
 });
 });

+ 35 - 10
src/pages/jobinfoList/views/list.vue

@@ -18,13 +18,15 @@
             </el-col>
             </el-col>
           </el-row>
           </el-row>
           <span v-if="list.length > 0">
           <span v-if="list.length > 0">
-            <el-row class="list_row" v-for="(item, index) in list" :key="index" @click.native="link(item.id)">
-              <el-col :span="24">
+            <el-row class="list_row" v-for="(item, index) in list" :key="index" @click.native="link(item.id)" :gutter="10">
+              <el-col :span="4">
+                <el-image fit="cover" :src="item.corp.identity.logo_url"></el-image>
+              </el-col>
+              <el-col :span="20">
                 <el-col :span="24" class="title">
                 <el-col :span="24" class="title">
-                  {{ item.title }}
+                  {{ item.corpname }}
                 </el-col>
                 </el-col>
-                <el-col :span="24" class="schname"> 主办方:{{ item.schname }} </el-col>
-                <el-col :span="20" class="corpname"> 参会企业:{{ item.corpname }} </el-col>
+                <el-col :span="20" class="corpname title_display"> {{ item.title }} </el-col>
                 <el-col :span="4" class="view">
                 <el-col :span="4" class="view">
                   <i class="el-icon-view info_icon"></i>
                   <i class="el-icon-view info_icon"></i>
                 </el-col>
                 </el-col>
@@ -107,8 +109,14 @@
 <script>
 <script>
 import listLayout from '@/layout/list-layout.vue';
 import listLayout from '@/layout/list-layout.vue';
 import nodata from '@/components/nodata.vue';
 import nodata from '@/components/nodata.vue';
+import _ from 'lodash';
 import { mapActions, mapState } from 'vuex';
 import { mapActions, mapState } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '招聘信息',
+    };
+  },
   name: 'jobinfo',
   name: 'jobinfo',
   props: {},
   props: {},
   components: {
   components: {
@@ -130,7 +138,6 @@ export default {
     tags: {},
     tags: {},
     list: [],
     list: [],
     divideIndex: 0,
     divideIndex: 0,
-    url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
   }),
   }),
   created() {
   created() {
     this.search();
     this.search();
@@ -147,10 +154,9 @@ export default {
     }),
     }),
   },
   },
   methods: {
   methods: {
-    ...mapActions(['jobinfoOperation']),
+    ...mapActions(['jobinfoOperation', 'corpOperation']),
     //添加type形参
     //添加type形参
     async search(type) {
     async search(type) {
-      console.log('in function:');
       let skip = 0;
       let skip = 0;
       //判断下type,如果type存在.当前页加一
       //判断下type,如果type存在.当前页加一
       if (type && type === 'nextPage') {
       if (type && type === 'nextPage') {
@@ -162,8 +168,9 @@ export default {
       let result = await this.jobinfoOperation({ type: 'list', data: { skip: skip, limit: this.$limit, ...this.searchInfo, is_publish: 1 } }); //查询,添加skip和limit参数
       let result = await this.jobinfoOperation({ type: 'list', data: { skip: skip, limit: this.$limit, ...this.searchInfo, is_publish: 1 } }); //查询,添加skip和limit参数
       if (`${result.errcode}` === '0') {
       if (`${result.errcode}` === '0') {
         //给this=>vue的实例下在中的list属性,赋予result。data的值
         //给this=>vue的实例下在中的list属性,赋予result。data的值
+        let arr = await this.searchCorp(result.data);
         if (type && type === 'nextPage') {
         if (type && type === 'nextPage') {
-          this.$set(this, `list`, this.list.concat(result.data)); //将现有的列表和请求来的数据列表合并到一起,自动追加在下面import '@/plugins/var';
+          this.$set(this, `list`, this.list.concat(arr)); //将现有的列表和请求来的数据列表合并到一起,自动追加在下面import '@/plugins/var';
         } else {
         } else {
           this.$set(this, `list`, result.data);
           this.$set(this, `list`, result.data);
         }
         }
@@ -199,6 +206,18 @@ export default {
       });
       });
       if (typeof info === 'string') return `${info.substring(0, this.divideIndex)}...`;
       if (typeof info === 'string') return `${info.substring(0, this.divideIndex)}...`;
     },
     },
+    async searchCorp(data) {
+      for (let item of data) {
+        let res = await this.corpOperation({ type: 'search', data: { corpid: item.corpid } });
+        item.corp = res;
+      }
+      return data;
+    },
+  },
+  filters: {
+    getData(search) {
+      return _.get(this.list, `search`);
+    },
   },
   },
 };
 };
 </script>
 </script>
@@ -226,7 +245,7 @@ export default {
 }
 }
 .list_row .corpname {
 .list_row .corpname {
   font-size: 15px;
   font-size: 15px;
-  color: #333;
+  color: #33333394;
 }
 }
 .list_row .view {
 .list_row .view {
   text-align: right;
   text-align: right;
@@ -243,4 +262,10 @@ export default {
   color: #409eff;
   color: #409eff;
   cursor: pointer;
   cursor: pointer;
 }
 }
+.title_display {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  overflow: hidden;
+}
 </style>
 </style>

+ 2 - 0
src/pages/jobs/store/index.js

@@ -4,6 +4,7 @@ import * as jobs from '@/store/jobs';
 import * as user from '@/store/user';
 import * as user from '@/store/user';
 import * as resumes from '@/store/resumes';
 import * as resumes from '@/store/resumes';
 import * as letters from '@/store/letters';
 import * as letters from '@/store/letters';
+import * as corp from '@/store/corp';
 Vue.use(Vuex);
 Vue.use(Vuex);
 
 
 export default new Vuex.Store({
 export default new Vuex.Store({
@@ -12,5 +13,6 @@ export default new Vuex.Store({
     user: user,
     user: user,
     resumes: resumes,
     resumes: resumes,
     letters: letters,
     letters: letters,
+    corp: corp,
   },
   },
 });
 });

+ 23 - 9
src/pages/jobs/views/detail.vue

@@ -5,13 +5,11 @@
         <el-row :span="24" class="talkTop">
         <el-row :span="24" class="talkTop">
           <el-col :span="5" class="talkTopImage">
           <el-col :span="5" class="talkTopImage">
             <div class="demo-image">
             <div class="demo-image">
-              <div class="block" v-for="fit in fits" :key="fit">
-                <el-image style="width: 3.75rem; height: 3.75rem" :src="url" :fit="fit"></el-image>
-              </div>
+              <el-image style="width: 3.75rem; height: 3.75rem" :src="url" :fit="`cover`"></el-image>
             </div>
             </div>
           </el-col>
           </el-col>
           <el-col :span="19" class="talkTopTit">
           <el-col :span="19" class="talkTopTit">
-            <h3 class="text-owt">{{ info.corpname }}</h3>
+            <h3 class="text-owt">{{ { data: info, search: 'corpname' } | getData }}</h3>
           </el-col>
           </el-col>
         </el-row>
         </el-row>
       </template>
       </template>
@@ -111,8 +109,14 @@
 
 
 <script>
 <script>
 import detailLayout from '@/layout/detail-layout.vue';
 import detailLayout from '@/layout/detail-layout.vue';
+import _ from 'lodash';
 import { mapActions, mapState } from 'vuex';
 import { mapActions, mapState } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '职位详情',
+    };
+  },
   name: 'detail',
   name: 'detail',
   props: {},
   props: {},
   components: {
   components: {
@@ -120,13 +124,11 @@ export default {
   },
   },
   data: () => ({
   data: () => ({
     //	公司logo
     //	公司logo
-    fits: ['cover'],
-    url: 'http://pic.bibibi.net//company/1551766062-5312.jpg@128w_128h_4e.png',
-    jobsurl: 'https://m.bysjy.com.cn/frontend/public/images/global/default-user.png',
-    activeNames: [null],
+    url: '',
     info: {
     info: {
       salary: {},
       salary: {},
     },
     },
+    corpInfo: {},
   }),
   }),
   created() {
   created() {
     if (this.$route.query.id) {
     if (this.$route.query.id) {
@@ -139,15 +141,22 @@ export default {
     }),
     }),
   },
   },
   methods: {
   methods: {
-    ...mapActions(['postsOperation', 'userOperation', 'resumesOperation', 'lettersOperation']),
+    ...mapActions(['postsOperation', 'userOperation', 'resumesOperation', 'lettersOperation', 'corpOperation']),
     async search() {
     async search() {
       let result = await this.postsOperation({ type: 'search', data: { id: this.$route.query.id } });
       let result = await this.postsOperation({ type: 'search', data: { id: this.$route.query.id } });
       if (`${result.errcode}` === '0') {
       if (`${result.errcode}` === '0') {
         this.$set(this, `info`, result.data);
         this.$set(this, `info`, result.data);
+        this.searchCorpInfo(this.info.corpid);
       } else {
       } else {
         this.$message.error(result.errmsg ? result.errmsg : 'error');
         this.$message.error(result.errmsg ? result.errmsg : 'error');
       }
       }
     },
     },
+    async searchCorpInfo(corpid) {
+      let { info, base, identity } = await this.corpOperation({ type: 'search', data: { corpid: corpid } });
+      //给this=>vue的实例下在中的list属性,赋予result。data的值
+      this.$set(this, 'corpInfo', { info: info, identity: identity, base: base });
+      this.$set(this, `url`, _.get(this.corpInfo, `identity.logo_url`));
+    },
     async deliver() {
     async deliver() {
       if (typeof this.user !== 'object') {
       if (typeof this.user !== 'object') {
         this.$message.error('请先登录');
         this.$message.error('请先登录');
@@ -173,6 +182,11 @@ export default {
       });
       });
     },
     },
   },
   },
+  filters: {
+    getData({ data, search }) {
+      return _.get(data, search);
+    },
+  },
 };
 };
 </script>
 </script>
 
 

+ 35 - 6
src/pages/jobsList/views/jobs/job-list.vue

@@ -1,11 +1,8 @@
 <template>
 <template>
   <div id="job_list">
   <div id="job_list">
-    <scroll :hasMore="hasMore" @loadMore="loadMore">
+    <!-- <scroll :hasMore="hasMore" @loadMore="loadMore">
       <div>
       <div>
         <el-row class="list_row" v-for="(item, index) in data" :key="index" @click.native="turnTo(item.id)">
         <el-row class="list_row" v-for="(item, index) in data" :key="index" @click.native="turnTo(item.id)">
-          <!-- <el-col :span="5">
-            <el-image :src="url" style="width:60px;height:60px;"></el-image>
-          </el-col> -->
           <el-col :span="24">
           <el-col :span="24">
             <el-row type="flex" :gutter="10" align="middle">
             <el-row type="flex" :gutter="10" align="middle">
               <el-col :span="16" class="word_etc" style="font-size:1rem;">
               <el-col :span="16" class="word_etc" style="font-size:1rem;">
@@ -27,11 +24,39 @@
           </el-col>
           </el-col>
         </el-row>
         </el-row>
       </div>
       </div>
-    </scroll>
+    </scroll> -->
+    <list-layout @search="loadMore" :hasMore="hasMore" :needSearch="false">
+      <template v-slot:content>
+        <el-row class="list_row" v-for="(item, index) in data" :key="index" @click.native="turnTo(item.id)">
+          <el-card class="this_card">
+            <el-col :span="24">
+              <el-row type="flex" :gutter="10" align="middle">
+                <el-col :span="16" class="word_etc" style="font-size:1rem;">
+                  <el-tag type="warning" v-if="item.is_intern === '1'" style="border-radius: 4px;">实习</el-tag>
+                  {{ item.job_name }}
+                </el-col>
+                <el-col :span="8" class="list_info_top-sWord">{{ item.create_time || '' }}</el-col>
+              </el-row>
+              <el-row type="flex" :gutter="10">
+                <el-col :span="16" class="word_etc word_grey">专业:{{ item.zy_req }}</el-col>
+                <el-col :span="8" class="list_info_top-sWord" style="color:#ff4400">{{ item.salary.text || '' }}</el-col>
+              </el-row>
+              <el-row type="flex" :gutter="10">
+                <el-col :span="16" class="word_grey"> 学历需求: {{ item.xl_req }} </el-col>
+              </el-row>
+            </el-col>
+            <el-col :span="24" style="margin-top:0.5rem;">
+              <el-tag v-for="(tag, tag_index) in item.job_tag" :key="tag_index">{{ tag }}</el-tag>
+            </el-col>
+          </el-card>
+        </el-row>
+      </template>
+    </list-layout>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+import listLayout from '@/layout/list-layout.vue';
 import scroll from '@/layout/scroll.vue';
 import scroll from '@/layout/scroll.vue';
 import _ from 'lodash';
 import _ from 'lodash';
 export default {
 export default {
@@ -43,7 +68,8 @@ export default {
     total: { type: Number },
     total: { type: Number },
   },
   },
   components: {
   components: {
-    scroll,
+    // scroll,
+    listLayout,
   },
   },
   data: () => ({
   data: () => ({
     url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
     url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
@@ -102,4 +128,7 @@ export default {
 .el-tag {
 .el-tag {
   border-radius: 30px;
   border-radius: 30px;
 }
 }
+.this_card {
+  padding: 5px 0px 15px 5px;
+}
 </style>
 </style>

+ 6 - 1
src/pages/jobsList/views/list.vue

@@ -20,7 +20,7 @@
             <template v-slot:label>
             <template v-slot:label>
               <span class="tab-top_word">热门实习</span>
               <span class="tab-top_word">热门实习</span>
             </template>
             </template>
-            <job-list :data="internList" :hasMore="internHasMore" @search="search" type="intern"></job-list>
+            <job-list :data="internList" :hasMore="internHasMore" @search="search" type="intern" v-show="active === 'intern'"></job-list>
           </el-tab-pane>
           </el-tab-pane>
         </el-tabs>
         </el-tabs>
       </template>
       </template>
@@ -34,6 +34,11 @@ import jobList from './jobs/job-list.vue';
 import _ from 'lodash';
 import _ from 'lodash';
 import { mapActions, mapState, mapMutations } from 'vuex';
 import { mapActions, mapState, mapMutations } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '招聘职位',
+    };
+  },
   name: 'jobs',
   name: 'jobs',
   props: {
   props: {
     searchVal: { type: String, default: '' },
     searchVal: { type: String, default: '' },

+ 5 - 0
src/pages/talk/views/detail.vue

@@ -56,6 +56,11 @@ import detailLayout from '@/layout/detail-layout.vue';
 import jobList from '@/components/detail/job-list.vue';
 import jobList from '@/components/detail/job-list.vue';
 import { mapActions, mapState } from 'vuex';
 import { mapActions, mapState } from 'vuex';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '宣讲会详情',
+    };
+  },
   name: 'detail',
   name: 'detail',
   props: {},
   props: {},
   components: {
   components: {

+ 5 - 0
src/pages/talkList/views/list.vue

@@ -42,6 +42,11 @@ import listLayout from '@/layout/list-layout.vue';
 import { mapActions, mapState } from 'vuex';
 import { mapActions, mapState } from 'vuex';
 import nodata from '@/components/nodata.vue';
 import nodata from '@/components/nodata.vue';
 export default {
 export default {
+  metaInfo() {
+    return {
+      title: '企业宣讲会',
+    };
+  },
   name: 'list',
   name: 'list',
   props: {
   props: {
     searchVal: { type: String, default: '' },
     searchVal: { type: String, default: '' },

+ 2 - 3
src/store/hr.js

@@ -24,9 +24,8 @@ export const actions = {
       let { tel } = data;
       let { tel } = data;
       result = await this.$axios.$get(api.hrImp, { id: tel });
       result = await this.$axios.$get(api.hrImp, { id: tel });
     } else if (type === 'update') {
     } else if (type === 'update') {
-      let { info } = data;
-      let { passwd, id } = info;
-      result = await this.$axios.$post(api.hrImp, { passwd: passwd }, { id: id });
+      let { id, info } = data;
+      result = await this.$axios.$post(api.hrImp, { ...info }, { id: id });
     } else {
     } else {
       result = await this.$axios.$get(api.hr, { corpid: data });
       result = await this.$axios.$get(api.hr, { corpid: data });
     }
     }

+ 23 - 9
src/store/jobfair.js

@@ -8,7 +8,7 @@ const api = {
   profilesinfo: '/api/jobs/fairs/{id}',
   profilesinfo: '/api/jobs/fairs/{id}',
   faircorps: '/api/jobs/faircorps',
   faircorps: '/api/jobs/faircorps',
   faircorpsInfo: '/api/jobs/faircorps/{id}',
   faircorpsInfo: '/api/jobs/faircorps/{id}',
-  fairJobs: '/api/faircorps/{id}/jobs',
+  fairJobs: '/api/jobs/faircorps/{id}/jobs',
 };
 };
 export const state = () => ({});
 export const state = () => ({});
 export const mutations = {};
 export const mutations = {};
@@ -31,7 +31,9 @@ export const actions = {
     }
     }
     if (type === 'update') {
     if (type === 'update') {
       let { info, id } = data;
       let { info, id } = data;
-      result = await this.$axios.$post(api.profilesinfo, info, { id: id });
+      result = await this.$axios.$post(api.profilesinfo, info, {
+        id: id,
+      });
     }
     }
     if (type === 'delete') {
     if (type === 'delete') {
       let { id } = data;
       let { id } = data;
@@ -39,27 +41,39 @@ export const actions = {
     }
     }
     if (type === 'apply') {
     if (type === 'apply') {
       let { info, corpid, corpname, schid, schname, fairid } = data;
       let { info, corpid, corpname, schid, schname, fairid } = data;
-      result = await this.$axios.$post(api.faircorps, info, {}, { corpid: corpid, corpname: corpname, schid: schid, schname: schname, fairid: fairid });
+      result = await this.$axios.$post(
+        api.faircorps,
+        info,
+        {},
+        {
+          corpid: corpid,
+          corpname: corpname,
+          schid: schid,
+          schname: schname,
+          fairid: fairid,
+        }
+      );
     }
     }
     if (type === 'mylist') {
     if (type === 'mylist') {
       let { schid, fairid, corpid, status } = data;
       let { schid, fairid, corpid, status } = data;
       result = await this.$axios.$get(api.faircorps, {}, { schid: schid, fairid: fairid, corpid: corpid, status: status });
       result = await this.$axios.$get(api.faircorps, {}, { schid: schid, fairid: fairid, corpid: corpid, status: status });
     }
     }
-    if (type === 'searchCorps') {
-      let { id } = data;
-      result = await this.$axios.$get(api.faircorpsInfo, { id: id });
+    if (type === 'searchCorp') {
+      result = await this.$axios.$get(api.faircorps, {}, { ...data });
     }
     }
     if (type === 'applyUpdate') {
     if (type === 'applyUpdate') {
       let { info, id } = data;
       let { info, id } = data;
-      result = await this.$axios.$post(api.faircorpsInfo, info, { id: id });
+      result = await this.$axios.$post(api.faircorpsInfo, info, {
+        id: id,
+      });
     }
     }
     if (type === 'deleteCorps') {
     if (type === 'deleteCorps') {
       let { id } = data;
       let { id } = data;
       result = await this.$axios.$delete(api.faircorpsInfo, {}, { id: id });
       result = await this.$axios.$delete(api.faircorpsInfo, {}, { id: id });
     }
     }
-    if (type === 'fairJobs') {
+    if (type === 'searchJobs') {
       let { id } = data;
       let { id } = data;
-      result = await this.$axios.$delete(api.fairJobs, {}, { id: id });
+      result = await this.$axios.$get(api.fairJobs, { id: id });
     }
     }
     return result;
     return result;
   },
   },