From 7af35f459eea790dbc5f185a4c7d8530ccca012b Mon Sep 17 00:00:00 2001 From: datagear Date: Mon, 31 Aug 2020 14:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9ECSV=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E3=80=81CSV=E6=96=87=E4=BB=B6=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/AbstractExcelDataSet.java | 14 +- .../support/CsvDirectoryFileDataSet.java | 3 + .../support/ExcelDirectoryFileDataSet.java | 3 + .../support/JsonDirectoryFileDataSet.java | 3 + .../support/SimpleCsvFileDataSet.java | 3 + .../analysis/support/SimpleExcelDataSet.java | 5 + .../support/SimpleJsonFileDataSet.java | 3 + .../domain/CsvFileDataSetEntity.java | 114 +++++++++ .../domain/CsvValueDataSetEntity.java | 97 ++++++++ .../management/domain/DataSetEntity.java | 4 +- .../management/domain/ExcelDataSetEntity.java | 4 +- .../impl/DataSetEntityServiceImpl.java | 69 ++++++ .../org/datagear/management/ddl/datagear.sql | 25 ++ .../management/mapper/DataSetEntityMapper.xml | 68 +++++ .../web/controller/DataSetController.java | 221 +++++++++++++++-- .../datagear/web/locales/datagear.properties | 9 +- .../datagear/web/webapp/static/css/common.css | 2 +- .../analysis/dataSet/dataSet_form_CsvFile.ftl | 233 ++++++++++++++++++ .../dataSet/dataSet_form_CsvValue.ftl | 204 +++++++++++++++ .../analysis/dataSet/dataSet_form_Excel.ftl | 50 +--- .../dataSet/dataSet_form_JsonFile.ftl | 2 +- .../analysis/dataSet/dataSet_grid.ftl | 6 +- .../dataSet/include/dataSet_form_js.ftl | 12 +- .../include/dataSet_form_js_nameRow.ftl | 70 ++++++ 24 files changed, 1145 insertions(+), 79 deletions(-) create mode 100644 datagear-management/src/main/java/org/datagear/management/domain/CsvFileDataSetEntity.java create mode 100644 datagear-management/src/main/java/org/datagear/management/domain/CsvValueDataSetEntity.java create mode 100644 datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_CsvFile.ftl create mode 100644 datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_CsvValue.ftl create mode 100644 datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/include/dataSet_form_js_nameRow.ftl diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/AbstractExcelDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/AbstractExcelDataSet.java index 114f9fad..78af54fa 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/AbstractExcelDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/AbstractExcelDataSet.java @@ -48,6 +48,9 @@ import org.slf4j.LoggerFactory; *

