Browse Source

模型管理-数据分类-时间维度限制

WanRuixiang 3 weeks ago
parent
commit
27174446c5

+ 30 - 4
src/app/pages/ModalManage/components/ModalDesign.jsx

@@ -9,6 +9,7 @@ import {ConfigPreviewPanel} from "./ConfigPreviewPanel.jsx";
 import {InfoCircleFilled} from "@ant-design/icons";
 import {SqlStartStep} from "./SqlStartStep";
 import {useWorkFlow} from "../../../hooks/useWorkFlow";
+import {DIM_TYPE_ENUM} from "../../../constants";
 
 const descriptions = [
   {
@@ -127,6 +128,8 @@ const configColumns = [
     dataIndex: 'datetime',
     valueType: 'switch',
     tooltip: '非日期类型,不允许勾选为时间维度',
+    fieldProps: (form, {entity}) =>({disabled: entity.dataType!=='DATETIME'}),
+    //render: (text, record, _, action) => console.log(text, record, _, action)
   },
   {
     title: '通用维度',
@@ -165,7 +168,6 @@ export const ModalDesign = memo(({
   initialValues,
   type
 }) => {
-  console.log(initialValues)
   const {
     getFields ,
     markFields ,
@@ -177,7 +179,31 @@ export const ModalDesign = memo(({
   /** ConfigTable的Ref钩子*/
   const configTableRef = useRef();
   /** 步骤二的Table数据 */
-  const configData = useMemo(()=> getFields(getNodesState),[getNodesState]);
+  const configData = useMemo(
+    ()=> {
+      const fields = getFields(getNodesState)
+      if (initialValues){
+        const modelBizName = initialValues.bizName
+        const {dimensions,identifiers,measures}=initialValues.modelDetail;
+        const bizList = [...dimensions,...identifiers,...measures];
+        return fields.map((field) => {
+          const initObj = bizList.find(item=>item.bizName===`${modelBizName}_${field.bizName}`)
+          if (initObj){
+            return {
+              ...field,
+              isKey:DIM_TYPE_ENUM.IDENTIFY===initObj.type,
+              common:DIM_TYPE_ENUM.CATEGORICAL===initObj.type,
+              datetime:DIM_TYPE_ENUM.DATETIME===initObj.type,
+              measure:!initObj.type
+            }
+          }
+          return field
+        })
+      }
+      return fields
+    }
+    ,[initialValues,getNodesState]
+  );
 
   /** 步骤三的预览数据 */
   const [viewerData,setViewerData] = useState([]);
@@ -229,8 +255,8 @@ export const ModalDesign = memo(({
           onCancel={onCloseModal}
           open={open}
           footer={
-            submitter.map(
-              item=> item.key==='pre'
+            submitter.map(item=>
+              item.key==='pre'
                 ? <Button key="pre" onClick={()=>setCurrent(pre=>pre-1)}>上一步</Button>
                 : item
             )

+ 1 - 5
src/app/pages/ModalManage/components/QuickStartStep.jsx

@@ -4,11 +4,7 @@ import {Col, Row} from "antd";
 import {WorkFlowPanel} from "../../../components/WorkFlow";
 import {styled} from "styled-components";
 import {useAppDispatch, useAppSelector} from "../../../../redux/configureStore";
-import {
-  selectDBList,
-  selectDBSource, selectTableColumns,
-  selectTableList
-} from "../../MainPage/slice/selectors";
+import {selectDBList, selectDBSource, selectTableColumns, selectTableList} from "../../MainPage/slice/selectors";
 import {getDBList, getTableColumns, getTableList} from "../../MainPage/slice/thunks";
 import {useWorkFlow} from "../../../hooks/useWorkFlow";
 import {CARD_TYPE, WORKFLOW_DEFAULT_STYLE} from "../../../components/WorkFlow/constants";