功能复制

master
lion 2 months ago
parent 33a3d53c69
commit 0258d29d07

@ -706,6 +706,7 @@ export default {
company_type: [],
company_type_all: [],
company_tag:[],
ranking_tag:[],
company_scale:[],
company_area: [],
company_industry: [],
@ -745,7 +746,7 @@ export default {
})
},
getAllPara() {
let number = ['company_type','company_area','company_tag','company_scale', 'company_industry', 'company_industry_detail', 'type', 'education',
let number = ['company_type','company_area','company_tag','ranking_tag','company_scale', 'company_industry', 'company_industry_detail', 'type', 'education',
'sign_from','from_tag','talent_tags'
]
getparameter({

@ -42,7 +42,7 @@
<div class="card-label">校友总数</div>
</div>
</div>
<div class="card-note">校友包含:初创班高研班攀峰班</div>
<!-- <div class="card-note">校友包含:初创班高研班攀峰班</div> -->
</div>
<div class="data-card yearly-card">
<div class="card-icon flat">

@ -46,16 +46,31 @@
</div>
</div>
</template>
<template v-slot:ranking_tag>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>企业标签
</div>
<div class="xy-table-item-content">
<el-select filterable multiple v-model="form.ranking_tag" placeholder="请选择企业标签:" clearable style="width: 100%;">
<el-option v-for="item in formSelect.ranking_tag" :key="item.id" :label="item.value" :value="item.value">
</el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:is_yh_invested>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>集团标签
</div>
<div class="xy-table-item-content">
<el-select filterable v-model="form.is_yh_invested" placeholder="请选择是否被投企业" clearable style="width: 100%;">
<el-tag type="danger" v-if="form.is_yh_invested"></el-tag>
<el-tag type="success" v-else></el-tag>
<!-- <el-select filterable v-model="form.is_yh_invested" placeholder="请选择是否被投企业" clearable style="width: 100%;">
<el-option v-for="(item,index) in [{label:'否',value:0},{label:'是',value:1}]" :key="index" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-select> -->
</div>
</div>
</template>
@ -195,6 +210,7 @@
form: {
company_name: '',
company_tag: [],
ranking_tag: [],
is_yh_invested: '',
company_scale: '',
company_date: '',
@ -236,7 +252,10 @@
...this.form,
company_tag: Array.isArray(this.form.company_tag)
? this.form.company_tag.join(',')
: (this.form.company_tag || '')
: (this.form.company_tag || ''),
ranking_tag: Array.isArray(this.form.ranking_tag)
? this.form.ranking_tag.join(',')
: (this.form.ranking_tag || '')
}
save(payload).then(res => {
this.$message({
@ -257,6 +276,9 @@
this.form.company_tag = res.company_tag
? res.company_tag.split(',').filter(item => item !== '')
: []
this.form.ranking_tag = res.ranking_tag
? res.ranking_tag.split(',').filter(item => item !== '')
: []
})
},
async searchCompany(query) {
@ -315,6 +337,7 @@
this.form = {
company_name: '',
company_tag: [],
ranking_tag: [],
is_yh_invested: '',
company_scale: '',
company_date: '',

@ -75,6 +75,12 @@
</el-option>
</el-select>
</div>
<div style="width:200px">
<el-select filterable collapse-tags multiple v-model="select.ranking_tag" placeholder="请选择企业标签" clearable style="width: 100%;">
<el-option v-for="item in formSelect.ranking_tag" :key="item.id" :label="item.value" :value="item.value">
</el-option>
</el-select>
</div>
<div style="width:250px">
<el-select filterable style="width:100%" v-model="companyType"
@change="(e)=>{changeSelectType(e,'company_type')}" multiple collapse-tags
@ -435,6 +441,7 @@
company_type: '',
company_industry: '',
is_yh_invested: '',
ranking_tag: [],
is_vip: '',
is_schoolmate: '',
courses_start_date: '',
@ -609,6 +616,25 @@
}
}
},
{
prop: 'ranking_tag',
label: '企业标签',
align: 'center',
// width: 120,
customFn:(row)=>{
if(row.company && row.company.ranking_tag){
const tags = row.company.ranking_tag.split(',').filter(tag => tag.trim())
return (
<div>
{tags.map((item, index) => (
<div><el-tag key={index} type="success" style={{margin: '3px'}}>{item}</el-tag></div>
))}
</div>
)
}
return ''
}
},
{
prop: 'is_wx',
label: '是否绑定小程序',
@ -723,6 +749,7 @@
is_chart: this.select.is_chart !== '' && this.select.is_chart !== null ? this.select.is_chart : '',
is_rencai: this.select.is_rencai !== '' && this.select.is_rencai !== null ? this.select.is_rencai : '',
address: this.select.address || '',
ranking_tag: this.select.ranking_tag && Array.isArray(this.select.ranking_tag) ? this.select.ranking_tag.join(',') : '',
is_export: 1,
page: 1,
page_size: 99999
@ -784,8 +811,8 @@
this.select.company_type = ''
this.select.company_industry = ''
this.select.is_yh_invested = ''
this.select.ranking_tag = []
this.select.is_vip = ''
this.select.is_yh_invested = ''
this.select.courses_start_date = ''
this.select.courses_end_date = ''
this.select.is_schoolmate = ''
@ -842,7 +869,8 @@
sign_start_date: this.select.sign_start_date || '',
sign_end_date: this.select.sign_end_date || '',
is_company_market: this.select.is_company_market || '',
address: this.select.address || ''
address: this.select.address || '',
ranking_tag: this.select.ranking_tag && Array.isArray(this.select.ranking_tag) ? this.select.ranking_tag.join(',') : ''
})
this.list = res.list.data
this.total = res.list.total

@ -63,6 +63,12 @@
</el-option>
</el-select>
</div>
<div>
<el-select filterable multiple collapse-tags v-model="select.ranking_tag" placeholder="请选择企业标签" clearable style="width: 200px;">
<el-option v-for="(item,index) in formSelect.ranking_tag" :key="index" :label="item.value" :value="item.value">
</el-option>
</el-select>
</div>
<div>
<el-select v-model="select.is_chart" placeholder="课程是否统计" clearable style="width: 150px;">
<el-option label="否" :value="0"></el-option>
@ -148,7 +154,7 @@
</div>
</div>
<div>
<div v-loading="loading">
<xy-table :showIndex="false" :list="list" :total="total" @pageIndexChange="pageIndexChange" @pageSizeChange="pageSizeChange"
:table-item="table_item">
<template v-slot:company_name>
@ -209,6 +215,15 @@
</template>
</el-table-column>
</template>
<template v-slot:ranking_tag>
<el-table-column align='center' label="企业标签" width="180" header-align="center">
<template slot-scope="scope">
<div v-for="(item,index) in (scope.row.ranking_tag ? scope.row.ranking_tag.split(',').filter(tag => tag.trim()) : [])" :key="index" style="margin:3px">
<el-tag type="success">{{ item }}</el-tag>
</div>
</template>
</el-table-column>
</template>
<template v-slot:users>
<el-table-column align='center' label="学员信息" width="800" header-align="center">
<el-table-column label="学号" width="120" align="center">
@ -365,6 +380,7 @@
address: '',
is_yh_invested: '',
company_tag: '',
ranking_tag: [],
course_name: '',
user_name: '',
is_schoolmate: '',
@ -384,6 +400,7 @@
courseDateRange: [],
list: [],
total: 0,
loading: false,
statistics: {
course_signs_invested: 0,
company_invested_after_enrollment_total: 0,
@ -409,6 +426,11 @@
label: '集团标签',
align: 'center',
width: 160,
},{
prop: 'ranking_tag',
label: '企业标签',
align: 'center',
width: 160,
},{
prop: 'company_name',
label: '企业名称',
@ -493,6 +515,8 @@
},
methods: {
exportExcel() {
this.loading = true
try {
console.log('导出')
let _export = {}
this.table_item.map(item => {
@ -522,7 +546,8 @@
start_year: this.select.start_year || '',
end_year: this.select.end_year || '',
address: this.select.address || '',
filter: [{
filter: (() => {
const filter = [{
key: 'company_name',
op: 'like',
value: this.select.company_name || ''
@ -535,8 +560,26 @@
op: 'like',
value: this.select.company_tag && Array.isArray(this.select.company_tag) ? this.select.company_tag.join(',') : ''
}]
//
if (this.select.ranking_tag && Array.isArray(this.select.ranking_tag) && this.select.ranking_tag.length > 0) {
filter.push({
key: 'ranking_tag',
op: 'like',
value: this.select.ranking_tag.join(',')
})
}
return filter
})()
},
'校友企业信息.xlsx')
} catch (error) {
console.error('导出失败:', error)
this.$message.error('导出失败')
} finally {
this.loading = false
}
},
async getCompanyConfig() {
const res = await companyConfig()
@ -603,6 +646,7 @@
this.select.address = ''
this.select.is_yh_invested = ''
this.select.company_tag = ''
this.select.ranking_tag = []
this.select.course_name = ''
this.select.user_name = ''
this.select.is_schoolmate = ''
@ -647,6 +691,15 @@
value: this.select.company_tag && Array.isArray(this.select.company_tag) ? this.select.company_tag.join(',') : ''
}]
//
if (this.select.ranking_tag && Array.isArray(this.select.ranking_tag) && this.select.ranking_tag.length > 0) {
filter.push({
key: 'ranking_tag',
op: 'like',
value: this.select.ranking_tag.join(',')
})
}
//
if (this.select.company_market !== '' && this.select.company_market !== null) {
filter.push({
@ -655,7 +708,7 @@
value: this.select.company_market
})
}
this.loading = true
const res = await index({
page_size: this.select.page_size,
page: this.select.page,
@ -671,7 +724,7 @@
address: this.select.address || '',
filter: filter
})
this.loading = false
this.list = res.data
this.total = res.total
//

Loading…
Cancel
Save