first commit

这个提交包含在:
2025-02-20 14:59:35 +08:00
父节点 d7be84fac6
当前提交 d4a3bb8ffc
修改 2541 个文件,包含 336536 行新增0 行删除
+22
查看文件
@@ -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>
+61
查看文件
@@ -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">我的&nbsp;[<span class="z-samp zi-px18">${year}</span>年<span class="z-samp zi-px18">${month}</span>月]&nbsp;计划和总结</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()})的&nbsp;[<span class="z-samp zi-px18">${year}</span>年<span class="z-samp zi-px18">${month}</span>月]&nbsp;计划和总结</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()}&nbsp;[<span class="z-samp zi-px18">${year}</span>年<span class="z-samp zi-px18">${month}</span>月]&nbsp;计划总结</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()}