完成国际化组织管理功能和代码生成模板

This commit is contained in:
thinkgem
2018-04-22 18:56:53 +08:00
parent 44df274845
commit 4fc7a6869b
31 changed files with 332 additions and 303 deletions

View File

@@ -98,7 +98,7 @@ ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height
/* 树搜索相关 */
.treeSearchInput {padding:13px 0 0 20px;}
.treeSearchInput label {padding:5px 0 3px 0;font-size:13px;font-weight:normal;vertical-align:middle;}
.treeSearchInput input {width:145px;vertical-align:middle;line-height:24px;height:26px;border:1px solid #bbb;padding:0 4px;}
.treeSearchInput input {width:140px;vertical-align:middle;line-height:24px;height:26px;border:1px solid #bbb;padding:0 4px;}
.treeSearchInput button {border:1px solid #bbb;vertical-align:middle;height:26px;height:26px\9;font-size:13px;background:#efefef;padding:0 8px;}
.treeShowHideButton {position:absolute;right:8px;top:-3px;font-size:12px;color:#333;z-index:3;}
.treeShowHideButton label {cursor:pointer;}

View File

@@ -144,7 +144,7 @@ public class CompanyController extends BaseController {
@ResponseBody
public String save(@Validated Company company) {
companyService.save(company);
return renderResult(Global.TRUE, "保存公司'" + company.getCompanyName() + "'成功!");
return renderResult(Global.TRUE, text("保存公司''{0}''成功", company.getCompanyName()));
}
/**
@@ -160,11 +160,11 @@ public class CompanyController extends BaseController {
where.setParentCodes("," + company.getId() + ",");
long count = companyService.findCount(where);
if (count > 0) {
return renderResult(Global.FALSE, "该公司包含未停用的子公司!");
return renderResult(Global.FALSE, text("该公司包含未停用的子公司!"));
}
company.setStatus(Company.STATUS_DISABLE);
companyService.updateStatus(company);
return renderResult(Global.TRUE, "停用公司" + company.getCompanyName() + "成功");
return renderResult(Global.TRUE, text("停用公司''{0}''成功", company.getCompanyName()));
}
/**
@@ -177,7 +177,7 @@ public class CompanyController extends BaseController {
public String enable(Company company) {
company.setStatus(Company.STATUS_NORMAL);
companyService.updateStatus(company);
return renderResult(Global.TRUE, "启用公司" + company.getCompanyName() + "成功");
return renderResult(Global.TRUE, text("启用公司''{0}''成功", company.getCompanyName()));
}
/**
@@ -189,7 +189,7 @@ public class CompanyController extends BaseController {
@ResponseBody
public String delete(Company company) {
companyService.delete(company);
return renderResult(Global.TRUE, "删除公司成功");
return renderResult(Global.TRUE, text("删除公司''{0}''成功", company.getCompanyName()));
}
/**

View File

@@ -149,7 +149,7 @@ public class OfficeController extends BaseController {
@ResponseBody
public String save(@Validated Office office, String cmd, Model model) {
officeService.save(office);
return renderResult(Global.TRUE, "保存机构'" + office.getOfficeName() + "'成功");
return renderResult(Global.TRUE, text("保存机构''{0}''成功", office.getOfficeName()));
}
/**
@@ -165,11 +165,11 @@ public class OfficeController extends BaseController {
where.setParentCodes("," + office.getId() + ",");
long count = officeService.findCount(where);
if (count > 0) {
return renderResult(Global.FALSE, "该机构包含未停用的子机构!");
return renderResult(Global.FALSE, text("该机构包含未停用的子机构!"));
}
office.setStatus(Office.STATUS_DISABLE);
officeService.updateStatus(office);
return renderResult(Global.TRUE, "停用机构" + office.getOfficeName() + "成功");
return renderResult(Global.TRUE, text("停用机构''{0}''成功", office.getOfficeName()));
}
/**
@@ -182,7 +182,7 @@ public class OfficeController extends BaseController {
public String enable(Office office) {
office.setStatus(Office.STATUS_NORMAL);
officeService.updateStatus(office);
return renderResult(Global.TRUE, "启用机构" + office.getOfficeName() + "成功");
return renderResult(Global.TRUE, text("启用机构''{0}''成功", office.getOfficeName()));
}
/**
@@ -194,7 +194,7 @@ public class OfficeController extends BaseController {
@ResponseBody
public String delete(Office office) {
officeService.delete(office);
return renderResult(Global.TRUE, "删除机构"+office.getOfficeName()+"成功");
return renderResult(Global.TRUE, text("删除机构''{0}''成功", office.getOfficeName()));
}
/**

View File

@@ -68,10 +68,10 @@ public class PostController extends BaseController {
@ResponseBody
public String save(@Validated Post post, String oldRoleName, Model model) {
if (!"true".equals(checkPostName(oldRoleName, post.getPostName()))) {
return renderResult(Global.FALSE, "保存岗位'" + post.getPostName() + "'失败, 岗位名已存在");
return renderResult(Global.FALSE, text("保存岗位失败,岗位名称''{0}''已存在", post.getPostName()));
}
postService.save(post);
return renderResult(Global.TRUE, "保存岗位'" + post.getPostName() + "'成功!");
return renderResult(Global.TRUE, text("保存岗位''{0}''成功", post.getPostName()));
}
@RequiresPermissions("sys:post:edit")
@@ -80,7 +80,7 @@ public class PostController extends BaseController {
public String disable(Post post, HttpServletRequest request, HttpServletResponse response, Model model) {
post.setStatus(Post.STATUS_DISABLE);
postService.updateStatus(post);
return renderResult(Global.TRUE, "停用岗位'" + post.getPostName() + "'成功!");
return renderResult(Global.TRUE, text("停用岗位''{0}''成功", post.getPostName()));
}
@RequiresPermissions("sys:post:edit")
@@ -89,7 +89,7 @@ public class PostController extends BaseController {
public String enable(Post post, HttpServletRequest request, HttpServletResponse response, Model model) {
post.setStatus(Post.STATUS_NORMAL);
postService.updateStatus(post);
return renderResult(Global.TRUE, "启用岗位'" + post.getPostName() + "'成功!");
return renderResult(Global.TRUE, text("启用岗位''{0}''成功", post.getPostName()));
}
@RequiresPermissions("sys:post:edit")
@@ -97,7 +97,7 @@ public class PostController extends BaseController {
@ResponseBody
public String delete(Post post) {
postService.delete(post);
return renderResult(Global.TRUE, "删除岗位成功");
return renderResult(Global.TRUE, text("删除岗位''{0}''成功", post.getPostName()));
}
/**

View File

@@ -142,7 +142,7 @@ public class EmpUserController extends BaseController {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
}
if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, empUser.getLoginCode()/*, null*/))) {
return renderResult(Global.FALSE, text("保存用户'{0}'失败,登录账号已存在", empUser.getLoginCode()));
return renderResult(Global.FALSE, text("保存用户失败,登录账号''{0}''已存在", empUser.getLoginCode()));
}
if (StringUtils.inString(op, Global.OP_ADD, Global.OP_EDIT)){
empUser.setUserType(User.USER_TYPE_EMPLOYEE);
@@ -248,7 +248,7 @@ public class EmpUserController extends BaseController {
}
empUser.setStatus(User.STATUS_DISABLE);
userService.updateStatus(empUser);
return renderResult(Global.TRUE, text("停用用户成功"));
return renderResult(Global.TRUE, text("停用用户''{0}''成功", empUser.getUserName()));
}
/**
@@ -268,7 +268,7 @@ public class EmpUserController extends BaseController {
}
empUser.setStatus(User.STATUS_NORMAL);
userService.updateStatus(empUser);
return renderResult(Global.TRUE, text("启用用户成功"));
return renderResult(Global.TRUE, text("启用用户''{0}''成功", empUser.getUserName()));
}
/**
@@ -287,7 +287,7 @@ public class EmpUserController extends BaseController {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
}
userService.updatePassword(empUser.getUserCode(), null);
return renderResult(Global.TRUE, text("重置用户密码成功"));
return renderResult(Global.TRUE, text("重置用户''{0}''密码成功", empUser.getUserName()));
}
/**

View File

@@ -1,2 +1,3 @@
4.0.0
4.0.1
4.0.1
4.0.2

View File

@@ -1,6 +1,8 @@
# =========== common ===========
英语=English
保\ 存=Save
关\ 闭=Close
确定=Ok

View File

@@ -1,8 +1,45 @@
# =========== 通用字典 ===========
=Yes
=No
=Man
=Woman
正常=Normal
删除=Delete
停用=Disable
冻结=Freeze
待审=Audit
驳回=Rejected
草稿=Draft
# =========== 通用字段 ===========
状态=Status
备注信息=Remarks
创建者=Create by
创建时间=Create date
更新者=Update by
更新时间=Update date
排序号=Sort
# =========== 功能标题 ===========
系统管理=System mgt
组织管理=Organization
用户管理=User manage
机构管理=Office manage
公司管理=Company manage
岗位管理=Position manage
用户选择=User select
机构选择=Office select
公司选择=Company select
区域选择=Area select
日期选择=Date select
日期时间=Date time
# =========== 登录页 ===========
英语=English
登录=Login
请填写登录账号.=Please enter login account.
@@ -45,10 +82,6 @@
修改头像=Change Avatar
用户昵称=Nickname
电子邮箱=Email
手机号码=Mobile
办公电话=Phone
个性签名=Signature
上次登录=Last Login
时间=Time
@@ -66,43 +99,6 @@
新保密问题=New secret questions
新保密问题答案=New secret answers
# =========== 通用字典 ===========
=Yes
=No
=Man
=Woman
正常=Normal
删除=Delete
停用=Disable
冻结=Freeze
待审=Audit
驳回=Rejected
草稿=Draft
# =========== 通用字段 ===========
状态=Status
备注信息=Remarks
创建者=Create by
创建时间=Create date
更新者=Update by
更新时间=Update date
# =========== 功能标题 ===========
系统管理=System mgt
组织管理=Organization
用户管理=User manage
机构管理=Office manage
公司管理=Company manage
岗位管理=Position manage
用户选择=User select
机构选择=Office select
公司选择=Company select
区域选择=Area select
# =========== 用户管理 ===========
组织机构=Office
@@ -123,12 +119,12 @@
确认要将该用户密码重置到初始状态吗?=Are you sure want to reset the user password to the initial state?
重置密码=Reset password
保存用户失败,登录账号''{0}''已存在=Save user failed, login account ''{0}'' already exists
保存用户''{0}''成功=Save the user ''{0}'' success
保存用户''{0}''失败,登录账号已存在=Save user ''{0}'' failed, login account already exists
停用用户失败,不允许停用当前用户=Disable user failed. Not disable current user
停用用户成功=Disable user success
启用用户成功=Enable user success
重置用户密码成功=Reset user password success
停用用户''{0}''成功=Disable user ''{0}'' success
启用用户''{0}''成功=Enable user ''{0}'' success
重置用户''{0}''密码成功=Reset user ''{0}'' password success
删除用户失败,不允许删除当前用户=Delete user failed. Not delete current user
删除用户''{0}''成功=Delete user ''{0}'' success
用户分配数据权限成功=User assign data scopes success
@@ -175,6 +171,21 @@
确认要删除该机构及所有子机构吗?=Are you sure want to delete this office and sub office?
新增下级机构=New sub office
保存机构''{0}''成功=Save the office ''{0}'' success
该机构包含未停用的子机构!=The office contains enable sub office!
停用机构''{0}''成功=Disable office ''{0}'' success
启用机构''{0}''成功=Enable office ''{0}'' success
删除机构''{0}''成功=Delete office ''{0}'' success
上级机构=Parent Office
机构名称=Office name
机构代码=Office code
机构全称=Office full name
机构类型=Office type
负责人=Principal
联系地址=Address
邮政编码=Zip code
# =========== 公司管理 ===========
新增公司=New company
@@ -188,6 +199,19 @@
确认要删除该公司及所有子公司吗?=Are you sure want to delete this company and sub company?
新增下级公司=New sub company
保存公司''{0}''成功=Save the company ''{0}'' success
该公司包含未停用的子公司!=The company contains enable sub company!
停用公司''{0}''成功=Disable company ''{0}'' success
启用公司''{0}''成功=Enable company ''{0}'' success
删除公司''{0}''成功=Delete company ''{0}'' success
上级公司=Parent company
公司名称=Company name
公司编码=Company code
公司全称=Company full name
归属区域=Area
包含机构=Office
# =========== 岗位管理 ===========
新增岗位=New position
@@ -199,3 +223,14 @@
确认要启用该岗位吗?=Are you sure want to enable this position?
删除岗位=Delete position
确认要删除该岗位吗?=Are you sure want to delete this position?
保存岗位失败,岗位名称''{0}''已存在=Save position failed, position name ''{0}'' already exists
保存岗位''{0}''成功=Save the position ''{0}'' success
停用岗位''{0}''成功=Disable position ''{0}'' success
启用岗位''{0}''成功=Enable position ''{0}'' success
删除岗位''{0}''成功=Delete position ''{0}'' success
岗位名称=Position name
岗位名称已存在=Position already exists
岗位编码=Position code
岗位分类=Position type

View File

@@ -11,13 +11,13 @@
</div>
<#form:form id="inputForm" model="${company}" action="${ctx}/sys/company/save" method="post" class="form-horizontal">
<div class="box-body">
<div class="form-unit">基本信息</div>
<div class="form-unit">${text('基本信息')}</div>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4">上级公司:</label>
<label class="control-label col-sm-4">${text('上级公司')}</label>
<div class="col-sm-8">
<#form:treeselect id="parent" title="上级公司"
<#form:treeselect id="parent" title="${text('上级公司')}"
path="parent.id" labelPath="parent.companyName"
url="${ctx}/sys/company/treeData?excludeCode=${company.id}"
class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
@@ -29,7 +29,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 公司名称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('公司名称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="companyName" maxlength="200" class="form-control required "/>
</div>
@@ -38,7 +38,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 公司编码:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('公司编码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden path="isNewRecord"/>
<#form:hidden path="companyCode"/>
@@ -51,7 +51,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 公司全称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('公司全称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="fullName" maxlength="200" class="form-control required "/>
</div>
@@ -60,7 +60,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 排序号<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('排序号')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="treeSort" maxlength="10" class="form-control required digits"/>
</div>
@@ -71,9 +71,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 归属区域:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('归属区域')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:treeselect id="area" title="区域选择"
<#form:treeselect id="area" title="${text('区域选择')}"
path="area.areaCode" labelName="area.areaName" labelValue="${company.area.treeNames!}"
url="${ctx}/sys/area/treeData" returnFullName="true"
class=" " allowClear="true"/>
@@ -83,9 +83,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 包含机构:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('包含机构')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:treeselect id="companyOfficeList" title="机构选择"
<#form:treeselect id="companyOfficeList" title="${text('机构选择')}"
value="${@ListUtils.extractToString(officeList!, 'officeCode', ',')}"
labelValue="${@ListUtils.extractToString(officeList!, 'officeName', ',')}"
url="${ctx}/sys/office/treeData" checkbox="true"
@@ -99,7 +99,7 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('备注信息')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/>
</div>

View File

@@ -19,19 +19,19 @@
<#form:form id="searchForm" model="${company}" action="${ctx}/sys/company/listData" method="post" class="form-inline hide"
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<div class="form-group">
<label class="control-label">公司代码:</label>
<label class="control-label">${text('公司代码')}</label>
<div class="control-inline">
<#form:input path="viewCode" maxlength="100" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">公司名称:</label>
<label class="control-label">${text('公司名称')}</label>
<div class="control-inline">
<#form:input path="companyName" maxlength="200" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">公司全称:</label>
<label class="control-label">${text('公司全称')}</label>
<div class="control-inline">
<#form:input path="fullName" maxlength="200" class="form-control width-120"/>
</div>
@@ -57,14 +57,14 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'公司名称', name:'companyName', index:'a.company_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){
{header:'${text('公司名称')}', name:'companyName', index:'a.company_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){
return '( '+row.viewCode+' ) '+'<a href="${ctx}/sys/company/form?companyCode='+row.companyCode+'" class="btnList" data-title="${text('编辑公司')}">'+(val||row.id)+'</a>';
}},
{header:'公司全称', name:'fullName', index:'a.full_name', width:200, align:"left"},
{header:'排序号', name:'treeSort', index:'a.tree_sort', width:80, align:"center"},
{header:'归属区域', name:'area.treeNames', index:'a.areaCode', width:200, align:"center"},
{header:'更新时间', name:'updateDate', index:'a.update_date', width:200, align:"center"},
{header:'备注信息', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'${text('公司全称')}', name:'fullName', index:'a.full_name', width:200, align:"left"},
{header:'${text('排序号')}', name:'treeSort', index:'a.tree_sort', width:80, align:"center"},
{header:'${text('归属区域')}', name:'area.treeNames', index:'a.areaCode', width:200, align:"center"},
{header:'${text('更新时间')}', name:'updateDate', index:'a.update_date', width:200, align:"center"},
{header:'${text('备注信息')}', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'${text('状态')}', name:'status', index:'a.status', width:80, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true);
}},

View File

@@ -11,13 +11,13 @@
</div>
<#form:form id="inputForm" model="${office}" action="${ctx}/sys/office/save" method="post" class="form-horizontal">
<div class="box-body">
<div class="form-unit">基本信息</div>
<div class="form-unit">${text('基本信息')}</div>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4">上级机构:</label>
<label class="control-label col-sm-4">${text('上级机构')}</label>
<div class="col-sm-8">
<#form:treeselect id="parent" title="上级机构"
<#form:treeselect id="parent" title="${text('上级机构')}"
path="parent.id" labelPath="parent.officeName"
url="${ctx}/sys/office/treeData?excludeCode=${office.id}"
class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
@@ -29,7 +29,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 机构名称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('机构名称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="officeName" maxlength="100" class="form-control required "/>
</div>
@@ -38,7 +38,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 机构代码:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('机构代码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden path="isNewRecord"/>
<#form:hidden path="officeCode"/>
@@ -51,7 +51,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 机构全称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('机构全称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="fullName" maxlength="200" class="form-control required "/>
</div>
@@ -60,7 +60,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 排序号<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('排序号')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="treeSort" maxlength="10" class="form-control required digits"/>
</div>
@@ -71,19 +71,19 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 机构类型:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('机构类型')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="officeType" dictType="sys_office_type" class="form-control required " />
</div>
</div>
</div>
</div>
<div class="form-unit">详细信息</div>
<div class="form-unit">${text('详细信息')}</div>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 负责人<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('负责人')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="leader" maxlength="100" class="form-control "/>
</div>
@@ -92,7 +92,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 办公电话:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('办公电话')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="phone" maxlength="100" class="form-control phone"/>
</div>
@@ -103,7 +103,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 联系地址:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('联系地址')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="address" maxlength="255" class="form-control "/>
</div>
@@ -112,7 +112,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 邮政编码:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('邮政编码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="zipCode" maxlength="100" class="form-control zipCode"/>
</div>
@@ -123,7 +123,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 电子邮箱:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('电子邮箱')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="email" maxlength="300" class="form-control email"/>
</div>
@@ -132,7 +132,7 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('备注信息')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/>
</div>

View File

@@ -19,25 +19,25 @@
<#form:form id="searchForm" model="${office}" action="${ctx}/sys/office/listData" method="post" class="form-inline hide"
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<div class="form-group">
<label class="control-label">机构代码:</label>
<label class="control-label">${text('机构代码')}</label>
<div class="control-inline">
<#form:input path="viewCode" maxlength="100" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">机构名称:</label>
<label class="control-label">${text('机构名称')}</label>
<div class="control-inline">
<#form:input path="officeName" maxlength="100" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">机构全称:</label>
<label class="control-label">${text('机构全称')}</label>
<div class="control-inline">
<#form:input path="fullName" maxlength="200" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">机构类型:</label>
<label class="control-label">${text('机构类型')}</label>
<div class="control-inline width-90">
<#form:select path="officeType" dictType="sys_office_type" blankOption="true" class="form-control"/>
</div>
@@ -63,18 +63,18 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'机构名称', name:'officeName', index:'a.office_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){
{header:'${text('机构名称')}', name:'officeName', index:'a.office_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){
return '( '+row.viewCode+' ) '+'<a href="${ctx}/sys/office/form?officeCode='+row.officeCode+'" class="btnList" data-title="${text('编辑机构')}">'+(val||row.id)+'</a>';
}},
{header:'机构全称', name:'fullName', index:'a.full_name', width:200, align:"left"},
{header:'排序号', name:'treeSort', index:'a.tree_sort', width:80, align:"center"},
{header:'机构类型', name:'officeType', index:'a.office_type', width:100, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_office_type')}, val, '未知', true);
{header:'${text('机构全称')}', name:'fullName', index:'a.full_name', width:200, align:"left"},
{header:'${text('排序号')}', name:'treeSort', index:'a.tree_sort', width:80, align:"center"},
{header:'${text('机构类型')}', name:'officeType', index:'a.office_type', width:100, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_office_type')}, val, '${text('未知')}', true);
}},
{header:'更新时间', name:'updateDate', index:'a.update_date', width:150, align:"center"},
{header:'备注信息', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'${text('更新时间')}', name:'updateDate', index:'a.update_date', width:150, align:"center"},
{header:'${text('备注信息')}', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'${text('状态')}', name:'status', index:'a.status', width:80, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true);
return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '${text('未知')}', true);
}},
{header:'${text('操作')}', name:'actions', width:150, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = [];

View File

@@ -11,24 +11,24 @@
</div>
<#form:form id="inputForm" model="${post}" action="${ctx}/sys/post/save" method="post" class="form-horizontal">
<div class="box-body">
<div class="form-unit">基本信息</div>
<div class="form-unit">${text('基本信息')}</div>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 岗位名称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('岗位名称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden name="oldRoleName" value="${post.postName}"/>
<#form:input path="postName" maxlength="100" class="form-control required "
remote="${ctx}/sys/post/checkPostName?oldPostName=${post.postName}"
data-msg-remote="岗位名称已存在"/>
data-msg-remote="${text('岗位名称已存在')}"/>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 岗位编码:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('岗位编码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden path="isNewRecord"/>
<#form:input path="postCode" maxlength="64" readonly="${!post.isNewRecord}" class="form-control required abc"/>
@@ -40,7 +40,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 岗位分类:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('岗位分类')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="postType" dictType="sys_post_type" blankOption="true" class="form-control " />
</div>
@@ -49,7 +49,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 岗位排序<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('排序号')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="postSort" maxlength="10" class="form-control digits"/>
</div>
@@ -60,7 +60,7 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('备注信息')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/>
</div>

View File

@@ -16,19 +16,19 @@
<#form:form id="searchForm" model="${post}" action="${ctx}/sys/post/listData" method="post" class="form-inline hide"
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<div class="form-group">
<label class="control-label">岗位编码:</label>
<label class="control-label">${text('岗位编码')}</label>
<div class="control-inline">
<#form:input path="postCode" maxlength="64" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">岗位名称:</label>
<label class="control-label">${text('岗位名称')}</label>
<div class="control-inline">
<#form:input path="postName" maxlength="100" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">岗位分类:</label>
<label class="control-label">${text('岗位分类')}</label>
<div class="control-inline width-90">
<#form:select path="postType" dictType="sys_post_type" blankOption="true" class="form-control"/>
</div>
@@ -55,16 +55,16 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'岗位名称', name:'postName', index:'a.post_name', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
{header:'${text('岗位名称')}', name:'postName', index:'a.post_name', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/sys/post/form?postCode='+row.postCode+'" class="btnList" data-title="${text('编辑岗位')}">'+(val||row.id)+'</a>';
}},
{header:'岗位编码', name:'postCode', index:'a.post_code', width:200, align:"center"},
{header:'排序号', name:'postSort', index:'a.post_sort', width:80, align:"center"},
{header:'岗位分类', name:'postType', index:'a.post_type', width:100, align:"center", formatter: function(val, obj, row, act){
{header:'${text('岗位编码')}', name:'postCode', index:'a.post_code', width:200, align:"center"},
{header:'${text('排序号')}', name:'postSort', index:'a.post_sort', width:80, align:"center"},
{header:'${text('岗位分类')}', name:'postType', index:'a.post_type', width:100, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_post_type')}, val, '未知', true);
}},
{header:'更新时间', name:'updateDate', index:'a.update_date', width:150, align:"center"},
{header:'备注信息', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'${text('更新时间')}', name:'updateDate', index:'a.update_date', width:150, align:"center"},
{header:'${text('备注信息')}', name:'remarks', index:'a.remarks', width:200, align:"left"},
{header:'${text('状态')}', name:'status', index:'a.status', width:80, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true);
}},

View File

@@ -29,7 +29,7 @@
<script>
// 初始化布局
$('body').layout({
west__size: 185
west__size: 180
});
// 主页框架
var win = $("#mainFrame")[0].contentWindow;

View File

@@ -2,6 +2,8 @@
-- 打开 my.ini 给 [mysqld] 增加如下配置:
-- sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
set global read_only=0;
create user 'jeesite'@'%' identified by 'jeesite';
create database jeesite DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

View File

@@ -10,7 +10,7 @@ import com.jeesite.modules.test.entity.TestDataChild;
/**
* 测试数据DAO接口
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@MyBatisDao
public interface TestDataChildDao extends CrudDao<TestDataChild> {

View File

@@ -10,7 +10,7 @@ import com.jeesite.modules.test.entity.TestData;
/**
* 测试数据DAO接口
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@MyBatisDao
public interface TestDataDao extends CrudDao<TestData> {

View File

@@ -10,7 +10,7 @@ import com.jeesite.modules.test.entity.TestTree;
/**
* 测试树表DAO接口
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@MyBatisDao
public interface TestTreeDao extends TreeDao<TestTree> {

View File

@@ -8,7 +8,6 @@ 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 javax.validation.constraints.NotNull;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.entity.Office;
import java.util.List;
@@ -22,7 +21,7 @@ import com.jeesite.common.mybatis.mapper.query.QueryType;
/**
* 测试数据Entity
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Table(name="test_data", alias="a", columns={
@Column(name="id", attrName="id", label="编号", isPK=true),
@@ -132,7 +131,6 @@ public class TestData extends DataEntity<TestData> {
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@NotNull(message="日期选择不能为空")
public Date getTestDate() {
return testDate;
}
@@ -142,7 +140,6 @@ public class TestData extends DataEntity<TestData> {
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@NotNull(message="日期时间不能为空")
public Date getTestDatetime() {
return testDatetime;
}

View File

@@ -8,7 +8,6 @@ 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 javax.validation.constraints.NotNull;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.entity.Office;
@@ -20,7 +19,7 @@ import com.jeesite.common.mybatis.mapper.query.QueryType;
/**
* 测试数据Entity
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Table(name="test_data_child", alias="a", columns={
@Column(name="id", attrName="id", label="编号", isPK=true),
@@ -150,7 +149,6 @@ public class TestDataChild extends DataEntity<TestDataChild> {
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@NotNull(message="日期选择不能为空")
public Date getTestDate() {
return testDate;
}
@@ -160,7 +158,6 @@ public class TestDataChild extends DataEntity<TestDataChild> {
}
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@NotNull(message="日期时间不能为空")
public Date getTestDatetime() {
return testDatetime;
}

View File

@@ -15,7 +15,7 @@ import com.jeesite.common.mybatis.mapper.query.QueryType;
/**
* 测试树表Entity
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Table(name="test_tree", alias="a", columns={
@Column(name="tree_code", attrName="treeCode", label="节点编码", isPK=true),

View File

@@ -3,24 +3,22 @@
*/
package com.jeesite.modules.test.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
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;
import com.jeesite.modules.test.entity.TestDataChild;
import com.jeesite.modules.test.dao.TestDataChildDao;
import com.jeesite.modules.test.dao.TestDataDao;
import com.jeesite.modules.test.entity.TestData;
import com.jeesite.modules.test.entity.TestDataChild;
/**
* 测试数据Service
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Service
@Transactional(readOnly=true)

View File

@@ -8,16 +8,15 @@ 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.TreeService;
import com.jeesite.modules.test.entity.TestTree;
import com.jeesite.modules.test.dao.TestTreeDao;
import com.jeesite.modules.file.utils.FileUploadUtils;
import com.jeesite.modules.test.dao.TestTreeDao;
import com.jeesite.modules.test.entity.TestTree;
/**
* 测试树表Service
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Service
@Transactional(readOnly=true)

View File

@@ -25,7 +25,7 @@ import com.jeesite.modules.test.service.TestDataService;
/**
* 测试数据Controller
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Controller
@RequestMapping(value = "${adminPath}/test/testData")
@@ -81,7 +81,7 @@ public class TestDataController extends BaseController {
@ResponseBody
public String save(@Validated TestData testData) {
testDataService.save(testData);
return renderResult(Global.TRUE, "保存数据成功!");
return renderResult(Global.TRUE, text("保存数据成功!"));
}
/**
@@ -93,7 +93,7 @@ public class TestDataController extends BaseController {
public String disable(TestData testData) {
testData.setStatus(TestData.STATUS_DISABLE);
testDataService.updateStatus(testData);
return renderResult(Global.TRUE, "停用数据成功");
return renderResult(Global.TRUE, text("停用数据成功"));
}
/**
@@ -105,7 +105,7 @@ public class TestDataController extends BaseController {
public String enable(TestData testData) {
testData.setStatus(TestData.STATUS_NORMAL);
testDataService.updateStatus(testData);
return renderResult(Global.TRUE, "启用数据成功");
return renderResult(Global.TRUE, text("启用数据成功"));
}
/**
@@ -116,7 +116,7 @@ public class TestDataController extends BaseController {
@ResponseBody
public String delete(TestData testData) {
testDataService.delete(testData);
return renderResult(Global.TRUE, "删除数据成功!");
return renderResult(Global.TRUE, text("删除数据成功!"));
}
}

View File

@@ -29,7 +29,7 @@ import com.jeesite.modules.test.service.TestTreeService;
/**
* 测试树表Controller
* @author ThinkGem
* @version 2018-02-07
* @version 2018-04-22
*/
@Controller
@RequestMapping(value = "${adminPath}/test/testTree")
@@ -128,7 +128,7 @@ public class TestTreeController extends BaseController {
@ResponseBody
public String save(@Validated TestTree testTree) {
testTreeService.save(testTree);
return renderResult(Global.TRUE, "保存数据成功!");
return renderResult(Global.TRUE, text("保存数据成功!"));
}
/**
@@ -143,11 +143,11 @@ public class TestTreeController extends BaseController {
where.setParentCodes("," + testTree.getId() + ",");
long count = testTreeService.findCount(where);
if (count > 0) {
return renderResult(Global.FALSE, "该数据包含未停用的子数据!");
return renderResult(Global.FALSE, text("该数据包含未停用的子数据!"));
}
testTree.setStatus(TestTree.STATUS_DISABLE);
testTreeService.updateStatus(testTree);
return renderResult(Global.TRUE, "停用数据成功");
return renderResult(Global.TRUE, text("停用数据成功"));
}
/**
@@ -159,7 +159,7 @@ public class TestTreeController extends BaseController {
public String enable(TestTree testTree) {
testTree.setStatus(TestTree.STATUS_NORMAL);
testTreeService.updateStatus(testTree);
return renderResult(Global.TRUE, "启用数据成功");
return renderResult(Global.TRUE, text("启用数据成功"));
}
/**
@@ -170,7 +170,7 @@ public class TestTreeController extends BaseController {
@ResponseBody
public String delete(TestTree testTree) {
testTreeService.delete(testTree);
return renderResult(Global.TRUE, "删除数据成功!");
return renderResult(Global.TRUE, text("删除数据成功!"));
}
/**

View File

@@ -1,3 +1,10 @@
server:
port: 8980
context-path: /js
tomcat:
uri-encoding: UTF-8
spring:
profiles:
@@ -6,12 +13,4 @@ spring:
main:
banner-mode: "off"
server:
port: 8980
context-path: /js
tomcat:
uri-encoding: UTF-8
debug: true
debug: true

View File

@@ -1,9 +1,9 @@
<% layout('/layouts/default.html', {title: '数据管理', libs: ['validate','fileupload','ueditor','dataGrid']}){ %>
<% layout('/layouts/default.html', {title: '数据管理', libs: ['validate','fileupload','dataGrid']}){ %>
<div class="main-content">
<div class="box box-main">
<div class="box-header with-border">
<div class="box-title">
<i class="fa fa-list-alt"></i> ${testData.isNewRecord ? '新增数据' : '编辑数据'}
<i class="fa fa-list-alt"></i> ${text(testData.isNewRecord ? '新增数据' : '编辑数据')}
</div>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@@ -11,13 +11,13 @@
</div>
<#form:form id="inputForm" model="${testData}" action="${ctx}/test/testData/save" method="post" class="form-horizontal">
<div class="box-body">
<div class="form-unit">基本信息</div>
<div class="form-unit">${text('基本信息')}</div>
<#form:hidden path="id"/>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 单行文本:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('单行文本')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="testInput" maxlength="200" class="form-control"/>
</div>
@@ -28,7 +28,7 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 多行文本:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('多行文本')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:textarea path="testTextarea" rows="4" maxlength="200" class="form-control"/>
</div>
@@ -39,7 +39,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 下拉框<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('下拉框')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control" />
</div>
@@ -48,7 +48,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 下拉多选:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('下拉多选')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control" />
</div>
@@ -59,7 +59,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 单选框<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('单选框')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:radio path="testRadio" dictType="sys_menu_type" class="form-control" />
</div>
@@ -68,7 +68,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 复选框<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('复选框')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:checkbox path="testCheckbox" dictType="sys_menu_type" class="form-control" />
</div>
@@ -79,9 +79,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 日期选择:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('日期选择')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="testDate" readonly="true" maxlength="20" class="form-control Wdate required"
<#form:input path="testDate" readonly="true" maxlength="20" class="form-control Wdate"
dataFormat="date" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
</div>
</div>
@@ -89,9 +89,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 日期时间:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('日期时间')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control Wdate required"
<#form:input path="testDatetime" readonly="true" maxlength="20" class="form-control Wdate"
dataFormat="datetime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/>
</div>
</div>
@@ -101,9 +101,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 用户选择:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('用户选择')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:treeselect id="testUser" title="用户选择"
<#form:treeselect id="testUser" title="${text('用户选择')}"
path="testUser.userCode" labelPath="testUser.userName"
url="${ctx}/sys/office/treeData?isLoadUser=true"
class="" allowClear="true"/>
@@ -113,9 +113,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 机构选择:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('机构选择')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:treeselect id="testOffice" title="机构选择"
<#form:treeselect id="testOffice" title="${text('机构选择')}"
path="testOffice.officeCode" labelPath="testOffice.officeName"
url="${ctx}/sys/office/treeData"
class="" allowClear="true"/>
@@ -127,9 +127,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 区域选择:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('区域选择')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:treeselect id="testAreaCode" title="区域选择"
<#form:treeselect id="testAreaCode" title="${text('区域选择')}"
path="testAreaCode" labelPath="testAreaName"
url="${ctx}/sys/area/treeData"
class="" allowClear="true"/>
@@ -141,10 +141,9 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('备注信息')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:ueditor path="remarks" maxlength="10000" height="200" class="required"
simpleToolbars="true" readonly="false" outline="false"/>
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control"/>
</div>
</div>
</div>
@@ -152,7 +151,7 @@
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2">图片上传:</label>
<label class="control-label col-sm-2">${text('图片上传')}</label>
<div class="col-sm-10">
<#form:fileupload id="uploadImage" bizKey="${testData.id}" bizType="testData_image"
uploadType="image" class="" readonly="false"/>
@@ -163,7 +162,7 @@
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2">附件上传:</label>
<label class="control-label col-sm-2">${text('附件上传')}</label>
<div class="col-sm-10">
<#form:fileupload id="uploadFile" bizKey="${testData.id}" bizType="testData_file"
uploadType="all" class="" readonly="false"/>
@@ -171,11 +170,11 @@
</div>
</div>
</div>
<h4 class="form-unit">测试数据子表</h4>
<h4 class="form-unit">${text('测试数据子表')}</h4>
<div class="ml10 mr10">
<table id="testDataChildDataGrid"></table>
<% if (hasPermi('test:testData:edit')){ %>
<a href="#" id="testDataChildDataGridAddRowBtn" class="btn btn-primary btn-sm mt10 mb10"><i class="fa fa-plus"></i> 增行</a>
<a href="#" id="testDataChildDataGridAddRowBtn" class="btn btn-primary btn-sm mt10 mb10"><i class="fa fa-plus"></i> ${text('增行')}</a>
<% } %>
</div>
</div>
@@ -183,9 +182,9 @@
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<% if (hasPermi('test:testData:edit')){ %>
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> 保 存</button>&nbsp;
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>&nbsp;
<% } %>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关 闭</button>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
</div>
</div>
</div>
@@ -205,11 +204,11 @@ $("#testDataChildDataGrid").dataGrid({
columnModel: [
{header:'状态', name:'status', editable:true, hidden:true},
{header:'主键', name:'id', editable:true, hidden:true},
{header:'排序号', name:'testSort', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'11', 'class':'form-control digits'}},
{header:'父表主键', name:'testData.id', editable:true, hidden:true},
{header:'单行文本', name:'testInput', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'200', 'class':'form-control'}},
{header:'多行文本', name:'testTextarea', width:150, editable:true, edittype:'textarea', editoptions:{'maxlength':'200', 'class':'form-control', 'rows':'1'}},
{header:'下拉框', name:'testSelect', width:100,
{header:'${text('排序号')}', name:'testSort', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'11', 'class':'form-control digits'}},
{header:'${text('父表主键')}', name:'testData.id', editable:true, hidden:true},
{header:'${text('单行文本')}', name:'testInput', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'200', 'class':'form-control'}},
{header:'${text('多行文本')}', name:'testTextarea', width:150, editable:true, edittype:'textarea', editoptions:{'maxlength':'200', 'class':'form-control', 'rows':'1'}},
{header:'${text('下拉框')}', name:'testSelect', width:100,
editable:true, edittype:'select', editoptions:{'class':'form-control',
items: $.merge([{dictLabel:'&nbsp;',dictValue:''}], ${@DictUtils.getDictListJson('sys_menu_type')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
@@ -217,7 +216,7 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'下拉多选', name:'testSelectMultiple', width:100,
{header:'${text('下拉多选')}', name:'testSelectMultiple', width:100,
editable:true, edittype:'select', editoptions:{multiple:true, 'class':'form-control',
items: $.merge([], ${@DictUtils.getDictListJson('sys_menu_type')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
@@ -225,7 +224,7 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'单选框', name:'testRadio', width:100,
{header:'${text('单选框')}', name:'testRadio', width:100,
editable:true, edittype:'select', editoptions:{'class':'form-control',
items: $.merge([{dictLabel:'&nbsp;',dictValue:''}], ${@DictUtils.getDictListJson('sys_menu_type')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
@@ -233,7 +232,7 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'复选框', name:'testCheckbox', width:100,
{header:'${text('复选框')}', name:'testCheckbox', width:100,
editable:true, edittype:'select', editoptions:{multiple:true, 'class':'form-control',
items: $.merge([], ${@DictUtils.getDictListJson('sys_menu_type')}),
itemLabel: 'dictLabel', itemValue: 'dictValue', dataInit: function(element){
@@ -241,23 +240,23 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'日期选择', name:'testDate', width:150,
{header:'${text('日期选择')}', name:'testDate', width:150,
formatter:'date', formatoptions:{srcformat:'Y-m-d H:i:s',newformat:'Y-m-d'},
editable:true, edittype:'text', editoptions:{'class':'form-control Wdate required', 'readonly':'true',
editable:true, edittype:'text', editoptions:{'class':'form-control Wdate', 'readonly':'true',
dataInit: function(element){ $(element).on('focus', function(){
WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});
});
}}
},
{header:'日期时间', name:'testDatetime', width:150,
{header:'${text('日期时间')}', name:'testDatetime', width:150,
formatter:'date', formatoptions:{srcformat:'Y-m-d H:i:s',newformat:'Y-m-d H:i:s'},
editable:true, edittype:'text', editoptions:{'class':'form-control Wdate required', 'readonly':'true',
editable:true, edittype:'text', editoptions:{'class':'form-control Wdate', 'readonly':'true',
dataInit: function(element){ $(element).on('focus', function(){
WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});
});
}}
},
{header:'用户选择', name:'testUser', width:150,
{header:'${text('用户选择')}', name:'testUser', width:150,
formatter: function(val, obj, row, act){
return js.val(row, 'testUser.userCode')+'|'+js.val(row, 'testUser.userName');
}, editable: true, edittype: "custom", editoptions: {
@@ -271,7 +270,7 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'机构选择', name:'testOffice', width:150,
{header:'${text('机构选择')}', name:'testOffice', width:150,
formatter: function(val, obj, row, act){
return js.val(row, 'testOffice.officeCode')+'|'+js.val(row, 'testOffice.officeName');
}, editable: true, edittype: "custom", editoptions: {
@@ -285,7 +284,7 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'区域选择', name:'testAreaCode', width:150,
{header:'${text('区域选择')}', name:'testAreaCode', width:150,
formatter: function(val, obj, row, act){
return js.val(row, 'testAreaCode')+'|'+js.val(row, 'testAreaName');
}, editable: true, edittype: "custom", editoptions: {
@@ -299,12 +298,12 @@ $("#testDataChildDataGrid").dataGrid({
}
}
},
{header:'操作', name:'actions', width:80, sortable:false, fixed:true, formatter: function(val, obj, row, act){
{header:'${text('操作')}', name:'actions', width:80, sortable:false, fixed:true, formatter: function(val, obj, row, act){
var actions = [];
if (val == 'new'){
actions.push('<a href="#" onclick="js.confirm(\'你确认要删除这条数据吗\', function(){$(\'#testDataChildDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\')});return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="#" onclick="js.confirm(\'${text('你确认要删除这条数据吗')}\', function(){$(\'#testDataChildDataGrid\').dataGrid(\'delRowData\',\''+obj.rowId+'\')});return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
}else{
actions.push('<a href="#" onclick="js.confirm(\'你确认要删除这条数据吗\', function(){$(\'#testDataChildDataGrid\').dataGrid(\'setRowData\',\''+obj.rowId+'\',null,{display:\'none\'})});$(\'#'+obj.rowId+'_status\').val(\''+Global.STATUS_DELETE+'\');return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="#" onclick="js.confirm(\'${text('你确认要删除这条数据吗')}\', function(){$(\'#testDataChildDataGrid\').dataGrid(\'setRowData\',\''+obj.rowId+'\',null,{display:\'none\'})});$(\'#'+obj.rowId+'_status\').val(\''+Global.STATUS_DELETE+'\');return false;"><i class="fa fa-trash-o"></i></a>&nbsp;');
}
return actions.join('');
}, editoptions: {defaultValue: 'new'}}

View File

@@ -3,12 +3,12 @@
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa fa-list-alt"></i> 数据管理
<i class="fa fa-list-alt"></i> ${text('数据管理')}
</div>
<div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
<% if(hasPermi('test:testData:edit')){ %>
<a href="${ctx}/test/testData/form" class="btn btn-default btnTool" title="新增数据"><i class="fa fa-plus"></i> 新增</a>
<a href="${ctx}/test/testData/form" class="btn btn-default btnTool" title="${text('新增数据')}"><i class="fa fa-plus"></i> ${text('新增')}</a>
<% } %>
</div>
</div>
@@ -16,43 +16,43 @@
<#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}">
<div class="form-group">
<label class="control-label">单行文本:</label>
<label class="control-label">${text('单行文本')}</label>
<div class="control-inline">
<#form:input path="testInput" maxlength="200" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">多行文本:</label>
<label class="control-label">${text('多行文本')}</label>
<div class="control-inline">
<#form:input path="testTextarea" maxlength="200" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">下拉框</label>
<label class="control-label">${text('下拉框')}</label>
<div class="control-inline width-120">
<#form:select path="testSelect" dictType="sys_menu_type" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="control-label">下拉多选:</label>
<label class="control-label">${text('下拉多选')}</label>
<div class="control-inline width-120">
<#form:select path="testSelectMultiple" dictType="sys_menu_type" multiple="true" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="control-label">单选框</label>
<label class="control-label">${text('单选框')}</label>
<div class="control-inline">
<#form:radio path="testRadio" dictType="sys_menu_type" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="control-label">复选框</label>
<label class="control-label">${text('复选框')}</label>
<div class="control-inline">
<#form:checkbox path="testCheckbox" dictType="sys_menu_type" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="control-label">日期选择:</label>
<label class="control-label">${text('日期选择')}</label>
<div class="control-inline">
<#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()}});"/>
@@ -62,7 +62,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label">日期时间:</label>
<label class="control-label">${text('日期时间')}</label>
<div class="control-inline">
<#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()}});"/>
@@ -72,44 +72,44 @@
</div>
</div>
<div class="form-group">
<label class="control-label">用户选择:</label>
<label class="control-label">${text('用户选择')}</label>
<div class="control-inline width-120" >
<#form:treeselect id="testUser" title="用户选择"
<#form:treeselect id="testUser" title="${text('用户选择')}"
path="testUser.userCode" labelPath="testUser.userName"
url="${ctx}/sys/office/treeData?isLoadUser=true" allowClear="true"/>
</div>
</div>
<div class="form-group">
<label class="control-label">机构选择:</label>
<label class="control-label">${text('机构选择')}</label>
<div class="control-inline width-120" >
<#form:treeselect id="testOffice" title="机构选择"
<#form:treeselect id="testOffice" title="${text('机构选择')}"
path="testOffice.officeCode" labelPath="testOffice.officeName"
url="${ctx}/sys/office/treeData" allowClear="true"/>
</div>
</div>
<div class="form-group">
<label class="control-label">区域选择:</label>
<label class="control-label">${text('区域选择')}</label>
<div class="control-inline width-120" >
<#form:treeselect id="testAreaCode" title="区域选择"
<#form:treeselect id="testAreaCode" title="${text('区域选择')}"
path="testAreaCode" labelPath="testAreaName"
url="${ctx}/sys/area/treeData" allowClear="true"/>
</div>
</div>
<div class="form-group">
<label class="control-label">状态</label>
<label class="control-label">${text('状态')}</label>
<div class="control-inline width-120">
<#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="control-label">备注信息:</label>
<label class="control-label">${text('备注信息')}</label>
<div class="control-inline">
<#form:input path="remarks" maxlength="500" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>
<button type="reset" class="btn btn-default btn-sm">重置</button>
<button type="submit" class="btn btn-primary btn-sm">${text('查询')}</button>
<button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
</div>
</#form:form>
<table id="dataGrid"></table>
@@ -123,44 +123,44 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'单行文本', name:'testInput', index:'a.test_input', width:150, align:"left", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/test/testData/form?id='+row.id+'" class="btnList" data-title="编辑数据">'+(val||row.id)+'</a>';
{header:'${text('单行文本')}', name:'testInput', index:'a.test_input', width:150, align:"left", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/test/testData/form?id='+row.id+'" class="btnList" data-title="${text('编辑数据')}">'+(val||row.id)+'</a>';
}},
{header:'多行文本', name:'testTextarea', index:'a.test_textarea', width:150, align:"left"},
{header:'下拉框', name:'testSelect', index:'a.test_select', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true);
{header:'${text('多行文本')}', name:'testTextarea', index:'a.test_textarea', width:150, align:"left"},
{header:'${text('下拉框')}', name:'testSelect', index:'a.test_select', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '${text('未知')}', true);
}},
{header:'下拉多选', name:'testSelectMultiple', index:'a.test_select_multiple', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true);
{header:'${text('下拉多选')}', name:'testSelectMultiple', index:'a.test_select_multiple', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '${text('未知')}', true);
}},
{header:'单选框', name:'testRadio', index:'a.test_radio', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true);
{header:'${text('单选框')}', name:'testRadio', index:'a.test_radio', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '${text('未知')}', true);
}},
{header:'复选框', name:'testCheckbox', index:'a.test_checkbox', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true);
{header:'${text('复选框')}', name:'testCheckbox', index:'a.test_checkbox', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '${text('未知')}', true);
}},
{header:'日期选择', name:'testDate', index:'a.test_date', width:150, align:"center"},
{header:'日期时间', name:'testDatetime', index:'a.test_datetime', width:150, align:"center"},
{header:'用户选择', name:'testUser.userName', index:'a.test_user_code', width:150, align:"center"},
{header:'机构选择', name:'testOffice.officeName', index:'a.test_office_code', width:150, align:"center"},
{header:'区域选择', name:'testAreaName', index:'a.test_area_code', width:150, align:"center"},
{header:'区域名称', name:'testAreaName', index:'a.test_area_name', width:150, align:"left"},
{header:'状态', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '未知', true);
{header:'${text('日期选择')}', name:'testDate', index:'a.test_date', width:150, align:"center"},
{header:'${text('日期时间')}', name:'testDatetime', index:'a.test_datetime', width:150, align:"center"},
{header:'${text('用户选择')}', name:'testUser.userName', index:'a.test_user_code', width:150, align:"center"},
{header:'${text('机构选择')}', name:'testOffice.officeName', index:'a.test_office_code', width:150, align:"center"},
{header:'${text('区域选择')}', name:'testAreaName', index:'a.test_area_code', width:150, align:"center"},
{header:'${text('区域名称')}', name:'testAreaName', index:'a.test_area_name', width:150, align:"left"},
{header:'${text('状态')}', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '${text('未知')}', true);
}},
{header:'创建时间', name:'createDate', index:'a.create_date', width:150, align:"center"},
{header:'备注信息', name:'remarks', index:'a.remarks', width:150, align:"left"},
{header:'操作', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){
{header:'${text('创建时间')}', name:'createDate', index:'a.create_date', width:150, align:"center"},
{header:'${text('备注信息')}', name:'remarks', index:'a.remarks', width:150, align:"left"},
{header:'${text('操作')}', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = [];
<% if(hasPermi('test:testData:edit')){ %>
actions.push('<a href="${ctx}/test/testData/form?id='+row.id+'" class="btnList" title="编辑数据"><i class="fa fa-pencil"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testData/form?id='+row.id+'" class="btnList" title="${text('编辑数据')}"><i class="fa fa-pencil"></i></a>&nbsp;');
if (row.status == Global.STATUS_NORMAL){
actions.push('<a href="${ctx}/test/testData/disable?id='+row.id+'" class="btnList" title="停用数据" data-confirm="确认要停用该数据吗"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testData/disable?id='+row.id+'" class="btnList" title="${text('停用数据')}" data-confirm="${text('确认要停用该数据吗')}"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
}
if (row.status == Global.STATUS_DISABLE){
actions.push('<a href="${ctx}/test/testData/enable?id='+row.id+'" class="btnList" title="启用数据" data-confirm="确认要启用该数据吗"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testData/enable?id='+row.id+'" class="btnList" title="${text('启用数据')}" data-confirm="${text('确认要启用该数据吗')}"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
}
actions.push('<a href="${ctx}/test/testData/delete?id='+row.id+'" class="btnList" title="删除数据" data-confirm="确认要删除该数据吗"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testData/delete?id='+row.id+'" class="btnList" title="${text('删除数据')}" data-confirm="${text('确认要删除该数据吗')}"><i class="fa fa-trash-o"></i></a>&nbsp;');
<% } %>
return actions.join('');
}}

View File

@@ -3,7 +3,7 @@
<div class="box box-main">
<div class="box-header with-border">
<div class="box-title">
<i class="fa fa-list-alt"></i> ${testTree.isNewRecord ? '新增数据' : '编辑数据'}
<i class="fa fa-list-alt"></i> ${text(testTree.isNewRecord ? '新增数据' : '编辑数据')}
</div>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@@ -11,13 +11,13 @@
</div>
<#form:form id="inputForm" model="${testTree}" action="${ctx}/test/testTree/save" method="post" class="form-horizontal">
<div class="box-body">
<div class="form-unit">基本信息</div>
<div class="form-unit">${text('基本信息')}</div>
<div class="row">
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4">上级数据:</label>
<label class="control-label col-sm-4">${text('上级数据')}</label>
<div class="col-sm-8">
<#form:treeselect id="parent" title="上级数据"
<#form:treeselect id="parent" title="${text('上级数据')}"
path="parent.id" labelPath="parent.treeName"
url="${ctx}/test/testTree/treeData?excludeCode=${testTree.id}"
class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
@@ -29,7 +29,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 节点编码:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('节点编码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden path="isNewRecord"/>
@@ -40,7 +40,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 本级排序号:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('本级排序号')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="treeSort" class="form-control required digits"/>
</div>
@@ -51,7 +51,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 节点名称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('节点名称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="treeName" maxlength="200" class="form-control required"/>
</div>
@@ -62,7 +62,7 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('备注信息')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control"/>
</div>
@@ -96,9 +96,9 @@
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<% if (hasPermi('test:testTree:edit')){ %>
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> 保 存</button>&nbsp;
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>&nbsp;
<% } %>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关 闭</button>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
</div>
</div>
</div>

View File

@@ -3,15 +3,15 @@
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa fa-list-alt"></i> 数据管理
<i class="fa fa-list-alt"></i> ${text('数据管理')}
</div>
<div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="#" class="btn btn-default" id="btnRefreshTree" title="刷新"><i class="fa fa-refresh"></i> 刷新</a>
<a href="#" class="btn btn-default" id="btnExpandTreeNode" title="展开一级"><i class="fa fa-angle-double-down"></i> 展开</a>
<a href="#" class="btn btn-default" id="btnCollapseTreeNode" title="折叠全部"><i class="fa fa-angle-double-up"></i> 折叠</a>
<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
<a href="#" class="btn btn-default" id="btnRefreshTree" title="${text('刷新')}"><i class="fa fa-refresh"></i> ${text('刷新')}</a>
<a href="#" class="btn btn-default" id="btnExpandTreeNode" title="${text('展开一级')}"><i class="fa fa-angle-double-down"></i> ${text('展开')}</a>
<a href="#" class="btn btn-default" id="btnCollapseTreeNode" title="${text('折叠全部')}"><i class="fa fa-angle-double-up"></i> ${text('折叠')}</a>
<% if(hasPermi('test:testTree:edit')){ %>
<a href="${ctx}/test/testTree/form" class="btn btn-default btnTool" title="新增数据"><i class="fa fa-plus"></i> 新增</a>
<a href="${ctx}/test/testTree/form" class="btn btn-default btnTool" title="${text('新增数据')}"><i class="fa fa-plus"></i> ${text('新增')}</a>
<% } %>
</div>
</div>
@@ -19,26 +19,26 @@
<#form:form id="searchForm" model="${testTree}" action="${ctx}/test/testTree/listData" method="post" class="form-inline hide"
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<div class="form-group">
<label class="control-label">节点名称:</label>
<label class="control-label">${text('节点名称')}</label>
<div class="control-inline">
<#form:input path="treeName" maxlength="200" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<label class="control-label">状态</label>
<label class="control-label">${text('状态')}</label>
<div class="control-inline width-120">
<#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<label class="control-label">备注信息:</label>
<label class="control-label">${text('备注信息')}</label>
<div class="control-inline">
<#form:input path="remarks" maxlength="500" class="form-control width-120"/>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>
<button type="reset" class="btn btn-default btn-sm">重置</button>
<button type="submit" class="btn btn-primary btn-sm">${text('查询')}</button>
<button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
</div>
</#form:form>
<table id="dataGrid"></table>
@@ -51,28 +51,28 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'节点名称', name:'treeName', index:'a.tree_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){
return '( '+row.treeCode+' ) '+'<a href="${ctx}/test/testTree/form?treeCode='+row.treeCode+'" class="btnList" data-title="编辑数据">'+(val||row.id)+'</a>';
{header:'${text('节点名称')}', name:'treeName', index:'a.tree_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){
return '( '+row.treeCode+' ) '+'<a href="${ctx}/test/testTree/form?treeCode='+row.treeCode+'" class="btnList" data-title="${text('编辑数据')}">'+(val||row.id)+'</a>';
}},
{header:'本级排序号', name:'treeSort', index:'a.tree_sort', width:150, align:"center"},
{header:'节点名称', name:'treeName', index:'a.tree_name', width:150, align:"left"},
{header:'状态', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '未知', true);
{header:'${text('本级排序号')}', name:'treeSort', index:'a.tree_sort', width:150, align:"center"},
{header:'${text('节点名称')}', name:'treeName', index:'a.tree_name', width:150, align:"left"},
{header:'${text('状态')}', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '${text('未知')}', true);
}},
{header:'创建时间', name:'createDate', index:'a.create_date', width:150, align:"center"},
{header:'备注信息', name:'remarks', index:'a.remarks', width:150, align:"left"},
{header:'操作', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){
{header:'${text('创建时间')}', name:'createDate', index:'a.create_date', width:150, align:"center"},
{header:'${text('备注信息')}', name:'remarks', index:'a.remarks', width:150, align:"left"},
{header:'${text('操作')}', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = [];
<% if(hasPermi('test:testTree:edit')){ %>
actions.push('<a href="${ctx}/test/testTree/form?treeCode='+row.treeCode+'" class="btnList" title="编辑数据"><i class="fa fa-pencil"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testTree/form?treeCode='+row.treeCode+'" class="btnList" title="${text('编辑数据')}"><i class="fa fa-pencil"></i></a>&nbsp;');
if (row.status == Global.STATUS_NORMAL){
actions.push('<a href="${ctx}/test/testTree/disable?treeCode='+row.treeCode+'" class="btnList" title="停用数据" data-confirm="确认要停用该数据吗"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testTree/disable?treeCode='+row.treeCode+'" class="btnList" title="${text('停用数据')}" data-confirm="${text('确认要停用该数据吗')}"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
}
if (row.status == Global.STATUS_DISABLE){
actions.push('<a href="${ctx}/test/testTree/enable?treeCode='+row.treeCode+'" class="btnList" title="启用数据" data-confirm="确认要启用该数据吗"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testTree/enable?treeCode='+row.treeCode+'" class="btnList" title="${text('启用数据')}" data-confirm="${text('确认要启用该数据吗')}"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
}
actions.push('<a href="${ctx}/test/testTree/delete?treeCode='+row.treeCode+'" class="btnList" title="删除数据" data-confirm="确认要删除该数据及所有子数据吗" data-deltreenode="'+row.id+'"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testTree/form?parentCode='+row.id+'" class="btnList" title="新增下级数据"><i class="fa fa-plus-square"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testTree/delete?treeCode='+row.treeCode+'" class="btnList" title="${text('删除数据')}" data-confirm="${text('确认要删除该数据及所有子数据吗')}" data-deltreenode="'+row.id+'"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="${ctx}/test/testTree/form?parentCode='+row.id+'" class="btnList" title="${text('新增下级数据')}"><i class="fa fa-plus-square"></i></a>&nbsp;');
<% } %>
return actions.join('');
}}