更新命名问题
This commit is contained in:
+202
-168
@@ -105,17 +105,17 @@
|
||||
<div class="layui-col-md3" style="text-align:right">
|
||||
{eq name="$role" value="2"}
|
||||
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm"
|
||||
id="delProject">删除项目
|
||||
id="delProject">删除项目
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm layui-bg-blue" id="editProject">编辑项目
|
||||
</button>
|
||||
{eq name="$detail.status" value="4"}
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm"
|
||||
id="reopenProject">开启项目
|
||||
id="reopenProject">开启项目
|
||||
</button>
|
||||
{else/}
|
||||
<button type="button" class="layui-btn layui-btn-waring layui-btn-sm"
|
||||
id="closeProject">关闭项目
|
||||
id="closeProject">关闭项目
|
||||
</button>
|
||||
{/eq}
|
||||
{/eq}
|
||||
@@ -127,42 +127,57 @@
|
||||
<span class="font-gray">项目ID:</span>
|
||||
<span id="{$detail.id}" data-val="{$detail.id}">{$detail.id}</span>
|
||||
<input type="hidden" name="id" value="{$detail.id}">
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="id"></i>-->
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="id"></i>-->
|
||||
<!-- <button data-id="{$detail.id}" data-name="business_id">编辑</button> -->
|
||||
</div>
|
||||
<hr>
|
||||
<div class="py-1">
|
||||
<span class="font-gray">客户名称:</span>
|
||||
<span id="business_id_{$detail.id}"
|
||||
data-val="{$detail.business_id}">{$detail.business_id}</span>
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="business_id"></i>-->
|
||||
data-val="{$detail.business_id}">{$detail.business_id}</span>
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="business_id"></i>-->
|
||||
<!-- <button data-id="{$detail.id}" data-name="business_id">编辑</button> -->
|
||||
</div>
|
||||
<hr>
|
||||
<div class="py-1">
|
||||
<span class="font-gray">计划完成周期:</span>
|
||||
<span class="font-gray">合同周期:</span>
|
||||
<span id="start_time_{$detail.id}" data-val="">{$detail.start_time|date='Y-m-d'}</span>
|
||||
至 <span id="end_time_{$detail.id}" data-val="">{$detail.end_time|
|
||||
~ <span id="end_time_{$detail.id}" data-val="">{$detail.end_time|
|
||||
date='Y-m-d'}</span>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="py-1">
|
||||
<span class="font-gray">项目周期:</span>
|
||||
<span id="project_start_time_{$detail.id}"
|
||||
data-val="">{$detail.project_start_time|date='Y-m-d'}</span>
|
||||
~
|
||||
<span id="project_end_time_{$detail.id}" data-val="">
|
||||
{if $detail.project_end_time == '1970-01-01' || $detail.project_end_time == 0 ||
|
||||
$detail.project_end_time == ''}
|
||||
至今
|
||||
{else}
|
||||
{$detail.project_end_time|date='Y-m-d'}
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="py-1">
|
||||
<span class="font-gray">创建人:</span>{$detail.admin_name}
|
||||
<span class="font-gray" style="margin-left:32px">负责人:</span>
|
||||
<span id="director_uid_{$detail.id}"
|
||||
data-val="{$detail.director_uid}">{$detail.director_name}</span>
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="director_uid"></i>-->
|
||||
data-val="{$detail.director_uid}">{$detail.director_name}</span>
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="director_uid"></i>-->
|
||||
<span class="font-gray" style="margin-left:32px">项目成员:</span>{$detail.team_admin_names}
|
||||
</div>
|
||||
<hr>
|
||||
<div class="py-1">
|
||||
<span class="font-gray">项目简介:</span>
|
||||
<span id="content_{$detail.id}" data-val="{$detail.content}">{$detail.content}</span>
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="content"></i>-->
|
||||
<!-- <i class="iconfont icon-wodedianping" title="编辑" data-id="{$detail.id}"-->
|
||||
<!-- data-name="content"></i>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -180,7 +195,7 @@
|
||||
{neq name="$detail.status" value="4"}
|
||||
<div class="layui-col-md6" style="margin-top:10px">
|
||||
<span data-href="/project/index/editstep/id/{$detail.id}"
|
||||
class="layui-btn layui-btn-normal layui-btn-sm open-a fr">编辑项目阶段</span>
|
||||
class="layui-btn layui-btn-normal layui-btn-sm open-a fr">编辑项目阶段</span>
|
||||
</div>
|
||||
{/neq}
|
||||
{/gt}
|
||||
@@ -191,16 +206,16 @@
|
||||
<span class="gray">当前阶段:</span>{$step.flow_name}
|
||||
<span class="gray" style="margin-left:20px">负责人:</span>{$step.check_name}
|
||||
<span class="gray" style="margin-left:20px">成员:</span>{$step.flow_names}
|
||||
<!-- <span class="gray" style="margin-left:20px">周期:</span>{$step.start_time|time_format=###,'Y-m-d'}-->
|
||||
<!-- 到 {$step.end_time|time_format=###,'Y-m-d'}-->
|
||||
<!-- <span class="gray" style="margin-left:20px">周期:</span>{$step.start_time|time_format=###,'Y-m-d'}-->
|
||||
<!-- 到 {$step.end_time|time_format=###,'Y-m-d'}-->
|
||||
{eq name="$step.flow_uid" value="$login_user"}
|
||||
{neq name="$detail.status" value="4"}
|
||||
<div class="pt-3">
|
||||
<span class="layui-btn layui-btn-normal layui-btn-sm" data-event="step"
|
||||
data-check="1">确认</span>
|
||||
data-check="1">确认</span>
|
||||
{gt name="$detail.step_sort" value="0"}
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm" data-event="step"
|
||||
data-check="2">退回</span>
|
||||
data-check="2">退回</span>
|
||||
{/gt}
|
||||
</div>
|
||||
{/neq}
|
||||
@@ -215,7 +230,7 @@
|
||||
<i class="layui-icon layui-icon-time"></i>
|
||||
{/gt}
|
||||
{eq name="$vo.sort" value="$detail.step_sort"}
|
||||
<!-- <i class="layui-icon layui-icon-username" data-on=""></i>-->
|
||||
<!-- <i class="layui-icon layui-icon-username" data-on=""></i>-->
|
||||
{/eq}
|
||||
{lt name="$vo.sort" value="$detail.step_sort"}
|
||||
<i class="layui-icon layui-icon-ok-circle" data-ok=""></i>
|
||||
@@ -271,7 +286,7 @@
|
||||
</div>
|
||||
<div class="layui-col-md6" style="margin-top: 10px;">
|
||||
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm fr"
|
||||
style="margin-left: 10px" id="fileBtn">选择文件
|
||||
style="margin-left: 10px" id="fileBtn">选择文件
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm layui-btn-sm2 fr" id="test9">开始上传
|
||||
</button>
|
||||
@@ -288,11 +303,11 @@
|
||||
</div>
|
||||
<div class="file-tool">
|
||||
<a href="{$vo.filepath}" download="{$vo.name}" data-id="{$vo.id}" target="_blank"
|
||||
title="大小:{$vo.filesize/1048576|round=2}MB">
|
||||
title="大小:{$vo.filesize/1048576|round=2}MB">
|
||||
<i class="iconfont icon-shujudaoru" style="color: #12bb37;"></i>
|
||||
</a>
|
||||
<i class="btn-delete iconfont icon-shanchu" data-id="{$vo.id}"
|
||||
style="color: #FF5722;"></i>
|
||||
style="color: #FF5722;"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -319,36 +334,36 @@
|
||||
<div class="layui-card-body">
|
||||
<table class="layui-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="50%">链接URL</th>
|
||||
<th width="30%" style="text-align:center">链接说明</th>
|
||||
<th width="10%" style="text-align:center">添加人</th>
|
||||
<th width="10%" style="text-align:center">操作</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="50%">链接URL</th>
|
||||
<th width="30%" style="text-align:center">链接说明</th>
|
||||
<th width="10%" style="text-align:center">添加人</th>
|
||||
<th width="10%" style="text-align:center">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="linkList">
|
||||
{volist name="link_array" id="vo"}
|
||||
<tr>
|
||||
<td><a href="{$vo.url}" target="_blank">{$vo.url}</a></td>
|
||||
<td>{$vo.desc}</td>
|
||||
<td style="text-align: center;">{$vo.admin_name}</td>
|
||||
<td style="text-align: center;">
|
||||
<div class="layui-btn-group" style="width:66px">
|
||||
<button type="button" class="layui-btn layui-btn-xs link-edit"
|
||||
{volist name="link_array" id="vo"}
|
||||
<tr>
|
||||
<td><a href="{$vo.url}" target="_blank">{$vo.url}</a></td>
|
||||
<td>{$vo.desc}</td>
|
||||
<td style="text-align: center;">{$vo.admin_name}</td>
|
||||
<td style="text-align: center;">
|
||||
<div class="layui-btn-group" style="width:66px">
|
||||
<button type="button" class="layui-btn layui-btn-xs link-edit"
|
||||
data-id="{$vo.id}" data-href="{$vo.url}" data-desc="{$vo.desc}"><i
|
||||
class="layui-icon"></i></button>
|
||||
<button type="button"
|
||||
class="layui-icon"></i></button>
|
||||
<button type="button"
|
||||
class="layui-btn layui-btn-danger layui-btn-xs link-delete"
|
||||
data-id="{$vo.id}"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{empty name="$link_array" }
|
||||
<tr>
|
||||
<td colspan="4" class="content-none">暂无链接</td>
|
||||
</tr>
|
||||
{/empty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{empty name="$link_array" }
|
||||
<tr>
|
||||
<td colspan="4" class="content-none">暂无链接</td>
|
||||
</tr>
|
||||
{/empty}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -417,7 +432,7 @@
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div id="cross" class="data-none" style="width:100%; height:360px;"
|
||||
data-tips="任务数:{$detail.tasks},已完成:{$detail.tasks_finish},未完成:{$detail.tasks_unfinish}">
|
||||
data-tips="任务数:{$detail.tasks},已完成:{$detail.tasks_finish},未完成:{$detail.tasks_unfinish}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -467,7 +482,7 @@
|
||||
if (deleteFilePaths) {
|
||||
$.ajax({
|
||||
url: basePath + 'deleteFile.do',
|
||||
data: {deleteFilePaths: deleteFilePaths},
|
||||
data: { deleteFilePaths: deleteFilePaths },
|
||||
dataType: 'JSON',
|
||||
Type: 'POST',
|
||||
async: false,
|
||||
@@ -551,71 +566,71 @@
|
||||
var $ = layui.jquery
|
||||
, upload = layui.upload
|
||||
, uploadListIns = upload.render({
|
||||
elem: '#testList'
|
||||
, url: basePath + 'upload.do'
|
||||
, data: {fileDir: fileDirIndex}
|
||||
, accept: 'file'
|
||||
, multiple: true
|
||||
, auto: false
|
||||
, bindAction: '#testListAction'
|
||||
, choose: function (obj) {
|
||||
files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
|
||||
//读取本地文件
|
||||
obj.preview(function (index, file, result) {
|
||||
var tr = $(['<tr id="upload-' + index + '">'
|
||||
, '<td>' + file.name + '</td>'
|
||||
, '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
|
||||
, '<td>等待上传</td>'
|
||||
, '<td>'
|
||||
, '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
|
||||
, '<button class="layui-btn layui-btn-xs layui-btn-danger notUpload-delete">删除</button>'
|
||||
, '</td>'
|
||||
, '</tr>'].join(''));
|
||||
elem: '#testList'
|
||||
, url: basePath + 'upload.do'
|
||||
, data: { fileDir: fileDirIndex }
|
||||
, accept: 'file'
|
||||
, multiple: true
|
||||
, auto: false
|
||||
, bindAction: '#testListAction'
|
||||
, choose: function (obj) {
|
||||
files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
|
||||
//读取本地文件
|
||||
obj.preview(function (index, file, result) {
|
||||
var tr = $(['<tr id="upload-' + index + '">'
|
||||
, '<td>' + file.name + '</td>'
|
||||
, '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
|
||||
, '<td>等待上传</td>'
|
||||
, '<td>'
|
||||
, '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
|
||||
, '<button class="layui-btn layui-btn-xs layui-btn-danger notUpload-delete">删除</button>'
|
||||
, '</td>'
|
||||
, '</tr>'].join(''));
|
||||
|
||||
//单个重传
|
||||
tr.find('.demo-reload').on('click', function () {
|
||||
obj.upload(index, file);
|
||||
});
|
||||
//单个重传
|
||||
tr.find('.demo-reload').on('click', function () {
|
||||
obj.upload(index, file);
|
||||
});
|
||||
|
||||
//删除
|
||||
tr.find('.notUpload-delete').on('click', function () {
|
||||
delete files[index]; //删除对应的文件
|
||||
tr.remove();
|
||||
uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
|
||||
//删除
|
||||
tr.find('.notUpload-delete').on('click', function () {
|
||||
delete files[index]; //删除对应的文件
|
||||
tr.remove();
|
||||
uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
|
||||
});
|
||||
demoListView.append(tr);
|
||||
});
|
||||
demoListView.append(tr);
|
||||
});
|
||||
}
|
||||
, allDone: function (obj) { //当文件全部被提交后,才触发
|
||||
$("#" + id + "State").text("已上传");
|
||||
layer.closeAll('page'); //关闭所有页面层
|
||||
}
|
||||
, done: function (res, index, upload) {
|
||||
if (res.code == 0) { //上传成功
|
||||
}
|
||||
, allDone: function (obj) { //当文件全部被提交后,才触发
|
||||
$("#" + id + "State").text("已上传");
|
||||
layer.closeAll('page'); //关闭所有页面层
|
||||
}
|
||||
, done: function (res, index, upload) {
|
||||
if (res.code == 0) { //上传成功
|
||||
var tr = demoListView.find('tr#upload-' + index)
|
||||
, tds = tr.children();
|
||||
tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
|
||||
tds.eq(3).html(''); //清空操作
|
||||
|
||||
//赋值给弹出框对应的input
|
||||
var value = JSON.stringify(res);
|
||||
if ($("#" + id).val() == '') {
|
||||
$("#" + id).val(value);
|
||||
} else {
|
||||
$("#" + id).val($("#" + id).val() + ";" + value);
|
||||
}
|
||||
|
||||
return delete this.files[index]; //删除文件队列已经上传成功的文件
|
||||
}
|
||||
this.error(index, upload);
|
||||
}
|
||||
, error: function (index, upload) {
|
||||
var tr = demoListView.find('tr#upload-' + index)
|
||||
, tds = tr.children();
|
||||
tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
|
||||
tds.eq(3).html(''); //清空操作
|
||||
|
||||
//赋值给弹出框对应的input
|
||||
var value = JSON.stringify(res);
|
||||
if ($("#" + id).val() == '') {
|
||||
$("#" + id).val(value);
|
||||
} else {
|
||||
$("#" + id).val($("#" + id).val() + ";" + value);
|
||||
}
|
||||
|
||||
return delete this.files[index]; //删除文件队列已经上传成功的文件
|
||||
tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
|
||||
tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
|
||||
}
|
||||
this.error(index, upload);
|
||||
}
|
||||
, error: function (index, upload) {
|
||||
var tr = demoListView.find('tr#upload-' + index)
|
||||
, tds = tr.children();
|
||||
tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
|
||||
tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
//添加已上传文件列表
|
||||
@@ -655,10 +670,10 @@
|
||||
var project_start_time = '{$detail.start_time| date="Y-m-d"}';
|
||||
const opsData = {
|
||||
status: [
|
||||
{'id': 1, 'title': '未开始'},
|
||||
{'id': 2, 'title': '进行中'},
|
||||
{'id': 3, 'title': '已完成'},
|
||||
{'id': 4, 'title': '已关闭'}
|
||||
{ 'id': 1, 'title': '未开始' },
|
||||
{ 'id': 2, 'title': '进行中' },
|
||||
{ 'id': 3, 'title': '已完成' },
|
||||
{ 'id': 4, 'title': '已关闭' }
|
||||
]
|
||||
}
|
||||
|
||||
@@ -698,8 +713,8 @@
|
||||
show: false
|
||||
},
|
||||
data: [
|
||||
{value: 1048, name: '待处理'},
|
||||
{value: 735, name: '已完成'}
|
||||
{ value: 1048, name: '待处理' },
|
||||
{ value: 735, name: '已完成' }
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -748,13 +763,13 @@
|
||||
color: "#ED6666",
|
||||
}
|
||||
},
|
||||
{
|
||||
value: 735,
|
||||
name: '按时完成',
|
||||
itemStyle: {
|
||||
color: "#91CC75",
|
||||
}
|
||||
{
|
||||
value: 735,
|
||||
name: '按时完成',
|
||||
itemStyle: {
|
||||
color: "#91CC75",
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -782,11 +797,11 @@
|
||||
radius: ['25%', '75%'],
|
||||
center: ['60%', '50%'],
|
||||
data: [
|
||||
{value: 40, name: '待解决'},
|
||||
{value: 38, name: '进行中'},
|
||||
{value: 32, name: '已解决'},
|
||||
{value: 28, name: '不解决'},
|
||||
{value: 26, name: '已关闭'}
|
||||
{ value: 40, name: '待解决' },
|
||||
{ value: 38, name: '进行中' },
|
||||
{ value: 32, name: '已解决' },
|
||||
{ value: 28, name: '不解决' },
|
||||
{ value: 26, name: '已关闭' }
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -897,7 +912,7 @@
|
||||
itemStyle: {
|
||||
borderWidth: 0.5
|
||||
},
|
||||
yearLabel: {show: false},
|
||||
yearLabel: { show: false },
|
||||
monthLabel: {
|
||||
nameMap: 'cn',
|
||||
fontSize: 12
|
||||
@@ -962,7 +977,7 @@
|
||||
itemStyle: {
|
||||
borderWidth: 0.5
|
||||
},
|
||||
yearLabel: {show: false},
|
||||
yearLabel: { show: false },
|
||||
monthLabel: {
|
||||
nameMap: 'cn',
|
||||
fontSize: 12
|
||||
@@ -1005,7 +1020,7 @@
|
||||
data.push([this_date, 0]);
|
||||
}
|
||||
}
|
||||
var res = {'range': rangeArray, 'data': data};
|
||||
var res = { 'range': rangeArray, 'data': data };
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -1061,7 +1076,7 @@
|
||||
yArray = tem_y_array.concat(yArray);
|
||||
yArray2 = tem_y_array.concat(yArray2);
|
||||
}
|
||||
return {'x': xArray, 'y': yArray, 'y2': yArray2};
|
||||
return { 'x': xArray, 'y': yArray, 'y2': yArray2 };
|
||||
}
|
||||
|
||||
function cross_recursion(start, end, arr) {
|
||||
@@ -1121,7 +1136,7 @@
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
let postData = {id: id};
|
||||
let postData = { id: id };
|
||||
postData[name] = real_val;
|
||||
tool.post("/project/index/edit", postData, callback);
|
||||
}
|
||||
@@ -1157,7 +1172,7 @@
|
||||
|
||||
|
||||
$('#delProject').on('click', function () {
|
||||
layer.confirm('确定要删除该项目吗?请慎重', {icon: 3, title: '提示'}, function (index) {
|
||||
layer.confirm('确定要删除该项目吗?请慎重', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.closeAll();
|
||||
layer.msg(e.msg);
|
||||
@@ -1167,7 +1182,7 @@
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
let postData = {"id": project_id};
|
||||
let postData = { "id": project_id };
|
||||
tool.delete("/project/index/delete", postData, callback);
|
||||
});
|
||||
})
|
||||
@@ -1253,23 +1268,40 @@
|
||||
</div>
|
||||
<div class="layui-form-item" style="display:flex">
|
||||
<div class="layui-inline" style="display:flex;align-items:center;justify-content:center;">
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<label class="layui-form-label">合同开始</label>
|
||||
<div class="" style="width: 212px">
|
||||
<input type="text" name="start_time" required lay-verify="required" placeholder="请输入开始时间" autocomplete="off"
|
||||
<input type="text" name="start_time" placeholder="请输入开始时间" autocomplete="off"
|
||||
class="layui-input" id="start_time" value="${new Date(detail.start_time * 1000).toLocaleDateString('en-CA')}"
|
||||
onclick="layui.use('laydate', function(){ laydate({ elem: '#start_time', format: 'YYYY-MM-DD' }); })">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline" style="display:flex;align-items:center;justify-content:center;">
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<label class="layui-form-label">合同结束</label>
|
||||
<div class="" style="width: 212px">
|
||||
<input type="text" name="end_time" required lay-verify="required" placeholder="请输入结束时间" autocomplete="off"
|
||||
<input type="text" name="end_time" placeholder="请输入结束时间" autocomplete="off"
|
||||
class="layui-input" id="end_time" value="${formatLocalDate(detail.end_time)}"
|
||||
onclick="layui.use('laydate', function(){ laydate({ elem: '#end_time', format: 'YYYY-MM-DD' }); })">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" style="display:flex">
|
||||
<div class="layui-inline" style="display:flex;align-items:center;justify-content:center;">
|
||||
<label class="layui-form-label">项目开始</label>
|
||||
<div class="" style="width: 212px">
|
||||
<input type="text" name="project_start_time" placeholder="请输入开始时间" autocomplete="off"
|
||||
class="layui-input" id="project_start_time" value="${new Date(detail.project_start_time * 1000).toLocaleDateString('en-CA')}"
|
||||
onclick="layui.use('laydate', function(){ laydate({ elem: '#project_start_time', format: 'YYYY-MM-DD' }); })">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline" style="display:flex;align-items:center;justify-content:center;">
|
||||
<label class="layui-form-label">项目结束</label>
|
||||
<div class="" style="width: 212px">
|
||||
<input type="text" name="project_end_time" placeholder="请输入结束时间" autocomplete="off"
|
||||
class="layui-input" id="project_end_time" value="${formatLocalDate(detail.project_end_time)}"
|
||||
onclick="layui.use('laydate', function(){ laydate({ elem: '#project_end_time', format: 'YYYY-MM-DD' }); })">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">项目简介</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -1290,6 +1322,8 @@
|
||||
|
||||
laydate.render({ elem: '#start_time', type: 'date', format: 'yyyy-MM-dd' });
|
||||
laydate.render({ elem: '#end_time', type: 'date', format: 'yyyy-MM-dd' });
|
||||
laydate.render({ elem: '#project_start_time', type: 'date', format: 'yyyy-MM-dd' });
|
||||
laydate.render({ elem: '#project_end_time', type: 'date', format: 'yyyy-MM-dd' });
|
||||
|
||||
form.on('submit(saveProject)', function (data) {
|
||||
$.ajax({
|
||||
@@ -1339,11 +1373,11 @@
|
||||
|
||||
//关闭项目
|
||||
$('#closeProject').on('click', function () {
|
||||
layer.confirm('确定要关闭该项目吗?请慎重', {icon: 3, title: '提示'}, function (index) {
|
||||
layer.confirm('确定要关闭该项目吗?请慎重', { icon: 3, title: '提示' }, function (index) {
|
||||
$.ajax({
|
||||
url: "/project/index/close",
|
||||
type: "POST",
|
||||
data: {"id": project_id},
|
||||
data: { "id": project_id },
|
||||
success: function (e) {
|
||||
layer.closeAll();
|
||||
layer.msg(e.msg);
|
||||
@@ -1362,11 +1396,11 @@
|
||||
|
||||
//开启项目
|
||||
$('#reopenProject').on('click', function () {
|
||||
layer.confirm('确定要开启该项目吗?请慎重', {icon: 3, title: '提示'}, function (index) {
|
||||
layer.confirm('确定要开启该项目吗?请慎重', { icon: 3, title: '提示' }, function (index) {
|
||||
$.ajax({
|
||||
url: "/project/index/open",
|
||||
type: "POST", // 根据实际情况调整请求类型
|
||||
data: {"id": project_id},
|
||||
data: { "id": project_id },
|
||||
success: function (e) {
|
||||
layer.closeAll();
|
||||
layer.msg(e.msg);
|
||||
@@ -1416,11 +1450,11 @@
|
||||
})
|
||||
} else {
|
||||
layer.confirm('确认已完成该阶段工作,进入下个阶段?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
},
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
},
|
||||
function (index) {
|
||||
tool.post("/api/project/step_check", {id: project_id, check: check}, callback);
|
||||
tool.post("/api/project/step_check", { id: project_id, check: check }, callback);
|
||||
})
|
||||
}
|
||||
});
|
||||
@@ -1434,7 +1468,7 @@
|
||||
//,multiple: true
|
||||
, bindAction: '#test9'
|
||||
, before: function (obj) {
|
||||
layer.msg('上传中...', {time: 3600000});
|
||||
layer.msg('上传中...', { time: 3600000 });
|
||||
}
|
||||
, done: function (res, index, upload) {
|
||||
let callback = function (e) {
|
||||
@@ -1460,7 +1494,7 @@
|
||||
|
||||
$('#fileList').on('click', '.btn-delete', function () {
|
||||
let id = $(this).data('id');
|
||||
layer.confirm('确定要删除该附件吗?', {icon: 3, title: '提示'}, function (index) {
|
||||
layer.confirm('确定要删除该附件吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.closeAll();
|
||||
layer.msg(e.msg);
|
||||
@@ -1468,7 +1502,7 @@
|
||||
location.reload();
|
||||
}, 2000)
|
||||
}
|
||||
let postData = {"id": id};
|
||||
let postData = { "id": id };
|
||||
tool.delete("/api/appendix/delete", postData, callback);
|
||||
});
|
||||
})
|
||||
@@ -1484,7 +1518,7 @@
|
||||
})
|
||||
$('#linkList').on('click', '.link-delete', function () {
|
||||
let id = $(this).data('id');
|
||||
layer.confirm('确定要删除该链接吗?', {icon: 3, title: '提示'}, function (index) {
|
||||
layer.confirm('确定要删除该链接吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.closeAll();
|
||||
layer.msg(e.msg);
|
||||
@@ -1492,7 +1526,7 @@
|
||||
location.reload();
|
||||
}, 2000)
|
||||
}
|
||||
let postData = {"id": id};
|
||||
let postData = { "id": id };
|
||||
tool.delete("/api/appendix/delete_link", postData, callback);
|
||||
});
|
||||
})
|
||||
@@ -1510,8 +1544,8 @@
|
||||
show: false
|
||||
},
|
||||
data: [
|
||||
{value: res.data.task_pie.count - res.data.task_pie.count_ok, name: '待处理'},
|
||||
{value: res.data.task_pie.count_ok, name: '已完成'}
|
||||
{ value: res.data.task_pie.count - res.data.task_pie.count_ok, name: '待处理' },
|
||||
{ value: res.data.task_pie.count_ok, name: '已完成' }
|
||||
]
|
||||
}
|
||||
];
|
||||
@@ -1534,13 +1568,13 @@
|
||||
color: "#ED6666",
|
||||
}
|
||||
},
|
||||
{
|
||||
value: res.data.task_pie.count - res.data.task_pie.delay,
|
||||
name: '按时完成',
|
||||
itemStyle: {
|
||||
color: "#91CC75",
|
||||
}
|
||||
{
|
||||
value: res.data.task_pie.count - res.data.task_pie.delay,
|
||||
name: '按时完成',
|
||||
itemStyle: {
|
||||
color: "#91CC75",
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
@@ -1553,11 +1587,11 @@
|
||||
radius: ['25%', '75%'],
|
||||
center: ['60%', '50%'],
|
||||
data: [
|
||||
{value: res.data.bug_status.status_a, name: '待解决'},
|
||||
{value: res.data.bug_status.status_b, name: '进行中'},
|
||||
{value: res.data.bug_status.status_c, name: '已解决'},
|
||||
{value: res.data.bug_status.status_d, name: '不解决'},
|
||||
{value: res.data.bug_status.status_e, name: '已关闭'}
|
||||
{ value: res.data.bug_status.status_a, name: '待解决' },
|
||||
{ value: res.data.bug_status.status_b, name: '进行中' },
|
||||
{ value: res.data.bug_status.status_c, name: '已解决' },
|
||||
{ value: res.data.bug_status.status_d, name: '不解决' },
|
||||
{ value: res.data.bug_status.status_e, name: '已关闭' }
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1588,7 +1622,7 @@
|
||||
type: 'line',
|
||||
showSymbol: false,
|
||||
markLine: {
|
||||
data: [{type: 'average', name: 'Avg'}],
|
||||
data: [{ type: 'average', name: 'Avg' }],
|
||||
},
|
||||
lineStyle: {
|
||||
width: 2
|
||||
@@ -1603,7 +1637,7 @@
|
||||
opacity: 0.1
|
||||
},
|
||||
markLine: {
|
||||
data: [{type: 'average', name: 'Avg'}],
|
||||
data: [{ type: 'average', name: 'Avg' }],
|
||||
},
|
||||
lineStyle: {
|
||||
width: 2
|
||||
@@ -1634,7 +1668,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
tool.get('/api/project/get_chart_data', {'project_id': project_id}, callback);
|
||||
tool.get('/api/project/get_chart_data', { 'project_id': project_id }, callback);
|
||||
|
||||
window.onresize = function () {
|
||||
progressChart.resize();
|
||||
|
||||
Reference in New Issue
Block a user