|
@@ -0,0 +1,401 @@
|
|
|
+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 { 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 { 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;
|
|
|
+ onCancel: () => void;
|
|
|
+ onChangeVisible(visible: boolean, type: string): unknown;
|
|
|
+ onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
|
|
|
+ formRef: React.MutableRefObject<ProFormInstance<any> | undefined>;
|
|
|
+ }
|
|
|
+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: [] });
|
|
|
+
|
|
|
+ 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 [currentRow, setCurrentRow] = useState<difftoleranceModel>();
|
|
|
+
|
|
|
+ const actionRef = useRef<ActionType>();
|
|
|
+ const { fetchDict } = useModel('dict');
|
|
|
+
|
|
|
+ const selectdata = async (record:any)=>{
|
|
|
+ const sd =await rule_queryone(record.ruleId);
|
|
|
+ formRef.current?.setFieldsValue(sd);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ const deldata = async (record:any)=>{
|
|
|
+ baseFun.confirm("请确认是否继续操作",async()=>{
|
|
|
+ await diffconfig_deleteone(record.ruleId);
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ const closeAndRefresh = ()=>{
|
|
|
+ setVisible(false);
|
|
|
+ actionRef.current?.reloadAndRest?.();
|
|
|
+ }
|
|
|
+
|
|
|
+ const upperLimit =(_?: RuleObject, value?: any)=>{
|
|
|
+
|
|
|
+ }
|
|
|
+ const inst = async(formData : resultListModel) => {
|
|
|
+ setEditType('create')
|
|
|
+ const ResultList =await rule_addone(formData)
|
|
|
+ if("规则编号已重复,请重新输入"===ResultList){
|
|
|
+ baseFun.warning(ResultList);
|
|
|
+ }else{
|
|
|
+ baseFun.info(ResultList);
|
|
|
+ closeAndRefresh();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ const columns: ProColumns<difftoleranceModel>[] = [
|
|
|
+ { title : '计算实例号',
|
|
|
+ dataIndex : 'calcindex',
|
|
|
+ search:false,
|
|
|
+ hideInTable: true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '起始数据日期',
|
|
|
+ dataIndex : 'sdate',
|
|
|
+ search:false,
|
|
|
+ hideInTable: true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '截止数据日期',
|
|
|
+ dataIndex : 'edate',
|
|
|
+ search:false,
|
|
|
+ hideInTable: true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '年月',
|
|
|
+ dataIndex : 'term',
|
|
|
+ search:false,
|
|
|
+ hideInTable: true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '数据日期',
|
|
|
+ dataIndex : 'dataDate',
|
|
|
+ search:false,
|
|
|
+ hideInTable: true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '规则编号',
|
|
|
+ dataIndex : 'ruleNo',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '规则名称',
|
|
|
+ dataIndex : 'ruleName',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '容忍度下限%',
|
|
|
+ dataIndex : 'upperLimit',
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '容忍度上限%',
|
|
|
+ dataIndex : 'lowerLimit',
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '区间开闭类型',
|
|
|
+ dataIndex : 'intervalType',
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '适用范围类型',
|
|
|
+ dataIndex : 'ruleAreaType',
|
|
|
+ search:false,
|
|
|
+ hideInTable: true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'operate',
|
|
|
+ valueType: 'option',
|
|
|
+ render: (_, record) => [
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+
|
|
|
+ onClick={()=>{
|
|
|
+ selectdata(record);
|
|
|
+ setVisible(true);
|
|
|
+ setEditType('update')
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 修改
|
|
|
+ </SDOperate>,
|
|
|
+
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={()=>{
|
|
|
+ deldata(record);
|
|
|
+ closeAndRefresh();
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </SDOperate>,
|
|
|
+ ]}
|
|
|
+ ]
|
|
|
+
|
|
|
+ const columns1: ProColumns<resultListModel>[] = [
|
|
|
+ { title : '规则编号',
|
|
|
+ dataIndex : 'ruleId',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+ { title : '科目代码',
|
|
|
+ dataIndex : 'glCode',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '科目名称',
|
|
|
+ dataIndex : 'subjectDesc',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ ]
|
|
|
+
|
|
|
+ const columns2: ProColumns<difftoleranceModel>[] = [
|
|
|
+ { title : '规则编号',
|
|
|
+ dataIndex : 'ruleId',
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+ { title : '科目代码',
|
|
|
+ dataIndex : 'glCode',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '科目名称',
|
|
|
+ dataIndex : 'subjectDesc',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '科目性质',
|
|
|
+ dataIndex : 'subjectNature',
|
|
|
+ valueType:'select',
|
|
|
+ request: () => fetchDict('SUBJECT_DESC'),//码值后续添加
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+ { title : '表内外标识',
|
|
|
+ dataIndex : 'onoroff',
|
|
|
+ valueType:'select',
|
|
|
+ request: () => fetchDict('ONOROFF'),//码值后续添加
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ const aa=async()=>{
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return(
|
|
|
+ <SDPage>
|
|
|
+ <SDTable
|
|
|
+ rowKey="custName"
|
|
|
+ request={async(formData : difftoleranceModel)=>{
|
|
|
+ const sd = await rule_querylist(formData);
|
|
|
+ formDataList =[...sd];
|
|
|
+ return {data :sd };
|
|
|
+ }}
|
|
|
+ columns={columns}
|
|
|
+ // singleSelect={false}
|
|
|
+ // operations={["create"]}
|
|
|
+ //displayColumn="custName"
|
|
|
+ formRef={formRef}
|
|
|
+ //handleRemove={deletedata}
|
|
|
+ toolBarRender={(_, { selectedRows }) => [
|
|
|
+ <SDButton
|
|
|
+ key="create"
|
|
|
+ successMessage=''
|
|
|
+ onClick={() => {
|
|
|
+ setVisible(true);
|
|
|
+ setEditType('create');
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 新增
|
|
|
+ </SDButton>
|
|
|
+ ]}
|
|
|
+ />
|
|
|
+ {visible &&(
|
|
|
+
|
|
|
+ <SDModalForm title={''} visible={visible} editType={editType} onVisibleChange={() => { setVisible(false);}
|
|
|
+ }
|
|
|
+ footer={[<SDSubmitButton editType={editType} formRef={formRef} successMessage="" doSubmit={inst} >保存</SDSubmitButton>,
|
|
|
+ <SDButton successMessage="" onClick={()=>closeAndRefresh()} >关闭</SDButton>
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <SDAreaTtile title='差异容忍度规则新增'/>
|
|
|
+ {
|
|
|
+ <SDForm editType={editType} formRef={formRef} onValuesChange={(changedValues,Values)=>{
|
|
|
+ if(Values.upperLimit!="" && Values.lowerLimit!="" && Values.upperLimit!=undefined && Values.lowerLimit!=undefined){
|
|
|
+ const upperLimit =Values.upperLimit;
|
|
|
+ const lowerLimit =Values.lowerLimit;
|
|
|
+ if(lowerLimit<upperLimit){
|
|
|
+ if(Object.keys(changedValues).toString()=="lowerLimit"){
|
|
|
+ baseFun.warning("忍度上限要大于等于容忍度下限")
|
|
|
+ }
|
|
|
+ if(Object.keys(changedValues).toString()=="upperLimit"){
|
|
|
+ baseFun.warning("忍度下限要小于等于容忍度上限")
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(Values.ruleAreaType=='05'){
|
|
|
+ setVisible2(true)
|
|
|
+ }else{
|
|
|
+ setVisible2(false)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >
|
|
|
+ <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' />
|
|
|
+ </SDForm>
|
|
|
+ }
|
|
|
+ <SDAreaTtile title='总分勾稽规则列表' />
|
|
|
+ <SDLayout>
|
|
|
+ <SDTable
|
|
|
+ rowKey="custName"
|
|
|
+ search={false}
|
|
|
+ request={async(formData : resultListModel)=>{
|
|
|
+ const sd = await rule_list(formData);
|
|
|
+ formDataList1 =[...sd];
|
|
|
+ return {data :sd };
|
|
|
+ }}
|
|
|
+ columns={columns1}
|
|
|
+
|
|
|
+ // singleSelect={false}
|
|
|
+ // operations={["create"]}
|
|
|
+ // displayColumn="custName"
|
|
|
+ actionRef={actionRef}
|
|
|
+ formRef={formRef}
|
|
|
+ //handleRemove={deletedata}
|
|
|
+ setEditType={setEditType}
|
|
|
+ setDetailVisible={setVisible}
|
|
|
+ toolBarRender={() => {
|
|
|
+ if(visible2){
|
|
|
+ return[ <SDButton
|
|
|
+ key="create"
|
|
|
+ successMessage=''
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ onClick={() => {
|
|
|
+ setVisible1(true);
|
|
|
+ setEditType('create');
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 新增
|
|
|
+ </SDButton>,
|
|
|
+ <SDButton
|
|
|
+ key="create"
|
|
|
+ successMessage=''
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ onClick={() => {
|
|
|
+ console.log(prop.formRef)
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </SDButton>
|
|
|
+
|
|
|
+ ] }else{return []}
|
|
|
+
|
|
|
+ } }
|
|
|
+ />
|
|
|
+ </SDLayout>
|
|
|
+ {visible1 &&(
|
|
|
+ <SDModalForm title={''} visible={visible1} editType={editType} onVisibleChange={() => { setVisible1(false);}
|
|
|
+ } >
|
|
|
+ <SDLayout>
|
|
|
+ <SDTable
|
|
|
+ rowKey="custName"
|
|
|
+ request={async(formData : resultListModel)=>{
|
|
|
+ const sd = await rule_list1(formData);
|
|
|
+ formDataList1 =[...sd];
|
|
|
+ return {data :sd };
|
|
|
+ }}
|
|
|
+ columns={columns2}
|
|
|
+ // singleSelect={false}
|
|
|
+ // operations={["create"]}
|
|
|
+ //displayColumn="custName"
|
|
|
+ actionRef={actionRef}
|
|
|
+ formRef={formRef}
|
|
|
+ //handleRemove={deletedata}
|
|
|
+ // setEditType={setEditType}
|
|
|
+ setDetailVisible={setVisible1}
|
|
|
+ singleSelect={false}
|
|
|
+
|
|
|
+ toolBarRender={() => {
|
|
|
+
|
|
|
+ return [
|
|
|
+ <SDButton
|
|
|
+ key="create"
|
|
|
+ successMessage=''
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ onClick={() => {
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 选择
|
|
|
+ </SDButton>,
|
|
|
+
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ />
|
|
|
+ </SDLayout>
|
|
|
+ </SDModalForm>
|
|
|
+ )
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </SDModalForm>
|
|
|
+
|
|
|
+ )}
|
|
|
+ </SDPage>
|
|
|
+
|
|
|
+ );
|
|
|
+}
|
|
|
+export default diffconfig_list;
|