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

任务管理托管到表单布局

上级 08948409
......@@ -7,7 +7,7 @@ layui.config({
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form'], function (exports) {
}).define(['window', 'jquery', 'winui', 'form', 'table'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
......@@ -20,7 +20,7 @@ layui.config({
}
var authPermission = teamObjectPermissionUtil.checkTeamBusinessAuthPermission(objectId, 'taskAuthEnum');
var btnStr = `<div style="" class="type-group" id="temp">`;
var btnStr = `<div style="" class="type-group" id="type">`;
var firstBtn = true;
if (authPermission['list']) {
var defaultClassName = firstBtn ? 'plan-select' : '';
......@@ -30,7 +30,7 @@ layui.config({
if (authPermission['myExecute']) {
var defaultClassName = firstBtn ? 'plan-select' : '';
firstBtn = false;
btnStr += `<button type="button" class="layui-btn layui-btn-primary type-btn ${defaultClassName}" data-type="${myExecute}" table-id="messageTable"><i class="layui-icon"></i>我执行的任务</button>`
btnStr += `<button type="button" class="layui-btn layui-btn-primary type-btn ${defaultClassName}" data-type="myExecute" table-id="messageTable"><i class="layui-icon"></i>我执行的任务</button>`
}
if (authPermission['myCreate']) {
var defaultClassName = firstBtn ? 'plan-select' : '';
......@@ -43,7 +43,7 @@ layui.config({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: sysMainMation.crmBasePath + 'queryCrmOpportunityList',
url: sysMainMation.projectBasePath + 'queryProTaskList',
where: getTableParams(),
even: true,
page: true,
......@@ -51,10 +51,10 @@ layui.config({
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'name', title: '任务名称', width: 200, templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.name + '</a>';
}},
{ field: 'oddNumber', title: '任务编号', align: 'left', width: 120 },
{ 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: 'startTime', title: '开始时间', align: 'center', width: 100 },
{ field: 'endTime', title: '结束时间', align: 'center', width: 100 },
{ field: 'estimatedWorkload', title: '预计工作量', align: 'center', width: 120 },
......@@ -91,13 +91,13 @@ layui.config({
}
}
if (d.state == 'pass' && authPermission['executing']) {
str += '<a class="layui-btn layui-btn-xs" lay-event="stateChange">执行</a>';
str += '<a class="layui-btn layui-btn-xs" lay-event="executionBegin">执行</a>';
}
if (d.state == 'executing' && authPermission['completed']) {
str += '<a class="layui-btn layui-btn-xs" lay-event="stateChange">完成</a>';
str += '<a class="layui-btn layui-btn-xs" lay-event="executionOver">完成</a>';
}
if (d.state == 'completed' && authPermission['close']) {
str += '<a class="layui-btn layui-btn-xs" lay-event="stateChange">关闭</a>';
str += '<a class="layui-btn layui-btn-xs" lay-event="executionClose">关闭</a>';
}
return str;
}}
......@@ -110,7 +110,7 @@ layui.config({
}
});
tableTree.getTable().on('tool(messageTable)', function (obj) {
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'details'){ //详情
......@@ -127,8 +127,6 @@ layui.config({
executionBegin(data, obj);
} else if (layEvent === 'revoke') {//撤销任务审批申请
revoke(data);
} else if (layEvent === 'taskSplit') {//拆分任务
taskSplit(data);
} else if (layEvent === 'cancellation') {//作废
cancellation(data, obj);
} else if (layEvent === 'executionOver') {//执行完成
......@@ -140,9 +138,8 @@ layui.config({
// 添加
$("body").on("click", "#addBean", function() {
isSplitTask = false;
_openNewWindows({
url: "../../tpl/protask/protaskadd.html",
url: systemCommonUtil.getUrl('FP2023080500001&objectId=' + objectId + '&objectKey=' + objectKey, null),
title: "新增任务",
pageId: "protaskadd",
area: ['90vw', '90vh'],
......@@ -155,8 +152,8 @@ layui.config({
// 执行完成
function executionOver(data) {
_openNewWindows({
url: "../../tpl/protask/protaskexecution.html",
title: '执行信息',
url: systemCommonUtil.getUrl('FP2023080500005&objectId=' + objectId + '&objectKey=' + objectKey + '&id=' + data.id, null),
title: '完成任务',
pageId: "protaskexecution",
area: ['90vw', '90vh'],
callBack: function (refreshCode) {
......@@ -168,7 +165,7 @@ layui.config({
// 详情
function details(data) {
_openNewWindows({
url: "../../tpl/protask/protaskdetails.html",
url: systemCommonUtil.getUrl('FP2023080500003&objectId=' + objectId + '&objectKey=' + objectKey + '&id=' + data.id, null),
title: "任务详情",
pageId: "protaskdetails",
area: ['90vw', '90vh'],
......@@ -180,7 +177,7 @@ layui.config({
// 编辑
function edit(data) {
_openNewWindows({
url: "../../tpl/protask/protaskedit.html",
url: systemCommonUtil.getUrl('FP2023080500002&objectId=' + objectId + '&objectKey=' + objectKey + '&id=' + data.id, null),
title: "编辑任务",
pageId: "protaskedit",
area: ['90vw', '90vh'],
......@@ -193,10 +190,10 @@ layui.config({
// 开始执行
function executionBegin(data, obj){
var msg = obj ? '确认开始执行【' + obj.data.taskName + '】吗?' : '确认开始执行该任务吗?';
var msg = obj ? '确认开始执行【' + obj.data.name + '】吗?' : '确认开始执行该任务吗?';
layer.confirm(msg, { icon: 3, title: '任务开始执行' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "protask012", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "executionTask", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
......@@ -205,10 +202,10 @@ layui.config({
// 任务关闭
function executionClose(data, obj){
var msg = obj ? '确认关闭【' + obj.data.taskName + '】吗?' : '确认关闭该任务吗?';
var msg = obj ? '确认关闭【' + obj.data.name + '】吗?' : '确认关闭该任务吗?';
layer.confirm(msg, { icon: 3, title: '关闭任务' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "protask014", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "closeTask", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
......@@ -220,7 +217,7 @@ layui.config({
var msg = '确认从工作流中撤销选中数据吗?';
layer.confirm(msg, { icon: 3, title: '撤销任务审批申请' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "protask007", params: {processInstanceId: data.processInstanceId}, type: 'json', method: 'POST', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "revokeTask", params: {processInstanceId: data.processInstanceId}, type: 'json', method: 'PUT', callback: function (json) {
winui.window.msg("提交成功", {icon: 1, time: 2000});
loadTable();
}});
......@@ -236,7 +233,7 @@ layui.config({
id: data.id,
approvalId: approvalId
};
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "protask008", params: params, type: 'json', method: 'POST', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "submitToApprovalTask", params: params, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg("提交成功", {icon: 1, time: 2000});
loadTable();
}});
......@@ -246,10 +243,10 @@ layui.config({
// 作废
function cancellation(data, obj){
var msg = obj ? '确认作废【' + obj.data.taskName + '】吗?' : '确认作废该任务信息吗?';
var msg = obj ? '确认作废【' + obj.data.name + '】吗?' : '确认作废该任务信息吗?';
layer.confirm(msg, { icon: 3, title: '任务作废' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "protask009", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "invalidTask", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
......@@ -258,10 +255,10 @@ layui.config({
// 删除
function del(data, obj) {
var msg = obj ? '确认删除【' + obj.data.taskName + '】吗?' : '确认删除选中数据吗?';
var msg = obj ? '确认删除【' + obj.data.name + '】吗?' : '确认删除选中数据吗?';
layer.confirm(msg, {icon: 3, title: '删除任务'}, function (index) {
layer.close(index);
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "protask006", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.projectBasePath + "deleteProTaskById", params: {id: data.id}, type: 'json', method: 'POST', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
......
var performIdList = new Array();//执行人返回的集合或者进行回显的集合
// 项目工作量分配
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'fileUpload', '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["proTask"]["key"];
var selOption = getFileContent('tpl/template/select-option.tpl');
var ue = ueEditorUtil.initEditor('taskInstructions');
if(parent.isSplitTask == true){
var parentId = parent.rowId;
} else {
var parentId = '0';
}
//选择开始时间
var start = laydate.render({
elem: '#startTime', //指定元素
range: false,
btns: ['now', 'confirm'],
done: function(value, date){
endMax = end.config.max;
end.config.min = date;
end.config.min.month = date.month -1;
}
});
//选择结束时间
var end = laydate.render({
elem: '#endTime', //指定元素
range: false,
btns: ['now', 'confirm'],
done: function(value, date){
if($.trim(value) == ''){
var curDate = new Date();
date = {'date': curDate.getDate(), 'month': curDate.getMonth()+1, 'year': curDate.getFullYear()};
}
start.config.max = date;
start.config.max.month = date.month -1;
}
});
// 任务分类
sysDictDataUtil.showDictDataListByDictTypeCode(sysDictData["pmTaskType"]["key"], 'select', "taskType", '', form);
// 获取我参与的项目列表
proUtil.queryMyProjectsList(function (data) {
$("#proId").html(getDataUseHandlebars(selOption, data));
form.render('select');
});
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function (json) {
$("#departments").html(getDataUseHandlebars(selOption, json));
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 = {
taskName: $("#taskName").val(),
taskType: $("#taskType").val(),
startTime: $("#startTime").val(),
endTime: $("#endTime").val(),
estimatedWorkload: $("#estimatedWorkload").val(),
taskInstructions: encodeURIComponent(ue.getContent()),
parentId: parentId,
departments: $("#departments").val(),
proId: $("#proId").val(),
enclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload'),
subType: subType, // 表单类型 1.保存草稿 2.提交审批
approvalId: approvalId,
performId: systemCommonUtil.tagEditorGetAllData('performId', performIdList) // 执行人
};
// 如果是拆分页,且预估工作量大于主任务剩余工作量
if(parent.isSplitTask == true && $("#estimatedWorkload").val() > parent.restWorkload){
winui.window.msg('预估工作量大于主任务剩余工作量,主任务剩余工作量为 <span style="color: blue; font-size:21px">' + parent.restWorkload + '</span>', {icon: 2, time: 2000});
return false;
}
// 如果执行人为空
if (isNull(params.performId)) {
winui.window.msg('请选择执行人', {icon: 2, time: 2000});
return false;
}
if(isNull(ue.getContent())){
winui.window.msg('请填写任务说明!', {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "protask002", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
//执行人
$('#performId').tagEditor({
initialTags: [],
placeholder: '请选择执行人',
editorTag: false,
beforeTagDelete: function(field, editor, tags, val) {
performIdList = [].concat(arrayUtil.removeArrayPointName(performIdList, val));
}
});
// 执行人选择
$("body").on("click", "#performIdSelPeople", function(e) {
systemCommonUtil.userReturnList = [].concat(performIdList);
systemCommonUtil.chooseOrNotMy = "1"; // 人员列表中是否包含自己--1.包含;其他参数不包含
systemCommonUtil.chooseOrNotEmail = "2"; // 人员列表中是否必须绑定邮箱--1.必须;其他参数没必要
systemCommonUtil.checkType = "1"; // 人员选择类型,1.多选;其他。单选
systemCommonUtil.openSysUserStaffChoosePage(function (userReturnList) {
// 重置数据
performIdList = [].concat(systemCommonUtil.tagEditorResetData('performId', userReturnList));
});
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
var content = "";
var executionResultContent = "";
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.$;
var useTemplate = $("#useTemplate").html();
AjaxPostUtil.request({url: flowableBasePath + "protask003", params: {rowId: parent.rowId}, type: 'json', callback: function (json) {
$("#showForm").html(getDataUseHandlebars(useTemplate, json));
// 附件回显
skyeyeEnclosure.showDetails({
"enclosureUploadBtn": json.bean.enclosureInfo, // 任务说明附件回显
"executionEnclosureUploadBtn": json.bean.executionEnclosureInfo // 执行结果附件回显
});
content = json.bean.taskInstructions;
$("#taskInstructionsShowBox").attr("src", "taskinstructionsshow.html");
if(json.bean.state == '3'){
$(".actual").removeClass("layui-hide");
executionResultContent = json.bean.executionResult;
$("#executionResultShowBox").attr("src", "executionresultshow.html");
}
matchingLanguage();
}});
});
});
\ No newline at end of file
var performIdList = new Array();//执行人返回的集合或者进行回显的集合
// 项目工作量分配
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'fileUpload', '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["proTask"]["key"];
var selOption = getFileContent('tpl/template/select-option.tpl');
var pId = "";//是否是主任务
var restWorkload = "";//主任务拆分剩下的工作量
var ue;
showGrid({
id: "showForm",
url: flowableBasePath + "protask004",
params: {rowId: parent.rowId},
pagination: false,
template: getFileContent('tpl/protask/protaskeditTemplate.tpl'),
ajaxSendAfter:function (json) {
pId = json.bean.pId;
restWorkload = json.bean.restWorkload;
// 附件回显
skyeyeEnclosure.initTypeISData({'enclosureUpload': json.bean.enclosureInfo});
$("#startTime").val(json.bean.startTime);
$("#endTime").val(json.bean.endTime);
if(json.bean.state == '1'){
$(".typeTwo").removeClass("layui-hide");
} else {
$(".typeOne").removeClass("layui-hide");
}
ue = ueEditorUtil.initEditor('taskInstructions');
ue.addListener("ready", function () {
ue.setContent(json.bean.taskInstructions);
});
//选择开始时间
var start = laydate.render({
elem: '#startTime', //指定元素
range: false,
btns: ['now', 'confirm'],
done: function(value, date){
endMax = end.config.max;
end.config.min = date;
end.config.min.month = date.month -1;
}
});
//选择结束时间
var end = laydate.render({
elem: '#endTime', //指定元素
range: false,
btns: ['now', 'confirm'],
done: function(value, date){
if($.trim(value) == ''){
var curDate = new Date();
date = {'date': curDate.getDate(), 'month': curDate.getMonth()+1, 'year': curDate.getFullYear()};
}
start.config.max = date;
start.config.max.month = date.month -1;
}
});
// 任务分类
sysDictDataUtil.showDictDataListByDictTypeCode(sysDictData["pmTaskType"]["key"], 'select', "taskType", json.bean.taskType, form);
// 获取我参与的项目列表
proUtil.queryMyProjectsList(function (data) {
$("#proId").html(getDataUseHandlebars(selOption, data));
$("#proId").val(json.bean.proId);
form.render('select');
});
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function(data) {
$("#departments").html(getDataUseHandlebars(selOption, data));
$("#departments").val(json.bean.departments);
form.render('select');
});
var performIdNames = "";
performIdList = [].concat(json.bean.performId);
$.each(performIdList, function (i, item) {
performIdNames += item.name + ',';
});
$('#performId').tagEditor({
initialTags: performIdNames.split(','),
placeholder: '请选择执行人',
editorTag: false,
beforeTagDelete: function(field, editor, tags, val) {
performIdList = [].concat(arrayUtil.removeArrayPointName(performIdList, val));
}
});
$("body").on("click", "#performIdSelPeople", function(e) {
systemCommonUtil.userReturnList = [].concat(performIdList);
systemCommonUtil.chooseOrNotMy = "1"; // 人员列表中是否包含自己--1.包含;其他参数不包含
systemCommonUtil.chooseOrNotEmail = "2"; // 人员列表中是否必须绑定邮箱--1.必须;其他参数没必要
systemCommonUtil.checkType = "1"; // 人员选择类型,1.多选;其他。单选
systemCommonUtil.openSysUserStaffChoosePage(function (userReturnList) {
// 重置数据
performIdList = [].concat(systemCommonUtil.tagEditorResetData('performId', userReturnList));
});
});
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(subBean)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData('3', "");
}
return false;
});
function saveData(subType, approvalId) {
var params = {
rowId: parent.rowId,
taskName: $("#taskName").val(),
taskType: $("#taskType").val(),
startTime: $("#startTime").val(),
endTime: $("#endTime").val(),
estimatedWorkload: $("#estimatedWorkload").val(),
taskInstructions: encodeURIComponent(ue.getContent()),
departments: $("#departments").val(),
proId: $("#proId").val(),
enclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload'),
subType: subType, // 1:保存为草稿 2.提交到工作流 3.在工作流中编辑
approvalId: approvalId,
performId: systemCommonUtil.tagEditorGetAllData('performId', performIdList) // 执行人
};
//如果是拆分页,且预估工作量大于主任务剩余工作量
if(pId != 0 && $("#estimatedWorkload").val() > restWorkload){
winui.window.msg('预估工作量大于主任务剩余工作量,主任务剩余工作量为 <span style="color: blue; font-size:21px">'+ restWorkload + '</span>', {icon: 2, time: 2000});
return false;
}
// 如果执行人为空
if (isNull(params.performId)) {
winui.window.msg('请选择执行人', {icon: 2, time: 2000});
return false;
}
if(isNull(ue.getContent())){
winui.window.msg('请填写任务说明!', {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "protask005", params: params, type: 'json', callback: function(json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
$("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', 'fileUpload', 'laydate', 'tagEditor'], function(exports) {
winui.renderColor();
layui.use(['form'], function(form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
laydate = layui.laydate;
showGrid({
id: "showForm",
url: flowableBasePath + "protask003",
params: {rowId:parent.rowId},
pagination: false,
template: getFileContent('tpl/protask/protaskexecutionTemplate.tpl'),
ajaxSendAfter:function (json) {
//任务说明附件回显
var str = "暂无附件";
if(json.bean.enclosureInfo.length != 0 && !isNull(json.bean.enclosureInfo)){
str = "";
$.each([].concat(json.bean.enclosureInfo), function(i, item) {
str += '<a rowid="' + item.id + '" class="enclosureItem" rowpath="' + item.fileAddress + '" href="javascript:;" style="color:blue;">' + item.name + '</a><br>';
});
}
$("#instructionsEnclosureUploadBtn").html(str);
// 执行结果附件回显
skyeyeEnclosure.initTypeISData({'enclosureUpload': json.bean.executionEnclosureInfo});
content = json.bean.taskInstructions;
$("#taskInstructionsShowBox").attr("src", "taskinstructionsshow.html");
var ue = ueEditorUtil.initEditor('executionResult');
ue.addListener("ready", function () {
if (!isNull(json.bean.executionResult))
ue.setContent(json.bean.executionResult);
});
matchingLanguage();
form.on('submit(editBean)', function(data) {
if(winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
executionResult: encodeURIComponent(ue.getContent()),
enclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload')
};
if(isNull(ue.getContent())){
winui.window.msg('请填写执行结果!', {icon: 2, time: 2000});
return false;
}
AjaxPostUtil.request({url: flowableBasePath + "protask013", params: params, type: 'json', callback: function(j) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
}
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
var rowId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'form', 'laydate', 'tableTreeDj'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
laydate = layui.laydate,
tableTree = layui.tableTreeDj;
// 任务开始时间
laydate.render({elem: '#startTime', range: '~'});
tableTree.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: flowableBasePath + 'protask001',
where: getTableParams(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: 2},
{ field: 'taskName', title: '名称', rowspan: 2, width: 200 },
{ field: 'processInstanceId', title: '流程ID', rowspan: 2, width: 70 , templet: function (d) {
return '<a lay-event="processDetails" class="notice-title-click">' + d.processInstanceId + '</a>';
}},
{ field: 'state', title: '审批状态', rowspan: 2, width: 80, templet: function (d) {
if (d.state == '0'){
return "草稿";
} else if (d.state == '1'){
return "<span class='state-new'>审核中</span>";
} else if (d.state == '2'){
return "<span class='state-new'>执行中</span>";
} else if (d.state == '3'){
return "<span class='state-new'>执行完成</span>";
} else if (d.state == '4'){
return "<span class='state-error'>关闭</span>";
} else if (d.state == '5'){
return "<span class='state-error'>撤销</span>";
} else if (d.state == '6'){
return "<span class='state-down'>作废</span>";
} else if (d.state == '11'){
return "<span class='state-up'>审核通过</span>";
} else if (d.state == '12'){
return "<span class='state-down'>审核不通过</span>";
}
}},
{ field: 'projectName', title: '所属项目', rowspan: 2, width: 120 },
{ field: 'performId', title: '执行人', rowspan: 2, width: 200 },
{ field: 'createId', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: 2, width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: 2, width: 115 },
{ field: 'startTime', title: '开始时间', rowspan: 2, width: 80 },
{ field: 'startTime', title: '结束时间', rowspan: 2, width: 80 },
{ title: '工作量(天)', width: 150, align: 'center', colspan: '2' },
{ title: systemLanguage["com.skyeye.operation"][languageType], align: 'center', width: 100, rowspan: 2, toolbar: '#tableBar' }
],
[
{ field: 'estimatedWorkload', title: '预估', align: 'center', width: 60},
{ field: 'actualWorkload', title: '实际', align: 'center', width: 60}
]
],
done: function(json) {
matchingLanguage();
}
}, {
keyId: 'id',
keyPid: 'pId',
title: 'taskName',
});
tableTree.getTable().on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'details'){ //详情
details(data);
} else if (layEvent === 'processDetails') {//流程详情
activitiUtil.activitiDetails(data);
}
});
// 详情
function details(data) {
rowId = data.id;
_openNewWindows({
url: "../../tpl/protask/protaskdetails.html",
title: "任务详情",
pageId: "protaskdetails",
area: ['70vw', '70vh'],
callBack: function (refreshCode) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
}});
}
// 搜索表单
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
loadTable();
}
return false;
});
// 刷新数据
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable() {
tableTree.reload("messageTable", {where: getTableParams()});
}
function getTableParams() {
var theStartTime = "", theEndTime = "";
if (!isNull($("#startTime").val())) {
theStartTime = $("#startTime").val().split('~')[0].trim() + ' 00:00:00';
theEndTime = $("#startTime").val().split('~')[1].trim() + ' 23:59:59';
}
return {
taskName: $("#taskName").val(),
createId: $("#createId").val(),
performId: $("#performId").val(),
firstTime: theStartTime,
lastTime: theEndTime
};
}
exports('protasklist', {});
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" type="text/css" href="../../assets/lib/layui/lay/modules/ueditor/themes/iframe.css">
</head>
<body style="margin: 0px;">
<div style="margin:0 auto;" id="contentShow">
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script type="text/javascript">
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window',
}).define(['window', 'jquery'], function (exports) {
winui.renderColor();
var $ = layui.$;
$("#contentShow").html(parent.executionResultContent);
parent.$("#executionResultShowBox").height($("body").height() + 30);
});
</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" autocomplete="off">
<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="taskName" name="taskName" placeholder="请输入任务名称" class="layui-input" win-verify="required" 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="taskType" name="taskType" win-verify="required">
</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">
<select id="proId" name="proId" win-verify="required">
</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">
<select id="departments" name="departments" win-verify="required">
</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" placeholder="请选择开始时间" class="layui-input" win-verify="required"/>
</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="endTime" name="endTime" 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="performId" name="performId" placeholder="请选择任务执行人" class="layui-input"/>
<i class="fa fa-user-plus input-icon" id="performIdSelPeople"></i>
</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="estimatedWorkload" name="estimatedWorkload" placeholder="完成工作需要多少天" class="layui-input" win-verify="required|number"/>
</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">
<script id="taskInstructions" name="taskInstructions" type="text/plain"></script>
</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="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/protask/'}).use('protaskadd');
</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="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<!-- useTemplate -->
<script type="text/x-handlebars-template" id="useTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">名称</label>
<div class="layui-input-block ver-center">
{{taskName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">类型</label>
<div class="layui-input-block ver-center">
{{taskTypeName}}
</div>
</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">
{{{departments}}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">创建人</label>
<div class="layui-input-block ver-center">
{{createId}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-block ver-center">
{{createTime}}
</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">
{{performId}}
</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="actual layui-hide">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">实际工作量</label>
<div class="layui-input-block ver-center">
{{{actualWorkload}}}
</div>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">任务说明</label>
<div class="layui-input-block">
<iframe id="taskInstructionsShowBox" style="width: 100%; border: 0px;" scrolling="no"></iframe>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block ver-center" id="enclosureUploadBtn">
</div>
</div>
<div class="actual layui-hide">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">执行结果</label>
<div class="layui-input-block">
<iframe id="executionResultShowBox" style="width: 100%; border: 0px;" scrolling="no"></iframe>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件</label>
<div class="layui-input-block ver-center" id="executionEnclosureUploadBtn">
</div>
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/protask/'}).use('protaskdetails');
</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="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm">
<div class="protaskEdit">
</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/protask/'}).use('protaskedit');
</script>
</body>
</html>
\ No newline at end of file
{{#bean}}
<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="taskName" name="taskName" value="{{taskName}}" placeholder="请输入任务名称" class="layui-input" win-verify="required" 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="taskType" name="taskType" win-verify="required">
</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">
<select id="proId" name="proId" win-verify="required">
</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">
<select id="departments" name="departments" win-verify="required">
</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" value="{{taskName}}" placeholder="请选择开始时间" class="layui-input" win-verify="required"/>
</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="endTime" name="endTime" value="{{taskName}}" 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="performId" name="performId" placeholder="请选择任务执行人" class="layui-input"/>
<i class="fa fa-user-plus input-icon" id="performIdSelPeople"></i>
</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="estimatedWorkload" name="estimatedWorkload" value="{{estimatedWorkload}}" placeholder="完成工作需要多少天" class="layui-input" win-verify="required|number"/>
</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">
<script id="taskInstructions" name="taskInstructions" type="text/plain"></script>
</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 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="subBean"><language showName="com.skyeye.save"></language></button>
</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="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm">
<div class="protaskEdit">
</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/protask/'}).use('protaskexecution');
</script>
</body>
</html>
\ No newline at end of file
{{#bean}}
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">名称:</label>
<div class="layui-input-block ver-center">
{{taskName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">类型:</label>
<div class="layui-input-block ver-center">
{{taskTypeName}}
</div>
</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">
{{{departments}}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">创建人:</label>
<div class="layui-input-block ver-center">
{{createId}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">创建时间:</label>
<div class="layui-input-block ver-center">
{{createTime}}
</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">
{{performId}}
</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-xs12">
<label class="layui-form-label">实际工作量:</label>
<div class="layui-input-block ver-center">
{{actualWorkload}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">任务说明:</label>
<div class="layui-input-block ver-center">
<iframe id="taskInstructionsShowBox" style="width: 100%; border: 0px;" scrolling="no"></iframe>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">附件:</label>
<div class="layui-input-block ver-center" id="instructionsEnclosureUploadBtn">
</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">
<script id="executionResult" name="executionResult" type="text/plain"></script>
</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="editBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
{{/bean}}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" type="text/css" href="../../assets/lib/layui/lay/modules/ueditor/themes/iframe.css">
</head>
<body style="margin: 0px;">
<div style="margin:0 auto;" id="contentShow">
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window',
}).define(['window', 'jquery'], function (exports) {
winui.renderColor();
var $ = layui.$;
$("#contentShow").html(parent.content);
parent.$("#taskInstructionsShowBox").height($("body").height() + 30);
});
</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="taskName" name="taskName" placeholder="请输入任务名称" class="layui-input" />
</div>
<label class="layui-form-label">创建人</label>
<div class="layui-input-inline">
<input type="text" id="createId" name="createId" placeholder="请输入创建人" class="layui-input" />
</div>
<label class="layui-form-label">执行人</label>
<div class="layui-input-inline">
<input type="text" id="performId" name="performId" placeholder="请输入执行人" class="layui-input" />
</div>
<label class="layui-form-label">开始时间</label>
<div class="layui-input-inline">
<input type="text" id="startTime" name="startTime" placeholder="请选择开始时间段" class="layui-input" />
</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>
</div>
</div>
<div style="margin:auto 10px;">
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="details">详情</a>
</script>
</div>
</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/protaskall/'}).use('protasklist');
</script>
</body>
</html>
\ No newline at end of file
......@@ -58,7 +58,7 @@
<script type="text/html" id="workTimeTemplate">
{{#each rows}}
<option value="{{timeId}}">{{title}}[{{startTime}}~{{endTime}}]</option>
<option value="{{id}}">{{name}}[{{startTime}}~{{endTime}}]</option>
{{/each}}
</script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册