<!DOCTYPE html>
|
<html>
|
<head>
|
<meta charset="utf-8">
|
<title>任务同步</title>
|
<meta name="renderer" content="webkit">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
|
<link rel="stylesheet" href="../../css/public.css" media="all">
|
<script>
|
// 这里是需要在页面渲染之前执行的代码
|
document.addEventListener("DOMContentLoaded", function() {
|
//获取table默认显示数
|
pageCntFirst();
|
//判断是否开启table列表列宽调整功能。
|
GetIsSetColW();
|
});
|
</script>
|
</head>
|
<body id="body">
|
<div class="layui-fluid" style="padding-bottom: 0; ">
|
<div class="layui-card">
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top">
|
<div class="layui-form-item" >
|
|
<div class="layui-inline">
|
<label class="layui-form-label">任务号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="TaskNo" name="TaskNo" placeholder="请输入任务号" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 90px;">任务类型</label>
|
<div class="layui-input-inline">
|
<select name="Type" id="Type" lay-filter="Type" lay-search>
|
<option value=""></option>
|
<option value="0">入库任务</option>
|
<option value="1">出库任务</option>
|
<option value="2">移库任务</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 45px;">状态</label>
|
<div class="layui-input-inline">
|
<select name="Status" id="Status" lay-filter="Status" lay-search>
|
<option value=""></option>
|
<option value="0">未同步</option>
|
<option value="1">已同步</option>
|
<option value="2">无需同步</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">托盘号</label>
|
<div class="layui-input-inline">
|
<input type="text" id="PalletNo" name="PalletNo" placeholder="请输入托盘号" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 60px;">开始时间</label>
|
<div class="layui-input-inline">
|
<input type="text" autocomplete="off" name="StartTime" id="StartTime" class="layui-input"
|
placeholder="开始时间">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label" style="width: 60px;">结束时间</label>
|
<div class="layui-input-inline">
|
<input type="text" autocomplete="off" name="EndTime" id="EndTime" class="layui-input"
|
placeholder="结束时间">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
|
</button>
|
</div>
|
|
<!-- 选择单据弹框 -->
|
<div class="layui-inline" id="divChooseOrder" style="display: none; padding-top: 10px;">
|
<label class="layui-form-label">单据号</label>
|
<div class="layui-input-inline" style="width: 240px;">
|
<select name="BillCode" id="BillCode" lay-filter="BillCode" lay-search>
|
<option value=""></option>
|
</select>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div id="center"></div>
|
<div class="layui-card-body">
|
<div class="position-relative">
|
<table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
|
|
<script type="text/html" id="templetType">
|
{{# function GetBtn1(d){
|
var html = ``;
|
if(d.Type=='0'){
|
html = `入库任务`;
|
} else if(d.Type=='1') {
|
html = `出库任务`;
|
} else if(d.Type=='2') {
|
html = `移库任务`;
|
}else {
|
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn1(d) }}
|
</script>
|
<script type="text/html" id="templetStatus">
|
{{# function GetBtn2(d){
|
var html = ``;
|
if(d.Status=='0'){
|
html = `未同步`;
|
} else if(d.Status=='1') {
|
html = `已同步`;
|
} else if(d.Status=='2') {
|
html = `无需同步`;
|
}else {
|
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn2(d) }}
|
</script>
|
|
<script type="text/html" id="templetPalletType">
|
{{# function GetBtn3(d){
|
var html = ``;
|
if(d.PalletType=='0'){
|
html = `物料托`;
|
} else if(d.PalletType=='1') {
|
html = `空托`;
|
}else {
|
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn3(d) }}
|
</script>
|
|
<script type="text/html" id="toolbarDemo1">
|
{{# function GetBtn(d){
|
var html = '';
|
if (d.Status == '0') {
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs handleClass" lay-event="handle">
|
<i class="layui-icon layui-icon-edit"></i>处理</a>`;
|
html += `<a class="layui-btn layui-btn-normal layui-btn-xs noHandleClass" lay-event="noHandle">
|
<i class="layui-icon layui-icon-edit"></i>无需处理</a>`;
|
}
|
return html;
|
}
|
}}
|
{{ GetBtn(d) }}
|
</script>
|
<!--#region 自定义表头 -->
|
<div class="headerSetIcon">
|
<button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols">
|
<i class="layui-icon"></i>
|
</button>
|
</div>
|
<!-- #endregion -->
|
</div>
|
</div>
|
</div>
|
</div>
|
<script src="../../layuiadmin/layui/layui.js"></script>
|
<script src="../../js/jquery-3.5.1.min.js"></script>
|
<script src="../../js/jquery.cookie.js"></script>
|
<script src="../../js/public.js"></script>
|
|
<script>
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'table', 'laypage', 'layer', 'laydate'], function() {
|
var table = layui.table,
|
form = layui.form,
|
laypage = layui.laypage,
|
layer = layui.layer;
|
laydate = layui.laydate;
|
laydate.render({
|
elem: '#StartTime'
|
, format: 'yyyy-MM-dd' //可任意组合
|
});
|
laydate.render({
|
elem: '#EndTime'
|
, format: 'yyyy-MM-dd' //可任意组合
|
});
|
|
var h1 = GetTableHeight();
|
|
var TotalColsArr =
|
[[
|
{field: '',title: '序号',type: 'numbers',width: 60,fixed: 'left',"disabled": true},
|
{field: 'TaskNo', title: '任务号', align: 'center', fixed: 'left', width:180},
|
{field: 'Type',title: '任务类型',align: 'center',templet: '#templetType'},
|
{field: 'Status',title: '状态',align: 'center',templet: '#templetStatus'},
|
{field: 'StartLocat', title: '起始位置', align: 'center', width:190},
|
{field: 'EndLocat', title: '目标位置', align: 'center', width:190},
|
{field: 'PalletNo', title: '托盘号', align: 'center', width:180},
|
{field: 'PalletType', title: '托盘类型', align: 'center', width:120,templet: '#templetPalletType'},
|
{field: 'FinishDate', title: '完成时间', align: 'center'},
|
{field: 'WCSName', title: 'WCS操作人', align: 'center'},
|
{field: 'CreateTime', title: '创建时间', align: 'center', width:160},
|
{field: 'UpdateUserName', title: '更新人', align: 'center', width:120},
|
{field: 'UpdateTime', title: '更新时间', align: 'center', width:160},
|
{field: 'caozuo',title: '操作',fixed: 'right',width: 180,align: 'center',toolbar: '#toolbarDemo1', "disabled": true}
|
]];
|
var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
|
|
refreshTable();
|
function refreshTable() {
|
|
var param1={
|
Href:'BllTask/GetTaskSyncList'
|
};
|
|
sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
|
if (res.code == 0){
|
if(res.data=='' || res.data==undefined || res.data==null){
|
colsJson=TotalColsArr
|
}else{
|
colsJson= eval(res.data);
|
}
|
}else{
|
colsJson=TotalColsArr
|
}
|
|
var param = {
|
TaskNo: $("#TaskNo").val(),
|
Type: $("#Type").val(),
|
Status: $("#Status").val(),
|
PalletNo: $("#PalletNo").val(),
|
StartTime: $("#StartTime").val(),
|
EndTime: $("#EndTime").val(),
|
};
|
table.render({
|
elem: '#LAY-app-content-list',
|
url: IP + '/BllTask/GetTaskSyncList',
|
method: 'post',
|
height: h1,
|
id: 'LAY-app-content-list',
|
where: param,
|
contentType: 'application/json',
|
// toolbar: '#toolbarDemo',
|
defaultToolbar: [], //'filter','print', 'exports'
|
headers: { ToKen: $.cookie('token') },
|
page: true,
|
even: true,
|
limit: pageCnt,
|
limits: pageLimits,
|
cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
done: function (res) {
|
setRight();
|
//自定义列宽
|
SetTableColW('LAY-app-content-list','BllTask/GetTaskSyncList',TotalColsSysArr);
|
},
|
cols: colsJson
|
});
|
});
|
}
|
var doing = true;
|
table.on('tool(LAY-app-content-list)', function (obj) {
|
var data = obj.data;
|
switch(obj.event)
|
{
|
case "handle" :
|
// 代码区域
|
if(doing==true){
|
doing= false;
|
|
if(data.Status!="0"){
|
layer.msg("该任务已处理,无需再操作", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {});
|
doing= true;
|
return;
|
}
|
if((data.Type=="0" || data.Type=="1") && data.PalletType == "0"){
|
var type=data.Type
|
var param = {
|
type: type
|
};
|
sendData(IP + "/BllTask/GetOrderNoList", param, 'get', function (res) {
|
if (res.code == 0) { //成功
|
$("#BillCode").empty();
|
$("#BillCode").append("<option value =''></option>");
|
for (var i = 0; i < res.data.length; i++) {
|
$("#BillCode").append('<option value =' + res.data[i] + '>' + res.data[i] +
|
'</option>');
|
}
|
form.render('select');
|
layer.open({
|
type: 1,
|
title: '关联单据',
|
content: $('#divChooseOrder'),
|
maxmin: false,
|
area: ['420px','320px'],
|
btn: ['确定', '取消'],
|
yes: function(index, layero) {
|
var oderNo=$('#BillCode').val()
|
if(oderNo==''){
|
layer.msg('请选择单据号', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
return;
|
}
|
var param2 = {
|
TaskNo: data.TaskNo,
|
OrderNo:oderNo
|
};
|
sendData(IP + '/BllTask/HandleTaskSync', param2, 'post', function (res) {
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1500 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
}
|
layer.close(index);
|
});
|
}
|
});
|
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
}
|
});
|
}else{
|
layer.confirm('确定处理选中的任务吗?', function (index) {
|
var param = {
|
TaskNo: data.TaskNo,
|
OrderNo:''
|
};
|
sendData(IP + '/BllTask/HandleTaskSync', param, 'post', function (res) {
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1500 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
}
|
});
|
});
|
}
|
doing= true;
|
}else{
|
layer.msg("请勿重复点击", {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
});
|
}
|
|
break;
|
|
case "noHandle":
|
layer.confirm('确定将任务改为无需处理吗?', function (index) {
|
var param = {
|
TaskNo: data.TaskNo
|
};
|
sendData(IP + '/BllTask/NoHandleTaskSync', param, 'post', function (res) {
|
if (res.code == 0) { //成功
|
layer.msg(res.msg, {
|
icon: 1,
|
time: 1500 //2秒关闭(如果不配置,默认是3秒)
|
}, function () {
|
refreshTable();
|
});
|
} else { //不成功
|
layer.msg(res.msg, {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function () { });
|
}
|
});
|
});
|
break;
|
default:break;
|
}
|
});
|
|
function setRight(){
|
$(function() {
|
$(".editClass").hide();
|
|
});
|
sendData(IP + "/Basis/GetRoleRightList", {}, 'get', function(res) {
|
if (res.code == 0) { //成功
|
for (var k = 0; k < res.data.length; k++) {
|
if (res.data[k].MenuName == "处理同步任务") {
|
$(function() {
|
$(".handleClass").show();
|
});
|
}
|
}
|
} else { //不成功
|
layer.msg('获取权限信息失败', {
|
icon: 2,
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
}, function() {});
|
}
|
});
|
}
|
|
var $ = layui.$,
|
active = {
|
customCols: function(){
|
layer.open({
|
type: 2,
|
title: '自定义列',
|
content: '../SystemSettings/HeaderSetting.html?Href=BllTask/GetTaskSyncList&ColsSysArr='+TotalColsSysArr,
|
maxmin: false,
|
resize: false,
|
area: ['970px', '650px']
|
});
|
},
|
};
|
$('.layui-btn').on('click', function() {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
|
//监听搜索
|
form.on('submit(LAY-app-contlist-search)', function(data) {
|
|
refreshTable();
|
});
|
;
|
});
|
</script>
|
</body>
|
</html>
|