123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <template>
- <div id="list">
- <el-row>
- <el-col :span="24" class="topMenu">
- <el-col :span="24">
- <el-breadcrumb separator=">">
- <el-breadcrumb-item :to="{ path: '/' }"><i class="el-icon-s-home"></i><span>网站首页</span></el-breadcrumb-item>
- <el-breadcrumb-item>
- <a href="/"><span>招聘信息</span></a>
- </el-breadcrumb-item>
- <el-breadcrumb-item><span>在线招聘</span></el-breadcrumb-item>
- </el-breadcrumb>
- </el-col>
- </el-col>
- <el-col :span="24" class="search">
- <el-col :span="12">
- <el-col :span="6">
- <el-select size="mini" v-model="searchInfo.is_practice" placeholder="选择招聘类型" @change="search()">
- <el-option label="全部类型" :value="undefined"></el-option>
- <el-option label="全职" :value="0"></el-option>
- <el-option label="实习" :value="1"></el-option>
- </el-select>
- </el-col>
- <el-col :span="18">
- <el-input size="mini" placeholder="请输入企业名称" v-model="searchInfo.corpname" @keyup.enter.native="search()">
- <el-button slot="append" icon="el-icon-search" @click="search()"></el-button>
- </el-input>
- </el-col>
- </el-col>
- <el-col :span="12">
-
- </el-col>
- </el-col>
- <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
- <el-col :span="24">
- <el-col :span="24" class="title">
- <el-link :underline="false" @click="$router.push({ path: '/jobinfo/detail', query: { id: item.id } })">{{ item.title }}</el-link>
- </el-col>
- <el-col :span="24" class="common practice">
- 招聘类型:<span>{{ `${item.is_practice}` === `0` ? '全职' : '实习' }}</span>
- </el-col>
- <el-col :span="24" class="common corpname">
- <i class="el-icon-office-building"></i>
- 举办企业:<span>{{ item.corpname }}</span>
- </el-col>
- <el-col :span="24" class="common schname">
- <i class="el-icon-school"></i>
- 主办学校:<span>{{ item.schname }}</span>
- </el-col>
- </el-col>
- </el-col>
- <el-col :span="24" class="page">
- <el-pagination @current-change="search" :current-page="currentPage" :page-size="$limit" layout="total, prev, pager, next, jumper" :total="totalRow">
- </el-pagination>
- </el-col>
- </el-row>
- </div>
- </template>
- <script>
- import { mapActions, mapState } from 'vuex';
- export default {
- name: 'list',
- props: {},
- components: {},
- data: () => ({
- searchInfo: {},
- squareUrl: '',
- currentPage: 1,
- totalRow: 0,
- list: [],
- }),
- created() {
- this.search();
- },
- computed: {},
- methods: {
- ...mapActions(['jobinfoOperation']),
- async search(page) {
- let skip = 0;
- if (page) {
- skip = (page - 1) * this.$limit;
- }
- let newData = { skip: skip, limit: this.$limit, ...this.searchInfo };
- let result = await this.jobinfoOperation({ type: 'list', data: newData });
- if (`${result.errcode}` === '0') {
- //给this=>vue的实例下在中的list属性,赋予result。data的值
- this.$set(this, 'list', result.data);
- this.$set(this, `totalRow`, result.total);
- } else {
- this.$message.error(result.errmsg ? result.errmsg : 'error');
- }
- },
- },
- };
- </script>
- <style lang="less" scoped>
- .topMenu {
- margin: 0 0 10px 0;
- }
- .search {
- margin: 15px 0;
- }
- /deep/.search .el-input__inner {
- border: 2px solid #850000;
- border-radius: 0;
- }
- /deep/.search .el-input-group__append {
- background: #850000;
- border: 2px solid #850000;
- color: #fff;
- border-radius: 0;
- }
- .list {
- padding: 5px 0;
- border-bottom: 1px dashed #ccc;
- }
- .list .title .el-link {
- font-size: 20px;
- color: #000;
- }
- .list .title .el-link:hover {
- color: #850000;
- }
- .list .time {
- color: #ff0000;
- }
- .list .common {
- padding: 2px 0;
- }
- .page {
- margin: 10px 0;
- text-align: right;
- }
- </style>
|