查看详情 准入部门与评审专家

This commit is contained in:
孙景学
2025-07-16 13:53:43 +08:00
parent d8fe473348
commit 47e0380be5
13 changed files with 80 additions and 59 deletions

View File

@ -0,0 +1,23 @@
import React, { useEffect, useState } from 'react';
import { Select } from 'antd';
interface options {
label: string;
value: string;
}
const AdmissionTypeSelect = () => {
const [options, setOptions] = useState<options[]>([]);
useEffect(() => {
setOptions([
{ label: '未开始', value: '0' },
{ label: '进行中', value: '1' },
{ label: '结果汇总中', value: '2' },
{ label: '已完成', value: '3' },
])
}, []);
return <Select style={{ width: 150 }} placeholder="请选择审批状态" options={options} allowClear />;
};
export default AdmissionTypeSelect;

View File

@ -0,0 +1,21 @@
import React, { useEffect, useState } from 'react';
import { Select } from 'antd';
interface options {
label: string;
value: string;
}
const AdmissionTypeSelect = () => {
const [options, setOptions] = useState<options[]>([]);
useEffect(() => {
setOptions([
{ label: '线上准入', value: 'online' },
{ label: '线下准入', value: 'offline' },
{ label: '零星采购/应急采购/个人供应商', value: 'scattered' },
])
}, []);
return <Select style={{ width: 150 }} placeholder="请选择准入方式" options={options} allowClear />;
};
export default AdmissionTypeSelect;

View File

