This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch resource
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git

commit e7226859150aaae8e9ae5982ad620d682bb7028e
Author: benjobs <[email protected]>
AuthorDate: Sat Dec 16 22:27:29 2023 +0800

    [Improve] resource improvement
---
 .../console/core/enums/ResourceTypeEnum.java       |   2 +-
 .../src/main/resources/db/data-h2.sql              |   6 +-
 .../components/Form/src/components/FormItem.vue    |   8 +-
 .../Modal/src/components/ModalWrapper.vue          |   4 +-
 .../src/hooks/setting/useMenuSetting.ts            |  10 +-
 .../src/locales/lang/zh-CN/flink/resource.ts       |   6 +-
 .../src/locales/lang/zh-CN/menu.ts                 |   2 +-
 .../streampark-console-webapp/src/utils/props.ts   |  46 ++++-----
 .../src/views/base/error-log/data.tsx              |  12 +--
 .../src/views/resource/upload/View.vue             |  24 ++---
 .../views/resource/upload/components/Upload.vue    | 106 +++++++++++----------
 .../resource/upload/components/UploadDrawer.vue    |  26 ++---
 .../src/views/resource/upload/upload.data.ts       |   2 +-
 .../src/views/resource/upload/useUploadRender.tsx  |   4 +-
 .../variable/components/VariableDrawer.vue         |   4 +-
 15 files changed, 137 insertions(+), 125 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/enums/ResourceTypeEnum.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/enums/ResourceTypeEnum.java
