diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
index 265ced0b..dc4cd583 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
@@ -30,7 +30,7 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei
index 7b1c4221..98b2908e 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei
@@ -9,7 +9,7 @@
   </#if>
 </#list>
 <template>
-  <div class="p-4">
+  <div>
     <!--引用表格-->
     <BasicTable @register="registerTable" :rowSelection="rowSelection" :expandedRowKeys="expandedRowKeys" @expand="handleExpand" @fetch-success="onFetchSuccess">
       <!--插槽:table标题-->
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
index 4baa604e..d83a7271 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/default/tree/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
@@ -34,7 +34,7 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
@@ -193,7 +193,15 @@ export const formSchema: FormSchema[] = [
   {
     label: '${po.filedComment}',
     field: '${po.fieldName}',
-    <#if po.classType =='date'>
+    <#if po.fieldDbName == tableVo.extendParams.pidField>
+    component: 'JTreeSelect',
+    componentProps: {
+      dict: "${tableVo.tableName},${tableVo.extendParams.textField},id",
+      pidField: "${tableVo.extendParams.pidField}",
+      pidValue: "0",
+      hasChildField: "${tableVo.extendParams.hasChildren}",
+    },
+    <#elseif po.classType =='date'>
     component: 'DatePicker',
      <#elseif po.fieldType =='datetime'>
     component: 'DatePicker',
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi
index c94300ad..29a805e0 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__api.tsi
@@ -15,8 +15,6 @@ enum Api {
   ${sub.entityName?uncap_first}Edit='/${entityPackage}/${entityName?uncap_first}/edit${sub.entityName}',
   ${sub.entityName?uncap_first}Delete = '/${entityPackage}/${entityName?uncap_first}/delete${sub.entityName}',
   ${sub.entityName?uncap_first}DeleteBatch = '/${entityPackage}/${entityName?uncap_first}/deleteBatch${sub.entityName}',
-  ${sub.entityName?uncap_first}ExportXlsUrl = '/${entityPackage}/${entityName?uncap_first}/export${sub.entityName}',
-  ${sub.entityName?uncap_first}ImportUrl = '/${entityPackage}/${entityName?uncap_first}/import${sub.entityName}',
 </#list>
 }
 /**
@@ -110,4 +108,13 @@ export const  ${sub.entityName?uncap_first}SaveOrUpdate = (params, isUpdate) =>
   let url = isUpdate ? Api.${sub.entityName?uncap_first}Edit : Api.${sub.entityName?uncap_first}Save;
   return defHttp.post({url: url, params});
 }
+/**
+ * 导入
+ */
+export const ${sub.entityName?uncap_first}ImportUrl = '/${entityPackage}/${entityName?uncap_first}/import${sub.entityName}'
+
+/**
+ * 导出
+ */
+export const ${sub.entityName?uncap_first}ExportXlsUrl = '/${entityPackage}/${entityName?uncap_first}/export${sub.entityName}'
 </#list>
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
index 4a8d8f73..19bf9d35 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
@@ -30,7 +30,7 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
@@ -393,7 +393,7 @@ export const ${sub.entityName?uncap_first}Columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/[1-n]List.vuei b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/[1-n]List.vuei
index 333760f6..ceb367b0 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/[1-n]List.vuei
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/vue3/[1-n]List.vuei
@@ -77,10 +77,17 @@
         },
         exportConfig: {
             name: '${sub.ftlDescription}',
-            url: ${sub.entityName?uncap_first}ExportXlsUrl
+            url: ${sub.entityName?uncap_first}ExportXlsUrl,
+            params: {
+                <#list sub.foreignKeys as key>
+                '${key?uncap_first}': mainId
+                </#list>
+            }
         },
         importConfig: {
-            url: getImportUrl()
+            url: ()=>{
+                return ${sub.entityName?uncap_first}ImportUrl + '/' + unref(mainId)
+            }
         }
     });
 
@@ -95,14 +102,6 @@
       }
     );
 
-    /**
-     * 导入地址
-     */
-    function getImportUrl(){
-        return ${sub.entityName?uncap_first}ImportUrl+'/'+ unref(mainId)
-    }
-
-
     /**
      * 新增事件
      */
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
index 33591b04..a8f82241 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
@@ -31,7 +31,7 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
@@ -396,7 +396,7 @@ export const ${sub.entityName?uncap_first}Columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
index d5ee8fa3..c52445ad 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
@@ -31,7 +31,7 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
index 05c17700..6d77bc26 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/vue3/${entityName}__data.tsi
@@ -31,7 +31,7 @@ export const columns: BasicColumn[] = [
     slots: { customRender: 'fileSlot' },
    <#elseif po.classType=='image'>
     dataIndex: '${po.fieldName}',
-    customRender:render.renderAvatar,
+    customRender:render.renderImage,
    <#elseif po.classType=='switch'>
     dataIndex: '${po.fieldName}',
 <#assign switch_extend_arr=['Y','N']>