zhengpengju 3 years ago
commit fd64d50cf9

@ -9,7 +9,7 @@ import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
import ProDescriptions from '@ant-design/pro-descriptions'; import ProDescriptions from '@ant-design/pro-descriptions';
import type { FormValueType } from './components/UpdateForm'; import type { FormValueType } from './components/UpdateForm';
import UpdateForm from './components/UpdateForm'; import UpdateForm from './components/UpdateForm';
import { queryTrainList, saveTrain, removeTrain, queryOrgTree, queryValueByKey, querySubjectList } from './service'; import { queryTrainList, saveTrain, removeTrain, queryOrgTree, queryValueByKey, querySubjectList, querySubjectView } from './service';
import type { TableListItem, TableListPagination } from './data'; import type { TableListItem, TableListPagination } from './data';
import { useRequest } from 'umi'; import { useRequest } from 'umi';
@ -139,6 +139,7 @@ const TableList: React.FC = () => {
title: '序号', title: '序号',
key: 'index', key: 'index',
valueType: 'indexBorder', valueType: 'indexBorder',
render: (text: React.ReactNode, _: any, index: number) => { render: (text: React.ReactNode, _: any, index: number) => {
if (actionRef && actionRef?.current && actionRef?.current?.pageInfo) { if (actionRef && actionRef?.current && actionRef?.current?.pageInfo) {
return `${(actionRef?.current?.pageInfo?.current - 1) * (actionRef.current.pageInfo?.pageSize) + (index + 1)}`; return `${(actionRef?.current?.pageInfo?.current - 1) * (actionRef.current.pageInfo?.pageSize) + (index + 1)}`;
@ -148,17 +149,36 @@ const TableList: React.FC = () => {
}, },
width: 48, width: 48,
}, },
{ {
title: '培训名称', title: '培训名称',
dataIndex: 'train_name', dataIndex: 'train_name',
valueType: 'text', valueType: 'text',
hideInSearch: true,
formItemProps: {
rules: [
{
required: true,
message: '请输入培训名称',
},
]
},
}, },
{ {
title: '培训对象', title: '培训对象',
valueType: 'select', valueType: 'select',
hideInSearch: true,
fieldProps: { fieldProps: {
mode: "multiple" mode: "multiple"
}, },
formItemProps: {
rules: [
{
required: true,
message: '请选择培训对象',
},
]
},
dataIndex: 'org_names', dataIndex: 'org_names',
request: async () => { request: async () => {
const Value = await queryValueByKey({}); const Value = await queryValueByKey({});
@ -184,6 +204,14 @@ const TableList: React.FC = () => {
hideInTable: true, hideInTable: true,
hideInForm: false, hideInForm: false,
hideInSearch: false, hideInSearch: false,
formItemProps: {
rules: [
{
required: true,
message: '请选择主题',
},
]
},
request: async () => { request: async () => {
const { data: Items } = await querySubjectList({ page_size: 1000 }); const { data: Items } = await querySubjectList({ page_size: 1000 });
// console.log(Items, ')))'); // console.log(Items, ')))');
@ -203,23 +231,34 @@ const TableList: React.FC = () => {
dataIndex: 'start_time', dataIndex: 'start_time',
sorter: false, sorter: false,
hideInForm: true, hideInForm: true,
hideInSearch: true,
renderText: (val: string) => `${val}`, renderText: (val: string) => `${val}`,
}, },
{ {
title: '结束时间', title: '结束时间',
dataIndex: 'end_time', dataIndex: 'end_time',
sorter: false, sorter: false,
hideInSearch: true,
hideInForm: true, hideInForm: true,
renderText: (val: string) => `${val}`, renderText: (val: string) => `${val}`,
}, },
{ {
title: '培训时间', title: '培训时间',
valueType: 'dateTimeRange', valueType: 'dateTimeRange',
dataIndex: 'datetime', dataIndex: 'date_time',
sorter: false, sorter: false,
hideInForm: false, hideInForm: false,
hideInTable: true, hideInTable: true,
hideInSearch: false,
renderText: (val: string) => `${val}`, renderText: (val: string) => `${val}`,
formItemProps: {
rules: [
{
required: true,
message: '请选择培训时间',
},
]
},
}, },
{ {
title: '学时安排', title: '学时安排',
@ -227,6 +266,7 @@ const TableList: React.FC = () => {
dataIndex: 'total_course_hours', dataIndex: 'total_course_hours',
valueType: 'text', valueType: 'text',
hideInForm: true, hideInForm: true,
hideInSearch: true,
renderText: (val: string) => `${val}小时`, renderText: (val: string) => `${val}小时`,
}, },
{ {
@ -234,28 +274,27 @@ const TableList: React.FC = () => {
dataIndex: 'option', dataIndex: 'option',
valueType: 'option', valueType: 'option',
render: (_, record) => [ render: (_, record) => [
<a
key="detail"
onClick={() => {
handleUpdateModalVisible(true);
setCurrentRow(record);
}}
>
</a>,
<a <a
key="update" key="update"
onClick={() => { onClick={() => {
handleUpdateModalVisible(true); handleUpdateModalVisible(true);
const idsArr = record?.org_ids?.split(",") // const _record = JSON.parse(JSON.stringify(record))
const orgName = record?.org_names?.split(",") // const idsArr = _record?.org_ids?.split(",")
const idsData = [] // const orgName = _record.org_names != "" ? _record.org_names.split(",") : ""
idsArr.map((e,i) => { // const idsData = []
idsData.push({ // if (_record?.org_ids != false) {
label: orgName[i], value: Number(e) // idsArr.map((e, i) => {
}) // idsData.push({
}) // label: orgName[i], value: Number(e)
record.org_names = idsData // })
// })
// }
// _record.org_names = idsData
// _record.date_time = [_record.start_time, _record.end_time]
// console.log("2323", _record);
setCurrentRow(record); setCurrentRow(record);
}} }}
> >
@ -303,7 +342,16 @@ const TableList: React.FC = () => {
</Button>, </Button>,
]} ]}
request={async (value) => { request={async (value) => {
if (value.date_time) {
value.begin_time = value.date_time[0]
value.end_time = value.date_time[1]
}
// delete value.date_time
console.log('search', value);
const _data = await queryTrainList(value); const _data = await queryTrainList(value);
return { return {
current: _data?.page_number, current: _data?.page_number,
data: _data?.data?.list, data: _data?.data?.list,
@ -387,11 +435,11 @@ const TableList: React.FC = () => {
console.log(tree, 'tree'); console.log(tree, 'tree');
const _data = { const _data = {
...values, ...values,
end_time: values.datetime[1], end_time: values.date_time[1],
start_time: values.datetime[0], start_time: values.date_time[0],
target_list_json: JSON.stringify(tree) target_list_json: JSON.stringify(tree)
} }
delete _data.datetime delete _data.date_time
delete _data.org_names delete _data.org_names
// delete params.course_time // delete params.course_time
// delete params.examination_time // delete params.examination_time
@ -403,6 +451,8 @@ const TableList: React.FC = () => {
if (res.code === 2000) { if (res.code === 2000) {
handleModalVisible(false); handleModalVisible(false);
actionRef.current?.reloadAndRest?.(); actionRef.current?.reloadAndRest?.();
} else {
message.error(res.msg);
} }
}} }}
@ -436,8 +486,94 @@ const TableList: React.FC = () => {
layoutType="Form" layoutType="Form"
labelCol={{ span: 8 }} labelCol={{ span: 8 }}
wrapperCol={{ span: 12 }} wrapperCol={{ span: 12 }}
onFinish={async (values) => { request={async () => {
console.log(values);
const { data } = await querySubjectView({ train_id: currentRow?.train_id });
data.date_time = [currentRow.start_time, currentRow.end_time]
data.org_names = []
data.target_list.map((e) => {
console.log('1111', e);
data.org_names.push({
value: e.org_id,
label: e.org_name
})
console.log("222", data);
})
console.log("edit", data);
return data
}}
onFinish={async (values: any) => {
// 表单处理
//console.log('columns:', columns);
console.log('values1:', values, orgTree);
//return false;
// values.attachment_json.response.file.response.url
let tree = []
if (typeof values.org_names[0] === 'number') {
// tree = values.org_names
console.log('true values.org_names', tree, orgTree, values)
tree = orgTree?.filter((item, idx, self) => {
return (values?.org_names?.indexOf(item?.id) !== -1)
});
console.log("tree,1111", tree);
tree.map((e, i) => {
tree[i].org_id = e.id
tree[i].org_name = e.name
delete tree[i].id
delete tree[i].name
delete tree[i].pId
})
} else {
values.org_names.map((e) => {
console.log(e, 'e');
})
// tree[i].org_id = e.id
// tree[i].org_name = e.name
console.log(values.org_names, 'false values.org_names')
}
console.log(321);
console.log(tree, 'tree');
const _data = {
...values,
end_time: values.date_time[1],
start_time: values.date_time[0],
target_list_json: JSON.stringify(tree),
train_id: currentRow.train_id
}
delete _data.date_time
delete _data.org_names
// delete params.course_time
// delete params.examination_time
console.log('_data', _data);
const res = await saveTrain(_data);
// console.log(res, 'ressss');
if (res.code === 2000) {
handleUpdateModalVisible(false);
actionRef.current?.reloadAndRest?.();
} else {
message.error(res.msg);
}
}} }}
submitter={{ submitter={{
render: (props, doms) => ( render: (props, doms) => (
@ -450,7 +586,7 @@ const TableList: React.FC = () => {
}} }}
// action = '' // action = ''
title="编辑" title="编辑"
columns={getInitialValues(columns, currentRow)} columns={columns}
/> />
)} )}
</Modal> </Modal>

@ -92,3 +92,18 @@ export async function querySubjectList(params: {
}); });
} }
/**
*
* http://10.10.14.252:8080/workspace/myWorkspace.do?projectId=382#6426
* @param params
* @returns
*/
export async function querySubjectView(params: {
page_size: number;
//count: number;
}): Promise<{ data: { list: CardListItemDataType[] } }> {
return request('/dsideal_yy/ypt/careerTraining/train/view', {
params,
});
}

Loading…
Cancel
Save