* 通过{@linkplain #setNameRow(int)}可设置名称行。 *

+ *

+ * 注意:此类不支持Freemarker模板语言。 + *

* * @author datagear@163.com * @@ -105,7 +108,8 @@ public abstract class AbstractExcelDataSet extends AbstractFmkTemplateDataSet im /** * 设置此数据集所处的sheet号。 * - * @param sheetIndex sheet号(以{@code 1}计数) + * @param sheetIndex + * sheet号(以{@code 1}计数) */ public void setSheetIndex(int sheetIndex) { @@ -286,11 +290,11 @@ public abstract class AbstractExcelDataSet extends AbstractFmkTemplateDataSet im return resolveResultForSheet(paramValues, sheet, properties); } - catch(DataSetException e) + catch (DataSetException e) { throw e; } - catch(Throwable t) + catch (Throwable t) { throw new DataSetSourceParseException(t); } @@ -326,11 +330,11 @@ public abstract class AbstractExcelDataSet extends AbstractFmkTemplateDataSet im return resolveResultForSheet(paramValues, sheet, properties); } - catch(DataSetException e) + catch (DataSetException e) { throw e; } - catch(Throwable t) + catch (Throwable t) { throw new DataSetSourceParseException(t); } diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/CsvDirectoryFileDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/CsvDirectoryFileDataSet.java index 13f63e1c..351c5b0d 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/CsvDirectoryFileDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/CsvDirectoryFileDataSet.java @@ -17,6 +17,9 @@ import org.datagear.util.FileUtil; /** * 目录内CSV文件{@linkplain DataSet}。 + *

+ * 注意:此类不支持Freemarker模板语言。 + *

* * @author datagear@163.com * diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/ExcelDirectoryFileDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/ExcelDirectoryFileDataSet.java index e0b5c920..d9b75f7b 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/ExcelDirectoryFileDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/ExcelDirectoryFileDataSet.java @@ -18,6 +18,9 @@ import org.datagear.util.FileUtil; /** * 目录内Excel文件{@linkplain DataSet}。 + *

+ * 注意:此类不支持Freemarker模板语言。 + *

* * @author datagear@163.com * diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/JsonDirectoryFileDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/JsonDirectoryFileDataSet.java index 80461752..80d14f47 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/JsonDirectoryFileDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/JsonDirectoryFileDataSet.java @@ -18,6 +18,9 @@ import org.datagear.util.FileUtil; /** * 目录内JSON文件{@linkplain DataSet}。 + *

+ * 注意:此类不支持Freemarker模板语言。 + *

* * @author datagear@163.com * diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleCsvFileDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleCsvFileDataSet.java index c3a1761a..9b5ef2f9 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleCsvFileDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleCsvFileDataSet.java @@ -12,6 +12,9 @@ import org.datagear.analysis.DataSetProperty; /** * 简单CSV文件数据集。 + *

+ * 注意:此类不支持Freemarker模板语言。 + *

* * @author datagear@163.com * diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleExcelDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleExcelDataSet.java index f358dc56..51660a5b 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleExcelDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleExcelDataSet.java @@ -15,6 +15,11 @@ import org.datagear.analysis.DataSetException; import org.datagear.analysis.DataSetProperty; /** + * 简单Excel数据集。 + *

+ * 注意:此类不支持Freemarker模板语言。 + *

+ * * @author datagear@163.com * */ diff --git a/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleJsonFileDataSet.java b/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleJsonFileDataSet.java index 2770127d..73643a26 100644 --- a/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleJsonFileDataSet.java +++ b/datagear-analysis/src/main/java/org/datagear/analysis/support/SimpleJsonFileDataSet.java @@ -13,6 +13,9 @@ import org.datagear.analysis.DataSetProperty; /** * 简单JSON文件数据集。 + *

+ * 注意:此类不支持Freemarker模板语言。 + *

* * @author datagear@163.com * diff --git a/datagear-management/src/main/java/org/datagear/management/domain/CsvFileDataSetEntity.java b/datagear-management/src/main/java/org/datagear/management/domain/CsvFileDataSetEntity.java new file mode 100644 index 00000000..ab983c24 --- /dev/null +++ b/datagear-management/src/main/java/org/datagear/management/domain/CsvFileDataSetEntity.java @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2018 datagear.tech. All Rights Reserved. + */ + +/** + * + */ +package org.datagear.management.domain; + +import java.io.File; +import java.util.Date; +import java.util.List; + +import org.datagear.analysis.DataSetProperty; +import org.datagear.analysis.support.CsvDirectoryFileDataSet; + +/** + * {@linkplain CsvDirectoryFileDataSet}实体。 + * + * @author datagear@163.com + * + */ +public class CsvFileDataSetEntity extends CsvDirectoryFileDataSet implements DirectoryFileDataSetEntity +{ + private static final long serialVersionUID = 1L; + + /** 展示名 */ + private String displayName; + + /** 创建用户 */ + private User createUser; + + /** 创建时间 */ + private Date createTime; + + /** 权限 */ + private int dataPermission = PERMISSION_NOT_LOADED; + + public CsvFileDataSetEntity() + { + super(); + this.createTime = new Date(); + } + + public CsvFileDataSetEntity(String id, String name, List properties, File directory, + String fileName, String displayName, User createUser) + { + super(id, name, properties, directory, fileName); + this.displayName = displayName; + this.createTime = new Date(); + this.createUser = createUser; + } + + @Override + public String getDisplayName() + { + return displayName; + } + + @Override + public void setDisplayName(String displayName) + { + this.displayName = displayName; + } + + @Override + public String getDataSetType() + { + return DataSetEntity.DATA_SET_TYPE_CsvFile; + } + + @Override + public void setDataSetType(String dataSetType) + { + // XXX 什么也不做,不采用抛出异常的方式,便于统一底层SQL查询语句 + // throw new UnsupportedOperationException(); + } + + @Override + public User getCreateUser() + { + return createUser; + } + + @Override + public void setCreateUser(User createUser) + { + this.createUser = createUser; + } + + @Override + public Date getCreateTime() + { + return createTime; + } + + @Override + public void setCreateTime(Date createTime) + { + this.createTime = createTime; + } + + @Override + public int getDataPermission() + { + return dataPermission; + } + + @Override + public void setDataPermission(int dataPermission) + { + this.dataPermission = dataPermission; + } +} diff --git a/datagear-management/src/main/java/org/datagear/management/domain/CsvValueDataSetEntity.java b/datagear-management/src/main/java/org/datagear/management/domain/CsvValueDataSetEntity.java new file mode 100644 index 00000000..8a69eaec --- /dev/null +++ b/datagear-management/src/main/java/org/datagear/management/domain/CsvValueDataSetEntity.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2018 datagear.tech. All Rights Reserved. + */ + +/** + * + */ +package org.datagear.management.domain; + +import java.util.Date; +import java.util.List; + +import org.datagear.analysis.DataSetProperty; +import org.datagear.analysis.support.CsvValueDataSet; + +/** + * {@linkplain CsvValueDataSet}实体。 + * + * @author datagear@163.com + * + */ +public class CsvValueDataSetEntity extends CsvValueDataSet implements DataSetEntity +{ + private static final long serialVersionUID = 1L; + + /** 创建用户 */ + private User createUser; + + /** 创建时间 */ + private Date createTime; + + /** 权限 */ + private int dataPermission = PERMISSION_NOT_LOADED; + + public CsvValueDataSetEntity() + { + super(); + this.createTime = new Date(); + } + + public CsvValueDataSetEntity(String id, String name, List properties, String value, + User createUser) + { + super(id, name, properties, value); + this.createTime = new Date(); + this.createUser = createUser; + } + + @Override + public String getDataSetType() + { + return DataSetEntity.DATA_SET_TYPE_CsvValue; + } + + @Override + public void setDataSetType(String dataSetType) + { + // XXX 什么也不做,不采用抛出异常的方式,便于统一底层SQL查询语句 + // throw new UnsupportedOperationException(); + } + + @Override + public User getCreateUser() + { + return createUser; + } + + @Override + public void setCreateUser(User createUser) + { + this.createUser = createUser; + } + + @Override + public Date getCreateTime() + { + return createTime; + } + + @Override + public void setCreateTime(Date createTime) + { + this.createTime = createTime; + } + + @Override + public int getDataPermission() + { + return dataPermission; + } + + @Override + public void setDataPermission(int dataPermission) + { + this.dataPermission = dataPermission; + } +} diff --git a/datagear-management/src/main/java/org/datagear/management/domain/DataSetEntity.java b/datagear-management/src/main/java/org/datagear/management/domain/DataSetEntity.java index fe82c921..7a0f7487 100644 --- a/datagear-management/src/main/java/org/datagear/management/domain/DataSetEntity.java +++ b/datagear-management/src/main/java/org/datagear/management/domain/DataSetEntity.java @@ -34,8 +34,8 @@ public interface DataSetEntity extends DataSet, CreateUserEntity, DataPe /** 数据集类型:Excel */ String DATA_SET_TYPE_Excel = "Excel"; - /** 数据集类型:CSV */ - String DATA_SET_TYPE_Csv = "Csv"; + /** 数据集类型:CSV值 */ + String DATA_SET_TYPE_CsvValue = "CsvValue"; /** 数据集类型:CSV文件 */ String DATA_SET_TYPE_CsvFile = "CsvFile"; diff --git a/datagear-management/src/main/java/org/datagear/management/domain/ExcelDataSetEntity.java b/datagear-management/src/main/java/org/datagear/management/domain/ExcelDataSetEntity.java index 03f5faa3..ed8a57c7 100644 --- a/datagear-management/src/main/java/org/datagear/management/domain/ExcelDataSetEntity.java +++ b/datagear-management/src/main/java/org/datagear/management/domain/ExcelDataSetEntity.java @@ -42,8 +42,8 @@ public class ExcelDataSetEntity extends ExcelDirectoryFileDataSet implements Dir this.createTime = new Date(); } - public ExcelDataSetEntity(String id, String name, List properties, File directory, - String fileName, String displayName, User createUser) + public ExcelDataSetEntity(String id, String name, List properties, File directory, String fileName, + String displayName, User createUser) { super(id, name, properties, directory, fileName); this.displayName = displayName; diff --git a/datagear-management/src/main/java/org/datagear/management/service/impl/DataSetEntityServiceImpl.java b/datagear-management/src/main/java/org/datagear/management/service/impl/DataSetEntityServiceImpl.java index 22400b30..81d21c7d 100644 --- a/datagear-management/src/main/java/org/datagear/management/service/impl/DataSetEntityServiceImpl.java +++ b/datagear-management/src/main/java/org/datagear/management/service/impl/DataSetEntityServiceImpl.java @@ -17,6 +17,8 @@ import org.datagear.analysis.DataSet; import org.datagear.analysis.DataSetParam; import org.datagear.analysis.DataSetProperty; import org.datagear.connection.ConnectionSource; +import org.datagear.management.domain.CsvFileDataSetEntity; +import org.datagear.management.domain.CsvValueDataSetEntity; import org.datagear.management.domain.DataSetEntity; import org.datagear.management.domain.ExcelDataSetEntity; import org.datagear.management.domain.JsonFileDataSetEntity; @@ -170,6 +172,10 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit success = addJsonFileDataSetEntity((JsonFileDataSetEntity) entity); else if (entity instanceof ExcelDataSetEntity) success = addExcelDataSetEntity((ExcelDataSetEntity) entity); + else if (entity instanceof CsvValueDataSetEntity) + success = addCsvValueDataSetEntity((CsvValueDataSetEntity) entity); + else if (entity instanceof CsvFileDataSetEntity) + success = addCsvFileDataSetEntity((CsvFileDataSetEntity) entity); } if (success) @@ -210,6 +216,22 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit return (updateMybatis("insertExcelDataSetEntity", params) > 0); } + protected boolean addCsvValueDataSetEntity(CsvValueDataSetEntity entity) + { + Map params = buildParamMapWithIdentifierQuoteParameter(); + params.put("entity", entity); + + return (updateMybatis("insertCsvValueDataSetEntity", params) > 0); + } + + protected boolean addCsvFileDataSetEntity(CsvFileDataSetEntity entity) + { + Map params = buildParamMapWithIdentifierQuoteParameter(); + params.put("entity", entity); + + return (updateMybatis("insertCsvFileDataSetEntity", params) > 0); + } + @Override protected boolean update(DataSetEntity entity, Map params) { @@ -228,6 +250,10 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit success = updateJsonFileDataSetEntity((JsonFileDataSetEntity) entity); else if (entity instanceof ExcelDataSetEntity) success = updateExcelDataSetEntity((ExcelDataSetEntity) entity); + else if (entity instanceof CsvValueDataSetEntity) + success = updateCsvValueDataSetEntity((CsvValueDataSetEntity) entity); + else if (entity instanceof CsvFileDataSetEntity) + success = updateCsvFileDataSetEntity((CsvFileDataSetEntity) entity); } if (success) @@ -268,6 +294,22 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit return (updateMybatis("updateExcelDataSetEntity", params) > 0); } + protected boolean updateCsvValueDataSetEntity(CsvValueDataSetEntity entity) + { + Map params = buildParamMapWithIdentifierQuoteParameter(); + params.put("entity", entity); + + return (updateMybatis("updateCsvValueDataSetEntity", params) > 0); + } + + protected boolean updateCsvFileDataSetEntity(CsvFileDataSetEntity entity) + { + Map params = buildParamMapWithIdentifierQuoteParameter(); + params.put("entity", entity); + + return (updateMybatis("updateCsvFileDataSetEntity", params) > 0); + } + @Override public String getResourceType() { @@ -314,6 +356,10 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit obj = getJsonFileDataSetEntityById(obj.getId()); else if (DataSetEntity.DATA_SET_TYPE_Excel.equals(obj.getDataSetType())) obj = getExcelDataSetEntityById(obj.getId()); + else if (DataSetEntity.DATA_SET_TYPE_CsvValue.equals(obj.getDataSetType())) + obj = getCsvValueDataSetEntityById(obj.getId()); + else if (DataSetEntity.DATA_SET_TYPE_CsvFile.equals(obj.getDataSetType())) + obj = getCsvFileDataSetEntityById(obj.getId()); if (obj == null) return null; @@ -378,6 +424,29 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit return entity; } + protected CsvValueDataSetEntity getCsvValueDataSetEntityById(String id) + { + Map params = buildParamMapWithIdentifierQuoteParameter(); + params.put("id", id); + + CsvValueDataSetEntity entity = selectOneMybatis("getCsvValueDataSetEntityById", params); + + return entity; + } + + protected CsvFileDataSetEntity getCsvFileDataSetEntityById(String id) + { + Map params = buildParamMapWithIdentifierQuoteParameter(); + params.put("id", id); + + CsvFileDataSetEntity entity = selectOneMybatis("getCsvFileDataSetEntityById", params); + + if (entity != null) + entity.setDirectory(getDataSetDirectory(id)); + + return entity; + } + @Override protected void addDataPermissionParameters(Map params, User user) { diff --git a/datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql b/datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql index d5b8828e..4cb7dffc 100644 --- a/datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql +++ b/datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql @@ -532,3 +532,28 @@ CREATE TABLE DATAGEAR_DATA_SET_EXCEL ALTER TABLE DATAGEAR_DATA_SET_EXCEL ADD FOREIGN KEY (DS_ID) REFERENCES DATAGEAR_DATA_SET (DS_ID) ON DELETE CASCADE; +--2020-08-31 +--CSV值数据集 +CREATE TABLE DATAGEAR_DATA_SET_CSV_VALUE +( + DS_ID VARCHAR(50) NOT NULL, + DS_VALUE VARCHAR(10000) NOT NULL, + DS_NAME_ROW INTEGER, + PRIMARY KEY (DS_ID) +); + +ALTER TABLE DATAGEAR_DATA_SET_CSV_VALUE ADD FOREIGN KEY (DS_ID) REFERENCES DATAGEAR_DATA_SET (DS_ID) ON DELETE CASCADE; + +--2020-08-31 +--CSV文件数据集 +CREATE TABLE DATAGEAR_DATA_SET_CSV_FILE +( + DS_ID VARCHAR(50) NOT NULL, + DS_FILE_NAME VARCHAR(100) NOT NULL, + DS_DISPLAY_NAME VARCHAR(100) NOT NULL, + DS_FILE_ENCODING VARCHAR(50), + DS_NAME_ROW INTEGER, + PRIMARY KEY (DS_ID) +); + +ALTER TABLE DATAGEAR_DATA_SET_CSV_FILE ADD FOREIGN KEY (DS_ID) REFERENCES DATAGEAR_DATA_SET (DS_ID) ON DELETE CASCADE; diff --git a/datagear-management/src/main/resources/org/datagear/management/mapper/DataSetEntityMapper.xml b/datagear-management/src/main/resources/org/datagear/management/mapper/DataSetEntityMapper.xml index 8cb735f6..6284fff7 100644 --- a/datagear-management/src/main/resources/org/datagear/management/mapper/DataSetEntityMapper.xml +++ b/datagear-management/src/main/resources/org/datagear/management/mapper/DataSetEntityMapper.xml @@ -60,6 +60,28 @@ ) + + INSERT INTO DATAGEAR_DATA_SET_CSV_VALUE + ( + DS_ID, DS_VALUE, DS_NAME_ROW + ) + VALUES + ( + #{entity.id}, #{entity.value}, #{entity.nameRow} + ) + + + + INSERT INTO DATAGEAR_DATA_SET_CSV_FILE + ( + DS_ID, DS_FILE_NAME, DS_FILE_ENCODING, DS_DISPLAY_NAME, DS_NAME_ROW + ) + VALUES + ( + #{entity.id}, #{entity.fileName}, #{entity.encoding}, #{entity.displayName}, #{entity.nameRow} + ) + + INSERT INTO DATAGEAR_DATA_SET_PROP ( @@ -135,6 +157,24 @@ DS_ID = #{entity.id} + + UPDATE DATAGEAR_DATA_SET_CSV_VALUE SET + DS_VALUE = #{entity.value}, + DS_NAME_ROW = #{entity.nameRow} + WHERE + DS_ID = #{entity.id} + + + + UPDATE DATAGEAR_DATA_SET_CSV_FILE SET + DS_FILE_NAME = #{entity.fileName}, + DS_FILE_ENCODING = #{entity.encoding}, + DS_DISPLAY_NAME = #{entity.displayName}, + DS_NAME_ROW = #{entity.nameRow} + WHERE + DS_ID = #{entity.id} + + DELETE FROM DATAGEAR_DATA_SET WHERE @@ -225,6 +265,34 @@ T1.${_iq_}id${_iq_} = T2.DS_ID + + + + + + + <#if !readonly> +
+
<@spring.message code='upload' />
+
+
+ + + +
+
+ +
+
+ +
+
+
+
+ +
+
+ + + + + + + +   + +
+
+ <#include "include/dataSet_form_html_wow.ftl" > + + +
+ <#if !readonly> + +    + + <#else> +
 
+ +
+ + <#include "include/dataSet_form_html_preview_pvp.ftl" > + +<#include "../../include/page_js_obj.ftl" > +<#include "../../include/page_obj_form.ftl"> +<#include "include/dataSet_form_js.ftl"> +<#include "include/dataSet_form_js_nameRow.ftl"> + + + \ No newline at end of file diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_CsvValue.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_CsvValue.ftl new file mode 100644 index 00000000..3c02bf5c --- /dev/null +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_CsvValue.ftl @@ -0,0 +1,204 @@ +<#include "../../include/import_global.ftl"> +<#include "../../include/html_doctype.ftl"> +<#-- +titleMessageKey 标题标签I18N关键字,不允许null +formAction 表单提交action,允许为null +readonly 是否只读操作,允许为null +--> +<#assign formAction=(formAction!'#')> +<#assign readonly=(readonly!false)> +<#assign isAdd=(formAction == 'saveAdd')> + + +<#include "../../include/html_head.ftl"> +<#include "../../include/html_title_app_name.ftl"> + <@spring.message code='${titleMessageKey}' /> - <@spring.message code='dataSet.dataSetType.CsvValue' /> + + + +
+
+
+
+ <#include "include/dataSet_form_html_name.ftl"> +
+
+
+ +
+
+ +
+
+
+
+
+ <#include "include/dataSet_form_html_wow.ftl" > +
+
+
+ +
+
+ + + + + + + +   + +
+
+
+
+ <#if !readonly> + +    + + <#else> +
 
+ +
+
+ <#include "include/dataSet_form_html_preview_pvp.ftl" > +
+<#include "../../include/page_js_obj.ftl" > +<#include "../../include/page_obj_form.ftl"> +<#include "include/dataSet_form_js.ftl"> +<#include "include/dataSet_form_js_nameRow.ftl"> + + + \ No newline at end of file diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_Excel.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_Excel.ftl index cb950389..b54a4d2f 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_Excel.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/dataSet_form_Excel.ftl @@ -121,6 +121,7 @@ readonly 是否只读操作,允许为null <#include "../../include/page_js_obj.ftl" > <#include "../../include/page_obj_form.ftl"> <#include "include/dataSet_form_js.ftl"> +<#include "include/dataSet_form_js_nameRow.ftl"> \ No newline at end of file