提交 f47aa841 authored 作者: matian's avatar matian

增加筛选条件

上级 61793f80
import httpRequest from '@/utils/axios'
// 获取视频列表
export function getVideoList(params?: { type?: string; page?: number; page_size?: number }) {
return httpRequest.get('/api/psp/backend/video/index', { params })
// 获取企业列表
export function getCompanyList(params?: {
name?: string
email?: string
code?: string
nature?: string
status?: string
page?: number
limit?: number
}) {
return httpRequest.get('/api/hr/admin/v1/companies', { params })
}
// 获取企业详情
export function getCompanyDetails(params: { id: string }) {
return httpRequest.get(`/api/hr/admin/v1/company/${params.id}`, { params })
}
// 企业审核
export function getCompanyAdult(data: { id: string; status: string }) {
return httpRequest.post(`/api/hr/admin/v1/company/${data.id}/audit`, data)
}
<script setup lang="ts">
// import { getVideoList } from '../api'
import { getCompanyList, getCompanyAdult } from '../api'
// getCompanyAdult
const appList = ref()
// const statusMap = [
// { label: '启用', value: 1 },
// { label: '禁用', value: 2 },
// { label: '待审批', value: 3 },
// { label: '审批不通过', value: 4 }
// ]
const natureList = [
{ label: '国有企业', value: 1 },
{ label: '集体企业', value: 2 },
{ label: '联营企业', value: 3 },
{ label: '股份合作制企业', value: 4 },
{ label: '私营企业', value: 5 },
{ label: '个体户', value: 6 },
{ label: '合伙企业', value: 7 },
{ label: '有限责任公司', value: 8 },
{ label: '股份有限公司营业性质', value: 9 }
]
const listOptions = {
remote: {
// httpRequest: getVideoList,
params: { status: '' }
httpRequest: getCompanyList,
params: { name: '', email: '', code: '', nature: '', adultStatus: '', openStatus: '' }
},
filters: [
{ type: 'input', prop: 'name', placeholder: '企业名称' },
{ type: 'input', prop: 'email', placeholder: '企业邮箱' },
{ type: 'input', prop: 'code', placeholder: '社会统一信用代码' },
{
type: 'select',
prop: 'nature',
placeholder: '公司运营性质',
options: natureList
},
{
type: 'select',
prop: 'adultStatus',
placeholder: '审核状态',
options: [
{ value: '0', label: '待审核' },
{ value: '1', label: '通过' },
{ value: '2', label: '不通过' }
]
},
{
type: 'select',
prop: 'openStatus',
placeholder: '启用状态',
options: [
{ label: '国有企业', value: '1' },
{ label: '集体企业', value: '2' },
{ label: '联营企业', value: '3' },
{ label: '股份合作制企业', value: '4' },
{ label: '私营企业', value: '5' },
{ label: '个体户', value: '6' },
{ label: '合伙企业', value: '7' },
{ label: '有限责任公司', value: '8' },
{ label: '股份有限公司营业性质', value: '9' }
{ value: '0', label: '启用' },
{ value: '1', label: '禁用' }
]
}
],
......@@ -33,36 +59,44 @@ const listOptions = {
{ label: '编号', prop: 'id' },
{ label: '企业名称', prop: 'name' },
{ label: '企业邮箱', prop: 'email' },
{ label: '公司运营性质', prop: 'nature' },
{
label: '公司运营性质',
prop: 'nature',
computed(row: any) {
return natureList.filter(item => item.value === row.row.nature)[0]?.label
}
},
{ label: '社会统一信用代码', prop: 'code' },
{ label: '状态', prop: 'status', slots: 'status' },
{ label: '操作', slots: 'table-operate', width: 230, align: 'center' }
],
data: [
{
id: '111',
name: '紫荆',
email: '1213@ezijing.com',
code: '121234353454',
nature: '有限责任公司',
status: '3',
business_licence:
'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F1229%252Ff8dff185j00r4v73k0013d200rj00k1g00rj00k1.jpg%26thumbnail%3D650x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1657875458&t=451e10e7f8dacef65ff5b2a33229927b'
label: '启用状态',
prop: 'openStatus',
slots: 'status'
},
{
id: '222',
name: '紫荆',
email: '1213@ezijing.com',
code: '121234353454',
nature: '有限责任公司',
status: '3',
business_licence:
'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F1229%252Ff8dff185j00r4v73k0013d200rj00k1g00rj00k1.jpg%26thumbnail%3D650x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1657875458&t=451e10e7f8dacef65ff5b2a33229927b'
}
label: '审核状态',
prop: 'adultStatus',
computed(row: any) {
if (row.status === 3) {
return '待审核'
} else if (row.status === 4) {
return '不通过'
} else {
return '通过'
}
}
},
{ label: '操作', slots: 'table-operate', width: 230, align: 'center' }
]
}
// 修改启用状态,刷新列表
const handleStatus = (row: any) => {
console.log(row)
const params: any = {
id: row.id,
status: row.status
}
getCompanyAdult(params).then(() => {
appList.value.refetch()
})
}
</script>
......@@ -71,26 +105,21 @@ const handleStatus = (row: any) => {
<AppList v-bind="listOptions" ref="appList">
<template v-slot:status="{ row }">
<el-switch
v-if="row.status === '1' || row.status === '2'"
size="large"
v-model="row.status"
active-value="1"
inactive-value="2"
:active-value="1"
:inactive-value="2"
@change="handleStatus(row)"
active-text="启用"
inactive-text="禁用"
inline-prompt
style="--el-switch-on-color: #aa1941"
></el-switch>
<div v-else-if="row.status === '3'">待审核</div>
<div v-else-if="row.status === '4'">审核不通过</div>
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/company/view?id=${row.id}`">
<el-link type="primary">查看</el-link>
</router-link>
<router-link :to="`/company/view?id=${row.id}&isAdult=1`">
<el-link type="primary">审批</el-link>
<router-link :to="`/company/view?id=${row.id}&status=${row.status}`">
<el-link type="primary">{{ row.status !== 3 ? '查看' : '审批' }}</el-link>
</router-link>
</el-space>
</template>
......
<script setup lang="ts">
import { ElMessage } from 'element-plus'
import { getCompanyDetails, getCompanyAdult } from '../api'
const route = useRoute()
const router = useRouter()
const detailList: any = ref({})
const natureList: any = [
{ label: '国有企业', value: 1 },
{ label: '集体企业', value: 2 },
{ label: '联营企业', value: 3 },
{ label: '股份合作制企业', value: 4 },
{ label: '私营企业', value: 5 },
{ label: '个体户', value: 6 },
{ label: '合伙企业', value: 7 },
{ label: '有限责任公司', value: 8 },
{ label: '股份有限公司营业性质', value: 9 }
]
//审核通过
const handleAdultSuccess = () => {
console.log('审核通过')
router.push('/company')
const params: any = {
id: route.query.id,
status: '1'
}
getCompanyAdult(params).then(() => {
ElMessage.success('审批通过')
router.push('/company')
})
}
//审核不通过
const handleAdultFailed = () => {
console.log('审核不通过')
router.push('/company')
const params: any = {
id: route.query.id,
status: '4'
}
getCompanyAdult(params).then(() => {
ElMessage.success('审批不通过')
router.push('/company')
})
}
const detailList = reactive({
name: '紫荆',
email: '1213@ezijing.com',
code: '121234353454',
nature: '有限责任公司',
business_licence:
'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F1229%252Ff8dff185j00r4v73k0013d200rj00k1g00rj00k1.jpg%26thumbnail%3D650x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1657875458&t=451e10e7f8dacef65ff5b2a33229927b',
logo: 'https://zws-imgs-pub.ezijing.com/static/public/0411340f9306b908eda54b5d66668f50.png',
desc: '紫荆教育全称是清控紫荆(北京)教育科技股份有限公司,是清华控股有限公司2015年以清华大学五道口金融学院教研成果为基础发起设立。“紫荆”二字取自清华大学校花“紫荆花”,寓意“自强不息,向美而行”。'
const handleDetail = () => {
const params: any = {
id: route.query.id
}
getCompanyDetails(params).then((res: any) => {
detailList.value = res.data.detail
})
}
onMounted(() => {
handleDetail()
})
</script>
<template>
<AppCard title="公司详情">
<el-descriptions :column="2" border>
<el-descriptions-item label="公司名称:">{{ detailList.name }}</el-descriptions-item>
<el-descriptions-item label="企业邮箱:" align="left">{{ detailList.email }}</el-descriptions-item>
<el-descriptions-item label="社会统一信用代码:">{{ detailList.code }}</el-descriptions-item>
<el-descriptions-item label="公司名称:">{{ detailList?.name }}</el-descriptions-item>
<el-descriptions-item label="企业邮箱:" align="left">{{ detailList?.email }}</el-descriptions-item>
<el-descriptions-item label="社会统一信用代码:">{{ detailList?.code }}</el-descriptions-item>
<el-descriptions-item label="公司运营性质:" align="left">
{{ detailList.nature }}
{{ natureList.filter((item:any) => item.value === detailList?.nature)[0]?.label }}
</el-descriptions-item>
<el-descriptions-item label="营业执照附件:">
<el-image :src="detailList.business_licence" style="width: 300px"></el-image>
<el-image :src="detailList?.business_licence" style="width: 300px"></el-image>
</el-descriptions-item>
<el-descriptions-item label="公司Logo:" class="logo_class">
<el-image :src="detailList.logo" style="width: 300px"></el-image>
<el-image :src="detailList?.logo" style="width: 300px"></el-image>
</el-descriptions-item>
<el-descriptions-item label="公司介绍:" :span="1">
<div class="project_intro">
{{ detailList.desc }}
{{ detailList?.desc }}
</div>
</el-descriptions-item>
</el-descriptions>
<el-row justify="end" v-if="route.query.isAdult === '1'">
<el-row justify="end" v-if="route.query.status === '3'" style="margin-top: 20px">
<el-button type="primary" @click="handleAdultSuccess">审批通过</el-button>
<el-button type="warning" @click="handleAdultFailed"> 审批不通过</el-button>
</el-row>
......
......@@ -6,14 +6,14 @@ const appList = ref()
const listOptions = {
remote: {
// httpRequest: getVideoList,
params: { type: '' }
params: { type: '', adultStatus: '', openStatus: '' }
},
filters: [
{ type: 'input', prop: 'company_name', placeholder: '企业名称' },
{ type: 'input', prop: 'company_name', placeholder: '企业邮箱' },
{ type: 'input', prop: 'email', placeholder: '企业邮箱' },
{
type: 'select',
prop: 'company_name',
prop: 'education',
placeholder: '学历要求',
options: [
{ label: '高中或以下', value: '1' },
......@@ -23,11 +23,11 @@ const listOptions = {
{ label: '博士', value: '5' }
]
},
{ type: 'input', prop: 'company_name', placeholder: '工作地点' },
{ type: 'input', prop: 'company_name', placeholder: '岗位名称' },
{ type: 'input', prop: 'workplace', placeholder: '工作地点' },
{ type: 'input', prop: 'name', placeholder: '岗位名称' },
{
type: 'select',
prop: 'company_name',
prop: 'type',
placeholder: '岗位类型',
options: [
{ label: '管理类', value: '1' },
......@@ -36,6 +36,25 @@ const listOptions = {
{ label: '营销类', value: '4' },
{ label: '操作类', value: '5' }
]
},
{
type: 'select',
prop: 'adultStatus',
placeholder: '审核状态',
options: [
{ value: '0', label: '待审核' },
{ value: '1', label: '通过' },
{ value: '2', label: '不通过' }
]
},
{
type: 'select',
prop: 'openStatus',
placeholder: '启用状态',
options: [
{ value: '0', label: '启用' },
{ value: '1', label: '禁用' }
]
}
],
columns: [
......@@ -53,7 +72,24 @@ const listOptions = {
},
{ label: '企业名称', prop: 'company_name' },
{ label: '企业邮箱', prop: 'email' },
{ label: '状态', prop: 'status', slots: 'status' },
{
label: '启用状态',
prop: 'openStatus',
slots: 'status'
},
{
label: '审核状态',
prop: 'adultStatus',
computed(row: any) {
if (row.status === 3) {
return '待审核'
} else if (row.status === 4) {
return '不通过'
} else {
return '通过'
}
}
},
{ label: '操作', slots: 'table-operate', width: 230, align: 'center' }
],
data: [{ id: '111', name: '岗位名称', salary_min: '1000', salary_max: '2000' }]
......@@ -68,29 +104,22 @@ const handleStatus = (row: any) => {
<AppList v-bind="listOptions" ref="appList">
<template v-slot:status="{ row }">
<el-switch
v-if="row.status === '1' || row.status === '2'"
size="large"
v-model="row.status"
active-value="1"
inactive-value="2"
:active-value="1"
:inactive-value="2"
@change="handleStatus(row)"
active-text="启用"
inactive-text="禁用"
inline-prompt
style="--el-switch-on-color: #aa1941"
></el-switch>
<div v-else-if="row.status === '3'">待审核</div>
<div v-else-if="row.status === '4'">审核不通过</div>
</template>
<template #table-operate="{ row }">
<el-space>
<el-space>
<router-link :to="`/job/view?id=${row.id}`">
<el-link type="primary">查看</el-link>
</router-link>
<router-link :to="`/job/view?id=${row.id}&isAdult=1`">
<el-link type="primary">审批</el-link>
</router-link>
</el-space>
<router-link :to="`/company/view?id=${row.id}&status=${row.status}`">
<el-link type="primary">{{ row.status !== 3 ? '查看' : '审批' }}</el-link>
</router-link>
</el-space>
</template>
</AppList>
......
......@@ -42,7 +42,7 @@ const detailList = reactive({
<div class="project_intro">{{ detailList.desc }}</div></el-descriptions-item
>
</el-descriptions>
<el-row justify="end" v-if="route.query.isAdult === '1'">
<el-row justify="end" v-if="route.query.status === '3'">
<el-button type="primary" @click="handleAdultSuccess">审批通过</el-button>
<el-button type="warning" @click="handleAdultFailed"> 审批不通过</el-button>
</el-row>
......
......@@ -19,6 +19,25 @@ const listOptions = {
{ label: '创新项目', value: '2' },
{ label: '招聘项目', value: '3' }
]
},
{
type: 'select',
prop: 'adultStatus',
placeholder: '审核状态',
options: [
{ value: '0', label: '待审核' },
{ value: '1', label: '通过' },
{ value: '2', label: '不通过' }
]
},
{
type: 'select',
prop: 'openStatus',
placeholder: '启用状态',
options: [
{ value: '0', label: '启用' },
{ value: '1', label: '禁用' }
]
}
],
columns: [
......@@ -29,18 +48,43 @@ const listOptions = {
{ label: '结束时间', prop: 'end_time', align: 'center' },
{ label: '联系人', prop: 'contact', align: 'center' },
{ label: '项目所属公司 ', prop: 'company_name', align: 'center' }, // 待修改
{ label: '状态', prop: 'status', slots: 'status', align: 'center' },
{
label: '启用状态',
prop: 'openStatus',
slots: 'status'
},
{
label: '审核状态',
prop: 'adultStatus',
computed(row: any) {
if (row.status === 3) {
return '待审核'
} else if (row.status === 4) {
return '不通过'
} else {
return '通过'
}
}
},
{ label: '操作', slots: 'table-operate', width: 230, align: 'center' }
],
data: [
{
status: '1',
status: 1,
id: '11'
}
]
}
// 修改启用状态,刷新列表
const handleStatus = (row: any) => {
console.log(row)
// const params: any = {
// id: row.id,
// status: row.status
// }
// getCompanyAdult(params).then(() => {
// appList.value.refetch()
// })
}
</script>
......@@ -49,26 +93,21 @@ const handleStatus = (row: any) => {
<AppList v-bind="listOptions" ref="appList">
<template v-slot:status="{ row }">
<el-switch
v-if="row.status === '1' || row.status === '2'"
size="large"
v-model="row.status"
active-value="1"
inactive-value="2"
:active-value="1"
:inactive-value="2"
@change="handleStatus(row)"
active-text="启用"
inactive-text="禁用"
inline-prompt
style="--el-switch-on-color: #aa1941"
></el-switch>
<div v-else-if="row.status === '3'">待审核</div>
<div v-else-if="row.status === '4'">审核不通过</div>
</template>
<template #table-operate="{ row }">
<el-space>
<router-link :to="`/project/view?id=${row.id}`">
<el-link type="primary">查看</el-link>
</router-link>
<router-link :to="`/project/view?id=${row.id}&isAdult=1`">
<el-link type="primary">审批</el-link>
<router-link :to="`/company/view?id=${row.id}&status=${row.status}`">
<el-link type="primary">{{ row.status !== 3 ? '查看' : '审批' }}</el-link>
</router-link>
</el-space>
</template>
......
......@@ -70,7 +70,7 @@ const detailList = reactive({
</div>
</a>
</div>
<el-row justify="end" v-if="route.query.isAdult === '1'">
<el-row justify="end" v-if="route.query.status === '3'">
<el-button type="primary" @click="handleAdultSuccess">审批通过</el-button>
<el-button type="warning" @click="handleAdultFailed"> 审批不通过</el-button>
</el-row>
......
......@@ -44,6 +44,10 @@ httpRequest.interceptors.response.use(
ElMessage.error(data.message || data.msg)
return Promise.reject(data)
}
if (data.code === 4009) {
ElMessage.error(data.message || data.msg)
return Promise.reject(data)
}
return data
},
function (error) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论