对接评价模板新增和修改

This commit is contained in:
linxd
2025-06-23 20:29:01 +08:00
parent b9bbc906bf
commit 9eb1bed092
7 changed files with 664 additions and 124 deletions

View File

@ -27,7 +27,12 @@ import {
StarLevel,
IndicatorAddOption
} from '@/dicts/supplierTemplateDict';
import { getTemplateDetail, getAllTemplates } from '@/servers/api/supplierEvaluate';
import {
getTemplateDetail,
getAllTemplates,
updateTemplate,
addTemplate
} from '@/servers/api/supplierEvaluate';
import './supplierTemplateManage.less';
const { Option } = Select;
@ -37,29 +42,6 @@ interface LocationState {
editData?: SupplierEvaluate.TemplateRecord;
}
// 模板列表项类型
interface TemplateItem {
categoryId?: string;
categoryLimitation?: string;
copyTemplateId?: null;
createBy?: string;
createDate?: null;
createTime?: string;
deleteFlag?: null;
delFlag?: string;
id: string;
lastUpdateTime?: null;
status?: string;
templateName?: string;
templateType?: string;
tenantId?: null;
tenantName?: null;
updateBy?: string;
updateDate?: null;
updateTime?: string;
[property: string]: any;
}
const { Title } = Typography;
const SupplierTemplateManageAdd: React.FC = () => {
@ -68,7 +50,7 @@ const SupplierTemplateManageAdd: React.FC = () => {
const [templateData, setTemplateData] = useState<any[]>([]);
const [isEdit, setIsEdit] = useState<boolean>(false);
const [templateDetail, setTemplateDetail] = useState<SupplierEvaluate.TemplateDetail | null>(null);
const [templateList, setTemplateList] = useState<TemplateItem[]>([]);
const [templateList, setTemplateList] = useState<SupplierEvaluate.TemplateItem[]>([]);
// 添加控制开关的状态
const [indicatorStMore, setIndicatorStMore] = useState<string>(IndicatorAddOption.CAN_ADD);
@ -163,6 +145,8 @@ const SupplierTemplateManageAdd: React.FC = () => {
...values,
templateType: selectedTemplate?.templateType || '', // 添加templateType
indicatorStList: templateData, // 直接使用模板数据,无需转换
indicatorTypeMore: IndicatorAddOption.CAN_ADD, // 默认可以增加对应指标类型
status: parseInt(values.status, 10) // 确保status是数字类型
};
// 如果是编辑模式添加ID
@ -172,16 +156,25 @@ const SupplierTemplateManageAdd: React.FC = () => {
setLoading(true);
try {
// 模拟提交
console.log('提交数据:', submitData);
setTimeout(() => {
// 调用API接口
let res;
if (isEdit) {
res = await updateTemplate(submitData);
} else {
// 使用addTemplate函数这是原始的API接口
res = await addTemplate(submitData);
}
if (res.success) {
message.success(isEdit ? '模板更新成功' : '模板保存成功');
setLoading(false);
history.goBack();
}, 1000);
} else {
message.error(res.message || (isEdit ? '模板更新失败' : '模板保存失败'));
}
} catch (error) {
console.error('提交失败:', error);
message.error('提交失败');
} finally {
setLoading(false);
}
};
@ -319,7 +312,6 @@ const SupplierTemplateManageAdd: React.FC = () => {
<Form.Item
label="选择模版"
name="copyTemplateId"
rules={[{ required: true, message: '请选择模版' }]}
>
<Select
placeholder="选择模版"