<!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">
|
</head>
|
<body>
|
<div class="layui-card layadmin-header">
|
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
<a lay-href="">主页</a>
|
<a><cite>采购订单</cite></a>
|
<a><cite>采购订单表格</cite></a>
|
<a><cite>采购订单表格的重载</cite></a>
|
</div>
|
</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-body">
|
<!--<div class="test-table-reload-btn" style="margin-bottom: 10px;">-->
|
<form class="layui-form" action="">
|
<div class="layui-form-item">
|
<div class="layui-inline">
|
<label class="layui-form-label">订单状态</label>
|
<div class="layui-input-block">
|
<select name="HStatus" id="HStatus" lay-filter="">
|
<option value="" selected="">全部</option>
|
<option value="未确认">未确认</option>
|
<option value="已确认">已确认</option>
|
<option value="已驳回">已驳回</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">单据号</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HBillNo" id="HBillNo">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">物料编码</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HShortNumber" id="HShortNumber">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">物料代码</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HNumber" id="HNumber">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">物料名称</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HName" id="HName">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">规格型号</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HModel" id="HModel">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">关闭状态</label>
|
<div class="layui-input-block">
|
<select id="HClStatus" name="HClStatus" lay-filter="">
|
<option value="">全部</option>
|
<option value="未关闭" selected>未关闭</option>
|
<option value="已关闭">已关闭</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">是否已下推送货单</label>
|
<div class="layui-input-block">
|
<select id="HISGenerate" name="HISGenerate" lay-filter="">
|
<option value="全部" selected>全部</option>
|
<option value="是">是</option>
|
<option value="否">否</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">日期间隔</label>
|
<div class="layui-input-block">
|
<select name="HInitTimeCycle" id="HInitTimeCycle" class="ForFilteringSchemes" lay-filter="HInitTimeCycle" style="width:190px;">
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">开始日期</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HBeginDate" id="HBeginDate">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">结束日期</label>
|
<div class="layui-input-block">
|
<input type="text" class="layui-input" name="HEndDate" id="HEndDate">
|
</div>
|
</div>
|
<div class="layui-inline">
|
<label class="layui-form-label">交货时间</label>
|
<div class="layui-input-block">
|
<select id="Time" name="Time" lay-filter="">
|
<option value="0" selected>全部</option>
|
<option value="1">一周内交货</option>
|
<option value="2">二周内交货</option>
|
<option value="3">一月内交货</option>
|
<option value="4">两月内交货</option>
|
<option value="5">三月内交货</option>
|
<option value="6">半年内交货</option>
|
<option value="7">一年内交货</option>
|
<option value="8">长期交货</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline" style="display:none;">
|
<label class="layui-form-label">采购组织</label>
|
<div class="layui-input-block">
|
<select id="HPURCHASEORGID" name="HPURCHASEORGID" lay-filter="">
|
</select>
|
</div>
|
</div>
|
<div class="layui-inline">
|
<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="f_Query">
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
</button>
|
</div>
|
</div>
|
</form>
|
<!--</div>-->
|
</div>
|
<table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
|
<div id="page"></div>
|
<script type="text/html" id="toolbarDemo">
|
<div class="layui-btn-container">
|
<!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-getCheckData"><i class="layui-icon layui-icon-tips"></i>预览
|
|
</button>-->
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload">
|
<i class="layui-icon layui-icon-refresh"></i>刷新
|
</button>
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-confirm" id="btn_confirm">
|
<i class="layui-icon layui-icon-ok-circle"></i>确认
|
</button>
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back" id="btn_back">
|
<i class="layui-icon layui-icon-close-fill"></i>驳回
|
</button>
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-report" id="btn_report">
|
<i class="layui-icon layui-icon-close-fill"></i>汇报
|
</button>
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details"><i class="layui-icon layui-icon-form"></i>详情</button>
|
<!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-barcode">
|
<i class="layui-icon layui-icon-file"></i>生成条码
|
</button>-->
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-generate">
|
<i class="layui-icon layui-icon-file"></i>生成送货单
|
</button>
|
<button type="button" class="layui-btn layui-btn-sm" id="btn_HideColumn" lay-event="btn-HideColumn"><i class="layui-icon layui-icon-return"></i>隐藏列设置</button>
|
<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
|
</div>
|
</script>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<!--<script src="../../layuiadmin/layui/lay/modules/mobile/jquery-3.3.1.min.js"></script>-->
|
<script src="../../layuiadmin/layui/layui.js" charset="utf-8"></script>
|
<script src="../../../../Scripts/webConfig.js"></script>
|
<script>
|
var _cur_page = 1;
|
var sql = "";
|
var options = document.getElementById('HStatus').children;
|
function getUrlVars() {
|
var vars = [], hash;
|
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
|
for (var i = 0; i < hashes.length; i++) {
|
hash = hashes[i].split('=');
|
vars.push(hash[0]);
|
vars[hash[0]] = hash[1];
|
}
|
return vars;
|
}
|
|
function f_alert(sMsg) {
|
layer.alert(sMsg, { icon: 5 });
|
//layer.open({
|
// type: 1
|
// , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
|
// , id: 'layerDemo' //防止重复弹出
|
// , content: '<div style="padding: 20px 100px;">' + sMsg + '</div>'
|
// , shade: 0 //不显示遮罩
|
// , yes: function () {
|
// layer.closeAll();
|
// }
|
//});
|
}
|
var params = getUrlVars();
|
var type = params[params[0]];
|
switch (type) {
|
case "UnConfirm":
|
options[1].selected = true;
|
sql += " and 状态 like ^^%未确认%^^";
|
//$("#HStatus").attr("disabled", true)
|
break;
|
case "ReConfirm":
|
options[2].selected = true;
|
sql += " and 状态 like ^^%已确认%^^";
|
sql += " and 未关联数量 > 0";
|
break;
|
case "ReBack":
|
options[3].selected = true;
|
sql += " and 状态 like ^^%已驳回%^^";
|
break;
|
}
|
layui.config({
|
base: '../../layuiadmin/' //静态资源所在路径
|
}).extend({
|
index: 'lib/index' //主入口模块
|
}).use(['index', 'form', 'laydate', 'code', 'table', 'element', 'layer','laypage'], function () {
|
var $ = layui.$
|
, admin = layui.admin
|
, layer = layui.layer
|
, laydate = layui.laydate
|
, table = layui.table
|
, form = layui.form
|
, laypage = layui.laypage
|
, element = layui.element;
|
//常规用法
|
laydate.render({
|
elem: '#HBeginDate'
|
});
|
laydate.render({
|
elem: '#HEndDate'
|
});
|
|
var option = [];
|
var titleData = ["hmainid", "hsubid", "HSupID", "计划跟踪单号", "确认人", "确认日期", "驳回人", "驳回日期", "驳回理由"];
|
var HModName = "SRM_POOrderBillList";
|
var optionPage = [];
|
var ins; //用于导出excel
|
var page = 1;//分页数据
|
var size = 50;
|
|
//初始化日期间隔、开始日期、结束日期
|
setSelect_HInitTimeCycle();
|
//若日期间隔不为 任意间隔,则禁用开始日期与结束日期的选择
|
var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
|
if (HInitTimeCycle != -1) {
|
$('#HBeginDate').prop('disabled', true);
|
$('#HEndDate').prop('disabled', true);
|
} else {
|
$('#HBeginDate').prop('disabled', false);
|
$('#HEndDate').prop('disabled', false);
|
}
|
|
|
$("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
|
$("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
|
|
//layui.code();
|
//RoadHBillNo(sql);
|
//初始化表格信息
|
set_InitGrid();
|
//查询表格数据
|
get_FastQuery();
|
layer.load(3)
|
//方法级渲染
|
function set_InitGrid() {
|
var columns = [
|
//{ checkbox: true, fixed: true }
|
{ type: 'checkbox', fixed: 'left' }
|
//{ type: 'radio', fixed: true }
|
, { field: 'sorderid', title: '序号', width: 80/*, fixed: true */ }
|
, { field: 'hmainid', title: 'hmainid', sort: true, /*fixed: true,*/ hide: true }
|
, { field: 'hsubid', title: 'hsubid', sort: true, /*fixed: true,*/ hide: true }
|
, { field: '状态', title: '状态', sort: true/*, fixed: true */ }
|
//, { field: '反馈状态', title: '反馈状态', width: 100/*, fixed: true */}
|
//, { field: '优先级', title: '优先级', width: 100/*, fixed: true */}
|
, { field: '单据号', title: '单据号', width: 150, sort: true/*, fixed: 'left' */ }
|
, { field: '日期', title: '日期', width: 120, sort: true/*, fixed: 'left' */ }
|
, { field: 'HSupID', title: 'HSupID', width: 180, hide: true }
|
, { field: '供应商', title: '供应商', width: 180, sort: true/*, fixed: 'left' */ }
|
, { field: '计划跟踪单号', title: '计划跟踪单号', sort: true, hide: true }
|
, { field: 'F_xbkf_Combo', title: '自定义标识', width: 120 }
|
, { field: 'FSHDD', title: '送货地点', width: 120 }
|
, { field: 'FStockInQty', title: '累计入库数量', width: 120 }
|
, { field: '包装标识', title: '包装标识', width: 120 }
|
, { field: 'FMRBQTY', title: '累计退料数量', width: 120 }
|
//, { field: '物料编码', title: '物料编码', width: 120, sort: true }
|
, { field: '物料代码', title: '物料代码', width: 120, sort: true }
|
, { field: '物料名称', title: '物料名称', width: 120, sort: true }
|
, { field: '规格型号', title: '规格型号', width: 120, sort: true }
|
, { field: '计量单位', title: '计量单位', width: 80, sort: true }
|
, { field: '数量', title: '订货数量', sort: true }
|
, { field: '交货地点', title: '交货地点', sort: true }
|
, { field: '交货日期', title: '交货日期', width: 180, sort: true }
|
, { field: '关联数量', title: '关联数量', sort: true }
|
, { field: '未关联数量', title: '未关联数量', sort: true }
|
, { field: '剩余入库数量', title: '剩余入库数量', sort: true }
|
, { field: '剩余收料数量', title: '剩余收料数量', sort: true }
|
, { field: '关闭状态', title: '关闭状态', sort: true }
|
, { field: '变更状态', title: '变更状态', sort: true }
|
, { field: '采购组织', title: '采购组织', sort: true }
|
, { field: '确认人', title: '确认人', sort: true, hide: true }
|
, { field: '确认日期', title: '确认日期', sort: true, hide: true }
|
, { field: '驳回人', title: '驳回人', sort: true, hide: true }
|
, { field: '驳回日期', title: '驳回日期', sort: true, hide: true }
|
, { field: '驳回理由', title: '驳回理由', sort: true, hide: true }
|
];
|
option = {
|
elem: '#mainTable'
|
, toolbar: '#toolbarDemo'
|
, page: false
|
//, cellMinWidth: 120
|
, totalRow: true
|
, height: 'full-50'
|
, cols: [columns]
|
, limits: [10, 20, 50, 100, 500, 1000, 5000]
|
, limit: 50 //每页默认显示的数量
|
, done: function (res, curr, count) {
|
layer.closeAll("loading");
|
}
|
};
|
|
|
optionPage = {
|
elem: 'page', //注意,这里的 page 是 ID,不用加 # 号
|
count: 10000, //数据总数,从服务端得到
|
limit: 2,
|
limits: [2,50, 500, 5000, 50000],
|
layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
|
jump: function (obj, first) {
|
//console.log(obj)
|
//obj包含了当前分页的所有参数,比如:
|
//console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
//console.log(obj.limit); //得到每页显示的条数
|
|
//首次不执行
|
if (!first) {
|
//do something
|
page = obj.curr;
|
size = obj.limit;
|
get_FastQuery();
|
}
|
}
|
}
|
laypage.render(optionPage);
|
}
|
|
|
//头工具栏事件
|
table.on('toolbar(mainTable)', function (obj) {
|
var checkStatus = table.checkStatus(obj.config.id);
|
switch (obj.event) {
|
case 'btn-getCheckData':
|
var data = checkStatus.data;
|
layer.alert(JSON.stringify(data));
|
break;
|
//case 'getCheckLength':
|
// var data = checkStatus.data;
|
// layer.msg('选中了:' + data.length + ' 个');
|
// break;
|
//case 'isAll':
|
// layer.msg(checkStatus.isAll ? '全选' : '未全选');
|
// break;
|
|
//自定义头工具栏右侧图标 - 提示
|
case 'btn-reload':
|
_cur_page = $(".layui-laypage-em").next().html();
|
get_DisplayPage(sql);
|
break;
|
case 'btn-confirm':
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
_cur_page = $(".layui-laypage-em").next().html();
|
var HInterIDArr = "";
|
var HBillNoArr = "";
|
var HBillInter = "";
|
|
for (let i = 0; i < data.length; i++) {
|
HInterIDArr += data[i].hmainid.toString() + ",";
|
HBillNoArr += "'" + data[i].单据号.toString() + "'" + ",";
|
HBillInter += data[i].单据号.toString() + "@" + data[i].hmainid.toString() + ",";
|
}
|
|
HInterIDArr = HInterIDArr.substring(0, HInterIDArr.length - 1)//内码
|
HBillNoArr = HBillNoArr.substring(0, HBillNoArr.length - 1)//单据号
|
HBillInter = HBillInter.substring(0, HBillInter.length - 1)//单据号 + @ + 内码拼接
|
|
var oData = JSON.stringify(HInterIDArr) + ";" + JSON.stringify(HBillInter) + ";" + sessionStorage["HUserName"];
|
|
layer.confirm('是否确认单据?', { icon: 3, title: '提示' }, function (index) {
|
$.ajax({
|
type: "post",
|
url: GetWEBURL() + "POOrderAccept",
|
data: { "oData": oData },
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
layer.msg(result.Message, { icon: 1 });
|
get_FastQuery(table, option);
|
}
|
else {
|
// $("#verifycode").click();
|
layer.msg(result.Message, { icon: 5 });
|
}
|
layer.closeAll("loading");
|
}
|
})
|
layer.close(index);
|
});
|
break;
|
case 'btn-back':
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
_cur_page = $(".layui-laypage-em").next().html();
|
var HBackRemark;
|
if (data[0]["状态"] == "未确认") {
|
|
layer.prompt({
|
formType: 2,
|
//value: '',
|
title: '请输入驳回理由',
|
area: ['400px', '200px'] //自定义文本域宽高
|
}, function (value, index, elem) {
|
HBackRemark = value.toString();
|
$.ajax({
|
type: "get",
|
url: GetWEBURL() + "POOrderRefuse",
|
data: {
|
"HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage
|
|
["HUserName"], "HBackRemark": HBackRemark
|
},
|
success: function (result) {
|
if (result.count == 1) { // 说明验证成功了,
|
layer.msg("拒绝成功!", { icon: 1 });
|
get_DisplayPage(sql);
|
}
|
else {
|
// $("#verifycode").click();
|
layer.msg(result.Message, { icon: 5 });
|
}
|
layer.closeAll("loading");
|
}
|
})
|
//alert(value); //得到value
|
layer.close(index);
|
});
|
|
}
|
else {
|
layer.msg("必须是未确认单据才能进行驳回操作!", { icon: 5 });
|
}
|
break;
|
case 'btn-details':
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
|
var linterid = data[0].hmainid.toString();
|
//if (AllowLoadData(sSubStr) != false) {//非空验证
|
layer.open({
|
type: 2
|
, area: ['100%', '100%']
|
, title: '采购订单'
|
, shade: 0.6 //遮罩透明度
|
, maxmin: true //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: '../../../src/views/SRM/SRM_POOrderBill.html?linterid=' + linterid
|
, resize: false
|
, cancel: function () {
|
//$(".layui-btn").removeClass("layui-btn-disabled");
|
}
|
})
|
break;
|
case 'btn-generate':
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
ajaxLabelData = data;
|
//根据选中的采购订单,重新从金蝶云同步采购订单关联数量过来。考虑采购订单删除和关闭状态,同步状态
|
var ids = "";
|
var entryids = "";
|
$.each(data, function (obj) {
|
ids += data[obj].hmainid + ",";
|
entryids += data[obj].hsubid + ",";
|
})
|
ids = ids.substring(0, ids.length - 1);
|
entryids = entryids.substring(0, entryids.length - 1);
|
var hasPrivileage = true;
|
$.ajax({
|
url: GetWEBURL() + 'TestSaverPOInStock',
|
type: 'get',
|
async: false,
|
traditional: true, //重点
|
data: {
|
"ids": ids,
|
"entryids": entryids //重点
|
},
|
success: function (data) {
|
if (data.code == "0") {
|
layer.alert(data.Message, { icon: 5 });
|
hasPrivileage = false;
|
table.reload('mainTable', {
|
data: ajaxReturnData
|
, height: 'full-10'
|
, page: {
|
curr: _cur_page //必须从第 1 页开始
|
}
|
, loading: false
|
, done: function (index, res) {
|
|
}
|
});
|
return hasPrivileage;
|
}
|
},
|
error: function (e) {
|
layer.alert(e.Message, { icon: 5 });
|
}
|
});
|
if (!hasPrivileage) {
|
return;
|
}
|
var rows = '';
|
var HEntry = '';
|
for (var i = 0; i < data.length; i++) {
|
if (data[i]["未关联数量"] == 0) {
|
layer.msg("单据号:" + data[i]["单据号"] + "已全部生成送货单!", { icon: 5 });
|
return;
|
}
|
if (data[i]["状态"] == "已确认") {
|
rows += data[i].hmainid.toString() + ',' + data[i].hsubid.toString() + ';';
|
}
|
else {
|
HEntry += (i + 1) + ',';
|
}
|
}
|
if (HEntry != '') {
|
HEntry = HEntry.substring(0, HEntry.length - 1);
|
layer.msg("第" + HEntry + "行未确认!", { icon: 5 });
|
}
|
else {
|
layer.open({
|
type: 2
|
, area: ['100%', '100%']
|
, title: '送货单'
|
, shade: 0.6 //遮罩透明度
|
, maxmin: false //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: ['../../views/SRM/SRM_POInStockBill_Edit.html?linterid=' + data[0].hmainid.toString() + '&lentryid=' + rows.toString
|
|
() + '&lSourceBillType=1102', 'yes']
|
, resize: false
|
//, cancel: function () {
|
// $(".layui-btn").removeClass("layui-btn-disabled");
|
//}
|
})
|
}
|
break;
|
|
case 'btn-barcode':
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
if (data[0].状态 != "已确认") {
|
return layer.msg("选中订单未确认!", { icon: 5 });
|
}
|
layer.open({
|
type: 2
|
, area: ['100%', '100%']
|
, title: '条码生成'
|
, shade: 0.6 //遮罩透明度
|
, maxmin: false //允许全屏最小化
|
, anim: 0 //0-6的动画形式,-1不开启
|
, content: ['../../views/SRM/SRM_BarCodeBill.html?linterid=' + data[0].hmainid + '&lentryid=' + data[0].hsubid + '&type=SRM_POOrderBillList', 'yes']
|
, resize: false
|
, cancel: function () {
|
$(".layui-btn").removeClass("layui-btn-disabled");
|
}
|
})
|
break;
|
case 'btn-exit':
|
//var index = parent.layer.getFrameIndex(window.name);
|
//element.tabDelete('layadmin-layout-tabs', this);
|
parent.layui.admin.events.closeThisTabs();
|
//parent.layer.close(index);
|
break;
|
case 'btn-report':
|
var checkStatus = table.checkStatus('mainTable')
|
, data = checkStatus.data;
|
_cur_page = $(".layui-laypage-em").next().html();
|
var arr = new Array();
|
var checkStatus = table.checkStatus('mainTable'),
|
data = checkStatus.data;
|
if (checkStatus.data.length == 0) {
|
return layer.msg('请选择数据');
|
}
|
for (var i = 0; i < data.length; i++) {
|
arr.push(data[i].hmainid + '-' + data[i].hsubid);
|
}
|
var OrderBackId = "";
|
layer.open({
|
type: 2,
|
skin: 'layui-layer-rim', //加上边框
|
title: '订单反馈状态',
|
closeBtn: 1,
|
shift: 2,
|
area: ['80%', '80%'],
|
maxmin: true,
|
content: ['../PublicPage/OrderBackInfomation.html', 'yes'],
|
btn: ['确定', '取消']
|
, btn1: function (index, layero) {
|
|
//按钮【按钮一】的回调
|
var iframeWindow = window['layui-layer-iframe' + index] //获取弹框页面
|
var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
|
if (checkStatus.data.length === 0) {
|
return layer.msg('请选择数据');
|
}
|
OrderBackId = checkStatus.data[0].HItemID.toString();
|
|
$.ajax({
|
url: GetWEBURL() + 'POOrderBack',
|
//url: 'http://localhost:8082/LuBaoAPI/' + 'POOrderBack',
|
async: false,
|
type: "GET",
|
dataType: "json",
|
data: { "HmainidList": arr.toString(), "OrderBackId": OrderBackId },
|
success: function (data1) {
|
if (data1.Message.indexOf("成功") > 0) {
|
layer.msg("操作成功", { time: 3 * 1000, icon: 1 }, function () {
|
var index = layer.getFrameIndex(window.name);
|
//关闭当前frame
|
layer.close(index);
|
//修改为功后刷新界面
|
window.location.reload();
|
});
|
} else {
|
layer.alert(data1.Message, { icon: 5 });
|
}
|
}, error: function (e) {
|
layer.alert(data1.Message, { icon: 5 });
|
}
|
});
|
}
|
, btn2: function (index, layero) {
|
//按钮【按钮二】的回调
|
//return false 开启该代码可禁止点击该按钮关闭
|
},
|
end: function () {
|
},
|
success: function (layero, index) {
|
|
}
|
});
|
|
//layer.confirm('是否确认单据?', { icon: 3, title: '提示' }, function (index) {
|
// $.ajax({
|
// type: "get",
|
// url: GetWEBURL() + "POOrderAccept",
|
// data: { "HInterID": data[0]["hmainid"].toString(), "HBillNo": data[0]["单据号"].toString(), "HUser": sessionStorage["HUserName"] },
|
// success: function (result) {
|
// if (result.count == 1) { // 说明验证成功了,
|
// layer.msg(result.Message, { icon: 1 });
|
// RoadHBillNo(sql);
|
// }
|
// else {
|
// // $("#verifycode").click();
|
// layer.msg(result.Message, { icon: 5 });
|
// }
|
// layer.closeAll("loading");
|
// }
|
// })
|
|
// layer.close(index);
|
//});
|
|
break;
|
case 'btn-HideColumn':
|
get_HideColumn();
|
break;
|
};
|
});
|
|
//渲染采购组织
|
var Organization = '<option value=' + sessionStorage["OrganizationID"] + ' style="color:red;">' + sessionStorage["Organization"] + '</option>';
|
$("#HPURCHASEORGID").append(Organization);
|
form.render('select');
|
|
///加载显示数据
|
function RoadHBillNo(sqlWhere) {
|
where = sqlWhere;
|
$.ajax({
|
type: "post",
|
url: GetWEBURL() + "GetPOOrderBill",
|
async: true,
|
data: { "HSupIDs": sessionStorage["HSupIDs"], "sqlWhere": sqlWhere },
|
success: function (result) {
|
ajaxReturnData = JSON.parse(JSON.stringify(result)).data;
|
option.data = ajaxReturnData;
|
table.render(option);
|
//刷新表格数据
|
DisPlay_HideColumn();
|
layer.closeAll("loading");
|
|
},
|
error: function (result) {
|
console.log(result);
|
layer.closeAll("loading");
|
//layer.msg('获取采购订单出现异常', { icon: 2, time: 2000 });
|
}
|
});
|
};
|
|
//加载显示数据
|
function get_DisplayPage(sqlWhere) {
|
var wait = layer.load();//遮罩
|
$.ajax({
|
type: "POST",
|
url: GetWEBURL() + "GetPOOrderBillList_byPage", //H_p_SRM_POOrderBillList
|
async: true,
|
//data: { "HSupIDs": sessionStorage["HSupIDs"], "sqlWhere": sqlWhere },
|
data: { "HSupIDs": sessionStorage["HSupIDs"], "sqlWhere": sqlWhere, "Organization": sessionStorage["Organization"], "page": optionPage.curr, "size": optionPage.limit },
|
success: function (data1) {
|
option.limit = optionPage.limit;//改变表格页大小
|
optionPage.count = data1.count;//改变列表数据总数
|
if (data1.Message == "获取成功") {
|
var data = [];
|
var col = [];
|
//给空的数组赋值
|
for (var key in data1.list) {
|
//动态获取列表所有列名
|
data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
|
//获取不需要显示的列(H开头的列不显示)
|
var patrn = new RegExp(/^h/i);
|
if (patrn.test(data1.list[key].ColmCols)) {
|
titleData[key] = data1.list[key].ColmCols;
|
}
|
}
|
//在列表左边添加勾选框
|
col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
|
for (var i = 0; i < data.length; i++) {
|
// if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
|
if ($.inArray(data[i].name, titleData) > -1) {
|
col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
|
}
|
else if (data[i].name.indexOf('id') > -1) {
|
col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //id列
|
}
|
else {
|
switch (data[i].Type) {
|
//int
|
case 'DateTime':
|
col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
|
break;
|
default:
|
if (data[i].name == '订单数量' || data[i].name == '已发货数量' || data[i].name == '未发货数量' || data[i].name == '剩余收料数量' || data[i].name == '未到货数量' || data[i].name == '累计收料数量' || data[i].name == '剩余入库数量' || data[i].name == '入库数量' || data[i].name == '可发货数量') {
|
col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, totalRow: true });
|
}else {
|
col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
|
}
|
}
|
}
|
}
|
option.cols = [col];
|
option.data = data1.data;
|
ins = table.render(option);
|
|
laypage.render(optionPage);
|
|
//刷新表格数据
|
DisPlay_HideColumn();
|
layer.close(wait);
|
} else {
|
layer.close(wait);
|
layer.alert(data1.Message, { icon: 5 });
|
}
|
},
|
error: function (result) {
|
layer.close(wait);
|
layer.alert(result.Message, { icon: 5 });
|
}
|
});
|
};
|
|
//#region 快速过滤
|
function get_FastQuery() {
|
var sqlWhere = " and 1=1 ";
|
if ($("#HStatus").val() != "")
|
sqlWhere += " and 状态 like ^^%" + $("#HStatus").val() + "%^^";
|
if ($("#HBillNo").val() != "")
|
sqlWhere += " and 单据号 like ^^%" + $("#HBillNo").val() + "%^^";
|
if ($("#HShortNumber").val() != "")
|
sqlWhere += " and 物料编码 like ^^%" + $("#HShortNumber").val() + "%^^";
|
if ($("#HNumber").val() != "")
|
sqlWhere += " and 物料代码 like ^^%" + $("#HNumber").val() + "%^^";
|
if ($("#HName").val() != "")
|
sqlWhere += " and 物料名称 like ^^%" + $("#HName").val() + "%^^";
|
if ($("#HModel").val() != "")
|
sqlWhere += " and 规格型号 like ^^%" + $("#HModel").val() + "%^^";
|
if ($("#HClStatus").val() != "")
|
sqlWhere += " and 关闭状态 like ^^%" + $("#HClStatus").val() + "%^^";
|
//if ($("#HPURCHASEORGID").val() != "")
|
// sqlWhere += " and 采购组织 like ^^%" + $("#HPURCHASEORGID").val() + "%^^";
|
if ($("#HBeginDate").val() != "") {
|
sqlWhere += " and 日期 >= ^^" + $("#HBeginDate").val() + "^^";
|
}
|
if ($("#HEndDate").val() != "") {
|
sqlWhere += " and 日期 <= ^^" + $("#HEndDate").val() + "^^";
|
}
|
if ($("#HISGenerate").val() != "") {
|
if ($("#HISGenerate").val() == "是") {
|
sqlWhere += " and 未关联数量 <= 0";
|
}
|
else if ($("#HISGenerate").val() == "否") {
|
sqlWhere += " and 未关联数量 > 0";
|
}
|
}
|
|
|
var Time = $("#Time").val();
|
if (Time > 0) {
|
var dd = new Date();
|
var dt;
|
switch (Time) {
|
case 1: dd = new Date(dd.setDate(dd.getDate() + 7));
|
case 2: dd = new Date(dd.setDate(dd.getDate() + 14));
|
case 3: dd = new Date(dd.setMonth(dd.getMonth() + 1));
|
case 4: dd = new Date(dd.setMonth(dd.getMonth() + 2));
|
case 5: dd = new Date(dd.setMonth(dd.getMonth() + 3));
|
case 6: dd = new Date(dd.setMonth(dd.getMonth() + 6));
|
case 7: dd = new Date(dd.setMonth(dd.getMonth() + 12));
|
default: dd = new Date(dd.setDate(dd.getDate()));
|
}
|
dt = dd.getFullYear().toString();
|
if (dd.getMonth() + 1 < 10) {
|
dt = dt + "-0" + (dd.getMonth() + 1).toString();
|
}
|
else {
|
dt = dt + "-0" + (dd.getMonth() + 1).toString();
|
}
|
if (dd.getDate() < 10) {
|
dt = dt + "-0" + dd.getDate().toString();
|
}
|
else {
|
dt = dt + "-" + dd.getDate().toString();
|
}
|
if (Time != 8) {
|
sqlWhere += " and 交货日期 <= ^^" + dt + "^^";
|
}
|
}
|
sql = sqlWhere;
|
//从第一页开始
|
_cur_page = 1;
|
get_DisplayPage(sqlWhere);
|
}
|
//#endregion
|
|
form.on('submit(f_Query)', function (data) {//查询
|
var sqlWhere = " and 1=1 ";
|
if ($("#HStatus").val() != "")
|
sqlWhere += " and 状态 like ^^%" + $("#HStatus").val() + "%^^";
|
if ($("#HBillNo").val() != "")
|
sqlWhere += " and 单据号 like ^^%" + $("#HBillNo").val() + "%^^";
|
if ($("#HShortNumber").val() != "")
|
sqlWhere += " and 物料编码 like ^^%" + $("#HShortNumber").val() + "%^^";
|
if ($("#HNumber").val() != "")
|
sqlWhere += " and 物料代码 like ^^%" + $("#HNumber").val() + "%^^";
|
if ($("#HName").val() != "")
|
sqlWhere += " and 物料名称 like ^^%" + $("#HName").val() + "%^^";
|
if ($("#HModel").val() != "")
|
sqlWhere += " and 规格型号 like ^^%" + $("#HModel").val() + "%^^";
|
if ($("#HClStatus").val() != "")
|
sqlWhere += " and 关闭状态 like ^^%" + $("#HClStatus").val() + "%^^";
|
//if ($("#HPURCHASEORGID").val() != "")
|
// sqlWhere += " and 采购组织 like ^^%" + $("#HPURCHASEORGID").val() + "%^^";
|
if ($("#HBeginDate").val() != "") {
|
sqlWhere += " and 日期 >= ^^" + $("#HBeginDate").val() + "^^";
|
}
|
if ($("#HEndDate").val() != "") {
|
sqlWhere += " and 日期 <= ^^" + $("#HEndDate").val() + "^^";
|
}
|
if ($("#HISGenerate").val() != "") {
|
if ($("#HISGenerate").val() == "是") {
|
sqlWhere += " and 未关联数量 <= 0";
|
}
|
else if ($("#HISGenerate").val() == "否") {
|
sqlWhere += " and 未关联数量 > 0";
|
}
|
}
|
|
|
var Time = $("#Time").val();
|
if (Time > 0) {
|
var dd = new Date();
|
var dt;
|
switch (Time) {
|
case 1: dd = new Date(dd.setDate(dd.getDate() + 7));
|
case 2: dd = new Date(dd.setDate(dd.getDate() + 14));
|
case 3: dd = new Date(dd.setMonth(dd.getMonth() + 1));
|
case 4: dd = new Date(dd.setMonth(dd.getMonth() + 2));
|
case 5: dd = new Date(dd.setMonth(dd.getMonth() + 3));
|
case 6: dd = new Date(dd.setMonth(dd.getMonth() + 6));
|
case 7: dd = new Date(dd.setMonth(dd.getMonth() + 12));
|
default: dd = new Date(dd.setDate(dd.getDate()));
|
}
|
dt = dd.getFullYear().toString();
|
if (dd.getMonth() + 1 < 10) {
|
dt = dt + "-0" + (dd.getMonth() + 1).toString();
|
}
|
else {
|
dt = dt + "-0" + (dd.getMonth() + 1).toString();
|
}
|
if (dd.getDate() < 10) {
|
dt = dt + "-0" + dd.getDate().toString();
|
}
|
else {
|
dt = dt + "-" + dd.getDate().toString();
|
}
|
if (Time != 8) {
|
sqlWhere += " and 交货日期 <= ^^" + dt + "^^";
|
}
|
}
|
sql = sqlWhere;
|
//从第一页开始
|
_cur_page = 1;
|
get_DisplayPage(sqlWhere);
|
});
|
var $ = layui.$, active = {
|
f_Query: function () { //查询
|
|
},
|
f_Qrjq: function () { //接受
|
|
},
|
f_Bhjq: function () { //拒绝
|
|
},
|
//JSreload: function () {
|
// var demoReload = $('#test-table-demoReload');
|
// //执行重载
|
// table.JSreload('test-table-reload', {
|
// page: {
|
// curr: 1 //重新从第 1 页开始
|
// }
|
// , where: {
|
// key: {
|
// id: demoReload.val()
|
// }
|
// }
|
// });
|
//}
|
};
|
$('.test-table-reload-btn .layui-btn').on('click', function () {
|
var type = $(this).data('type');
|
active[type] ? active[type].call(this) : '';
|
});
|
|
//日期间隔下拉列表监听
|
form.on('select(HInitTimeCycle)', function (data) {
|
var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
|
//若日期间隔不为 任意间隔,则禁用开始日期与结束日期的选择
|
if (HInitTimeCycle != -1) {
|
$('#HBeginDate').prop('disabled', true);
|
$('#HEndDate').prop('disabled', true);
|
|
$("#HBeginDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * HInitTimeCycle), "yyyy-MM-dd"));
|
$("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
|
|
//执行查询方法
|
get_FastQuery();
|
} else {
|
$('#HBeginDate').prop('disabled', false);
|
$('#HEndDate').prop('disabled', false);
|
}
|
});
|
|
function Format(datetime, fmt) {
|
if (parseInt(datetime) == datetime) {
|
if (datetime.length == 10) {
|
datetime = parseInt(datetime) * 1000;
|
} else if (datetime.length == 13) {
|
datetime = parseInt(datetime);
|
}
|
}
|
datetime = new Date(datetime);
|
var o = {
|
"M+": datetime.getMonth() + 1, //月份
|
"d+": datetime.getDate(), //日
|
"h+": datetime.getHours(), //小时
|
"m+": datetime.getMinutes(), //分
|
"s+": datetime.getSeconds(), //秒
|
"q+": Math.floor((datetime.getMonth() + 3) / 3), //季度
|
"S": datetime.getMilliseconds() //毫秒
|
};
|
if (/(y+)/.test(fmt))
|
fmt = fmt.replace(RegExp.$1, (datetime.getFullYear() + "").substr(4 - RegExp.$1.length));
|
for (var k in o)
|
if (new RegExp("(" + k + ")").test(fmt))
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
return fmt;
|
}
|
|
//#region 初始日期间隔 下拉列表
|
function setSelect_HInitTimeCycle() {
|
var valueList = [29, 89, 179, 364];
|
var titleList = ["近30天", "近90天", "近180天", "近一年"];
|
|
var HInitTimeCycle_ArrayList = '<option value="-1" selected="selected" >任意间隔</option>';
|
for (var i = 0; i < valueList.length; i++) {
|
HInitTimeCycle_ArrayList += '<option style="color:blue;" value="' + valueList[i] + '">' + titleList[i] + '</option>';
|
}
|
|
$("#HInitTimeCycle").empty();
|
$("#HInitTimeCycle").append(HInitTimeCycle_ArrayList);
|
form.render('select');
|
|
$("#HInitTimeCycle").val("29");
|
}
|
//#endregion
|
|
//隐藏列设置
|
function get_HideColumn() {
|
var colName = "";
|
for (var i = 1; i < option.cols[0].length - 1; i++) {
|
colName += option.cols[0][i]["title"] + ",";
|
}
|
|
colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI 进行编码
|
layer.open({
|
type: 2
|
, skin: "layui-layer-rim" //加上边框
|
, title: "隐藏列设置" //标题
|
, closeBtn: 1 //窗体右上角关闭 的 样式
|
, shift: 2 //弹出动画
|
, area: ["50%", "90%"] //窗体大小
|
, maxmin: true //设置最大最小按钮是否显示
|
, content: ['../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "yes"]
|
, btn: ["确定", "取消"]
|
, btn1: function (index, laero) {
|
//刷新表格数据
|
DisPlay_HideColumn();
|
//更新表格缓存的数据
|
layer.close(index);//关闭弹窗
|
}
|
})
|
}
|
//显示列数据
|
function DisPlay_HideColumn() {
|
$.ajax({
|
url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
|
type: "GET",
|
data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
|
success: function (data1) {
|
if (data1.data.length != 0) {
|
var dataCol = [];//数据库查询出的列数据
|
dataCol = data1.data[0].HGridString.split(',');
|
for (var i = 0; i < dataCol.length; i++) {
|
var dataCols = dataCol[i].split('|');
|
//隐藏列
|
if (dataCols[1] == 1) {
|
option.cols[0][i + 1]["hide"] = true;
|
}
|
//显示列
|
if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
|
option.cols[0][i + 1]["hide"] = false;
|
}
|
//隐藏id
|
//设置列宽
|
if (dataCols[3] > 0) {
|
if (option.cols[0][i + 1]["field"] == '供应商交期回复') {
|
option.cols[0][i + 1]["width"] = 150;
|
} else {
|
option.cols[0][i + 1]["width"] = dataCols[3];
|
}
|
}
|
//设置内容字体大小
|
if (data1.data[0].HFontSize != 0) {
|
option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
|
} else {
|
option.cols[0][i + 1]["style"] = "font-size:100%";
|
}
|
//设置列宽
|
//if (data1.data[0].HColumnWidth != 0) {
|
// option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
|
//} else {
|
// option.cols[0][i + 1]["width"] = "";
|
//}
|
|
//字体所在位置(左 居中 右)
|
switch (dataCols[2]) {
|
case "L":
|
option.cols[0][i + 1]["align"] = "left";
|
break;
|
case "M":
|
option.cols[0][i + 1]["align"] = "center";
|
break;
|
case "R":
|
option.cols[0][i + 1]["align"] = "right";
|
break;
|
}
|
}
|
//取消冻结列
|
for (var i = 1; i < option.cols[0].length - 1; i++) {
|
if (option.cols[0][i]["fixed"] != null) {
|
option.cols[0][i]["fixed"] = null;
|
}
|
else {
|
break;
|
}
|
}
|
//冻结列
|
if (data1.data[0].HFixCols != 0) {
|
for (var i = 0; i < data1.data[0].HFixCols; i++) {
|
if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
|
data1.data[0].HFixCols += 1;
|
}
|
option.cols[0][i + 1]["fixed"] = "left";
|
}
|
}
|
table.render(option);
|
} else {
|
table.render(option);
|
}
|
}, error: function () {
|
layer.alert("接口请求失败!", { icon: 5 });
|
}
|
})
|
}
|
|
|
});
|
</script>
|
</body>
|
|
</html>
|