From 9944c08c6a09ac6ceebf692727c9b42b54da2f7d Mon Sep 17 00:00:00 2001 From: thinkgem Date: Sun, 28 Jan 2018 00:11:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E8=A1=A8=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=EF=BC=8C=E5=AE=8C=E7=BE=8E=E4=BA=86=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=BC=BA=E5=88=B6=E6=96=B0=E8=A1=8C=EF=BC=8C=E6=A0=85?= =?UTF-8?q?=E6=A0=BC=E5=AE=9A=E4=B9=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/db/oracle/test.sql | 40 ++ web/db/test.erm | 1 + .../jeesite/modules/test/dao/TestDataDao.java | 18 + .../jeesite/modules/test/entity/TestData.java | 225 ++++++++++ .../modules/test/service/TestDataService.java | 76 ++++ .../modules/test/web/TestDataController.java | 123 ++++++ .../mappings/modules/test/TestDataDao.xml | 15 + .../views/modules/test/testDataForm.html | 402 ++++++++++++++++++ .../views/modules/test/testDataList.html | 173 ++++++++ 9 files changed, 1073 insertions(+) create mode 100644 web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java create mode 100644 web/src/main/java/com/jeesite/modules/test/entity/TestData.java create mode 100644 web/src/main/java/com/jeesite/modules/test/service/TestDataService.java create mode 100644 web/src/main/java/com/jeesite/modules/test/web/TestDataController.java create mode 100644 web/src/main/resources/mappings/modules/test/TestDataDao.xml create mode 100644 web/src/main/resources/views/modules/test/testDataForm.html create mode 100644 web/src/main/resources/views/modules/test/testDataList.html diff --git a/web/db/oracle/test.sql b/web/db/oracle/test.sql index fd75d2e0..11f14343 100644 --- a/web/db/oracle/test.sql +++ b/web/db/oracle/test.sql @@ -32,6 +32,26 @@ CREATE TABLE test_data update_by varchar2(64) NOT NULL, update_date timestamp NOT NULL, remarks nvarchar2(500), + extend_s1 nvarchar2(500), + extend_s2 nvarchar2(500), + extend_s3 nvarchar2(500), + extend_s4 nvarchar2(500), + extend_s5 nvarchar2(500), + extend_s6 nvarchar2(500), + extend_s7 nvarchar2(500), + extend_s8 nvarchar2(500), + extend_i1 number(19), + extend_i2 number(19), + extend_i3 number(19), + extend_i4 number(19), + extend_f1 number(19,4), + extend_f2 number(19,4), + extend_f3 number(19,4), + extend_f4 number(19,4), + extend_d1 timestamp, + extend_d2 timestamp, + extend_d3 timestamp, + extend_d4 timestamp, PRIMARY KEY (id) ); @@ -103,6 +123,26 @@ COMMENT ON COLUMN test_data.create_date IS '创建时间'; COMMENT ON COLUMN test_data.update_by IS '更新者'; COMMENT ON COLUMN test_data.update_date IS '更新时间'; COMMENT ON COLUMN test_data.remarks IS '备注信息'; +COMMENT ON COLUMN test_data.extend_s1 IS '扩展 String 1'; +COMMENT ON COLUMN test_data.extend_s2 IS '扩展 String 2'; +COMMENT ON COLUMN test_data.extend_s3 IS '扩展 String 3'; +COMMENT ON COLUMN test_data.extend_s4 IS '扩展 String 4'; +COMMENT ON COLUMN test_data.extend_s5 IS '扩展 String 5'; +COMMENT ON COLUMN test_data.extend_s6 IS '扩展 String 6'; +COMMENT ON COLUMN test_data.extend_s7 IS '扩展 String 7'; +COMMENT ON COLUMN test_data.extend_s8 IS '扩展 String 8'; +COMMENT ON COLUMN test_data.extend_i1 IS '扩展 Integer 1'; +COMMENT ON COLUMN test_data.extend_i2 IS '扩展 Integer 2'; +COMMENT ON COLUMN test_data.extend_i3 IS '扩展 Integer 3'; +COMMENT ON COLUMN test_data.extend_i4 IS '扩展 Integer 4'; +COMMENT ON COLUMN test_data.extend_f1 IS '扩展 Float 1'; +COMMENT ON COLUMN test_data.extend_f2 IS '扩展 Float 2'; +COMMENT ON COLUMN test_data.extend_f3 IS '扩展 Float 3'; +COMMENT ON COLUMN test_data.extend_f4 IS '扩展 Float 4'; +COMMENT ON COLUMN test_data.extend_d1 IS '扩展 Date 1'; +COMMENT ON COLUMN test_data.extend_d2 IS '扩展 Date 2'; +COMMENT ON COLUMN test_data.extend_d3 IS '扩展 Date 3'; +COMMENT ON COLUMN test_data.extend_d4 IS '扩展 Date 4'; COMMENT ON TABLE test_data_child IS '测试数据子表'; COMMENT ON COLUMN test_data_child.id IS '编号'; COMMENT ON COLUMN test_data_child.test_sort IS '排序号'; diff --git a/web/db/test.erm b/web/db/test.erm index 993c04f3..3edf9757 100644 --- a/web/db/test.erm +++ b/web/db/test.erm @@ -2080,6 +2080,7 @@ 35ae805d1da92afdb99b2fe8c536d1649356fccd + 118dab95fc1f792cd468b9f66af2d4fabd98c39b diff --git a/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java b/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java new file mode 100644 index 00000000..65594bd1 --- /dev/null +++ b/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + */ +package com.jeesite.modules.test.dao; + +import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.test.entity.TestData; + +/** + * 测试数据DAO接口 + * @author ThinkGem + * @version 2018-01-28 + */ +@MyBatisDao +public interface TestDataDao extends CrudDao { + +} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestData.java b/web/src/main/java/com/jeesite/modules/test/entity/TestData.java new file mode 100644 index 00000000..1cac010a --- /dev/null +++ b/web/src/main/java/com/jeesite/modules/test/entity/TestData.java @@ -0,0 +1,225 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + */ +package com.jeesite.modules.test.entity; + +import org.hibernate.validator.constraints.Length; +import java.util.Date; +import com.jeesite.common.mybatis.annotation.JoinTable; +import com.jeesite.common.mybatis.annotation.JoinTable.Type; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jeesite.modules.sys.entity.User; +import com.jeesite.modules.sys.entity.Office; +import com.jeesite.common.entity.Extend; + +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; + +/** + * 测试数据Entity + * @author ThinkGem + * @version 2018-01-28 + */ +@Table(name="test_data", alias="a", columns={ + @Column(name="id", attrName="id", label="编号", isPK=true), + @Column(name="test_input", attrName="testInput", label="单行文本", queryType=QueryType.LIKE), + @Column(name="test_textarea", attrName="testTextarea", label="多行文本", queryType=QueryType.LIKE), + @Column(name="test_select", attrName="testSelect", label="下拉框"), + @Column(name="test_select_multiple", attrName="testSelectMultiple", label="下拉多选"), + @Column(name="test_radio", attrName="testRadio", label="单选框"), + @Column(name="test_checkbox", attrName="testCheckbox", label="复选框"), + @Column(name="test_date", attrName="testDate", label="日期选择"), + @Column(name="test_datetime", attrName="testDatetime", label="日期时间"), + @Column(name="test_user_code", attrName="testUser.userCode", label="用户选择"), + @Column(name="test_office_code", attrName="testOffice.officeCode", label="部门选择"), + @Column(name="test_area_code", attrName="testAreaCode", label="区域选择"), + @Column(name="test_area_name", attrName="testAreaName", label="区域名称", isQuery=false), + @Column(includeEntity=DataEntity.class), + @Column(includeEntity=Extend.class, attrName="extend"), + }, joinTable={ + @JoinTable(type=Type.LEFT_JOIN, entity=User.class, attrName="testUser", alias="u10", + on="u10.user_code = a.test_user_code", columns={ + @Column(name="user_code", label="用户编码", isPK=true), + @Column(name="user_name", label="用户名称", isQuery=false), + }), + @JoinTable(type=Type.LEFT_JOIN, entity=Office.class, attrName="testOffice", alias="u11", + on="u11.office_code = a.test_office_code", columns={ + @Column(name="office_code", label="部门编码", isPK=true), + @Column(name="office_name", label="部门名称", isQuery=false), + }), + }, orderBy="a.update_date DESC" +) +public class TestData extends DataEntity { + + private static final long serialVersionUID = 1L; + private String testInput; // 单行文本 + private String testTextarea; // 多行文本 + private String testSelect; // 下拉框 + private String testSelectMultiple; // 下拉多选 + private String testRadio; // 单选框 + private String testCheckbox; // 复选框 + private Date testDate; // 日期选择 + private Date testDatetime; // 日期时间 + private User testUser; // 用户选择 + private Office testOffice; // 部门选择 + private String testAreaCode; // 区域选择 + private String testAreaName; // 区域名称 + private Extend extend; // 扩展字段 + + public TestData() { + this(null); + } + + public TestData(String id){ + super(id); + } + + @Length(min=0, max=200, message="单行文本长度不能超过 200 个字符") + public String getTestInput() { + return testInput; + } + + public void setTestInput(String testInput) { + this.testInput = testInput; + } + + @Length(min=0, max=200, message="多行文本长度不能超过 200 个字符") + public String getTestTextarea() { + return testTextarea; + } + + public void setTestTextarea(String testTextarea) { + this.testTextarea = testTextarea; + } + + @Length(min=0, max=10, message="下拉框长度不能超过 10 个字符") + public String getTestSelect() { + return testSelect; + } + + public void setTestSelect(String testSelect) { + this.testSelect = testSelect; + } + + @Length(min=0, max=200, message="下拉多选长度不能超过 200 个字符") + public String getTestSelectMultiple() { + return testSelectMultiple; + } + + public void setTestSelectMultiple(String testSelectMultiple) { + this.testSelectMultiple = testSelectMultiple; + } + + @Length(min=0, max=10, message="单选框长度不能超过 10 个字符") + public String getTestRadio() { + return testRadio; + } + + public void setTestRadio(String testRadio) { + this.testRadio = testRadio; + } + + @Length(min=0, max=200, message="复选框长度不能超过 200 个字符") + public String getTestCheckbox() { + return testCheckbox; + } + + public void setTestCheckbox(String testCheckbox) { + this.testCheckbox = testCheckbox; + } + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date getTestDate() { + return testDate; + } + + public void setTestDate(Date testDate) { + this.testDate = testDate; + } + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date getTestDatetime() { + return testDatetime; + } + + public void setTestDatetime(Date testDatetime) { + this.testDatetime = testDatetime; + } + + public User getTestUser() { + return testUser; + } + + public void setTestUser(User testUser) { + this.testUser = testUser; + } + + public Office getTestOffice() { + return testOffice; + } + + public void setTestOffice(Office testOffice) { + this.testOffice = testOffice; + } + + @Length(min=0, max=64, message="区域选择长度不能超过 64 个字符") + public String getTestAreaCode() { + return testAreaCode; + } + + public void setTestAreaCode(String testAreaCode) { + this.testAreaCode = testAreaCode; + } + + @Length(min=0, max=100, message="区域名称长度不能超过 100 个字符") + public String getTestAreaName() { + return testAreaName; + } + + public void setTestAreaName(String testAreaName) { + this.testAreaName = testAreaName; + } + + public Extend getExtend() { + return extend; + } + + public void setExtend(Extend extend) { + this.extend = extend; + } + + public Date getTestDate_gte() { + return sqlMap.getWhere().getValue("test_date", QueryType.GTE); + } + + public void setTestDate_gte(Date testDate) { + sqlMap.getWhere().and("test_date", QueryType.GTE, testDate); + } + + public Date getTestDate_lte() { + return sqlMap.getWhere().getValue("test_date", QueryType.LTE); + } + + public void setTestDate_lte(Date testDate) { + sqlMap.getWhere().and("test_date", QueryType.LTE, testDate); + } + + public Date getTestDatetime_gte() { + return sqlMap.getWhere().getValue("test_datetime", QueryType.GTE); + } + + public void setTestDatetime_gte(Date testDatetime) { + sqlMap.getWhere().and("test_datetime", QueryType.GTE, testDatetime); + } + + public Date getTestDatetime_lte() { + return sqlMap.getWhere().getValue("test_datetime", QueryType.LTE); + } + + public void setTestDatetime_lte(Date testDatetime) { + sqlMap.getWhere().and("test_datetime", QueryType.LTE, testDatetime); + } + +} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java b/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java new file mode 100644 index 00000000..90d1eeb6 --- /dev/null +++ b/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java @@ -0,0 +1,76 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + */ +package com.jeesite.modules.test.service; + +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.jeesite.common.entity.Page; +import com.jeesite.common.service.CrudService; +import com.jeesite.modules.test.entity.TestData; +import com.jeesite.modules.test.dao.TestDataDao; +import com.jeesite.modules.file.utils.FileUploadUtils; + +/** + * 测试数据Service + * @author ThinkGem + * @version 2018-01-28 + */ +@Service +@Transactional(readOnly=true) +public class TestDataService extends CrudService { + + /** + * 获取单条数据 + * @param testData + * @return + */ + public TestData get(TestData testData) { + return super.get(testData); + } + + /** + * 查询分页数据 + * @param page 分页对象 + * @param testData + * @return + */ + public Page findPage(Page page, TestData testData) { + return super.findPage(page, testData); + } + + /** + * 保存数据(插入或更新) + * @param testData + */ + @Transactional(readOnly=false) + public void save(TestData testData) { + super.save(testData); + // 保存上传图片 + FileUploadUtils.saveFileUpload(testData.getId(), "testData_image"); + // 保存上传附件 + FileUploadUtils.saveFileUpload(testData.getId(), "testData_file"); + } + + /** + * 更新状态 + * @param testData + */ + @Transactional(readOnly=false) + public void updateStatus(TestData testData) { + super.updateStatus(testData); + } + + /** + * 删除数据 + * @param testData + */ + @Transactional(readOnly=false) + public void delete(TestData testData) { + super.delete(testData); + } + +} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java b/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java new file mode 100644 index 00000000..09b03a9f --- /dev/null +++ b/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java @@ -0,0 +1,123 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + */ +package com.jeesite.modules.test.web; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.jeesite.common.config.Global; +import com.jeesite.common.entity.Page; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.sys.utils.UserUtils; +import com.jeesite.modules.test.entity.TestData; +import com.jeesite.modules.test.service.TestDataService; + +/** + * 测试数据Controller + * @author ThinkGem + * @version 2018-01-28 + */ +@Controller +@RequestMapping(value = "${adminPath}/test/testData") +public class TestDataController extends BaseController { + + @Autowired + private TestDataService testDataService; + + /** + * 获取数据 + */ + @ModelAttribute + public TestData get(String id, boolean isNewRecord) { + return testDataService.get(id, isNewRecord); + } + + /** + * 查询列表 + */ + @RequiresPermissions("test:testData:view") + @RequestMapping(value = {"list", ""}) + public String list(TestData testData, Model model) { + model.addAttribute("testData", testData); + return "modules/test/testDataList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("test:testData:view") + @RequestMapping(value = "listData") + @ResponseBody + public Page listData(TestData testData, HttpServletRequest request, HttpServletResponse response) { + Page page = testDataService.findPage(new Page(request, response), testData); + return page; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("test:testData:view") + @RequestMapping(value = "form") + public String form(TestData testData, Model model) { + model.addAttribute("testData", testData); + return "modules/test/testDataForm"; + } + + /** + * 保存数据 + */ + @RequiresPermissions("test:testData:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated TestData testData) { + testDataService.save(testData); + return renderResult(Global.TRUE, "保存数据成功!"); + } + + /** + * 停用数据 + */ + @RequiresPermissions("test:testData:edit") + @RequestMapping(value = "disable") + @ResponseBody + public String disable(TestData testData) { + testData.setStatus(TestData.STATUS_DISABLE); + testDataService.updateStatus(testData); + return renderResult(Global.TRUE, "停用数据成功"); + } + + /** + * 启用数据 + */ + @RequiresPermissions("test:testData:edit") + @RequestMapping(value = "enable") + @ResponseBody + public String enable(TestData testData) { + testData.setStatus(TestData.STATUS_NORMAL); + testDataService.updateStatus(testData); + return renderResult(Global.TRUE, "启用数据成功"); + } + + /** + * 删除数据 + */ + @RequiresPermissions("test:testData:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(TestData testData) { + testDataService.delete(testData); + return renderResult(Global.TRUE, "删除数据成功!"); + } + +} \ No newline at end of file diff --git a/web/src/main/resources/mappings/modules/test/TestDataDao.xml b/web/src/main/resources/mappings/modules/test/TestDataDao.xml new file mode 100644 index 00000000..b5edba9a --- /dev/null +++ b/web/src/main/resources/mappings/modules/test/TestDataDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/web/src/main/resources/views/modules/test/testDataForm.html b/web/src/main/resources/views/modules/test/testDataForm.html new file mode 100644 index 00000000..c3beb86c --- /dev/null +++ b/web/src/main/resources/views/modules/test/testDataForm.html @@ -0,0 +1,402 @@ +<% layout('/layouts/default.html', {title: '数据管理', libs: ['validate','fileupload']}){ %> +
+
+
+
+ ${testData.isNewRecord ? '新增数据' : '编辑数据'} +
+
+ +
+
+ <#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal"> +
+
基本信息
+ <#form:hidden path="id"/> +
+
+
+ +
+ <#form:input path="testInput" maxlength="200" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:textarea path="testTextarea" rows="4" maxlength="200" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control " /> +
+
+
+
+
+ +
+ <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control " /> +
+
+
+
+
+
+
+ +
+ <#form:radio path="testRadio" dictType="sys_menu_type" class="form-control " /> +
+
+
+
+
+ +
+ <#form:checkbox path="testCheckbox" dictType="sys_menu_type" class="form-control " /> +
+
+
+
+
+
+
+ +
+ <#form:input path="testDate" readonly="true" maxlength="20" class="form-control Wdate " + dataFormat="date" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/> +
+
+
+
+
+ +
+ <#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control Wdate " + dataFormat="datetime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/> +
+
+
+
+
+
+
+ +
+ <#form:treeselect id="testUser" title="用户" + path="testUser.userCode" labelPath="testUser.userName" + url="${ctx}/sys/office/treeData?isLoadUser=true" + class=" " allowClear="true"/> +
+
+
+
+
+ +
+ <#form:treeselect id="testOffice" title="部门" + path="testOffice.officeCode" labelPath="testOffice.officeName" + url="${ctx}/sys/office/treeData" + class=" " allowClear="true"/> +
+
+
+
+
+
+
+ +
+ <#form:treeselect id="testAreaCode" title="区域" + path="testAreaCode" labelPath="testAreaName" + url="${ctx}/sys/area/treeData" + class=" " allowClear="true"/> +
+
+
+
+
+
+
+ +
+ <#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/> +
+
+
+
+
扩展字段
+
+
+
+ +
+ <#form:input path="extend.extendS1" maxlength="500" class="form-control "/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendS2" maxlength="500" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendS3" maxlength="500" class="form-control "/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendS4" maxlength="500" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendS5" maxlength="500" class="form-control "/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendS6" maxlength="500" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendS7" maxlength="500" class="form-control "/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendS8" maxlength="500" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendI1" maxlength="19" class="form-control digits"/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendI2" maxlength="19" class="form-control digits"/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendI3" maxlength="19" class="form-control digits"/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendI4" maxlength="19" class="form-control digits"/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendF1" class="form-control number"/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendF2" class="form-control number"/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendF3" class="form-control number"/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendF4" class="form-control number"/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendD1" maxlength="6" class="form-control "/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendD2" maxlength="6" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:input path="extend.extendD3" maxlength="6" class="form-control "/> +
+
+
+
+
+ +
+ <#form:input path="extend.extendD4" maxlength="6" class="form-control "/> +
+
+
+
+
+
+
+ +
+ <#form:fileupload id="uploadImage" bizKey="${testData.id}" bizType="testData_image" + uploadType="image" class="" readonly="false"/> +
+
+
+
+
+
+
+ +
+ <#form:fileupload id="uploadFile" bizKey="${testData.id}" bizType="testData_file" + uploadType="all" class="" readonly="false"/> +
+
+
+
+
+ + +
+
+<% } %> + diff --git a/web/src/main/resources/views/modules/test/testDataList.html b/web/src/main/resources/views/modules/test/testDataList.html new file mode 100644 index 00000000..d815295d --- /dev/null +++ b/web/src/main/resources/views/modules/test/testDataList.html @@ -0,0 +1,173 @@ +<% layout('/layouts/default.html', {title: '数据管理', libs: ['dataGrid']}){ %> +
+
+
+
+ 数据管理 +
+
+ 查询 + <% if(hasPermi('test:testData:edit')){ %> + 新增 + <% } %> +
+
+
+ <#form:form id="searchForm" model="${testData}" action="${ctx}/test/testData/listData" method="post" class="form-inline hide" + data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}"> +
+ +
+ <#form:input path="testInput" maxlength="200" class="form-control width-120"/> +
+
+
+ +
+ <#form:input path="testTextarea" maxlength="200" class="form-control width-120"/> +
+
+
+ +
+ <#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control"/> +
+
+
+ +
+ <#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control"/> +
+
+
+ +
+ <#form:radio path="testRadio" dictType="sys_menu_type" blankOption="true" class="form-control"/> +
+
+
+ +
+ <#form:checkbox path="testCheckbox" dictType="sys_menu_type" blankOption="true" class="form-control"/> +
+
+
+ +
+ <#form:input path="testDate_gte" readonly="true" maxlength="20" class="form-control Wdate-date" + dataFormat="date" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false,onpicked:function(){testDate_lte.click()}});"/> +  --  + <#form:input path="testDate_lte" readonly="true" maxlength="20" class="form-control Wdate-date" + dataFormat="date" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/> +
+
+
+ +
+ <#form:input path="testDatetime_gte" readonly="true" maxlength="20" class="form-control Wdate-datetime" + dataFormat="datetime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false,onpicked:function(){testDatetime_lte.click()}});"/> +  --  + <#form:input path="testDatetime_lte" readonly="true" maxlength="20" class="form-control Wdate-datetime" + dataFormat="datetime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/> +
+
+
+ +
+ <#form:treeselect id="testUser" title="用户" + path="testUser.userCode" labelPath="testUser.userName" + url="${ctx}/sys/office/treeData?isLoadUser=true" allowClear="true"/> +
+
+
+ +
+ <#form:treeselect id="testOffice" title="部门" + path="testOffice.officeCode" labelPath="testOffice.officeName" + url="${ctx}/sys/office/treeData" allowClear="true"/> +
+
+
+ +
+ <#form:treeselect id="testAreaCode" title="区域" + path="testAreaCode" labelPath="testAreaName" + url="${ctx}/sys/area/treeData" allowClear="true"/> +
+
+
+ +
+ <#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control"/> +
+
+
+ +
+ <#form:input path="remarks" maxlength="500" class="form-control width-120"/> +
+
+
+ + +
+ +
+
+
+
+
+<% } %> + \ No newline at end of file