first commit
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
<script>
|
||||
function doDelete()
|
||||
{
|
||||
var avatarId = Z.FM.getChecked("avatarId");
|
||||
Z.confirm("确定删除该头像吗?", function()
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrAvatarPresenter");
|
||||
ajax.setMethodName("doDelete");
|
||||
ajax.addParam(avatarId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReload("删除成功");
|
||||
ajax.execute();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("系统头像")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<li class="z-active">系统头像</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<div class="z-float-right z-mg-b5">
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatarAdd.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.href('avatarAdd.htm');"><i class="z-font z-add"></i>增加系统头像</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatarModify.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('avatarModify.htm', 'avatarId');"><i class="z-font z-modify"></i>修改系统头像</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatarDelete.htm")><button class="z-button z-red" onclick="doDelete();"><i class="z-font z-delete"></i>删除系统头像</button></#if>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-pd5 z-bg-white z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50">选择</td>
|
||||
<td width="28%">头像<span class="z-samp">(50*50)</span></td>
|
||||
<td width="30%">头像<span class="z-samp">(100*100)</span></td>
|
||||
<td width="*">头像<span class="z-samp">(150*150)</span></td>
|
||||
</tr>
|
||||
<#for item : result.list()>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="avatarId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getAvatarId()}">
|
||||
</#if>
|
||||
</td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getAvatarId(), 50)}"></td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getAvatarId(), 100)}"></td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getAvatarId(), 150)}"></td>
|
||||
</tr>
|
||||
</#for>
|
||||
${zhiqim_manager_tr_no_record(result, 4, "暂时没有系统头像信息")}
|
||||
</table>
|
||||
${zhiqim_manager_paging(result)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,33 @@
|
||||
<#var zhiqim_image_clipper.js = new ZmrCdnRuntime(context, "/ztmpl/zhiqim_manager/zhiqim_image_clipper.js")/>
|
||||
${zhiqim_manager_history("avatar.htm")}
|
||||
${request.getValidateScript()}
|
||||
${Scripts.src(zhiqim_image_clipper.js)}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
//初始化上传头像
|
||||
var clipper = new Z.ImageClipper();
|
||||
clipper.elem = "clipper";
|
||||
clipper.img = "${context.getRootPath("/ztmpl/zhiqim_manager/zhiqim_image_clipper_default.jpg")}";
|
||||
clipper.save = function()
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrAvatarPresenter");
|
||||
ajax.setMethodName("doInsert");
|
||||
ajax.addParam(this.getDataURL());
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertLocation("增加成功", "avatar.htm");
|
||||
ajax.execute();
|
||||
};
|
||||
clipper.execute();
|
||||
});
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb_parent("avatar.htm", "系统头像", "增加系统头像")}
|
||||
${zhiqim_manager_content()}
|
||||
${zhiqim_manager_title("增加系统头像")}
|
||||
<div class="z-w100p z-bd z-pd20 z-bg-white">
|
||||
<div id="clipper"></div>
|
||||
</div>
|
||||
${zhiqim_manager_return()}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,35 @@
|
||||
<#var zhiqim_image_clipper.js = new ZmrCdnRuntime(context, "/ztmpl/zhiqim_manager/zhiqim_image_clipper.js")/>
|
||||
${zhiqim_manager_history("avatar.htm")}
|
||||
${request.getValidateScript()}
|
||||
${Scripts.src(zhiqim_image_clipper.js)}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
//初始化上传头像
|
||||
var clipper = new Z.ImageClipper();
|
||||
clipper.elem = "clipper";
|
||||
clipper.img = "${context.getRootPath("/ztmpl/zhiqim_manager/zhiqim_image_clipper_default.jpg")}";
|
||||
clipper.save = function()
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrAvatarPresenter");
|
||||
ajax.setMethodName("doUpdate");
|
||||
ajax.addParam("${avatarId}");
|
||||
ajax.addParam(this.getDataURL());
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertLocation("修改成功", "avatar.htm");
|
||||
ajax.execute();
|
||||
};
|
||||
clipper.execute();
|
||||
});
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb_parent("avatar.htm" "系统头像" "修改系统头像")}
|
||||
${zhiqim_manager_content()}
|
||||
${zhiqim_manager_title("修改系统头像")}
|
||||
<div class="z-w100p z-bd z-pd20 z-bg-white">
|
||||
<div id="clipper"></div>
|
||||
</div>
|
||||
${zhiqim_manager_return()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,54 @@
|
||||
${request.getValidateSubmitScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb("系统缓存")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<li class="z-active">系统缓存</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<#for server : list>
|
||||
<#if server.getCacheMap().isEmpty()>
|
||||
<#continue/>
|
||||
</#if>
|
||||
<table class="z-table z-bordered z-pd10 <#if group_index gt 0>z-mg-t10</#if> z-bg-white">
|
||||
${zhiqim_manager_tr_title(4, "系统缓存["+server.getId()+"]列表")}
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="20%">表名</td>
|
||||
<td width="*">对象</td>
|
||||
<td width="330">定时器</td>
|
||||
<td width="15%" class="z-text-center">操作</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(group, 4, "暂时没有配置信息")}
|
||||
</table>
|
||||
<#for item : server.getCacheMap().keySet()>
|
||||
<form method="post" onsubmit="return false;" data-role="z-call-frame">
|
||||
<input name="id" type="hidden" value="${server.getId()}">
|
||||
<input name="className" type="hidden" value="${item.getName()}">
|
||||
<table class="z-table z-bordered zi-bd-t-none z-h60-tr z-pd10 z-lh150p" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<tr>
|
||||
<td width="20%" class="zi-samp">#{server.table().getTable(item).getTable()}</td>
|
||||
<td width="*" class="zi-samp">#{item.getName()}</td>
|
||||
<td width="330" class="zi-samp">#{server.getCacheMap().get(item).toString()}</td>
|
||||
<td width="15%" class="z-text-center"><button type="submit" class="z-button" onclick="submitForm(this.form);">刷新缓存</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</#for>
|
||||
</#for>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,66 @@
|
||||
${request.getValidateSubmitScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb("系统配置")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<li class="z-active">系统配置</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<#for group : groupList>
|
||||
<#if group.isPrivate()>
|
||||
<#continue/>
|
||||
</#if>
|
||||
<table class="z-table z-bordered z-pd10 <#if group_index gt 0>z-mg-t10</#if> z-bg-white">
|
||||
${zhiqim_manager_tr_title(4, "系统配置["+group.getId()+"]["+group.getDesc()+"]列表")}
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="20%">配置键</td>
|
||||
<td width="*">配置值</td>
|
||||
<td width="10%" class="z-text-center">操作</td>
|
||||
<td width="30%">配置描述</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(group, 4, "暂时没有配置信息")}
|
||||
</table>
|
||||
<#for item : group.list()>
|
||||
<#if item.isPrivate()>
|
||||
<#continue/>
|
||||
</#if>
|
||||
<#if ZmrAdminRule.check(request) && item.isPublic()>
|
||||
<form method="post" onsubmit="return false;" data-role="z-call-frame">
|
||||
<input name="groupId" type="hidden" value="${group.getId()}">
|
||||
<input name="key" type="hidden" value="${item.getKey()}">
|
||||
</#if>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-h60-tr z-pd10 z-lh150p" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<tr>
|
||||
<td width="20%" class="zi-samp">#{item.getKey()}</td>
|
||||
<#if ZmrAdminRule.check(request) && item.isPublic()>
|
||||
<td width="*"><input name="value" class="z-input z-w100p zi-h40 <#if !Validates.isContainMultByteChar(item.getString())>zi-samp</#if> ${zmr_color_class}" value="#{item.getString()}" maxlength="800"></td>
|
||||
<td width="10%" class="z-text-center"><button type="submit" class="z-button" onclick="submitForm(this.form)">修改</button></td>
|
||||
<#else>
|
||||
<td width="*" <#if !Validates.isContainMultByteChar(item.getString())>class="zi-samp"</#if>>#{item.getString()}</td>
|
||||
<td width="10%" class="z-text-center"><button type="submit" class="z-button" disabled>修改</button></td>
|
||||
</#if>
|
||||
<td width="30%">#{item.getDesc()}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if ZmrAdminRule.check(request) && item.isPublic()>
|
||||
</form>
|
||||
</#if>
|
||||
</#for>
|
||||
</#for>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,93 @@
|
||||
<#-- 显示子部门,并递归显示下级子部门 -->
|
||||
<#function showChildDept(self, parent)>
|
||||
<tr class="z-h30 z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="deptId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${self.self().getDeptId()}">
|
||||
</#if>
|
||||
</td>
|
||||
<td>${self.self().getDeptId()}</td>
|
||||
<td align="left" class="zi-pd-l6">
|
||||
<#var level = self.self().getDeptLevel()/>
|
||||
<#if level == 0>
|
||||
<i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i>
|
||||
<#else>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.isLastNode()>
|
||||
<i class="z-ico z-tree z-30 z-normal z-lastnode"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-node"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
</#if>
|
||||
#{self.self().getDeptName()}
|
||||
</td>
|
||||
<td><#if self.self().getDeptStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
<td>${self.self().getDeptLevel()}</td>
|
||||
<td>${self.self().getDeptManager()}</td>
|
||||
<td>${self.self().getDeptSubManager()}</td>
|
||||
</tr>
|
||||
<#for child : self.children()>
|
||||
${showChildDept(child, self)}
|
||||
</#for>
|
||||
</#function>
|
||||
|
||||
${zhiqim_manager_breadcrumb("部门管理")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/org.htm")><li onclick="Z.L.href('org.htm');">组织管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgRule.htm")><li onclick="Z.L.href('orgRule.htm');">组织权限</li></#if>
|
||||
<li class="z-active">部门管理</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptOperator.htm")><li onclick="Z.L.href('deptOperator.htm');">部门成员</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptRule.htm")><li onclick="Z.L.href('deptRule.htm');">部门权限</li></#if>
|
||||
</ul>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptAdd.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('deptAdd.htm', 'deptId');"><i class="z-font z-add"></i>增加下级部门</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptModify.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('deptModify.htm', 'deptId');"><i class="z-font z-modify"></i>修改部门</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptDelete.htm")><button class="z-button z-red" onclick="Z.L.confirm('deptDelete.htm', '确认要删除该部门?', 'deptId', zCallFrame);"><i class="z-font z-delete"></i>删除部门</button></#if>
|
||||
</#if>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-h30-tr z-text-center z-bg-white">
|
||||
<tr class="zi-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50">选择</td>
|
||||
<td width="200">部门编号</td>
|
||||
<td width="*">部门名称</td>
|
||||
<td width="10%">部门状态</td>
|
||||
<td width="10%">部门级别</td>
|
||||
<td width="10%">部门负责人</td>
|
||||
<td width="15%">部门副负责人</td>
|
||||
</tr>
|
||||
<#if size == 0>
|
||||
${zhiqim_manager_no_record(6, "暂时没有部门信息")}
|
||||
<#else>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td><#if ZmrAdminRule.check(request)><input name="deptId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${tree.self().getDeptId()}"></#if></td>
|
||||
<td>${tree.self().getDeptId()}</td>
|
||||
<td align="left" class="zi-pd-l6 <#if !tree.hasChildren()>zi-pd4</#if>"><i class="z-ico z-tree z-normal <#if tree.hasChildren()>z-30 z-root<#else>zi-h22</#if> z-mg-r3"></i> #{tree.self().getDeptName()}</td>
|
||||
<td><#if tree.self().getDeptStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
<td>${tree.self().getDeptLevel()}</td>
|
||||
<td>${tree.self().getDeptManager()}</td>
|
||||
<td>${tree.self().getDeptSubManager()}</td>
|
||||
</tr>
|
||||
<#for child : tree.children()>
|
||||
${showChildDept(child, tree)}
|
||||
</#for>
|
||||
</#if>
|
||||
</table>
|
||||
${zhiqim_manager_list(size)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,77 @@
|
||||
${Scripts.onload("document.theForm.deptName.focus();")}
|
||||
${zhiqim_manager_history("dept.htm")}
|
||||
${request.getValidateScript()}
|
||||
<script>
|
||||
function doSelectorDialog(orgId)
|
||||
{//弹出操作员选择框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "选择操作员";
|
||||
dialog.url = "operatorSelector.htm?orgId="+orgId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
function doSelectorCallback(operatorCode)
|
||||
{//选择操作员回调
|
||||
document.theForm.deptManager.value = operatorCode;
|
||||
}
|
||||
|
||||
function doOperatorsSelectorDialog(orgId)
|
||||
{//弹出操作员多选框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "选择操作员";
|
||||
dialog.url = "operatorsSelector.htm?orgId="+orgId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
function doOperatorsSelectorCallback(operatorCodes)
|
||||
{//多选选操作员回调
|
||||
document.theForm.deptSubManager.value = operatorCodes;
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("dept.htm" "部门管理" "增加部门")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" method="post" action="deptInsert.htm" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="deptId" type="hidden" value="${Ids.longId13()}">
|
||||
<input name="parentId" type="hidden" value="${parent.getDeptId()}">
|
||||
<input name="orgId" type="hidden" value="${parent.getOrgId()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">增加部门</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">上级部门:<span class="z-color-999">(请选择)</span></td>
|
||||
<td width="*">${parent.getDeptName()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门名称:<span class="z-color-999">(2-16位)</span></td>
|
||||
<td><input name="deptName" class="z-input z-w300 ${zmr_color_class}" maxlength="16"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td><select name="deptStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0">正常</option><option value="1">停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门排序数:<span class="z-color-999">(必须是[0, 999999]范围的非负整数)</span></td>
|
||||
<td><input name="deptSeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="100" maxlength="6"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门负责人:</td>
|
||||
<td><input name="deptManager" class="z-input z-w130 zi-shadow-none" placeholder="请点按钮选择" readonly><button type="button" class="z-button z-mg-l10 ${zmr_color_class}" onclick="doSelectorDialog(${parent.getOrgId()});"><i class="z-font z-add"></i>选择操作员</button><button type="button" class="z-button z-mg-l3" onclick="doSelectorCallback('');">清除</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门副负责人:</td>
|
||||
<td><input name="deptSubManager" class="z-input z-w130 zi-shadow-none" placeholder="请点按钮选择" readonly><button type="button" class="z-button z-mg-l10 ${zmr_color_class}" onclick="doOperatorsSelectorDialog(${parent.getOrgId()});"><i class="z-font z-add"></i>选择操作员</button><button type="button" class="z-button z-mg-l3" onclick="doOperatorsSelectorCallback('');">清除</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门描述:<span class="z-color-999">(不能超过100个汉字)</span></td>
|
||||
<td><textarea name="deptDesc" class="z-textarea z-w300 z-h120 ${zmr_color_class}" maxlength="100"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,79 @@
|
||||
${zhiqim_manager_history("dept.htm")}
|
||||
${request.getValidateScript()}
|
||||
<script>
|
||||
function doSelectorDialog(orgId)
|
||||
{//弹出操作员选择框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "选择操作员";
|
||||
dialog.url = "operatorSelector.htm?orgId="+orgId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.scroll = true;
|
||||
dialog.execute();
|
||||
}
|
||||
function doSelectorCallback(operatorCode)
|
||||
{//选择操作员回调
|
||||
document.theForm.deptManager.value = operatorCode;
|
||||
}
|
||||
|
||||
function doOperatorsSelectorDialog(orgId)
|
||||
{//弹出操作员多选框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "选择操作员";
|
||||
dialog.url = "operatorsSelector.htm?orgId="+orgId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
function doOperatorsSelectorCallback(operatorCodes)
|
||||
{//多选选操作员回调
|
||||
document.theForm.deptSubManager.value = operatorCodes;
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("dept.htm" "部门管理" "修改部门")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" method="post" action="deptUpdate.htm" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="deptId" type="hidden" value="${item.getDeptId()}">
|
||||
<input name="parentId" type="hidden" value="${item.getParentId()}">
|
||||
<input name="deptLevel" type="hidden" value="${item.getDeptLevel()}">
|
||||
<input name="deptParentAll" type="hidden" value="${item.getDeptParentAll()}">
|
||||
<input name="orgId" type="hidden" value="${item.getOrgId()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">修改部门</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">部门编号:<span class="z-color-999">(由不定长6位字母或数字组合)</span></td>
|
||||
<td width="*">#{item.getDeptId()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门名称:<span class="z-color-999">(不能超过32个汉字)</span></td>
|
||||
<td><input name="deptName" class="z-input z-w300 ${zmr_color_class}" value="#{item.getDeptName()}" maxlength="32"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td><select name="deptStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0"<#if item.getDeptStatus()==0> selected</#if>>正常</option><option value="1"<#if item.getDeptStatus()==1> selected</#if>>停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门排序数:<span class="z-color-999">(必须是[0, 999999]范围的非负整数)</span></td>
|
||||
<td><input name="deptSeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="#{item.getDeptSeq()}" maxlength="6"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门负责人:</td>
|
||||
<td><input name="deptManager" class="z-input z-w130 zi-shadow-none" placeholder="请点按钮选择" value="#{item.getDeptManager()}" readonly><button type="button" class="z-button z-mg-l10 ${zmr_color_class}" onclick="doSelectorDialog(${item.getOrgId()});"><i class="z-font z-add"></i>选择操作员</button><button type="button" class="z-button z-mg-l3" onclick="doSelectorCallback('');">清除</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门副负责人:</td>
|
||||
<td><input name="deptSubManager" class="z-input z-w130 zi-shadow-none" placeholder="请点按钮选择" value="#{item.getDeptSubManager()}" readonly><button type="button" class="z-button z-mg-l10 ${zmr_color_class}" onclick="doOperatorsSelectorDialog(${item.getOrgId()});"><i class="z-font z-add"></i>选择操作员</button><button type="button" class="z-button z-mg-l3" onclick="doOperatorsSelectorCallback('');">清除</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>部门描述:<span class="z-color-999">(不能超过100个汉字)</span></td>
|
||||
<td><textarea name="deptDesc" class="z-textarea z-w300 z-h60 ${zmr_color_class}" maxlength="100">#{item.getDeptDesc()}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,120 @@
|
||||
<#-- 显示子部门,并递归显示下级子部门 -->
|
||||
<#function showChildDept(self, parent)>
|
||||
<tr id="ID#{self.self().getDeptId()}">
|
||||
<td class="zi-pd-l10">
|
||||
<#var level = self.self().getDeptLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.isLastNode()>
|
||||
<i class="z-ico z-tree z-30 z-normal z-lastnode"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-node"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<a href="javascript:void(0);" onclick="doSelectDept('#{self.self().getDeptId()}');">#{self.self().getDeptName()}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<#for child : self.children()>
|
||||
${showChildDept(child, self)}
|
||||
</#for>
|
||||
</#function>
|
||||
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
doSelectDept(${sessionUser.getSelectedDeptId(tree.self().getDeptId())});
|
||||
});
|
||||
|
||||
function doSelectDept(deptId)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrDeptPresenter");
|
||||
ajax.setMethodName("doShowDeptOperatorList");
|
||||
ajax.addParam("deptId", deptId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function()
|
||||
{
|
||||
Z("#result").htmlc(this.responseText);
|
||||
Z("#ID"+deptId).addClass("z-bg-gray").siblings().removeClass("z-bg-gray");
|
||||
});
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doSelectorDialog(deptId)
|
||||
{//显示部门操作员对话框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "成员增加";
|
||||
dialog.url = "deptOperatorSelector.htm?deptId="+deptId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doSelectorCallback(deptId, operatorCodes)
|
||||
{//增加部门操作员
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrDeptPresenter");
|
||||
ajax.setMethodName("doAddDeptOperator");
|
||||
ajax.addParam("deptId", deptId);
|
||||
ajax.addParam("operatorCodes", operatorCodes);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.setLoading(document);
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doDeleteOperatorDept(operatorCode, deptId)
|
||||
{//删除操作员部门
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doDeleteOperatorDept");
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.addParam("deptId", deptId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("部门成员")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/org.htm")><li onclick="Z.L.href('org.htm');">组织管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgRule.htm")><li onclick="Z.L.href('orgRule.htm');">组织权限</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/dept.htm")><li onclick="Z.L.href('dept.htm');">部门管理</li></#if>
|
||||
<li class="z-active">部门成员</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptRule.htm")><li onclick="Z.L.href('deptRule.htm');">部门权限</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table">
|
||||
<tr>
|
||||
<td width="200" valign="top">
|
||||
<table class="z-table zi-bd z-bg-white">
|
||||
<tr id="ID#{tree.self().getDeptId()}" class="z-bg-gray">
|
||||
<td class="zi-pd-t10 zi-pd-l10 z-bd-b <#if !tree.hasChildren()>zi-pd-b5</#if>"><i class="z-ico z-tree z-30 z-normal <#if tree.hasChildren()>z-root<#else>zi-h22</#if> z-mg-r3"></i><a href="javascript:void(0);" onclick="doSelectDept('#{tree.self().getDeptId()}');">#{tree.self().getDeptName()}</a></td>
|
||||
</tr>
|
||||
<#for child : tree.children()>
|
||||
${showChildDept(child, tree)}
|
||||
</#for>
|
||||
</table>
|
||||
</td>
|
||||
<td width="10"></td>
|
||||
<td id="result" width="*" valign="top"></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,49 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].operatorKey).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var operatorCodes = Z.FM.getCheckeds("operatorCode");
|
||||
parent.doSelectorCallback("${dept.getDeptId()}", operatorCodes);
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="deptId" type="hidden" value="${dept.getDeptId()}">
|
||||
<input name="operatorKey" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="操作员编码或名称" value="${operatorKey}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-pd5 z-text-center">
|
||||
<tr class="z-h40 z-bg-gray">
|
||||
<td width="50"><input type="checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('operatorCode')"></td>
|
||||
<td width="90">操作员头像</td>
|
||||
<td width="110">操作员编码</td>
|
||||
<td width="*">操作员姓名</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(operatorList, 4, "没有可选择的操作员")}
|
||||
<#for item : operatorList>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_checkbox()}>
|
||||
<td><input name="operatorCode" type="checkbox" data-role="z-checkbox" data-class="z-blue" value="${item.getOperatorCode()}"></td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}" class="z-w50 z-h50 z-bd-rd50p"></td>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</tale>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,81 @@
|
||||
<#-- 显示子部门,并递归显示下级子部门 -->
|
||||
<#function showChildDept(self, parent)>
|
||||
<tr id="ID#{self.self().getDeptId()}">
|
||||
<td class="zi-pd-l10">
|
||||
<#var level = self.self().getDeptLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.isLastNode()>
|
||||
<i class="z-ico z-tree z-30 z-normal z-lastnode"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-node"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<a href="javascript:void(0);" onclick="doSelectDept('#{self.self().getDeptId()}');">#{self.self().getDeptName()}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<#for child : self.children()>
|
||||
${showChildDept(child, self)}
|
||||
</#for>
|
||||
</#function>
|
||||
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
doSelectDept(${sessionUser.getSelectedDeptId(tree.self().getDeptId())});
|
||||
});
|
||||
|
||||
function doSelectDept(deptId)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrDeptPresenter");
|
||||
ajax.setMethodName("doShowDeptRuleList");
|
||||
ajax.addParam("deptId", deptId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function()
|
||||
{
|
||||
Z("#result").htmlc(this.responseText);
|
||||
Z("#ID"+deptId).addClass("z-bg-gray").siblings().removeClass("z-bg-gray");
|
||||
});
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("部门权限")}
|
||||
${zhiqim_manager_content()}
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/org.htm")><li onclick="Z.L.href('org.htm');">组织管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgRule.htm")><li onclick="Z.L.href('orgRule.htm');">组织权限</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/dept.htm")><li onclick="Z.L.href('dept.htm');">部门管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptOperator.htm")><li onclick="Z.L.href('deptOperator.htm');">部门成员</li></#if>
|
||||
<li class="z-active">部门权限</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table">
|
||||
<tr>
|
||||
<td width="200" valign="top">
|
||||
<table class="z-table zi-bd z-bg-white">
|
||||
<tr id="ID#{tree.self().getDeptId()}" class="z-bg-gray">
|
||||
<td class="zi-pd-t10 zi-pd-l10 z-bd-b <#if !tree.hasChildren()>zi-pd-b5</#if>"><i class="z-ico z-tree z-30 z-normal <#if tree.hasChildren()>z-root<#else>zi-h22</#if> z-mg-r3"></i><a href="javascript:void(0);" onclick="doSelectDept('#{tree.self().getDeptId()}');">#{tree.self().getDeptName()}</a></td>
|
||||
</tr>
|
||||
<#for child : tree.children()>
|
||||
${showChildDept(child, tree)}
|
||||
</#for>
|
||||
</table>
|
||||
</td>
|
||||
<td width="10"></td>
|
||||
<td id="result" width="*" valign="top"></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,40 @@
|
||||
${zhiqim_manager_breadcrumb("系统菜单")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<li class="z-active">密钥生成</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<form method="post" data-role="z-call-frame">
|
||||
<button class="z-button z-w150 ${zmr_color_class}">重新生成密钥对</button>
|
||||
</form>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table z-bordered z-pd10 z-bg-white z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="80">密钥类型</td>
|
||||
<td width="*" class="z-text-left">密钥值</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>公钥</td>
|
||||
<td class="z-samp z-text-left">${publicKey}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>私钥</td>
|
||||
<td class="z-samp z-text-left">${privateKey}</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,5 @@
|
||||
${zhiqim_manager_breadcrumb_name("欢迎光临["+context.getContextName()+"]!")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,108 @@
|
||||
<#-- 显示子菜单,并递归显示下级子菜单 -->
|
||||
<#function showChildMenu(self, parent)>
|
||||
<table class="z-table z-bordered z-h30-tr zi-bd-t-none z-bg-white">
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td width="50" class="z-text-center">
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="menuCode" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${self.self().getMenuCode()}">
|
||||
</#if>
|
||||
</td>
|
||||
<td width="20%" class="zi-pd-l6">
|
||||
<#var level = self.self().getMenuLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.hasChildren()>
|
||||
<a href="javascript:Zmr.treeExpand('${self.self().getMenuCode()}')"><i id="ico-${self.self().getMenuCode()}" class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-mlastnode<#else>z-mnode</#if>"></i></a>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-lastnode<#else>z-node</#if>"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
#{self.self().getMenuName()}
|
||||
</td>
|
||||
<td width="80" class="zi-pd-l6">#{self.self().getMenuNameAbbr()}</td>
|
||||
<td width="180" class="zi-pd-l6">#{self.self().getMenuCode()}</td>
|
||||
<td width="60" class="z-text-center"><#if self.self().getMenuStatus()==0>正常<#else><span class="z-text-red">停用</span></#if></td>
|
||||
<td width="60" class="z-text-center">#{self.self().getMenuLevel()}</td>
|
||||
<td width="80" class="z-text-center"><#if self.self().getMenuType()==1>枝节点<#else>属性</#if></td>
|
||||
<td width="60" class="z-text-center"><i class="z-font #{self.self().getMenuIcon()}"></i></td>
|
||||
<td width="*" class="zi-pd-l6">#{self.self().getMenuUrl()}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if self.hasChildren()>
|
||||
<div id="menu-${self.self().getMenuCode()}">
|
||||
<#for child : self.children()>
|
||||
${showChildMenu(child, self)}
|
||||
</#for>
|
||||
</div>
|
||||
</#if>
|
||||
</#function>
|
||||
|
||||
${zhiqim_manager_breadcrumb("系统菜单")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">系统菜单</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<div class="z-float-right z-mg-b5">
|
||||
<#if ZmrSuperAdminRule.check(request)>
|
||||
<button class="z-button ${zmr_color_class}" onclick="Z.L.check('menuAdd.htm', 'menuCode');"><i class="z-font z-add"></i>增加系统菜单</button>
|
||||
</#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menuModify.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('menuModify.htm', 'menuCode');"><i class="z-font z-modify"></i>修改系统菜单</button></#if>
|
||||
<#if ZmrSuperAdminRule.check(request)>
|
||||
<button class="z-button z-red" onclick="Z.L.confirm('menuDelete.htm', '确定删除该菜单', 'menuCode', zCallFrame);"><i class="z-font z-delete"></i>删除系统菜单</button>
|
||||
</#if>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-h30-tr z-bg-white">
|
||||
<tr class="zi-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50" class="z-text-center">选择</td>
|
||||
<td width="20%" class="zi-pd-l6">菜单目录</td>
|
||||
<td width="80" class="zi-pd-l6">菜单简称</td>
|
||||
<td width="180" class="zi-pd-l6">菜单编码</td>
|
||||
<td width="60" class="z-text-center">状态</td>
|
||||
<td width="60" class="z-text-center">级别</td>
|
||||
<td width="80" class="z-text-center">菜单类型</td>
|
||||
<td width="60" class="z-text-center">图标</td>
|
||||
<td width="*" class="zi-pd-l6">URL</td>
|
||||
</tr>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td class="z-text-center"><input name="menuCode" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${tree.self().getMenuCode()}"></td>
|
||||
<td class="zi-pd-l6"><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i>系统功能根菜单</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuNameAbbr()}</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuCode()}</td>
|
||||
<td class="z-text-center"><#if tree.self().getMenuStatus()==0>正常<#else>停用</#if></td>
|
||||
<td class="z-text-center">#{tree.self().getMenuLevel()}</td>
|
||||
<td class="z-text-center">根节点</td>
|
||||
<td class="z-text-center"><i class="z-font #{tree.self().getMenuIcon()}"></i></td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuUrl()}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#for child : tree.children()>
|
||||
${showChildMenu(child, tree)}
|
||||
</#for>
|
||||
${zhiqim_manager_list(menuSize)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,57 @@
|
||||
${Scripts.onload("Z(document.theForm.menuCode).focusEnd();")}
|
||||
${zhiqim_manager_history("menu.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("menu.htm" "系统菜单" "增加菜单信息")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" action="menuInsert.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="parentCode" type="hidden" value="${parent.getMenuCode()}">
|
||||
<input name="menuLevel" type="hidden" value="${parent.getMenuLevel()+1}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">增加菜单信息</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">父级菜单:<span class="z-color-999">(请选择)</span></td>
|
||||
<td width="*">${parent.getMenuCode()}(${parent.getMenuName()})</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单编码:<span class="z-color-999">(在父级菜单基础上增加编码值,编码值每段三位,如010)</span></td>
|
||||
<td><input name="menuCode" class="z-input z-w300 ${zmr_color_class}" maxlength="32" value="${parent.getMenuCode()}_"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单名称:<span class="z-color-999">(16位不定长字符)</span></td>
|
||||
<td><input name="menuName" class="z-input z-w300 ${zmr_color_class}" maxlength="16"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<#if parent.getMenuLevel() == 0>
|
||||
<tr>
|
||||
<td>菜单简称:<span class="z-color-999">(3位不定长字符,仅一级菜单使用)</span></td>
|
||||
<td><input name="menuNameAbbr" class="z-input z-w300 ${zmr_color_class}" maxlength="3"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
</#if>
|
||||
<tr>
|
||||
<td>菜单状态:<span class="z-color-999">(停用或正常)</span></td>
|
||||
<td><select name="menuStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0">正常</option><option value="1">停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单类型:<span class="z-color-999">(枝节点或属性)</span></td>
|
||||
<td><select name="menuType" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="1">枝节点</option><option value="2">属性</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<#if parent.getMenuLevel() lte 1>
|
||||
<tr>
|
||||
<td>菜单图标:<span class="z-color-999">(在z-font中选择字体图标,仅一二级菜单使用)</span></td>
|
||||
<td><input name="menuIcon" class="z-input z-w300 ${zmr_color_class}" maxlength="32"></td>
|
||||
</tr>
|
||||
</#if>
|
||||
<tr>
|
||||
<td>菜单URL:<span class="z-color-999">(菜单权限对应的URL,多个用逗号隔开,100字符以内)</span></td>
|
||||
<td><input name="menuUrl" class="z-input z-w300 ${zmr_color_class}" maxlength="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单描述:<span class="z-color-999">(用一句简短的句子描述菜单,100字以内)</span></td>
|
||||
<td><textarea name="menuDesc" class="z-textarea z-w300 z-h80 ${zmr_color_class}" maxlength="100"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,60 @@
|
||||
${zhiqim_manager_history("menu.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("menu.htm" "系统菜单" "修改本菜单信息")}
|
||||
${zhiqim_manager_content()}
|
||||
${zhiqim_manager_title("修改 ["+item.getMenuName()+"] 菜单")}
|
||||
<form name="theForm" action="menuUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="parentCode" type="hidden" value="${item.getParentCode()}">
|
||||
<input name="menuCode" type="hidden" value="${item.getMenuCode()}">
|
||||
<input name="menuLevel" type="hidden" value="${item.getMenuLevel()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
|
||||
<tr>
|
||||
<td width="40%">菜单编码:</td>
|
||||
<td width="*">${item.getMenuCode()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单名称:<span class="z-color-999">(16位不定长字符)</span></td>
|
||||
<td><input name="menuName" class="z-input z-w300 ${zmr_color_class}" value="${item.getMenuName()}" maxlength="16"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<#if item.getMenuLevel() == 1>
|
||||
<tr>
|
||||
<td>菜单简称:<span class="z-color-999">(3位不定长字符,仅一级菜单使用)</span></td>
|
||||
<td><input name="menuNameAbbr" class="z-input z-w300 ${zmr_color_class}" value="${item.getMenuNameAbbr()}" maxlength="3"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<#else>
|
||||
<input name="menuNameAbbr" type="hidden" value="${item.getMenuNameAbbr()}">
|
||||
</#if>
|
||||
<tr>
|
||||
<td>菜单状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td>
|
||||
<select name="menuStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}">
|
||||
<option value="0" <#if item.getMenuStatus() == 0>selected</#if>>正常</option>
|
||||
<option value="1" <#if item.getMenuStatus() == 1>selected</#if>>停用</option>
|
||||
</select><span class="z-color-red"> *</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单类型:<span class="z-color-999">(枝节点 | 属性)</span></td>
|
||||
<td><select name="menuType" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="1"<#if item.getMenuType() == 1> selected</#if>>枝节点</option><option value="2"<#if item.getMenuType() == 2> selected</#if>>属性</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<#if item.getMenuLevel() lte 2>
|
||||
<tr>
|
||||
<td>菜单图标:<span class="z-color-999">(在z-font中选择字体图标,仅一二级菜单使用)</span></td>
|
||||
<td><input name="menuIcon" class="z-input z-w300 ${zmr_color_class}" value="#{item.getMenuIcon()}" maxlength="32"></td>
|
||||
</tr>
|
||||
<#else>
|
||||
<input name="menuIcon" type="hidden" value="${item.getMenuIcon()}">
|
||||
</#if>
|
||||
<tr>
|
||||
<td>菜单URL:<span class="z-color-999">(菜单权限对应的URL,多个用逗号隔开,100字符以内)</span></td>
|
||||
<td><input name="menuUrl" class="z-input z-w300 ${zmr_color_class}" value="#{item.getMenuUrl()}" maxlength="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>菜单描述:<span class="z-color-999">(用一句简短的句子描述菜单,100字以内)</span></td>
|
||||
<td><textarea name="menuDesc" class="z-textarea z-w300 z-h80 ${zmr_color_class}" maxlength="100">#{item.getMenuDesc()}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,81 @@
|
||||
${zhiqim_manager_breadcrumb("消息列表")}
|
||||
${zhiqim_manager_content()}
|
||||
${sweet_alert_reuse_method()}
|
||||
<script>
|
||||
function doMessageHandle(id){
|
||||
if(Z.V.isEmpty(id)){
|
||||
Z.alert("消息ID为空");
|
||||
return;
|
||||
}
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("MessagePresenter");
|
||||
ajax.setMethodName("doMessageHandle");
|
||||
ajax.addParam("id",id);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){
|
||||
var flag="false";
|
||||
flag = this.responseText;
|
||||
if(flag == "true")
|
||||
{
|
||||
swal({title:"处理成功",type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
|
||||
this.location.reload();
|
||||
});
|
||||
}
|
||||
});
|
||||
ajax.setLoading("doMessageHandle", '<i class="z-font z-return"></i>正在处理',{disabled:true});
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">我接收的</li>
|
||||
<li onclick="Z.L.href('messageFromMe.htm');">我发出的</li>
|
||||
</ul>
|
||||
<div class="z-float-left z-mg10">
|
||||
<form name="theForm" method="post">
|
||||
<input name="orderId" class="z-float-left z-input z-w150 zi-bd-r-none z-blue" value="${orderId}" placeholder="订单号" spellcheck="false" maxlength="32">
|
||||
<input name="beginTime" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${startTime}" onfocus="Z.datetime(this);" maxlength="19" placeholder="起始时间">
|
||||
<input name="endTime" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${endTime}" onfocus="Z.datetime(this);" maxlength="19" placeholder="截止时间">
|
||||
<button class="z-float-left z-button z-w80 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i>查询</button>
|
||||
</form>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-mg-t20 z-pd10 z-bg-white z-lh150p z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="8%">订单号</td>
|
||||
<td width="8%">发送者</td>
|
||||
<td width="110">发送时间</td>
|
||||
<td width="*">消息内容</td>
|
||||
<td width="8%">设计师</td>
|
||||
<td width="120">订单状态</td>
|
||||
<td width="110">处理状态</td>
|
||||
<td width="110">处理时间</td>
|
||||
<td width="110">操作</td>
|
||||
|
||||
</tr>
|
||||
<#for item : result.list()>
|
||||
<tr class="z-h60" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<td>#{item.getOrderId()}</td>
|
||||
<td>#{item.getProducerOperateName()}</td>
|
||||
<td><#if item.getSendTimeTimestamp() !=null>#{Sqls.toDateTimeString(item.getSendTimeTimestamp())}<#else></#if></td>
|
||||
<td>#{item.getMessageBody()}</td>
|
||||
<td>#{item.getDesignerName()}</td>
|
||||
<td>#{item.getOrderStatusName()}</td>
|
||||
<td><#if item.getState() == "1">已创建(未处理)<#elseif item.getState() == 2>平台已收到(未处理)<#elseif item.getState() == 3>已处理<#else>失效</#if></td>
|
||||
<td><#if item.getState() == "3" && item.getReadTimeTimestamp() !=null>#{Sqls.toDateTimeString(item.getReadTimeTimestamp())}<#else></#if></td>
|
||||
<td><#if item.getState() == "3"><button class="z-button" disabled>已处理</button><#elseif item.getState() == 1 ||item.getState() == 2><button class="z-button z-blue" onclick="doMessageHandle(#{item.getId()});" id="doMessageHandle">处理</button><#else></#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
${zhiqim_manager_tr_no_record(result, 10, "暂时没有消息")}
|
||||
</table>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h50">
|
||||
<td><div class="z-float-right z-mg-r10">${PagingGo.toHtmlLink(result)}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,85 @@
|
||||
${zhiqim_manager_breadcrumb("消息列表")}
|
||||
${zhiqim_manager_content()}
|
||||
${sweet_alert_reuse_method()}
|
||||
<script>
|
||||
function sendMessageAgain(id){
|
||||
if(Z.V.isEmpty(id)){
|
||||
Z.alert("消息ID为空");
|
||||
return;
|
||||
}
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("MessagePresenter");
|
||||
ajax.setMethodName("sendMessageAgain");
|
||||
ajax.addParam("id",id);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){
|
||||
var flag="false";
|
||||
flag = this.responseText;
|
||||
if(flag == "true")
|
||||
{
|
||||
swal({title:"再次发送成功",type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
|
||||
this.location.reload();
|
||||
});
|
||||
}
|
||||
});
|
||||
ajax.setLoading("sendMessageAgain", '<i class="z-font z-return"></i>正在处理',{disabled:true});
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li onclick="Z.L.href('message.htm');">我收到的</li>
|
||||
<li class="z-active">我发出的</li>
|
||||
</ul>
|
||||
<div class="z-float-left z-mg10">
|
||||
<form name="theForm" method="post">
|
||||
<input name="orderId" class="z-float-left z-input z-w150 zi-bd-r-none z-blue" value="${orderId}" placeholder="订单号" spellcheck="false" maxlength="32">
|
||||
<input name="beginTime" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${startTime}" onfocus="Z.datetime(this);" maxlength="19" placeholder="起始时间">
|
||||
<input name="endTime" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${endTime}" onfocus="Z.datetime(this);" maxlength="19" placeholder="截止时间">
|
||||
<select name="state" class="z-float-left z-select z-w150 zi-bd-r-none">
|
||||
<option value="">全部</option>
|
||||
<option <#if state == "3">selected</#if> value="3">已处理</option>
|
||||
</select>
|
||||
<button class="z-float-left z-button z-w80 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i>查询</button>
|
||||
</form>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-mg-t20 z-pd10 z-bg-white z-lh150p z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="8%">订单号</td>
|
||||
<td width="8%">接收者</td>
|
||||
<td width="110">接收时间</td>
|
||||
<td width="*">消息内容</td>
|
||||
<td width="8%">设计师</td>
|
||||
<td width="120">订单状态</td>
|
||||
<td width="110">处理状态</td>
|
||||
<td width="110">处理时间</td>
|
||||
<td width="110">操作</td>
|
||||
</tr>
|
||||
<#for item : result.list()>
|
||||
<tr class="z-h60" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<td>#{item.getOrderId()}</td>
|
||||
<td>#{item.getConsumerOperateName()}</td>
|
||||
<td><#if item.getConsumeTimeTimestamp() !=null>#{Sqls.toDateTimeString(item.getConsumeTimeTimestamp())}<#else></#if></td>
|
||||
<td>#{item.getMessageBody()}</td>
|
||||
<td>#{item.getDesignerName()}</td>
|
||||
<td>#{item.getOrderStatusName()}</td>
|
||||
<td><#if item.getState() == "1">已创建(未处理)<#elseif item.getState() == 2>平台已收到(未处理)<#elseif item.getState() == 3>已处理<#else>失效</#if></td>
|
||||
<td><#if item.getState() == "3" && item.getReadTimeTimestamp() !=null>#{Sqls.toDateTimeString(item.getReadTimeTimestamp())}<#else></#if></td>
|
||||
<td><button class="z-button z-blue" onclick="sendMessageAgain(#{item.getId()});" id="sendMessageAgain">再次发送</button></td>
|
||||
</tr>
|
||||
</#for>
|
||||
${zhiqim_manager_tr_no_record(result, 10, "暂时没有消息")}
|
||||
</table>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h50">
|
||||
<td><div class="z-float-right z-mg-r10">${PagingGo.toHtmlLink(result)}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,86 @@
|
||||
<#var zhiqim_image_clipper.js = new ZmrCdnRuntime(context, "/ztmpl/zhiqim_manager/zhiqim_image_clipper.js")/>
|
||||
${Scripts.src(zhiqim_image_clipper.js)}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
//初始化系统头像
|
||||
doQuerySysAvatar(1);
|
||||
|
||||
//初始化上传头像
|
||||
var clipper = new Z.ImageClipper();
|
||||
clipper.elem = "clipper";
|
||||
clipper.img = "${context.getRootPath("/ztmpl/zhiqim_manager/zhiqim_image_clipper_default.jpg")}";
|
||||
clipper.save = function()
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifySelfAvatar");
|
||||
ajax.addParam(this.getDataURL());
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadTop("修改成功");
|
||||
ajax.execute();
|
||||
};
|
||||
clipper.execute();
|
||||
});
|
||||
|
||||
function doQuerySysAvatar(pageNo)
|
||||
{//查询系统头像列表
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doQuerySysAvatar");
|
||||
ajax.addParam(pageNo);
|
||||
ajax.setCallback("result");
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doSelectSysAvatar(img, value)
|
||||
{//选择系统头像
|
||||
Z(img).addClass("z-red").siblings().removeClass("z-red");
|
||||
Z("#avatarId").val(value);
|
||||
}
|
||||
|
||||
function doModifySysAvatar()
|
||||
{//修改用户系统头像
|
||||
var avatarId = Z("#avatarId").val();
|
||||
if(Z.V.isEmpty(avatarId))
|
||||
{
|
||||
Z.alert("请选择系统头像");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifySysAvatar");
|
||||
ajax.addParam(avatarId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadTop("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
${zhiqim_manager_content()}
|
||||
<div data-role="z-tabnav" class="z-tabnav">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">系统头像</li>
|
||||
<li>自定义头像</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<section>
|
||||
<div class="z-pd10 z-active z-overflow-hidden" style="height:515px;">
|
||||
<input id="avatarId" type="hidden">
|
||||
<div class="z-mg20 z-relative" id="result"></div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="submit" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifySysAvatar();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="z-pd10">
|
||||
<div id="clipper" class="z-mg-t10 z-mg-l50" style="width:620px;height:460px;"></div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,32 @@
|
||||
<script>
|
||||
function doModifyEmail()
|
||||
{
|
||||
var operatorEmail = Z("#operatorEmail").val();
|
||||
if (Z.V.isEmptyBlank(operatorEmail))
|
||||
{
|
||||
Z.alert("新邮箱不能为空");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyEmail");
|
||||
ajax.addParam(operatorEmail);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<div class="z-h60 z-pd20">
|
||||
原邮箱:<span class="z-color-666"><#if Validates.isNotEmpty(sessionUser.getOperatorEmail())>${sessionUser.getOperatorEmail()}<span class="z-px12 z-text-orange">(已绑定)</span> <#else><span class="z-px14 z-color-999">(未绑定)</span> </#if></span>
|
||||
</div>
|
||||
<div class="z-h60 z-pd20">
|
||||
新邮箱:<input id="operatorEmail" class="z-input z-w300 ${zmr_color_class}" maxlength="21" spellcheck="false">
|
||||
<span class="z-px12 z-text-red">*</span>
|
||||
<span class="z-px12 z-color-999">请输入新的邮箱</span>
|
||||
</div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyEmail();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,88 @@
|
||||
<script>
|
||||
function doModifyMobile()
|
||||
{
|
||||
var operatorMobile = Z("#operatorMobile").val();
|
||||
if (Z.V.isEmptyBlank(operatorMobile))
|
||||
{
|
||||
Z.alert("新手机号不能为空");
|
||||
return;
|
||||
}
|
||||
var smsCode = Z("#smsCode").val();
|
||||
if (Z.V.isEmptyBlank(smsCode))
|
||||
{
|
||||
Z.alert("验证码不能为空");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyMobile");
|
||||
ajax.addParam(operatorMobile);
|
||||
ajax.addParam(smsCode);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
//发送验证码
|
||||
function doSendSmsCode()
|
||||
{
|
||||
var operatorMobile = Z("#operatorMobile").val();
|
||||
if (Z.V.isEmptyBlank(operatorMobile))
|
||||
{
|
||||
Z.failure("手机号不能为空!");
|
||||
Z("#operatorMobile").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Z('#getsms-submit')[0].innerHTML != "获取验证码" && Z('#getsms-submit')[0].innerHTML != "重新发送") {
|
||||
Z.failure("请稍后再试");
|
||||
return ;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("sendSmsByModifyMobile");
|
||||
ajax.addParam("operatorMobile", operatorMobile);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess();
|
||||
ajax.execute();
|
||||
|
||||
setYzmLabel();
|
||||
}
|
||||
|
||||
var wait = 60;
|
||||
function setYzmLabel() {
|
||||
if (wait == 0)
|
||||
{
|
||||
Z('#getsms-submit')[0].innerHTML = "重新发送";
|
||||
wait = 60;
|
||||
}
|
||||
else
|
||||
{
|
||||
Z('#getsms-submit')[0].innerHTML = "已发送(" + wait + ")";
|
||||
wait--;
|
||||
setTimeout(function () {
|
||||
setYzmLabel()
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
<div class="z-h40 zi-pd20">
|
||||
原手机号:<span class="z-color-666"><#if Validates.isNotEmpty(sessionUser.getOperatorMobile())>${sessionUser.getOperatorMobile()}<span class="z-px12 z-text-orange">(已绑定)</span> <#else><span class="z-px14 z-color-999">(未绑定)</span> </#if></span>
|
||||
</div>
|
||||
<div class="z-h40 zi-pd20">
|
||||
新手机号:<input id="operatorMobile" class="z-input z-w150 ${zmr_color_class}" maxlength="15" data-options="type:Integer;" spellcheck="false">
|
||||
<span class="z-px12 z-text-red">*</span>
|
||||
</div>
|
||||
<div class="z-h40 zi-pd20">
|
||||
验证码:<input id="smsCode" name="smsCode" class="z-input z-w150 ${zmr_color_class}" placeholder="请输入验证码" data-options="type:Integer;" maxlength="6" />
|
||||
<span class="z-px12 z-text-red">*</span>
|
||||
<button id="getsms-submit" class="z-button z-w100 zi-px10 ${zmr_color_class}" onclick="doSendSmsCode()" >获取验证码</button>
|
||||
</div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyMobile();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,31 @@
|
||||
<script>
|
||||
function doModifyOperatorParam()
|
||||
{
|
||||
var paramValue = Z("#paramValue").val();
|
||||
if (Z.V.isEmptyBlank(paramValue))
|
||||
{
|
||||
Z.alert("新"+${desc}+"不能为空");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyOperatorParam");
|
||||
ajax.addParam("paramKey", '${key}');
|
||||
ajax.addParam("paramValue", paramValue);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<div class="z-h60 zi-pd20">
|
||||
原${desc}:<span class="z-color-666">${value}</span>
|
||||
</div>
|
||||
<div class="z-h60 zi-pd20">
|
||||
新${desc}:<input id="paramValue" class="z-input z-w300 ${zmr_color_class}" spellcheck="false"><span class="z-px12 z-text-red">*</span><span class="z-px12 z-color-999">请输入新${desc}</span>
|
||||
</div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyOperatorParam();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,42 @@
|
||||
${request.getValidateScript()}
|
||||
<script>
|
||||
function doModifyPass(form)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyPass");
|
||||
ajax.setParamForm(form);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<form>
|
||||
<input type="text" class="z-hidden-fixed">
|
||||
<input type="password" class="z-hidden-fixed">
|
||||
<table class="z-table z-mg-t10 z-mg-b10">
|
||||
<tr class="z-h60">
|
||||
<td width="80" class="zi-pd-l10">旧 密 码:</td>
|
||||
<td width="303"><input name="oldPassword" type="password" class="z-input z-w300 ${zmr_color_class}" maxlength="16" autocomplete="off"></td>
|
||||
<td width="10" class="z-px14 z-text-red zi-pd-t6">*</td>
|
||||
<td width="*" class="zi-pd-r10 z-px14 z-color-999">请输入原始密码</td>
|
||||
</tr>
|
||||
<tr class="z-h60">
|
||||
<td class="zi-pd-l10">新 密 码:</td>
|
||||
<td><input name="newPassword" type="password" class="z-input z-w300 ${zmr_color_class}" maxlength="16" autocomplete="off"></td>
|
||||
<td class="z-px14 z-text-red zi-pd-t6">*</td>
|
||||
<td class="zi-pd-r10 z-px12 z-color-999">6-16位密码,大写字母、小写字母、数字和特殊字符必须四选三,特殊字符支持</span><span class="z-px12 z-color-999 z-samp">.`_~!@#$%</span></td>
|
||||
</tr>
|
||||
<tr class="z-h60">
|
||||
<td class="zi-pd-l10">确认密码:</td>
|
||||
<td><input name="newPassword2" type="password" class="z-input z-w300 ${zmr_color_class}" maxlength="16" autocomplete="off"></td>
|
||||
<td class="z-px14 z-text-red zi-pd-t6">*</td>
|
||||
<td class="zi-pd-r10 z-px14 z-color-999">再次输入新密码</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyPass(this.form);">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,32 @@
|
||||
<script>
|
||||
function doModifyWangwang()
|
||||
{
|
||||
var operatorWangwang = Z("#operatorWangwang").val();
|
||||
if (Z.V.isEmptyBlank(operatorWangwang))
|
||||
{
|
||||
Z.alert("新旺旺不能为空");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyWangwang");
|
||||
ajax.addParam(operatorWangwang);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<div class="z-h60 z-pd20">
|
||||
原旺旺:<span class="z-color-666"><#if Validates.isNotEmpty(sessionUser.getOperatorWangwang())>${sessionUser.getOperatorWangwang()}<span class="z-px12 z-text-orange">(已绑定)</span> <#else><span class="z-px14 z-color-999">(未绑定)</span> </#if></span>
|
||||
</div>
|
||||
<div class="z-h60 z-pd20">
|
||||
新旺旺:<input id="operatorWangwang" class="z-input z-w300 ${zmr_color_class}" maxlength="21" spellcheck="false">
|
||||
<span class="z-px12 z-text-red">*</span>
|
||||
<span class="z-px12 z-color-999">请输入新的旺旺</span>
|
||||
</div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyWangwang();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,32 @@
|
||||
<script>
|
||||
function doModifyWkwechatAccount()
|
||||
{
|
||||
var wkwechatAccount = Z("#wkwechatAccount").val();
|
||||
if (Z.V.isEmptyBlank(wkwechatAccount))
|
||||
{
|
||||
Z.alert("新企业微信账号不能为空");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyWkwechatAccount");
|
||||
ajax.addParam(wkwechatAccount);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<div class="z-h60 z-pd20">
|
||||
原企业微信账号:<span class="z-color-666"><#if Validates.isNotEmpty(sessionUser.getWkwechatAccount())>${sessionUser.getWkwechatAccount()}<span class="z-px12 z-text-orange">(已绑定)</span> <#else><span class="z-px14 z-color-999">(未绑定)</span> </#if></span>
|
||||
</div>
|
||||
<div class="z-h60 z-pd20">
|
||||
新企业微信账号:<input id="wkwechatAccount" class="z-input z-w300 ${zmr_color_class}" maxlength="21" spellcheck="false">
|
||||
<span class="z-px12 z-text-red">*</span>
|
||||
<span class="z-px12 z-color-999">请输入新的企业微信账号</span>
|
||||
</div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyWkwechatAccount();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,32 @@
|
||||
<script>
|
||||
function doModifyWxcode()
|
||||
{
|
||||
var operatorWxcode = Z("#operatorWxcode").val();
|
||||
if (Z.V.isEmptyBlank(operatorWxcode))
|
||||
{
|
||||
Z.alert("新微信不能为空");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProfilePresenter");
|
||||
ajax.setMethodName("doModifyWxcode");
|
||||
ajax.addParam(operatorWxcode);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReloadParent("修改成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
<div class="z-h60 z-pd20">
|
||||
原微信:<span class="z-color-666"><#if Validates.isNotEmpty(sessionUser.getOperatorWxcode())>${sessionUser.getOperatorWxcode()}<span class="z-px12 z-text-orange">(已绑定)</span> <#else><span class="z-px14 z-color-999">(未绑定)</span> </#if></span>
|
||||
</div>
|
||||
<div class="z-h60 z-pd20">
|
||||
新微信:<input id="operatorWxcode" class="z-input z-w300 ${zmr_color_class}" maxlength="21" spellcheck="false">
|
||||
<span class="z-px12 z-text-red">*</span>
|
||||
<span class="z-px12 z-color-999">请输入新的微信</span>
|
||||
</div>
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
|
||||
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyWxcode();">提交</button>
|
||||
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,47 @@
|
||||
${zhiqim_manager_breadcrumb("操作日志查询")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">操作日志查询</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorOnline.htm")><li onclick="Z.L.href('operatorOnline.htm');">操作员在线列表</li></#if>
|
||||
</ul>
|
||||
<div class="z-float-left z-mg10">
|
||||
<form name="theForm" method="post">
|
||||
<input name="beginTime" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${startTime}" onfocus="Z.datetime(this);" maxlength="19" placeholder="操作起始时间">
|
||||
<input name="endTime" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${endTime}" onfocus="Z.datetime(this);" maxlength="19" placeholder="操作截止时间">
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="operatorCode" class="z-float-left z-input z-w150 zi-bd-r-none ${zmr_color_class}" value="${operatorCode}" placeholder="操作员编码" spellcheck="false" maxlength="32">
|
||||
</#if>
|
||||
<button class="z-float-left z-button z-w80 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i>查询</button>
|
||||
</form>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-mg-t20 z-pd10 z-bg-white z-lh150p z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="160">操作时间</td>
|
||||
<td width="12%">操作员</td>
|
||||
<td width="35%">操作URL</td>
|
||||
<td width="*">操作描述</td>
|
||||
</tr>
|
||||
<#for item : result.list()>
|
||||
<tr class="z-h60" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<td>#{Sqls.toDateTimeString(item.getOperateTime())}</td>
|
||||
<td>#{item.getOperatorCode()}</td>
|
||||
<td align="left">#{item.getOperateUrl()}</td>
|
||||
<td align="left">#{item.getOperateDesc()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
${zhiqim_manager_tr_no_record(result, 4, "暂时没有操作日志")}
|
||||
</table>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h50">
|
||||
<td><div class="z-float-right z-mg-r10">${PagingGo.toHtmlLink(result)}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,213 @@
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].operatorKey).focusEnd();
|
||||
});
|
||||
|
||||
function doSelectorDeptDialog()
|
||||
{//标题、URL、宽度和高度四个值是必须的
|
||||
var operatorCode = Z.FM.getChecked("operatorCode");
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "设置部门";
|
||||
dialog.url = "operatorDeptSelector.htm?operatorCode="+encodeURIComponent(operatorCode);
|
||||
dialog.width = 392;
|
||||
dialog.height = 418;
|
||||
dialog.fixed = true;
|
||||
dialog.scroll = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doSelectorDeptCallback(operatorCode, deptIds)
|
||||
{//增加操作员部门
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doAddOperatorDepts");
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.addParam("deptIds", deptIds);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.setLoading(document);
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doDeleteOperatorDept(operatorCode, deptId)
|
||||
{//删除操作员部门
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doDeleteOperatorDept");
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.addParam("deptId", deptId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doSelectorRoleDialog()
|
||||
{//标题、URL、宽度和高度四个值是必须的
|
||||
var operatorCode = Z.FM.getChecked("operatorCode");
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "设置角色";
|
||||
dialog.url = "operatorRoleSelector.htm?operatorCode="+encodeURIComponent(operatorCode);
|
||||
dialog.width = 392;
|
||||
dialog.height = 418;
|
||||
dialog.fixed = true;
|
||||
dialog.scroll = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doSelectorRoleCallback(operatorCode, roleIds)
|
||||
{//增加操作员角色
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doAddOperatorRoles");
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.addParam("roleIds", roleIds);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.setLoading(document);
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doDeleteOperatorRole(operatorCode, roleId)
|
||||
{//删除操作员角色
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doDeleteOperatorRole");
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.addParam("roleId", roleId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("操作员管理")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">操作员管理</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/role.htm")><li onclick="Z.L.href('role.htm');">操作员角色</li></#if>
|
||||
</ul>
|
||||
<div class="z-float-left z-mg10">
|
||||
<form name="theForm" method="post">
|
||||
<span class="z-float-left">
|
||||
<select name="operatorStatus" class="z-select z-w70" data-role="z-select" data-class="zi-bd-r-none ${zmr_color_class}" data-options="maxHeight:220px;" onchange="this.form.submit();">
|
||||
<option value="">全部</option>
|
||||
<option value="0" <#if operatorStatus == 0>selected</#if>>正常</option>
|
||||
<option value="1" <#if operatorStatus == 1>selected</#if>>停用</option>
|
||||
</select>
|
||||
</span>
|
||||
<input name="operatorKey" class="z-float-left z-input z-w150 zi-bd-r-none" value="${operatorKey}" maxlength="64" placeholder="操作员编码或名称" spellcheck="false">
|
||||
<button class="z-float-left z-button z-w80 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i>查询</button>
|
||||
</form>
|
||||
</div>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorRuleView.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('operatorRuleView.htm', 'operatorCode');"><i class="z-font z-customer"></i>查看权限</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorRule.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('operatorRule.htm', 'operatorCode');">设置独立权限</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorAdd.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.href('operatorAdd.htm');"><i class="z-font z-add"></i>增加操作员</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorModify.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('operatorModify.htm', 'operatorCode');"><i class="z-font z-modify"></i>修改操作员</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorDelete.htm")><button class="z-button z-red" onclick="Z.L.confirm('operatorDelete.htm', '确认要删除该操作员?', 'operatorCode', zCallFrame);"><i class="z-font z-delete"></i>删除操作员</button></#if>
|
||||
</div>
|
||||
</#if>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-pd5 z-bg-white z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50">选择</td>
|
||||
<td width="70">头像</td>
|
||||
<td width="6%">操作员编码</td>
|
||||
<td width="6%">操作员名称</td>
|
||||
<td width="50">状态</td>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/dept.htm")>
|
||||
<td width="250">
|
||||
<table class="z-table z-pd5 z-lh150p">
|
||||
<tr>
|
||||
<td width="*" align="left">所属部门</td>
|
||||
<td width="38"><#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorDept.htm")><a class="blue" href="javascript:void(0);" onclick="doSelectorDeptDialog();">设置</a></#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="170">
|
||||
<#else>
|
||||
<td width="250">
|
||||
</#if>
|
||||
<table class="z-table z-pd5 z-lh150p">
|
||||
<tr>
|
||||
<td width="*" align="left">所属角色</td>
|
||||
<td width="38"><#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operatorRole.htm")><a class="blue" href="javascript:void(0);" onclick="doSelectorRoleDialog();">设置</a></#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="100">手机号</td>
|
||||
<td width="120">个人微信</td>
|
||||
<td width="120">企业微信账号</td>
|
||||
<td width="80">更新时间</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(result, 11, "暂时没有操作员信息")}
|
||||
<#for item : result.list()>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td>
|
||||
<#if ZmrAdminMutexRule.check(request, item)>
|
||||
<input name="operatorCode" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getOperatorCode()}">
|
||||
</#if>
|
||||
</td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}" class="z-w50 z-h50 z-bd-rd50p"></td>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>#{item.getOperatorName()}</td>
|
||||
<td>${item.getOperatorStatus()==0?"正常":"<span class='z-color-red'>停用</span>"}</td>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/dept.htm")>
|
||||
<td>
|
||||
<table class="z-table z-bordered-line zi-bd-t-none z-pd5 z-lh150p">
|
||||
<#var deptIds = Arrays.toLongArray(item.getOperatorDept())/>
|
||||
<#for deptName : Arrays.toStringArray(item.getOperatorCreated())>
|
||||
<tr>
|
||||
<td width="*" align="left" class="zi-bd-b-none">#{deptName}</td>
|
||||
<td width="38" class="zi-bd-b-none">
|
||||
<#if ZmrAdminMutexRule.check(request, item)>
|
||||
<a href="javascript:doDeleteOperatorDept('#{item.getOperatorCode()}', '#{deptIds[deptName_index]}')">取消</a>
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
</td>
|
||||
</#if>
|
||||
<td>
|
||||
<table class="z-table z-bordered-line zi-bd-t-none z-pd5 z-lh150p">
|
||||
<#var roleIds = Arrays.toLongArray(item.getOperatorRole())/>
|
||||
<#for roleName : Arrays.toStringArray(item.getOperatorPass())>
|
||||
<tr>
|
||||
<td width="*" align="left" class="zi-bd-b-none">#{roleName}</td>
|
||||
<td width="38" class="zi-bd-b-none">
|
||||
<#if ZmrAdminMutexRule.check(request, item)>
|
||||
<a href="javascript:doDeleteOperatorRole('#{item.getOperatorCode()}', '#{roleIds[roleName_index]}')">取消</a>
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
</td>
|
||||
<td class="z-lh150p">
|
||||
#{item.getOperatorMobile()}
|
||||
</td>
|
||||
<td class="z-lh150p">
|
||||
#{item.getOperatorWxcode()}
|
||||
</td>
|
||||
<td class="z-lh150p">
|
||||
#{item.getWkwechatAccount()}
|
||||
</td>
|
||||
<td class="z-lh150p">#{item.getOperatorModified()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging(result)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,105 @@
|
||||
${Scripts.onload("document.theForm.operatorCode.focus();")}
|
||||
${zhiqim_manager_history("operator.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
<script>
|
||||
function doRandomPass()
|
||||
{
|
||||
var random = Z.random(4, 4) + Z.random(1, 9) + Z.random(3, 1);
|
||||
Z("#randomPass").text(random);
|
||||
Z(theForm.operatorPass).val(random);
|
||||
}
|
||||
|
||||
function doInsertOperatorInfo(form)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("insert");
|
||||
ajax.addParam("operatorCode", form.operatorCode.value);
|
||||
ajax.addParam("operatorName", form.operatorName.value);
|
||||
ajax.addParam("operatorPass", form.operatorPass.value);
|
||||
ajax.addParam("operatorStatus", form.operatorStatus.value);
|
||||
ajax.addParam("operatorMobile", form.operatorMobile.value);
|
||||
ajax.addParam("operatorWxcode", form.operatorWxcode.value);
|
||||
if(form.operatorType != undefined){
|
||||
ajax.addParam("operatorType", form.operatorType.value);
|
||||
}else{
|
||||
ajax.addParam("operatorType", 2);
|
||||
}
|
||||
var operator= new Object();
|
||||
operator.operatorCode=form.operatorCode.value;
|
||||
operator.operatorName=form.operatorName.value;
|
||||
operator.operatorStatus=form.operatorStatus.value;
|
||||
operator.operatorMobile=form.operatorMobile.value;
|
||||
if(form.operatorType != undefined){
|
||||
operator.operatorType=form.operatorType.value;
|
||||
}else{
|
||||
operator.operatorType=2;
|
||||
}
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){
|
||||
doSuccessDialog(operator);
|
||||
});
|
||||
ajax.setLoading("modifyBtn", '正在提交', {disabled:true});
|
||||
ajax.execute();
|
||||
}
|
||||
function doSuccessDialog(operator)
|
||||
{//标题、URL、宽度和高度四个值是必须的
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "添加成功";
|
||||
var operatorPass = Z("#operatorPass")[0].value;
|
||||
const host = window.location.protocol+"//"+window.location.host;
|
||||
dialog.url = "operatorAddSuccess.htm?host="+encodeURIComponent(host)+"&operatorCode="+encodeURIComponent(operator.operatorCode)+"&operatorPass="+encodeURIComponent(operatorPass);
|
||||
dialog.width = 422;
|
||||
dialog.height = 238;
|
||||
dialog.fixed = true;
|
||||
dialog.scroll = true;
|
||||
dialog.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("operator.htm", "操作员管理", "增加操作员")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" action="javascript:void(0);" method="post" onSubmit="return doInsertOperatorInfo(this);" data-role="z-call-frame">
|
||||
<input type="text" class="z-hidden-fixed"/>
|
||||
<input type="password" class="z-hidden-fixed"/>
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">增加操作员</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="40%">操作员编码:<span class="z-color-999">(2-16位字母数字或汉字开头,字母数字汉字特殊字符组成,特殊字符支持<span class="z-samp">._-`~!@#$%</span>)</span></td>
|
||||
<td width="*"><input name="operatorCode" class="z-input z-w300 ${zmr_color_class}" maxlength="16"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员名称:<span class="z-color-999">(64位不定长字符)</span></td>
|
||||
<td><input name="operatorName" class="z-input z-w300 ${zmr_color_class}" maxlength="64"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员密码:<span class="z-color-999">(6-16位密码,大写字母、小写字母、数字和特殊字符必须四选三,特殊字符支持<span class="z-samp">._-`~!@#$%</span>)</span></td>
|
||||
<td><input name="operatorPass" id="operatorPass" type="password" class="z-input z-w300 ${zmr_color_class}" maxlength="16"><span class="z-color-red"> *</span> <button type="button" class="z-button z-h30" onclick="doRandomPass()">随机</button> <span id="randomPass" class="z-samp"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员状态:<span class="z-color-999">(停用或正常)</span></td>
|
||||
<td><select name="operatorStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0">正常</option><option value="1">停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员手机号:</td>
|
||||
<td><input name="operatorMobile" class="z-input z-w300 ${zmr_color_class}" maxlength="21"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员个人微信号:</td>
|
||||
<td><input name="operatorWxcode" class="z-input z-w300 ${zmr_color_class}" maxlength="64"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
|
||||
<#if ZmrSuperAdminRule.check(request)>
|
||||
<tr>
|
||||
<td>操作员类型:<span class="z-color-999">(管理员或操作员)</span></td>
|
||||
<td><select name="operatorType" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}" ><option value="2">操作员</option><option value="1">管理员</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,34 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
|
||||
function doCopyInfo(){
|
||||
const input = document.createElement('textarea');
|
||||
input.value ="设计平台地址:${host}\n登录账号:${operatorCode}\n初始密码:${operatorPass}";
|
||||
document.body.appendChild(input);
|
||||
input.select();
|
||||
document.execCommand('Copy');
|
||||
document.body.removeChild(input);
|
||||
top.Z.tips("复制成功");
|
||||
}
|
||||
</script>
|
||||
|
||||
<table class="z-table z-h20-tr z-pd10 z-lh80p z-bg-white">
|
||||
<tr>
|
||||
<td width="40%">设计平台地址:</td>
|
||||
<td width="*">${host}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>登录账号:</td>
|
||||
<td>${operatorCode}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>初始密码:</td>
|
||||
<td>${operatorPass}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<span class="z-color-red" style="margin-top:10px;"> 温馨提示:首次登陆请务必修改密码</span>
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-text-center">
|
||||
<button class="z-button ${zmr_color_class}" onclick="doCopyInfo();">一键复制</button>
|
||||
<button class="z-button" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
|
||||
</div>
|
||||
@@ -0,0 +1,47 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].deptName).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var deptIds = Z.FM.getCheckeds("deptId");
|
||||
parent.doSelectorDeptCallback("${operator.getOperatorCode()}", deptIds);
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="operatorCode" type="hidden" value="${operator.getOperatorCode()}">
|
||||
<input name="deptName" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="部门名称查找" value="${deptName}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-h40-tr z-pd5 z-bg-white z-text-center">
|
||||
<tr class="z-bg-gray">
|
||||
<td width="50">选择</td>
|
||||
<td width="*" class="z-text-left">部门名称</td>
|
||||
<td width="50">状态</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(list, 3, "没有可设置的部门")}
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_checkbox()}>
|
||||
<td><input name="deptId" type="checkbox" data-role="z-checkbox" data-class="z-blue" value="${item.getDeptId()}"></td>
|
||||
<td class="z-text-left">${item.getDeptName()}</td>
|
||||
<td><#if item.getDeptStatus()==0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</tale>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,79 @@
|
||||
${zhiqim_manager_history("operator.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
<script>
|
||||
function doRandomPass()
|
||||
{
|
||||
var random = Z.random(4, 4) + Z.random(1, 9) + Z.random(3, 1);
|
||||
Z("#randomPass").text(random);
|
||||
Z(theForm.operatorPass).val(random);
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("operator.htm" "操作员管理" "修改操作员")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" action="operatorUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input type="text" class="z-hidden-fixed"/>
|
||||
<input type="password" class="z-hidden-fixed"/>
|
||||
<input name="operatorCode" type="hidden" value="${operator.getOperatorCode()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">修改操作员</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">操作员编码:</td>
|
||||
<td width="*">${operator.getOperatorCode()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员名称:<span class="z-color-999">(64位不定长字符)</span></td>
|
||||
<td><input name="operatorName" class="z-input z-w300 ${zmr_color_class}" value="#{operator.getOperatorName()}" maxlength="64"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员密码:<span class="z-color-999">(为空表示不修改,如果修改请输入6-16位密码,大小写字母数字特殊字符必须四选三,特殊字符支持<span class="z-samp">._-`~!@#$%</span>)</span></td>
|
||||
<td><input name="operatorPass" type="password" class="z-input z-w300 ${zmr_color_class}" maxlength="16"> <button type="button" class="z-button z-h30" onclick="doRandomPass()">随机</button> <span id="randomPass" class="z-samp"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员状态:<span class="z-color-999">(停用或正常)</span></td>
|
||||
<td>
|
||||
<select name="operatorStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}">
|
||||
<option value="0" <#if operator.getOperatorStatus()=0>selected</#if>>正常</option>
|
||||
<option value="1" <#if operator.getOperatorStatus()=1>selected</#if>>停用</option>
|
||||
</select>
|
||||
<span class="z-color-red"> *</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员手机号:</td>
|
||||
<td><input name="operatorMobile" class="z-input z-w300 ${zmr_color_class}" value="${operator.getOperatorMobile()}" maxlength="21"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员个人微信号:</td>
|
||||
<td><input name="operatorWxcode" class="z-input z-w300 ${zmr_color_class}" value="${operator.getOperatorWxcode()}" maxlength="64"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
|
||||
<#if ZmrSuperAdminRule.check(request)>
|
||||
<tr>
|
||||
<td>操作员类型:<span class="z-color-999">(管理员或操作员)</span></td>
|
||||
<td>
|
||||
<select name="operatorType" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}" >
|
||||
<option value="2" <#if operator.getOperatorType()==2>selected</#if>>操作员</option>
|
||||
<option value="1" <#if operator.getOperatorType()==1>selected</#if>>管理员</option>
|
||||
</select>
|
||||
<span class="z-color-red"> *</span>
|
||||
</td>
|
||||
</tr>
|
||||
<#else>
|
||||
<tr>
|
||||
<td>操作员类型:<span class="z-color-999"></span></td>
|
||||
<td>
|
||||
<input type="hidden" name="operatorType" value="${operator.getOperatorType()}">
|
||||
<#if operator.getOperatorType()=2>操作员</#if>
|
||||
<#if operator.getOperatorType()=1><span class="z-color-red">管理员</span></#if>
|
||||
<#if operator.getOperatorType()=0><span class="z-color-red">超级管理员</span></#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,58 @@
|
||||
<script>
|
||||
function doRemove(sessionId)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("RemoveOnlineOperator");
|
||||
ajax.addParam(sessionId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessAlertReload("剔除成功");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("操作员在线列表")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li onclick="Z.L.href('operateLog.htm');">操作日志查询</li>
|
||||
<li class="z-active">操作员在线列表</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-mg-t20 z-pd10 z-bg-white z-lh150p z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="180">操作员编码</td>
|
||||
<td width="180">操作员名称</td>
|
||||
<td width="20%">登录时间</td>
|
||||
<td width="*">最后访问</td>
|
||||
<td width="120">管理员</td>
|
||||
<td width="120">操作</td>
|
||||
</tr>
|
||||
<#for item : result.list()>
|
||||
<tr class="z-h60" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
<td>${item.getCreateTime()}</td>
|
||||
<td>${item.getLastAccessTime()}(还剩<span class="z-text-red">${item.getRemainMinute()}</span>分钟)</td>
|
||||
<td><#if item.getOperatorType() lt 2>是<#else>否</#if></td>
|
||||
<td>
|
||||
<#if sessionUser.getSessionId() == item.getSessionId()>
|
||||
自己
|
||||
<#elseif ZmrAdminRule.check(request)>
|
||||
<button class="z-button z-red" onclick="doRemove('${item.getSessionId()}')">剔除</button>
|
||||
<#else>
|
||||
--
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
${zhiqim_manager_tr_no_record(result, 6, "暂时没有操作员在线")}
|
||||
</table>
|
||||
${zhiqim_manager_paging(result)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,47 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].roleName).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var roleIds = Z.FM.getCheckeds("roleId");
|
||||
parent.doSelectorRoleCallback("${operator.getOperatorCode()}", roleIds);
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="operatorCode" type="hidden" value="${operator.getOperatorCode()}">
|
||||
<input name="roleName" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="角色名称查找" value="${roleName}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-h40-tr z-pd5 z-bg-white z-text-center">
|
||||
<tr class="z-bg-gray">
|
||||
<td width="50">选择</td>
|
||||
<td width="*" class="z-text-left">角色名称</td>
|
||||
<td width="50">状态</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(list, 3, "没有可设置的角色")}
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_checkbox()}>
|
||||
<td><input name="roleId" type="checkbox" data-role="z-checkbox" data-class="z-blue" value="${item.getRoleId()}"></td>
|
||||
<td class="z-text-left">${item.getRoleName()}</td>
|
||||
<td><#if item.getRoleStatus()==0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</tale>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,77 @@
|
||||
<#-- 显示子菜单,并递归显示下级子菜单 -->
|
||||
<#function showChildMenu(self, parent)>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h30">
|
||||
<td width="*" class="zi-pd-l6">
|
||||
<#var level = self.self().getMenuLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.hasChildren()>
|
||||
<a href="javascript:Zmr.treeExpand('${self.self().getMenuCode()}')"><i id="ico-${self.self().getMenuCode()}" class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-mlastnode<#else>z-mnode</#if>"></i></a>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-lastnode<#else>z-node</#if>"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isOperatorRule(ruleList, self.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="${self.self().getMenuCode()}">
|
||||
#{self.self().getMenuName()}
|
||||
</td>
|
||||
<td width="10%" class="zi-pd-l6">#{self.self().getMenuNameAbbr()}</td>
|
||||
<td width="20%" class="zi-pd-l6">#{self.self().getMenuCode()}</td>
|
||||
<td width="8%" align="center">#{self.self().getMenuLevel()}</td>
|
||||
<td width="15%" align="center"><#if self.self().getMenuType()==1>节点<#else>属性</#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if self.hasChildren()>
|
||||
<div id="menu-${self.self().getMenuCode()}">
|
||||
<#for child : self.children()>
|
||||
${showChildMenu(child, self)}
|
||||
</#for>
|
||||
</div>
|
||||
</#if>
|
||||
</#function>
|
||||
${zhiqim_manager_history("operator.htm")}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("operator.htm" "操作员管理" "操作员权限信息")}
|
||||
${zhiqim_manager_content()}
|
||||
<table class="z-table z-mg-b3">
|
||||
<tr>
|
||||
<td align="right"><span class="z-text-blue"><span style="font-family: Wingdings;">&</span> 说明:根据系统菜单显示操作员权限信息</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if operator.getOperatorType() gt 0>
|
||||
<form name="theForm" method="post" data-role="z-call-frame">
|
||||
<input name="operatorCode" type="hidden" value="${operator.getOperatorCode()}">
|
||||
</#if>
|
||||
<table class="z-table z-bordered z-h30-tr z-pd5 z-bg-white">
|
||||
<tr class="zi-h40">
|
||||
<td colspan="5" class="z-bold z-px14">操作员[${operator.getOperatorCode()}]权限表</td>
|
||||
</tr>
|
||||
<tr class="zi-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="*">菜单目录</td>
|
||||
<td width="10%">菜单简称</td>
|
||||
<td width="20%">菜单编码</td>
|
||||
<td width="8%" align="center">菜单级别</td>
|
||||
<td width="15%" align="center">菜单类型</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="zi-pd-l6"><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i><input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isOperatorRule(ruleList, tree.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="#{tree.self().getMenuCode()}">系统功能根菜单</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuNameAbbr()}</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuCode()}</td>
|
||||
<td align="center">#{tree.self().getMenuLevel()}</td>
|
||||
<td align="center">根节点</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#for child : tree.children()>
|
||||
${showChildMenu(child, tree)}
|
||||
</#for>
|
||||
<#if operator.getOperatorType() gt 0>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
</#if>
|
||||
${zhiqim_manager_list(menuSize)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,70 @@
|
||||
<#-- 显示子菜单,并递归显示下级子菜单 -->
|
||||
<#function showChildMenu(self, parent)>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h30">
|
||||
<td width="*" class="zi-pd-l6">
|
||||
<#var level = self.self().getMenuLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.hasChildren()>
|
||||
<a href="javascript:Zmr.treeExpand('${self.self().getMenuCode()}')"><i id="ico-${self.self().getMenuCode()}" class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-mlastnode<#else>z-mnode</#if>"></i></a>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-lastnode<#else>z-node</#if>"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
#{self.self().getMenuName()}
|
||||
</td>
|
||||
<td width="10%" class="zi-pd-l6">#{self.self().getMenuNameAbbr()}</td>
|
||||
<td width="20%" class="zi-pd-l6">#{self.self().getMenuCode()}</td>
|
||||
<td width="8%" align="center">#{self.self().getMenuLevel()}</td>
|
||||
<td width="15%" align="center"><#if self.self().getMenuType()==1>节点<#else>属性</#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if self.hasChildren()>
|
||||
<div id="menu-${self.self().getMenuCode()}">
|
||||
<#for child : self.children()>
|
||||
${showChildMenu(child, self)}
|
||||
</#for>
|
||||
</div>
|
||||
</#if>
|
||||
</#function>
|
||||
${zhiqim_manager_history("operator.htm")}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("operator.htm" "操作员管理" "操作员权限信息")}
|
||||
${zhiqim_manager_content()}
|
||||
<table class="z-table z-mg-b3">
|
||||
<tr>
|
||||
<td align="right"><span class="z-text-blue"><span style="font-family: Wingdings;">&</span> 说明:根据系统菜单显示操作员权限信息</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="z-table z-bordered z-bg-white">
|
||||
<tr class="z-h40">
|
||||
<td class="z-bold z-px14 zi-pd-l5" colspan="5">操作员[${operator.getOperatorCode()}]权限表</td>
|
||||
</tr>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="*" class="zi-pd-l6">菜单目录</td>
|
||||
<td width="10%" class="zi-pd-l6">菜单简称</td>
|
||||
<td width="20%" class="zi-pd-l6">菜单编码</td>
|
||||
<td width="8%" align="center">菜单级别</td>
|
||||
<td width="15%" align="center">菜单类型</td>
|
||||
</tr>
|
||||
<tr class="z-h30">
|
||||
<td class="zi-pd-l6"><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i>系统功能根菜单</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuNameAbbr()}</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuCode()}</td>
|
||||
<td align="center">#{tree.self().getMenuLevel()}</td>
|
||||
<td align="center">根节点</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#for child : tree.children()>
|
||||
${showChildMenu(child, tree)}
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_return()}
|
||||
${zhiqim_manager_list(menuSize)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,49 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].operatorKey).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var operatorCode = Z.FM.getChecked("operatorCode");
|
||||
parent.doSelectorCallback(operatorCode);
|
||||
parent.Z.Dialog.close(location.hash);
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="operatorKey" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="操作员编码或名称" value="${operatorKey}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-pd5 z-text-center">
|
||||
<tr class="z-h40 z-bg-gray">
|
||||
<td width="60">选择</td>
|
||||
<td width="90">操作员头像</td>
|
||||
<td width="110">操作员编码</td>
|
||||
<td width="*">操作员姓名</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(list, 4, "没有可选择的操作员")}
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td><input name="operatorCode" type="radio" data-role="z-radio" data-class="z-blue" value="${item.getOperatorCode()}"></td>
|
||||
<td><img class="z-w50 z-h50 z-bd-rd50p" src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}"></td>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</tale>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,49 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].operatorKey).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var operatorCodes = Z.FM.getCheckeds("operatorCodes");
|
||||
parent.doOperatorsSelectorCallback(operatorCodes);
|
||||
parent.Z.Dialog.close(location.hash);
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="operatorKey" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="操作员编码或名称" value="${operatorKey}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-pd5 z-text-center">
|
||||
<tr class="z-h40 z-bg-gray">
|
||||
<td width="60">选择</td>
|
||||
<td width="90">操作员头像</td>
|
||||
<td width="110">操作员编码</td>
|
||||
<td width="*">操作员姓名</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(list, 4, "没有可选择的操作员")}
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_checkbox()}>
|
||||
<td><input name="operatorCodes" type="checkbox" data-role="z-checkbox" data-class="z-blue" value="${item.getOperatorCode()}"></td>
|
||||
<td><img class="z-w50 z-h50 z-bd-rd50p" src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}"></td>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</tale>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,69 @@
|
||||
${zhiqim_manager_breadcrumb("组织管理")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">组织管理</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgRule.htm")><li onclick="Z.L.href('orgRule.htm');">组织权限</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/dept.htm")><li onclick="Z.L.href('dept.htm');">部门管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptOperator.htm")><li onclick="Z.L.href('deptOperator.htm');">部门成员</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptRule.htm")><li onclick="Z.L.href('deptRule.htm');">部门权限</li></#if>
|
||||
</ul>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgAdd.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.href('orgAdd.htm');"><i class="z-font z-add"></i>增加组织</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgModify.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('orgModify.htm', 'orgId');"><i class="z-font z-modify"></i>修改组织</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/orgDelete.htm")><button class="z-button z-red" onclick="Z.L.confirm('orgDelete.htm', '确认要删除该组织?', 'orgId', zCallFrame);"><i class="z-font z-delete"></i>删除组织</button></#if>
|
||||
</#if>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered zi-h30-tr z-text-center z-bg-white">
|
||||
<tr class="zi-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50">选择</td>
|
||||
<td width="200">组织编号</td>
|
||||
<td width="*">组织名称</td>
|
||||
<td width="12%">组织状态</td>
|
||||
<td width="12%">组织级别</td>
|
||||
<td width="12%">组织负责人</td>
|
||||
</tr>
|
||||
|
||||
<#if size == 0>
|
||||
${zhiqim_manager_no_record(6, "暂时没有组织信息")}
|
||||
<#else>
|
||||
<#for item : list>
|
||||
<tr class="z-pointer zi-h30" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="orgId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getOrgId()}">
|
||||
</#if>
|
||||
</td>
|
||||
<td>${item.getOrgId()}</td>
|
||||
|
||||
<#if item.getOrgLevel() == 0 >
|
||||
<td align="left" class="zi-pd-l6"><i class="z-ico z-tree z-normal z-30 z-root z-mg-r3"></i>#{item.getOrgName()}</td>
|
||||
</#if>
|
||||
<#if item.getOrgLevel() == 1 >
|
||||
<td align="left" class="zi-pd-l6">
|
||||
<#if item_index == list.size()-1>
|
||||
<i class="z-ico z-tree z-30 z-lastnode z-normal"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-node z-normal"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>#{item.getOrgName()}
|
||||
</td>
|
||||
</#if>
|
||||
|
||||
<td><#if item.getOrgStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
<td>${item.getOrgLevel()}</td>
|
||||
<td>${item.getOrgManager()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</#if>
|
||||
</table>
|
||||
${zhiqim_manager_list(list.size())}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,36 @@
|
||||
${Scripts.onload("document.theForm.orgName.focus();")}
|
||||
${zhiqim_manager_history("org.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("org.htm" "组织管理" "增加组织")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" method="post" action="orgInsert.htm" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="parentId" type="hidden" value="${parent.getOrgId()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">增加组织</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">上级组织:<span class="z-color-999"></span></td>
|
||||
<td width="*">${parent.getOrgName()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织名称:<span class="z-color-999">(2-12位)</span></td>
|
||||
<td><input name="orgName" class="z-input z-w300 ${zmr_color_class}" maxlength="12"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td><select name="orgStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0">正常</option><option value="1">停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织排序数:<span class="z-color-999">(必须是[0, 999999]范围的非负整数)</span></td>
|
||||
<td><input name="orgSeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="100" maxlength="6"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织描述:<span class="z-color-999">(不能超过100个汉字)</span></td>
|
||||
<td><textarea name="orgDesc" class="z-textarea z-w300 z-h120 ${zmr_color_class}" maxlength="100"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,57 @@
|
||||
${zhiqim_manager_history("org.htm")}
|
||||
${request.getValidateScript()}
|
||||
<script>
|
||||
function doSelectorDialog(orgId)
|
||||
{//弹出操作员选择框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "选择操作员";
|
||||
dialog.url = "operatorSelector.htm?orgId="+orgId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.scroll = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doSelectorCallback(operatorCode)
|
||||
{//选择操作员回调
|
||||
document.theForm.orgManager.value = operatorCode;
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("org.htm" "组织管理" "修改组织")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" method="post" action="orgUpdate.htm" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="orgId" type="hidden" value="${org.getOrgId()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">修改组织</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">组织编号:<span class="z-color-999"></span></td>
|
||||
<td width="*">#{org.getOrgId()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织名称:<span class="z-color-999">(2-12位)</span></td>
|
||||
<td><input name="orgName" class="z-input z-w300 ${zmr_color_class}" value="#{org.getOrgName()}" maxlength="12"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td><select name="orgStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0"<#if org.getOrgStatus()==0> selected</#if>>正常</option><option value="1"<#if org.getOrgStatus()==1> selected</#if>>停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织排序数:<span class="z-color-999">(必须是[0, 999999]范围的非负整数)</span></td>
|
||||
<td><input name="orgSeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="#{org.getOrgSeq()}" maxlength="6"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织负责人:</td>
|
||||
<td><input name="orgManager" class="z-input z-w130 zi-shadow-none" placeholder="请点按钮选择" value="#{org.getOrgManager()}" readonly><button type="button" class="z-button z-mg-l10 ${zmr_color_class}" onclick="doSelectorDialog(${org.getOrgId()});"><i class="z-font z-add"></i>选择操作员</button><button type="button" class="z-button z-mg-l3" onclick="doSelectorCallback('');">清除</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>组织描述:<span class="z-color-999">(不能超过100个汉字)</span></td>
|
||||
<td><textarea name="orgDesc" class="z-textarea z-w300 z-h60 ${zmr_color_class}" maxlength="100">#{org.getOrgDesc()}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,69 @@
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
doSelectOrg(${list.get(0).getOrgId()});
|
||||
});
|
||||
|
||||
function doSelectOrg(orgId)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOrgPresenter");
|
||||
ajax.setMethodName("doShowOrgRuleList");
|
||||
ajax.addParam("orgId", orgId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function()
|
||||
{
|
||||
Z("#result").htmlc(this.responseText);
|
||||
Z("#ID"+orgId).addClass("z-bg-gray").siblings().removeClass("z-bg-gray");
|
||||
});
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("组织权限")}
|
||||
${zhiqim_manager_content()}
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/role.htm")><li onclick="Z.L.href('org.htm');">组织管理</li></#if>
|
||||
<li class="z-active">组织权限</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/dept.htm")><li onclick="Z.L.href('dept.htm');">部门管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptOperator.htm")><li onclick="Z.L.href('deptOperator.htm');">部门成员</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/deptRule.htm")><li onclick="Z.L.href('deptRule.htm');">部门权限</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table">
|
||||
|
||||
<tr>
|
||||
<td width="200" valign="top">
|
||||
<table class="z-table zi-bd z-bg-white">
|
||||
<#for item : list>
|
||||
<tr id="ID#{item.getOrgId()}" <#if item.getOrgLevel() == 0 >class="z-bg-gray" </#if>>
|
||||
<#if item.getOrgLevel() == 0 >
|
||||
<td class="zi-pd-t10 zi-pd-l10 z-bd-b "><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i><a href="javascript:void(0);" onclick="doSelectOrg('${item.getOrgId()}');">${item.getOrgName()}</a></td>
|
||||
</#if>
|
||||
<#if item.getOrgLevel() == 1 >
|
||||
<td align="left" class="zi-pd-l10">
|
||||
<#if item_index == list.size()-1>
|
||||
<i class="z-ico z-tree z-30 z-normal z-lastnode"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-node"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<a href="javascript:void(0);" onclick="doSelectOrg('${item.getOrgId()}');">${item.getOrgName()}</a>
|
||||
</td>
|
||||
</#if>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
</td>
|
||||
<td width="10"></td>
|
||||
<td id="result" width="*" valign="top"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,62 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
function doSelector()
|
||||
{
|
||||
var orgId = Z.FM.getChecked("orgId");
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOrgPresenter");
|
||||
ajax.setMethodName("doSelOrg");
|
||||
ajax.addParam("orgId", orgId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReloadParent();
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="orgName" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="组织名称" value="${orgName}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-text-center zi-h30-tr">
|
||||
<tr class="z-h40 z-bg-gray">
|
||||
<td width="60">选择</td>
|
||||
<td width="*">组织名称</td>
|
||||
<td width="80">组织状态</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(list, 3, "没有可选择的组织")}
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td><input name="orgId" type="radio" data-role="z-radio" data-class="z-blue" value="${item.getOrgId()}"></td>
|
||||
|
||||
<#if item.getOrgLevel() == 0 >
|
||||
<td align="left" class="zi-pd-l6"><i class="z-ico z-tree z-normal z-30 z-root z-mg-r3"></i>#{item.getOrgName()}</td>
|
||||
</#if>
|
||||
<#if item.getOrgLevel() == 1 >
|
||||
<td align="left" class="zi-pd-l6">
|
||||
<#if item_index == list.size()-1>
|
||||
<i class="z-ico z-tree z-30 z-normal z-lastnode"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-node"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>#{item.getOrgName()}
|
||||
</td>
|
||||
</#if>
|
||||
<td><#if item.getOrgStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,59 @@
|
||||
${request.getValidateSubmitScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb("系统参数")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<li class="z-active">系统参数</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#for group : groupMap.entrySet()>
|
||||
<table class="z-table z-bordered z-pd10 <#if group_index gt 0>z-mg-t10</#if> z-bg-white">
|
||||
${zhiqim_manager_tr_title(4, "系统参数["+group.getKey()+"]列表")}
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="20%">参数键</td>
|
||||
<td width="*">参数值</td>
|
||||
<td width="10%" class="z-text-center">操作</td>
|
||||
<td width="30%">参数描述</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(group.getValue(), 4, "暂时没有参数信息")}
|
||||
</table>
|
||||
<#for item : group.getValue().values()>
|
||||
<#if ZmrAdminRule.check(request) && item.getParamType() == "public">
|
||||
<form name="theForm${group_index}_${item_index}" method="post" onsubmit="return false;" data-role="z-call-frame">
|
||||
<input name="paramGroup" type="hidden" value="${item.getParamGroup()}">
|
||||
<input name="paramKey" type="hidden" value="${item.getParamKey()}">
|
||||
</#if>
|
||||
<table class="z-table z-bd-b z-bordered zi-bd-t-none z-h60-tr z-pd10" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<tr>
|
||||
<td width="20%" class="zi-samp">#{item.getParamKey()}</td>
|
||||
<#if ZmrAdminRule.check(request) && item.getParamType() == "public">
|
||||
<td width="*"><input name="paramValue" class="z-input z-w100p zi-h40 <#if !Validates.isContainMultByteChar(item.getParamValue())>zi-samp</#if> ${zmr_color_class}" value="#{item.getParamValue()}" maxlength="800"></td>
|
||||
<td width="10%" class="z-text-center"><button type="submit" class="z-button" onclick="submitForm(this.form);">修改</button></td>
|
||||
<#else>
|
||||
<td width="*" <#if !Validates.isContainMultByteChar(item.getParamValue())>class="zi-samp"</#if>>#{item.getParamValue()}</td>
|
||||
<td width="10%" class="z-text-center"><button type="button" class="z-button" disabled>修改</button></td>
|
||||
</#if>
|
||||
<td width="30%">#{item.getParamDesc()}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if ZmrAdminRule.check(request) && item.getParamType() == "public">
|
||||
</form>
|
||||
</#if>
|
||||
</#for>
|
||||
</#for>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,47 @@
|
||||
${zhiqim_manager_breadcrumb("操作员参数管理")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<li class="z-active">操作员参数</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<div class="z-float-right z-mg-t10 z-mg-b5">
|
||||
<button class="z-button ${zmr_color_class}" onclick="Z.L.href('paramOperatorAdd.htm');"><i class="z-font z-add"></i>增加操作员参数</button>
|
||||
<button class="z-button z-red" onclick="Z.L.confirm('paramOperatorDelete.htm', '确认要删除该操作员参数?', 'paramKey', zCallFrame);"><i class="z-font z-delete"></i>删除操作员参数</button>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-pd5 z-bg-white z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50">选择</td>
|
||||
<td width="30%">操作员参数键</td>
|
||||
<td width="*">操作员参数描述</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(result, 3, "暂时没有操作员参数信息")}
|
||||
<#for item : result.list()>
|
||||
<tr class="z-h40 z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td><input name="paramKey" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getParamKey()}"></td>
|
||||
<td>${item.getParamKey()}</td>
|
||||
<td>#{item.getParamDesc()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging(result)}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,23 @@
|
||||
${Scripts.onload("document.theForm.paramKey.focus();")}
|
||||
${zhiqim_manager_history("paramOperator.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("paramOperator.htm", "操作员参数", "增加操作员参数")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" action="paramOperatorInsert.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">增加操作员参数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">操作员参数键:<span class="z-color-999">(32位不定长字符)</span></td>
|
||||
<td width="*"><input name="paramKey" class="z-input z-w300 ${zmr_color_class}" maxlength="32"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作员参数描述:<span class="z-color-999">(200位不定长字符)</span></td>
|
||||
<td><input name="paramDesc" class="z-input z-w300 ${zmr_color_class}" maxlength="200"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,33 @@
|
||||
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
|
||||
<table class="z-table z-bordered z-pd5 z-bg-white z-text-center">
|
||||
<tr class="z-h40">
|
||||
<td align="left" colspan="3" class="z-bold z-px14 zi-pd-l5">部门[<span class="z-text-blue">${dept.getDeptName()}</span>]成员</td>
|
||||
<td align="right" class="zi-bd-l-none">
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<button class="z-button ${zmr_color_class}" onclick="doSelectorDialog('${dept.getDeptId()}');"><i class="z-font z-add"></i>增加成员</button>
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="middle" class="z-text-center z-h40 z-bg-gray">
|
||||
<td width="20%">成员编号</td>
|
||||
<td width="30%">成员头像</td>
|
||||
<td width="*">成员姓名</td>
|
||||
<td width="150">操作</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(operatorList, 4, "暂时没有操作员信息")}
|
||||
<#for item : operatorList>
|
||||
<tr class="z-text-center z-h60" ${zhiqim_manager_tr_onmouse()}>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}" class="z-w50 z-h50 z-bd-rd50p"></td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
<td>
|
||||
<#if ZmrAdminMutexRule.check(request, item)>
|
||||
<button type="button" class="z-button z-h25 z-red z-xsmall z-font z-delete" onclick="doDeleteOperatorDept('${item.getOperatorCode()}', '${dept.getDeptId()}')"></button>
|
||||
<#else>
|
||||
--
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_list(operatorList.size())}
|
||||
@@ -0,0 +1,70 @@
|
||||
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
|
||||
<#-- 显示子菜单,并递归显示下级子菜单 -->
|
||||
<#function showChildMenu(self, parent)>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h30">
|
||||
<td width="*" class="zi-pd-l6">
|
||||
<#var level = self.self().getMenuLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.hasChildren()>
|
||||
<a href="javascript:Zmr.treeExpand('${self.self().getMenuCode()}')"><i id="ico-${self.self().getMenuCode()}" class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-mlastnode<#else>z-mnode</#if>"></i></a>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-lastnode<#else>z-node</#if>"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isDeptRule(ruleList, self.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="${self.self().getMenuCode()}">
|
||||
</#if>
|
||||
#{self.self().getMenuName()}
|
||||
</td>
|
||||
<td width="30%" class="zi-pd-l6">#{self.self().getMenuCode()}</td>
|
||||
<td width="8%" align="center">#{self.self().getMenuLevel()}</td>
|
||||
<td width="15%" align="center"><#if self.self().getMenuType()==1>节点<#else>属性</#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if self.hasChildren()>
|
||||
<div id="menu-${self.self().getMenuCode()}">
|
||||
<#for child : self.children()>
|
||||
${showChildMenu(child, self)}
|
||||
</#for>
|
||||
</div>
|
||||
</#if>
|
||||
</#function>
|
||||
|
||||
<form name="theForm" method="post" data-role="z-call-frame">
|
||||
<input name="deptId" type="hidden" value="${dept.getDeptId()}">
|
||||
<table class="z-table z-bordered z-bg-white">
|
||||
<tr class="z-h40">
|
||||
<td align="left" colspan="4" class="z-bold z-px14 zi-pd-l5">部门[<span class="z-text-blue">${dept.getDeptName()}</span>]权限表</td>
|
||||
</tr>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="*">菜单目录</td>
|
||||
<td width="30%">菜单编码</td>
|
||||
<td width="8%">菜单级别</td>
|
||||
<td width="15%">菜单类型</td>
|
||||
</tr>
|
||||
<tr class="z-h30">
|
||||
<td class="zi-pd-l6"><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i><#if ZmrAdminRule.check(request)><input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isDeptRule(ruleList, tree.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="#{tree.self().getMenuCode()}"></#if>系统功能根菜单</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuCode()}</td>
|
||||
<td align="center">#{tree.self().getMenuLevel()}</td>
|
||||
<td align="center">根节点</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#for child : tree.children()>
|
||||
${showChildMenu(child, tree)}
|
||||
</#for>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<table class="z-table zi-bd zi-bd-t-none z-pd10 z-bg-white">
|
||||
<tr class="z-h80">
|
||||
<td><button type="submit" class="z-button z-large z-w150 ${zmr_color_class}">提交</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</#if>
|
||||
</form>
|
||||
${zhiqim_manager_list(menuSize)}
|
||||
@@ -0,0 +1,70 @@
|
||||
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
|
||||
<#-- 显示子菜单,并递归显示下级子菜单 -->
|
||||
<#function showChildMenu(self, parent)>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h30">
|
||||
<td width="*" class="zi-pd-l6">
|
||||
<#var level = self.self().getMenuLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.hasChildren()>
|
||||
<a href="javascript:Zmr.treeExpand('${self.self().getMenuCode()}')"><i id="ico-${self.self().getMenuCode()}" class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-mlastnode<#else>z-mnode</#if>"></i></a>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-lastnode<#else>z-node</#if>"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isOrgRule(ruleList, self.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="${self.self().getMenuCode()}">
|
||||
</#if>
|
||||
#{self.self().getMenuName()}
|
||||
</td>
|
||||
<td width="30%" class="zi-pd-l6">#{self.self().getMenuCode()}</td>
|
||||
<td width="8%" align="center">#{self.self().getMenuLevel()}</td>
|
||||
<td width="15%" align="center"><#if self.self().getMenuType()==1>节点<#else>属性</#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if self.hasChildren()>
|
||||
<div id="menu-${self.self().getMenuCode()}">
|
||||
<#for child : self.children()>
|
||||
${showChildMenu(child, self)}
|
||||
</#for>
|
||||
</div>
|
||||
</#if>
|
||||
</#function>
|
||||
|
||||
<form name="theForm" method="post" data-role="z-call-frame">
|
||||
<input name="orgId" type="hidden" value="${org.getOrgId()}">
|
||||
<table class="z-table z-bordered z-bg-white">
|
||||
<tr class="z-h40">
|
||||
<td align="left" colspan="4" class="z-bold z-px14 zi-pd-l5">组织[<span class="z-text-blue">${org.getOrgName()}</span>]权限表</td>
|
||||
</tr>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="*">菜单目录</td>
|
||||
<td width="30%">菜单编码</td>
|
||||
<td width="8%">菜单级别</td>
|
||||
<td width="15%">菜单类型</td>
|
||||
</tr>
|
||||
<tr class="z-h30">
|
||||
<td class="zi-pd-l6"><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i><#if ZmrAdminRule.check(request)><input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isOrgRule(ruleList, tree.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="#{tree.self().getMenuCode()}"></#if>系统功能根菜单</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuCode()}</td>
|
||||
<td align="center">#{tree.self().getMenuLevel()}</td>
|
||||
<td align="center">根节点</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#for child : tree.children()>
|
||||
${showChildMenu(child, tree)}
|
||||
</#for>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<table class="z-table zi-bd zi-bd-t-none z-pd10 z-bg-white">
|
||||
<tr class="z-h80">
|
||||
<td><#if org.getOrgLevel() == 1><button type="submit" class="z-button z-large z-w150 ${zmr_color_class}">提交</button></#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
</#if>
|
||||
</form>
|
||||
${zhiqim_manager_list(menuSize)}
|
||||
@@ -0,0 +1,61 @@
|
||||
<table class="z-table z-bordered z-lh30 z-bg-white z-pd5">
|
||||
<tr class="z-bg-gray">
|
||||
<td colspan="2"><span class="z-bold z-px14">进程基本信息</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>进程pid:<span class="z-samp zi-px16 z-mg-l10">${pid}</span></td>
|
||||
<td>系统运行时间和平均负载:<span class="z-samp zi-px16 z-mg-l10">${list.get(0)}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>进程内线程状态:<span class="z-samp zi-px16 z-mg-l10">${list.get(1)}</span></td>
|
||||
<td>CPU状态:<span class="z-samp zi-px16 z-mg-l10">${list.get(2)}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>物理内存:<span class="z-samp zi-px16 z-mg-l10">${list.get(3)}</span></td>
|
||||
<td>交换空间:<span class="z-samp zi-px16 z-mg-l10">${list.get(4)}</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="z-table z-bordered z-lh30 z-text-center z-bg-white z-mg-t20">
|
||||
<tr class="z-bg-gray zi-h40">
|
||||
<td colspan="13" class="z-text-left"><span class="z-mg-l10 z-bold z-px14">线程状态列表</span></td>
|
||||
</tr>
|
||||
<tr class="">
|
||||
<td width="8%">PID</td>
|
||||
<td width="8%">USER</td>
|
||||
<td width="5%">PR</td>
|
||||
<td width="5%">NI</td>
|
||||
<td width="8%">VIRT</td>
|
||||
<td width="8%">RES</td>
|
||||
<td width="8%">SHR</td>
|
||||
<td width="3%">S</td>
|
||||
<td width="8%">%CPU</td>
|
||||
<td width="8%">%MEM</td>
|
||||
<td width="8%">TIME+</td>
|
||||
<td width="8%">COMMAND</td>
|
||||
<td width="*">操作</td>
|
||||
</tr>
|
||||
<#for item : pageResult.list()>
|
||||
<tr>
|
||||
<td>${item.get(0)}</td>
|
||||
<td>${item.get(1)}</td>
|
||||
<td>${item.get(2)}</td>
|
||||
<td>${item.get(3)}</td>
|
||||
<td>${item.get(4)}</td>
|
||||
<td>${item.get(5)}</td>
|
||||
<td>${item.get(6)}</td>
|
||||
<td>${item.get(7)}</td>
|
||||
<td>${item.get(8)}</td>
|
||||
<td>${item.get(9)}</td>
|
||||
<td>${item.get(10)}</td>
|
||||
<td>${item.get(11)}</td>
|
||||
<td><button class="z-button zi-mg5 z-blue" onclick="doSelectorDialog(${item.get(0)});">堆栈查询</button></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h50">
|
||||
<td><div class="z-float-right z-mg-r10">${PagingStd.toHtmlClick(pageResult,"doShowInfo")}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,24 @@
|
||||
<table class="z-table z-w100p">
|
||||
<#if result.size() == 0>
|
||||
<tr>
|
||||
<td class="z-text-center">
|
||||
<span class="z-px16">很抱歉,没有找到系统头像!</span>
|
||||
</td>
|
||||
</tr>
|
||||
<#else>
|
||||
<tr>
|
||||
<td>
|
||||
<ul>
|
||||
<#for item : result.list()>
|
||||
<li class="z-relative-left z-mg6 z-pd3 z-bd z-pointer" onclick="doSelectSysAvatar(this, '${item.getAvatarId()}');">
|
||||
<img src="${sessionUser.getAvatarUrl(item.getAvatarId(), 100)}">
|
||||
</li>
|
||||
</#for>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="z-h50">
|
||||
<td><div class="z-float-right z-mg-r10">${PagingStd.toHtmlClick(result,"doQuerySysAvatar")}</div></td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
@@ -0,0 +1,55 @@
|
||||
<script>
|
||||
function doShowInfo(pageNo)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrProcessPresenter");
|
||||
ajax.setMethodName("doShowProcessInfo");
|
||||
ajax.addParam("pageNo", pageNo);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setCallback("result");
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doSelectorDialog(threadPid)
|
||||
{
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "线程堆栈信息";
|
||||
dialog.url = "processThreadStack.htm?threadPid="+threadPid;
|
||||
dialog.width = 500;
|
||||
dialog.height = 360;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("进程信息")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<li class="z-active">进程信息</li>
|
||||
</ul>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<button class="z-button z-w150 ${zmr_color_class}" onclick="doShowInfo(1);">查询进程信息</button>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 显示进程信息 -->
|
||||
<div id="result" class="z-mg-t50"></div>
|
||||
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,12 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<div class="z-w100p z-pd5">
|
||||
<#if Validates.isNotEmptyBlank(stackInfo)>
|
||||
<pre style="white-space: pre-wrap;overflow-y:auto; max-height:300px;">${stackInfo}</pre>
|
||||
<#else>
|
||||
<span>无堆栈信息</span>
|
||||
</#if>
|
||||
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h50 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="parent.Z.Dialog.close();">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,127 @@
|
||||
<script>
|
||||
function doModifyWxcode()
|
||||
{// 修改个人微信
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改微信";
|
||||
dialog.url = "modifyWxcode.htm";
|
||||
dialog.width = 530;
|
||||
dialog.height = 220;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doModifyAvatar()
|
||||
{//修改头像
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改头像";
|
||||
dialog.url = "modifyAvatar.htm";
|
||||
dialog.width = 800;
|
||||
dialog.height = 560;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doModifyPass()
|
||||
{//修改密码
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改登录密码";
|
||||
dialog.url = "modifyPassword.htm";
|
||||
dialog.width = 650;
|
||||
dialog.height = 280;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doModifyMobile()
|
||||
{//修改手机号
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改手机号";
|
||||
dialog.url = "modifyMobile.htm";
|
||||
dialog.width = 530;
|
||||
dialog.height = 250;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doModifyEmail()
|
||||
{//修改邮箱
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改邮箱";
|
||||
dialog.url = "modifyEmail.htm";
|
||||
dialog.width = 530;
|
||||
dialog.height = 220;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doModifyWangwang()
|
||||
{//修改邮箱
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改旺旺";
|
||||
dialog.url = "modifyWangwang.htm";
|
||||
dialog.width = 530;
|
||||
dialog.height = 220;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doModifyOperatorParam(key, value, desc)
|
||||
{//修改操作员参数
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "修改"+desc;
|
||||
dialog.url = "modifyOperatorParam.htm?key="+key+"&value="+value+"&desc="+desc;
|
||||
dialog.width = 530;
|
||||
dialog.height = 220;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb_name("个人中心")}
|
||||
${zhiqim_manager_content()}
|
||||
<!-- 基本信息 -->
|
||||
<table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r">
|
||||
<tr class="z-bg-gray">
|
||||
<td class="z-bold z-px14 zi-pd16 zi-pd-l20" colspan="3">基本信息:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150">用户昵称:</td>
|
||||
<td width="*">#{sessionUser.getOperatorCode()}(#{sessionUser.getOperatorName()})</td>
|
||||
<td width="150"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>用户头像:</td>
|
||||
<td><img class="z-w70 z-h70 z-bd-rd50p" src="${sessionUser.getAvatar100()}"></td>
|
||||
<td><a class="blue" href="javascript:doModifyAvatar();">更换头像</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>手机号码:</td>
|
||||
<td><#if Validates.isNotEmpty(operator.getOperatorMobile())>${sessionUser.getOperatorMobile()}<span class="z-px12 z-text-orange">(已绑定)</span><#else><span class="z-px14 z-color-999">(未绑定)</span></#if></span></td>
|
||||
<td><a class="blue" href="javascript:doModifyMobile();">修改</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>电子邮箱:</td>
|
||||
<td><#if Validates.isNotEmpty(operator.getOperatorEmail())>${sessionUser.getOperatorEmail()}<span class="z-px12 z-text-orange">(已绑定)</span><#else><span class="z-px14 z-color-999">(未绑定)</span></#if></td>
|
||||
<td><a class="blue" href="javascript:doModifyEmail();">修改</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>登录密码:</td>
|
||||
<td><span class="z-color-666">******</span></td>
|
||||
<td><a class="blue" href="javascript:doModifyPass();">修改</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>个人微信:</td>
|
||||
<td>
|
||||
<span class="z-color-333">
|
||||
<#if Validates.isNotEmpty(operator.getOperatorWxcode())>
|
||||
${sessionUser.getOperatorWxcode()}
|
||||
<span class="z-px12 z-text-orange">(已绑定)</span>
|
||||
<#else>
|
||||
<span class="z-px14 z-color-999">(未绑定)</span>
|
||||
</#if>
|
||||
</span>
|
||||
</td>
|
||||
<td><a class="blue" href="javascript:doModifyWxcode();">修改</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,53 @@
|
||||
${zhiqim_manager_breadcrumb("操作员角色")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operator.htm")><li onclick="Z.L.href('operator.htm');">操作员管理</li></#if>
|
||||
<li class="z-active">操作员角色</li>
|
||||
</ul>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/roleAdd.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.href('roleAdd.htm');"><i class="z-font z-add"></i>增加角色</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/roleModify.htm")><button class="z-button ${zmr_color_class}" onclick="Z.L.check('roleModify.htm', 'roleId');"><i class="z-font z-modify"></i>修改角色</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/roleDelete.htm")><button class="z-button z-red" onclick="Z.L.confirm('roleDelete.htm', '确认要删除该角色?', 'roleId', zCallFrame);"><i class="z-font z-delete"></i>删除角色</button></#if>
|
||||
</#if>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-h40-tr z-text-center z-bg-white">
|
||||
<tr bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="50">选择</td>
|
||||
<td width="200">角色编号</td>
|
||||
<td width="*" class="zi-pd-l6 z-text-left">角色名称</td>
|
||||
<td width="15%">角色状态</td>
|
||||
<td width="10%">角色排序数</td>
|
||||
<td width="20%">操作</td>
|
||||
</tr>
|
||||
<#if list.isEmpty()>
|
||||
${zhiqim_manager_no_record(6, "暂时没有角色信息")}
|
||||
</#if>
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
|
||||
<td>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="roleId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getRoleId()}">
|
||||
</#if>
|
||||
</td>
|
||||
<td>${item.getRoleId()}</td>
|
||||
<td class="zi-pd-l6 z-text-left">#{item.getRoleName()}</td>
|
||||
<td><#if item.getRoleStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
|
||||
<td>${item.getRoleSeq()}</td>
|
||||
<td>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/roleOperator.htm")><button class="z-button z-cyan" onclick="Z.L.href('roleOperator.htm?roleId=${item.getRoleId()}');">成员管理</button></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/roleRule.htm")><button class="z-button z-cyan" onclick="Z.L.href('roleRule.htm?roleId=${item.getRoleId()}');">权限管理</button></#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_list(list.size())}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,28 @@
|
||||
${Scripts.onload("document.theForm.roleName.focus();")}
|
||||
${zhiqim_manager_history("role.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("role.htm" "操作员角色" "增加角色")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" method="post" action="roleInsert.htm" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="roleId" type="hidden" value="${Ids.longId13()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">增加角色</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">角色名称:<span class="z-color-999">(2-16位)</span></td>
|
||||
<td width="*"><input name="roleName" class="z-input z-w300 ${zmr_color_class}" maxlength="16"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>角色状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td><select name="roleStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0">正常</option><option value="1">停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>角色排序数:<span class="z-color-999">(必须是[0, 999999]范围的非负整数)</span></td>
|
||||
<td><input name="roleSeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="100" maxlength="6"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,32 @@
|
||||
${zhiqim_manager_history("role.htm")}
|
||||
${request.getValidateScript()}
|
||||
|
||||
${zhiqim_manager_breadcrumb_parent("role.htm" "操作员角色" "修改角色")}
|
||||
${zhiqim_manager_content()}
|
||||
<form name="theForm" method="post" action="roleUpdate.htm" onsubmit="return validateForm(this);" data-role="z-call-frame">
|
||||
<input name="roleId" type="hidden" value="${item.getRoleId()}">
|
||||
<input name="orgId" type="hidden" value="${item.getOrgId()}">
|
||||
<table class="z-table z-bordered z-h50-tr z-pd10 z-lh150p z-bg-white">
|
||||
<tr class="zi-h40 z-bg-gray z-bold">
|
||||
<td colspan="2">修改角色</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%">角色编号:<span class="z-color-999">(由不定长6位字母或数字组合)</span></td>
|
||||
<td width="*">#{item.getRoleId()}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>角色名称:<span class="z-color-999">(不能超过32个汉字)</span></td>
|
||||
<td><input name="roleName" class="z-input z-w300 ${zmr_color_class}" value="#{item.getRoleName()}" maxlength="32"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>角色状态:<span class="z-color-999">(正常|停用)</span></td>
|
||||
<td><select name="roleStatus" class="z-select z-w300" data-role="z-select" data-class="${zmr_color_class}"><option value="0"<#if item.getRoleStatus()==0> selected</#if>>正常</option><option value="1"<#if item.getRoleStatus()==1> selected</#if>>停用</option></select><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>角色排序数:<span class="z-color-999">(必须是[0, 999999]范围的非负整数)</span></td>
|
||||
<td><input name="roleSeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="#{item.getRoleSeq()}" maxlength="6"><span class="z-color-red"> *</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_submit()}
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,83 @@
|
||||
<script>
|
||||
function doSelectorDialog(roleId)
|
||||
{//添加角色操作员对话框
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "成员增加";
|
||||
dialog.url = "roleOperatorSelector.htm?roleId="+roleId;
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.fixed = true;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doSelectorCallback(roleId, operatorCodes)
|
||||
{//添加角色操作员
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doAddRoleOperator");
|
||||
ajax.addParam("roleId", roleId);
|
||||
ajax.addParam("operatorCodes", operatorCodes);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.setLoading(document);
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doDeleteOperatorRole(operatorCode, roleId)
|
||||
{//删除角色操作员
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setContextPath("${context.getContextPath()}");
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doDeleteOperatorRole");
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.addParam("roleId", roleId);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccessReload();
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("部门成员")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operator.htm")><li onclick="Z.L.href('operator.htm');">操作员管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/role.htm")><li onclick="Z.L.href('role.htm');">操作员角色</li></#if>
|
||||
<li class="z-active">[${role.getRoleName()}] 成员管理</li>
|
||||
</ul>
|
||||
<div class="z-float-right z-mg-t10 z-mg-r5">
|
||||
<#if ZmrAdminRule.check(request)><button class="z-button ${zmr_color_class}" onclick="doSelectorDialog('${role.getRoleId()}');"><i class="z-font z-add"></i>增加成员</button></#if>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<table class="z-table z-bordered z-pd5 z-bg-white z-text-center">
|
||||
<tr valign="middle" class="z-text-center z-h40 z-bg-gray">
|
||||
<td width="20%">成员编号</td>
|
||||
<td width="30%">成员头像</td>
|
||||
<td width="*">成员姓名</td>
|
||||
<td width="150">操作</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(operatorList, 4, "暂时没有操作员信息")}
|
||||
<#for item : operatorList>
|
||||
<tr class="z-text-center z-h60" ${zhiqim_manager_tr_onmouse()}>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}" class="z-w50 z-h50 z-bd-rd50p"></td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
<td>
|
||||
<#if ZmrAdminMutexRule.check(request, item)>
|
||||
<button type="button" class="z-button z-h25 z-red z-xsmall z-font z-delete" onclick="doDeleteOperatorRole('${item.getOperatorCode()}', '${role.getRoleId()}')"></button>
|
||||
<#else>
|
||||
--
|
||||
</#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_list(operatorList.size())}
|
||||
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,49 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].operatorKey).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var operatorCodes = Z.FM.getCheckeds("operatorCode");
|
||||
parent.doSelectorCallback("${role.getRoleId()}", operatorCodes);
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<div class="z-fixed z-t0 z-l0 z-w100p z-pd10 z-bg-gray">
|
||||
<form method="post">
|
||||
<input name="roleId" type="hidden" value="${role.getRoleId()}">
|
||||
<input name="operatorKey" class="z-float-left z-input z-w300 zi-h35 zi-bd-r-none" placeholder="操作员编码或名称" value="${operatorKey}" maxlength="20">
|
||||
<button type="submit" class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<#-- 列表 -->
|
||||
<div class="z-w100p z-pd10 z-overflow-auto" style="margin-top:55px;height:306px;">
|
||||
<table class="z-table z-bordered z-pd5 z-text-center">
|
||||
<tr class="z-h40 z-bg-gray">
|
||||
<td width="50"><input type="checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('operatorCode')"></td>
|
||||
<td width="90">操作员头像</td>
|
||||
<td width="110">操作员编码</td>
|
||||
<td width="*">操作员姓名</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(operatorList, 4, "没有可选择的操作员")}
|
||||
<#for item : operatorList>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_checkbox()}>
|
||||
<td><input name="operatorCode" type="checkbox" data-role="z-checkbox" data-class="z-blue" value="${item.getOperatorCode()}"></td>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getOperatorAvatar(), 50)}" class="z-w50 z-h50 z-bd-rd50p"></td>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>${item.getOperatorName()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</tale>
|
||||
</div>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-fixed z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">
|
||||
<button class="z-button z-large z-w150 ${zmr_color_class}" onclick="doSelector();">确定</button>
|
||||
<button class="z-button z-large z-w70 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
|
||||
</div>
|
||||
@@ -0,0 +1,80 @@
|
||||
<#-- 显示子菜单,并递归显示下级子菜单 -->
|
||||
<#function showChildMenu(self, parent)>
|
||||
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
|
||||
<tr class="z-h30">
|
||||
<td width="*" class="zi-pd-l6">
|
||||
<#var level = self.self().getMenuLevel()/>
|
||||
<#for i : 1..(level-1)>
|
||||
<#if self.isLastNode(level-i)>
|
||||
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if self.hasChildren()>
|
||||
<a href="javascript:Zmr.treeExpand('${self.self().getMenuCode()}')"><i id="ico-${self.self().getMenuCode()}" class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-mlastnode<#else>z-mnode</#if>"></i></a>
|
||||
<#else>
|
||||
<i class="z-ico z-tree z-30 z-normal <#if self.isLastNode()>z-lastnode<#else>z-node</#if>"></i>
|
||||
</#if>
|
||||
<i class="z-ico z-tree z-item z-mg-r3"></i>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isRoleRule(ruleList, self.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="${self.self().getMenuCode()}">
|
||||
</#if>
|
||||
#{self.self().getMenuName()}
|
||||
</td>
|
||||
<td width="30%" class="zi-pd-l6">#{self.self().getMenuCode()}</td>
|
||||
<td width="8%" align="center">#{self.self().getMenuLevel()}</td>
|
||||
<td width="15%" align="center"><#if self.self().getMenuType()==1>节点<#else>属性</#if></td>
|
||||
</tr>
|
||||
</table>
|
||||
<#if self.hasChildren()>
|
||||
<div id="menu-${self.self().getMenuCode()}">
|
||||
<#for child : self.children()>
|
||||
${showChildMenu(child, self)}
|
||||
</#for>
|
||||
</div>
|
||||
</#if>
|
||||
</#function>
|
||||
|
||||
${zhiqim_manager_breadcrumb("角色权限")}
|
||||
${zhiqim_manager_content()}
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/operator.htm")><li onclick="Z.L.href('operator.htm');">操作员管理</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/role.htm")><li onclick="Z.L.href('role.htm');">操作员角色</li></#if>
|
||||
<li class="z-active">[${role.getRoleName()}] 权限管理</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<form name="theForm" method="post" data-role="z-call-frame">
|
||||
<input name="roleId" type="hidden" value="${role.getRoleId()}">
|
||||
<table class="z-table z-bordered z-bg-white">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="*" class="zi-pd5">菜单目录</td>
|
||||
<td width="30%" class="zi-pd5">菜单编码</td>
|
||||
<td width="8%" class="z-text-center">菜单级别</td>
|
||||
<td width="15%" class="z-text-center">菜单类型</td>
|
||||
</tr>
|
||||
<tr class="z-h30">
|
||||
<td class="zi-pd-l6"><i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i><#if ZmrAdminRule.check(request)><input name="rule" type="checkbox" class="z-h12" <#if ZmrOperatorDao.isRoleRule(ruleList, tree.self().getMenuCode())>checked</#if> onclick='Z.Forms.doSelectCheckBoxTree("rule", this.checked, this.value, this.form);' value="#{tree.self().getMenuCode()}"></#if>系统功能根菜单</td>
|
||||
<td class="zi-pd-l6">#{tree.self().getMenuCode()}</td>
|
||||
<td align="center">#{tree.self().getMenuLevel()}</td>
|
||||
<td align="center">根节点</td>
|
||||
</tr>
|
||||
</table>
|
||||
<#for child : tree.children()>
|
||||
${showChildMenu(child, tree)}
|
||||
</#for>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<table class="z-table zi-bd zi-bd-t-none z-pd10 z-bg-white">
|
||||
<tr class="z-h80">
|
||||
<td><button type="submit" class="z-button z-large z-w150 ${zmr_color_class}">提交</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</#if>
|
||||
</form>
|
||||
${zhiqim_manager_list(menuSize)}
|
||||
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,54 @@
|
||||
<script>
|
||||
function doChange(theme)
|
||||
{
|
||||
var form = document.theForm;
|
||||
form.theme.value = theme;
|
||||
form.submit();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("更换主题风格")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<li class="z-active">首页主题</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeMain.htm")><li onclick="Z.L.href('themeMain.htm');">主页主题</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<form name="theForm" method="post">
|
||||
<input name="theme" type="hidden">
|
||||
<table class="z-table zi-bd z-mg-t20 z-text-center">
|
||||
<#for template : templateList>
|
||||
<#if template_index % 2 == 0>
|
||||
<tr class="z-h300">
|
||||
</#if>
|
||||
<td width="50%" align="center">
|
||||
<img src="#{template[1]}" height="160"><br><br>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<button class="z-button z-large" onclick="doChange('#{template[0]}');">选择该主题</button>
|
||||
</#if>
|
||||
</td>
|
||||
<#if template_index % 2 == 1>
|
||||
</tr>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if templateList.size() % 2 ==1>
|
||||
<td width="50%" align="center"> </td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,54 @@
|
||||
<script>
|
||||
function doChange(theme)
|
||||
{
|
||||
var form = document.theForm;
|
||||
form.theme.value = theme;
|
||||
form.submit();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("更换主题风格")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/menu.htm")><li onclick="Z.L.href('menu.htm');">系统菜单</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/avatar.htm")><li onclick="Z.L.href('avatar.htm');">系统头像</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/config.htm")><li onclick="Z.L.href('config.htm');">系统配置</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/cache.htm")><li onclick="Z.L.href('cache.htm');">系统缓存</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/param.htm")><li onclick="Z.L.href('param.htm');">系统参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/paramOperator.htm")><li onclick="Z.L.href('paramOperator.htm');">操作员参数</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/themeIndex.htm")><li onclick="Z.L.href('themeIndex.htm');">首页主题</li></#if>
|
||||
<li class="z-active">主页主题</li>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/keys.htm")><li onclick="Z.L.href('keys.htm');">密钥生成</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/"+zhiqim_manager+"/process.htm")><li onclick="Z.L.href('process.htm');">进程信息</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<form name="theForm" method="post" target="_top">
|
||||
<input name="theme" type="hidden">
|
||||
<table class="z-table zi-bd z-mg-t20 z-text-center">
|
||||
<#for template : templateList>
|
||||
<#if template_index % 2 == 0>
|
||||
<tr class="z-h300">
|
||||
</#if>
|
||||
<td width="50%" align="center">
|
||||
<img src="#{template[1]}" height="160"><br><br>
|
||||
<#if ZmrAdminRule.check(request)>
|
||||
<button class="z-button z-large" onclick="doChange('#{template[0]}');">选择该主题</button>
|
||||
</#if>
|
||||
</td>
|
||||
<#if template_index % 2 == 1>
|
||||
</tr>
|
||||
</#if>
|
||||
</#for>
|
||||
<#if templateList.size() % 2 ==1>
|
||||
<td width="50%" align="center"> </td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
</form>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,36 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
<script>
|
||||
function doValidatePassword()
|
||||
{
|
||||
var operatorPass = Z("#operatorPass").val();
|
||||
if (!operatorPass)
|
||||
{
|
||||
Z.alert("请输入操作员密码");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZmrOperatorPresenter");
|
||||
ajax.setMethodName("doValidatePassword");
|
||||
ajax.addParam(operatorPass);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){parent.doValidatePasswordCallback("${param}");});
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
<#-- 查询 -->
|
||||
<table class="z-table z-mg-t20 z-pd10 z-lh50">
|
||||
<tr class="z-h60">
|
||||
<td width="110">验证密码:</td>
|
||||
<td width="*">
|
||||
<input id="operatorPass" type="password" class="z-float-left z-input z-w180 zi-h35 zi-bd-r-none" placeholder="操作员密码" maxlength="20">
|
||||
<button class="z-float-left z-button z-w70 z-h35 zi-bd-rd0 ${zmr_color_class}" onclick="doValidatePassword();">验证</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<#-- 操作 -->
|
||||
<div class="z-absolute z-b0 z-l0 z-w100p z-h60 z-text-center z-bg-gray z-pd10">
|
||||
<button type="button" class="z-button z-large z-w150" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
|
||||
</div>
|
||||
Reference in New Issue
Block a user