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

feat: 项目和任务修改

上级 79ccd57c
...@@ -13,6 +13,8 @@ layui.config({ ...@@ -13,6 +13,8 @@ layui.config({
winui.renderColor(); winui.renderColor();
var $ = layui.$; var $ = layui.$;
var pageId = GetUrlParam("pageId"); var pageId = GetUrlParam("pageId");
var callbackFun = GetUrlParam("callbackFun");
serviceClassName = GetUrlParam("serviceClassName"); serviceClassName = GetUrlParam("serviceClassName");
if (isNull(pageId)) { if (isNull(pageId)) {
winui.window.msg("请传入布局id", {icon: 2, time: 2000}); winui.window.msg("请传入布局id", {icon: 2, time: 2000});
...@@ -95,9 +97,11 @@ layui.config({ ...@@ -95,9 +97,11 @@ layui.config({
var serviceClassName = pageMation.className; var serviceClassName = pageMation.className;
if (pageMation.type == 'create') { if (pageMation.type == 'create') {
// 创建布局 // 创建布局
initSavePre();
dsFormUtil.initCreatePage('content', pageMation); dsFormUtil.initCreatePage('content', pageMation);
} else if (pageMation.type == 'edit') { } else if (pageMation.type == 'edit') {
// 编辑布局 // 编辑布局
initSavePre();
dsFormUtil.getBusinessData(businessId, serviceClassName, pageMation, function (data) { dsFormUtil.getBusinessData(businessId, serviceClassName, pageMation, function (data) {
dsFormUtil.initEditPage('content', pageMation, data); dsFormUtil.initEditPage('content', pageMation, data);
}); });
...@@ -112,6 +116,15 @@ layui.config({ ...@@ -112,6 +116,15 @@ layui.config({
} }
} }
function initSavePre() {
dsFormUtil.options.savePreParams = function (params) {
if (!isNull(callbackFun)) {
//就相当于parent.updateShowFileName(参数1,参数2。。)
parent[callbackFun](params)
}
}
}
function initSaveForDraftBtn() { function initSaveForDraftBtn() {
var flowable = dsFormUtil.getFlowable(pageMation); var flowable = dsFormUtil.getFlowable(pageMation);
if (flowable) { if (flowable) {
......
var objectKey = ""; var objectKey = "";
var objectId = ""; var objectId = "";
var holderId = "";
var parentId = "";
layui.config({ layui.config({
base: basePath, base: basePath,
version: skyeyeVersion version: skyeyeVersion
}).extend({ }).extend({
window: 'js/winui.window' window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form', 'table'], function (exports) { }).define(['window', 'jquery', 'winui', 'form', 'tableTreeDj', 'fsTree'], function (exports) {
winui.renderColor(); winui.renderColor();
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
table = layui.table; fsTree = layui.fsTree,
tableTree = layui.tableTreeDj;
objectKey = GetUrlParam("objectKey"); objectKey = GetUrlParam("objectKey");
objectId = GetUrlParam("objectId"); objectId = GetUrlParam("objectId");
if (isNull(objectKey) || isNull(objectId)) { if (isNull(objectKey) || isNull(objectId)) {
...@@ -39,107 +43,145 @@ layui.config({ ...@@ -39,107 +43,145 @@ layui.config({
btnStr += `</div>`; btnStr += `</div>`;
$(".winui-toolbar").before(btnStr); $(".winui-toolbar").before(btnStr);
table.render({ /********* tree 处理 start *************/
id: 'messageTable', fsTree.render({
elem: '#messageTable', id: "treeDemo",
method: 'post', url: sysMainMation.projectBasePath + 'queryAllApprovalMilestoneList?objectId=' + objectId,
url: sysMainMation.projectBasePath + 'queryProTaskList', checkEnable: false,
where: getTableParams(), showLine: false,
even: true, showIcon: true,
page: true, addDiyDom: ztreeUtil.addDiyDom,
limits: getLimits(), clickCallback: onClickTree,
limit: getLimit(), onDblClick: onClickTree
cols: [[ }, function(id) {
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' }, fuzzySearch(id, '#name', null, true);
{ field: 'oddNumber', title: '任务单号', width: 200, align: 'center', templet: function (d) { initLoadTable();
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>'; ztreeUtil.initEventListener(id);
}}, });
{ field: 'name', title: '任务名称', width: 200 },
{ field: 'startTime', title: '开始时间', align: 'center', width: 100 }, //异步加载的方法
{ field: 'endTime', title: '结束时间', align: 'center', width: 100 }, function onClickTree(event, treeId, treeNode) {
{ field: 'estimatedWorkload', title: '预计工作量', align: 'center', width: 120 }, if(treeNode == undefined) {
{ field: 'actualWorkload', title: '实际工作量', align: 'center', width: 120 }, holderId = "";
{ field: 'processInstanceId', title: '流程ID', align: 'center', width: 100, templet: function (d) { } else {
return '<a lay-event="processDetails" class="notice-title-click">' + getNotUndefinedVal(d.processInstanceId) + '</a>'; holderId = treeNode.id;
}}, }
{ field: 'state', title: '状态', width: 90, templet: function (d) { loadTable();
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("taskStateEnum", 'id', d.state, 'name'); }
}}, function initLoadTable() {
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], align: 'left', width: 120 }, tableTree.render({
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 }, id: 'messageTable',
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 }, elem: '#messageTable',
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 }, method: 'post',
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 250, templet: function (d) { url: sysMainMation.projectBasePath + 'queryProTaskList',
var str = ''; where: getTableParams(),
if (d.editRow == 1) { even: true,
if (authPermission['submitToApproval']) { page: true,
str += '<a class="layui-btn layui-btn-xs" lay-event="subApproval">提交审批</a>'; limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'oddNumber', title: '任务单号', width: 200, align: 'center', templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
}},
{ field: 'name', title: '任务名称', width: 200 },
{ field: 'milestoneId', title: '里程碑', align: 'center', width: 100, templet: function (d) {
return getNotUndefinedVal(d.milestoneMation?.name);
}},
{ field: 'startTime', title: '开始时间', align: 'center', width: 100 },
{ field: 'endTime', title: '结束时间', align: 'center', width: 100 },
{ field: 'estimatedWorkload', title: '预计工作量', align: 'center', width: 120 },
{ field: 'actualWorkload', title: '实际工作量', align: 'center', width: 120 },
{ field: 'processInstanceId', title: '流程ID', align: 'center', width: 100, templet: function (d) {
return '<a lay-event="processDetails" class="notice-title-click">' + getNotUndefinedVal(d.processInstanceId) + '</a>';
}},
{ field: 'state', title: '状态', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("taskStateEnum", 'id', d.state, 'name');
}},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], align: 'left', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 250, templet: function (d) {
var str = '';
str += '<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="add">新增子任务</a>';
if (d.editRow == 1) {
if (authPermission['submitToApproval']) {
str += '<a class="layui-btn layui-btn-xs" lay-event="subApproval">提交审批</a>';
}
if (authPermission['edit']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>';
}
if (authPermission['delete']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>';
}
if (authPermission['invalid']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="cancellation">作废</a>';
}
} }
if (authPermission['edit']) { if (d.editRow == 2 && d.state == 'inExamine') {
str += '<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>'; if (authPermission['revoke']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销</a>';
}
} }
if (authPermission['delete']) { if (d.state == 'pass' && authPermission['executing']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>'; str += '<a class="layui-btn layui-btn-xs" lay-event="executionBegin">执行</a>';
} }
if (authPermission['invalid']) { if (d.state == 'executing' && authPermission['completed']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="cancellation">作废</a>'; str += '<a class="layui-btn layui-btn-xs" lay-event="executionOver">完成</a>';
} }
} if (d.state == 'completed' && authPermission['close']) {
if (d.editRow == 2 && d.state == 'inExamine') { str += '<a class="layui-btn layui-btn-xs" lay-event="executionClose">关闭</a>';
if (authPermission['revoke']) {
str += '<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销</a>';
} }
} return str;
if (d.state == 'pass' && authPermission['executing']) { }}
str += '<a class="layui-btn layui-btn-xs" lay-event="executionBegin">执行</a>'; ]],
} done: function(json) {
if (d.state == 'executing' && authPermission['completed']) { matchingLanguage();
str += '<a class="layui-btn layui-btn-xs" lay-event="executionOver">完成</a>'; initTableSearchUtil.initAdvancedSearch($("#messageTable")[0], json.searchFilter, form, "请输入任务名称", function () {
} tableTree.reload("messageTable", {page: {curr: 1}, where: getTableParams()});
if (d.state == 'completed' && authPermission['close']) { });
str += '<a class="layui-btn layui-btn-xs" lay-event="executionClose">关闭</a>'; }
} }, {
return str; keyId: 'id',
}} keyPid: 'parentId',
]], title: 'name',
done: function(json) { });
matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入任务名称", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
});
}
});
table.on('tool(messageTable)', function (obj) { tableTree.getTable().on('tool(messageTable)', function (obj) {
var data = obj.data; var data = obj.data;
var layEvent = obj.event; var layEvent = obj.event;
if (layEvent === 'details'){ //详情 if (layEvent === 'details'){ //新增子任务
details(data); addNew(data);
} else if (layEvent === 'edit') { //编辑 } else if (layEvent === 'details'){ //详情
edit(data); details(data);
} else if (layEvent === 'del'){ //删除 } else if (layEvent === 'edit') { //编辑
del(data, obj); edit(data);
} else if (layEvent === 'subApproval') { //提交审批 } else if (layEvent === 'del'){ //删除
subApproval(data, obj); del(data, obj);
} else if (layEvent === 'processDetails') {//流程详情 } else if (layEvent === 'subApproval') { //提交审批
activitiUtil.activitiDetails(data); subApproval(data, obj);
} else if (layEvent === 'executionBegin') {//开始执行 } else if (layEvent === 'processDetails') {//流程详情
executionBegin(data, obj); activitiUtil.activitiDetails(data);
} else if (layEvent === 'revoke') {//撤销任务审批申请 } else if (layEvent === 'executionBegin') {//开始执行
revoke(data); executionBegin(data, obj);
} else if (layEvent === 'cancellation') {//作废 } else if (layEvent === 'revoke') {//撤销任务审批申请
cancellation(data, obj); revoke(data);
} else if (layEvent === 'executionOver') {//执行完成 } else if (layEvent === 'cancellation') {//作废
executionOver(data); cancellation(data, obj);
} else if (layEvent === 'executionClose') {//任务关闭 } else if (layEvent === 'executionOver') {//执行完成
executionClose(data, obj); executionOver(data);
} } else if (layEvent === 'executionClose') {//任务关闭
}); executionClose(data, obj);
}
});
}
// 添加 // 添加
$("body").on("click", "#addBean", function() { $("body").on("click", "#addBean", function() {
parentId = "";
_openNewWindows({ _openNewWindows({
url: systemCommonUtil.getUrl('FP2023080500001&objectId=' + objectId + '&objectKey=' + objectKey, null), url: systemCommonUtil.getUrl('FP2023080500001&objectId=' + objectId + '&objectKey=' + objectKey + "&callbackFun=savePreParams", null),
title: "新增任务", title: "新增任务",
pageId: "protaskadd", pageId: "protaskadd",
area: ['90vw', '90vh'], area: ['90vw', '90vh'],
...@@ -149,6 +191,20 @@ layui.config({ ...@@ -149,6 +191,20 @@ layui.config({
}}); }});
}); });
// 新增子任务
function addNew(data) {
parentId = data.id;
_openNewWindows({
url: systemCommonUtil.getUrl('FP2023080500001&objectId=' + objectId + '&objectKey=' + objectKey + "&callbackFun=savePreParams", null),
title: '新增子任务',
pageId: "protaskadd",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
// 执行完成 // 执行完成
function executionOver(data) { function executionOver(data) {
_openNewWindows({ _openNewWindows({
...@@ -177,7 +233,7 @@ layui.config({ ...@@ -177,7 +233,7 @@ layui.config({
// 编辑 // 编辑
function edit(data) { function edit(data) {
_openNewWindows({ _openNewWindows({
url: systemCommonUtil.getUrl('FP2023080500002&objectId=' + objectId + '&objectKey=' + objectKey + '&id=' + data.id, null), url: systemCommonUtil.getUrl('FP2023080500002&objectId=' + objectId + '&objectKey=' + objectKey + '&id=' + data.id + "&callbackFun=savePreParams", null),
title: "编辑任务", title: "编辑任务",
pageId: "protaskedit", pageId: "protaskedit",
area: ['90vw', '90vh'], area: ['90vw', '90vh'],
...@@ -270,12 +326,22 @@ layui.config({ ...@@ -270,12 +326,22 @@ layui.config({
loadTable(); loadTable();
}); });
function loadTable() { function loadTable() {
table.reloadData("messageTable", {where: getTableParams()}); tableTree.reload("messageTable", {where: getTableParams()});
} }
function getTableParams() { function getTableParams() {
return $.extend(true, {objectKey: objectKey, objectId: objectId}, initTableSearchUtil.getSearchValue("messageTable")); let params = {
objectKey: objectKey,
objectId: objectId,
holderId: holderId == '0' ? '' : holderId
};
return $.extend(true, params, initTableSearchUtil.getSearchValue("messageTable"));
} }
exports('proTaskList', {}); exports('proTaskList', {});
}); });
// 写入页面保存之前的回调函数
function savePreParams(params) {
params.parentId = parentId
}
...@@ -118,11 +118,11 @@ layui.config({ ...@@ -118,11 +118,11 @@ layui.config({
// 服务 // 服务
function giveService(data) { function giveService(data) {
_openNewWindows({ parent._openNewWindows({
url: '../../tpl/project/projectManage.html?objectId=' + data.id + '&objectKey=' + data.serviceClassName, url: '../../tpl/project/projectManage.html?objectId=' + data.id + '&objectKey=' + data.serviceClassName,
title: "服务", title: "服务",
pageId: "projectGiveService", pageId: "projectGiveService",
area: ['90vw', '90vh'], area: ['100vw', '100vh'],
callBack: function (refreshCode) { callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000}); winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable(); loadTable();
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<title></title> <title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" /> <link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" /> <link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
<link href="../../assets/lib/layui/lay/modules/ztree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/customer/ztree/common-tree.css" rel="stylesheet" />
</head> </head>
<body> <body>
<div class="winui-toolbar"> <div class="winui-toolbar">
...@@ -13,12 +15,25 @@ ...@@ -13,12 +15,25 @@
<button id="addBean" class="winui-toolbtn search-table-btn-right" auth="add"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button> <button id="addBean" class="winui-toolbtn search-table-btn-right" auth="add"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button>
</div> </div>
</div> </div>
<div style="margin:auto 10px;"> <div class="layui-row">
<table id="messageTable" lay-filter="messageTable"></table> <div style="width: 240px; float: left; height: 100%; overflow: auto; padding: 5px;">
<input type="text" id="name" name="name" placeholder="请输入要搜索的节点" class="layui-input" />
<ul id="treeDemo" class="ztree fsTree" method="get" isRoot="1"
treeIdKey="id" inputs="parentId" treePIdKey="pId" clickCallbackInputs="parentId:$id" treeName="name"></ul>
</div>
<div style="width: calc(100% - 250px); float: left;">
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
</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" src="../../assets/lib/layui/lay/modules/jquery-min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/jquery.ztree.all.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/jquery.ztree.exhide.min.js"></script>
<script type="text/javascript" src="../../assets/lib/layui/lay/modules/ztree/js/fuzzysearch.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/proTask/'}).use('proTaskList'); layui.config({base: '../../js/proTask/'}).use('proTaskList');
</script> </script>
</body> </body>
......
...@@ -107,6 +107,7 @@ ...@@ -107,6 +107,7 @@
"taskAuthEnum": {"name": "项目任务权限", "className": "skyeye-project#com.skyeye.task.classenum.TaskAuthEnum", "pageUrl": "../../tpl/proTask/proTaskList.html"}, "taskAuthEnum": {"name": "项目任务权限", "className": "skyeye-project#com.skyeye.task.classenum.TaskAuthEnum", "pageUrl": "../../tpl/proTask/proTaskList.html"},
"milestoneStateEnum": {"name": "里程碑状态", "className": "skyeye-project#com.skyeye.milestone.classenum.MilestoneStateEnum"}, "milestoneStateEnum": {"name": "里程碑状态", "className": "skyeye-project#com.skyeye.milestone.classenum.MilestoneStateEnum"},
"milestoneImported": {"name": "里程碑重要性", "className": "skyeye-project#com.skyeye.milestone.classenum.MilestoneImported"}, "milestoneImported": {"name": "里程碑重要性", "className": "skyeye-project#com.skyeye.milestone.classenum.MilestoneImported"},
"taskImported": {"name": "任务重要性", "className": "skyeye-project#com.skyeye.task.classenum.TaskImported"},
"dsFormPageType": {"name": "表单布局类型", "className": "skyeye-pro#com.skyeye.dsform.classenum.DsFormPageType"}, "dsFormPageType": {"name": "表单布局类型", "className": "skyeye-pro#com.skyeye.dsform.classenum.DsFormPageType"},
"simpleTableWhetherChoose": {"name": "表格类型的布局是否开启选择功能", "className": "skyeye-pro#com.skyeye.dsform.classenum.SimpleTableWhetherChoose"}, "simpleTableWhetherChoose": {"name": "表格类型的布局是否开启选择功能", "className": "skyeye-pro#com.skyeye.dsform.classenum.SimpleTableWhetherChoose"},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册