From 0258d29d07db938131807358264a46229423e5e2 Mon Sep 17 00:00:00 2001
From: lion <120344285@qq.com>
Date: Mon, 26 Jan 2026 15:23:00 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=A4=8D=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/mixin/formMixin.js | 3 +-
src/views/dashboard/index.vue | 2 +-
src/views/student/components/addCompany.vue | 29 +++-
src/views/student/index.vue | 32 ++++-
src/views/student/schoolmateCompany.vue | 145 +++++++++++++-------
5 files changed, 158 insertions(+), 53 deletions(-)
diff --git a/src/mixin/formMixin.js b/src/mixin/formMixin.js
index 47687c2..e9632cb 100644
--- a/src/mixin/formMixin.js
+++ b/src/mixin/formMixin.js
@@ -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({
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 41e366a..b78586e 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -42,7 +42,7 @@
校友总数
- 校友包含:初创班、高研班、攀峰班
+
diff --git a/src/views/student/components/addCompany.vue b/src/views/student/components/addCompany.vue
index 6164fb7..29aa368 100644
--- a/src/views/student/components/addCompany.vue
+++ b/src/views/student/components/addCompany.vue
@@ -46,16 +46,31 @@
+
+
+
+ 企业标签:
+
+
+
+
+
+
+
+
+
@@ -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: '',
diff --git a/src/views/student/index.vue b/src/views/student/index.vue
index 0d9840e..3c071f8 100644
--- a/src/views/student/index.vue
+++ b/src/views/student/index.vue
@@ -75,6 +75,12 @@
+
+
+
+
+
+
{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 (
+
+ {tags.map((item, index) => (
+
{item}
+ ))}
+
+ )
+ }
+ 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
diff --git a/src/views/student/schoolmateCompany.vue b/src/views/student/schoolmateCompany.vue
index 07686a7..fd992d6 100644
--- a/src/views/student/schoolmateCompany.vue
+++ b/src/views/student/schoolmateCompany.vue
@@ -63,6 +63,12 @@
+
+
+
+
+
+
@@ -148,7 +154,7 @@
-
+
@@ -209,6 +215,15 @@
+
+
+
+
+ {{ item }}
+
+
+
+
@@ -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,50 +515,71 @@
},
methods: {
exportExcel() {
- console.log('导出')
- let _export = {}
- this.table_item.map(item => {
- if (item.type === 'index') {
- } else {
- if(item.prop === 'is_yh_invested'){
- _export['is_yh_invested_text'] = '集团标签'
- }else{
- _export[item.prop] = item.label
+ this.loading = true
+ try {
+ console.log('导出')
+ let _export = {}
+ this.table_item.map(item => {
+ if (item.type === 'index') {
+ } else {
+ if(item.prop === 'is_yh_invested'){
+ _export['is_yh_invested_text'] = '集团标签'
+ }else{
+ _export[item.prop] = item.label
+ }
}
- }
- })
- download(
- '/api/admin/company/index',
- 'get', {
- export_fields: _export,
- page_size: 9999,
- page: 1,
- is_export:1,
- course_name: this.select.course_name || '',
- user_name: this.select.user_name || '',
- is_schoolmate: this.select.is_schoolmate !== '' && this.select.is_schoolmate !== null ? this.select.is_schoolmate : '',
- course_type_id: this.select.course_type_id || '',
- course_start_date: this.select.course_start_date || '',
- course_end_date: this.select.course_end_date || '',
- is_chart: this.select.is_chart !== '' && this.select.is_chart !== null ? this.select.is_chart : '',
- start_year: this.select.start_year || '',
- end_year: this.select.end_year || '',
- address: this.select.address || '',
- filter: [{
- key: 'company_name',
- op: 'like',
- value: this.select.company_name || ''
- },{
- key: 'is_yh_invested',
- op: 'like',
- value: this.select.is_yh_invested && this.select.is_yh_invested !== null ? this.select.is_yh_invested : ''
- },{
- key: 'company_tag',
- op: 'like',
- value: this.select.company_tag && Array.isArray(this.select.company_tag) ? this.select.company_tag.join(',') : ''
- }]
- },
- '校友企业信息.xlsx')
+ })
+ download(
+ '/api/admin/company/index',
+ 'get', {
+ export_fields: _export,
+ page_size: 9999,
+ page: 1,
+ is_export:1,
+ course_name: this.select.course_name || '',
+ user_name: this.select.user_name || '',
+ is_schoolmate: this.select.is_schoolmate !== '' && this.select.is_schoolmate !== null ? this.select.is_schoolmate : '',
+ course_type_id: this.select.course_type_id || '',
+ course_start_date: this.select.course_start_date || '',
+ course_end_date: this.select.course_end_date || '',
+ is_chart: this.select.is_chart !== '' && this.select.is_chart !== null ? this.select.is_chart : '',
+ start_year: this.select.start_year || '',
+ end_year: this.select.end_year || '',
+ address: this.select.address || '',
+ filter: (() => {
+ const filter = [{
+ key: 'company_name',
+ op: 'like',
+ value: this.select.company_name || ''
+ },{
+ key: 'is_yh_invested',
+ op: 'like',
+ value: this.select.is_yh_invested && this.select.is_yh_invested !== null ? this.select.is_yh_invested : ''
+ },{
+ key: 'company_tag',
+ 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
// 保存统计数据