|
@@ -1,38 +1,43 @@
|
|
import React, { useEffect, useRef, useState } from 'react';
|
|
import React, { useEffect, useRef, useState } from 'react';
|
|
-import { Button, Form, FormInstance, Input, Space, Tooltip, Upload } from 'antd';
|
|
|
|
|
|
+import { Button, Checkbox, Dropdown, Form, FormInstance, Input, Menu, Space, Tooltip, Tree, TreeProps, Upload } from 'antd';
|
|
import { ActionType, EditableFormInstance, ProColumns, ProFormInstance, ProTable } from '@ant-design/pro-components';
|
|
import { ActionType, EditableFormInstance, ProColumns, ProFormInstance, ProTable } from '@ant-design/pro-components';
|
|
import { baseFun, ContextMenu, DictTree, EditType, SDAreaTtile, SDButton, SDForm, SDFormDict, SDFormText, SDLayout, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTree } from '@sundata/ui-frame';
|
|
import { baseFun, ContextMenu, DictTree, EditType, SDAreaTtile, SDButton, SDForm, SDFormDict, SDFormText, SDLayout, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTree } from '@sundata/ui-frame';
|
|
import { SysFunButtonInfoModel } from '@/services/authMng/funcMng';
|
|
import { SysFunButtonInfoModel } from '@/services/authMng/funcMng';
|
|
-import { getDetail1, getFunTree1,save, rules_addone, rules_list, rwaCalcConfOffbalanceprotypeModel, rwaCalcConfOffbalanceprotyperuleModel, shunxu, save2, rules_modifyone, rules_deleteone, info_deleteone, jiaoyan } from '@/services/rwa/info_list';
|
|
|
|
|
|
+import { getDetail1, getFunTree1,save, rules_addone, rules_list, rwaCalcConfOffbalanceprotypeModel, rwaCalcConfOffbalanceprotyperuleModel, shunxu, save2, rules_modifyone, rules_deleteone, info_deleteone, jiaoyan, deleteFunc } from '@/services/rwa/info_list';
|
|
import { DataNode } from 'antd/lib/tree';
|
|
import { DataNode } from 'antd/lib/tree';
|
|
import { MenuInfo } from 'rc-menu/lib/interface';
|
|
import { MenuInfo } from 'rc-menu/lib/interface';
|
|
-import { WomanOutlined } from '@ant-design/icons';
|
|
|
|
-import { conforms, isNull } from 'lodash';
|
|
|
|
-import { number } from 'echarts';
|
|
|
|
|
|
+import { CheckSquareOutlined, CloseSquareTwoTone, DownOutlined, WomanOutlined } from '@ant-design/icons';
|
|
|
|
+import { conforms, isNull, toNumber } from 'lodash';
|
|
|
|
+import { JSX } from 'react/jsx-runtime';
|
|
|
|
+import DirectoryTree from 'antd/es/tree/DirectoryTree';
|
|
|
|
+import { UniversalModel } from '@/services/rdpMng/Template/common';
|
|
import { countChineseChars } from '@/services/rwa/product/rwacheckutils';
|
|
import { countChineseChars } from '@/services/rwa/product/rwacheckutils';
|
|
|
|
+
|
|
//const tableRef = useRef<EditableFormInstance>();
|
|
//const tableRef = useRef<EditableFormInstance>();
|
|
|
|
|
|
type aaa ={
|
|
type aaa ={
|
|
ismini ?:any;
|
|
ismini ?:any;
|
|
offobjectNo ?:any;
|
|
offobjectNo ?:any;
|
|
|
|
+ offobjectSuper ?:any;
|
|
}
|
|
}
|
|
-
|
|
|
|
const infolist: React.FC<aaa> = (prop :aaa) => {
|
|
const infolist: React.FC<aaa> = (prop :aaa) => {
|
|
-
|
|
|
|
|
|
+ const [selectedNode, setSelectedNode] = useState(null);
|
|
/** 编辑方式,查看、修改、新增按钮时设置,详细信息表单中使用 */
|
|
/** 编辑方式,查看、修改、新增按钮时设置,详细信息表单中使用 */
|
|
const [editType, setEditType] = useState<EditType>('update');
|
|
const [editType, setEditType] = useState<EditType>('update');
|
|
const formRef = useRef<FormInstance<any>>();
|
|
const formRef = useRef<FormInstance<any>>();
|
|
- const [treeData, setTreeData] = useState<DictTree[]>();
|
|
|
|
|
|
+ const [treeData1, setTreeData1] = useState<DictTree[]>();
|
|
|
|
+
|
|
|
|
+ const [selectTreeKeys, setSelectTreeKeys] = useState<any[]>([]);
|
|
|
|
+ //var dataRe :DictTree[];
|
|
|
|
|
|
const formRef1 = useRef<FormInstance<any>>();
|
|
const formRef1 = useRef<FormInstance<any>>();
|
|
- const formRef3 = useRef<FormInstance<any>>();
|
|
|
|
const [visible1,setVisible1] = useState<boolean>(false);//弹窗是否显示
|
|
const [visible1,setVisible1] = useState<boolean>(false);//弹窗是否显示
|
|
const [visible2,setVisible2] = useState<boolean>(false);//弹窗是否显示
|
|
const [visible2,setVisible2] = useState<boolean>(false);//弹窗是否显示
|
|
|
|
|
|
const [editType1, setEditType1] = useState<EditType>('update');
|
|
const [editType1, setEditType1] = useState<EditType>('update');
|
|
const [ismini1,setIsmini1] =useState<boolean>(false);
|
|
const [ismini1,setIsmini1] =useState<boolean>(false);
|
|
|
|
|
|
- const [count1,setCount1] = useState<string>();
|
|
|
|
|
|
+ const [editRuleNo, setEditRuleNo] = useState<any>();
|
|
|
|
|
|
// const leaf = useRef('1');
|
|
// const leaf = useRef('1');
|
|
// const levelcode = useRef(0);
|
|
// const levelcode = useRef(0);
|
|
@@ -43,55 +48,90 @@ const formRef2 = useRef<FormInstance<any>>();
|
|
const [state1,setState1] = useState<String>();
|
|
const [state1,setState1] = useState<String>();
|
|
|
|
|
|
const [dataSource, setDataSource] = useState<any>() ;
|
|
const [dataSource, setDataSource] = useState<any>() ;
|
|
|
|
+
|
|
|
|
+const [offobjec,setOffobjec]=useState<boolean>(false);
|
|
|
|
+
|
|
|
|
+
|
|
const [mockData, setMockData] = useState<rwaCalcConfOffbalanceprotyperuleModel[]>([]);
|
|
const [mockData, setMockData] = useState<rwaCalcConfOffbalanceprotyperuleModel[]>([]);
|
|
- let runtimeEditType: EditType;
|
|
|
|
|
|
|
|
- const [count,setCount] = useState<number>(0);
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
- refreshTree().then((data) => {
|
|
|
|
- console.log(data);
|
|
|
|
|
|
+
|
|
|
|
+ refreshTree().then((data) => {
|
|
|
|
+ setTreeData1(data =>{
|
|
|
|
+ console.log(treeData1);
|
|
|
|
+return data;
|
|
|
|
+ });
|
|
formInit(data[0].value);
|
|
formInit(data[0].value);
|
|
});
|
|
});
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
}, []);
|
|
}, []);
|
|
|
|
|
|
|
|
|
|
|
|
+ const [selectedKeys, setSelectedKeys] = useState([]);
|
|
|
|
+
|
|
|
|
+ // const handleTreeCheck = (event:any, nodeIds:any) => {
|
|
|
|
+ // setSelectedKeys(nodeIds);
|
|
|
|
+ // };
|
|
|
|
+
|
|
const closeAndRefresh1 = ()=>{
|
|
const closeAndRefresh1 = ()=>{
|
|
setVisible1(false);
|
|
setVisible1(false);
|
|
actionRef1.current?.reloadAndRest?.();
|
|
actionRef1.current?.reloadAndRest?.();
|
|
}
|
|
}
|
|
|
|
|
|
- const formInit = async (offobjectNo?: string) => {
|
|
|
|
- const data = await getDetail1({offobjectNo});
|
|
|
|
- if (!data.buttonList) data.buttonList = [];
|
|
|
|
|
|
+ const formInit = async (offobjectNo : any) => {
|
|
|
|
+ const data1 = await getDetail1(offobjectNo);
|
|
|
|
+ if (!data1.buttonList) data1.buttonList = [];
|
|
let i = 0;
|
|
let i = 0;
|
|
- data.buttonList = data.buttonList.map((item) => {
|
|
|
|
|
|
+ data1.buttonList = data1.buttonList.map((item:any) => {
|
|
i += 1;
|
|
i += 1;
|
|
return { ...item, id: i };
|
|
return { ...item, id: i };
|
|
});
|
|
});
|
|
- setMockData(data.buttonList);
|
|
|
|
- setState1(data.offobjectNo);
|
|
|
|
- formRef.current?.setFieldsValue(data);
|
|
|
|
- if(data.ismini=='0'){
|
|
|
|
|
|
+ setMockData(data1.buttonList);
|
|
|
|
+ setState1(data1.offobjectNo);
|
|
|
|
+ formRef.current?.setFieldsValue(data1);
|
|
|
|
+ if(data1.ismini=='0'){
|
|
setIsmini1(false);
|
|
setIsmini1(false);
|
|
setVisible2(false);
|
|
setVisible2(false);
|
|
}else{
|
|
}else{
|
|
setIsmini1(true);
|
|
setIsmini1(true);
|
|
setVisible2(true);}
|
|
setVisible2(true);}
|
|
- //leaf.current = data.leaf || '1';
|
|
|
|
- // levelcode.current = data.levelcode || 0;
|
|
|
|
|
|
+ if(data1.offobjectSuper!='' && data1.offobjectSuper!=undefined){
|
|
|
|
+ setOffobjec(false);
|
|
|
|
+ }else{
|
|
|
|
+ setOffobjec(true);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
- const fontColor = { color: '#ff0000' }; // 红色
|
|
|
|
|
|
+
|
|
const refreshTree = async () => {
|
|
const refreshTree = async () => {
|
|
- const newTree = await getFunTree1();
|
|
|
|
- setTreeData(newTree);
|
|
|
|
- return newTree;
|
|
|
|
|
|
+ const dataRe= await getFunTree1();
|
|
|
|
+ formatArray(dataRe);
|
|
|
|
+ setTreeData1(dataRe);
|
|
|
|
+ return dataRe;
|
|
};
|
|
};
|
|
-
|
|
|
|
|
|
|
|
- const inst2 = async(formDate:rwaCalcConfOffbalanceprotyperuleModel)=>{
|
|
|
|
- const res =await rules_addone(formDate);
|
|
|
|
|
|
+ // 复选框选中key值
|
|
|
|
+ const checkedSelectTreeKeys = (checkedKeys:any, e:any) => {
|
|
|
|
+ setSelectTreeKeys(checkedKeys);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// 树结构图标初始化(新增和废除)
|
|
|
|
+function formatArray (arr:DictTree[]) {
|
|
|
|
+ arr.forEach((item) => {
|
|
|
|
+ if(Array.isArray(item.children)==false){
|
|
|
|
+ if (item.attribute == '0') {
|
|
|
|
+ item.icon=<CloseSquareTwoTone/>;
|
|
|
|
+ } else {
|
|
|
|
+ item.icon= <CheckSquareOutlined style={{color:'blue'}}/>;
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ Array.isArray(item.children) ? formatArray(item.children) : item;
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+ const inst2 = async(formData:rwaCalcConfOffbalanceprotyperuleModel)=>{
|
|
|
|
+ await rules_addone(formData)
|
|
actionRef1.current?.reloadAndRest?.();
|
|
actionRef1.current?.reloadAndRest?.();
|
|
const res1 =await rules_list(state1);
|
|
const res1 =await rules_list(state1);
|
|
setMockData(res1)
|
|
setMockData(res1)
|
|
@@ -108,7 +148,7 @@ const [dataSource, setDataSource] = useState<any>() ;
|
|
const deldata1 =async(record:any)=>{
|
|
const deldata1 =async(record:any)=>{
|
|
baseFun.confirm("请确认是否继续操作",async()=>{
|
|
baseFun.confirm("请确认是否继续操作",async()=>{
|
|
const sd = await rules_deleteone(record.ruleNo)
|
|
const sd = await rules_deleteone(record.ruleNo)
|
|
- setEditType1('update');
|
|
|
|
|
|
+ setEditType1('update');
|
|
// refreshTree().then((data) => {
|
|
// refreshTree().then((data) => {
|
|
const sd1=await rules_list(state1);
|
|
const sd1=await rules_list(state1);
|
|
setMockData(sd1);
|
|
setMockData(sd1);
|
|
@@ -117,57 +157,95 @@ baseFun.confirm("请确认是否继续操作",async()=>{
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-const menu: ContextMenu[] = [
|
|
|
|
- {
|
|
|
|
- key: 'create',
|
|
|
|
- label: '新建',
|
|
|
|
- method: async (node) => {
|
|
|
|
- const offobjectNo = node.key as string;
|
|
|
|
- console.log('-----')
|
|
|
|
- // const data = await getDetail1({ offobjectNo });
|
|
|
|
- // levelcode.current = data.levelcode || 0;
|
|
|
|
- // 点击右键菜单后,会先执行 onRightClick 获取所选菜单信息,这里直接使用即可
|
|
|
|
- setEditType('create');
|
|
|
|
- runtimeEditType = 'create';
|
|
|
|
- // 设置新增初始值
|
|
|
|
- formRef.current?.setFieldsValue({
|
|
|
|
- offobjectNo: '',
|
|
|
|
- offobjectName: '',
|
|
|
|
- offobjectSuper: offobjectNo,
|
|
|
|
- offobjectSuperName: node.title?.toString(),
|
|
|
|
- offobjectStageId:'',
|
|
|
|
- offobjectIndex:'',
|
|
|
|
- defaultOut:'',
|
|
|
|
- ismini:'' ,
|
|
|
|
- ccf: '',
|
|
|
|
- yesorno:'1'
|
|
|
|
- });
|
|
|
|
- if(editType =='create'){
|
|
|
|
- setMockData([]);
|
|
|
|
- }
|
|
|
|
- // leaf.current = '1';
|
|
|
|
- // levelcode.current = levelcode.current + 1;
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- key: 'delete',
|
|
|
|
- label: '删除',
|
|
|
|
- method: async (node) => {
|
|
|
|
- const funccode = node.key as string;
|
|
|
|
- if (node.children) {
|
|
|
|
- baseFun.warning('请先删除所有下级节点');
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- if (treeData?.length === 1 && !treeData[0].children) {
|
|
|
|
- baseFun.warning('不能删除根节点');
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- await info_deleteone(funccode);
|
|
|
|
|
|
+ // 新建节点
|
|
|
|
+ const createNode = (node: DictTree) => {
|
|
|
|
+ const offobjectNo = node.key as any;
|
|
|
|
+
|
|
|
|
+ console.log('-----')
|
|
|
|
+ // const data = await getDetail1({ offobjectNo });
|
|
|
|
+ // levelcode.current = data.levelcode || 0;
|
|
|
|
+ // 点击右键菜单后,会先执行 onRightClick 获取所选菜单信息,这里直接使用即可
|
|
|
|
+ setEditType('create');
|
|
|
|
+ // 设置新增初始值
|
|
|
|
+ formRef.current?.setFieldsValue({
|
|
|
|
+ offobjectNo: '',
|
|
|
|
+ offobjectName: '',
|
|
|
|
+ offobjectSuper: offobjectNo,
|
|
|
|
+ offobjectSuperName: node.title?.toString(),
|
|
|
|
+ offobjectStageId:'',
|
|
|
|
+ offobjectIndex:'',
|
|
|
|
+ defaultOut:'',
|
|
|
|
+ ismini:'' ,
|
|
|
|
+ ccf: '',
|
|
|
|
+ yesorno:'生效'
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ setMockData([]);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // // 废除节点
|
|
|
|
+ // const deleteNode = (node: DictTree) => {
|
|
|
|
+ // const funccode = node.key;
|
|
|
|
+ // if (node.children) {
|
|
|
|
+ // baseFun.warning('请先作废所有下级节点');
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // if (treeData1?.length === 1 && !treeData1[0].children) {
|
|
|
|
+ // baseFun.warning('不能作废根节点');
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
|
|
+ // baseFun.confirm("请确认是否继续操作", ()=>{ deleteFunc(funccode).then(()=>{
|
|
|
|
+ // baseFun.info("作废成功");
|
|
|
|
+ // refreshTree();
|
|
|
|
+ // });
|
|
|
|
+ // });
|
|
|
|
+
|
|
|
|
+ // }
|
|
|
|
+
|
|
|
|
+ // 废除节点
|
|
|
|
+ const deleteNode = (node: DictTree) => {
|
|
|
|
+ if (selectTreeKeys.length > 0) {
|
|
|
|
+ baseFun.confirm("请确认是否继续操作", ()=>{ deleteFunc(selectTreeKeys).then(()=>{
|
|
|
|
+ baseFun.info("作废成功");
|
|
refreshTree();
|
|
refreshTree();
|
|
- },
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- ];
|
|
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ const funccode = node.key;
|
|
|
|
+ selectTreeKeys.push(funccode);
|
|
|
|
+ setSelectTreeKeys(selectTreeKeys);
|
|
|
|
+ if (node.children) {
|
|
|
|
+ baseFun.warning('请先作废所有下级节点');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (treeData1?.length === 1 && !treeData1[0].children) {
|
|
|
|
+ baseFun.warning('不能作废根节点');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ baseFun.confirm("请确认是否继续操作", ()=>{ deleteFunc(selectTreeKeys).then(()=>{
|
|
|
|
+ baseFun.info("作废成功");
|
|
|
|
+ refreshTree();
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+const items: any[] = [
|
|
|
|
+ {
|
|
|
|
+ label: <a>新建</a>,
|
|
|
|
+ key: 'create',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: <a>作废</a>,
|
|
|
|
+ key: 'delete',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ type: 'divider',
|
|
|
|
+ },
|
|
|
|
+];
|
|
|
|
+
|
|
|
|
|
|
const btnColumns: ProColumns<rwaCalcConfOffbalanceprotyperuleModel>[] = [
|
|
const btnColumns: ProColumns<rwaCalcConfOffbalanceprotyperuleModel>[] = [
|
|
{ title : '计算实例号',
|
|
{ title : '计算实例号',
|
|
@@ -309,30 +387,41 @@ const menu: ContextMenu[] = [
|
|
await save2(mockData,formData)
|
|
await save2(mockData,formData)
|
|
}
|
|
}
|
|
|
|
|
|
- const xuhao = async(state1:any) => {
|
|
|
|
- const sd = state1;
|
|
|
|
- let aa = await shunxu(sd);
|
|
|
|
- console.log(aa);
|
|
|
|
- formRef2.current?.setFieldValue('ruleNo',aa)
|
|
|
|
- // return setCount1(aa);
|
|
|
|
-
|
|
|
|
|
|
+// 编辑规则编号
|
|
|
|
+const setRuleNoAdd = () => {
|
|
|
|
+ let lastEditRuleNo ="";
|
|
|
|
+ if (mockData !== null || mockData !== undefined) {
|
|
|
|
+ if (mockData?.length == 0) {
|
|
|
|
+ lastEditRuleNo = "BWXM" + state1 + String('001');
|
|
|
|
+ } else {
|
|
|
|
+ let lastNo = mockData?.filter((item)=>{
|
|
|
|
+ return item.ruleNo == mockData[mockData.length-1].ruleNo;
|
|
|
|
+ })[0].ruleNo;
|
|
|
|
+ let numberNo = lastNo?.substring(lastNo.length-3,lastNo.length);
|
|
|
|
+ let castnumber = toNumber(numberNo);
|
|
|
|
+ castnumber = castnumber+1;
|
|
|
|
+ lastEditRuleNo = "BWXM" + state1 + castnumber.toString().padStart(3,'0');
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ } else {
|
|
|
|
+ lastEditRuleNo = "BWXM" + state1 + String('001');
|
|
|
|
+ }
|
|
|
|
+ setEditRuleNo(lastEditRuleNo);
|
|
|
|
+ // formRef2.current?.setFieldValue('ruleNo',lastEditRuleNo)
|
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- const handleSelect =async(node: DataNode)=>{
|
|
|
|
- // const editingRows = tableRef.current?.getRowsData?.();
|
|
|
|
- // if (editingRows && editingRows.length > 0) {
|
|
|
|
- // baseFun.warning('参数列表中有正在编辑的参数,请确认或取消修改后再切换');
|
|
|
|
- // return;
|
|
|
|
- // }
|
|
|
|
- const funccode = node.key as string;
|
|
|
|
|
|
+ const onNodeClick = async(node:any) => {
|
|
|
|
+ setSelectedNode(node); // 设置选中的节点
|
|
|
|
+ const funccode = node[0] as string;
|
|
// 右键菜单点击新增按钮后,再点击树节点时,需要重置editType
|
|
// 右键菜单点击新增按钮后,再点击树节点时,需要重置editType
|
|
setEditType('update');
|
|
setEditType('update');
|
|
// formRef.current?.resetFields(); TODO 尝试配合request解决表单内容不刷新问题
|
|
// formRef.current?.resetFields(); TODO 尝试配合request解决表单内容不刷新问题
|
|
formRef.current?.setFieldsValue(await formInit(funccode));
|
|
formRef.current?.setFieldsValue(await formInit(funccode));
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
return(
|
|
return(
|
|
<SDPage footer={[<SDSubmitButton successMessage='' editType={editType} formRef={formRef} doSubmit={handleSave} >保存</SDSubmitButton>]}>
|
|
<SDPage footer={[<SDSubmitButton successMessage='' editType={editType} formRef={formRef} doSubmit={handleSave} >保存</SDSubmitButton>]}>
|
|
<SDLayout subLayout='horizontal' >
|
|
<SDLayout subLayout='horizontal' >
|
|
@@ -341,7 +430,41 @@ const menu: ContextMenu[] = [
|
|
colSpan='25%'
|
|
colSpan='25%'
|
|
fixHeight
|
|
fixHeight
|
|
>
|
|
>
|
|
- <SDTree treeData={treeData} handleSelect={handleSelect} contextMenus={menu} />
|
|
|
|
|
|
+ <DirectoryTree treeData={treeData1} onSelect={onNodeClick} checkable showLine={true} onCheck={checkedSelectTreeKeys} autoExpandParent={true}
|
|
|
|
+ // onCheck={handleTreeCheck}
|
|
|
|
+ //checkedKeys={selectedKeys}
|
|
|
|
+
|
|
|
|
+// MenuProps={{
|
|
|
|
+// selectedKeys: selectedKeys,
|
|
|
|
+// }}
|
|
|
|
+ titleRender={(nodeData) => {
|
|
|
|
+ console.log(selectTreeKeys);
|
|
|
|
+ return (
|
|
|
|
+ <Dropdown menu={{ items, onClick: (e) => {
|
|
|
|
+ console.log(e.key,selectTreeKeys)
|
|
|
|
+ if (e.key == 'create') {
|
|
|
|
+ createNode(nodeData);
|
|
|
|
+ e.domEvent.stopPropagation();
|
|
|
|
+ } else if (e.key == 'delete') {
|
|
|
|
+ deleteNode(nodeData);
|
|
|
|
+ e.domEvent.stopPropagation();
|
|
|
|
+ }
|
|
|
|
+ }}} trigger={['contextMenu']}
|
|
|
|
+ >
|
|
|
|
+ <span>{nodeData.title}</span>
|
|
|
|
+ </Dropdown>
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ }}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ onRightClick={({event, node}: any) => {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+ }}
|
|
|
|
+ />
|
|
|
|
+
|
|
|
|
+
|
|
</SDLayout>
|
|
</SDLayout>
|
|
<SDLayout
|
|
<SDLayout
|
|
title='表外项目分类信息维护'
|
|
title='表外项目分类信息维护'
|
|
@@ -373,7 +496,7 @@ const menu: ContextMenu[] = [
|
|
<SDFormDict name="ismini" label="是否最细一级" required dictKey='YESORNO'/>
|
|
<SDFormDict name="ismini" label="是否最细一级" required dictKey='YESORNO'/>
|
|
{ismini1&&(<SDFormText name="ccf" label="转换系数(%)" required={ismini1} />)}
|
|
{ismini1&&(<SDFormText name="ccf" label="转换系数(%)" required={ismini1} />)}
|
|
<SDFormText name="defaultOut" label="默认输出数据源" required />
|
|
<SDFormText name="defaultOut" label="默认输出数据源" required />
|
|
-<SDFormText name="offobjectStageId" label="所属阶段" required />
|
|
|
|
|
|
+{offobjec &&<SDFormText name="offobjectStageId" label="所属阶段" required ={offobjec}/>}
|
|
<SDFormText name="offobjectIndex" label="认定顺序号" required />
|
|
<SDFormText name="offobjectIndex" label="认定顺序号" required />
|
|
<SDFormText name="yesorno" label="状态" readonlyCond='both'/>
|
|
<SDFormText name="yesorno" label="状态" readonlyCond='both'/>
|
|
</SDForm>
|
|
</SDForm>
|
|
@@ -384,9 +507,9 @@ const menu: ContextMenu[] = [
|
|
search={false}
|
|
search={false}
|
|
columns={btnColumns}
|
|
columns={btnColumns}
|
|
actionRef={actionRef1}
|
|
actionRef={actionRef1}
|
|
- dataSource={mockData}
|
|
|
|
|
|
+ dataSource={mockData || []}
|
|
onChange={setDataSource}
|
|
onChange={setDataSource}
|
|
- request={(async (state1:any)=>{
|
|
|
|
|
|
+ request={(async ()=>{
|
|
// if(editType!='create' ){
|
|
// if(editType!='create' ){
|
|
// const res1 =await rules_list(state1);
|
|
// const res1 =await rules_list(state1);
|
|
// setMockData(res1)
|
|
// setMockData(res1)
|
|
@@ -395,7 +518,7 @@ const menu: ContextMenu[] = [
|
|
return {data:mockData};
|
|
return {data:mockData};
|
|
// }
|
|
// }
|
|
})}
|
|
})}
|
|
- toolBarRender={(_, { selectedRowKeys }) => {
|
|
|
|
|
|
+ toolBarRender={(_) => {
|
|
return[
|
|
return[
|
|
<span style={editType=='display'?{display:'none'}:{}}>
|
|
<span style={editType=='display'?{display:'none'}:{}}>
|
|
<SDButton
|
|
<SDButton
|
|
@@ -403,9 +526,10 @@ const menu: ContextMenu[] = [
|
|
successMessage=''
|
|
successMessage=''
|
|
icon={<WomanOutlined />}
|
|
icon={<WomanOutlined />}
|
|
onClick={async() => {
|
|
onClick={async() => {
|
|
- xuhao(state1)
|
|
|
|
|
|
+ // xuhao(state1)
|
|
setVisible1(true);
|
|
setVisible1(true);
|
|
setEditType1('create');
|
|
setEditType1('create');
|
|
|
|
+ setRuleNoAdd()
|
|
// formRef2.current?.setFieldValue("ruleNo",count1)
|
|
// formRef2.current?.setFieldValue("ruleNo",count1)
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
@@ -426,7 +550,7 @@ const menu: ContextMenu[] = [
|
|
<SDButton successMessage="" onClick={() => closeAndRefresh1()}>关闭</SDButton>]} onVisibleChange={()=>{setVisible1(false); } }
|
|
<SDButton successMessage="" onClick={() => closeAndRefresh1()}>关闭</SDButton>]} onVisibleChange={()=>{setVisible1(false); } }
|
|
>
|
|
>
|
|
<SDLayout>
|
|
<SDLayout>
|
|
-<SDForm editType={editType1} formRef={formRef2} >
|
|
|
|
|
|
+<SDForm editType={editType1} formRef={formRef2} initialValues={{ruleNo:editRuleNo,offobjectNo:state1}} >
|
|
<span style={{display:'none'}}>
|
|
<span style={{display:'none'}}>
|
|
<SDFormText name="calcindex" label="计算实例号" />
|
|
<SDFormText name="calcindex" label="计算实例号" />
|
|
<SDFormText name="sdate" label="起始数据日期" />
|
|
<SDFormText name="sdate" label="起始数据日期" />
|
|
@@ -463,4 +587,7 @@ const menu: ContextMenu[] = [
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
-export default infolist;
|
|
|
|
|
|
+export default infolist;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|