Leo 2 yıl önce
ebeveyn
işleme
7d7048ab7e

+ 25 - 14
src/module/datasource/component/DatasourceAdd.jsx

@@ -8,7 +8,7 @@ import {
   ProForm,
 } from '@ant-design/pro-components'
 import { Button, Col, message, Form } from 'antd'
-import { useEffect, useState } from 'react'
+import { useState } from 'react'
 import {
   testDataSourceConnection,
   createDataSource,
@@ -30,7 +30,7 @@ export default function DatasourceAdd({ updateDataSource }) {
   const [loading, setLoading] = useState(false)
 
   const [keytabFile, setKeytabFile] = useState([])
-  const [krd5File, setKrd5File] = useState([])
+  const [krb5File, setKrb5File] = useState([])
 
   const [useSSL, setUseSSL] = useState(false)
   // Form表单
@@ -61,8 +61,14 @@ export default function DatasourceAdd({ updateDataSource }) {
       params['use_ssl'] = useSSL ? 1 : 0
       params['kerberos'] = kerbsValid ? 1 : 0
       if (kerbsValid) {
-        const keytab = await uploadKerbFile(keytabFile)
-        const krb5config = await uploadKerbFile(krd5File)
+        let keytab = ''
+        let krb5config = ''
+        if (keytabFile && keytabFile.length) {
+          keytab = await uploadKerbFile(keytabFile)
+        }
+        if (krb5File && krb5File.length) {
+          krb5config = await uploadKerbFile(krb5File)
+        }
         params['keytab'] = keytab
         params['krb5config'] = krb5config
         params['kerberos_service_name'] = kerberosServiceName
@@ -110,14 +116,20 @@ export default function DatasourceAdd({ updateDataSource }) {
     params['use_ssl'] = useSSL ? 1 : 0
     params['kerberos'] = kerbsValid ? 1 : 0
     if (kerbsValid) {
-      const keytab = await uploadKerbFile(keytabFile)
-      const krb5config = await uploadKerbFile(krd5File)
+      let keytab = ''
+      let krb5config = ''
+      if (keytabFile && keytabFile.length) {
+        keytab = await uploadKerbFile(keytabFile)
+      }
+      if (krb5File && krb5File.length) {
+        krb5config = await uploadKerbFile(krb5File)
+      }
       params['keytab'] = keytab
       params['krb5config'] = krb5config
       params['kerberos_service_name'] = kerberosServiceName
       params['principal'] = principal
       if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
-        const { data } = await testDataSourceConnection(params)
+        const { data } = await createDataSource(params)
         if (data.data) {
           message.success('添加成功')
           updateDataSource()
@@ -126,14 +138,13 @@ export default function DatasourceAdd({ updateDataSource }) {
         }
       }
     } else {
-      const { data } = await testDataSourceConnection(params)
+      const { data } = await createDataSource(params)
       if (data.data) {
         message.success('连接成功')
       } else {
         message.error(data.msg)
       }
     }
-    return true
   }
 
   // 校验krb
@@ -201,16 +212,16 @@ export default function DatasourceAdd({ updateDataSource }) {
 
   const krd5UpProps = {
     onRemove: file => {
-      const index = krd5File.indexOf(file)
-      const newFileList = krd5File.slice()
+      const index = krb5File.indexOf(file)
+      const newFileList = krb5File.slice()
       newFileList.splice(index, 1)
-      setKrd5File(newFileList)
+      setKrb5File(newFileList)
     },
     beforeUpload: file => {
-      setKrd5File([...krd5File, file])
+      setKrb5File([...krb5File, file])
       return false
     },
-    krd5File,
+    krb5File,
   }
   return (
     <ModalForm

+ 10 - 14
src/module/datasource/component/DatasourceEdit.jsx

@@ -175,31 +175,27 @@ export default function DatasourceAdd({
           params['krb5config'] = krb5config
           params['kerberos_service_name'] = kerberosServiceName
           params['principal'] = principal
+          console.log(kerbsValid)
           if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
-            const { data } = await testDataSourceConnection(params)
-            if (data.data) {
-              message.success('连接成功')
+            const { data } = await updateDataSourceInfo(ds_id, params)
+            if (data.code === 200) {
+              message.success('修改成功')
+              setDsModalVisible(false)
+              updateDataSource()
             } else {
               message.error(data.msg)
             }
           }
         } else {
-          const { data } = await testDataSourceConnection(params)
-          if (data.data) {
-            message.success('添加成功')
+          const { data } = await updateDataSourceInfo(ds_id, params)
+          if (data.code === 200) {
+            message.success('修改成功')
+            setDsModalVisible(false)
             updateDataSource()
           } else {
             message.error(data.msg)
           }
         }
-        const { data } = await updateDataSourceInfo(ds_id, params)
-        if (data.code === 200) {
-          message.success('修改成功')
-          setDsModalVisible(false)
-          updateDataSource()
-        } else {
-          message.error(data.msg)
-        }
       })
       .catch(err => {
         message.error('请检查表单数据是否完整')

+ 6 - 1
src/module/workmgmt/component/JobStepOne.jsx

@@ -178,7 +178,7 @@ export default function JobStepOne({ ConfigDataForm, SelectDag }) {
           </Select>
         </FormItem>
 
-        {/* 选择执行镜像 */}
+        {/* 选择执行dag */}
         <FormItem
           className="mirrorLeft"
           name="dag_url"
@@ -195,6 +195,11 @@ export default function JobStepOne({ ConfigDataForm, SelectDag }) {
             placeholder="请选择DAG算子"
             allowClear
             optionLabelProp="label"
+            onDropdownVisibleChange={val => {
+              if (val) {
+                getDags()
+              }
+            }}
             onSelect={val => SelectDag(val)}>
             {dags.map(item => (
               <Option key={item.uri} value={item.uri} label={item.name}>

+ 2 - 0
src/module/workmgmt/component/JobStepTwo.jsx

@@ -192,6 +192,8 @@ export default function JobStepTwo({ InputDataForm, dagData, checkSync }) {
     const syncList = []
     //整体结果
     let node_result = true
+    // 输入字段要进行选中判断
+    nodeDataSchemas = nodeDataSchemas.filter(val => val.dataSelect)
     nodeDataSchemas.forEach(item => {
       // 字段相同
       const syncItem = datasourceSchemas.find(