first commit
这个提交包含在:
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE ZHIQIM-CONTEXT PUBLIC "-//ZHIQIM //DTD Zhiqim-Context Configuration 1.5.0//EN" "http://zhiqim.org/xmldtds/zhiqim_context_1_5_0.dtd">
|
||||
<zhiqim-context>
|
||||
|
||||
<!-- 组件配置 -->
|
||||
<component name="管理台" path="/org/zhiqim/manager/resource"/>
|
||||
<component name="项目工程" path="/org/zhiqim/project/resource"/>
|
||||
<component name="项目日历" path="/org/zhiqim/calendar/resource"/>
|
||||
|
||||
<!-- 属性配置 -->
|
||||
<attribute name="系统名称" key="name" value="知启蒙计划总结"/>
|
||||
<attribute name="系统版本" key="version" value="V1.4.1"/>
|
||||
|
||||
<!-- 项目开发计划 -->
|
||||
<action name="项目计划列表" interceptor="chkZmrLogin,chkZpmProject" path="/zhiqim_plan/projectMonth.htm" view="/ztmpl/zhiqim_manager/template.htm" include="/zview/zhiqim_plan/projectMonth.zml" class="org.zhiqim.plan.action.ProjectMonthAction"/>
|
||||
|
||||
<!-- 我的计划总结 -->
|
||||
<action name="向我汇报的成员" interceptor="chkZmrLogin" path="/zhiqim_plan/personReader.htm" view="/ztmpl/zhiqim_manager/template.htm" include="/zview/zhiqim_plan/personReader.zml" class="org.zhiqim.plan.action.PersonReaderAction" />
|
||||
<action name="我的计划总结" interceptor="chkZmrLogin" path="/zhiqim_plan/personMonth.htm" view="/ztmpl/zhiqim_manager/template.htm" include="/zview/zhiqim_plan/personMonth.zml" class="org.zhiqim.plan.action.PersonMonthAction"/>
|
||||
<action name="查看成员计划总结" interceptor="chkZmrLogin" path="/zhiqim_plan/personReview.htm" view="/ztmpl/zhiqim_manager/template.htm" include="/zview/zhiqim_plan/personReview.zml" class="org.zhiqim.plan.action.PersonReviewAction"/>
|
||||
|
||||
</zhiqim-context>
|
||||
@@ -0,0 +1,61 @@
|
||||
-- ---------------------------------------------------
|
||||
-- 知启蒙项目计划组件管理菜单
|
||||
-- ---------------------------------------------------
|
||||
|
||||
|
||||
truncate table ZMR_MENU;
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('ROOT', 'MENU', '系统功能根菜单', '', 0, 0, 0, '', '', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU', 'MENU_010', '系统配置', '系统', 1, 0, 1, 'z-config', '', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010', 'MENU_010_010', '系统基础设置', '', 2, 0, 1, 'z-setting', '/${zhiqim_manager}/menu.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_010', '增加系统菜单', '', 3, 0, 2, '', '/${zhiqim_manager}/menuAdd.htm,/${zhiqim_manager}/menuInsert.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_020', '修改系统菜单', '', 3, 0, 2, '', '/${zhiqim_manager}/menuModify.htm,/${zhiqim_manager}/menuUpdate.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_030', '删除系统菜单', '', 3, 0, 2, '', '/${zhiqim_manager}/menuDelete.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_100', '系统头像管理', '', 3, 0, 2, '', '/${zhiqim_manager}/avatar.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_110', '增加系统头像', '', 3, 0, 2, '', '/${zhiqim_manager}/avatarAdd.htm,/${zhiqim_manager}/avatarInsert.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_120', '修改系统头像', '', 3, 0, 2, '', '/${zhiqim_manager}/avatarModify.htm,/${zhiqim_manager}/avatarUpdate.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_130', '删除系统头像', '', 3, 0, 2, '', '/${zhiqim_manager}/avatarDelete.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_200', '系统配置管理', '', 3, 0, 2, '', '/${zhiqim_manager}/config.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_300', '系统参数设置', '', 3, 0, 2, '', '/${zhiqim_manager}/param.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_310', '首页主题设置', '', 3, 0, 2, '', '/${zhiqim_manager}/themeIndex.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_010', 'MENU_010_010_320', '主页主题设置', '', 3, 0, 2, '', '/${zhiqim_manager}/themeMain.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010', 'MENU_010_050', '部门角色管理', '', 2, 0, 1, 'z-apps', '/${zhiqim_manager}/dept.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_010', '增加部门', '', 3, 0, 2, '', '/${zhiqim_manager}/deptAdd.htm,/${zhiqim_manager}/deptInsert.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_020', '修改部门', '', 3, 0, 2, '', '/${zhiqim_manager}/deptModify.htm,/${zhiqim_manager}/deptUpdate.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_030', '删除部门', '', 3, 0, 2, '', '/${zhiqim_manager}/deptDelete.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_040', '部门成员', '', 3, 0, 2, '', '/${zhiqim_manager}/deptOperator.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_050', '部门权限', '', 3, 0, 2, '', '/${zhiqim_manager}/deptRule.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_100', '角色管理', '', 3, 0, 2, '', '/${zhiqim_manager}/role.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_110', '增加角色', '', 3, 0, 2, '', '/${zhiqim_manager}/roleAdd.htm,/${zhiqim_manager}/roleInsert.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_120', '修改角色', '', 3, 0, 2, '', '/${zhiqim_manager}/roleModify.htm,/${zhiqim_manager}/roleUpdate.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_130', '删除角色', '', 3, 0, 2, '', '/${zhiqim_manager}/roleDelete.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_140', '角色成员', '', 3, 0, 2, '', '/${zhiqim_manager}/roleOperator.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_050', 'MENU_010_050_150', '角色权限', '', 3, 0, 2, '', '/${zhiqim_manager}/roleRule.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010', 'MENU_010_110', '操作员管理', '', 2, 0, 1, 'z-customer', '/${zhiqim_manager}/operator.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_010', '增加操作员', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorAdd.htm,/${zhiqim_manager}/operatorInsert.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_020', '修改操作员', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorModify.htm,/${zhiqim_manager}/operatorUpdate.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_030', '删除操作员', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorDelete.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_040', '查看操作员权限', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorRuleView.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_050', '设置操作员独立权限 ', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorRule.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_060', '设置操作员部门', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorDept.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_110', 'MENU_010_110_070', '设置操作员角色', '', 3, 0, 2, '', '/${zhiqim_manager}/operatorRole.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010', 'MENU_010_150', '操作日志查询', '', 2, 0, 1, 'z-text', '/${zhiqim_manager}/operateLog.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_010_150', 'MENU_010_150_100', '操作员在线列表', '', 3, 0, 1, '', '/${zhiqim_manager}/operatorOnline.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU', 'MENU_020', '项目管理', '项目', 1, 0, 1, 'z-box', '', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020', 'MENU_020_010', '项目信息管理', '', 2, 0, 1, 'z-text', '/zhiqim_project/project.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020', 'MENU_020_020', '项目成员管理', '', 2, 0, 1, 'z-port', '/zhiqim_project/member.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020_010', 'MENU_020_010_010', '增加项目', '', 3, 0, 2, '', '/zhiqim_project/projectAdd.htm,/zhiqim_project/projectInsert.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020_010', 'MENU_020_010_020', '修改项目', '', 3, 0, 2, '', '/zhiqim_project/projectModify.htm,/zhiqim_project/projectUpdate.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020_010', 'MENU_020_010_030', '删除项目', '', 3, 0, 2, '', '/zhiqim_project/projectDelete.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020_010', 'MENU_020_010_040', '转让项目', '', 3, 0, 2, '', '/zhiqim_project/projectTransferSelector.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020_060', 'MENU_020_060_010', '设置工作日休息日', '', 3, 0, 2, '', '/zhiqim_calendar/setting.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020', 'MENU_020_060', '项目日历管理', '', 2, 0, 1, 'z-text', '/zhiqim_calendar/calendar.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_020', 'MENU_020_070', '项目计划总结', '', 2, 0, 1, 'z-histogram', '/zhiqim_plan/projectMonth.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU', 'MENU_030', '我的动态', '动态', 1, 0, 1, 'z-list', '', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_030', 'MENU_030_010', '我的汇报设置', '', 2, 0, 1, 'z-text', '/zhiqim_project/personSetting.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_030', 'MENU_030_020', '我的项目动态', '', 2, 0, 1, 'z-text', '/zhiqim_project/personReport.htm', '');
|
||||
insert into ZMR_MENU (PARENT_CODE, MENU_CODE, MENU_NAME, MENU_NAME_ABBR, MENU_LEVEL, MENU_STATUS, MENU_TYPE, MENU_ICON, MENU_URL, MENU_DESC) values ('MENU_030', 'MENU_030_040', '我的计划总结', '', 2, 0, 1, 'z-customer', '/zhiqim_plan/personMonth.htm', '');
|
||||
commit;
|
||||
|
||||
-- ---------------------------------------------------
|
||||
-- 知启蒙项目计划组件管理菜单创建完成
|
||||
-- ---------------------------------------------------
|
||||
@@ -0,0 +1,197 @@
|
||||
<#function on_textarea(planTypeName, planRows)>
|
||||
onpropertychange="resize(this)" onkeyup="resize(this)" oninput="resize(this)" ontextinput="resize(this)" placeholder="按下写${planTypeName},按回车键换行" data-rows="${planRows}" maxlength="512" spellcheck="false"
|
||||
</#function>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z("textarea").each(function(textarea){
|
||||
resize(textarea);
|
||||
});
|
||||
});
|
||||
|
||||
function resize(textarea)
|
||||
{
|
||||
var $textarea = Z(textarea);
|
||||
var width = $textarea.offsetWidth();
|
||||
var initNum = $textarea.attr("data-rows");
|
||||
var lineNum = Z.textLineNum($textarea.val(), width, 14);
|
||||
var currNum = (lineNum < initNum)?initNum:lineNum;
|
||||
$textarea.css("height", 25 * currNum);
|
||||
}
|
||||
|
||||
function doUpdatePersonSummary(type, date, content)
|
||||
{//修改个人总结
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doUpdatePersonSummary");
|
||||
ajax.addParam(type);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam(content);
|
||||
ajax.setFailureAlert();
|
||||
//ajax.setSuccess(function(){Z.tips("保存成功");});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doAddPersonPlan(beginDate)
|
||||
{//增加计划空项
|
||||
var hasEmpty = false;
|
||||
var $textareas = Z("textarea[name=plan_"+beginDate+"]");
|
||||
$textareas.each(function(textarea)
|
||||
{
|
||||
if (Z.V.isEmptyBlank(textarea.value))
|
||||
{
|
||||
hasEmpty = true;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
if (hasEmpty)
|
||||
{
|
||||
Z.alert("请先把未填写的计划项填写完成再新增计划");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doAddPersonPlan");
|
||||
ajax.addParam(beginDate);
|
||||
ajax.addParam(0);
|
||||
ajax.addParam("");
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.L.reload();});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doUpdatePersonPlan(id, date, content)
|
||||
{//修改个人总结
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doUpdatePersonPlan");
|
||||
ajax.addParam(id);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam(content);
|
||||
ajax.setFailureAlert();
|
||||
//ajax.setSuccess(function(){Z.tips("保存成功");});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doUpdatePersonPlanStatus(elem, id, date, status)
|
||||
{//修改计划状态
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doUpdatePersonPlanStatus");
|
||||
ajax.addParam(id);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam(status);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function()
|
||||
{
|
||||
var color = status==0?"#333":status==1?"green":status==2?"red":"gray";
|
||||
Z(elem).parent().parent().siblings("td > textarea").css("color", color);
|
||||
});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doDeletePersonPlan(id, beginDate)
|
||||
{//删除计划项
|
||||
if (Z("textarea[name=plan_"+beginDate+"]").length <= 1)
|
||||
{
|
||||
Z.alert("工作计划最后一项不能删除");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doDeletePersonPlan");
|
||||
ajax.addParam(id);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.L.reload();});
|
||||
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>
|
||||
<li onclick="Z.L.href('personReader.htm');">向我汇报的成员</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table id="table" class="z-table zi-bd zi-bd-b-none z-bg-white z-pd6">
|
||||
<tr class="z-h60">
|
||||
<td width="200"><button class="z-button z-xlarge z-relative-left ${zmr_color_class}" onclick="Z.L.href('?prev=true&year=${year}&month=${month}');">上个月</button></td>
|
||||
<td width="*" class="z-lh60 z-px18 z-text-center">我的 [<span class="z-samp zi-px18">${year}</span>年<span class="z-samp zi-px18">${month}</span>月] 计划和总结</td>
|
||||
<td width="200"><button class="z-button z-xlarge z-relative-right ${zmr_color_class}" onclick="Z.L.href('?next=true&year=${year}&month=${month}');">下个月</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="table" class="z-table z-bordered z-bg-white z-pd6">
|
||||
<#for item : weekList>
|
||||
<tr class="z-text-center z-bg-gray z-h40">
|
||||
<td width="125">日期</td>
|
||||
<td width="84">名称</td>
|
||||
<td width="*">计划总结项</td>
|
||||
<td width="86">计划状态</td>
|
||||
<td width="80"><button class="z-button z-h25 z-xsmall z-font z-add ${zmr_color_class}" onclick="doAddPersonPlan(${item.getKey().getBeginDate()});"></button></td>
|
||||
</tr>
|
||||
<!-- 周信息(含第一个计划) -->
|
||||
<tr class="z-bordered z-h40" bgcolor="${zmr_tr_even_bgcolor}">
|
||||
<td class="z-text-center" rowspan="${item.getRowSize()}" >
|
||||
<span class="z-samp zi-px16">${item.getWeekBegin()}</span><br><br>至<br><br><span class="z-samp zi-px16">${item.getWeekEnd()}</span>
|
||||
</td>
|
||||
<td class="z-text-center">
|
||||
<span class="z-round z-gray z-px12">1</span>
|
||||
</td>
|
||||
<td><textarea name="plan_${item.getKey().getBeginDate()}" class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" style="${item.getFirstPlan().getColor()}" ${on_textarea("本周计划", 1)} onchange="doUpdatePersonPlan(${item.getFirstPlan().getId()}, ${item.getKey().getBeginDate()}, this.value);">${item.getFirstPlan().getContent()}</textarea></td>
|
||||
<td class="z-text-center">
|
||||
<select class="z-select z-w80" data-role="z-select" data-class="${zmr_color_class}" onchange="doUpdatePersonPlanStatus(this, ${item.getFirstPlan().getId()}, ${item.getKey().getBeginDate()}, this.value);">
|
||||
<option value="0" <#if item.getFirstPlan().getStatus() == 0>selected</#if>>正常</option>
|
||||
<option value="1" <#if item.getFirstPlan().getStatus() == 1>selected</#if>>新增</option>
|
||||
<option value="2" <#if item.getFirstPlan().getStatus() == 2>selected</#if>>延误</option>
|
||||
<option value="3" <#if item.getFirstPlan().getStatus() == 3>selected</#if>>取消</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="z-text-center"><button class="z-button z-h25 z-xsmall z-font z-delete z-red" onclick="doDeletePersonPlan(${item.getFirstPlan().getId()}, ${item.getKey().getBeginDate()});"></button></td>
|
||||
</tr>
|
||||
<!-- 周计划(除第一个计划) -->
|
||||
<#for model : item.getPlanList()>
|
||||
<#if model_index gt 0>
|
||||
<tr class="z-bordered z-h40">
|
||||
<td class="z-text-center zi-bd-l"><span class="z-round z-gray z-px12">${model_index+1}</span></td>
|
||||
<td><textarea name="plan_${item.getKey().getBeginDate()}" class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" style="${model.getColor()}" ${on_textarea("本周计划", 1)} onchange="doUpdatePersonPlan(${model.getId()}, ${item.getKey().getBeginDate()}, this.value);">${model.getContent()}</textarea></td>
|
||||
<td class="z-text-center">
|
||||
<select class="z-select z-w80" data-role="z-select" data-class="${zmr_color_class}" onchange="doUpdatePersonPlanStatus(this, ${model.getId()}, ${item.getKey().getBeginDate()}, this.value);">
|
||||
<option value="0" <#if model.getStatus() == 0>selected</#if>>正常</option>
|
||||
<option value="1" <#if model.getStatus() == 1>selected</#if>>新增</option>
|
||||
<option value="2" <#if model.getStatus() == 2>selected</#if>>延误</option>
|
||||
<option value="3" <#if model.getStatus() == 3>selected</#if>>取消</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="z-text-center"><button class="z-button z-h25 z-xsmall z-font z-delete z-red" onclick="doDeletePersonPlan(${model.getId()}, ${item.getKey().getBeginDate()});"></button></td>
|
||||
</tr>
|
||||
</#if>
|
||||
</#for>
|
||||
<!-- 日总结 -->
|
||||
<#for model : item.getDayList()>
|
||||
<tr class="z-bordered z-h40" bgcolor="${eventColor}">
|
||||
<td class="z-text-center zi-bd-l">${model.getWeekString()}</td>
|
||||
<td colspan="3"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("每日总结", 1)} onchange="doUpdatePersonSummary(1, ${model.getDate()}, this.value);">${model.getContent()}</textarea></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<!-- 周总结 -->
|
||||
<tr class="z-bordered" bgcolor="${zmr_tr_even_color}">
|
||||
<td class="z-text-center zi-bd-l">周总结</td>
|
||||
<td colspan="3"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("本周总结", 5)} onchange="doUpdatePersonSummary(2, ${item.getWeek().getDate()}, this.value);">${item.getWeek().getContent()}</textarea></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<!-- 月总结 -->
|
||||
<tr class="z-h120" bgcolor="${zmr_tr_even_color}">
|
||||
<td class="z-text-center"><span class="z-samp zi-px18">${year}-${Strings.prefixZero(month, 2)}</span><br><br>月总结</td>
|
||||
<td colspan="4"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("本月总结", 7)} onchange="doUpdatePersonSummary(3, ${monthModel.getDate()}, this.value);">${monthModel.getContent()}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,52 @@
|
||||
<#def designatedPath="/zhiqim_plan/personMonth.htm"/>
|
||||
<script>
|
||||
function doDelete(e, operatorCode)
|
||||
{//删除向我汇报的成员
|
||||
Z.E.stop(e);
|
||||
|
||||
Z.confirm("恢复需要重新汇报,确定删除该汇报成员?", function()
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doDeleteOperator");
|
||||
ajax.addParam(operatorCode);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.L.reload();});
|
||||
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('personMonth.htm');">我的计划总结</li>
|
||||
<li class="z-active">向我汇报的成员</li>
|
||||
</ul>
|
||||
</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="20%">操作员头像</td>
|
||||
<td width="20%">操作员编码</td>
|
||||
<td width="*">操作员名称</td>
|
||||
<td width="120">操作</td>
|
||||
</tr>
|
||||
${zhiqim_manager_tr_no_record(list, 4, "暂无向我汇报的成员")}
|
||||
<#for item : list>
|
||||
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} onclick="Z.L.href('personReview.htm?operatorCode='+encodeURIComponent('${item.getOperatorCode()}'))">
|
||||
<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><button class="z-button z-h25 z-xsmall z-font z-delete z-red" title="删除" onclick="doDelete(event, '${item.getOperatorCode()}');"></button></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_list(list.size())}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,104 @@
|
||||
<#def designatedPath="/zhiqim_plan/personMonth.htm"/>
|
||||
<#function on_textarea(planTypeName, planRows)>
|
||||
rows="${planRows}" data-rows="${planRows}" spellcheck="false" readonly
|
||||
</#function>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z("textarea").each(function(textarea){
|
||||
resize(textarea);
|
||||
});
|
||||
});
|
||||
|
||||
function resize(textarea)
|
||||
{
|
||||
var $textarea = Z(textarea);
|
||||
var width = $textarea.offsetWidth();
|
||||
var initNum = $textarea.attr("data-rows");
|
||||
var lineNum = Z.textLineNum($textarea.val(), width, 14);
|
||||
$textarea.attr("rows", (lineNum < initNum)?initNum:lineNum);
|
||||
}
|
||||
</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('personMonth.htm');">我的计划总结</li>
|
||||
<li class="z-active zi-pointer" onclick="Z.L.href('personReader.htm');">向我汇报的成员</li>
|
||||
</ul>
|
||||
<div class="z-text-right z-mg-t10 z-mg-r5">
|
||||
<button class="z-button ${zmr_color_class}" onclick="Z.L.href('personReader.htm');"><i class="z-font z-return"></i>返回向我汇报的成员</button>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table id="table" class="z-table zi-bd zi-bd-b-none z-bg-white z-pd6">
|
||||
<tr class="z-h60">
|
||||
<td width="200"><button class="z-button z-xlarge z-relative-left ${zmr_color_class}" onclick="Z.L.href('?prev=true&year=${year}&month=${month}&operatorCode='+encodeURIComponent('${operatorCode}'));">上个月</button></td>
|
||||
<td width="*" class="z-lh60 z-px18 z-text-center">${operator.getOperatorName()}(${operator.getOperatorCode()})的 [<span class="z-samp zi-px18">${year}</span>年<span class="z-samp zi-px18">${month}</span>月] 计划和总结</td>
|
||||
<td width="200"><button class="z-button z-xlarge z-relative-right ${zmr_color_class}" onclick="Z.L.href('?next=true&year=${year}&month=${month}&operatorCode='+encodeURIComponent('${operatorCode}'));">下个月</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="table" class="z-table z-bordered z-bg-white z-pd6">
|
||||
<#for item : weekList>
|
||||
<tr class="z-text-center z-bg-gray z-h40">
|
||||
<td width="125">日期</td>
|
||||
<td width="84">名称</td>
|
||||
<td width="*">计划总结项</td>
|
||||
<td width="86">计划状态</td>
|
||||
</tr>
|
||||
<!-- 周信息(含第一个计划) -->
|
||||
<tr class="z-bordered z-h40" bgcolor="${zmr_tr_even_bgcolor}">
|
||||
<td class="z-text-center" rowspan="${item.getRowSize()}" >
|
||||
<span class="z-samp zi-px16">${item.getWeekBegin()}</span><br><br>至<br><br><span class="z-samp zi-px16">${item.getWeekEnd()}</span>
|
||||
</td>
|
||||
<td class="z-text-center">
|
||||
<span class="z-round z-gray z-px12">1</span>
|
||||
</td>
|
||||
<td><textarea name="plan_${item.getKey().getBeginDate()}" class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" style="${item.getFirstPlan().getColor()}" ${on_textarea("本周计划", 1)}>${item.getFirstPlan().getContent()}</textarea></td>
|
||||
<td class="z-text-center">
|
||||
<#if item.getFirstPlan().getStatus() == 0>正常</#if>
|
||||
<#if item.getFirstPlan().getStatus() == 1><span class="z-color-green">新增</span></#if>
|
||||
<#if item.getFirstPlan().getStatus() == 2><span class="z-color-red">延误</span></#if>
|
||||
<#if item.getFirstPlan().getStatus() == 3><span class="z-color-333">取消</span></#if>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- 周计划(除第一个计划) -->
|
||||
<#for model : item.getPlanList()>
|
||||
<#if model_index gt 0>
|
||||
<tr class="z-bordered z-h40">
|
||||
<td class="z-text-center zi-bd-l"><span class="z-round z-gray z-px12">${model_index+1}</span></td>
|
||||
<td><textarea name="plan_${item.getKey().getBeginDate()}" class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" style="${model.getColor()}" ${on_textarea("本周计划", 1)}>${model.getContent()}</textarea></td>
|
||||
<td class="z-text-center">
|
||||
<#if model.getStatus() == 0>正常</#if>
|
||||
<#if model.getStatus() == 1><span class="z-color-green">新增</span></#if>
|
||||
<#if model.getStatus() == 2><span class="z-color-red">延误</span></#if>
|
||||
<#if model.getStatus() == 3><span class="z-color-333">取消</span></#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#if>
|
||||
</#for>
|
||||
<!-- 日总结 -->
|
||||
<#for model : item.getDayList()>
|
||||
<tr class="z-bordered z-h40" bgcolor="${eventColor}">
|
||||
<td class="z-text-center zi-bd-l">${model.getWeekString()}</td>
|
||||
<td colspan="2"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("每日总结", 1)}>${model.getContent()}</textarea></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<!-- 周总结 -->
|
||||
<tr class="z-bordered" bgcolor="${zmr_tr_even_color}">
|
||||
<td class="z-text-center zi-bd-l">周总结</td>
|
||||
<td colspan="2"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("本周总结", 5)}>${item.getWeek().getContent()}</textarea></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<!-- 月总结 -->
|
||||
<tr class="z-h120" bgcolor="${zmr_tr_even_color}">
|
||||
<td class="z-text-center"><span class="z-samp zi-px18">${year}-${Strings.prefixZero(month, 2)}</span><br><br>月总结</td>
|
||||
<td colspan="3"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("本月总结", 7)}>${monthModel.getContent()}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,72 @@
|
||||
<script>
|
||||
function doDelete(readerCode)
|
||||
{//删除设置的汇报对象
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doDeleteReader");
|
||||
ajax.addParam(readerCode);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.L.reload();});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doSelectorDialog()
|
||||
{
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "增加汇报对象";
|
||||
dialog.url = "personSettingSelector.htm";
|
||||
dialog.width = 392;
|
||||
dialog.height = 423;
|
||||
dialog.execute();
|
||||
}
|
||||
|
||||
function doSelectorCallback(operatorCodes)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmPersonPresenter");
|
||||
ajax.setMethodName("doAddReaders");
|
||||
ajax.addParam(operatorCodes);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.alert("增加成功",function(){Z.L.reload();});});
|
||||
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>
|
||||
<li onclick="Z.L.href('personReader.htm');">向我汇报的成员</li>
|
||||
<li onclick="Z.L.href('personMonth.htm');">我的计划总结</li>
|
||||
</ul>
|
||||
<div class="z-text-right z-mg-t10 z-mg-r5">
|
||||
<button class="z-button ${zmr_color_class}" onclick="doSelectorDialog()" ><i class="z-font z-add"></i>增加汇报对象</button>
|
||||
</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="20%">操作员头像</td>
|
||||
<td width="20%">操作员编码</td>
|
||||
<td width="*">操作员名称</td>
|
||||
<td width="120">操作</td>
|
||||
</tr>
|
||||
<#if list.isEmpty()>
|
||||
${zhiqim_manager_no_record(4, "暂未设置汇报对象")}
|
||||
</#if>
|
||||
<#for item : list>
|
||||
<tr ${zhiqim_manager_tr_onmouse()}>
|
||||
<td><img src="${sessionUser.getAvatarUrl(item.getReaderAvatar(), 50)}" class="z-w50 z-h50 z-bd-rd50p"></td>
|
||||
<td>${item.getReaderCode()}</td>
|
||||
<td>${item.getReaderName()}</td>
|
||||
<td><button class="z-button z-h25 z-xsmall z-font z-delete z-red" title="删除" onclick="doDelete('${item.getReaderCode()}');"></button></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_list(list.size())}
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,47 @@
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z(document.forms[0].operatorKey).focusEnd();
|
||||
});
|
||||
|
||||
function doSelector()
|
||||
{
|
||||
var operatorCodes = Z.FM.getCheckeds("operatorCode");
|
||||
parent.doSelectorCallback(operatorCodes);
|
||||
}
|
||||
</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="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>
|
||||
</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,196 @@
|
||||
<#function on_textarea(planTypeName, planRows)>
|
||||
onpropertychange="resize(this)" onkeyup="resize(this)" oninput="resize(this)" ontextinput="resize(this)" placeholder="按下写${planTypeName},按回车键换行" data-rows="${planRows}" maxlength="512" spellcheck="false"
|
||||
</#function>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Z("textarea").each(function(textarea){
|
||||
resize(textarea);
|
||||
});
|
||||
});
|
||||
|
||||
function resize(textarea)
|
||||
{
|
||||
var $textarea = Z(textarea);
|
||||
var width = $textarea.offsetWidth();
|
||||
var initNum = $textarea.attr("data-rows");
|
||||
var lineNum = Z.textLineNum($textarea.val(), width, 14);
|
||||
var currNum = (lineNum < initNum)?initNum:lineNum;
|
||||
$textarea.css("height", 25 * currNum);
|
||||
}
|
||||
|
||||
function doUpdateProjectSummary(type, date, content)
|
||||
{//修改项目总结
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmProjectPresenter");
|
||||
ajax.setMethodName("doUpdateProjectSummary");
|
||||
ajax.addParam(type);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam(content);
|
||||
ajax.setFailureAlert();
|
||||
//ajax.setSuccess(function(){Z.tips("保存成功");});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doAddProjectPlan(date)
|
||||
{//增加计划空项
|
||||
var hasEmpty = false;
|
||||
var $textareas = Z("textarea[name=plan_"+date+"]");
|
||||
$textareas.each(function(textarea)
|
||||
{
|
||||
if (Z.V.isEmptyBlank(textarea.value))
|
||||
{
|
||||
hasEmpty = true;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
if (hasEmpty)
|
||||
{
|
||||
Z.alert("请先把未填写的计划项填写完成再新增计划");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmProjectPresenter");
|
||||
ajax.setMethodName("doAddProjectPlan");
|
||||
ajax.addParam(0);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam("planContent");
|
||||
ajax.addParam("");
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.L.reload();});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doUpdateProjectPlan(id, date, type, value)
|
||||
{//修改项目总结
|
||||
if (type == "planProgress")
|
||||
{
|
||||
if (!Z.V.isIntegerValue(value, 0, 100))
|
||||
{
|
||||
Z.alert("输入不正确,进度值在0-100之间");
|
||||
return;
|
||||
}
|
||||
}
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmProjectPresenter");
|
||||
ajax.setMethodName("doUpdateProjectPlan");
|
||||
ajax.addParam(id);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam(type);
|
||||
ajax.addParam(value);
|
||||
ajax.setFailureAlert();
|
||||
//ajax.setSuccess(function(){Z.tips("保存成功");});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doUpdateProjectPlanStatus(elem, id, date, status)
|
||||
{//修改项目计划状态
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmProjectPresenter");
|
||||
ajax.setMethodName("doUpdateProjectPlanStatus");
|
||||
ajax.addParam(id);
|
||||
ajax.addParam(date);
|
||||
ajax.addParam(status);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function()
|
||||
{
|
||||
var color = status==0?"#333":status==1?"green":status==2?"red":"gray";
|
||||
Z(elem).parent().parent().siblings("td > textarea").css("color", color);
|
||||
});
|
||||
ajax.execute();
|
||||
}
|
||||
|
||||
function doDeleteProjectPlan(id, date)
|
||||
{//删除计划项
|
||||
if (Z("textarea[name=plan_"+date+"]").length <= 1)
|
||||
{
|
||||
Z.alert("工作计划最后一项不能删除");
|
||||
return;
|
||||
}
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ZpmProjectPresenter");
|
||||
ajax.setMethodName("doDeleteProjectPlan");
|
||||
ajax.addParam(id);
|
||||
ajax.setFailureAlert();
|
||||
ajax.setSuccess(function(){Z.L.reload();});
|
||||
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>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table id="table" class="z-table zi-bd zi-bd-b-none z-bg-white z-pd6">
|
||||
<tr class="z-h60">
|
||||
<td width="200"><button class="z-button z-xlarge z-relative-left ${zmr_color_class}" onclick="Z.L.href('?prev=true&year=${year}&month=${month}');">上个月</button></td>
|
||||
<td width="*" class="z-lh60 z-px18 z-text-center">${project.getProjectName()} [<span class="z-samp zi-px18">${year}</span>年<span class="z-samp zi-px18">${month}</span>月] 计划总结</td>
|
||||
<td width="200"><button class="z-button z-xlarge z-relative-right ${zmr_color_class}" onclick="Z.L.href('?next=true&year=${year}&month=${month}');">下个月</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="table" class="z-table z-bordered z-bg-white z-pd5">
|
||||
<#for item : weekList>
|
||||
<tr class="z-text-center z-bg-gray z-h40">
|
||||
<td width="110">日期</td>
|
||||
<td width="70">名称</td>
|
||||
<td width="*">计划</td>
|
||||
<td width="90">计划开始</td>
|
||||
<td width="90">计划完成</td>
|
||||
<td width="90">实际开始</td>
|
||||
<td width="90">实际完成</td>
|
||||
<td width="170">责任人</td>
|
||||
<td width="76">完成进度</td>
|
||||
<td width="86">计划状态</td>
|
||||
<td width="50"><button class="z-button z-h25 z-xsmall z-font z-add ${zmr_color_class}" onclick="doAddProjectPlan(${item.getKey().getBeginDate()});"></button></td>
|
||||
</tr>
|
||||
<!-- 周信息&周目标 -->
|
||||
<tr class="z-bordered z-h40" bgcolor="${zmr_tr_even_bgcolor}">
|
||||
<td class="z-text-center z-lh150p" rowspan="${item.getRowSize()}"><span class="z-samp">${item.getWeekName()}</span><br>计划&总结</td>
|
||||
<td class="z-text-center z-bg-purple">周目标</td>
|
||||
<td colspan="9" class="z-bg-purple"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25 z-bg-purple" ${on_textarea("本周目标", 1)} onchange="doUpdateProjectSummary(1, ${item.getWeekAim().getDate()}, this.value);">${item.getWeekAim().getContent()}</textarea></td>
|
||||
</tr>
|
||||
<!-- 周计划 -->
|
||||
<#for model : item.getPlanList()>
|
||||
<tr class="z-bordered z-h40">
|
||||
<td class="z-text-center zi-bd-l"><span class="z-round z-gray z-px12">${model_index+1}</span></td>
|
||||
<td><textarea name="plan_${item.getKey().getBeginDate()}" class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" style="${model.getColor()}" ${on_textarea("本周计划", 1)} onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'planContent', this.value);">${model.getContent()}</textarea></td>
|
||||
<td><input class="z-w100p z-bd-none zi-pd0 zi-h30 zi-lh30 z-samp" maxlength="10" data-options="type:Date;paste:true;" value="${model.getPlanBeginDate()}" onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'planBeginDate', this.value);"></td>
|
||||
<td><input class="z-w100p z-bd-none zi-pd0 zi-h30 zi-lh30 z-samp" maxlength="10" data-options="type:Date;paste:true;" value="${model.getPlanEndDate()}" onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'planEndDate', this.value);"></td>
|
||||
<td><input class="z-w100p z-bd-none zi-pd0 zi-h30 zi-lh30 z-samp" maxlength="10" data-options="type:Date;paste:true;" value="${model.getActualBeginDate()}" onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'actualBeginDate', this.value);"></td>
|
||||
<td><input class="z-w100p z-bd-none zi-pd0 zi-h30 zi-lh30 z-samp" maxlength="10" data-options="type:Date;paste:true;" value="${model.getActualEndDate()}" onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'actualEndDate', this.value);"></td>
|
||||
<td><input class="z-w100p z-bd-none zi-pd0 zi-h30 zi-lh30" maxlength="15" value="${model.getPlanManager()}" onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'planManager', this.value);"></td>
|
||||
<td><input class="z-w50 z-bd-none z-pd-r4 zi-h30 zi-lh30 z-samp z-text-right" data-options="type:Integer;paste:true;" value="${model.getPlanProgress()}" maxlength="3" onchange="doUpdateProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()}, 'planProgress', this.value);">%</td>
|
||||
<td class="z-text-center">
|
||||
<select class="z-select z-w80" data-role="z-select" data-class="${zmr_color_class}" onchange="doUpdateProjectPlanStatus(this, ${model.getId()}, ${item.getKey().getBeginDate()}, this.value);">
|
||||
<option value="0" <#if model.getPlanStatus() == 0>selected</#if>>正常</option>
|
||||
<option value="1" <#if model.getPlanStatus() == 1>selected</#if>>新增</option>
|
||||
<option value="2" <#if model.getPlanStatus() == 2>selected</#if>>延误</option>
|
||||
<option value="3" <#if model.getPlanStatus() == 3>selected</#if>>取消</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="z-text-center"><button class="z-button z-h25 z-xsmall z-font z-delete z-red" onclick="doDeleteProjectPlan(${model.getId()}, ${item.getKey().getBeginDate()});"></button></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<!-- 周总结 -->
|
||||
<tr class="z-bordered" bgcolor="${zmr_tr_even_color}">
|
||||
<td class="z-text-center zi-bd-l">周总结</td>
|
||||
<td colspan="9"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("本周总结", 3)} onchange="doUpdateProjectSummary(2, ${item.getWeekSummary().getDate()}, this.value);">${item.getWeekSummary().getContent()}</textarea></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<!-- 月总结 -->
|
||||
<tr class="z-h120" bgcolor="${zmr_tr_even_color}">
|
||||
<td class="z-text-center"><span class="z-samp zi-px18">${year}-${Strings.prefixZero(month, 2)}</span><br><br>月总结</td>
|
||||
<td colspan="10"><textarea class="z-w100p z-bd-none zi-pd0 z-overflow-hidden z-lh25" ${on_textarea("本月总结", 6)} onchange="doUpdateProjectSummary(3, ${monthModel.getDate()}, this.value);">${monthModel.getContent()}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
在新工单中引用
屏蔽一个用户