You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

231 lines
6.7 KiB

1 year ago
<template>
<div>
<div>
<div ref="lxHeader">
<lx-header icon="md-apps" :text="$route.meta.title" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
1 year ago
<div slot="content" style="padding-left:0">
<div class="txl">
<div>课程名称{{subjectObj.title}}</div>
<div>开课日期{{subjectObj.date}}</div>
<div>类别{{subjectObj.leibie}}</div>
1 year ago
</div>
<div class="searchwrap" style="display: flex;align-items: center;">
1 year ago
<div>
<el-input v-model="select.name" placeholder="请输入姓名"></el-input>
</div>
<div>
<el-input v-model="select.company_name" placeholder="请输入公司名称"></el-input>
</div>
<div>
<el-select v-model="select.company_position" placeholder="请选择职务" clearable>
<el-option v-for="item in company_position_list" :key="item.id" :label="item.value"
:value="item.id">
</el-option>
</el-select>
</div>
<div>
<el-select v-model="select.company_type" placeholder="请选择企业性质" clearable>
<el-option v-for="item in company_type_list" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
</div>
<div>
<el-select v-model="select.company_area" placeholder="请选择所属区域" clearable>
<el-option v-for="item in company_area_list" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
</div>
<div>
<el-select v-model="select.company_industry" placeholder="请选择所属行业" clearable>
<el-option v-for="item in company_industry_list" :key="item.id" :label="item.value"
:value="item.id">
</el-option>
</el-select>
</div>
1 year ago
<div>
1 year ago
<el-button type="primary" size="small" @click="getList"></el-button>
1 year ago
<el-button type="primary" size="small">导出</el-button>
</div>
</div>
</div>
</lx-header>
</div>
</div>
<div>
<xy-table :list="list" :total="total" :table-item="table_item">
<template v-slot:btns>
<el-table-column align='center' fixed="right" label="操作" width="80" header-align="center">
<template slot-scope="scope">
1 year ago
<el-button type="primary" size="small" @click="showDetail('show')"></el-button>
1 year ago
</template>
</el-table-column>
</template>
</xy-table>
</div>
1 year ago
<student-detail ref="studentDetail"></student-detail>
1 year ago
</div>
</template>
1 year ago
<script>
1 year ago
import studentDetail from '@/views/student/components/detail.vue';
1 year ago
import myMixins from "@/mixin/selectMixin.js";
import {
indexStudy
} from '@/api/student/index.js'
export default {
mixins: [myMixins],
components: {
studentDetail
1 year ago
},
data() {
1 year ago
return {
subjectObj:{},
1 year ago
select: {
1 year ago
name: '',
course_id:'',
course_name: '',
company_name: '',
company_position: '',
company_area: '',
company_type: '',
company_industry: '',
page: 1,
page_size: 10,
1 year ago
},
1 year ago
company_position_list: [],
company_type_list: [],
company_industry_list: [],
company_area_list: [],
list: [],
1 year ago
total: 0,
table_item: [{
prop: 'name',
label: '姓名',
1 year ago
align: 'center',
width: 120
1 year ago
}, {
1 year ago
prop: 'company_name',
1 year ago
label: '公司',
1 year ago
align: 'left',
1 year ago
}, {
1 year ago
prop: 'company_position',
1 year ago
label: '职务',
1 year ago
align: 'center',
1 year ago
width: 120,
1 year ago
}, {
prop: 'mobile',
label: '联系电话',
align: 'center',
1 year ago
width: 120,
}, {
prop: 'company_type',
1 year ago
label: '企业性质',
align: 'center',
width: 180,
}, {
1 year ago
prop: 'company_industry',
1 year ago
label: '所属行业',
align: 'center',
1 year ago
width: 120,
1 year ago
}, {
1 year ago
prop: 'company_area',
1 year ago
label: '所属区域',
align: 'center',
1 year ago
width: 120,
1 year ago
}, {
prop: 'date',
label: '报名时间',
align: 'center',
width: 180,
1 year ago
}, {
1 year ago
prop: 'status',
label: '审核状态',
align: 'center',
width: 180,
}]
}
},
1 year ago
mounted() {
this.subjectObj = this.$route.query
this.select.course_id = this.subjectObj.id
this.getList()
1 year ago
},
1 year ago
methods: {
async getList() {
const res = await indexStudy({
page: this.select.page,
page_size: this.select.page_size,
filter: [ {
key: 'name',
op: 'like',
value: this.select.name
},{
key: 'course_id',
op: 'eq',
value: this.select.course_id
}, {
key: 'company_name',
op: 'like',
value: this.select.company_name
}, {
key: 'company_position',
op: 'eq',
value: this.select.company_position
}, {
key: 'company_area',
op: 'eq',
value: this.select.company_area
}, {
key: 'company_type',
op: 'eq',
value: this.select.company_type
}, {
key: 'company_industry',
op: 'eq',
value: this.select.company_industry
}]
})
this.list = res.data
this.total = res.total
1 year ago
},
1 year ago
showDetail(type, id) {
this.$refs.studentDetail.id = id
this.$refs.studentDetail.type = type
this.$refs.studentDetail.isShow = true
1 year ago
},
}
}
</script>
1 year ago
<style lang="scss" scoped>
.txl {
display: flex;
align-items: center;
margin-bottom: 10px;
font-size:18px;
&>div {
margin-right: 15px;
}
1 year ago
}
1 year ago
1 year ago
.searchwrap {
display: flex;
align-items: center;
&>div {
display: flex;
align-items: center;
margin-right: 10px;
span {
min-width: 70px;
}
}
}
</style>