提交 0ccb5fe8 作者: 龚洪江

修复:飞手培训问题修复

上级 77ddcb03
import { Form, Input, InputNumber } from 'antd';
import { Form, Input } from 'antd';
interface Item {
key: string;
......
......@@ -4,10 +4,10 @@
font-weight: bold;
margin-bottom: 10px;
line-height: 20px;
&:before{
content: '*';
color: red;
}
//&:before{
// content: '*';
// color: red;
//}
}
&-table{
......
......@@ -15,11 +15,9 @@ type ColumnTypes = Exclude<EditableTableProps['columns'], undefined>;
type tableDataType = {
gradeId: number;
id: number;
mainImage: string;
modelsId: number;
price: number;
typeId: number;
fileList: any[];
};
//机型下拉返回类型
type modelsListType = InterDataType<licenceModelsListType>;
......@@ -49,6 +47,9 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
return Promise.reject(new Error('价格大于0且小于10万'));
}
} else {
if (value === undefined || value === '' || value === null) {
return Promise.resolve();
}
return Promise.reject(new Error('价格为数字且保留小数点后两位'));
}
return Promise.resolve();
......@@ -67,15 +68,15 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
render: (_text: string, _record, index: number) => index + 1,
width: '10%',
},
{
title: '培训主图',
align: 'center',
dataIndex: 'mainImage',
width: '10%',
inputType: 'uploader',
editable: true,
rules: [{ required: true, message: '请上传培训主图' }],
},
// {
// title: '培训主图',
// align: 'center',
// dataIndex: 'mainImage',
// width: '10%',
// inputType: 'uploader',
// editable: true,
// rules: [{ required: true, message: '请上传培训主图' }],
// },
{
title: '培训机型',
align: 'center',
......@@ -84,7 +85,7 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
inputType: 'select',
width: '15%',
selectOption: modelsList,
rules: [{ required: true, message: '请选择培训机型' }],
// rules: [{ required: true, message: '请选择培训机型' }],
},
{
title: '培训等级',
......@@ -94,7 +95,7 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
inputType: 'select',
width: '15%',
selectOption: gradeList,
rules: [{ required: true, message: '请选择培训等级' }],
// rules: [{ required: true, message: '请选择培训等级' }],
},
{
title: '培训类型',
......@@ -104,7 +105,7 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
inputType: 'select',
width: '15%',
selectOption: typeList,
rules: [{ required: true, message: '请选择培训类型' }],
// rules: [{ required: true, message: '请选择培训类型' }],
},
{
title: '培训价格',
......@@ -112,7 +113,7 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
editable: true,
dataIndex: 'price',
width: '12%',
rules: [{ required: true, validator: priceValidator }],
rules: [{ required: false, validator: priceValidator }],
},
{
title: '操作',
......@@ -160,7 +161,7 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
editing: true,
selectOption: col.selectOption,
inputType: col.inputType,
uploadSuccess: col.inputType === 'uploader' ? uploadSuccess : undefined,
// uploadSuccess: col.inputType === 'uploader' ? uploadSuccess : undefined,
rules: col.rules,
}),
};
......@@ -169,11 +170,9 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
{
id: Math.random(),
gradeId: -1,
mainImage: '',
modelsId: -1,
price: -1,
typeId: -1,
fileList: [],
},
]);
useImperativeHandle(ref, () => ({
......@@ -191,11 +190,9 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
{
id: Math.random(),
gradeId: -1,
mainImage: '',
modelsId: -1,
price: -1,
typeId: -1,
fileList: [],
},
]);
};
......@@ -206,13 +203,13 @@ const SkuInfo: FC<selfProps> = forwardRef((_props, ref) => {
setTableData([...tableData]);
};
//主图上传
const uploadSuccess = (record: tableDataType, result: any) => {
const index: number = tableData.findIndex((v) => v.id === record.id);
skuForm.setFieldValue('mainImage' + record.id, result[0].url);
tableData[index].mainImage = result[0].url;
tableData[index].fileList = result;
setTableData([...tableData]);
};
// const uploadSuccess = (record: tableDataType, result: any) => {
// const index: number = tableData.findIndex((v) => v.id === record.id);
// skuForm.setFieldValue('mainImage' + record.id, result[0].url);
// tableData[index].mainImage = result[0].url;
// tableData[index].fileList = result;
// setTableData([...tableData]);
// };
//培训机型下拉
const getLicenceModelsList = () => {
PilotTrainAPI.getLicenceModelsList().then(({ result }) => {
......
......@@ -46,14 +46,23 @@ const AddOrEditInstitution = () => {
if (!introduceInfo) {
return message.warning('机构介绍不能为空');
}
const skuReqData = skuRef.current.getTableData().map((v: tableDataType) => {
return Object.getOwnPropertyNames(v).reduce((pre: any, cur: string) => {
const skuReqData = skuRef.current.getTableData().reduce((list: any, v: tableDataType) => {
const Obj = Object.getOwnPropertyNames(v).reduce((pre: any, cur: string) => {
if (Object.getOwnPropertyNames(value[1]).includes(cur + v.id)) {
pre[cur] = value[1][cur + v.id];
}
return pre;
}, {});
});
if (
Object.getOwnPropertyNames(Obj).length &&
!Object.getOwnPropertyNames(Obj).every(
(key: string) => Obj[key] === '' || Obj[key] === undefined || Obj[key] === null,
)
) {
list.push(Obj);
}
return list;
}, []);
PilotTrainAPI[institutionId ? 'updateOrg' : 'insertOrg']({
...value[0],
trainingProgramsVOS: skuReqData,
......@@ -139,16 +148,9 @@ const AddOrEditInstitution = () => {
]
: [],
);
if (institutionDetail.programsDOList) {
const programsList = institutionDetail.programsDOList.map((v) => ({
...v,
fileList: [
{
id: Math.random(),
uid: Math.random(),
name: 'img',
url: v.mainImage,
},
],
}));
skuRef.current.setDefaultDataEvent().setDefaultTableData(programsList);
const skuObj = institutionDetail.programsDOList.reduce((pre: any, cur: any) => {
......@@ -160,6 +162,8 @@ const AddOrEditInstitution = () => {
return pre;
}, {});
skuRef.current.getForm().setFieldsValue(skuObj);
}
setIntroduceInfo(institutionDetail.detail);
}
}, [institutionDetail]);
......
......@@ -79,12 +79,19 @@ const InstitutionsList = () => {
{
title: '培训类型',
align: 'center',
render: (_text: string, record) =>
record.programsDOList[0].gradeName +
'/' +
record.programsDOList[0].modelsName +
'/' +
record.programsDOList[0].typeName,
render: (_text: string, record: any) =>
record.programsDOList
? Object.getOwnPropertyNames(record.programsDOList[0])
.filter(
(key: string) =>
['gradeName', 'modelsName', 'typeName'].includes(key) &&
record.programsDOList[0][key] !== undefined &&
record.programsDOList[0][key] !== '' &&
record.programsDOList[0][key] !== null,
)
.map((key: string) => record.programsDOList[0][key])
.join('/')
: '',
width: '20%',
},
{
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论