@ -20,6 +20,7 @@ interface coscoAccessSupplierLists {
}
interface coscoAccessWorks {
deptId: string;
deptName: string;
reviewStatusText: string;
approveStatusText: string;
}
@ -46,8 +47,8 @@ const ViewModal: React.FC<{
return (
<Modal title="查看详情" visible={visible} footer={null} onCancel={onCancel}>
{data && (
<Descriptions bordered column={1}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptId}</Descriptions.Item>
<Descriptions bordered column={1} labelStyle={{ width: 160 }}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptName}</Descriptions.Item>
<Descriptions.Item label="准入供应商">
{data.coscoAccessSupplierList.map((item) => {
return (

View File

@ -7,12 +7,12 @@ import ViewModal from './components/ViewModal';
//发起准入 弹窗
import CreateModal from './components/CreateModal';
import CategorySelector from '@/components/CategorySelector';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
//接口
import { getPage, startApprove } from './services'
import { getDictList } from '@/servers/api/dicts'
//统一列表分页
import tableProps from '@/utils/tableProps'
const { Option } = Select;
interface Data {
id: string;
@ -129,11 +129,7 @@ const SupplierCategoryEntry: React.FC = () => {
<div className="filter-action-row">
<Form layout="inline" form={form} className="filter-form" onFinish={getList}>
<Form.Item name="accessType" label="准入方式">
<Select style={{ width: 150 }} placeholder="请选择准入方式" allowClear >
<Option value="online">线</Option>
<Option value="offline">线</Option>
<Option value="scattered">//</Option>
</Select>
<AdmissionTypeSelect/>
</Form.Item>
<Form.Item name="deptId" label="准入单位">
<Select style={{ width: 150 }} placeholder="请选择" allowClear>

View File

@ -20,6 +20,7 @@ interface coscoAccessSupplierLists {
}
interface coscoAccessWorks {
deptId: string;
deptName: string;
reviewStatusText: string;
approveStatusText: string;
}
@ -47,7 +48,7 @@ const ViewModal: React.FC<{
<Modal title="查看详情" visible={visible} footer={null} onCancel={onCancel}>
{data && (
<Descriptions bordered column={1}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptId}</Descriptions.Item>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptName}</Descriptions.Item>
<Descriptions.Item label="准入供应商">
{data.coscoAccessSupplierList.map((item) => {
return (

View File

@ -5,11 +5,12 @@ import type { ColumnsType, TablePaginationConfig } from 'antd/es/table';
//查看弹窗
import ViewModal from './components/ViewModal';
import CategorySelector from '@/components/CategorySelector';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
import ApprovalStatusSelec from '@/components/ApprovalStatusSelec/index';
//接口
import { getPage } from './services'
//统一列表分页
import tableProps from '@/utils/tableProps'
const { Option } = Select;
interface Data {
id: string;
@ -95,11 +96,7 @@ const SupplierCategoryEntryReview: React.FC = () => {
<div className="filter-action-row">
<Form layout="inline" form={form} className="filter-form" onFinish={getList}>
<Form.Item name="accessType" label="准入方式">
<Select style={{ width: 150 }} placeholder="请选择准入方式" allowClear >
<Option value="online">线</Option>
<Option value="offline">线</Option>
<Option value="scattered">//</Option>
</Select>
<AdmissionTypeSelect/>
</Form.Item>
<Form.Item name="deptId" label="准入单位">
<Select style={{ width: 150 }} placeholder="请选择" allowClear>
@ -109,12 +106,7 @@ const SupplierCategoryEntryReview: React.FC = () => {
<CategorySelector multiple={false} style={{ width: 150 }} />
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<Select style={{ width: 150 }} placeholder="请选择状态" allowClear>
<Option value="0"></Option>
<Option value="1"></Option>
<Option value="2"></Option>
<Option value="3"></Option>
</Select>
<ApprovalStatusSelec />
</Form.Item>
<Form.Item>

View File

@ -18,6 +18,7 @@ interface coscoAccessWorkAttachments {
}
interface coscoAccessUserl {
deptId: string;
deptName: string;
userId: string;
}
interface coscoAccessCategoryLists {
@ -30,6 +31,7 @@ interface coscoAccessSupplierLists {
}
interface coscoAccessWorks {
deptId: string;
deptName: string;
startTime: string;
endTime: string;
reviewStatusText: string;
@ -60,8 +62,8 @@ const ViewModal: React.FC<{
return (
<Modal title="查看详情" visible={visible} footer={null} onCancel={onCancel}>
{data && (
<Descriptions bordered column={1}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptId}</Descriptions.Item>
<Descriptions bordered column={1} labelStyle={{ width: 160 }}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptName}</Descriptions.Item>
<Descriptions.Item label="准入供应商">
{data.coscoAccessSupplierList.map((item) => {
return (
@ -99,7 +101,7 @@ const ViewModal: React.FC<{
<Descriptions.Item label="评审专家">
{data.coscoAccessUserls.map((item) => {
return (
<div style={{ margin: '5px' }}>{item.deptId} - {item.userId}</div>
<div style={{ margin: '5px' }}>{item.deptName} - {item.userId}</div>
)
})}
</Descriptions.Item>

View File

@ -8,10 +8,10 @@ import { getDictList } from '@/servers/api/dicts'
//组件
import AccessDepartmentSelect from '@/components/AccessDepartmentSelect';
import ViewModal from './components/ViewModal';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
//统一列表分页
import tableProps from '@/utils/tableProps'
const { Option } = Select;
interface SupplierEntryReviewRecord {
id: string;
accessWorkName: string; // 准入工作
@ -206,11 +206,7 @@ const SupplierEntryReview: React.FC = () => {
onFinish={handleSearch}
>
<Form.Item name="accessType" label="准入方式">
<Select style={{ width: 150 }} placeholder="请选择准入方式" allowClear >
<Option value="online">线</Option>
<Option value="offline">线</Option>
<Option value="scattered">//</Option>
</Select>
<AdmissionTypeSelect/>
</Form.Item>
<Form.Item name="deptId" label="准入部门">
<AccessDepartmentSelect />

View File

@ -17,6 +17,7 @@ interface coscoAccessWorkAttachments {
fileUrl: string;
}
interface coscoAccessUserl {
deptName: string;
deptId: string;
userId: string;
}
@ -30,6 +31,7 @@ interface coscoAccessSupplierLists {
}
interface coscoAccessWorks {
deptId: string;
deptName: string;
startTime: string;
endTime: string;
reviewStatusText: string;
@ -60,8 +62,8 @@ const ViewModal: React.FC<{
return (
<Modal title="查看详情" visible={visible} footer={null} onCancel={onCancel}>
{data && (
<Descriptions bordered column={1}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptId}</Descriptions.Item>
<Descriptions bordered column={1} labelStyle={{ width: 160 }}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptName}</Descriptions.Item>
<Descriptions.Item label="准入供应商">
{data.coscoAccessSupplierList.map((item) => {
return (
@ -99,7 +101,7 @@ const ViewModal: React.FC<{
<Descriptions.Item label="评审专家">
{data.coscoAccessUserls.map((item) => {
return (
<div style={{ margin: '5px' }}>{item.deptId} - {item.userId}</div>
<div style={{ margin: '5px' }}>{item.deptName} - {item.userId}</div>
)
})}
</Descriptions.Item>

View File

@ -9,6 +9,8 @@ import ResultModal from './components/ResultModal';
//发起准入 弹窗
import CreateModal from './components/CreateModal';
import CategorySelector from '@/components/CategorySelector';
import AdmissionTypeSelect from '@/components/CommonSelect/AdmissionTypeSelect';
import ApprovalStatusSelec from '@/components/ApprovalStatusSelec/index';
//接口
import { getPage, startApprove } from './services'
//统一列表分页
@ -137,11 +139,7 @@ const AccessManagement: React.FC = () => {
<div className="filter-action-row">
<Form layout="inline" form={form} className="filter-form" onFinish={getList}>
<Form.Item name="accessType" label="准入方式">
<Select style={{ width: 150 }} placeholder="请选择准入方式" allowClear >
<Option value="online">线</Option>
<Option value="offline">线</Option>
<Option value="scattered">//</Option>
</Select>
<AdmissionTypeSelect />
</Form.Item>
<Form.Item name="deptId" label="准入单位">
<Select style={{ width: 150 }} placeholder="请选择" allowClear>
@ -151,12 +149,7 @@ const AccessManagement: React.FC = () => {
<CategorySelector multiple={false} style={{ width: 150 }} />
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<Select style={{ width: 150 }} placeholder="请选择审批状态" allowClear>
<Option value="0"></Option>
<Option value="1"></Option>
<Option value="2"></Option>
<Option value="3"></Option>
</Select>
<ApprovalStatusSelec />
</Form.Item>
<Form.Item>

View File

@ -18,6 +18,7 @@ interface coscoAccessWorkAttachments {
}
interface coscoAccessUserl {
deptId: string;
deptName: string;
userId: string;
}
interface coscoAccessCategoryLists {
@ -30,6 +31,7 @@ interface coscoAccessSupplierLists {
}
interface coscoAccessWorks {
deptId: string;
deptName: string;
startTime: string;
endTime: string;
reviewStatusText: string;
@ -60,8 +62,8 @@ const ViewModal: React.FC<{
return (
<Modal title="查看详情" visible={visible} footer={null} onCancel={onCancel}>
{data && (
<Descriptions bordered column={1}>
<Descriptions.Item label="准入部门">{data.coscoAccessWork.deptId}</Descriptions.Item>
<Descriptions bordered column={1} labelStyle={{ width: 160 }}>
<Descriptions.Item label="准入部门" >{data.coscoAccessWork.deptName}</Descriptions.Item>
<Descriptions.Item label="准入供应商">
{data.coscoAccessSupplierList.map((item) => {
return (
@ -99,7 +101,7 @@ const ViewModal: React.FC<{
<Descriptions.Item label="评审专家">
{data.coscoAccessUserls.map((item) => {
return (
<div style={{ margin: '5px' }}>{item.deptId} - {item.userId}</div>
<div style={{ margin: '5px' }}>{item.deptName} - {item.userId}</div>
)
})}
</Descriptions.Item>

View File

@ -7,6 +7,7 @@ import type { ColumnsType, TablePaginationConfig } from 'antd/es/table';
// 弹窗组件
import CategoryAddModal from './components/CategoryAddModal';
import ViewModal from './components/ViewModal';
import ApprovalStatusSelec from '@/components/ApprovalStatusSelec/index';
//接口与字典
import { getDictList } from '@/servers/api/dicts'
import { getPage, approval } from './services';
@ -212,12 +213,7 @@ const CategoryLibraryManage: React.FC = () => {
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<Select style={{ width: 150 }} placeholder="请选择状态" allowClear>
<Option value="0"></Option>
<Option value="1"></Option>
<Option value="2"></Option>
<Option value="3"></Option>
</Select>
<ApprovalStatusSelec />
</Form.Item>
<Form.Item>

View File

@ -8,6 +8,7 @@ import type { ColumnsType, TablePaginationConfig } from 'antd/es/table';
import CategoryAddModal from './components/CategoryAddModal';
import ViewModal from './components/ViewModal';
import moment from 'moment';
import ApprovalStatusSelec from '@/components/ApprovalStatusSelec/index';
//接口
import { getPage, approval } from './services';
//统一列表分页
@ -199,12 +200,7 @@ const CategoryLibraryManage: React.FC = () => {
</Form.Item>
<Form.Item name="approveStatus" label="审批状态">
<Select style={{ width: 150 }} placeholder="请选择状态" allowClear>
<Option value="0"></Option>
<Option value="1"></Option>
<Option value="2"></Option>
<Option value="3"></Option>
</Select>
<ApprovalStatusSelec />
</Form.Item>
<Form.Item>