154 lines
5.7 KiB
HTML
154 lines
5.7 KiB
HTML
{extend name="../../base/view/common/base" /}
|
|
<!-- 主体 -->
|
|
{block name="body"}
|
|
|
|
<div class="p-page">
|
|
<form class="layui-form gg-form-bar border-t border-x" lay-filter="barsearchform">
|
|
<div class="layui-input-inline" style="width:100px;">
|
|
<select name="status">
|
|
<option value="">项目状态</option>
|
|
<option value="1">未开始</option>
|
|
<option value="2">进行中</option>
|
|
<option value="3">已完成</option>
|
|
<option value="4">已关闭</option>
|
|
</select>
|
|
</div>
|
|
<div class="layui-input-inline" style="width:136px;">
|
|
<select name="cate_id">
|
|
<option value="">项目类别</option>
|
|
{volist name = ":get_base_data('ProjectCate')" id="vo"}
|
|
<option value="{$vo.id}">{$vo.title}</option>
|
|
{/volist}
|
|
</select>
|
|
</div>
|
|
<div class="layui-input-inline" style="width:160px;">
|
|
<input type="text" name="director" placeholder="项目负责人,可多选" readonly class="layui-input picker-admin" data-type="2" autocomplete="off" />
|
|
<input name="director_uid" style="display: none;" value="" />
|
|
</div>
|
|
<div class="layui-input-inline" style="width:300px">
|
|
<input type="text" name="keywords" placeholder="关键字,项目名称/项目描述" class="layui-input" autocomplete="off" />
|
|
</div>
|
|
<div class="layui-input-inline" style="width:150px">
|
|
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
|
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
|
</div>
|
|
</form>
|
|
<table class="layui-hide" id="table_project" lay-filter="table_project"></table>
|
|
</div>
|
|
|
|
<script type="text/html" id="toolbarDemo">
|
|
<div class="layui-btn-container">
|
|
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/project/index/add">+ 添加项目</button>
|
|
</div>
|
|
</script>
|
|
|
|
{/block}
|
|
<!-- /主体 -->
|
|
|
|
<!-- 脚本 -->
|
|
{block name="script"}
|
|
<script>
|
|
const auth = {$auth};
|
|
const moduleInit = ['tool','tablePlus','oaPicker'];
|
|
function gouguInit() {
|
|
var table = layui.tablePlus, tool = layui.tool;
|
|
|
|
layui.pageTable = table.render({
|
|
elem: "#table_project"
|
|
, toolbar: "#toolbarDemo"
|
|
,url: "/project/index/datalist"
|
|
,page: true
|
|
,limit: 20
|
|
,cellMinWidth: 80
|
|
,height: 'full-114'
|
|
,cols: [[
|
|
{field:'id',width:80, title: 'ID号', align:'center'}
|
|
,{ field: 'status', title: '项目状态', align: 'center', width: 90, templet: function (d) {
|
|
var html = '<span class="check-status-color-' + d.status + '">『' + d.status_name + '』</span>';
|
|
return html;
|
|
}
|
|
}
|
|
,{field:'cate',title: '项目类别',width:100,align:'center'}
|
|
,{field:'name',title: '项目名称',minWidth:240}
|
|
,{field:'director_name',title: '负责人',width:80,align:'center'}
|
|
,{ field:'range_time', title: '项目计划周期', align: 'center', width: 200}
|
|
,{field:'step',title: '当前阶段及负责人',align: 'center',width: 180}
|
|
,{field:'tasks_unfinish', align: 'center', style: 'color: #91CC75;', width: 90, 'title': '进行中任务' }
|
|
,{field:'tasks_finish', align: 'center', style: 'color: #FAC858;', width: 90, 'title': '已完成任务' }
|
|
,{field:'tasks_pensent', align: 'center', style: 'color: #EE6666;', width: 90, 'title': '任务完成率' }
|
|
,{field:'admin_name',title: '创建人',width:80,align:'center'}
|
|
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
|
,{width:120,fixed:'right',title: '操作', align:'center',ignoreExport:true,templet: function(d){
|
|
var html='';
|
|
var btn1='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</a>';
|
|
var btn2='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
|
|
var btn3='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
|
|
if(d.status==3){
|
|
btn2='';
|
|
btn3='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="affirm">反确认完成</a>';
|
|
}
|
|
if(auth == 1 || d.admin_id == login_admin || d.director_uid == login_admin){
|
|
return '<div class="layui-btn-group">'+btn1+btn2+btn3+'</div>';
|
|
}
|
|
else{
|
|
return btn1
|
|
}
|
|
}}
|
|
]]
|
|
});
|
|
|
|
table.on('tool(table_project)',function (obj) {
|
|
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
|
var data = obj.data;
|
|
if (obj.event === 'view') {
|
|
tool.side("/project/index/view?id="+data.id);
|
|
return;
|
|
}
|
|
if (obj.event === 'edit') {
|
|
tool.side("/project/index/add?id="+data.id);
|
|
return;
|
|
}
|
|
if (obj.event === 'affirm') {
|
|
let callback = function (e) {
|
|
layer.msg(e.msg);
|
|
if(e.code==0){
|
|
layui.pageTable.reload();
|
|
}
|
|
}
|
|
layer.open({
|
|
type: 1,
|
|
title: '请输入反确认的原因或理由',
|
|
area: ['500px', '252px'],
|
|
content: '<div style="padding:5px;"><textarea class="layui-textarea" id="remarkTextarea" style="width: 100%; height:132px;"></textarea></div>',
|
|
btnAlign: 'c',
|
|
btn: ['确认操作'],
|
|
yes: function (index) {
|
|
let remark = $("#remarkTextarea").val();
|
|
if (remark != '') {
|
|
tool.post("/project/api/step_check", {id: data.id,check:3,content:remark}, callback);
|
|
layer.close(index);
|
|
} else {
|
|
layer.msg('请输入原因或理由');
|
|
}
|
|
}
|
|
})
|
|
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("/project/index/del", { id: data.id }, callback);
|
|
layer.close(index);
|
|
});
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
{/block}
|
|
<!-- /脚本 --> |