first commit

This commit is contained in:
2025-06-25 10:53:11 +08:00
commit 9f374011ae
1240 changed files with 181139 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
<form class="layui-form page-content p-4">
{eq name="id" value ="0"}
<h3 class="h3-title">新建文档</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">文档名称<font>*</font>
</td>
<td>
<input type="text" name="title" lay-verify="required" lay-reqText="请输入文档名称" placeholder="请输入文档名称"
class="layui-input" value="">
</td>
</tr>
</table>
<div>
<div style="padding:10px 0">文档内容<span style="color: red">*</span></div>
<div>
<textarea id="mdContent" style="display:none;"></textarea>
<div id="docContent"></div>
</div>
<input type="hidden" name="id" value="0" />
<input type="hidden" name="topic_id" value="{$project_id}" />
<input type="hidden" name="module" value="project" />
</div>
{else/}
<h3 class="h3-title">编辑文档</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">文档名称<font>*</font>
</td>
<td>
<input type="text" name="title" lay-verify="required" lay-reqText="请输入文档名称" placeholder="请输入文档名称"
class="layui-input" value="{$detail.title}">
</td>
</tr>
</table>
<div>
<div style="padding:10px 0">文档内容<span style="color: red">*</span></div>
<div>
<div id="docContent"></div>
<textarea id="mdContent" style="display:none;">{$detail.md_content}</textarea>
</div>
<input type="hidden" name="id" value="{$detail.id}" />
</div>
{/eq}
<div style="padding: 10px 0 0">
<input type="hidden" name="module" value="project" />
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
<script>
function openInit() {
var form = layui.form, layer = layui.layer, tool = layui.tool,editor = layui.editormd;
form.render();
var edit = editor.render('docContent', {
markdown: $('#mdContent').val(),
imageUploadURL: "/api/index/md_upload",
lineNumbers: false,
toolbarIcons: function () {
return [
"undo", "redo","bold", "del", "italic", "quote","h1", "h2", "h3", "h4", "h5",
"list-ul", "list-ol", "hr","link", "reference-link", "image", "code", "code-block", "table","watch", "fullscreen"
];
},
height: window.innerHeight - 240,
});
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.close(1000);
}
}
tool.post("/api/document/add", data.field, callback);
return false;
});
}
</script>
+20
View File
@@ -0,0 +1,20 @@
<div class="page-content">
<div class="p-4 border-b">
<h3 class="h3-title">
<span id="title_{$detail.id}" data-val="">{$detail.title}</span></i>
</h3>
<div>
<span class="mr-2">{$detail.admin_name}</span>
<span class="font-gray">创建于{$detail.times}<span id="editTips">{gt name="$detail.update_time" value="0"},最近更新于 {:time_trans($detail.update_time)}{/gt}</span></span>
</div>
</div>
<div class="layui-row p-4">
<div class="md-content-content">{$detail.content|raw}</div>
</div>
</div>
<script>
function openInit() {
}
</script>
+74
View File
@@ -0,0 +1,74 @@
<div class="table-content">
<!-- <div class="layui-form-bar border-t border-x">
<button class="layui-btn layui-btn-sm add-new">+ 新建附件</button>
</div> -->
<div>
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<label class="layui-form-label">项目id</label>
<div class="layui-input-block">
<input type="text" value="{$id}" autocomplete="off" readonly disabled placeholder="请输入项目id" lay-verify="required"
class="layui-input">
<input type="hidden" id="projectId" value="{$id}">
<input type="hidden" id="attachments" value="attachment">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">附件地址</label>
<div class="layui-input-block">
<input type="text" name="attachmentUrl" autocomplete="off" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn-sm edit">修改</button>
</div>
</form>
</div>
</div>
<script>
function pageInit() { }
$(document).ready(function () {
var id = $('#projectId').val();
var attachment = $('#attachments').val();
// 获取数据并填充到输入框
$.ajax({
url: '/api/project/getattachmenturl', // 接口地址
type: 'GET', // 请求类型
data: {
id: id,
page: attachment,
},
success: function (data) {
$('input[name="attachmentUrl"]').val(data.attachmentUrl); // 填充数据
},
error: function () {
alert('获取数据失败!');
}
});
// 修改按钮点击事件
$('.edit').click(function (e) {
e.preventDefault(); // 阻止表单默认提交
var updatedUrl = $('input[name="attachmentUrl"]').val(); // 获取修改后的值
$.ajax({
url: '/api/project/getattachmenturl', // 提交修改的接口地址
type: 'POST', // 请求类型
data: {
id: id,
attachmentUrl: updatedUrl
},
success: function (response) {
alert('修改成功!');
},
error: function () {
alert('修改失败!');
}
});
});
});
</script>
+40
View File
@@ -0,0 +1,40 @@
<div class="table-content">
<div class="layui-card p-3 comment-list">
<h4>项目评论</h4>
<div class="comment-input my-2">
<input type="text" id="commentInput" readonly placeholder="发表一下你的看法" class="layui-input" value="">
</div>
<div id="comment_project_{$id}"></div>
</div>
</div>
<script>
function pageInit(){
let detail_id = {$id};
let comment = layui.gouguComment;
//评论
comment.load(detail_id,'project');
$('#commentInput').on('click',function(){
comment.editor(0,detail_id,0,0,'project','');
})
//回复
$('#comment_project_'+detail_id).on('click','[data-event="replay"]',function(){
let pid = $(this).data('id');
let padmin_id = $(this).data('uid');
comment.editor(0,detail_id,pid,padmin_id,'project','');
})
//编辑
$('#comment_project_'+detail_id).on('click','[data-event="edit"]',function(){
let id = $(this).data('id');
let mdcontent=$('#comment_'+id).data('mdcontent');
comment.editor(id,detail_id,0,0,'project',mdcontent);
})
//删除
$('#comment_project_'+detail_id).on('click','[data-event="del"]',function(){
let id = $(this).data('id');
comment.del(id,detail_id,'project');
})
}
</script>
+68
View File
@@ -0,0 +1,68 @@
<div class="table-content">
<div class="layui-form-bar border-t border-x">
<button class="layui-btn layui-btn-sm add-new">+ 新建文档</button>
</div>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="barDemo">
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">查看</span><span class="layui-btn layui-btn-xs" lay-event="edit"></span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"></span></div>
</script>
<script>
function pageInit(){
var project_id = {$id};
var table = layui.table,tool = layui.tool;
layui.documentTable = table.render({
elem: '#test',
title: '文档列表',
cellMinWidth:200,
url: "/api/document/get_list", //数据接口
where:{'m':'project','tid':project_id},
page: true, //开启分页
limit: 20,
cols: [[
{field:'id', title: 'ID编号',width: 80, align:'center'}
,{field:'title',title: '标题'}
,{field:'name',title: '创建人', align:'center',width: 100}
,{field:'create_time',title: '创建时间',align:'center',width: 150}
,{field:'update_time',title: '最后更新时间', align:'center',width: 150}
,{title: '操作',align: 'center',width: 136,toolbar: '#barDemo',}
]]
});
//新增
$('.add-new').on('click',function(){
tool.open('/api/document/add?project_id='+project_id);
});
//监听行工具事件
table.on('tool(test)', function(obj) {
var data = obj.data;
if (obj.event === 'view') {
tool.open('/api/document/view?id='+data.id);
return;
}
if (obj.event === 'edit') {
tool.open('/api/document/add?id='+data.id);
return;
}
if (obj.event === 'del') {
layer.confirm('确定删除该文档吗?', {
icon: 3,
title: '提示'
}, function(index) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
obj.del();
}
}
tool.delete("/api/document/delete",{ id: obj.data.id,'module':'project'},callback);
layer.close(index);
});
}
});
}
</script>
+78
View File
@@ -0,0 +1,78 @@
<div class="table-content">
<div id="logList" class="log-timeline layui-card p-3"></div>
</div>
<script>
function pageInit(){
var project_id = {$id};
var project_page = 1;
var tool = layui.tool;
let callback = function(res){
$('.log-more').remove();
if(res.code==0 && res.data.length>0){
let itemLog = '',log_time='';
$.each(res.data, function (index, item) {
let link="",detail = "";
if(log_time != item.create_time){
if(log_time==''){
itemLog+='<dl><dt><span class="date-second-point"></span>'+item.create_time+'</dt>'
}
else{
itemLog+='</dl><dl><dt><span class="date-second-point"></span>'+item.create_time+'</dt>'
}
log_time = item.create_time;
}
if(item.topic_title != ''){
link='<a class="'+item.module+' open-a" data-href="'+item.url+'">'+item.topic+' '+item.topic_title+'</a>';
}
if(item.field =='new' || item.field =='delete'){
detail= `
<span class="log-content font-gray">${item.action}了项目${item.module_name}${link}</strong><span class="ml-4 font-gray" title="${item.create_time}">${item.times}</span>
`;
}
else if(item.field =='content'){
detail= `
<span class="log-content font-gray">${item.action}了<strong>${item.title}</strong><i title="对比查看" class="iconfont icon-yuejuan" style="color:#1E9FFF; cursor: pointer;"></i> <span class="ml-4 font-gray" title="${item.create_time}">${item.times}</span></span>
`;
}
else if(item.field =='file'|| item.field =='link' || item.field =='user'){
detail= `
<span class="log-content font-gray">${item.action}${item.title}<strong>${item.new_content}</strong><span class="ml-4 font-gray" title="${item.create_time}">${item.times}</span></span>
`;
}
else if(item.field =='document'){
if(item.action =='修改'){
detail= `
<span class="log-content font-gray">项目${item.module_name}${link}${item.action}${item.title}<strong>${item.remark}</strong><i title="对比查看" class="iconfont icon-yuejuan" style="color:#1E9FFF; cursor: pointer;"></i> <span class="ml-4 font-gray" title="${item.create_time}">${item.times}</span></span>
`;
}
else{
detail= `
<span class="log-content font-gray">项目${item.module_name}${link}${item.action}${item.title}<strong>${item.remark}</strong><span class="ml-4 font-gray" title="${item.create_time}">${item.times}</span></span>
`;
}
}
else{
detail= `
<span class="log-content font-gray">将项目${item.module_name}${link}<strong>${item.title}</strong>从 ${item.old_content} ${item.action}为<strong>${item.new_content}</strong><span class="ml-4 font-gray" title="${item.create_time}">${item.times}</span></span>
`;
}
itemLog+= `
<dd><img src="${item.thumb}" class="log-thumb" /><span class="log-name">${item.name}</span>${detail}</dd>
`;
});
itemLog+='</dl>';
if(res.data.length>19){
itemLog+='<div class="py-3 log-more"><button class="layui-btn layui-btn-normal layui-btn-sm" type="button">查看更多项目动态</button></div>';
}
$("#logList").append(itemLog);
}
}
tool.get("/api/log/log_list",{topic_id:project_id,page:project_page},callback);
$('#logList').on('click','.log-more',function(){
project_page++;
tool.get("/api/log/log_list",{topic_id:project_id,page:project_page},callback);
});
}
</script>
+74
View File
@@ -0,0 +1,74 @@
<div class="table-content">
<!-- <div class="layui-form-bar border-t border-x">
<button class="layui-btn layui-btn-sm add-new">+ 新建机器人</button>
</div> -->
<div>
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<label class="layui-form-label">项目id</label>
<div class="layui-input-block">
<input type="text" value="{$id}" autocomplete="off" readonly disabled placeholder="请输入webhook" lay-verify="required"
class="layui-input">
<input type="hidden" id="projectId" value="{$id}">
<input type="hidden" id="robots" value="robot">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">机器人地址</label>
<div class="layui-input-block">
<input type="text" name="ddurl" autocomplete="off" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn-sm edit">修改</button>
</div>
</form>
</div>
</div>
<script>
function pageInit() { }
$(document).ready(function () {
var id = $('#projectId').val();
var robot = $('#robots').val();
// 获取数据并填充到输入框
$.ajax({
url: '/api/project/getddurl', // 接口地址
type: 'GET', // 请求类型
data: {
id: id,
page: robot,
},
success: function (data) {
$('input[name="ddurl"]').val(data.ddurl); // 填充数据
},
error: function () {
alert('获取数据失败!');
}
});
// 修改按钮点击事件
$('.edit').click(function (e) {
e.preventDefault(); // 阻止表单默认提交
var updatedUrl = $('input[name="ddurl"]').val(); // 获取修改后的值
$.ajax({
url: '/api/project/getddurl', // 提交修改的接口地址
type: 'POST', // 请求类型
data: {
id: id,
ddurl: updatedUrl
},
success: function (response) {
alert('修改成功!');
},
error: function () {
alert('修改失败!');
}
});
});
});
</script>
+91
View File
@@ -0,0 +1,91 @@
<div class="table-content" id="scheduleList">
<div class="layui-form-bar border-t border-x">
<form class="layui-form">
<div class="layui-input-inline" style="width:110px;">
<input type="text" name="username" placeholder="请选择员工" class="layui-input" readonly
data-event="select" />
<input type="text" name="uid" value="" style="display:none" />
</div>
<div class="layui-input-inline" style="width:220px;">
<input type="text" name="keywords" placeholder="输入工作内容" class="layui-input" />
</div>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button><button
type="reset" class="gougu-clear" lay-filter="clear">清空</button>
</form>
</div>
<table class="layui-hide" id="scheduleApi" lay-filter="schedule"></table>
</div>
<script>
function pageInit() {
var table = layui.table, form = layui.form, tool = layui.tool, employeepicker = layui.employeepicker, schedule = layui.gouguSchedule;
layui.scheduleTable = table.render({
elem: '#scheduleApi',
title: '工作记录列表',
cellMinWidth: 200,
url: "/api/schedule/index", //数据接口
where: { 'tid': project_id },
page: true, //开启分页
limit: 20,
cols: [[ //表头
{ field: 'id', title: '序号', width: 80, align: 'center' }
// , {
// field: 'start_time', title: '工作时间范围', align: 'center', width: 186, templet: function (d) {
// var html = d.start_time + '至' + d.end_time;
// return html;
// }
// }
// , { field: 'labor_time', title: '工时', style: 'color: #91CC75;', align: 'center', width: 60 }
, { field: 'work_cate', title: '工作类型', align: 'center', width: 100 }
, { field: 'title', title: '工作内容' }
, { field: 'name', title: '执行员工', align: 'center', width: 80 }
, { field: 'department', title: '所在部门', align: 'center', width: 100 }
, { field: 'create_time', title: '记录时间', align: 'center', width: 150 }
, {title: '操作',fixed:'right', align: 'center', width: 100, templet: function (d) {
return '<div class="layui-btn-group"><span class="layui-btn layui-btn-xs" lay-event="edit">修改</span><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</span></div>';
}
}
]]
});
// 选择员工
$('.layui-form-bar').on('click', '[data-event="select"]', function () {
var that = $(this);
var names = that.val(), ids = $('[name="uid"]').val();
employeepicker.init({
ids: ids,
names: names,
type: 0,
department_url: "/api/index/get_department_tree",
employee_url: "/api/index/get_employee",
callback: function (ids, names, dids, departments) {
$('[name="uid"]').val(ids);
that.val(names);
$('[lay-filter="webform"]').click();
}
})
});
//监听搜索提交
form.on('submit(webform)', function (data) {
let f = data.field;
layui.scheduleTable.reload({ where: { keywords: f.keywords, uid: f.uid, tid: project_id }, page: { curr: 1 } });
return false;
});
$('#scheduleList').on('click', '[lay-filter="clear"]', function () {
setTimeout(function () {
$('[lay-filter="webform"]').click();
}, 10)
})
//监听行工具事件
table.on('tool(schedule)', function (obj) {
if (obj.event === 'edit') {
schedule.add(0, obj.data);
}
if (obj.event === 'view') {
schedule.view(obj.data);
}
return false;
})
}
</script>
+141
View File
@@ -0,0 +1,141 @@
<div class="table-content">
<div class="layui-form-bar border-t border-x">
<div class="project_task_btn">
<form id="taskForm" class="layui-form">
<button class="layui-btn layui-btn-sm add-new layui-bg-blue">+ 新建任务</button>
<button type="reset" class="layui-btn layui-btn-primary layui-border-blue layui-btn-sm"
lay-filter="clear">
重置
</button>
<button type="reset" class="layui-btn layui-btn-sm" lay-filter="onlyme">只看我</button>
<input id="loginusers" type="hidden" value="{$user_info.id}" />
<input id="project_id" type="hidden" value="{$id}" />
</form>
</div>
</div>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script>
function pageInit() {
var project_id = document.getElementById('project_id').value;
console.log('项目id:' + project_id);
var table = layui.table, tool = layui.tool;
layui.taskTable = table.render({
elem: '#test',
title: '任务列表',
cellMinWidth: 200,
url: "/task/index/index",
where: { 'project_id': project_id },
page: true, //开启分页
limit: 20,
cols: [[
{ field: 'id', title: '任务编号', width: 80, align: 'center', fixed: 'left' }
, {
field: 'flow_name', title: '状态', align: 'center', width: 80, templet: function (d) {
var html = '<span class="layui-badge bg-flow-' + d.flow_status + '">' + d.flow_name + '</span>';
return html;
}
}
, {
field: 'type_name', title: '类型', width: 120, align: 'center', templet: function (d) {
var html = '<span class="color-status-' + d.type + '">' + d.type_name + '</span>';
return html;
}
}
, {
field: 'title', title: '任务主题', rowspan: 2, align: 'center', templet: function (d) {
var html = '<div class="rwzt"><span class="layui-badge bg-priority-' + d.priority + '">' + d.priority_name + '</span> <a class="open-a" data-href="/task/index/view/id/' + d.id + '">' + d.title + '</a></div>';
return html;
}
}
, { field: 'director_name', title: '负责人', align: 'center', width: 80 }
, { field: 'creater_name', title: '创建人', align: 'center', width: 80 }
, {
field: "flow_name",
title: "完成进度",
align: "center",
width: 150,
templet: function (d) {
var progress =
'<div class="layui-progress layui-progress-big" lay-showpercent="true">';
if (d.flow_status == 1) {
progress +=
'<div class="layui-progress-bar layui-bg-red" lay-percent="0% style="width:0%;text-align:center;">0%</div>';
} else if (d.flow_status == 2) {
progress +=
'<div class="layui-progress-bar layui-bg-orange" lay-percent="50%" style="width:50%;text-align:center;">50%</div>';
} else if (d.flow_status == 3) {
progress +=
'<div class="layui-progress-bar layui-bg-green" lay-percent="100%" style="width:100%;text-align:center;">100%</div>';
} else {
progress +=
'<div class="layui-progress-bar layui-bg-gray" lay-percent="0%" style="width:0%;text-align:center;">0%</div>';
}
progress += "</div>";
return progress;
},
}
, {
field: 'end_time', title: '预计结束日期', align: 'center', width: 150, templet: function (d) {
var html = d.end_time;
if (d.delay > 0) {
html += '<span class="color-status-0 ml-1" style="font-size:12px;">逾期' + d.delay + '天</span>';
}
return html;
}
}
]]
});
//监听搜索提交
$("#taskForm").on("click", '[lay-filter="clear"]', function () {
setTimeout(function () {
tableReload();
}, 10);
});
//只看我按钮代码
$("#taskForm").on("click", '[lay-filter="onlyme"]', function () {
let loginuser = $("#loginusers").val();
let postData = {
type: $("#taskForm").find('[name="type"]').val(),
flow_status: $("#taskForm").find('[name="flow_status"]').val(),
priority: $("#taskForm").find('[name="priority"]').val(),
cate: $("#taskForm").find('[name="cate"]').val(),
delay: $("#taskForm").find('[name="delay"]').val(),
// director_uid: $("#taskForm").find('[name="director_uid"]').val(),
project_id: $("#taskForm").find('[name="project_id"]').val(),
keywords: $("#taskForm").find('[name="keywords"]').val(),
belong_project: $("#taskForm").find('[name="belong_project"]').val(),
creater_name: $("#taskForm").find('[name="creater_name"]').val(),
admin_id: $("#taskForm").find('[name="admin_id"]').val(),
director_uid: loginuser,
};
layui.taskTable.reload({ where: postData });
});
//刷新表格
function tableReload() {
let project_id = $("#project_id").val();
let postData = {
type: $("#taskForm").find('[name="type"]').val(),
flow_status: $("#taskForm").find('[name="flow_status"]').val(),
priority: $("#taskForm").find('[name="priority"]').val(),
cate: $("#taskForm").find('[name="cate"]').val(),
delay: $("#taskForm").find('[name="delay"]').val(),
director_uid: $("#taskForm").find('[name="director_uid"]').val(),
project_id: project_id,
keywords: $("#taskForm").find('[name="keywords"]').val(),
belong_project: $("#taskForm").find('[name="belong_project"]').val(),
creater_name: $("#taskForm").find('[name="creater_name"]').val(),
admin_id: $("#taskForm").find('[name="creater_id"]').val(),
};
layui.taskTable.reload({ where: postData });
}
//新增
$('.add-new').on('click', function () {
tool.open('/task/index/add?project_id=' + project_id);
});
}
</script>
+107
View File
@@ -0,0 +1,107 @@
<div class="table-content" id="scheduleList">
<div class="layui-form-bar border-t border-x">
<button class="layui-btn layui-btn-sm add-user">+ 新增项目成员</button>
</div>
<table class="layui-hide" id="user" lay-filter="user"></table>
</div>
<script>
function pageInit() {
var project_id = '{$id}';
var table = layui.table, tool = layui.tool, employeepicker = layui.employeepicker;
layui.userTable = table.render({
elem: '#user',
title: '项目成员列表',
cellMinWidth: 120,
url: "/api/project/user", //数据接口
where: { 'tid': project_id },
page: false, //开启分页
limit: 20,
cols: [[ //表头
{ field: 'name', fixed: 'left', title: '成员姓名', width: 90, rowspan: 2 }
, { field: 'create_time', title: '进入项目日期', width: 110, align: 'center', rowspan: 2 }
, { field: 'role', title: '角色', align: 'center', width: 90, rowspan: 2, templet: function (d) {
var html='<span style="color: #4285F4;">普通成员</span>';
if(d.role==1){
html='<span style="color: #EE6666;">项目创建人</span>';
}
if(d.role==2){
html='<span style="color: #91CC75;">项目负责人</span>';
}
return html;
}}
, { field: 'position', title: '职位', align: 'center', width: 100, rowspan: 2 }
, { field: 'department', title: '所在部门', align: 'center', width: 120, rowspan: 2 }
, { field: 'mobile', title: '手机号码', align: 'center', width: 110, rowspan: 2 }
, { field: 'email', title: '电子邮箱', align: 'center', rowspan: 2 }
, { align: 'center', title: '工作记录', colspan: 2 }
, { align: 'center', title: '项目任务', colspan: 3 }
, { align: 'center', title: 'BUG缺陷', colspan: 3 }
, { field: 'delete_time', title: '移除日期', align: 'center', width: 110, rowspan: 2 }
, { field: 'status',fixed: 'right', title: '状态', align: 'center', width: 60, rowspan: 2, templet: function (d) {
var html = '<span style="color:#EE6666">✘</span>';
if(d.delete_time == 0)
html = '<span style="color:#91CC75">✔</span>';
return html;
}}
, {title: '操作',fixed: 'right', align: 'center', width: 60, rowspan: 2, templet: function (d) {
var html = '<span class="layui-btn layui-btn-xs" lay-event="recover">恢复</span>';
if(d.delete_time == 0)
html = '<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove">移除</span>';
return html;
}
}
], [
{ field: 'schedules', align: 'center', style: 'color: #91CC75;', width: 72, 'title': '记录' }
, { field: 'labor_times', align: 'center', style: 'color: #4285F4;', width: 70, 'title': '工时' }
, { field: 'tasks_a_unfinish', align: 'center', style: 'color: #91CC75;', width: 72, 'title': '进行中' }
, { field: 'tasks_a_finish', align: 'center', style: 'color: #FAC858;', width: 70, 'title': '已完成' }
, { field: 'tasks_a_pensent', align: 'center', style: 'color: #EE6666;', width: 72, 'title': '完成率' }
, { field: 'tasks_b_unfinish', align: 'center', style: 'color: #91CC75;', width: 72, 'title': '进行中' }
, { field: 'tasks_b_finish', align: 'center', style: 'color: #FAC858;', width: 72, 'title': '已完成' }
, { field: 'tasks_b_pensent', align: 'center', style: 'color: #EE6666;', width: 72, 'title': '修复率' }
]]
});
// 选择员工
$('.layui-form-bar').on('click', '.add-user', function () {
employeepicker.init({
type: 0,
department_url: "/api/index/get_department_tree",
employee_url: "/api/index/get_employee",
callback: function (ids, names, dids, departments) {
let callback = function (e) {
layer.msg(e.msg);
if(e.code == 0){
tool.page('/api/project/view/id/'+project_id+'?page=user');
}
}
tool.post("/api/project/add_user", {uid: ids,project_id: project_id}, callback);
}
})
});
//监听行工具事件
table.on('tool(user)', function (obj) {
let postData = { "id": obj.data.id };
let callback = function (e) {
layer.closeAll();
layer.msg(e.msg);
if(e.code == 0){
tool.page('/api/project/view/id/'+project_id+'?page=user');
}
}
if (obj.event === 'remove') {
layer.confirm('确定要移除该项目成员吗?', { icon: 3, title: '提示' }, function (index) {
tool.delete("/api/project/remove_user", postData, callback);
});
}
if (obj.event === 'recover') {
layer.confirm('确定要恢复该项目成员吗?', { icon: 3, title: '提示' }, function (index) {
tool.post("/api/project/recover_user", postData, callback);
});
}
return;
});
}
</script>