|
@@ -1,32 +1,578 @@
|
|
|
import React, { useEffect, useRef, useState } from 'react';
|
|
|
import { Button, Form, FormInstance, Input, Space, Tooltip, Upload } from 'antd';
|
|
|
import { ActionType, ProColumns, ProFormInstance, ProTable } from '@ant-design/pro-components';
|
|
|
-import { EditType, SDPage } from '@sundata/ui-frame';
|
|
|
-import { productListModel } from '@/services/rwa/product_list';
|
|
|
+import { baseFun, EditType, SDAreaTtile, SDButton, SDForm, SDFormText, SDLayout, SDModal, SDModalForm, SDOperate, SDPage, SDSubmitButton, SDTable } from '@sundata/ui-frame';
|
|
|
+import { productlist, productListModel, product_addone, product_addone1, product_addone2, product_deleteone, product_deleteone1, product_modifyone, product_modifyone1, product_modifyone2, product_querylist, rwaCalcConfProductrulesModel } from '@/services/rwa/product_list';
|
|
|
+import { fetchDictList } from '@/services/sysMng/nounMng';
|
|
|
+import { useModel } from '@umijs/max';
|
|
|
+import { WomanOutlined } from '@ant-design/icons';
|
|
|
|
|
|
type aaa = {
|
|
|
- onCancel: () => void;
|
|
|
- onChangeVisible(visible: boolean, type: string): unknown;
|
|
|
- onChangeVisdible:(visible:boolean,type ?: 'none' | 'raload' )=>void;
|
|
|
- formRef: React.MutableRefObject<ProFormInstance<any> | undefined>;
|
|
|
+ productNo :String;
|
|
|
}
|
|
|
|
|
|
const product_list: React.FC<aaa>= (prop : aaa) => {
|
|
|
|
|
|
const [visible,setVisible] = useState<boolean>(false);//弹窗是否显示
|
|
|
+ const [visible1,setVisible1] = useState<boolean>(false);//弹窗是否显示
|
|
|
+ const [count,setCount] = useState<number>(0);
|
|
|
+ const [count1,setCount1] = useState<string>();
|
|
|
const formRef = useRef<FormInstance<any>>();
|
|
|
const [editType, setEditType] = useState<EditType>('update');
|
|
|
+ const [editType1, setEditType1] = useState<EditType>('create');
|
|
|
+ const [state,setState] = useState<String>();
|
|
|
+ const { fetchDict } = useModel('dict');
|
|
|
+ const actionRef = useRef<ActionType>();
|
|
|
+ const actionRef1 = useRef<ActionType>();
|
|
|
+ const formRef1 = useRef<FormInstance<any>>();
|
|
|
+ const formRef2 = useRef<FormInstance<any>>();
|
|
|
+ const formRef3 = useRef<FormInstance<any>>();
|
|
|
+ const [state1,setState1] = useState<String>();
|
|
|
+ const [dataSource, setDataSource] = useState<any>() ;
|
|
|
+ const [currentRow, setCurrentRow] = useState<productListModel>();
|
|
|
+ var formDataList = new Array<productListModel>;
|
|
|
+ var formDataList1 = new Array<rwaCalcConfProductrulesModel>;
|
|
|
+
|
|
|
+ const [mockData, setMockData] = useState<rwaCalcConfProductrulesModel[]>([]);
|
|
|
+ const closeAndRefresh = ()=>{
|
|
|
+ setVisible(false);
|
|
|
+ actionRef.current?.reloadAndRest?.();
|
|
|
+ }
|
|
|
+ const closeAndRefresh1 = ()=>{
|
|
|
+ setVisible1(false);
|
|
|
+ actionRef1.current?.reloadAndRest?.();
|
|
|
+ }
|
|
|
+ //初始页面删除
|
|
|
+ const deldata =async(record:any)=>{
|
|
|
+ const del =await product_deleteone(record.productNo)
|
|
|
+ actionRef.current?.reload();
|
|
|
+ }
|
|
|
+ //保存产品参数
|
|
|
+ const inst =async(formData1 : productListModel)=>{
|
|
|
+ console.log(formData1);
|
|
|
+ await product_addone(formData1);
|
|
|
+ const aa =formData1.productNo
|
|
|
+ console.log("11111111")
|
|
|
+ //科目取数规则
|
|
|
+ inst1(aa);
|
|
|
+ }
|
|
|
+ const inst1 =async(aa:any)=>{
|
|
|
+ await product_addone1(mockData,aa);
|
|
|
+ closeAndRefresh();
|
|
|
+ }
|
|
|
|
|
|
+ const inst2 =async(formData:rwaCalcConfProductrulesModel)=>{
|
|
|
+ const res = await product_addone2(formData);
|
|
|
+ // ,新增修改不是一个页面吗 是一个页面,参数不一样 datasource设的一样吧
|
|
|
+ if (res=='新增成功') {
|
|
|
+ if(editType != 'update'){
|
|
|
+ const sd = await product_querylist(null);
|
|
|
+ setMockData(sd)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ actionRef1.current?.reloadAndRest?.();
|
|
|
+ setVisible1(false);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ const deldata1 =async(record:any)=>{
|
|
|
+ baseFun.confirm("请确认是否继续操作",async()=>{
|
|
|
+ await product_deleteone1(record.ruleCode);
|
|
|
+ actionRef1.current?.reloadAndRest?.();
|
|
|
+ } )
|
|
|
+ }
|
|
|
+
|
|
|
+ //修改科目取数规则页面的查询
|
|
|
+ const selectdata =async (record:any)=>{
|
|
|
+ setVisible1(true);
|
|
|
+ const sd = await product_modifyone(record.ruleCode)
|
|
|
+ formRef2.current?.setFieldsValue(sd);
|
|
|
+
|
|
|
+ }
|
|
|
+ //产品参数页面点修改的查询
|
|
|
+ const data1 =async(record:any)=>{
|
|
|
+ const sd = await product_modifyone1(record.productNo);
|
|
|
+ formRef1.current?.setFieldsValue(sd);
|
|
|
+ setVisible(true)
|
|
|
+ data2(record.productNo)
|
|
|
+
|
|
|
+ }
|
|
|
+ //产品参数页面点修改的科目取数规则列表的查询
|
|
|
+ const data2 =async(record:any)=>{
|
|
|
+ console.log(record);
|
|
|
+ const sd = await product_modifyone2(record);
|
|
|
+ setState1(record);
|
|
|
+ console.log(sd);
|
|
|
+ formDataList1 =[...sd];
|
|
|
+ // 是这里?对后端最后走到这里
|
|
|
+ setMockData(formDataList1);
|
|
|
+ return {data :sd};
|
|
|
+
|
|
|
+ // return formRef3.current?.setFieldsValue(sd);
|
|
|
+ // const obg ={...sd}
|
|
|
+ // // return {data:obg};
|
|
|
+ // console.log(obg);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
const columns: ProColumns<productListModel>[] = [
|
|
|
+ { title : '计算实例号',
|
|
|
+ dataIndex : 'calcindex',
|
|
|
+ hideInTable:true,
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '起始数据日期',
|
|
|
+ dataIndex : 'sdate',
|
|
|
+ hideInTable:true,
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '截止数据日期',
|
|
|
+ dataIndex : 'edate',
|
|
|
+ hideInTable:true,
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '年月',
|
|
|
+ dataIndex : 'term',
|
|
|
+ hideInTable:true,
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '数据日期',
|
|
|
+ dataIndex : 'dataDate',
|
|
|
+ hideInTable:true,
|
|
|
+ search:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '产品代码',
|
|
|
+ dataIndex : 'productNo',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '产品名称',
|
|
|
+ dataIndex : 'productName',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '产品大类',
|
|
|
+ dataIndex : 'productType',
|
|
|
+ valueType:"select",
|
|
|
+ request:()=>fetchDict(''),
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '对应业务',
|
|
|
+ dataIndex : 'productBussinessCode',
|
|
|
+ search:false,
|
|
|
+ hideInTable:true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '产品所属阶段',
|
|
|
+ dataIndex : 'productStageId',
|
|
|
+ search:false,
|
|
|
+ hideInTable:true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '产品序号',
|
|
|
+ dataIndex : 'productIndex',
|
|
|
+ search:false,
|
|
|
+ hideInTable:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '来源系统',
|
|
|
+ dataIndex : 'productFromSystem',
|
|
|
+ search:false,
|
|
|
+ hideInTable:false,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '默认取数逻辑',
|
|
|
+ dataIndex : 'defaultGetdatarule',
|
|
|
+ search:false,
|
|
|
+ hideInTable:true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '默认输出',
|
|
|
+ dataIndex : 'defaultOut',
|
|
|
+ search:false,
|
|
|
+ hideInTable:true,
|
|
|
+ width : 150
|
|
|
+ },{
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'operate',
|
|
|
+ valueType: 'option',
|
|
|
+ render: (_, record) => [
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={()=>{
|
|
|
+ data1(record);
|
|
|
+ setState("3");
|
|
|
+ setVisible(true);
|
|
|
+ setCurrentRow(record);
|
|
|
+ setEditType('update')
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 修改
|
|
|
+ </SDOperate>,
|
|
|
+
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={()=>{
|
|
|
+ deldata(record);
|
|
|
+ closeAndRefresh();
|
|
|
+ //setVisible(true);
|
|
|
+ // setEditType('display')
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </SDOperate>,
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={()=>{
|
|
|
+ // disdata(record);
|
|
|
+ closeAndRefresh();
|
|
|
+ setVisible(true);
|
|
|
+ setEditType('display')
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 查看
|
|
|
+ </SDOperate>,
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={()=>{
|
|
|
+ // disdata(record);
|
|
|
+ closeAndRefresh();
|
|
|
+ setVisible(true);
|
|
|
+ setEditType('display')
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 风险暴露分类规则
|
|
|
+ </SDOperate>,
|
|
|
+ <span style={record?.productBussinessCode==="作废" ? {display:'none'}: {}}>
|
|
|
+ <SDOperate
|
|
|
+ key="roleCfg"
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ successMessage=""
|
|
|
+ onClick={()=>{
|
|
|
+ // state(record);
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 表外项目分类规则
|
|
|
+ </SDOperate>,
|
|
|
+ </span>
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ]
|
|
|
+
|
|
|
+ const columns1: ProColumns<rwaCalcConfProductrulesModel>[] = [
|
|
|
+ { 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 : 'productNo',
|
|
|
+ search:false,
|
|
|
+ hideInTable:true,
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '规则编号',
|
|
|
+ dataIndex : 'ruleCode',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '规则名称',
|
|
|
+ dataIndex : 'ruleName',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
|
|
|
+ { title : '数据类型',
|
|
|
+ dataIndex : 'dataType',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '对应科目号',
|
|
|
+ dataIndex : 'ruleSubject',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '输入数据源',
|
|
|
+ dataIndex : 'ruleIn',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '输出数据源',
|
|
|
+ dataIndex : 'ruleOut',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+
|
|
|
+ { title : '科目取数规则',
|
|
|
+ dataIndex : 'ruleGetdata',
|
|
|
+ width : 150
|
|
|
+ },
|
|
|
+ { title : '规则序号',
|
|
|
+ dataIndex : 'ruleIndex',
|
|
|
+ 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={()=>{
|
|
|
+ deldata1(record);
|
|
|
+ setVisible(true);
|
|
|
+ setEditType('update')
|
|
|
+ } }
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </SDOperate>,
|
|
|
+ ]}
|
|
|
]
|
|
|
+ // let seq =0;
|
|
|
+ // const getSequence =()=>{ seq++; return `${(seq++)}`.padStart(3, '0');}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ function counter(counts:number) {
|
|
|
+ console.log("-----")
|
|
|
+ counts = counts+1;
|
|
|
+ setCount(counts);
|
|
|
+ `${(counts)}`.padStart(3, '0');
|
|
|
+ // count++; // 每次调用时自增
|
|
|
+ return counts;
|
|
|
+
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
return(
|
|
|
<SDPage>
|
|
|
+ <SDTable
|
|
|
+ title=""
|
|
|
+ rowKey="productNo"
|
|
|
+ request={async(formData : productListModel)=>{
|
|
|
+ const sd = await productlist(formData)
|
|
|
+ formDataList=[...sd]
|
|
|
+ return {data :sd}
|
|
|
+ }}
|
|
|
+ columns={columns}
|
|
|
+ actionRef={actionRef}
|
|
|
+ formRef={formRef}
|
|
|
+ setCurrentRow={setCurrentRow}
|
|
|
+ setEditType={setEditType}
|
|
|
+ toolBarRender={(_, { selectedRows }) => [
|
|
|
+ <SDButton
|
|
|
+ key="export"
|
|
|
+ // successMessage='导出成功'
|
|
|
+ onClick={ () => {
|
|
|
+ // exportExcelModel("fcLoan",formDataList);
|
|
|
+ //baseFun.info('处理完成');m
|
|
|
+ setVisible(true);
|
|
|
+ setEditType('create')
|
|
|
+ setState("1")
|
|
|
+ // mockData.reverse;
|
|
|
+ setMockData([]);
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 新增
|
|
|
+ </SDButton>,
|
|
|
+ <SDButton
|
|
|
+ key="export"
|
|
|
+ // successMessage='导出成功'
|
|
|
+ onClick={async () => {
|
|
|
+ // exportExcelModel("fcLoan",formDataList);
|
|
|
+ //baseFun.info('处理完成');
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 全部导出
|
|
|
+ </SDButton>,
|
|
|
+ ]}
|
|
|
+ setDetailVisible={setVisible}
|
|
|
+ />
|
|
|
+ {visible &&(
|
|
|
+ <SDModalForm title={''} visible={visible} editType={editType} onVisibleChange={() => { setVisible(false); }}
|
|
|
+ footer={[<SDSubmitButton editType={editType} formRef={formRef1} successMessage="" doSubmit={inst} >保存</SDSubmitButton>,
|
|
|
+ <SDButton successMessage="" onClick={()=>closeAndRefresh()} >关闭</SDButton>]}>
|
|
|
+ <SDForm editType={editType} formRef={formRef1}
|
|
|
+ onValuesChange={(changedValues,Values)=>{
|
|
|
+ const aa = Values.productNo;
|
|
|
+ console.log(aa);
|
|
|
+ setState1(Values.productNo)
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <span style={{display:'none'}}>
|
|
|
+ <SDFormText name="calcindex" label="计算实例号" />
|
|
|
+ <SDFormText name="sdate" label="起始数据日期" />
|
|
|
+ <SDFormText name="edate" label="截止数据日期" />
|
|
|
+ <SDFormText name="term" label="年月" />
|
|
|
+ <SDFormText name="dataDate" label="数据日期" />
|
|
|
+ </span>
|
|
|
+ <SDFormText name="productNo" label="产品代码" />
|
|
|
+ <SDFormText name="productName" label="产品名称" />
|
|
|
+ <SDFormText name="productType" label="产品大类" />
|
|
|
+ <SDFormText name="productIndex" label="产品序号" />
|
|
|
+ <SDFormText name="productStageId" label="所属阶段" />
|
|
|
+ <SDFormText name="productFromSystem" label="来源系统" />
|
|
|
+ <SDFormText name="defaultOut" label="默认输出数据源" />
|
|
|
+ <SDFormText name="productBussinessCode" label="所属业务" />
|
|
|
+ <SDFormText name="defaultGetdatarule" label="默认取数逻辑" />
|
|
|
+ </SDForm>
|
|
|
+ <SDAreaTtile title='科目取数规则列表' />
|
|
|
+ <SDLayout>
|
|
|
+ <ProTable
|
|
|
+ rowKey="ruleCode"
|
|
|
+ search={false}
|
|
|
+ actionRef={actionRef1}
|
|
|
+ formRef={formRef3}
|
|
|
+ dataSource={mockData}
|
|
|
+ request={(async (formData1:rwaCalcConfProductrulesModel)=>{
|
|
|
+ if(editType==='create'){
|
|
|
+ const sd1 = await product_querylist(formData1)
|
|
|
+ formDataList1 = [...sd1]
|
|
|
+ return {data:sd1}
|
|
|
+ }else{
|
|
|
+ const sd1 = await product_querylist(mockData[0].productNo)
|
|
|
+ setMockData(sd1);
|
|
|
+ return {data:sd1}
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ columns={columns1}
|
|
|
+
|
|
|
+ toolBarRender={(_, { selectedRowKeys }) => {
|
|
|
+ return[ <SDButton
|
|
|
+ key="create"
|
|
|
+ successMessage=''
|
|
|
+ icon={<WomanOutlined />}
|
|
|
+ onClick={async() => {
|
|
|
+ setVisible1(true);
|
|
|
+ setEditType1('create');
|
|
|
+ setCount1("PROD"+state1+counter(count) )
|
|
|
+ formRef2.current?.setFieldValue("ruleCode",count1)
|
|
|
+ //console.log(formRef1.current?.setFieldsValue(productNo));
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 新增
|
|
|
+ </SDButton>,
|
|
|
+ ]
|
|
|
+ } }
|
|
|
+ />
|
|
|
+ </SDLayout>
|
|
|
+ {visible1 &&(
|
|
|
+ <SDModalForm title={''} visible={true} onValuesChange={() => { setVisible1(false); } }
|
|
|
+ footer={[<SDSubmitButton editType={editType1} formRef={formRef2} successMessage="" doSubmit={inst2}>保存</SDSubmitButton>,
|
|
|
+ <SDButton successMessage="" onClick={() => closeAndRefresh1()}>关闭</SDButton>]} onVisibleChange={()=>{setVisible1(false); } }
|
|
|
+ >
|
|
|
+ <SDLayout>
|
|
|
+<SDForm editType={editType1} formRef={formRef2} initialValues={{ruleCode:count1}} >
|
|
|
+ <span style={{display:'none'}}>
|
|
|
+ <SDFormText name="calcindex" label="计算实例号" />
|
|
|
+ <SDFormText name="sdate" label="起始数据日期" />
|
|
|
+ <SDFormText name="edate" label="截止数据日期" />
|
|
|
+ <SDFormText name="term" label="年月" />
|
|
|
+ <SDFormText name="dataDate" label="数据日期" />
|
|
|
+ <SDFormText name="productNo" label="产品编号" />
|
|
|
+ </span>
|
|
|
+ <SDFormText name="ruleCode" label="规则编号" readonlyCond ='update'/>
|
|
|
+ <SDFormText name="ruleName" label="规则说明" />
|
|
|
+ <SDFormText name="dataType" label="数据类型" />
|
|
|
+ <SDFormText name="ruleSubject" label="对应科目" />
|
|
|
+ <SDFormText name="ruleIn" label="输入" />
|
|
|
+ <SDFormText name="ruleOut" label="输出" />
|
|
|
+ <SDFormText name="ruleIndex" label="规则序号" />
|
|
|
+ <SDFormText name="ruleGetdata" label="取数规则" type='textarea' />
|
|
|
+ </SDForm>
|
|
|
+ </SDLayout>
|
|
|
+ </SDModalForm>
|
|
|
+
|
|
|
+ )
|
|
|
+ }
|
|
|
+</SDModalForm>
|
|
|
+
|
|
|
+
|
|
|
+ )}
|
|
|
+
|
|
|
|
|
|
</SDPage>
|
|
|
)
|
|
|
|
|
|
}
|
|
|
-export default product_list;
|
|
|
+export default product_list;
|
|
|
+
|
|
|
+
|