|
@@ -1,15 +1,15 @@
|
|
|
import React, {FC, useRef, useState} from "react";
|
|
|
import {
|
|
|
baseFun,
|
|
|
- EditType,
|
|
|
- SDButton, SDFormDict,
|
|
|
+ EditType, SDAreaTtile,
|
|
|
+ SDButton, SDEditableTable, SDFormDict,
|
|
|
SDFormText,
|
|
|
SDLayout,
|
|
|
SDModalForm,
|
|
|
SDOperate,
|
|
|
SDPage,
|
|
|
SDTable,
|
|
|
- SDTabs
|
|
|
+ SDTabs, validateFun
|
|
|
} from "@sundata/ui-frame";
|
|
|
import {
|
|
|
deleteService, deleteServiceRules,
|
|
@@ -24,12 +24,53 @@ import {FormInstance} from "antd/lib/form";
|
|
|
import {ActionType} from "@ant-design/pro-components";
|
|
|
import {Popconfirm} from "antd";
|
|
|
import {useModel} from "@@/exports";
|
|
|
+import {firstCharIsNotNumber} from "@/pages/internalEvaluation/utils/rwacheckutils";
|
|
|
|
|
|
|
|
|
const RulePage: FC = () => {
|
|
|
|
|
|
const {fetchDict} = useModel('dict');
|
|
|
|
|
|
+ const ruleIndexColumns: ProColumns<any>[] = [
|
|
|
+ {
|
|
|
+ title: '模板参数',
|
|
|
+ dataIndex: 'ruleLogicParam',
|
|
|
+ hideInTable: false,
|
|
|
+ formItemProps:{
|
|
|
+ wrapperCol:{ span: 16 },
|
|
|
+ rules: [
|
|
|
+ { required: true, message: '请输入模板参数' },
|
|
|
+ {
|
|
|
+ validator:validateFun.account
|
|
|
+ },
|
|
|
+ {
|
|
|
+ validator: (rule, value, callback)=> {
|
|
|
+ if (firstCharIsNotNumber(value)>0) {
|
|
|
+ callback('模板参数不能以数字开头');
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '指标',
|
|
|
+ dataIndex: 'indexNo',
|
|
|
+ hideInTable: false,
|
|
|
+ valueType:'select',
|
|
|
+ request:()=>fetchDict('@selectAllIndexToDict'),
|
|
|
+ formItemProps:{
|
|
|
+ style: {width: '100%'},
|
|
|
+ wrapperCol:{ span: 16 },
|
|
|
+ required: true,
|
|
|
+ rules: [{ required: true, message: '请选择指标信息' }],
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
// 规则表格列信息
|
|
|
const ruleColumns: ProColumns<RuleModel>[] = [
|
|
|
{
|
|
@@ -42,12 +83,6 @@ const RulePage: FC = () => {
|
|
|
dataIndex: 'ruleName',
|
|
|
hideInTable: false,
|
|
|
},
|
|
|
- {
|
|
|
- title: '规则指标',
|
|
|
- dataIndex: 'ruleIndex',
|
|
|
- search: false,
|
|
|
- hideInTable: false,
|
|
|
- },
|
|
|
{
|
|
|
title: '规则阈值',
|
|
|
dataIndex: 'ruleThreshold',
|
|
@@ -191,6 +226,7 @@ const RulePage: FC = () => {
|
|
|
|
|
|
const openRuleModelForm = ()=>{
|
|
|
setRuleDetailVisible(true)
|
|
|
+ setRuleIndexList([]);
|
|
|
}
|
|
|
|
|
|
const closeRuleModelForm = ()=>{
|
|
@@ -207,6 +243,7 @@ const RulePage: FC = () => {
|
|
|
|
|
|
|
|
|
const saveOrUpdateInfo = async (re: RuleModel) => {
|
|
|
+ re.ruleIndexList = ruleIndexList;
|
|
|
const isSuccess = ruleEditType === 'create' ? await insertService(re) : await updateService(re) as boolean;
|
|
|
if (isSuccess) {
|
|
|
closeRuleModelForm();
|
|
@@ -225,6 +262,7 @@ const RulePage: FC = () => {
|
|
|
// 规则
|
|
|
const selectRuleDetail = async (record: RuleModel) => {
|
|
|
const res = await getDetailByIdService(record) as RuleModel ;
|
|
|
+ setRuleIndexList(res.ruleIndexList);
|
|
|
ruleFormRef.current?.setFieldsValue(res)
|
|
|
}
|
|
|
// 规则集
|
|
@@ -248,6 +286,7 @@ const RulePage: FC = () => {
|
|
|
const [ruleEditType, setRuleEditType] = useState<EditType>("display");
|
|
|
const ruleFormRef = useRef<FormInstance<any>>();
|
|
|
const ruleActionRef = useRef<ActionType>();
|
|
|
+ const [ruleIndexList, setRuleIndexList] = useState<any>([]);
|
|
|
// 规则集
|
|
|
const [rulesDetailVisible, setRulesDetailVisible] = useState(false);
|
|
|
const [rulesEditType, setRulesEditType] = useState<EditType>("display");
|
|
@@ -290,14 +329,18 @@ const RulePage: FC = () => {
|
|
|
formRef={ruleFormRef}
|
|
|
editType={ruleEditType}
|
|
|
>
|
|
|
+ <SDAreaTtile title={"基本信息"}/>
|
|
|
<SDFormText label="规则编号" name="ruleNo" required={true} width={'md'} readonlyCond={"update"}/>
|
|
|
<SDFormText label="规则名称" name="ruleName" width={'md'} required={true}/>
|
|
|
<SDFormText label="规则模板" type={'textarea'} name="ruleTemplate" />
|
|
|
<SDFormText label="模板说明" type={'textarea'} name="templateDesc" />
|
|
|
<SDFormDict label="规则结果" name="ruleResult" width={'md'} required={true} dictKey={'RULE_RESULT_TYPE'} />
|
|
|
- <SDFormText label="规则指标" name="ruleIndex" width={'md'}/>
|
|
|
+ {/*<SDFormDict label="规则指标" multiple={true} dictKey={'@selectAllIndexToDict'} name="indexNoList" width={'md'}/>*/}
|
|
|
<SDFormText label="规则阈值" name="ruleThreshold" width={'md'}/>
|
|
|
<SDFormText label="规则结论" type={'textarea'} name="ruleConclusionTemplate" />
|
|
|
+ <SDAreaTtile title={"指标清单"}/>
|
|
|
+ <SDEditableTable columns={ruleIndexColumns} value={ruleIndexList} onChange={(value)=>{
|
|
|
+ setRuleIndexList([...value])}}/>
|
|
|
</SDModalForm>
|
|
|
</>
|
|
|
)
|