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

chore:企业管理开发

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