|
@@ -1,18 +1,19 @@
|
|
|
-import React, { useEffect, useRef, useState } from 'react';
|
|
|
-import { Button, Form, FormInstance, Input, Space, Tooltip, Upload } from 'antd';
|
|
|
-import { ActionType, ProColumns, ProFormInstance } from '@ant-design/pro-components';
|
|
|
+import React, { Key, useEffect, useRef, useState } from 'react';
|
|
|
+import { Button, Form, FormInstance, Input, Radio, Space, Table, Tooltip, Upload } from 'antd';
|
|
|
+import { ActionType, ProColumns, ProFormInstance, ProTable } from '@ant-design/pro-components';
|
|
|
import { baseFun, EditType, SDAreaTtile, SDButton, SDForm, SDFormDict, SDFormSearch, SDFormText, SDLayout, SDModal, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTable, validateFun } from '@sundata/ui-frame';
|
|
|
-import { diffconfig_deleteone, difftoleranceModel, rule_list, rule_list1, rule_querylist, rule_queryone } from '@/services/rwa/diffconfig_list';
|
|
|
+import { diffconfig_addone, diffconfig_addone1, diffconfig_deleteone, difftoleranceModel, most, resultListModel, rule_list, rule_list1, rule_querylist, rule_queryone } from '@/services/rwa/diffconfig_list';
|
|
|
import { useModel } from '@umijs/max';
|
|
|
import { WomanOutlined } from '@ant-design/icons';
|
|
|
import { RuleObject } from 'antd/lib/form';
|
|
|
-import { resultListModel } from '@/services/rwa/result_list';
|
|
|
import Footer from '@/components/Footer';
|
|
|
|
|
|
type aaa = {
|
|
|
lowerLimit ?:any;
|
|
|
upperLimit ?:any;
|
|
|
ruleAreaType ?:any;
|
|
|
+ ruleNo ?:any;
|
|
|
+ ruleId ?:any;
|
|
|
onCancel: () => void;
|
|
|
onChangeVisible(visible: boolean, type: string): unknown;
|
|
|
onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
|
|
@@ -22,32 +23,53 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
var formDataList = new Array<difftoleranceModel>;
|
|
|
var formDataList1 = new Array<resultListModel>;
|
|
|
|
|
|
+
|
|
|
const [windowProps, setWindowProps] = useState<{
|
|
|
//selectedRowKeys: React.Key[];
|
|
|
- selectedRows: resultListModel[];
|
|
|
+ //selectedRows: resultListModel[];
|
|
|
}>({ selectedRows: [] });
|
|
|
-
|
|
|
+
|
|
|
const [visible,setVisible] = useState<boolean>(false);//弹窗是否显示
|
|
|
const [visible1,setVisible1] = useState<boolean>(false);//弹窗是否显示
|
|
|
const [visible2,setVisible2] = useState<boolean>(false);//弹窗是否显示
|
|
|
const formRef = useRef<FormInstance<any>>();
|
|
|
const [editType, setEditType] = useState<EditType>('update');
|
|
|
|
|
|
+ const parentformRef = useRef<FormInstance<any>>();
|
|
|
+ const childenformRef= useRef<FormInstance<any>>();
|
|
|
+
|
|
|
+ const [mockData, setMockData] = useState<resultListModel[]>([]);
|
|
|
+
|
|
|
+ const [tableData, setTableData] = useState(mockData);
|
|
|
+
|
|
|
/** 当前行对象,查看详情、修改时,作为详细信息表单的查询条件 */
|
|
|
- const [currentRow, setCurrentRow] = useState<difftoleranceModel>();
|
|
|
+ const [currentRow, setCurrentRow] = useState<resultListModel>();
|
|
|
|
|
|
const actionRef = useRef<ActionType>();
|
|
|
const { fetchDict } = useModel('dict');
|
|
|
|
|
|
+ const [selectedValue, setSelectedValue] = useState('');
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ const [allSelectedRowKeys, setAllSelectedRowKeys] = useState<Key[]>();
|
|
|
+
|
|
|
+
|
|
|
const selectdata = async (record:any)=>{
|
|
|
- const sd =await rule_queryone(record.ruleId);
|
|
|
- formRef.current?.setFieldsValue(sd);
|
|
|
+ const sd =await rule_queryone(record.ruleNo);
|
|
|
+ parentformRef.current?.setFieldsValue(sd.result1[0]);
|
|
|
+ if(editType==='update')
|
|
|
+ {setMockData(sd.result2);
|
|
|
+ } else {
|
|
|
+ setMockData([]);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
const deldata = async (record:any)=>{
|
|
|
baseFun.confirm("请确认是否继续操作",async()=>{
|
|
|
- await diffconfig_deleteone(record.ruleId);
|
|
|
+ await diffconfig_deleteone(record.ruleNo);
|
|
|
})
|
|
|
}
|
|
|
|
|
@@ -60,16 +82,22 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
const upperLimit =(_?: RuleObject, value?: any)=>{
|
|
|
|
|
|
}
|
|
|
- const inst = async(formData : resultListModel) => {
|
|
|
+ const inst = async(formData : difftoleranceModel) => {
|
|
|
setEditType('create')
|
|
|
- const ResultList =await rule_addone(formData)
|
|
|
- if("规则编号已重复,请重新输入"===ResultList){
|
|
|
- baseFun.warning(ResultList);
|
|
|
- }else{
|
|
|
- baseFun.info(ResultList);
|
|
|
- closeAndRefresh();
|
|
|
- }
|
|
|
+ // const ResultList =await rule_addone(formData)
|
|
|
+ // if("规则编号已重复,请重新输入"===ResultList){
|
|
|
+ // baseFun.warning(ResultList);
|
|
|
+ // }else{
|
|
|
+ // baseFun.info(ResultList);
|
|
|
+ // closeAndRefresh();
|
|
|
+ // }
|
|
|
|
|
|
+ await diffconfig_addone(formData);
|
|
|
+ var obg ={...mockData,ruleNo:formData.ruleNo}
|
|
|
+ inst1(formData.ruleNo,obg);
|
|
|
+ }
|
|
|
+ const inst1 = async(ruleNo:any,obg:any)=>{
|
|
|
+ await diffconfig_addone1(ruleNo,mockData);
|
|
|
}
|
|
|
const columns: ProColumns<difftoleranceModel>[] = [
|
|
|
{ title : '计算实例号',
|
|
@@ -152,9 +180,9 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
successMessage=""
|
|
|
|
|
|
onClick={()=>{
|
|
|
- selectdata(record);
|
|
|
- setVisible(true);
|
|
|
- setEditType('update')
|
|
|
+ setEditType('update');
|
|
|
+ selectdata(record);
|
|
|
+ setVisible(true);
|
|
|
} }
|
|
|
>
|
|
|
修改
|
|
@@ -188,11 +216,10 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
dataIndex : 'subjectDesc',
|
|
|
width : 150
|
|
|
},
|
|
|
-
|
|
|
|
|
|
]
|
|
|
|
|
|
- const columns2: ProColumns<difftoleranceModel>[] = [
|
|
|
+ const columns2: ProColumns<resultListModel>[] = [
|
|
|
{ title : '规则编号',
|
|
|
dataIndex : 'ruleId',
|
|
|
search:false,
|
|
@@ -220,12 +247,23 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
request: () => fetchDict('ONOROFF'),//码值后续添加
|
|
|
width : 150
|
|
|
},
|
|
|
+
|
|
|
]
|
|
|
- const aa=async()=>{
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ const removeRow = (key: any) => {
|
|
|
+ const String =`${key.join(' ')}`;
|
|
|
+ setMockData(mockData .filter((item) => item.ruleId !== String));
|
|
|
+ };
|
|
|
+
|
|
|
+ const rule_list11 =async(formData : resultListModel)=>{
|
|
|
+ const sd = await rule_list(formData);
|
|
|
+ formDataList1=[...sd];
|
|
|
+ setMockData(formDataList1)
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
return(
|
|
|
<SDPage>
|
|
@@ -234,6 +272,7 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
request={async(formData : difftoleranceModel)=>{
|
|
|
const sd = await rule_querylist(formData);
|
|
|
formDataList =[...sd];
|
|
|
+
|
|
|
return {data :sd };
|
|
|
}}
|
|
|
columns={columns}
|
|
@@ -249,6 +288,7 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
onClick={() => {
|
|
|
setVisible(true);
|
|
|
setEditType('create');
|
|
|
+ setVisible2(false);
|
|
|
}}
|
|
|
>
|
|
|
新增
|
|
@@ -257,15 +297,16 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
/>
|
|
|
{visible &&(
|
|
|
|
|
|
- <SDModalForm title={''} visible={visible} editType={editType} onVisibleChange={() => { setVisible(false);}
|
|
|
+ <SDModalForm title={''} visible={visible} editType={editType} onVisibleChange={() => { closeAndRefresh(); setVisible(false); }
|
|
|
}
|
|
|
- footer={[<SDSubmitButton editType={editType} formRef={formRef} successMessage="" doSubmit={inst} >保存</SDSubmitButton>,
|
|
|
+ footer={[<SDSubmitButton editType={editType} formRef={parentformRef} successMessage="" doSubmit={inst} >保存</SDSubmitButton>,
|
|
|
<SDButton successMessage="" onClick={()=>closeAndRefresh()} >关闭</SDButton>
|
|
|
]}
|
|
|
>
|
|
|
- <SDAreaTtile title='差异容忍度规则新增'/>
|
|
|
+ <SDAreaTtile title='差异容忍度规则新增' />
|
|
|
{
|
|
|
- <SDForm editType={editType} formRef={formRef} onValuesChange={(changedValues,Values)=>{
|
|
|
+
|
|
|
+ <SDForm editType={editType} formRef={parentformRef} onValuesChange={(changedValues,Values)=>{
|
|
|
if(Values.upperLimit!="" && Values.lowerLimit!="" && Values.upperLimit!=undefined && Values.lowerLimit!=undefined){
|
|
|
const upperLimit =Values.upperLimit;
|
|
|
const lowerLimit =Values.lowerLimit;
|
|
@@ -287,43 +328,48 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
}
|
|
|
}
|
|
|
>
|
|
|
- <SDFormText name="ruleNo" label="规则编号" />
|
|
|
- <SDFormText name="ruleName" label="规则名称" />
|
|
|
- <SDFormText name="upperLimit" label="容忍度下限%" />
|
|
|
- <SDFormText name="lowerLimit" label="容忍度上限%" />
|
|
|
- <SDFormDict name="intervalType" label="区间开闭类型" dictKey='limitinterval'/>
|
|
|
- <SDFormDict name="ruleAreaType" label="适用范围类型" dictKey='RULE_AREA_TYPE' />
|
|
|
+ <SDFormText name="ruleNo" label="规则编号" required readonlyCond='update'/>
|
|
|
+ <SDFormText name="ruleName" label="规则名称" required />
|
|
|
+ <SDFormDict name="ruleAreaType" label="适用范围类型" dictKey='RULE_AREA_TYPE' required/>
|
|
|
+ <SDFormDict name="intervalType" label="区间开闭类型" dictKey='limitinterval' required/>
|
|
|
+ <SDFormText name="lowerLimit" label="容忍度上限%" required />
|
|
|
+ <SDFormText name="upperLimit" label="容忍度下限%" required/>
|
|
|
</SDForm>
|
|
|
}
|
|
|
<SDAreaTtile title='总分勾稽规则列表' />
|
|
|
<SDLayout>
|
|
|
- <SDTable
|
|
|
- rowKey="custName"
|
|
|
+ <ProTable
|
|
|
+ rowKey="ruleId"
|
|
|
search={false}
|
|
|
+ dataSource={mockData}
|
|
|
request={async(formData : resultListModel)=>{
|
|
|
const sd = await rule_list(formData);
|
|
|
- formDataList1 =[...sd];
|
|
|
- return {data :sd };
|
|
|
- }}
|
|
|
+ formDataList1=[...sd];
|
|
|
+ if(editType==='update')
|
|
|
+ {setMockData(sd);
|
|
|
+ } else {
|
|
|
+ setMockData([]);
|
|
|
+ }
|
|
|
+ return {data:sd}}}
|
|
|
columns={columns1}
|
|
|
-
|
|
|
- // singleSelect={false}
|
|
|
- // operations={["create"]}
|
|
|
- // displayColumn="custName"
|
|
|
+ //singleSelect={false}
|
|
|
actionRef={actionRef}
|
|
|
- formRef={formRef}
|
|
|
- //handleRemove={deletedata}
|
|
|
- setEditType={setEditType}
|
|
|
- setDetailVisible={setVisible}
|
|
|
- toolBarRender={() => {
|
|
|
+ formRef={childenformRef}
|
|
|
+ //handleRemove={selectedValue}
|
|
|
+ // setEditType={setEditType}
|
|
|
+ //setDetailVisible={setVisible}
|
|
|
+ toolBarRender={(_, { selectedRowKeys }) => {
|
|
|
if(visible2){
|
|
|
return[ <SDButton
|
|
|
key="create"
|
|
|
successMessage=''
|
|
|
icon={<WomanOutlined />}
|
|
|
- onClick={() => {
|
|
|
+ onClick={async() => {
|
|
|
setVisible1(true);
|
|
|
setEditType('create');
|
|
|
+ mockData.forEach(function (item){
|
|
|
+ setCurrentRow(item);
|
|
|
+ });
|
|
|
}}
|
|
|
>
|
|
|
新增
|
|
@@ -332,27 +378,29 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
key="create"
|
|
|
successMessage=''
|
|
|
icon={<WomanOutlined />}
|
|
|
- onClick={() => {
|
|
|
- console.log(prop.formRef)
|
|
|
- }}
|
|
|
+ onClick={()=>{removeRow(selectedRowKeys) ;}}
|
|
|
>
|
|
|
删除
|
|
|
</SDButton>
|
|
|
-
|
|
|
] }else{return []}
|
|
|
-
|
|
|
+
|
|
|
} }
|
|
|
+ rowSelection={
|
|
|
+ {
|
|
|
+ selections:[Table.SELECTION_ALL, Table.SELECTION_INVERT],
|
|
|
+ type:'checkbox'
|
|
|
+}
|
|
|
+}
|
|
|
/>
|
|
|
</SDLayout>
|
|
|
{visible1 &&(
|
|
|
<SDModalForm title={''} visible={visible1} editType={editType} onVisibleChange={() => { setVisible1(false);}
|
|
|
} >
|
|
|
<SDLayout>
|
|
|
- <SDTable
|
|
|
- rowKey="custName"
|
|
|
+ <ProTable
|
|
|
+ rowKey="ruleId"
|
|
|
request={async(formData : resultListModel)=>{
|
|
|
const sd = await rule_list1(formData);
|
|
|
- formDataList1 =[...sd];
|
|
|
return {data :sd };
|
|
|
}}
|
|
|
columns={columns2}
|
|
@@ -366,22 +414,38 @@ const diffconfig_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
setDetailVisible={setVisible1}
|
|
|
singleSelect={false}
|
|
|
|
|
|
- toolBarRender={() => {
|
|
|
-
|
|
|
+ toolBarRender={(_, { selectedRows }) => {
|
|
|
return [
|
|
|
<SDButton
|
|
|
key="create"
|
|
|
successMessage=''
|
|
|
icon={<WomanOutlined />}
|
|
|
onClick={() => {
|
|
|
+ if (selectedRows) {
|
|
|
+ setMockData(selectedRows);
|
|
|
+ setVisible1(false);
|
|
|
+ } else {
|
|
|
+ setMockData([]);
|
|
|
+ }
|
|
|
+ // actionRef.current?.reload?.(true)
|
|
|
}}
|
|
|
>
|
|
|
选择
|
|
|
</SDButton>,
|
|
|
-
|
|
|
]
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ rowSelection={
|
|
|
+ {
|
|
|
+ selections: [Table.SELECTION_ALL, Table.SELECTION_INVERT],
|
|
|
+ selectedRowKeys: allSelectedRowKeys,
|
|
|
+ onChange: (selectedRowKeys, selectedRows) => {
|
|
|
+ setAllSelectedRowKeys(selectedRowKeys);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
/>
|
|
|
</SDLayout>
|
|
|
</SDModalForm>
|