提交 dfcb8878 编写于 作者: Skyeye云's avatar Skyeye云

项目管理托管到表单布局

上级 822c6605
var rowId = "";
layui.config({ layui.config({
base: basePath, base: basePath,
...@@ -10,125 +9,144 @@ layui.config({ ...@@ -10,125 +9,144 @@ layui.config({
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
table = layui.table; table = layui.table;
var serviceClassName = sysServiceMation["proProject"]["key"];
// 加载列表数据权限
loadAuthBtnGroup('messageTable', '1574672406390');
authBtn('1574672416396');//新增 authBtn('1574672416396');//新增
// 项目分类 table.render({
sysDictDataUtil.showDictDataListByDictTypeCode(sysDictData["pmProjectType"]["key"], 'select', "typeId", '', form); id: 'messageTable',
elem: '#messageTable',
initTable(); method: 'post',
function initTable(){ url: sysMainMation.projectBasePath + 'queryProProjectList',
table.render({ where: getTableParams(),
id: 'messageTable', even: true,
elem: '#messageTable', page: true,
method: 'post', limits: getLimits(),
url: flowableBasePath + 'proproject002', limit: getLimit(),
where: getTableParams(), cols: [[
even: true, { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: 2},
page: true, { field: 'oddNumber', title: '系统单号', width: 200, align: 'center', templet: function (d) {
limits: getLimits(), return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
limit: getLimit(), }},
cols: [[ { field: 'numberCode', title: '项目单号', width: 200 },
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: 2}, { field: 'name', title: '项目名称', width: 300 },
{ field: 'projectName', title: '项目名称', align: 'left', width: 200, rowspan: 2, templet: function (d) { { field: 'processInstanceId', title: '流程ID', width: 80, align: 'center', templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.projectName + '</a>'; return '<a lay-event="processDetails" class="notice-title-click">' + d.processInstanceId + '</a>';
}}, }},
{ field: 'typeName', title: '项目分类', align: 'left', rowspan: '2', width: 100}, { field: 'state', title: '状态', width: 90, align: 'center', templet: function (d) {
{ title: '完成时间', align: 'center', colspan: '2'}, return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("projectStateEnum", 'id', d.state, 'name');
{ field: 'stateName', title: '状态', rowspan: 2, width: 90, templet: function (d) { }},
if(d.state == '0'){ { field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], width: 120 },
return "<span>" + d.stateName + "</span>"; { field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
} else if (d.state == '1'){ { field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 },
return "<span class='state-new'>" + d.stateName + "</span>"; { field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 },
} else if (d.state == '2'){ { title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 250, toolbar: '#tableBar'}
return "<span class='state-up'>" + d.stateName + "</span>"; ]],
} else if (d.state == '11'){ done: function(json) {
return "<span class='state-up'>" + d.stateName + "</span>"; matchingLanguage();
} else if (d.state == '12'){ initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入单号,项目名称", function () {
return "<span class='state-down'>" + d.stateName + "</span>"; table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
} else if (d.state == '3'){ });
return "<span class='state-error'>" + d.stateName + "</span>"; }
} else if (d.state == '4'){ });
return "<span class='state-error'>" + d.stateName + "</span>";
} else if (d.state == '5'){
return "<span class='state-error'>" + d.stateName + "</span>";
}
}},
{ field: 'createName', title: '发起人', align: 'left', rowspan: '2', width: 100},
{ field: 'projectManagerName', title: '负责人', align: 'left', rowspan: '2', width: 100},
{ field: 'projectMembersName', title: '参与人', align: 'left', rowspan: '2', width: 100},
{ field: 'projectSponsorName', title: '赞助人', align: 'left', rowspan: '2', width: 100},
{ field: 'taskNum', title: '任务', align: 'left', rowspan: 2, width: 80 },
{ field: 'estimatedWorkload', title: '工作量', align: 'left', rowspan: 2, width: 80 },
{ field: 'estimatedCost', title: '成本费用', align: 'left', rowspan: 2, width: 100 },
{ field: 'fileNum', title: '文档', align: 'left', rowspan: 2, width: 80, templet: function (d) {
return '<a lay-event="fileNumList" class="notice-title-click">' + d.fileNum + '</a>';
}},
{ field: 'discussNum', title: '讨论板', align: 'left', rowspan: 2, width: 80, templet: function (d) {
return '<a lay-event="discussList" class="notice-title-click">' + d.discussNum + '</a>';
}},
{ field: 'processInstanceId', title: '流程ID', align: 'center', rowspan: 2, width: 100, templet: function (d) {
if (!isNull(d.processInstanceId)) {
return '<a lay-event="processDetails" class="notice-title-click">' + d.processInstanceId + '</a>';
} else {
return "";
}
}},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', rowspan: 2, width: 250, toolbar: '#tableBar'}
], [
{ field: 'endTime', title: '计划', align: 'center', width: 85},
{ field: 'actualEndTime', title: '实际', align: 'center', width: 85}
]
],
done: function(json) {
matchingLanguage();
}
});
table.on('tool(messageTable)', function (obj) { table.on('tool(messageTable)', function (obj) {
var data = obj.data; var data = obj.data;
var layEvent = obj.event; var layEvent = obj.event;
if (layEvent === 'edit') { //编辑 if (layEvent === 'edit') { // 编辑
edit(data); edit(data);
} else if (layEvent === 'details'){ //详情 } else if (layEvent === 'details'){ // 详情
details(data); details(data);
} else if (layEvent === 'processDetails') { //流程详情 } else if (layEvent === 'processDetails') { // 流程详情
activitiUtil.activitiDetails(data); activitiUtil.activitiDetails(data);
} else if (layEvent === 'subApproval') { //提交审批 } else if (layEvent === 'subApproval') { // 提交审批
subApproval(data); subApproval(data);
} else if (layEvent === 'del') { //删除 } else if (layEvent === 'del') { // 删除
del(data); del(data);
} else if (layEvent === 'revoke') { //撤销 } else if (layEvent === 'revoke') { // 撤销
revoke(data); revoke(data);
} else if (layEvent === 'nullify') { //作废 } else if (layEvent === 'cancellation') { // 作废
nullify(data); cancellation(data);
} else if (layEvent === 'execute') { //开始执行 } else if (layEvent === 'execute') { // 开始执行
if (!isNull(data.projectManager) && !isNull(data.projectMembers) && !isNull(data.projectContent)){ execute(data);
execute(data); } else if (layEvent === 'end') { // 成果和总结
} else { end(data);
layer.confirm("该项目还未进行项目任命,是否立即任命?", {btn: ['立即任命', '取消'], icon: 3, title: '操作提醒'}, function (index) { } else if (layEvent === 'giveService') { // 服务
layer.close(index); giveService(data);
proappoint(data); }
}); });
}
} else if (layEvent === 'proappoint') { //项目任命 // 成果和总结
proappoint(data); function end(data) {
} else if (layEvent === 'end') { //成果和总结 _openNewWindows({
end(data); url: systemCommonUtil.getUrl('FP2023080300005&id=' + data.id, null),
} else if (layEvent === 'discussList') { //讨论板 title: "成果和总结",
discussList(data); pageId: "proPerfectinForm",
} else if (layEvent === 'fileNumList') { //文档 area: ['90vw', '90vh'],
fileNumList(data); callBack: function (refreshCode) {
} winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
}); loadTable();
}});
} }
// 新增
$("body").on("click", "#addBean", function() {
_openNewWindows({
url: systemCommonUtil.getUrl('FP2023080300001', null),
title: "新增项目",
pageId: "projectAdd",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
// 编辑
function edit(data) {
_openNewWindows({
url: systemCommonUtil.getUrl('FP2023080300002&id=' + data.id, null),
title: "编辑项目",
pageId: "projectEdit",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 服务
function giveService(data) {
_openNewWindows({
url: systemCommonUtil.getUrl('../../tpl/project/projectManage.html?objectId=' + data.id + '&objectKey=' + data.serviceClassName, null),
title: "服务",
pageId: "projectGiveService",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 详情
function details(data) {
_openNewWindows({
url: systemCommonUtil.getUrl('FP2023080300003&id=' + data.id, null),
title: "项目详情",
pageId: "projectDetails",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 删除 // 删除
function del(data) { function del(data) {
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function (index) { layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function (index) {
layer.close(index); layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "proproject009", params: {rowId: data.id}, type: 'json', callback: function (json) { AjaxPostUtil.request({url: sysMainMation.projectBasePath + "proproject009", params: {id: data.id}, type: 'json', method: "DELETE", callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000}); winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable(); loadTable();
}}); }});
...@@ -139,7 +157,7 @@ layui.config({ ...@@ -139,7 +157,7 @@ layui.config({
function revoke(data) { function revoke(data) {
layer.confirm("确定撤销申请吗?", {icon: 3, title: '撤销操作'}, function (index) { layer.confirm("确定撤销申请吗?", {icon: 3, title: '撤销操作'}, function (index) {
layer.close(index); layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "proproject010", params: {processInstanceId: data.processInstanceId}, type: 'json', method: "PUT", callback: function (json) { AjaxPostUtil.request({url: sysMainMation.projectBasePath + "proproject010", params: {processInstanceId: data.processInstanceId}, type: 'json', method: "PUT", callback: function (json) {
winui.window.msg("撤销成功", {icon: 1, time: 2000}); winui.window.msg("撤销成功", {icon: 1, time: 2000});
loadTable(); loadTable();
}}); }});
...@@ -147,10 +165,10 @@ layui.config({ ...@@ -147,10 +165,10 @@ layui.config({
} }
// 作废 // 作废
function nullify(data) { function cancellation(data) {
layer.confirm("确定作废该项目吗?", {icon: 3, title: '作废操作'}, function (index) { layer.confirm("确定作废该项目吗?", {icon: 3, title: '作废操作'}, function (index) {
layer.close(index); layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "proproject011", params: {rowId: data.id}, type: 'json', callback: function (json) { AjaxPostUtil.request({url: sysMainMation.projectBasePath + "proproject011", params: {id: data.id}, type: 'json', method: "POST", callback: function (json) {
winui.window.msg("作废成功", {icon: 1, time: 2000}); winui.window.msg("作废成功", {icon: 1, time: 2000});
loadTable(); loadTable();
}}); }});
...@@ -161,150 +179,41 @@ layui.config({ ...@@ -161,150 +179,41 @@ layui.config({
function execute(data) { function execute(data) {
layer.confirm("确定开始执行该项目吗?", {icon: 3, title: '执行操作'}, function (index) { layer.confirm("确定开始执行该项目吗?", {icon: 3, title: '执行操作'}, function (index) {
layer.close(index); layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "proproject012", params: {rowId: data.id}, type: 'json', callback: function (json) { AjaxPostUtil.request({url: sysMainMation.projectBasePath + "proproject012", params: {id: data.id}, type: 'json', method: "POST", callback: function (json) {
winui.window.msg("执行成功", {icon: 1, time: 2000}); winui.window.msg("执行成功", {icon: 1, time: 2000});
loadTable(); loadTable();
}}); }});
}); });
} }
// 项目任命
function proappoint(data) {
rowId = data.id;
_openNewWindows({
url: "../../tpl/proproject/proappoint.html",
title: "项目任命",
pageId: "proappoint",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 成果和总结
function end(data) {
rowId = data.id;
_openNewWindows({
url: "../../tpl/proproject/properfectinformation.html",
title: "成果和总结",
pageId: "properfectinformation",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 新增
$("body").on("click", "#addBean", function() {
_openNewWindows({
url: "../../tpl/proproject/proprojectadd.html",
title: "新增项目",
pageId: "proprojectadd",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
// 编辑
function edit(data) {
rowId = data.id;
_openNewWindows({
url: "../../tpl/proproject/proprojectedit.html",
title: "编辑项目",
pageId: "proprojectedit",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 详情
function details(data) {
rowId = data.id;
_openNewWindows({
url: "../../tpl/proproject/proprojectdetails.html",
title: "项目详情",
pageId: "proprojectdetails",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 提交审批 // 提交审批
function subApproval(data) { function subApproval(data) {
layer.confirm(systemLanguage["com.skyeye.approvalOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.approvalOperation"][languageType]}, function (index) { layer.confirm(systemLanguage["com.skyeye.approvalOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.approvalOperation"][languageType]}, function (index) {
layer.close(index); layer.close(index);
activitiUtil.startProcess(serviceClassName, null, function (approvalId) { activitiUtil.startProcess(data.serviceClassName, null, function (approvalId) {
var params = { var params = {
rowId: data.id, id: data.id,
approvalId: approvalId approvalId: approvalId
}; };
AjaxPostUtil.request({url: flowableBasePath + "proproject008", params: params, type: 'json', callback: function (json) { AjaxPostUtil.request({url: sysMainMation.projectBasePath + "proproject008", params: params, type: 'json', method: "POST", callback: function (json) {
winui.window.msg("提交成功", {icon: 1, time: 2000}); winui.window.msg("提交成功", {icon: 1, time: 2000});
loadTable(); loadTable();
}}); }});
}); });
}); });
} }
// 讨论板
function discussList(data) {
rowId = data.id;
_openNewWindows({
url : "../../tpl/proprojectdiscuss/proprojectdiscusslist.html",
title : "讨论板",
pageId : "proprojectdiscusslist",
area : [ '100vw', '100vh' ],
callBack : function (refreshCode) {
}
});
}
// 文档
function fileNumList(data) {
rowId = data.id;
_openNewWindows({
url : "../../tpl/profile/profilelistbyproid.html",
title : "文档",
pageId : "profilelistbyproid",
area : [ '100vw', '100vh' ],
callBack : function (refreshCode) {
}
});
}
// 搜索表单
form.render(); form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
}
return false;
});
$("body").on("click", "#reloadTable", function() { $("body").on("click", "#reloadTable", function() {
loadTable(); loadTable();
}); });
function loadTable() { function loadTable() {
table.reloadData("messageTable", {where: getTableParams()}); table.reloadData("messageTable", {where: getTableParams()});
} }
function getTableParams() { function getTableParams() {
return { return $.extend(true, {}, initTableSearchUtil.getSearchValue("messageTable"));
typeId: $("#typeId").val(),
state: $("#state").val(),
proName: $("#proName").val(),
proBelongId: $("#proBelongId").val()
};
} }
exports('myproprojectlist', {}); exports('projectList', {});
}); });
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form;
var objectId = GetUrlParam("objectId");
var objectKey = GetUrlParam("objectKey");
tabPageUtil.init({
id: 'tab',
prefixData: [{
title: '详情',
pageUrl: systemCommonUtil.getUrl('FP2023080300003&id=' + objectId, null)
}],
suffixData: [{
title: '团队',
pageUrl: '../../tpl/teamBusiness/teamBusinessDetails.html'
}],
element: layui.element,
objectType: "3",
object: {
objectId: objectId,
objectKey: objectKey,
}
});
form.render();
});
\ No newline at end of file
// 项目任命
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'tagEditor'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
var ue, planUe;
var toProjectManager = new Array();//项目经理
var toProjectSponsor = new Array();//项目赞助人
var toProjectMembers = new Array();//项目组成员
showGrid({
id: "showForm",
url: flowableBasePath + "proproject013",
params: {rowId: parent.rowId},
pagination: false,
template: $("#beanTemplate").html(),
ajaxSendLoadBefore: function(hdb) {
},
ajaxSendAfter: function (json) {
// 附件回显
skyeyeEnclosure.initTypeISData({
'projectEnclosureUpload': json.bean.projectEnclosureInfoList,// 项目组织和分工的附件回显
'planEnclosureUpload': json.bean.planEnclosureInfoList // 实施计划和方案的附件回显
});
// 业务需求和目标的附件回显
skyeyeEnclosure.showDetails({"businessEnclosureUpload": json.bean.businessEnclosureInfoList});
ue = ueEditorUtil.initEditor('container');
ue.addListener("ready", function () {
if (!isNull(json.bean.projectContent))
ue.setContent(json.bean.projectContent);
else
ue.setContent("在此处填写您的[分工明细]");
});
planUe = ueEditorUtil.initEditor('planContainer');
planUe.addListener("ready", function () {
if (!isNull(json.bean.planContent))
planUe.setContent(json.bean.planContent);
else
planUe.setContent("在此处填写您的[实施计划和方案]");
});
//初始化项目经理
toProjectManager = [].concat(json.bean.projectManagerList);
var toProjectManagerName = "";
$.each(json.bean.projectManagerList, function(i, item) {
toProjectManagerName += item.name + ',';
});
//初始化项目赞助人
toProjectSponsor = [].concat(json.bean.projectSponsorList);
var toProjectSponsorName = "";
$.each(json.bean.projectSponsorList, function(i, item) {
toProjectSponsorName += item.name + ',';
});
//初始化项目组成员
toProjectMembers = [].concat(json.bean.projectMembersList);
var toProjectMembersName = "";
$.each(json.bean.projectMembersList, function(i, item) {
toProjectMembersName += item.name + ',';
});
$('#projectManager').tagEditor({
initialTags: toProjectManagerName.split(','),
placeholder: '请选择项目经理',
editorTag: false,
beforeTagDelete: function(field, editor, tags, val) {
toProjectManager = [].concat(arrayUtil.removeArrayPointName(toProjectManager, val));
}
});
$('#projectSponsor').tagEditor({
initialTags: toProjectSponsorName.split(','),
placeholder: '请选择项目赞助人',
editorTag: false,
beforeTagDelete: function(field, editor, tags, val) {
toProjectSponsor = [].concat(arrayUtil.removeArrayPointName(toProjectSponsor, val));
}
});
$('#projectMembers').tagEditor({
initialTags: toProjectMembersName.split(','),
placeholder: '请选择项目组成员',
editorTag: false,
beforeTagDelete: function(field, editor, tags, val) {
toProjectMembers = [].concat(arrayUtil.removeArrayPointName(toProjectMembers, val));
}
});
matchingLanguage();
form.render();
form.on('submit(formAppointBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
toProjectManager: systemCommonUtil.tagEditorGetAllData('projectManager', toProjectManager), // 项目经理
toProjectSponsor: systemCommonUtil.tagEditorGetAllData('projectSponsor', toProjectSponsor), // 项目赞助人
toProjectMembers: systemCommonUtil.tagEditorGetAllData('projectMembers', toProjectMembers), // 项目组成员
projectEnclosureInfoStr: skyeyeEnclosure.getEnclosureIdsByBoxId('projectEnclosureUpload'),
planEnclosureInfoStr: skyeyeEnclosure.getEnclosureIdsByBoxId('planEnclosureUpload'),
projectContent: encodeURIComponent(ue.getContent()),
planContent: encodeURIComponent(planUe.getContent())
};
if (isNull(params.toProjectManager)) {
winui.window.msg("请选择项目经理", {icon: 2, time: 2000});
return false;
}
if (isNull(params.toProjectMembers)) {
winui.window.msg("请选择项目成员", {icon: 2, time: 2000});
return false;
}
if (isNull(params.projectContent)) {
winui.window.msg("请填写业务需求和目标", {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "proproject014", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
}
});
//项目经理选择
$("body").on("click", "#toProjectManager", function (e) {
systemCommonUtil.userReturnList = [].concat(toProjectManager);
systemCommonUtil.chooseOrNotMy = "1"; // 人员列表中是否包含自己--1.包含;其他参数不包含
systemCommonUtil.chooseOrNotEmail = "2"; // 人员列表中是否必须绑定邮箱--1.必须;其他参数没必要
systemCommonUtil.checkType = "1"; // 人员选择类型,1.多选;其他。单选
systemCommonUtil.openSysUserStaffChoosePage(function (userReturnList) {
// 重置数据
toProjectManager = [].concat(systemCommonUtil.tagEditorResetData('projectManager', userReturnList));
});
});
//项目赞助人选择
$("body").on("click", "#toProjectSponsor", function (e) {
systemCommonUtil.userReturnList = [].concat(toProjectSponsor);
systemCommonUtil.chooseOrNotMy = "1"; // 人员列表中是否包含自己--1.包含;其他参数不包含
systemCommonUtil.chooseOrNotEmail = "2"; // 人员列表中是否必须绑定邮箱--1.必须;其他参数没必要
systemCommonUtil.checkType = "1"; // 人员选择类型,1.多选;其他。单选
systemCommonUtil.openSysUserStaffChoosePage(function (userReturnList) {
// 重置数据
toProjectSponsor = [].concat(systemCommonUtil.tagEditorResetData('projectSponsor', userReturnList));
});
});
//项目组成员选择
$("body").on("click", "#toProjectMembers", function (e) {
systemCommonUtil.userReturnList = [].concat(toProjectMembers);
systemCommonUtil.chooseOrNotMy = "1"; // 人员列表中是否包含自己--1.包含;其他参数不包含
systemCommonUtil.chooseOrNotEmail = "2"; // 人员列表中是否必须绑定邮箱--1.必须;其他参数没必要
systemCommonUtil.checkType = "1"; // 人员选择类型,1.多选;其他。单选
systemCommonUtil.openSysUserStaffChoosePage(function (userReturnList) {
// 重置数据
toProjectMembers = [].concat(systemCommonUtil.tagEditorResetData('projectMembers', userReturnList));
});
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
// 项目成果与总结
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
laydate = layui.laydate;
var ue;
showGrid({
id: "showForm",
url: flowableBasePath + "proproject015",
params: {rowId: parent.rowId},
pagination: false,
template: $("#beanTemplate").html(),
ajaxSendLoadBefore: function(hdb) {
},
ajaxSendAfter: function (json) {
// 业务需求和目标的附件回显
if(json.bean.businessEnclosureInfoList.length != 0 && json.bean.businessEnclosureInfoList != ""){
var str = "";
$.each([].concat(json.bean.businessEnclosureInfoList), function(i, item) {
str += '<a rowid="' + item.id + '" class="enclosureItem" rowpath="' + item.fileAddress + '" href="javascript:;" style="color:blue;">' + item.name + '</a><br>';
});
$("#businessEnclosureInfoListBox").html(str);
}
// 项目组织和分工的附件回显
if(json.bean.projectEnclosureInfoList.length != 0 && json.bean.projectEnclosureInfoList != ""){
var str = "";
$.each([].concat(json.bean.projectEnclosureInfoList), function(i, item) {
str += '<a rowid="' + item.id + '" class="enclosureItem" rowpath="' + item.fileAddress + '" href="javascript:;" style="color:blue;">' + item.name + '</a><br>';
});
$("#projectEnclosureInfoListBox").html(str);
}
// 实施计划和方案的附件回显
if(json.bean.planEnclosureInfoList.length != 0 && json.bean.planEnclosureInfoList != ""){
var str = "";
$.each([].concat(json.bean.planEnclosureInfoList), function(i, item) {
str += '<a rowid="' + item.id + '" class="enclosureItem" rowpath="' + item.fileAddress + '" href="javascript:;" style="color:blue;">' + item.name + '</a><br>';
});
$("#planEnclosureInfoListBox").html(str);
}
// 项目成果和总结的附件回显
skyeyeEnclosure.initTypeISData({'enclosureUpload': json.bean.resultsEnclosureInfoList});
ue = ueEditorUtil.initEditor('resultsContent');
ue.addListener("ready", function () {
if (!isNull(json.bean.resultsContent))
ue.setContent(json.bean.resultsContent);
else
ue.setContent("在此处填写您的[项目成果和总结]");
});
laydate.render({elem: '#actualStartTime', value: json.bean.actualStartTime});
laydate.render({elem: '#actualEndTime', value: json.bean.actualEndTime});
matchingLanguage();
form.render();
//保存按钮
form.on('submit(formPerfectBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
actualStartTime: $("#actualStartTime").val(),
actualEndTime: $("#actualEndTime").val(),
subType: '1',
resultsEnclosureInfoStr: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload')
};
//获取内容
params.resultsContent = encodeURIComponent(ue.getContent());
if(isNull(params.resultsContent)){
winui.window.msg("请填写项目成果和总结", {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "proproject016", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
//完结按钮
form.on('submit(formPerfectEndBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
actualStartTime: $("#actualStartTime").val(),
actualEndTime: $("#actualEndTime").val(),
subType: '2',
resultsEnclosureInfoStr: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload')
};
//获取内容
params.resultsContent = encodeURIComponent(ue.getContent());
if(isNull(params.resultsContent)){
winui.window.msg("请填写项目成果和总结", {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "proproject016", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
}
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
// 项目信息管理
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate', 'tagEditor', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
laydate = layui.laydate;
var serviceClassName = sysServiceMation["proProject"]["key"];
var selOption = getFileContent('tpl/template/select-option.tpl');
// 计划开始时间
laydate.render({elem: '#startTime', type: 'date', trigger: 'click'});
// 计划完成时间
laydate.render({elem: '#endTime', type: 'date', trigger: 'click'});
var ue = ueEditorUtil.initEditor('container');
// 项目分类
sysDictDataUtil.showDictDataListByDictTypeCode(sysDictData["pmProjectType"]["key"], 'select', "typeId", '', form);
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function(data) {
$("#departmentId").html(getDataUseHandlebars(selOption, data));
$("#departmentId").val(data.bean.departments);
form.render('select');
});
skyeyeEnclosure.init('enclosureUpload');
matchingLanguage();
form.render();
// 保存为草稿
form.on('submit(formAddBean)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData("1", "");
}
return false;
});
// 提交审批
form.on('submit(formSubBean)', function(data) {
if(winui.verifyForm(data.elem)) {
activitiUtil.startProcess(serviceClassName, null, function (approvalId) {
saveData("2", approvalId);
});
}
return false;
});
function saveData(subType, approvalId) {
var params = {
projectName: $("#projectName").val(),
projectNumber: $("#projectNumber").val(),
startTime: $("#startTime").val(),
endTime: $("#endTime").val(),
contactName: $("#contactName").val(),
telphone: $("#telphone").val(),
mobile: $("#mobile").val(),
mail: $("#mail").val(),
qq: $("#qq").val(),
estimatedWorkload: $("#estimatedWorkload").val(),
estimatedCost: $("#estimatedCost").val(),
customerId: sysCustomerUtil.customerMation.id,
departmentId: $("#departmentId").val(),
typeId: $("#typeId").val(),
contractId: $("#contractId").val(),
businessEnclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload'),
subType: subType, // 表单类型 1.保存草稿 2.提交审批
approvalId: approvalId
};
// 获取内容
params.businessContent = encodeURIComponent(ue.getContent());
if(isNull(params.businessContent)){
winui.window.msg("请填写业务需求和目标", {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "proproject003", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
function contractId(id){
//合同
showGrid({
id: "contractId",
url: flowableBasePath + "mycrmcontract008",
params: {id: id},
pagination: false,
template: getFileContent('tpl/template/select-option.tpl'),
ajaxSendLoadBefore: function(hdb) {
},
ajaxSendAfter:function (json) {
form.render('select');
}
});
}
$("body").on("click", "#customMationSel", function (e) {
sysCustomerUtil.openSysCustomerChoosePage(function (customerMation) {
contractId(customerMation.id);
$("#customName").val(customerMation.customName);
$("#telphone").val(customerMation.workPhone);
$("#mobile").val(customerMation.mobilePhone);
$("#mail").val(customerMation.email);
$("#qq").val(customerMation.qq);
});
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
showGrid({
id: "showForm",
url: flowableBasePath + "proproject005",
params: {rowId: parent.rowId},
pagination: false,
template: getFileContent('tpl/proproject/proprojectdetailsTemplate.tpl'),
ajaxSendLoadBefore: function(hdb) {
},
ajaxSendAfter: function (json) {
// 获取当前登录员工信息
systemCommonUtil.getSysCurrentLoginUserMation(function (data) {
$("#orderDetailTitle").html(data.bean.companyName + '项目详情信息');
});
// 附件回显
skyeyeEnclosure.showDetails({
"businessEnclosureInfoListBox": json.bean.businessEnclosureInfoList, // 业务需求和目标的附件回显
"projectEnclosureInfoListBox": json.bean.projectEnclosureInfoList, // 项目组织和分工的附件回显
"planEnclosureInfoListBox": json.bean.planEnclosureInfoList, // 实施计划和方案的附件回显
"resultsEnclosureInfoListBox": json.bean.resultsEnclosureInfoList, // 项目成果和总结的附件回显
});
matchingLanguage();
form.render();
}
});
});
});
\ No newline at end of file
var customerList = new Array();//客户信息列表
// 项目信息管理
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate', 'tagEditor', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
laydate = layui.laydate;
var serviceClassName = sysServiceMation["proProject"]["key"];
var ue;
showGrid({
id: "showForm",
url: flowableBasePath + "proproject006",
params: {rowId: parent.rowId},
pagination: false,
template: getFileContent('tpl/proproject/proprojecteditTemplate.tpl'),
ajaxSendLoadBefore: function(hdb) {},
ajaxSendAfter: function (json) {
if(json.bean.state == 1){
$(".typeTwo").removeClass("layui-hide");
} else {
$(".typeOne").removeClass("layui-hide");
}
// 计划开始时间
laydate.render({elem: '#startTime', type: 'date', trigger: 'click'});
// 计划完成时间
laydate.render({elem: '#endTime', type: 'date', trigger: 'click'});
ue = ueEditorUtil.initEditor('container');
ue.addListener("ready", function () {
ue.setContent(json.bean.businessContent);
});
// 项目分类
sysDictDataUtil.showDictDataListByDictTypeCode(sysDictData["pmProjectType"]["key"], 'select', "typeId", json.bean.typeId, form);
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function(data) {
$("#departmentId").html(getDataUseHandlebars(getFileContent('tpl/template/select-option.tpl'), data));
$("#departmentId").val(json.bean.departmentId);
form.render('select');
});
sysCustomerUtil.customerMation = {
id: json.bean.customerId
};
// 附件回显
skyeyeEnclosure.initTypeISData({'enclosureUpload': json.bean.businessEnclosureInfo});
matchingLanguage();
form.render();
}
});
// 保存为草稿
form.on('submit(formEditBean)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData('1', "");
}
return false;
});
// 提交审批
form.on('submit(formSubBean)', function(data) {
if(winui.verifyForm(data.elem)) {
activitiUtil.startProcess(serviceClassName, null, function (approvalId) {
saveData("2", approvalId);
});
}
return false;
});
// 工作流中保存
form.on('submit(save)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData('3', "");
}
return false;
});
function saveData(subType, approvalId) {
var params = {
rowId: parent.rowId,
projectName: $("#projectName").val(),
projectNumber: $("#projectNumber").val(),
startTime: $("#startTime").val(),
endTime: $("#endTime").val(),
contactName: $("#contactName").val(),
telphone: $("#telphone").val(),
mobile: $("#mobile").val(),
mail: $("#mail").val(),
qq: $("#qq").val(),
estimatedWorkload: $("#estimatedWorkload").val(),
estimatedCost: $("#estimatedCost").val(),
businessContent: $("#businessContent").val(),
customerId: sysCustomerUtil.customerMation.id,
departmentId: $("#departmentId").val(),
typeId: $("#typeId").val(),
contractId: $("#contractId").val(),
businessEnclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload'),
subType: subType, // 1:保存为草稿 2.提交到工作流 3.在工作流中编辑
approvalId: approvalId,
};
//获取内容
params.businessContent = encodeURIComponent(ue.getContent());
if(isNull(params.businessContent)){
winui.window.msg("请填写业务需求和目标", {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "proproject007", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
function contractId(id){
//合同
showGrid({
id: "contractId",
url: flowableBasePath + "mycrmcontract008",
params: {id: id},
pagination: false,
template: getFileContent('tpl/template/select-option.tpl'),
ajaxSendLoadBefore: function(hdb) {
},
ajaxSendAfter:function (json) {
form.render('select');
}
});
}
$("body").on("click", "#customMationSel", function (e) {
sysCustomerUtil.openSysCustomerChoosePage(function (customerMation) {
contractId(customerMation.id);
$("#customName").val(customerMation.customName);
$("#telphone").val(customerMation.workPhone);
$("#mobile").val(customerMation.mobilePhone);
$("#mail").val(customerMation.email);
$("#qq").val(customerMation.qq);
});
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn search-table-btn-right" auth="1574672416396"><i class="fa fa-plus" aria-hidden="true"></i>新建项目</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(d.editRow == '1'){ }}
{{# if(auth('1691057202519')) { }}
<a class="layui-btn layui-btn-xs" lay-event="subApproval">提交审批</a>
{{# } }}
{{# if(auth('1574672480012')) { }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="cancellation">作废</a>
{{# } }}
{{# if(auth('1574672459168')) { }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
{{# if(auth('1574672416396')) { }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# } }}
{{# if(d.editRow == '2') { }}
{{# if(auth('1574672469648')) { }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销</a>
{{# } }}
{{# } }}
{{# if(d.state == 'pass') { }}
{{# if(auth('1574672493800')) { }}
<a class="layui-btn layui-btn-xs layui-btn-primary" lay-event="execute">开始执行</a>
{{# } }}
{{# } }}
{{# if(d.state == 'executing' || d.state == 'completed') { }}
{{# if(auth('1574672528063')) { }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="end">成果和总结</a>
{{# } }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="giveService">服务</a>
{{# } }}
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/project/'}).use('projectList');
</script>
</body>
</html>
\ No newline at end of file
...@@ -7,15 +7,16 @@ ...@@ -7,15 +7,16 @@
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" /> <link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div style="padding:20px; margin:0 auto;"> <div class="body-box">
<form class="layui-form" action="" id="showForm"> <div class="layui-col-xs12" style="height: 100%" id="tab">
</form> </div>
</div> </div>
<script src="../../assets/lib/layui/layui.js"></script> <script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script> <script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript"> <script type="text/javascript">
layui.config({base: '../../js/proproject/'}).use('proprojectdetails'); layui.config({base: '../../js/project/'}).use('projectManage');
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目名称</label>
<div class="layui-input-block ver-center">
{{projectName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目分类</label>
<div class="layui-input-block ver-center">
{{typeName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目编号</label>
<div class="layui-input-block ver-center">
{{projectNumber}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block ver-center">
{{departmentName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间</label>
<div class="layui-input-block ver-center">
{{startTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划完成时间</label>
<div class="layui-input-block ver-center">
{{endTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">客户名称</label>
<div class="layui-input-block ver-center">
{{customerName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">关联合同</label>
<div class="layui-input-block ver-center">
{{contractName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">对方联系人</label>
<div class="layui-input-block ver-center">
{{contactName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">固定电话</label>
<div class="layui-input-block ver-center">
{{telphone}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">移动电话</label>
<div class="layui-input-block ver-center">
{{mobile}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">QQ号</label>
<div class="layui-input-block ver-center">
{{qq}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-block ver-center">
{{mail}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估工作量</label>
<div class="layui-input-block ver-center">
{{estimatedWorkload}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估成本费用</label>
<div class="layui-input-block ver-center">
{{estimatedCost}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">状态</label>
<div class="layui-input-block ver-center">
{{stateName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">业务需求和目标</span><hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">需求和目标</label>
<div class="layui-input-block ver-center">
{{{businessContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block" id="businessEnclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目组织和分工</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目经理<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="projectManager" name="projectManager" class="layui-input"/>
<i class="fa fa-user-plus input-icon" id="toProjectManager"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目赞助人</label>
<div class="layui-input-block">
<input type="text" id="projectSponsor" name="projectSponsor" class="layui-input"/>
<i class="fa fa-user-plus input-icon" id="toProjectSponsor"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">项目组成员<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="projectMembers" name="projectMembers" class="layui-input"/>
<i class="fa fa-user-plus input-icon" id="toProjectMembers"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs10" style="margin-left: 8%;">
<div id="container" name="content" type="text/plain"></div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block" id="projectEnclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">实施计划和方案</span><hr>
</div>
<div class="layui-form-item layui-col-xs10" style="margin-left: 8%;">
<div id="planContainer" name="planContainer" type="text/plain"></div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block" id="planEnclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAppointBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.all.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/proproject/'}).use('proappoint');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding-top:10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">项目名称</label>
<div class="layui-input-inline">
<input type="text" id="proName" name="proName" placeholder="请输入项目名称" class="layui-input" />
</div>
<label class="layui-form-label">项目分类</label>
<div class="layui-input-inline">
<select id="typeId">
</select>
</div>
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<select id="state">
<option value="">全部</option>
<option value="0">草稿</option>
<option value="1">审核中</option>
<option value="11">审核通过</option>
<option value="12">审核不通过</option>
<option value="2">执行中</option>
<option value="3">已完结</option>
<option value="4">作废</option>
<option value="5">撤销</option>
</select>
</div>
<label class="layui-form-label">项目所属</label>
<div class="layui-input-inline">
<select id="proBelongId">
<option value="">全部</option>
<option value="1">我发起的项目</option>
<option value="2">我负责的项目</option>
<option value="3">我参与的项目</option>
<option value="4">我赞助的项目</option>
</select>
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" lay-submit lay-filter="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn" auth="1574672416396"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(d.editRow == '1' || d.editRow == '2'){ }}
{{# if(auth('1574672432007')){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# } }}
{{# if(d.state == '0' || d.state == '12' || d.state == '5'){ }}
<a class="layui-btn layui-btn-xs" lay-event="subApproval">提交审批</a>
{{# if(auth('1574672459168')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
{{# if(auth('1574672480012')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="nullify">作废</a>
{{# } }}
{{# } }}
{{# if(d.editRow == '2'){ }}
{{# if(auth('1574672469648')){ }}
<a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="revoke">撤销</a>
{{# } }}
{{# } }}
{{# if(d.state == '11'){ }}
{{# if(auth('1574672507064')){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="proappoint">项目任命</a>
{{# } }}
{{# if(auth('1574672493800')){ }}
<a class="layui-btn layui-btn-xs layui-btn-primary" lay-event="execute">开始执行</a>
{{# } }}
{{# } }}
{{# if(d.state == '2'){ }}
{{# if(auth('1574672528063')){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="end">成果和总结</a>
{{# } }}
{{# if(auth('1574672480012')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="nullify">作废</a>
{{# } }}
{{# } }}
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/proproject/'}).use('projectList');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目基本信息</span>
<hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目名称</label>
<div class="layui-input-block ver-center">
{{projectName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目分类</label>
<div class="layui-input-block ver-center">
{{typeName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目编号</label>
<div class="layui-input-block ver-center">
{{projectNumber}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block ver-center">
{{departmentName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间</label>
<div class="layui-input-block ver-center">
{{startTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划完成时间</label>
<div class="layui-input-block ver-center">
{{endTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">客户名称</label>
<div class="layui-input-block ver-center">
{{customerName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">关联合同</label>
<div class="layui-input-block ver-center">
{{contractName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">对方联系人</label>
<div class="layui-input-block ver-center">
{{contactName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">固定电话</label>
<div class="layui-input-block ver-center">
{{telphone}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">移动电话</label>
<div class="layui-input-block ver-center">
{{mobile}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">QQ号</label>
<div class="layui-input-block ver-center">
{{qq}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-block ver-center">
{{mail}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估工作量</label>
<div class="layui-input-block ver-center">
{{estimatedWorkload}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估成本费用</label>
<div class="layui-input-block ver-center">
{{estimatedCost}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">状态</label>
<div class="layui-input-block ver-center">
{{stateName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">业务需求和目标</span>
<hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">需求和目标</label>
<div class="layui-input-block ver-center">
{{{businessContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block ver-center" id="businessEnclosureInfoListBox">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目组织和分工</span>
<hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目经理</label>
<div class="layui-input-block ver-center">
{{projectManagerName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目赞助人</label>
<div class="layui-input-block ver-center">
{{projectSponsorName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">项目组成员</label>
<div class="layui-input-block ver-center">
{{projectMembersName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">分工明细</label>
<div class="layui-input-block ver-center">
{{{projectContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block ver-center" id="projectEnclosureInfoListBox">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">实施计划和方案</span>
<hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">计划和方案</label>
<div class="layui-input-block ver-center">
{{{planContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block ver-center" id="planEnclosureInfoListBox">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目成果和总结</span>
<hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">实际开始时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="actualStartTime" name="actualStartTime" win-verify="required" placeholder="请选择实际开始时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">实际完成时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="actualEndTime" name="actualEndTime" win-verify="required" placeholder="请选择实际完成时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs10" style="margin-left: 8%;">
<div id="resultsContent" name="resultsContent" type="text/plain"></div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block" id="enclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formPerfectBean"><language showName="com.skyeye.save"></language></button>
<button class="winui-btn" lay-submit lay-filter="formPerfectEndBean">完结</button>
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.all.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/proproject/'}).use('properfectinformation');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="projectName" name="projectName" win-verify="required" placeholder="请输入项目名称" class="layui-input" maxlength="100"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目分类<i class="red">*</i></label>
<div class="layui-input-block">
<select id="typeId" name="typeId" win-verify="required" lay-filter="typeId" lay-search="">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目编号</label>
<div class="layui-input-block">
<input type="text" id="projectNumber" name="projectNumber" placeholder="请输入项目编号" class="layui-input" maxlength="25"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<select id="departmentId" name="departmentId" lay-filter="departmentId" lay-search="">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="startTime" name="startTime" win-verify="required" placeholder="请选择计划开始时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划完成时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="endTime" name="endTime" win-verify="required" placeholder="请选择计划完成时间" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">客户<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="customName" name="customName" placeholder="请选择客户" class="layui-input" readonly="readonly" win-verify="required"/>
<i class="fa fa-plus-circle input-icon" id="customMationSel"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">关联合同</label>
<div class="layui-input-block">
<select id="contractId" name="contractId" lay-filter="contractId" lay-search="">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">对方联系人</label>
<div class="layui-input-block">
<input type="text" id="contactName" name="contactName" placeholder="请输入对方联系人" class="layui-input" maxlength="25"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">固定电话</label>
<div class="layui-input-block">
<input type="text" id="telphone" name="telphone" win-verify="tel" placeholder="请输入办公电话" class="layui-input" maxlength="20"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">移动电话</label>
<div class="layui-input-block">
<input type="text" id="mobile" name="mobile" win-verify="phone" placeholder="请输入移动电话" class="layui-input" maxlength="11"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-block">
<input type="text" id="mail" name="mail" win-verify="email" placeholder="请输入邮箱" class="layui-input" maxlength="50"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">QQ</label>
<div class="layui-input-block">
<input type="text" id="qq" name="qq" placeholder="请输入QQ" class="layui-input" maxlength="15"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估工作量</label>
<div class="layui-input-block">
<input type="number" id="estimatedWorkload" name="estimatedWorkload" placeholder="请输入预估工作量" class="layui-input" maxlength="50"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估成本费用</label>
<div class="layui-input-block">
<input type="text" id="estimatedCost" name="estimatedCost" placeholder="请输入预估成本费用" class="layui-input" win-verify="money"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">业务需求和目标</span><hr>
</div>
<div class="layui-form-item layui-col-xs10" style="margin-left: 8%;">
<script id="container" name="content" type="text/plain">在此处填写您的[业务需求和目标]</script>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block" id="enclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean">保存为草稿</button>
<button class="winui-btn" lay-submit lay-filter="formSubBean">提交审批</button>
</div>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.all.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/proproject/'}).use('proprojectadd');
</script>
</body>
</html>
\ No newline at end of file
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<span class="detail-title" id="orderDetailTitle"></span><hr>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目名称:</label>
<div class="layui-input-block ver-center">
{{projectName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目分类:</label>
<div class="layui-input-block ver-center">
{{typeName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目编号:</label>
<div class="layui-input-block ver-center">
{{projectNumber}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属部门:</label>
<div class="layui-input-block ver-center">
{{departmentName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间:</label>
<div class="layui-input-block ver-center">
{{startTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划完成时间:</label>
<div class="layui-input-block ver-center">
{{endTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">客户名称:</label>
<div class="layui-input-block ver-center">
{{customerName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">关联合同:</label>
<div class="layui-input-block ver-center">
{{contractName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">对方联系人:</label>
<div class="layui-input-block ver-center">
{{contactName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">固定电话:</label>
<div class="layui-input-block ver-center">
{{telphone}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">移动电话:</label>
<div class="layui-input-block ver-center">
{{mobile}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">QQ号:</label>
<div class="layui-input-block ver-center">
{{qq}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">邮箱:</label>
<div class="layui-input-block ver-center">
{{mail}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估工作量:</label>
<div class="layui-input-block ver-center">
{{estimatedWorkload}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估成本费用:</label>
<div class="layui-input-block ver-center">
{{estimatedCost}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">状态:</label>
<div class="layui-input-block ver-center">
{{stateName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">业务需求和目标</span><hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">需求和目标:</label>
<div class="layui-input-block ver-center">
{{{businessContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件:</label>
<div class="layui-input-block ver-center" id="businessEnclosureInfoListBox">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目组织和分工</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目经理:</label>
<div class="layui-input-block ver-center">
{{projectManagerName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目赞助人:</label>
<div class="layui-input-block ver-center">
{{projectSponsorName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">项目组成员:</label>
<div class="layui-input-block ver-center">
{{projectMembersName}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">分工明细:</label>
<div class="layui-input-block ver-center">
{{{projectContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件:</label>
<div class="layui-input-block ver-center" id="projectEnclosureInfoListBox">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">实施计划和方案</span><hr>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">计划和方案:</label>
<div class="layui-input-block ver-center">
{{{planContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件:</label>
<div class="layui-input-block ver-center" id="planEnclosureInfoListBox">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目成果和总结</span>
<hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">实际开始时间:</label>
<div class="layui-input-block ver-center">
{{actualStartTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">实际完成时间:</label>
<div class="layui-input-block ver-center">
{{actualEndTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">成果和总结:</label>
<div class="layui-input-block ver-center">
{{{resultsContent}}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件:</label>
<div class="layui-input-block ver-center" id="resultsEnclosureInfoListBox">
</div>
</div>
{{/bean}}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/ueditor.all.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/proproject/'}).use('proprojectedit');
</script>
</body>
</html>
\ No newline at end of file
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">项目基本信息</span><hr>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="projectName" name="projectName" win-verify="required" placeholder="请输入项目名称" class="layui-input" value="{{projectName}}" maxlength="100"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目分类<i class="red">*</i></label>
<div class="layui-input-block">
<select id="typeId" name="typeId" win-verify="required" lay-filter="typeId" lay-search="">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">项目编号</label>
<div class="layui-input-block">
<input type="text" id="projectNumber" name="projectNumber" placeholder="请输入项目编号" class="layui-input" value="{{projectNumber}}" maxlength="25"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<select id="departmentId" name="departmentId" lay-filter="departmentId" lay-search="">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划开始时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="startTime" name="startTime" win-verify="required" placeholder="请选择计划开始时间" class="layui-input" value="{{startTime}}" />
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">计划完成时间<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="endTime" name="endTime" win-verify="required" placeholder="请选择计划完成时间" class="layui-input" value="{{endTime}}" />
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">客户<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="customName" name="customName" placeholder="请选择客户" class="layui-input" readonly="readonly" win-verify="required"/>
<i class="fa fa-plus-circle input-icon" id="customMationSel"></i>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">关联合同</label>
<div class="layui-input-block">
<select id="contractId" name="contractId" lay-filter="contractId" lay-search="">
</select>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">对方联系人</label>
<div class="layui-input-block">
<input type="text" id="contactName" name="contactName" placeholder="请输入对方联系人" class="layui-input" value="{{contactName}}" maxlength="25"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">固定电话</label>
<div class="layui-input-block">
<input type="text" id="telphone" name="telphone" win-verify="tel" placeholder="请输入办公电话" class="layui-input" value="{{telphone}}" maxlength="20"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">移动电话</label>
<div class="layui-input-block">
<input type="text" id="mobile" name="mobile" win-verify="phone" placeholder="请输入移动电话" class="layui-input" value="{{mobile}}" maxlength="11"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-block">
<input type="text" id="mail" name="mail" win-verify="email" placeholder="请输入邮箱" class="layui-input" value="{{mail}}" maxlength="50"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">QQ</label>
<div class="layui-input-block">
<input type="text" id="qq" name="qq" placeholder="请输入QQ" class="layui-input" value="{{qq}}" maxlength="15"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估工作量</label>
<div class="layui-input-block">
<input type="number" id="estimatedWorkload" name="estimatedWorkload" placeholder="请输入预估工作量" class="layui-input" value="{{estimatedWorkload}}" maxlength="50"/>
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">预估成本费用</label>
<div class="layui-input-block">
<input type="text" id="estimatedCost" name="estimatedCost" placeholder="请输入预估成本费用" class="layui-input" value="{{estimatedCost}}" win-verify="money"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<span class="hr-title">业务需求和目标</span><hr>
</div>
<div class="layui-form-item layui-col-xs10" style="margin-left: 8%;">
<script id="container" name="content" type="text/plain"></script>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block" id="enclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn typeOne layui-hide" lay-submit lay-filter="formEditBean">保存为草稿</button>
<button class="winui-btn typeOne layui-hide" lay-submit lay-filter="formSubBean">提交审批</button>
<button class="winui-btn typeTwo layui-hide" lay-submit lay-filter="save"><language showName="com.skyeye.save"></language></button>
</div>
</div>
{{/bean}}
\ No newline at end of file
...@@ -102,6 +102,7 @@ var serviceMap = [ ...@@ -102,6 +102,7 @@ var serviceMap = [
{"id": "sysMainMation.checkworkBasePath", "name": "考勤服务"}, {"id": "sysMainMation.checkworkBasePath", "name": "考勤服务"},
{"id": "sysMainMation.bossBasePath", "name": "招聘服务"}, {"id": "sysMainMation.bossBasePath", "name": "招聘服务"},
{"id": "sysMainMation.admBasePath", "name": "行政服务"}, {"id": "sysMainMation.admBasePath", "name": "行政服务"},
{"id": "sysMainMation.projectBasePath", "name": "PM项目服务"},
] ]
function getRequestHeaders() { function getRequestHeaders() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册