路由多语言维护, 优化layoutHeader组件样式,供应商评价-打分详情更改bug
This commit is contained in:
@ -194,6 +194,7 @@ export default [
|
||||
hideInMenu: true,
|
||||
icon: 'icon-fenlei',
|
||||
component: '@/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManageAdd',
|
||||
parentKeys: ['/supplierAnnual/supplierAnnualTemplateManage'],
|
||||
},
|
||||
{
|
||||
name: '年审模板管理详情',
|
||||
@ -201,6 +202,7 @@ export default [
|
||||
hideInMenu: true,
|
||||
icon: 'icon-fenlei',
|
||||
component: '@/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManageDetail',
|
||||
parentKeys: ['/supplierAnnual/supplierAnnualTemplateManage'],
|
||||
},
|
||||
{
|
||||
name: '年审任务管理',
|
||||
@ -214,6 +216,7 @@ export default [
|
||||
hideInMenu: true,
|
||||
icon: 'icon-liebiaomoshi',
|
||||
component: '@/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManageAdd',
|
||||
parentKeys: ['/supplierAnnual/supplierAnnualTaskManage'],
|
||||
},
|
||||
{
|
||||
name: '年审任务管理详情',
|
||||
@ -221,6 +224,7 @@ export default [
|
||||
hideInMenu: true,
|
||||
icon: 'icon-liebiaomoshi',
|
||||
component: '@/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManageDetail',
|
||||
parentKeys: ['/supplierAnnual/supplierAnnualTaskManage'],
|
||||
},
|
||||
{
|
||||
name: '年度审查',
|
||||
@ -241,7 +245,7 @@ export default [
|
||||
path: 'supplierAnnualScoreDetail',
|
||||
hideInMenu: true,
|
||||
icon: 'icon-liebiaomoshi',
|
||||
parentKeys: ['/supplierAnnual/supplierAnnualScore'],
|
||||
parentKeys: ['/supplierAnnual/supplierAnnualReview'],
|
||||
component: '@/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualScoreDetail',
|
||||
},
|
||||
|
||||
|
@ -5,7 +5,7 @@ import LogoImg from '@/assets/img/logo.png';
|
||||
import Language from './Language';
|
||||
import User from './User';
|
||||
import './layout.less';
|
||||
const HeaderComponent: React.FC = (props) => {
|
||||
const HeaderComponent: React.FC = () => {
|
||||
return (
|
||||
<div className="headerComponent">
|
||||
<img className="logo" src={LogoImg} alt="logo" />
|
||||
|
@ -7,6 +7,7 @@
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 15px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
.logo {
|
||||
height: 45px;
|
||||
}
|
||||
|
@ -9,7 +9,9 @@ export default {
|
||||
'menu.评价规则管理': 'Evaluation Rule Management',
|
||||
'menu.任务管理': 'Task Management',
|
||||
'menu.任务管理新增': 'Add Task',
|
||||
'menu.任务管理详情': 'Task Detail',
|
||||
'menu.评价打分': 'Evaluation Scoring',
|
||||
'menu.评价打分详情': 'Evaluation Scoring Detail',
|
||||
'menu.评价结果': 'Evaluation Results',
|
||||
'menu.评价结果详情': 'Evaluation Results Detail',
|
||||
'menu.评价结果得分明细': 'Evaluation Score Details',
|
||||
@ -28,9 +30,18 @@ export default {
|
||||
// 供应商年审模块
|
||||
'menu.供应商年审': 'Supplier Annual Review',
|
||||
'menu.年审模板管理': 'Annual Review Template Management',
|
||||
'menu.年审模板管理新增': 'Add Annual Review Template',
|
||||
'menu.年审模板管理详情': 'Annual Review Template Detail',
|
||||
'menu.年审任务管理': 'Annual Review Task Management',
|
||||
'menu.年审任务管理新增': 'Add Annual Review Task',
|
||||
'menu.年审任务管理详情': 'Annual Review Task Detail',
|
||||
'menu.年度查询': 'Annual Query',
|
||||
'menu.年审打分': 'Annual Review Scoring',
|
||||
'menu.年审打分详情': 'Annual Review Scoring Detail',
|
||||
'menu.年审结果': 'Annual Review Results',
|
||||
'menu.年审结果一级查询列表': 'Annual Review Results Primary Query',
|
||||
'menu.年审结果二级查询列表': 'Annual Review Results Secondary Query',
|
||||
'menu.年审结果详情': 'Annual Review Results Detail',
|
||||
|
||||
//供应商
|
||||
'menu.admit': 'admit',
|
||||
@ -44,16 +55,16 @@ export default {
|
||||
'menu.registrationQuery': 'Registered supplier inquiry',
|
||||
'menu.groupQualifiedSupplierQuery': 'Group Qualified Supplier Query',
|
||||
'menu.mySupplierInquiry': 'My supplier inquiry',
|
||||
'menu.admission': '供应商准入',
|
||||
'menu.admissionManagement': '供应商准入管理',
|
||||
'menu.admissionReviewManagement': '供应商准入评审管理',
|
||||
'menu.SupplierEntryReview': '供应商准入审核管理',
|
||||
'menu.SupplierCategoryEntry': '供应商品类准入管理',
|
||||
'menu.SupplierCategoryEntryReview': '供应商品类准入审核管理',
|
||||
'menu.informationManagement': '供应商信息管理',
|
||||
'menu.SupplierRegisterAgent': '供应商注册代录',
|
||||
'menu.SupplierChangeManage': '供应商变更管理',
|
||||
'menu.SupplierChangeReviewManage': '供应商变更审核管理',
|
||||
'menu.admission': 'Supplier Admission',
|
||||
'menu.admissionManagement': 'Supplier Admission Management',
|
||||
'menu.admissionReviewManagement': 'Supplier Admission Review',
|
||||
'menu.SupplierEntryReview': 'Supplier Entry Review',
|
||||
'menu.SupplierCategoryEntry': 'Supplier Category Entry',
|
||||
'menu.SupplierCategoryEntryReview': 'Supplier Category Entry Review',
|
||||
'menu.informationManagement': 'Supplier Information Management',
|
||||
'menu.SupplierRegisterAgent': 'Supplier Registration Agency',
|
||||
'menu.SupplierChangeManage': 'Supplier Change Management',
|
||||
'menu.SupplierChangeReviewManage': 'Supplier Change Review',
|
||||
'menu.category': 'Supplier Category Library',
|
||||
'menu.categoryManage': 'Category Management',
|
||||
'menu.categoryLibraryManage': 'Category Library Management',
|
||||
|
@ -9,7 +9,9 @@ export default {
|
||||
'menu.评价规则管理': '评价规则管理',
|
||||
'menu.任务管理': '任务管理',
|
||||
'menu.任务管理新增': '任务管理新增',
|
||||
'menu.任务管理详情': '任务管理详情',
|
||||
'menu.评价打分': '评价打分',
|
||||
'menu.评价打分详情': '评价打分详情',
|
||||
'menu.评价结果': '评价结果',
|
||||
'menu.评价结果详情': '评价结果详情',
|
||||
'menu.评价结果得分明细': '评价结果得分明细',
|
||||
@ -27,9 +29,18 @@ export default {
|
||||
// 供应商年审模块
|
||||
'menu.供应商年审': '供应商年审',
|
||||
'menu.年审模板管理': '年审模板管理',
|
||||
'menu.年审模板管理新增': '年审模板管理新增',
|
||||
'menu.年审模板管理详情': '年审模板管理详情',
|
||||
'menu.年审任务管理': '年审任务管理',
|
||||
'menu.年审任务管理新增': '年审任务管理新增',
|
||||
'menu.年审任务管理详情': '年审任务管理详情',
|
||||
'menu.年度查询': '年度查询',
|
||||
'menu.年审打分': '年审打分',
|
||||
'menu.年审打分详情': '年审打分详情',
|
||||
'menu.年审结果': '年审结果',
|
||||
'menu.年审结果一级查询列表': '年审结果一级查询列表',
|
||||
'menu.年审结果二级查询列表': '年审结果二级查询列表',
|
||||
'menu.年审结果详情': '年审结果详情',
|
||||
'menu.年度审查': '年度审查',
|
||||
|
||||
|
||||
|
@ -24,6 +24,8 @@ import {
|
||||
AnnualTaskStatusColor,
|
||||
AnnualTaskStatusOptions,
|
||||
} from '@/dicts/supplierAnnualTaskManageDict';
|
||||
import type { DictItem } from '@/servers/api/dicts';
|
||||
import { getDictList } from '@/servers/api/dicts';
|
||||
|
||||
const { RangePicker } = DatePicker;
|
||||
const { Option } = Select;
|
||||
@ -41,7 +43,7 @@ const SupplierAnnualTaskManage: React.FC = () => {
|
||||
showQuickJumper: true,
|
||||
});
|
||||
const [searchParams, setSearchParams] = useState<any>({});
|
||||
|
||||
const [evaluateStatus, setEvaluateStatus] = useState<DictItem[]>([]);
|
||||
// 获取年度任务列表
|
||||
const fetchList = async (params: any = {}) => {
|
||||
try {
|
||||
@ -78,6 +80,11 @@ const SupplierAnnualTaskManage: React.FC = () => {
|
||||
// 首次加载获取数据
|
||||
useEffect(() => {
|
||||
fetchList({ current: 1, pageSize: 10 });
|
||||
getDictList('project_status').then((res) => {
|
||||
if (res.success) {
|
||||
setEvaluateStatus(res.data);
|
||||
}
|
||||
});
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []);
|
||||
|
||||
@ -183,11 +190,9 @@ const SupplierAnnualTaskManage: React.FC = () => {
|
||||
},
|
||||
{
|
||||
title: '评价状态',
|
||||
dataIndex: 'status',
|
||||
key: 'status',
|
||||
width: 100,
|
||||
render: (status: string, record: supplierAnnualTaskManage.TaskRecord) =>
|
||||
getStatusTag(status, record.statusName),
|
||||
dataIndex: 'statusName',
|
||||
key: 'statusName',
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
@ -232,9 +237,9 @@ const SupplierAnnualTaskManage: React.FC = () => {
|
||||
</Form.Item>
|
||||
<Form.Item name="status" label="评价状态">
|
||||
<Select placeholder="请选择状态" allowClear style={{ width: 150 }}>
|
||||
{AnnualTaskStatusOptions.map((item) => (
|
||||
<Option key={item.value} value={item.value}>
|
||||
{item.label}
|
||||
{evaluateStatus.map((item) => (
|
||||
<Option key={item.code} value={item.code}>
|
||||
{item.dicName}
|
||||
</Option>
|
||||
))}
|
||||
</Select>
|
||||
|
@ -1,6 +1,5 @@
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import {
|
||||
Card,
|
||||
Form,
|
||||
Input,
|
||||
Select,
|
||||
@ -18,9 +17,11 @@ import {
|
||||
SearchOutlined,
|
||||
DeleteOutlined,
|
||||
} from '@ant-design/icons';
|
||||
import { TaskStatus, TaskStatusText, TaskStatusColor } from '@/dicts/supplierTaskDict';
|
||||
import { TaskStatusText, TaskStatusColor } from '@/dicts/supplierTaskDict';
|
||||
import { history } from 'umi';
|
||||
import { getEvaluateResultList, submitTaskForApproval } from '@/servers/api/supplierEvaluate';
|
||||
import { getDictList } from '@/servers/api/dicts';
|
||||
import type { DictItem } from '@/servers/api/dicts';
|
||||
|
||||
|
||||
|
||||
@ -49,24 +50,7 @@ const SupplierEvaluateResult: React.FC = () => {
|
||||
showTotal: (total) => `共 ${total} 条记录`,
|
||||
});
|
||||
const [searchParams, setSearchParams] = useState<EvaluateTaskSearchParams>({});
|
||||
|
||||
// 品类数据
|
||||
const categoryOptions = [
|
||||
{ label: '食品', value: '食品' },
|
||||
{ label: '电子', value: '电子' },
|
||||
{ label: '机械', value: '机械' },
|
||||
{ label: '化工', value: '化工' },
|
||||
{ label: '医药', value: '医药' },
|
||||
];
|
||||
|
||||
// 创建单位数据
|
||||
const unitOptions = [
|
||||
{ label: '中山市合创展包装材料有限公司', value: '中山市合创展包装材料有限公司' },
|
||||
{ label: '广州市科技发展有限公司', value: '广州市科技发展有限公司' },
|
||||
{ label: '深圳市创新科技有限公司', value: '深圳市创新科技有限公司' },
|
||||
{ label: '东莞市制造业有限公司', value: '东莞市制造业有限公司' },
|
||||
];
|
||||
|
||||
const [evaluateStatus, setEvaluateStatus] = useState<DictItem[]>([]);
|
||||
// 获取评价结果列表
|
||||
const fetchResultList = async (
|
||||
current = 1,
|
||||
@ -132,6 +116,11 @@ const SupplierEvaluateResult: React.FC = () => {
|
||||
// 首次加载获取数据
|
||||
useEffect(() => {
|
||||
fetchResultList(pagination.current, pagination.pageSize, {});
|
||||
getDictList('project_status').then((res) => {
|
||||
if (res.success) {
|
||||
setEvaluateStatus(res.data);
|
||||
}
|
||||
});
|
||||
}, []);
|
||||
|
||||
// 处理表格分页变化
|
||||
@ -260,10 +249,9 @@ const SupplierEvaluateResult: React.FC = () => {
|
||||
},
|
||||
{
|
||||
title: '评价状态',
|
||||
dataIndex: 'status',
|
||||
key: 'status',
|
||||
dataIndex: 'statusName',
|
||||
key: 'statusName',
|
||||
width: 100,
|
||||
render: (status: string) => getStatusTag(status),
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
@ -305,9 +293,11 @@ const SupplierEvaluateResult: React.FC = () => {
|
||||
</Form.Item>
|
||||
<Form.Item name="status" label="评价状态">
|
||||
<Select placeholder="请选择状态" allowClear style={{ width: 150 }}>
|
||||
<Option value={TaskStatus.DRAFT}>{TaskStatusText[TaskStatus.DRAFT]}</Option>
|
||||
<Option value={TaskStatus.PROCESSING}>{TaskStatusText[TaskStatus.PROCESSING]}</Option>
|
||||
<Option value={TaskStatus.COMPLETED}>{TaskStatusText[TaskStatus.COMPLETED]}</Option>
|
||||
{evaluateStatus.map((item) => (
|
||||
<Option key={item.code} value={item.code}>
|
||||
{item.dicName}
|
||||
</Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Form.Item className="filter-btns">
|
||||
|
@ -63,7 +63,6 @@ const SupplierEvaluateResultScoreByList: React.FC = () => {
|
||||
|
||||
// 获取上级页面传递的数据
|
||||
useEffect(() => {
|
||||
console.log(location.state);
|
||||
if (location.state?.record) {
|
||||
setRecord(location.state.record);
|
||||
}
|
||||
|
@ -19,6 +19,8 @@ import {
|
||||
getSupplierDimension,
|
||||
getTaskPage,
|
||||
} from '@/servers/api/supplierEvaluate';
|
||||
import { getDictList } from '@/servers/api/dicts';
|
||||
import type { DictItem } from '@/servers/api/dicts';
|
||||
|
||||
const { Title } = Typography;
|
||||
const { TabPane } = Tabs;
|
||||
@ -30,9 +32,9 @@ const SupplierEvaluateScore: React.FC = () => {
|
||||
// 新增状态
|
||||
const [activeTab, setActiveTab] = useState<string>('supplier');
|
||||
const [supplierTableData, setSupplierTableData] = useState<
|
||||
supplierEvaluateScore.SupplierDimensionRecord[]
|
||||
SupplierEvaluateScore.SupplierDimensionResponse[]
|
||||
>([]);
|
||||
const [taskTableData, setTaskTableData] = useState<supplierEvaluateScore.TaskPageRecord[]>([]);
|
||||
const [taskTableData, setTaskTableData] = useState<SupplierEvaluateScore.TaskPageResponse[]>([]);
|
||||
const [supplierTableLoading, setSupplierTableLoading] = useState<boolean>(false);
|
||||
const [taskTableLoading, setTaskTableLoading] = useState<boolean>(false);
|
||||
const [pagination, setPagination] = useState({
|
||||
@ -40,6 +42,7 @@ const SupplierEvaluateScore: React.FC = () => {
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
});
|
||||
const [evaluateStatus, setEvaluateStatus] = useState<DictItem[]>([]);
|
||||
/*
|
||||
name :关键字
|
||||
startTime:开始时间
|
||||
@ -51,7 +54,7 @@ status:状态
|
||||
const values = filterForm.getFieldsValue();
|
||||
|
||||
if (activeTab === 'supplier') {
|
||||
const params: supplierEvaluateScore.SupplierDimensionRequest = {
|
||||
const params: SupplierEvaluateScore.SupplierDimensionRequest = {
|
||||
basePageRequest: {
|
||||
pageNo: pagination.current,
|
||||
pageSize: pagination.pageSize,
|
||||
@ -68,7 +71,7 @@ status:状态
|
||||
|
||||
return params;
|
||||
} else {
|
||||
const params: supplierEvaluateScore.TaskPageRequest = {
|
||||
const params: SupplierEvaluateScore.TaskPageRequest = {
|
||||
basePageRequest: {
|
||||
pageNo: pagination.current,
|
||||
pageSize: pagination.pageSize,
|
||||
@ -153,6 +156,11 @@ status:状态
|
||||
// 初始化加载数据
|
||||
useEffect(() => {
|
||||
handleSearch();
|
||||
getDictList('project_status').then((res) => {
|
||||
if (res.success) {
|
||||
setEvaluateStatus(res.data);
|
||||
}
|
||||
});
|
||||
}, [activeTab]);
|
||||
|
||||
// 处理标签页切换
|
||||
@ -381,10 +389,11 @@ status:状态
|
||||
|
||||
<Form.Item name="status" label="评价状态">
|
||||
<Select placeholder="请选择" style={{ width: 150 }} allowClear>
|
||||
<Option value="1">待评分</Option>
|
||||
<Option value="2">已评分</Option>
|
||||
<Option value="3">进行中</Option>
|
||||
<Option value="4">已完成</Option>
|
||||
{evaluateStatus.map((item) => (
|
||||
<Option key={item.code} value={item.code}>
|
||||
{item.dicName}
|
||||
</Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
|
@ -9,12 +9,11 @@ import {
|
||||
message,
|
||||
Typography,
|
||||
Empty,
|
||||
Space,
|
||||
Form,
|
||||
Modal,
|
||||
} from 'antd';
|
||||
import { ArrowLeftOutlined, SaveOutlined, ExclamationCircleOutlined } from '@ant-design/icons';
|
||||
import { getSupplierScoreDetail, saveEvaluateScore } from '@/servers/api/supplierEvaluate';
|
||||
import { getIndicator, saveEvaluateScore } from '@/servers/api/supplierEvaluate';
|
||||
import ScoreEvaluationTable from '@/components/ScoreEvaluationTable';
|
||||
import styles from './supplierEvaluateScore.less';
|
||||
|
||||
@ -22,18 +21,14 @@ const { Title } = Typography;
|
||||
const { confirm } = Modal;
|
||||
|
||||
const SupplierEvaluateScoreDetail: React.FC = () => {
|
||||
const [form] = Form.useForm();
|
||||
const location = useLocation<{
|
||||
record: supplierEvaluateScore.SupplierDimensionRecord | supplierEvaluateScore.TaskPageRecord;
|
||||
record: SupplierEvaluateScore.SupplierDimensionData;
|
||||
mode?: 'view' | 'score'; // 查看模式或打分模式
|
||||
recordType: 'supplier' | 'task'; // 记录类型:供应商或任务
|
||||
}>();
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const [submitting, setSubmitting] = useState<boolean>(false);
|
||||
const [saving, setSaving] = useState<boolean>(false);
|
||||
const [scoreDetail, setScoreDetail] = useState<supplierEvaluateScore.ScoreDetailData | null>(
|
||||
null,
|
||||
);
|
||||
const [scoreDetail, setScoreDetail] = useState<SupplierEvaluateResult.EvaluateScoreDetailData>();
|
||||
const [scoreData, setScoreData] = useState<any[]>([]);
|
||||
const [record, setRecord] = useState<any>(null);
|
||||
const [mode, setMode] = useState<'view' | 'score'>('view'); // 默认为查看模式
|
||||
@ -63,7 +58,7 @@ const SupplierEvaluateScoreDetail: React.FC = () => {
|
||||
}, [location]);
|
||||
|
||||
// 将API数据转换为ScoreEvaluationTable组件所需的格式
|
||||
const formatDataForScoreTable = (data: supplierEvaluateScore.ScoreDetailData) => {
|
||||
const formatDataForScoreTable = (data: SupplierEvaluateResult.EvaluateScoreDetailData) => {
|
||||
if (!data?.taskIndicatorVo) return [];
|
||||
|
||||
return data.taskIndicatorVo.map((indicator) => {
|
||||
@ -103,7 +98,7 @@ const SupplierEvaluateScoreDetail: React.FC = () => {
|
||||
|
||||
setLoading(true);
|
||||
try {
|
||||
const response = await getSupplierScoreDetail(record.id);
|
||||
const response = await getIndicator(record.id);
|
||||
|
||||
if (response.success && response.data) {
|
||||
setScoreDetail(response.data);
|
||||
@ -167,7 +162,7 @@ const SupplierEvaluateScoreDetail: React.FC = () => {
|
||||
setSubmitting(true);
|
||||
try {
|
||||
// 构建提交数据
|
||||
const submitData: supplierEvaluateScore.ScoreSaveRequest = {
|
||||
const submitData: SupplierEvaluateScore.ScoreSaveRequest = {
|
||||
id: record.id,
|
||||
scoreVoList: scoreData.flatMap((item) => {
|
||||
return item.indicatorNdList.map((subItem: any) => ({
|
||||
|
@ -6,6 +6,8 @@ import { history, useIntl } from 'umi';
|
||||
import { TaskStatus, TaskStatusText, TaskStatusColor } from '@/dicts/supplierTaskDict';
|
||||
import { getTaskList } from '@/servers/api/supplierEvaluate';
|
||||
import styles from './supplierTaskManage.less';
|
||||
import { getDictList } from '@/servers/api/dicts';
|
||||
import type { DictItem } from '@/servers/api/dicts';
|
||||
|
||||
const { Option } = Select;
|
||||
const { RangePicker } = DatePicker;
|
||||
@ -30,7 +32,7 @@ const SupplierTaskManage: React.FC = () => {
|
||||
pageSize: 10,
|
||||
},
|
||||
});
|
||||
|
||||
const [evaluateStatus, setEvaluateStatus] = useState<DictItem[]>([]);
|
||||
const fetchTaskList = async (
|
||||
current: number = 1,
|
||||
pageSize: number = 10,
|
||||
@ -72,6 +74,12 @@ const SupplierTaskManage: React.FC = () => {
|
||||
|
||||
useEffect(() => {
|
||||
fetchTaskList(pagination.current!, pagination.pageSize!, searchParams);
|
||||
// 从字典接口中获取评价状态
|
||||
getDictList('project_status').then((res) => {
|
||||
if (res.success) {
|
||||
setEvaluateStatus(res.data);
|
||||
}
|
||||
});
|
||||
}, []);
|
||||
|
||||
const handleView = (record: SupplierTaskManage.TaskItem) => {
|
||||
@ -85,15 +93,6 @@ const SupplierTaskManage: React.FC = () => {
|
||||
const handleDivision = (record: SupplierTaskManage.TaskItem) => {
|
||||
history.push(`supplierTaskManageAdd?id=${record.id}&mode=division`);
|
||||
};
|
||||
|
||||
const getStatusTag = (status: string) => {
|
||||
const color = TaskStatusColor[status as keyof typeof TaskStatusColor] || 'default';
|
||||
const text =
|
||||
TaskStatusText[status as keyof typeof TaskStatusText] ||
|
||||
intl.formatMessage({ id: 'supplierTaskManage.status.unknown' });
|
||||
return <Tag color={color}>{text}</Tag>;
|
||||
};
|
||||
|
||||
const handleTableChange = (newPagination: TablePaginationConfig) => {
|
||||
fetchTaskList(newPagination.current!, newPagination.pageSize!, searchParams);
|
||||
};
|
||||
@ -179,7 +178,6 @@ const SupplierTaskManage: React.FC = () => {
|
||||
dataIndex: 'statusName',
|
||||
key: 'statusName',
|
||||
width: 100,
|
||||
// render: (status: string) => getStatusTag(status),
|
||||
},
|
||||
{
|
||||
title: intl.formatMessage({ id: 'supplierTaskManage.column.action' }),
|
||||
@ -240,15 +238,11 @@ const SupplierTaskManage: React.FC = () => {
|
||||
placeholder={intl.formatMessage({ id: 'supplierTaskManage.placeholder.status' })}
|
||||
allowClear
|
||||
>
|
||||
<Option value={TaskStatus.DRAFT}>
|
||||
{intl.formatMessage({ id: 'supplierTaskManage.status.draft' })}
|
||||
</Option>
|
||||
<Option value={TaskStatus.PROCESSING}>
|
||||
{intl.formatMessage({ id: 'supplierTaskManage.status.processing' })}
|
||||
</Option>
|
||||
<Option value={TaskStatus.COMPLETED}>
|
||||
{intl.formatMessage({ id: 'supplierTaskManage.status.completed' })}
|
||||
</Option>
|
||||
{evaluateStatus.map((item) => (
|
||||
<Option key={item.code} value={item.code}>
|
||||
{item.dicName}
|
||||
</Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
|
@ -304,7 +304,7 @@ export async function saveEvaluateScore(params: SupplierEvaluateScore.ScoreSaveR
|
||||
* @returns
|
||||
*/
|
||||
export async function getIndicator(id: string) {
|
||||
return request<SupplierEvaluateResult.EvaluateScoreIndicator>('/coscoEvaluate/user/getIndicator', {
|
||||
return request<SupplierEvaluateScore.ScoreDetailResponse>('/coscoEvaluate/user/getIndicator', {
|
||||
method: 'GET',
|
||||
params: { id },
|
||||
});
|
||||
|
@ -4,18 +4,17 @@ declare namespace SupplierEvaluateScore {
|
||||
// 现有接口定义
|
||||
interface ScoreDetailResponse {
|
||||
code: number;
|
||||
data: any; // 使用 SupplierEvaluateResult.EvaluateScoreDetailData
|
||||
data: SupplierEvaluateResult.EvaluateScoreDetailData; // 使用 SupplierEvaluateResult.EvaluateScoreDetailData
|
||||
message: string;
|
||||
success: boolean;
|
||||
}
|
||||
|
||||
interface ScoreSaveRequest {
|
||||
id: string;
|
||||
score: number;
|
||||
indicators: {
|
||||
scoreVoList: {
|
||||
id: string;
|
||||
score: number;
|
||||
remarks?: string;
|
||||
remark?: string;
|
||||
}[];
|
||||
}
|
||||
|
||||
@ -27,27 +26,90 @@ declare namespace SupplierEvaluateScore {
|
||||
}
|
||||
|
||||
interface SupplierDimensionRequest {
|
||||
current?: number;
|
||||
pageSize?: number;
|
||||
taskId: string;
|
||||
supplierId: string;
|
||||
basePageRequest: {
|
||||
pageNo: number;
|
||||
pageSize: number;
|
||||
};
|
||||
name?: string;
|
||||
status?: string;
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取供应商维度响应
|
||||
*/
|
||||
interface SupplierDimensionResponse {
|
||||
code: number;
|
||||
data: any;
|
||||
data: SupplierDimensionData;
|
||||
message: string;
|
||||
success: boolean;
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 供应商维度数据
|
||||
*/
|
||||
interface SupplierDimensionData {
|
||||
categoryId: null;
|
||||
categoryLimitation: string;
|
||||
createBy: null;
|
||||
createDate: null;
|
||||
createTime: null;
|
||||
deleteFlag: null;
|
||||
delFlag: string;
|
||||
deptId: null;
|
||||
endTime: string;
|
||||
evaluateTheme: string;
|
||||
evaluateYear: string;
|
||||
id: string;
|
||||
indicatorList: IndicatorListItem[];
|
||||
lastUpdateTime: null;
|
||||
startTime: string;
|
||||
status: string;
|
||||
supplierIds: SupplierIdItem[];
|
||||
templateId: string;
|
||||
tenantId: null;
|
||||
tenantName: null;
|
||||
updateBy: null;
|
||||
updateDate: null;
|
||||
updateTime: null;
|
||||
weightDept: null;
|
||||
weightStatus: string;
|
||||
weightValue: null;
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 指标列表项
|
||||
*/
|
||||
interface IndicatorListItem {
|
||||
indicatorIds: null[];
|
||||
type: string;
|
||||
userId: string;
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 供应商ID项
|
||||
*/
|
||||
interface SupplierIdItem {
|
||||
id: string;
|
||||
userIds: any[];
|
||||
[property: string]: any;
|
||||
}
|
||||
|
||||
interface TaskPageRequest {
|
||||
current?: number;
|
||||
pageSize?: number;
|
||||
evaluateTheme?: string;
|
||||
evaluateYear?: string;
|
||||
basePageRequest: {
|
||||
pageNo: number;
|
||||
pageSize: number;
|
||||
};
|
||||
name?: string;
|
||||
status?: string;
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
status?: string;
|
||||
evaluateTheme?: string;
|
||||
evaluateYear?: string;
|
||||
}
|
||||
|
||||
interface TaskPageResponse {
|
||||
|
Reference in New Issue
Block a user