459 lines
28 KiB
HTML
459 lines
28 KiB
HTML
<!DOCTYPE html>
|
||
<html class="x-admin-sm">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>银河锋锐工作室账户后台系统</title>
|
||
<meta name="renderer" content="webkit">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<link rel="stylesheet" href="/css/font.css">
|
||
<link rel="stylesheet" href="/css/xadmin.css">
|
||
<link rel="stylesheet" href="/css/win10ui.css">
|
||
<link rel="stylesheet" href="/css/theme.css">
|
||
<script type="text/javascript" src="/lib/layui/layui.js" charset="utf-8"></script>
|
||
<script type="text/javascript" src="/js/xadmin.js"></script>
|
||
<script type="text/javascript" src="/js/tables.js"></script>
|
||
<!--[if lt IE 9]>
|
||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||
<![endif]-->
|
||
</head>
|
||
<body>
|
||
<div class="x-nav">
|
||
<span class="layui-breadcrumb">
|
||
<a>首页</a>
|
||
<a>任务</a>
|
||
<a>执行任务 "{{ TaskName }}" - {{ TaskUUID }}</a>
|
||
</span>
|
||
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
|
||
<i class="layui-icon layui-icon-refresh" style="line-height:30px"></i>
|
||
</a>
|
||
</div>
|
||
<div class="layui-fluid">
|
||
<div class="layui-row layui-col-space15">
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">任务倒计时</div>
|
||
<div class="layui-card-body">
|
||
<div class="layui-form-item">
|
||
<p style="font-family: RM;font-size: 9vw;text-align: center;color: red;" id="count">
|
||
<span style="font-family: RM;font-size: 9vw;" id="countday">00</span>
|
||
<span style="font-family: CZH;font-size: 3vw;">天</span>
|
||
<span style="font-family: RM;font-size: 9vw;" id="counthour">00</span>
|
||
<span style="font-family: CZH;font-size: 3vw;">时</span>
|
||
<span style="font-family: RM;font-size: 9vw;" id="countminute">00</span>
|
||
<span style="font-family: CZH;font-size: 3vw;">分</span>
|
||
<span style="font-family: RM;font-size: 9vw;" id="countsecond">00</span>
|
||
<span style="font-family: CZH;font-size: 3vw;">秒</span>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">任务信息</div>
|
||
<div class="layui-card-body">
|
||
<table class="layui-table">
|
||
<tbody>
|
||
<tr>
|
||
<th>任务名称:</th>
|
||
<td>{{ TaskName }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务发布者:</th>
|
||
<td>{{ TaskPublisher }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务UUID:</th>
|
||
<td>{{ TaskUUID }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务开始时间:</th>
|
||
<td>{{ TaskStartTime }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务结束时间:</th>
|
||
<td>{{ TaskEndTime }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务添加时间:</th>
|
||
<td>{{ TaskAddTime }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务完成时间:</th>
|
||
<td>{{ TaskFinishTime }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务类型:</th>
|
||
<td>
|
||
{% for i in TaskType %}
|
||
<span class="layui-btn layui-btn-normal layui-btn-mini">{{ i }}</span>
|
||
{% endfor %}
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th>任务答复:</th>
|
||
<td>
|
||
{% for i in TaskAnswer %}
|
||
<span class="layui-btn layui-btn-normal layui-btn-mini">{{ i }}</span>
|
||
{% endfor %}
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% if TaskDo == 0 %}
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">任务接收者管理</div>
|
||
<table class="layui-hide" id="Receiver-treetable"></table>
|
||
<script type="text/html" id="TPL-Receiver-treetable">
|
||
<div class="layui-btn-container">
|
||
<button class="layui-btn layui-btn-sm" lay-event="FullChecked">展开全部</button>
|
||
<button class="layui-btn layui-btn-sm" lay-event="FullOutChecked">收起全部</button>
|
||
</div>
|
||
</script>
|
||
<script type="text/html" id="TPL-Receiver-treetable-tools">
|
||
<div class="layui-btn-container">
|
||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="CheckAnswer">查看答案</a>
|
||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="PassTask">通过任务</a>
|
||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="OverRuleTask">驳回任务</a>
|
||
<a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
|
||
</div>
|
||
</script>
|
||
<script>
|
||
layui.use(function() {
|
||
var treeTable = layui.treeTable;
|
||
var layer = layui.layer;
|
||
var dropdown = layui.dropdown;
|
||
var inst = treeTable.render({
|
||
elem: '#Receiver-treetable',
|
||
id: "Receiver-treetable",
|
||
url: '/API/GetTasksDevReceiver.api?TaskUUID={{ TaskUUID }}',
|
||
tree: {},
|
||
toolbar: '#TPL-Receiver-treetable',
|
||
cols: [
|
||
[
|
||
{
|
||
type: 'checkbox',
|
||
fixed: 'left'
|
||
},
|
||
{
|
||
field: 'ReceiverUUID',
|
||
title: '接收者UUID',
|
||
width: 300
|
||
},
|
||
|
||
{
|
||
field: 'ReceiverName',
|
||
title: '接收者名称',
|
||
width: 100
|
||
},
|
||
{
|
||
field: 'ReceiverFinishFlan',
|
||
title: '接收者完成的状态',
|
||
templet: function(d){
|
||
if (d.ReceiverFinishFlan == 1) {
|
||
return "<span class=\"layui-btn layui-btn-normal layui-btn-mini\">已完成</span>"
|
||
} else if (d.ReceiverFinishFlan == 0) {
|
||
return "<span class=\"layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled\">未完成</span>"
|
||
} else {
|
||
return "<span class=\"layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled\">未知状态</span>"
|
||
};
|
||
},
|
||
width: 200
|
||
},
|
||
{
|
||
field: 'PublisherFinishFlan',
|
||
title: '发布者确认的状态',
|
||
templet: function(d){
|
||
if (d.PublisherFinishFlan == 1) {
|
||
return "<span class=\"layui-btn layui-btn-normal layui-btn-mini\">通过</span>"
|
||
} else if (d.PublisherFinishFlan == -1) {
|
||
return "<span class=\"layui-btn layui-btn-danger layui-btn-mini\">驳回</span>"
|
||
} else if (d.PublisherFinishFlan == 0){
|
||
return "<span class=\"layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled\">未确认</span>"
|
||
} else {
|
||
return "<span class=\"layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled\">未知状态</span>"
|
||
}
|
||
},
|
||
width: 200
|
||
},
|
||
{
|
||
field: 'ReceiverFile',
|
||
title: '接收者提交的文件信息',
|
||
width: 400
|
||
},
|
||
{
|
||
fixed: "right",
|
||
title: "操作",
|
||
width: 250,
|
||
align: "center",
|
||
toolbar: "#TPL-Receiver-treetable-tools"
|
||
}
|
||
]
|
||
],
|
||
page: false
|
||
});
|
||
// 表头工具栏工具事件
|
||
treeTable.on("toolbar(Receiver-treetable)", function(obj) {
|
||
var config = obj.config;
|
||
var tableId = config.id;
|
||
var status = treeTable.checkStatus(tableId);
|
||
// 获取选中行
|
||
if (obj.event === "FullChecked") {
|
||
Toast.success('操作成功', '成功展开内容', 3000);
|
||
treeTable.expandAll('Receiver-treetable', true);
|
||
}
|
||
if (obj.event === "FullOutChecked") {
|
||
Toast.success('操作成功', '成功收起内容', 3000);
|
||
treeTable.expandAll('Receiver-treetable', false);
|
||
}
|
||
});
|
||
// 单元格工具事件
|
||
treeTable.on('tool(' + inst.config.id + ')', function(obj) {
|
||
var layEvent = obj.event; // 获得 lay-event 对应的值
|
||
var trElem = obj.tr;
|
||
var trData = obj.data;
|
||
var tableId = obj.config.id;
|
||
if (layEvent === "PassTask") {
|
||
$.post("/API/TasksDevPass.api", {
|
||
TaskUUID: "{{ TaskUUID }}",
|
||
UserUUID: trData.ReceiverUUID,
|
||
PassMod: 1
|
||
},
|
||
function(data) {
|
||
if (!data.code) {
|
||
Toast.success('任务变更操作', '通过成功', 3000);
|
||
inst.reload();
|
||
} else {
|
||
Toast.success('任务变更操作', `删除失败,错误:${data.msg}`, 3000);
|
||
}
|
||
});
|
||
} else if (layEvent === "OverRuleTask") {
|
||
$.post("/API/TasksDevPass.api", {
|
||
TaskUUID: "{{ TaskUUID }}",
|
||
UserUUID: trData.ReceiverUUID,
|
||
PassMod: -1
|
||
},
|
||
function(data) {
|
||
if (!data.code) {
|
||
Toast.success('任务变更操作', '通过成功', 3000);
|
||
inst.reload();
|
||
} else {
|
||
Toast.success('任务变更操作', `删除失败,错误:${data.msg}`, 3000);
|
||
}
|
||
});
|
||
} else if (layEvent === "more") {
|
||
// 下拉菜单
|
||
dropdown.render({
|
||
elem: this, // 触发事件的 DOM 对象
|
||
show: true, // 外部事件触发即显示
|
||
align: "right", // 右对齐弹出
|
||
data: [
|
||
{title: "设置未确认状态", id: "NotConfirmed"}
|
||
],
|
||
click: function (menudata) {
|
||
if (menudata.id == "NotConfirmed")
|
||
{
|
||
$.post("/API/TasksDevPass.api", {
|
||
TaskUUID: "{{ TaskUUID }}",
|
||
UserUUID: trData.ReceiverUUID,
|
||
PassMod: 0
|
||
},
|
||
function(data) {
|
||
if (!data.code) {
|
||
Toast.success('任务变更操作', '通过成功', 3000);
|
||
inst.reload();
|
||
} else {
|
||
Toast.success('任务变更操作', `删除失败,错误:${data.msg}`, 3000);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
}
|
||
});
|
||
setInterval(function() {
|
||
inst.reload();
|
||
}, 300000);
|
||
});
|
||
</script>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
{% if TaskDo == 1 %}
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">执行任务</div>
|
||
<div class="layui-card-body">
|
||
<form class="layui-form" method="post" id="FormPost" action="/API/UserTaskSubmit.api" enctype="multipart/form-data">
|
||
<form class="layui-form" action="" lay-filter="component-form-element">
|
||
<div class="layui-row layui-col-space10 layui-form-item">
|
||
<div class="layui-form-item">
|
||
<div class="layui-col-lg6">
|
||
<blockquote class="layui-elem-quote">注意,你需要根据任务需要的信息进行填写,见上方的"任务信息"中的"任务答复"</blockquote>
|
||
{% if 1 in TaskAnswerList %}
|
||
<blockquote class="layui-elem-quote">注意,上传的文件必须大于1字节,小于100MB,如果超过100MB,请到第三方链接上传,然后上传链接文件</blockquote>
|
||
{% endif %}
|
||
{% if 5 in TaskAnswerList %}
|
||
<blockquote class="layui-elem-quote">注意,你需要先点击一下链接前往作答,然后点击立即提交</blockquote>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item" style="display: none;">
|
||
<div class="layui-col-lg6">
|
||
<label class="layui-form-label">TASKUUID</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="TaskUUID" value="{{ TaskUUID }}" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% if 1 in TaskAnswerList %}
|
||
<div class="layui-form-item">
|
||
<label for="上传文件" class="layui-form-label"><span class="x-red"></span>上传文件</label>
|
||
<div class="layui-input-inline">
|
||
<input type="file" name="File" class="layui-btn" lay-filter="add" lay-submit="" text="修改">
|
||
<!--<input type="file" id="File" name="File" accept="image/png" class="layui-btn" lay-filter="add" lay-submit="" text="修改"/>-->
|
||
</div>
|
||
{% endif %}
|
||
{% if 2 in TaskAnswerList %}
|
||
<div class="layui-form-item">
|
||
<div class="layui-col-lg6">
|
||
<label class="layui-form-label">填写长信息:</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="LongInFo" placeholder="" class="layui-textarea"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
{% if 3 in TaskAnswerList %}
|
||
<div class="layui-form-item">
|
||
<div class="layui-col-lg6">
|
||
<label class="layui-form-label">填写短信息:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="ShortInFo" placeholder="" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
{% if 4 in TaskAnswerList %}
|
||
<div class="layui-form-item">
|
||
<div class="layui-col-lg6">
|
||
<label class="layui-form-label">填写链接:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="LinkInFo" placeholder="" autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
{% if 5 in TaskAnswerList %}
|
||
<div class="layui-form-item">
|
||
<div class="layui-col-lg6">
|
||
<label class="layui-form-label">作答链接:</label>
|
||
<div class="layui-input-block">
|
||
<label class="layui-form-label"><a href="https://ccgo.gvsds.com/questions/{{ TaskCCGOID }}" target="_blank">CCGO题目ID:{{ TaskCCGOID }}</a></label>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit="" lay-filter="component-form-element">立即提交</button>
|
||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">任务要求</div>
|
||
<div class="layui-card-body">
|
||
{{ TaskNeed }}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">任务备注</div>
|
||
<div class="layui-card-body">
|
||
{{ TaskOther }}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
function showTime() {
|
||
//获取目的日期
|
||
var myyear = Number("{{ CountYear }}"); //年
|
||
var mymonth = Number("{{ CountMonth }}") - 1; //月 只需要填写 - 前面的数字,这里是十二月
|
||
var myday = Number("{{ CountDay }}"); //天
|
||
var myhour = Number("{{ CountHour }}"); //时
|
||
var myminute = Number("{{ CountMinute }}"); //分
|
||
var mysecond = Number("{{ CountSecond }}"); //秒
|
||
var reload = Number("{{ ReLoad }}");
|
||
//综合填入的时间;
|
||
var time = Number(new Date(myyear, mymonth, myday, myhour, myminute, mysecond));
|
||
// var time=new Date(myyear,mymonth,myday,myhour,myminute,mysecond).getTime();
|
||
//获取当前时间
|
||
var nowTime = Date.now();
|
||
// var nowTime = new Date().getTime();
|
||
//获取时间差
|
||
var timediff = Math.round((time - nowTime) / 1000);
|
||
//获取还剩多少天
|
||
var day = parseInt(timediff / 3600 / 24);
|
||
//获取还剩多少小时
|
||
var hour = parseInt(timediff / 3600 % 24);
|
||
//获取还剩多少分钟
|
||
var minute = parseInt(timediff / 60 % 60);
|
||
//获取还剩多少秒
|
||
var second = timediff % 60;
|
||
//输出还剩多少时间
|
||
|
||
add=day*24*60*60+hour*60*60+minute*60+second;
|
||
if (add<=0){
|
||
if (reload == 1){
|
||
for (;;){
|
||
window.location.reload();
|
||
}
|
||
} else {
|
||
return
|
||
}
|
||
} else if (add>60*30) {
|
||
a=1;
|
||
document.getElementById("count").style.color="black";
|
||
document.getElementById("countday").innerHTML=timerFilter(day);
|
||
document.getElementById("counthour").innerHTML=timerFilter(hour);
|
||
document.getElementById("countminute").innerHTML=timerFilter(minute);
|
||
document.getElementById("countsecond").innerHTML=timerFilter(second);
|
||
} else {
|
||
a=1;
|
||
document.getElementById("count").style.color="red";
|
||
document.getElementById("countday").innerHTML=timerFilter(day);
|
||
document.getElementById("counthour").innerHTML=timerFilter(hour);
|
||
document.getElementById("countminute").innerHTML=timerFilter(minute);
|
||
document.getElementById("countsecond").innerHTML=timerFilter(second);
|
||
}
|
||
setTimeout(showTime, 1000);
|
||
//给小于10的数值前面加 0
|
||
function timerFilter(params) {
|
||
if (params - 0 < 10) {
|
||
return '0' + params
|
||
} else {
|
||
return params
|
||
}
|
||
}
|
||
}
|
||
showTime();
|
||
</script>
|
||
</body>
|
||
</html> |