|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
import { PlusOutlined } from '@ant-design/icons';
|
|
|
|
|
import { Button, message, Input, Drawer, Row, Col, Space, Modal, Popconfirm } from 'antd';
|
|
|
|
|
import React, { useState, useRef } from 'react';
|
|
|
|
|
import React, { useState, useRef, Children } from 'react';
|
|
|
|
|
import { PageContainer, FooterToolbar } from '@ant-design/pro-layout';
|
|
|
|
|
import type { ProColumns, ActionType } from '@ant-design/pro-table';
|
|
|
|
|
import ProTable from '@ant-design/pro-table';
|
|
|
|
@ -8,11 +8,12 @@ import { BetaSchemaForm, ModalForm, ProFormText, ProFormTextArea } from '@ant-de
|
|
|
|
|
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, querySubjectView } from './service';
|
|
|
|
|
//import UpdateForm from './components/UpdateForm';
|
|
|
|
|
import { queryTrainList, saveTrain, removeTrain, queryOrgTree, queryValueByKey, querySubjectList, querySubjectView, getAsyncOrgTree, getEduUnitList } from './service';
|
|
|
|
|
import type { TableListItem, TableListPagination } from './data';
|
|
|
|
|
import { useRequest } from 'umi';
|
|
|
|
|
|
|
|
|
|
import cookie from 'react-cookies';
|
|
|
|
|
import Item from 'antd/lib/list/Item';
|
|
|
|
|
/**
|
|
|
|
|
* 添加培训
|
|
|
|
|
*
|
|
|
|
@ -106,11 +107,12 @@ const getJsonTree = (data: [], pId: number) => {
|
|
|
|
|
//console.log('f')
|
|
|
|
|
//console.log('node?.pId',node?.pId)
|
|
|
|
|
//console.log('pId',pId)
|
|
|
|
|
if (node?.pId === Number(pId)) {
|
|
|
|
|
if (Number(node?.pId) === Number(pId)) {
|
|
|
|
|
console.log('if')
|
|
|
|
|
const treeNode: children = {};
|
|
|
|
|
treeNode.value = node?.id;
|
|
|
|
|
treeNode.label = node?.name;
|
|
|
|
|
treeNode.name = node?.name;
|
|
|
|
|
treeNode.children = node?.children;
|
|
|
|
|
//treeNode.url = node.url;
|
|
|
|
|
//treeNode.icon = node.icon;
|
|
|
|
|
|
|
|
|
@ -124,6 +126,8 @@ const getJsonTree = (data: [], pId: number) => {
|
|
|
|
|
|
|
|
|
|
const TableList: React.FC = () => {
|
|
|
|
|
|
|
|
|
|
const provinceId = cookie.load('background_province_id') // 获取省份id
|
|
|
|
|
|
|
|
|
|
const { data, loading } = useRequest(() => {
|
|
|
|
|
return queryValueByKey({});
|
|
|
|
|
});
|
|
|
|
@ -170,10 +174,16 @@ const TableList: React.FC = () => {
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '培训对象',
|
|
|
|
|
valueType: 'select',
|
|
|
|
|
valueType: 'treeSelect',
|
|
|
|
|
hideInSearch: true,
|
|
|
|
|
fieldProps: {
|
|
|
|
|
mode: "multiple"
|
|
|
|
|
//mode: "multiple",
|
|
|
|
|
multiple: true,
|
|
|
|
|
treeNodeFilterProp: 'name',
|
|
|
|
|
fieldNames: {
|
|
|
|
|
label: 'name',
|
|
|
|
|
//value: 'id'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
formItemProps: {
|
|
|
|
|
rules: [
|
|
|
|
@ -195,7 +205,57 @@ const TableList: React.FC = () => {
|
|
|
|
|
setOrgTree(tree.table_List)
|
|
|
|
|
console.log('orgId', orgId)
|
|
|
|
|
console.log('tree.table_List', tree.table_List)
|
|
|
|
|
return getJsonTree(tree.table_List, orgId)
|
|
|
|
|
let treeData = []
|
|
|
|
|
//return getJsonTree(tree.table_List, orgId)
|
|
|
|
|
|
|
|
|
|
// 获取省级以下的全部机构单位
|
|
|
|
|
const {table_List} = await getEduUnitList({
|
|
|
|
|
area_id: provinceId,
|
|
|
|
|
edu_type: -1,
|
|
|
|
|
org_type: 2,
|
|
|
|
|
pageNumber: 1,
|
|
|
|
|
pageSize: 10000,
|
|
|
|
|
school_type: -1,
|
|
|
|
|
})
|
|
|
|
|
// 格式化机构单位数据
|
|
|
|
|
const unitData = table_List?.map(item=>{
|
|
|
|
|
return {pId: item?.AREA_ID, name:item?.ORG_NAME, id: item?.ORG_ID}
|
|
|
|
|
})
|
|
|
|
|
console.log('unit:', unitData)
|
|
|
|
|
|
|
|
|
|
// 获取市
|
|
|
|
|
const cityData = await getAsyncOrgTree({
|
|
|
|
|
org_id: provinceId,
|
|
|
|
|
org_type: 1,
|
|
|
|
|
get_next: 1
|
|
|
|
|
});
|
|
|
|
|
treeData = cityData?.map(item=>({
|
|
|
|
|
pId: Number(item?.pId),
|
|
|
|
|
name: item?.name,
|
|
|
|
|
id: Number(item?.id)
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
const areaData = []
|
|
|
|
|
//const areaIds = []; // 区域Id数组,用于过滤接口返回的非区下单位的垃圾数据
|
|
|
|
|
for(let i=0; i< cityData?.length; i++){
|
|
|
|
|
const _areaData = await getAsyncOrgTree({
|
|
|
|
|
org_id: cityData[i]?.id,
|
|
|
|
|
org_type: 2,
|
|
|
|
|
get_next: 1
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
areaData.push(..._areaData?.map(item=>({
|
|
|
|
|
pId: Number(item?.pId),
|
|
|
|
|
name: item?.name,
|
|
|
|
|
id: Number(item?.id),
|
|
|
|
|
children: [{ name:'hello', id:0}]//unitData?.filter(unit=>(Number(unit?.pId) === Number(item?.id)))
|
|
|
|
|
})))
|
|
|
|
|
//areaIds.push(..._areaData?.map(item=>(Number(item?.id))))
|
|
|
|
|
}
|
|
|
|
|
treeData.push(...areaData)
|
|
|
|
|
console.log('tree',treeData)
|
|
|
|
|
console.log('json', getJsonTree(treeData, provinceId))
|
|
|
|
|
return getJsonTree(treeData, provinceId)
|
|
|
|
|
},
|
|
|
|
|
sorter: false,
|
|
|
|
|
hideInForm: false,
|
|
|
|
|