diff --git a/admin/src/pages/training/option/index.tsx b/admin/src/pages/training/option/index.tsx
index 78549f8..f38c5fe 100644
--- a/admin/src/pages/training/option/index.tsx
+++ b/admin/src/pages/training/option/index.tsx
@@ -9,7 +9,7 @@ import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions';
import ProDescriptions from '@ant-design/pro-descriptions';
import type { FormValueType } 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 { useRequest } from 'umi';
@@ -139,6 +139,7 @@ const TableList: React.FC = () => {
title: '序号',
key: 'index',
valueType: 'indexBorder',
+
render: (text: React.ReactNode, _: any, index: number) => {
if (actionRef && actionRef?.current && actionRef?.current?.pageInfo) {
return `${(actionRef?.current?.pageInfo?.current - 1) * (actionRef.current.pageInfo?.pageSize) + (index + 1)}`;
@@ -148,17 +149,36 @@ const TableList: React.FC = () => {
},
width: 48,
},
+
{
title: '培训名称',
dataIndex: 'train_name',
valueType: 'text',
+ hideInSearch: true,
+ formItemProps: {
+ rules: [
+ {
+ required: true,
+ message: '请输入培训名称',
+ },
+ ]
+ },
},
{
title: '培训对象',
valueType: 'select',
+ hideInSearch: true,
fieldProps: {
mode: "multiple"
},
+ formItemProps: {
+ rules: [
+ {
+ required: true,
+ message: '请选择培训对象',
+ },
+ ]
+ },
dataIndex: 'org_names',
request: async () => {
const Value = await queryValueByKey({});
@@ -184,6 +204,14 @@ const TableList: React.FC = () => {
hideInTable: true,
hideInForm: false,
hideInSearch: false,
+ formItemProps: {
+ rules: [
+ {
+ required: true,
+ message: '请选择主题',
+ },
+ ]
+ },
request: async () => {
const { data: Items } = await querySubjectList({ page_size: 1000 });
// console.log(Items, ')))');
@@ -203,23 +231,34 @@ const TableList: React.FC = () => {
dataIndex: 'start_time',
sorter: false,
hideInForm: true,
+ hideInSearch: true,
renderText: (val: string) => `${val}`,
},
{
title: '结束时间',
dataIndex: 'end_time',
sorter: false,
+ hideInSearch: true,
hideInForm: true,
renderText: (val: string) => `${val}`,
},
{
title: '培训时间',
valueType: 'dateTimeRange',
- dataIndex: 'datetime',
+ dataIndex: 'date_time',
sorter: false,
hideInForm: false,
hideInTable: true,
+ hideInSearch: false,
renderText: (val: string) => `${val}`,
+ formItemProps: {
+ rules: [
+ {
+ required: true,
+ message: '请选择培训时间',
+ },
+ ]
+ },
},
{
title: '学时安排',
@@ -227,6 +266,7 @@ const TableList: React.FC = () => {
dataIndex: 'total_course_hours',
valueType: 'text',
hideInForm: true,
+ hideInSearch: true,
renderText: (val: string) => `${val}小时`,
},
{
@@ -234,28 +274,27 @@ const TableList: React.FC = () => {
dataIndex: 'option',
valueType: 'option',
render: (_, record) => [
- {
- handleUpdateModalVisible(true);
- setCurrentRow(record);
- }}
- >
- 查看
- ,
+
{
handleUpdateModalVisible(true);
- const idsArr = record?.org_ids?.split(",")
- const orgName = record?.org_names?.split(",")
- const idsData = []
- idsArr.map((e,i) => {
- idsData.push({
- label: orgName[i], value: Number(e)
- })
- })
- record.org_names = idsData
+ // const _record = JSON.parse(JSON.stringify(record))
+ // const idsArr = _record?.org_ids?.split(",")
+ // const orgName = _record.org_names != "" ? _record.org_names.split(",") : ""
+ // const idsData = []
+ // if (_record?.org_ids != false) {
+ // idsArr.map((e, i) => {
+ // idsData.push({
+ // label: orgName[i], value: Number(e)
+ // })
+ // })
+
+ // }
+ // _record.org_names = idsData
+ // _record.date_time = [_record.start_time, _record.end_time]
+ // console.log("2323", _record);
+
setCurrentRow(record);
}}
>
@@ -303,7 +342,16 @@ const TableList: React.FC = () => {
,
]}
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);
+
+
return {
current: _data?.page_number,
data: _data?.data?.list,
@@ -387,11 +435,11 @@ const TableList: React.FC = () => {
console.log(tree, 'tree');
const _data = {
...values,
- end_time: values.datetime[1],
- start_time: values.datetime[0],
+ end_time: values.date_time[1],
+ start_time: values.date_time[0],
target_list_json: JSON.stringify(tree)
}
- delete _data.datetime
+ delete _data.date_time
delete _data.org_names
// delete params.course_time
// delete params.examination_time
@@ -403,6 +451,8 @@ const TableList: React.FC = () => {
if (res.code === 2000) {
handleModalVisible(false);
actionRef.current?.reloadAndRest?.();
+ } else {
+ message.error(res.msg);
}
}}
@@ -436,8 +486,94 @@ const TableList: React.FC = () => {
layoutType="Form"
labelCol={{ span: 8 }}
wrapperCol={{ span: 12 }}
- onFinish={async (values) => {
- console.log(values);
+ request={async () => {
+
+ 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={{
render: (props, doms) => (
@@ -450,7 +586,7 @@ const TableList: React.FC = () => {
}}
// action = ''
title="编辑"
- columns={getInitialValues(columns, currentRow)}
+ columns={columns}
/>
)}
diff --git a/admin/src/pages/training/option/service.ts b/admin/src/pages/training/option/service.ts
index 8fa2544..7ccf12c 100644
--- a/admin/src/pages/training/option/service.ts
+++ b/admin/src/pages/training/option/service.ts
@@ -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,
+ });
+}
+