HDM58\hdm58 9ee6fb5afb 1、优化:项目、任务的状态显示;
2、新增:企业员工管理新增离职状态查询;
3、新增:离职档案新增一键资料转移功能,把项目、任务、客户、合同等资料交接到交接人上;
4、新增:任务新增前置任务,如果存在前置任务的,需要把前置任务完成后才能完成当前任务;
5、新增:任务新增子任务功能;
6、修复:新增项目文档成功后,跳转报错的问题;
7、优化:任务进度与任务状态联动,任务完成时,进度默认设置为100%,任务设置进度时,如果任务未开始,状态默认设置为进行中;
8、删除:去除项目选择项目时间周期的联动操作;
9、优化:项目选择弹层操作;
10、修复:修复自定义tab打开时,左侧二级菜单宽度未收回的问题;
11、优化:客户选择弹层添加‘新增客户’的按钮,方便快捷新建客户;
12、优化:工作台项目、任务、知识位置调整优化;

注意:本次数据结构更新代码如下:
ALTER TABLE `oa_personal_quit` ADD COLUMN `connect_id` int(11) NOT NULL DEFAULT 0 COMMENT '资料交接人' AFTER `connect_uids`;
ALTER TABLE `oa_personal_quit` ADD COLUMN `connect_time` int(11) NOT NULL DEFAULT 0 COMMENT '资料交接时间' AFTER `connect_id`;
ALTER TABLE `oa_personal_quit` MODIFY COLUMN `connect_uids` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '参与交接人,多' AFTER `lead_admin_id`;
ALTER TABLE `oa_project_task` ADD COLUMN `pid` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '父任务id' AFTER `title`;
ALTER TABLE `oa_project_task` ADD COLUMN `before_task` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '前置任务id' AFTER `priority`;
ALTER TABLE `oa_project_task` MODIFY COLUMN `type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '任务类型(预留字段)' AFTER `cate`;
2023-10-26 09:16:33 +08:00

134 lines
4.6 KiB
HTML

{extend name="../../base/view/common/base" /}
{block name="body"}
<form class="layui-form p-4">
<h3 class="pb-3">新建任务</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">任务主题<font>*</font></td>
<td colspan="3">
<input type="text" name="title" lay-verify="required" lay-reqText="请输入任务主题" placeholder="请输入任务主题" class="layui-input" value="">
</td>
<td class="layui-td-gray">优先级<span style="color: red">*</span></td>
<td>
<select name="priority" lay-verify="required" lay-reqText="请选择优先级">
<option value="1" selected></option>
<option value="2"></option>
<option value="3"></option>
<option value="4">紧急</option>
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">工作类型<span style="color: red">*</span></td>
<td>
<select name="cate" lay-verify="required" lay-reqText="请选择工作类型">
<option value="">请选择</option>
{volist name="cate" id="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
</td>
<td class="layui-td-gray">预估工时<span style="color: red">*</span></td>
<td>
<input type="text" name="plan_hours" lay-verify="required" lay-reqText="请填写预估工时" placeholder="请填写预估工时" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">预计结束日期<span style="color: red">*</span></td>
<td>
<input type="text" id="end_time" name="end_time" readonly lay-verify="required" lay-reqText="请选择结束时间" placeholder="请选择时间" class="layui-input" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray">负责人</td>
<td>
<input type="text" name="director_name" placeholder="请选择" readonly class="layui-input picker-one" value="">
<input type="hidden" name="director_uid" readonly value="">
</td>
<td class="layui-td-gray">协作人</td>
<td colspan="3">
<input type="text" name="assist_admin_names" placeholder="请选择" readonly class="layui-input picker-more" value="">
<input type="hidden" name="assist_admin_ids" readonly value="">
</td>
</tr>
{empty name="$project_id"}
<tr>
<td class="layui-td-gray">前置任务</td>
<td>
<input type="text" name="before_task_name" readonly placeholder="请选择前置任务" class="layui-input picker-task" value="">
<input type="hidden" name="before_task" readonly value="">
</td>
</tr>
<tr>
<td class="layui-td-gray">关联项目</td>
<td colspan="3">
<input type="text" name="project_name" readonly placeholder="请选择关联项目" class="layui-input picker-project" value="">
<input type="hidden" name="project_id" readonly value="">
</td>
</tr>
{else/}
<tr>
<td class="layui-td-gray">前置任务</td>
<td colspan="5">
<input type="text" name="before_task_name" readonly placeholder="请选择前置任务" class="layui-input picker-task" value="">
<input type="hidden" name="before_task" readonly value="">
<input type="hidden" name="project_id" readonly value="{$project_id}">
</td>
</tr>
{/empty}
<tr>
<td class="layui-td-gray" style="vertical-align:top;">详细描述<font>*</font></td>
<td colspan="5">
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" style="border:0;padding:0"></textarea>
</td>
</tr>
</table>
<div style="padding-top: 10px">
<input type="hidden" name="id" value="0" />
<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>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool','tinymce','employeepicker','oaTool'];
function gouguInit() {
var form = layui.form,tool=layui.tool, laydate = layui.laydate;
//编辑器初始化
var editor = layui.tinymce;
var edit = editor.render({
selector: "#container",
images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口
height: 492
});
//日期范围
laydate.render({
elem: '#end_time'
});
//监听提交
form.on('submit(webform)', function (data) {
data.field.content = tinyMCE.editors['container'].getContent();
if (data.field.content == '') {
layer.msg('请先完善任务描述内容');
return false;
}
let callback = function (e) {
layer.msg(e.msg);
parent.layui.taskTable.reload();
if (e.code == 0) {
tool.sideClose(1000);
}
}
tool.post("/project/task/add", data.field, callback);
return false;
});
}
</script>
{/block}