index cd8a20b81..c3aa3143e 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/enums/ResourceTypeEnum.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/enums/ResourceTypeEnum.java
@@ -36,7 +36,7 @@ public enum ResourceTypeEnum {
   UDXF(2),
 
   /** Common resource, like mysql-jdbc */
-  NORMAL_JAR(3),
+  JAR_LIBRARY(3),
 
   /** Reserved for resource group */
   GROUP(4);
diff --git 
a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
 
b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
index ab901a8f3..61be9f74d 100644
--- 
a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
+++ 
b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
@@ -76,9 +76,9 @@ insert into `t_menu` values (110118, 110100, 'app sql 
delete', null, null, 'sql:
 insert into `t_menu` values (110301, 110300, 'cluster add', 
'/flink/add_cluster', 'flink/cluster/Add', 'cluster:create', '', '0', 0, null, 
now(), now());
 insert into `t_menu` values (110302, 110300, 'cluster edit', 
'/flink/edit_cluster', 'flink/cluster/Edit', 'cluster:update', '', '0', 0, 
null, now(), now());
 
-insert into `t_menu` values (130100, 130000, 'resource.project', 
'/resource/project', 'resource/project/View', null, 'github', '0', 1, 3, now(), 
now());
-insert into `t_menu` values (130200, 130000, 'resource.variable', 
'/resource/variable', 'resource/variable/View', null, null, '0', 1, 4, now(), 
now());
-insert into `t_menu` values (130300, 130000, 'resource.upload', 
'/resource/upload', 'resource/upload/View', null, null, '0', 1, 3, now(), 
now());
+insert into `t_menu` values (130100, 130000, 'resource.project', 
'/resource/project', 'resource/project/View', null, 'github', '0', 1, 2, now(), 
now());
+insert into `t_menu` values (130200, 130000, 'resource.variable', 
'/resource/variable', 'resource/variable/View', null, null, '0', 1, 3, now(), 
now());
+insert into `t_menu` values (130300, 130000, 'resource.upload', 
'/resource/upload', 'resource/upload/View', null, null, '0', 1, 1, now(), 
now());
 
 insert into `t_menu` values (130101, 130100, 'project view', null, null, 
'project:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (130102, 130100, 'project add', '/project/add', 
'resource/project/Add', 'project:create', '', '0', 0, null, now(), now());
diff --git 
a/streampark-console/streampark-console-webapp/src/components/Form/src/components/FormItem.vue
 
b/streampark-console/streampark-console-webapp/src/components/Form/src/components/FormItem.vue
index 9bbb5023f..137ae94d6 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/Form/src/components/FormItem.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/Form/src/components/FormItem.vue
@@ -333,8 +333,8 @@
             return slot
               ? getSlot(slots, slot, unref(getValues))
               : render
-                ? render(unref(getValues))
-                : renderComponent();
+              ? render(unref(getValues))
+              : renderComponent();
           };
 
           const showSuffix = !!suffix;
@@ -382,8 +382,8 @@
           return colSlot
             ? getSlot(slots, colSlot, values)
             : renderColContent
-              ? renderColContent(values)
-              : renderItem();
+            ? renderColContent(values)
+            : renderItem();
         };
 
         return (
diff --git 
a/streampark-console/streampark-console-webapp/src/components/Modal/src/components/ModalWrapper.vue
 
b/streampark-console/streampark-console-webapp/src/components/Modal/src/components/ModalWrapper.vue
index 52c8b5eb8..1b1b9a613 100644
--- 
a/streampark-console/streampark-console-webapp/src/components/Modal/src/components/ModalWrapper.vue
+++ 
b/streampark-console/streampark-console-webapp/src/components/Modal/src/components/ModalWrapper.vue
@@ -153,8 +153,8 @@
             realHeightRef.value = props.height
               ? props.height
               : realHeight > maxHeight
-                ? maxHeight
-                : realHeight;
+              ? maxHeight
+              : realHeight;
           }
           emit('height-change', unref(realHeightRef));
         } catch (error) {
diff --git 
a/streampark-console/streampark-console-webapp/src/hooks/setting/useMenuSetting.ts
 
b/streampark-console/streampark-console-webapp/src/hooks/setting/useMenuSetting.ts
index f501c6e80..3566bfd27 100644
--- 
a/streampark-console/streampark-console-webapp/src/hooks/setting/useMenuSetting.ts
+++ 
b/streampark-console/streampark-console-webapp/src/hooks/setting/useMenuSetting.ts
@@ -105,8 +105,8 @@ export function useMenuSetting() {
     return siderHidden
       ? 0
       : collapsedShowTitle
-        ? SIDE_BAR_SHOW_TIT_MINI_WIDTH
-        : SIDE_BAR_MINI_WIDTH;
+      ? SIDE_BAR_SHOW_TIT_MINI_WIDTH
+      : SIDE_BAR_MINI_WIDTH;
   });
 
   const getCalcContentWidth = computed(() => {
@@ -114,9 +114,9 @@ export function useMenuSetting() {
       unref(getIsTopMenu) || !unref(getShowMenu) || (unref(getSplit) && 
unref(getMenuHidden))
         ? 0
         : unref(getIsMixSidebar)
-          ? (unref(getCollapsed) ? SIDE_BAR_MINI_WIDTH : 
SIDE_BAR_SHOW_TIT_MINI_WIDTH) +
-            (unref(getMixSideFixed) && unref(mixSideHasChildren) ? 
unref(getRealWidth) : 0)
-          : unref(getRealWidth);
+        ? (unref(getCollapsed) ? SIDE_BAR_MINI_WIDTH : 
SIDE_BAR_SHOW_TIT_MINI_WIDTH) +
+          (unref(getMixSideFixed) && unref(mixSideHasChildren) ? 
unref(getRealWidth) : 0)
+        : unref(getRealWidth);
 
     return `calc(100% - ${unref(width)}px)`;
   });
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/resource.ts
 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/resource.ts
index 5b0dc99e5..498e80f56 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/resource.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/resource.ts
@@ -23,14 +23,14 @@ export default {
   uploadResource: '上传资源',
   resourceName: '资源名称',
   resourceType: '资源类型',
-  engineType: '计算引擎类型',
+  engineType: '引擎类型',
   resourceGroup: '资源组',
   groupName: '资源组名称',
   resourceGroupPlaceholder: '请选择组资源',
   resourceNamePlaceholder: '请输入资源名称',
   groupNamePlaceholder: '请输入资源组名称',
   groupNameIsRequiredMessage: '资源组名称必填',
-  engineTypePlaceholder: '请选择计算引擎类型',
+  engineTypePlaceholder: '请选择引擎类型',
   multiPomTip: '不支持同时添加多个依赖',
   addResourceTip: '请添加资源',
   jarFileErrorTip: 'Jar 文件为空,请重试',
@@ -55,7 +55,7 @@ export default {
   form: {
     descriptionMessage: '超过 100 个字符的最大长度限制',
     resourceNameIsRequiredMessage: '资源名称为必填项',
-    engineTypeIsRequiredMessage: '计算引擎类型为必填项',
+    engineTypeIsRequiredMessage: '引擎类型为必填项',
     resourceTypeIsRequiredMessage: '资源类型为必填项',
     resourceTypePlaceholder: '请选择资源类型',
     exists: '资源已存在',
diff --git 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/menu.ts 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/menu.ts
index 0c12636ee..9ccc42746 100644
--- 
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/menu.ts
+++ 
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/menu.ts
@@ -26,7 +26,7 @@ export default {
   resource: {
     menu: '资源中心',
     project: '项目管理',
-    upload: '物料管理',
+    upload: '资源上传',
     variable: '变量管理',
   },
   flink: {
diff --git a/streampark-console/streampark-console-webapp/src/utils/props.ts 
b/streampark-console/streampark-console-webapp/src/utils/props.ts
index 4a5491b27..368f490f2 100644
--- a/streampark-console/streampark-console-webapp/src/utils/props.ts
+++ b/streampark-console/streampark-console-webapp/src/utils/props.ts
@@ -28,8 +28,8 @@ export type BuildPropOption<T, D extends BuildPropType<T, V, 
C>, R, V, C> = {
   default?: R extends true
     ? never
     : D extends Record<string, unknown> | Array<any>
-      ? () => D
-      : (() => D) | D;
+    ? () => D
+    : (() => D) | D;
   validator?: ((val: any) => val is C) | ((val: any) => boolean);
 };
 
@@ -37,8 +37,8 @@ type _BuildPropType<T, V, C> =
   | (T extends PropWrapper<unknown>
       ? T[typeof wrapperKey]
       : [V] extends [never]
-        ? ResolvePropTypeWithReadonly<T>
-        : never)
+      ? ResolvePropTypeWithReadonly<T>
+      : never)
   | V
   | C;
 export type BuildPropType<T, V, C> = _BuildPropType<
@@ -53,8 +53,8 @@ type _BuildPropDefault<T, D> = [T] extends [
 ]
   ? D
   : D extends () => T
-    ? ReturnType<D>
-    : D;
+  ? ReturnType<D>
+  : D;
 
 export type BuildPropDefault<T, D, R> = R extends true
   ? { readonly default?: undefined }
@@ -146,12 +146,12 @@ export const buildProps = <
     [K in keyof O]: O[K] extends BuildPropReturn<any, any, any, any, any>
       ? O[K]
       : [O[K]] extends NativePropType
-        ? O[K]
-        : O[K] extends BuildPropOption<infer T, infer D, infer R, infer V, 
infer C>
-          ? D extends BuildPropType<T, V, C>
-            ? BuildPropOption<T, D, R, V, C>
-            : never
-          : never;
+      ? O[K]
+      : O[K] extends BuildPropOption<infer T, infer D, infer R, infer V, infer 
C>
+      ? D extends BuildPropType<T, V, C>
+        ? BuildPropOption<T, D, R, V, C>
+        : never
+      : never;
   },
 >(
   props: O,
@@ -162,17 +162,17 @@ export const buildProps = <
     [K in keyof O]: O[K] extends { [propKey]: boolean }
       ? O[K]
       : [O[K]] extends NativePropType
-        ? O[K]
-        : O[K] extends BuildPropOption<
-              infer T,
-              // eslint-disable-next-line @typescript-eslint/no-unused-vars
-              infer _D,
-              infer R,
-              infer V,
-              infer C
-            >
-          ? BuildPropReturn<T, O[K]['default'], R, V, C>
-          : never;
+      ? O[K]
+      : O[K] extends BuildPropOption<
+          infer T,
+          // eslint-disable-next-line @typescript-eslint/no-unused-vars
+          infer _D,
+          infer R,
+          infer V,
+          infer C
+        >
+      ? BuildPropReturn<T, O[K]['default'], R, V, C>
+      : never;
   };
 
 export const definePropType = <T>(val: any) => ({ [wrapperKey]: val }) as 
PropWrapper<T>;
diff --git 
a/streampark-console/streampark-console-webapp/src/views/base/error-log/data.tsx
 
b/streampark-console/streampark-console-webapp/src/views/base/error-log/data.tsx
index 73120a425..3ffc2f453 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/base/error-log/data.tsx
+++ 
b/streampark-console/streampark-console-webapp/src/views/base/error-log/data.tsx
@@ -16,12 +16,12 @@ export function getColumns(): BasicColumn[] {
           text === ErrorTypeEnum.VUE
             ? 'green'
             : text === ErrorTypeEnum.RESOURCE
-              ? 'cyan'
-              : text === ErrorTypeEnum.PROMISE
-                ? 'blue'
-                : ErrorTypeEnum.AJAX
-                  ? 'red'
-                  : 'purple';
+            ? 'cyan'
+            : text === ErrorTypeEnum.PROMISE
+            ? 'blue'
+            : ErrorTypeEnum.AJAX
+            ? 'red'
+            : 'purple';
         return <Tag color={color}>{() => text}</Tag>;
       },
     },
diff --git 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/View.vue
 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/View.vue
index a7dfa16d0..789e734e0 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/View.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/View.vue
@@ -25,6 +25,14 @@
       </template>
       <template #resetBefore> 1111 </template>
       <template #bodyCell="{ column, record }">
+        <template v-if="column.dataIndex === 'engineType'">
+          <span v-if="record.engineType === EngineTypeEnum.FLINK">
+            <SvgIcon name="flink" /> Apache Flink
+          </span>
+          <span v-if="record.engineType === EngineTypeEnum.SPARK">
+            <SvgIcon name="spark" /> Apache Spark
+          </span>
+        </template>
         <template v-if="column.dataIndex === 'resourceType'">
           <Tag color="processing" v-if="record.resourceType === 
ResourceTypeEnum.FLINK_APP">
             <template #icon>
@@ -47,11 +55,11 @@
             UDXF
           </Tag>
 
-          <Tag color="processing" v-if="record.resourceType === 
ResourceTypeEnum.NORMAL_JAR">
+          <Tag color="processing" v-if="record.resourceType === 
ResourceTypeEnum.JAR_LIBRARY">
             <template #icon>
-              <img :src="normalJarSvg" class="svg-icon" alt="Normal jar" />
+              <img :src="jarSvg" class="svg-icon" alt="jar library" />
             </template>
-            Normal Jar
+            Jar library
           </Tag>
 
           <Tag color="processing" v-if="record.resourceType === 
ResourceTypeEnum.GROUP">
@@ -61,14 +69,6 @@
             GROUP
           </Tag>
         </template>
-        <template v-if="column.dataIndex === 'engineType'">
-          <span v-if="record.engineType === EngineTypeEnum.FLINK">
-            <SvgIcon name="flink" /> Apache Flink
-          </span>
-          <span v-if="record.engineType === EngineTypeEnum.SPARK">
-            <SvgIcon name="spark" /> Apache Spark
-          </span>
-        </template>
         <template v-if="column.dataIndex === 'action'">
           <TableAction
             :actions="[
@@ -126,7 +126,7 @@
   import flinkAppSvg from '/@/assets/icons/flink2.svg';
   import connectorSvg from '/@/assets/icons/connector.svg';
   import udxfSvg from '/@/assets/icons/fx.svg';
-  import normalJarSvg from '/@/assets/icons/jar.svg';
+  import jarSvg from '/@/assets/icons/jar.svg';
   import groupSvg from '/@/assets/icons/group.svg';
 
   const teamResource = ref<Array<any>>([]);
diff --git 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/components/Upload.vue
 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/components/Upload.vue
index 4c18a8416..44ac7c506 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/components/Upload.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/components/Upload.vue
@@ -210,58 +210,68 @@
 </script>
 
 <template>
-  <template v-if="props.formModel.resourceType === ResourceTypeEnum.FLINK_APP">
-    <UploadJobJar :custom-request="handleCustomDepsRequest" 
v-model:loading="loading" />
-  </template>
-  <template v-else>
-    <Tabs type="card" v-model:activeKey="activeTab" class="pom-card">
-      <TabPane key="pom" tab="Maven pom">
-        <div class="relative">
-          <div ref="pomBox" class="pom-box syntax-true" style="height: 
300px"></div>
-        </div>
-      </TabPane>
-      <TabPane key="jar" tab="Upload Jar">
-        <UploadJobJar :custom-request="handleCustomDepsRequest" 
v-model:loading="loading" />
-      </TabPane>
-    </Tabs>
-  </template>
+  <div class="upload_container">
+    <template v-if="props.formModel.resourceType === 
ResourceTypeEnum.FLINK_APP">
+      <UploadJobJar :custom-request="handleCustomDepsRequest" 
v-model:loading="loading" />
+    </template>
+    <template v-else>
+      <Tabs type="card" v-model:activeKey="activeTab" class="pom-card">
+        <TabPane key="pom" tab="Maven pom">
+          <div class="relative">
+            <div ref="pomBox" class="pom-box" style="height: 300px"></div>
+          </div>
+        </TabPane>
+        <TabPane key="jar" tab="Upload Jar">
+          <UploadJobJar :custom-request="handleCustomDepsRequest" 
v-model:loading="loading" />
+        </TabPane>
+      </Tabs>
+    </template>
 
-  <div class="dependency-box" v-if="uploadJars.length > 0">
-    <Alert
-      class="dependency-item"
-      v-for="jar in uploadJars"
-      :key="`upload_jars_${jar}`"
-      type="info"
-    >
-      <template #message>
-        <Space>
-          <Tag class="tag-dependency" color="#108ee9">JAR</Tag>
-          {{ jar.split(':')[0] }}
-          <Icon
-            icon="ant-design:close-outlined"
-            class="icon-close cursor-pointer"
-            :size="12"
-            @click="handleRemoveJar(jar)"
-          />
-        </Space>
-      </template>
-    </Alert>
+    <div class="dependency-box" v-if="uploadJars.length > 0">
+      <Alert
+        class="dependency-item"
+        v-for="jar in uploadJars"
+        :key="`upload_jars_${jar}`"
+        type="info"
+      >
+        <template #message>
+          <Space>
+            <Tag class="tag-dependency" color="#108ee9">JAR</Tag>
+            {{ jar.split(':')[0] }}
+            <Icon
+              icon="ant-design:close-outlined"
+              class="icon-close cursor-pointer"
+              :size="12"
+              @click="handleRemoveJar(jar)"
+            />
+          </Space>
+        </template>
+      </Alert>
+    </div>
   </div>
 </template>
 
 <style lang="less">
-  .dependency-box {
-    margin-top: 10px;
-  }
-  .apply-pom {
-    z-index: 99;
-    position: absolute;
-    bottom: 20px;
-    float: right;
-    right: 20px;
-    cursor: pointer;
-    height: 26px;
-    padding: 0 12px;
-    font-size: 12px;
+  .upload_container > {
+    .dependency-box {
+      margin-top: 10px;
+    }
+    .ant-tabs-top > .ant-tabs-nav {
+      margin: 0;
+    }
+    .pom-box {
+      border: 1px solid @border-color-base;
+    }
+    .apply-pom {
+      z-index: 99;
+      position: absolute;
+      bottom: 20px;
+      float: right;
+      right: 20px;
+      cursor: pointer;
+      height: 26px;
+      padding: 0 12px;
+      font-size: 12px;
+    }
   }
 </style>
diff --git 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
index 9adb62d11..2ef4165e0 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/components/UploadDrawer.vue
@@ -19,11 +19,11 @@
     :okText="t('common.submitText')"
     @register="registerDrawer"
     showFooter
-    width="650"
+    width="700"
     @ok="handleSubmit"
   >
     <template #title>
-      <Icon icon="ant-design:code-outlined" />
+      <SvgIcon name="resource" />
       {{ getTitle }}
     </template>
     <BasicForm @register="registerForm" :schemas="getResourceFormSchema">
@@ -43,7 +43,6 @@
   import { ref, computed, unref } from 'vue';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form';
   import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
-  import { Icon } from '/@/components/Icon';
   import { useI18n } from '/@/hooks/web/useI18n';
   import Upload from './Upload.vue';
   import { fetchAddResource, fetchUpdateResource, checkResource } from 
'/@/api/resource/upload';
@@ -55,6 +54,7 @@
   } from '../useUploadRender';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { exceptionPropWidth } from '/@/utils';
+  import SvgIcon from '/@/components/Icon/src/SvgIcon.vue';
 
   const emit = defineEmits(['success', 'register']);
 
@@ -74,6 +74,14 @@
 
   const getResourceFormSchema = computed((): FormSchema[] => {
     return [
+      {
+        field: 'engineType',
+        label: t('flink.resource.engineType'),
+        component: 'Select',
+        render: ({ model }) => renderEngineType({ model }),
+        defaultValue: EngineTypeEnum.FLINK,
+        rules: [{ required: true, message: 
t('flink.resource.form.engineTypeIsRequiredMessage') }],
+      },
       {
         field: 'resourceType',
         label: t('flink.resource.resourceType'),
@@ -87,20 +95,14 @@
         field: 'resourceName',
         label: t('flink.resource.resourceName'),
         component: 'Input',
-        ifShow: ({ values }) => values?.resourceType !== 
ResourceTypeEnum.CONNECTOR,
+        ifShow: ({ values }) =>
+          values?.resourceType !== ResourceTypeEnum.CONNECTOR &&
+          values?.resourceType !== ResourceTypeEnum.GROUP,
         componentProps: { placeholder: 
t('flink.resource.resourceNamePlaceholder') },
         rules: [
           { required: true, message: 
t('flink.resource.form.resourceNameIsRequiredMessage') },
         ],
       },
-      {
-        field: 'engineType',
-        label: t('flink.resource.engineType'),
-        component: 'Select',
-        render: ({ model }) => renderEngineType({ model }),
-        defaultValue: EngineTypeEnum.FLINK,
-        rules: [{ required: true, message: 
t('flink.resource.form.engineTypeIsRequiredMessage') }],
-      },
       {
         field: 'resourceName',
         label: t('flink.resource.groupName'),
diff --git 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/upload.data.ts
 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/upload.data.ts
index cc375d5e8..901beb01e 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/upload.data.ts
+++ 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/upload.data.ts
@@ -22,7 +22,7 @@ export enum ResourceTypeEnum {
   FLINK_APP = 'FLINK_APP',
   CONNECTOR = 'CONNECTOR',
   UDXF = 'UDXF',
-  NORMAL_JAR = 'NORMAL_JAR',
+  JAR_LIBRARY = 'JAR_LIBRARY',
   GROUP = 'GROUP',
 }
 
diff --git 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/useUploadRender.tsx
 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/useUploadRender.tsx
index b9760be58..fc9e56f42 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/resource/upload/useUploadRender.tsx
+++ 
b/streampark-console/streampark-console-webapp/src/views/resource/upload/useUploadRender.tsx
@@ -22,7 +22,7 @@ import flinkAppSvg from '/@/assets/icons/flink2.svg';
 import sparkSvg from '/@/assets/icons/spark.svg';
 import connectorSvg from '/@/assets/icons/connector.svg';
 import udxfSvg from '/@/assets/icons/fx.svg';
-import normalJarSvg from '/@/assets/icons/jar.svg';
+import jarSvg from '/@/assets/icons/jar.svg';
 import groupSvg from '/@/assets/icons/group.svg';
 
 const { t } = useI18n();
@@ -34,7 +34,7 @@ export const renderResourceType = ({ model }) => {
       { label: 'Flink App', value: ResourceTypeEnum.FLINK_APP, src: 
flinkAppSvg },
       { label: 'Connector', value: ResourceTypeEnum.CONNECTOR, src: 
connectorSvg },
       { label: 'UDXF', value: ResourceTypeEnum.UDXF, src: udxfSvg },
-      { label: 'Normal Jar', value: ResourceTypeEnum.NORMAL_JAR, src: 
normalJarSvg },
+      { label: 'Jar Library', value: ResourceTypeEnum.JAR_LIBRARY, src: jarSvg 
},
       { label: 'Group', value: ResourceTypeEnum.GROUP, src: groupSvg },
     ];
     return options.map(({ label, value, src }) => {
diff --git 
a/streampark-console/streampark-console-webapp/src/views/resource/variable/components/VariableDrawer.vue
 
b/streampark-console/streampark-console-webapp/src/views/resource/variable/components/VariableDrawer.vue
index 820db65cd..b669aa73a 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/resource/variable/components/VariableDrawer.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/resource/variable/components/VariableDrawer.vue
@@ -23,7 +23,7 @@
     @ok="handleSubmit"
   >
     <template #title>
-      <Icon icon="ant-design:code-outlined" />
+      <SvgIcon name="variable" />
       {{ getTitle }}
     </template>
     <BasicForm @register="registerForm" :schemas="getTeamFormSchema" />
@@ -39,9 +39,9 @@
   import { ref, h, computed, unref, reactive } from 'vue';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form';
   import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
-  import { Icon } from '/@/components/Icon';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useFormValidate } from '/@/hooks/web/useFormValidate';
+  import SvgIcon from '/@/components/Icon/src/SvgIcon.vue';
   import {
     fetchAddVariable,
     fetchCheckVariableCode,

Reply via email to