提交 9ce60b65 authored 作者: matian's avatar matian

chore:企业管理开发

上级 7cd83454
......@@ -140,7 +140,7 @@ defineExpose({ refetch, tableRef })
v-bind="item"
clearable
@change="search"
style="width: 200px"
style="width: 180px"
v-if="item.type === 'input'"
/>
<!-- select -->
......@@ -150,6 +150,7 @@ defineExpose({ refetch, tableRef })
clearable
@change="search"
v-if="item.type === 'select'"
style="width: 180px"
>
<el-option
:label="option[item.labelKey] || option.label"
......
......@@ -135,39 +135,62 @@ onMounted(() => {
<AppCard>
<AppList v-bind="listOptions" ref="appList">
<template #filter-project="{ params }">
<el-select @change="handleChangeClass" clearable v-model="params.project_prefix" placeholder="项目">
<el-option v-for="item in allPrefixList" :key="item.prefix" :label="item.name" :value="item.prefix" />
</el-select>
<div style="display: block; width: 180px">
<el-select
@change="handleChangeClass"
clearable
v-model="params.project_prefix"
placeholder="项目"
style="width: 100%"
>
<el-option v-for="item in allPrefixList" :key="item.prefix" :label="item.name" :value="item.prefix" />
</el-select>
</div>
</template>
<template #filter-class="{ params }">
<el-select
@change="handleFresh"
clearable
v-model="params.class_id"
placeholder="班级"
:remote-method="handleGetClassList"
filterable
remote
>
<el-option v-for="item in classListItem.list" :key="item.id" :label="item.name" :value="item.class_id" />
</el-select>
<div style="display: block; width: 180px">
<el-select
@change="handleFresh"
clearable
v-model="params.class_id"
placeholder="班级"
:remote-method="handleGetClassList"
filterable
remote
style="width: 100%"
>
<el-option v-for="item in classListItem.list" :key="item.id" :label="item.name" :value="item.class_id" />
</el-select>
</div>
</template>
<template #filter-province>
<el-select filterable clearable v-model="provinceValue" @change="handleFresh" placeholder="省份">
<el-option v-for="item in provinceList" :value="item.label" :key="item.code"></el-option>
</el-select>
<div style="display: block; width: 180px">
<el-select
filterable
clearable
v-model="provinceValue"
@change="handleFresh"
placeholder="省份"
style="width: 100%"
>
<el-option v-for="item in provinceList" :value="item.label" :key="item.code"></el-option>
</el-select>
</div>
</template>
<template #filter-city>
<el-select
filterable
clearable
v-model="cityValue"
@change="handleFresh"
placeholder="城市"
no-data-text="请先选择省份"
>
<el-option v-for="item in cityList" :value="item.label" :key="item.code"></el-option>
</el-select>
<div style="display: block; width: 180px">
<el-select
filterable
clearable
v-model="cityValue"
@change="handleFresh"
placeholder="城市"
no-data-text="请先选择省份"
style="width: 100%"
>
<el-option v-for="item in cityList" :value="item.label" :key="item.code"></el-option>
</el-select>
</div>
</template>
<template #table-operate="{ row }">
<el-space>
......
......@@ -17,6 +17,10 @@ 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 }) {
export function getCompanyAdult(data: { id: string; status: number }) {
return httpRequest.post(`/api/hr/admin/v1/company/${data.id}/audit`, data)
}
// 启用禁用
export function getCompanyStatus(data: { id: string; status: number }) {
return httpRequest.post(`/api/hr/admin/v1/company/${data.id}/enable`, data)
}
<script setup lang="ts">
import { getCompanyList, getCompanyAdult } from '../api'
// getCompanyAdult
import { getCompanyList, getCompanyStatus } from '../api'
const router = useRouter()
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 },
......@@ -22,7 +17,7 @@ const natureList = [
const listOptions = {
remote: {
httpRequest: getCompanyList,
params: { name: '', email: '', code: '', nature: '', adultStatus: '', openStatus: '' }
params: { name: '', email: '', code: '', nature: '', status: '', audit_status: '' }
},
filters: [
{ type: 'input', prop: 'name', placeholder: '企业名称' },
......@@ -37,21 +32,21 @@ const listOptions = {
},
{
type: 'select',
prop: 'adultStatus',
prop: 'audit_status',
placeholder: '审核状态',
options: [
{ value: '0', label: '待审核' },
{ value: '1', label: '通过' },
{ value: '2', label: '不通过' }
{ value: 1, label: '审核通过' },
{ value: 2, label: '审核不通过' },
{ value: 3, label: '待审核' }
]
},
{
type: 'select',
prop: 'openStatus',
prop: 'status',
placeholder: '启用状态',
options: [
{ value: '0', label: '启用' },
{ value: '1', label: '禁用' }
{ value: 1, label: '启用' },
{ value: 2, label: '禁用' }
]
}
],
......@@ -69,19 +64,19 @@ const listOptions = {
{ label: '社会统一信用代码', prop: 'code' },
{
label: '启用状态',
prop: 'openStatus',
prop: 'status',
slots: 'status'
},
{
label: '审核状态',
prop: 'adultStatus',
prop: 'audit_status',
computed(row: any) {
if (row.status === 3) {
if (row.row.audit_status === 1) {
return '审核通过'
} else if (row.row.audit_status === 2) {
return '审核不通过'
} else if (row.row.audit_status === 3) {
return '待审核'
} else if (row.status === 4) {
return '不通过'
} else {
return '通过'
}
}
},
......@@ -94,10 +89,19 @@ const handleStatus = (row: any) => {
id: row.id,
status: row.status
}
getCompanyAdult(params).then(() => {
getCompanyStatus(params).then(() => {
appList.value.refetch()
})
}
const handleDetail = (row: any) => {
router.push({
path: '/company/view',
query: {
id: row.id,
status: row.audit_status
}
})
}
</script>
<template>
......@@ -114,13 +118,14 @@ const handleStatus = (row: any) => {
inactive-text="禁用"
inline-prompt
style="--el-switch-on-color: #aa1941"
:disabled="row.audit_status === 2 || row.audit_status === 3"
></el-switch>
</template>
<template #table-operate="{ row }">
<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-link type="primary" :disabled="row.status === 2 && row.audit_status === 3" @click="handleDetail(row)">{{
row.audit_status !== 3 ? '查看' : '审批'
}}</el-link>
</el-space>
</template>
</AppList>
......
......@@ -20,7 +20,7 @@ const natureList: any = [
const handleAdultSuccess = () => {
const params: any = {
id: route.query.id,
status: '1'
status: 1
}
getCompanyAdult(params).then(() => {
ElMessage.success('审批通过')
......@@ -31,7 +31,7 @@ const handleAdultSuccess = () => {
const handleAdultFailed = () => {
const params: any = {
id: route.query.id,
status: '4'
status: 2
}
getCompanyAdult(params).then(() => {
ElMessage.success('审批不通过')
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论