This commit is contained in:
cwchen 2024-11-08 19:43:23 +08:00
parent eb65e6b15c
commit 0cf7654156
13 changed files with 725 additions and 597 deletions

124
js/Print.js Normal file
View File

@ -0,0 +1,124 @@
/* @Print.js
* DH (http://denghao.me)
* 2017-7-14
*/
(function (window, document) {
var Print = function (dom, options) {
if (!(this instanceof Print)) return new Print(dom, options);
this.options = this.extend({
noPrint: '.no-print',
onStart: function () { },
onEnd: function () { }
}, options);
if ((typeof dom) === "string") {
this.dom = document.querySelector(dom);
} else {
this.dom = dom;
}
this.init();
};
Print.prototype = {
init: function () {
var content = this.getStyle() + this.getHtml();
this.writeIframe(content);
},
extend: function (obj, obj2) {
for (var k in obj2) {
obj[k] = obj2[k];
}
return obj;
},
getStyle: function () {
var str = "",
styles = document.querySelectorAll('style,link');
for (var i = 0; i < styles.length; i++) {
str += styles[i].outerHTML;
}
str += "<style>" + (this.options.noPrint ? this.options.noPrint : '.no-print') + "{display:none;}</style>";
return str;
},
getHtml: function () {
var inputs = document.querySelectorAll('input');
var textareas = document.querySelectorAll('textarea');
var selects = document.querySelectorAll('select');
for (var k in inputs) {
if (inputs[k].type == "checkbox" || inputs[k].type == "radio") {
if (inputs[k].checked == true) {
inputs[k].setAttribute('checked', "checked")
} else {
inputs[k].removeAttribute('checked')
}
} else if (inputs[k].type == "text") {
inputs[k].setAttribute('value', inputs[k].value)
}
}
for (var k2 in textareas) {
if (textareas[k2].type == 'textarea') {
textareas[k2].innerHTML = textareas[k2].value
}
}
for (var k3 in selects) {
if (selects[k3].type == 'select-one') {
var child = selects[k3].children;
for (var i in child) {
if (child[i].tagName == 'OPTION') {
if (child[i].selected == true) {
child[i].setAttribute('selected', "selected")
} else {
child[i].removeAttribute('selected')
}
}
}
}
}
return this.dom.outerHTML;
},
writeIframe: function (content) {
var w, doc, iframe = document.createElement('iframe'),
f = document.body.appendChild(iframe);
iframe.id = "myIframe";
iframe.style = "position:absolute;width:0;height:0;top:-10px;left:-10px;";
w = f.contentWindow || f.contentDocument;
doc = f.contentDocument || f.contentWindow.document;
doc.open();
doc.write(content);
doc.close();
this.toPrint(w, function () {
document.body.removeChild(iframe)
});
},
toPrint: function (w, cb) {
var _this = this;
w.onload = function () {
try {
setTimeout(function () {
w.focus();
typeof _this.options.onStart === 'function' && _this.options.onStart();
if (!w.document.execCommand('print', false, null)) {
w.print();
}
typeof _this.options.onEnd === 'function' && _this.options.onEnd();
w.close();
cb && cb()
});
} catch (err) {
console.log('err', err);
}
}
}
};
window.Print = Print;
}(window, document));

View File

@ -4,6 +4,7 @@ function setParams(params) {
form = layui.form;
layer = layui.layer;
});
getProDevSelected();
if(params!=='-1'){
// 表格数据回显
let dataArr = JSON.parse(params);
@ -23,6 +24,23 @@ function setParams(params) {
}
}
// 获取需求计划外机具
function getProDevSelected(){
let encryptedData = {
'pId':0
};
let url = dataUrl + 'backstage/planOut/getProDevSelected?encryptedData=' + encodeURIComponent(JSON.stringify(encryptedData));
ajaxRequest(url, "GET", null, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
} else if (result.code === 500) {
}
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, null);
}
// 保存并继续添加
function addTableData() {
let size = $(".pa").length;

View File

@ -1,9 +1,13 @@
let idParam, objParam, fileList = new Array(), imgListUp = new Array();
let form, laydate, layer, upload, table, util;
let pageNum = 1, tableIns; // 定义分页
let jjDataArr = []; // 新增需求计划外机具的数据
let jjDetailArr = []; // 机具明细数据
function setParams(id) {
idParam = id;
function setParams(obj) {
objParam = JSON.parse(obj);
idParam = objParam.proId;
$('#proName').html(objParam.proName);
$('#planNum').html(objParam.planNum);
layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () {
form = layui.form;
layer = layui.layer;
@ -12,7 +16,7 @@ function setParams(id) {
table = layui.table;
util = layui.util;
laydate.render({
elem: '#time'
elem: '#createDay'
});
form.verify();
form.on('submit(formData)', function (data) {
@ -87,138 +91,75 @@ $(document).on("click", ".file-iteme .handle", function (event) {
});
});
// 查询/重置
function queryTable(type) {
if (type === 1) {
reloadTable(1);
} else if (type === 2) {
$('#name').val('');
$('#module').val('');
layui.form.render();
reloadTable(1);
}
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
'module': $('#module').val(),
'proId': idParam
}),
},
},
);
}
// 表格数据
function initTable() {
let dataList = [
{
id: "1",
username: "张三",
num: 1,
num2: 1,
status: "部分发货",
progress: 30,
lastSendTime:'2024-11-07 12:00:00',
'xyl':'1',
'fhl':'1'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00',
'xyl':'1',
'fhl':'1'
},
{
id: "3",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00',
'xyl':'1',
'fhl':'1'
},
{
id: "4",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00',
'xyl':'1',
'fhl':'1'
},
{
id: "5",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00',
'xyl':'1',
'fhl':'1'
},
{
id: "6",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "7",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "8",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "9",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "10",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "11",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07'
},
{
id: "12",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
];
table.render({
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
data: dataList,
height: "full",
// url: "../api/table.json",
parseData: function(res){
console.error(res);
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
url: dataUrl + "backstage/planOut/getPorInfoDetail",
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
'module': $('#module').val(),
'proId': idParam
}),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
if (jjDetailArr && res.list) {
$.each(res.list, function (index, item) {
$.each(jjDetailArr, function (index2, item2) {
if (item.id === item2.id) {
item.num = item2.num;
item.tzNum = item2.tzNum;
item.outId = item2.outId;
}
});
});
}
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
@ -231,31 +172,25 @@ function initTable() {
},
},
{
field: "username",
field: "type",
width: 150,
title: "物机类型",
unresize: true,
align: "center",
},
{
field: "num",
field: "name",
width: 150,
title: "物机名称",
unresize: true,
align: "center",
templet: function (d) {
// return setNumColor(d.num);
},
},
{
field: "num2",
field: "module",
width: 120,
title: "规格",
unresize: true,
align: "center",
templet: function (d) {
// return setNumColor(d.num2);
},
},
{
field: "unit",
@ -265,28 +200,37 @@ function initTable() {
align: "center",
},
{
field: "xyl",
field: "needNum",
width: 120,
title: "需要量",
unresize: true,
align: "center",
templet: function (d) {
return setNumColor(d.needNum, 1);
},
},
{
field: "yfhl",
field: "fhNum",
width: 120,
title: "已发货量",
unresize: true,
align: "center",
templet: function (d) {
return setNumColor(d.fhNum, 2);
},
},
{
field: "cql",
field: "diff",
width: 120,
title: "差缺量",
unresize: true,
align: "center",
templet: function (d) {
return setNumColor(d.diff, 3);
},
},
{
field: "fhl",
field: "num",
width: 150,
title: "<span style='color:red'> * </span>本次发货量",
unresize: true,
@ -295,7 +239,7 @@ function initTable() {
style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;'
},
{
field: "tzl",
field: "tzNum",
width: 150,
title: "调整量<img id='tips' style='cursor: pointer;' src='../../../images/demandPlan/yw.png'>",
unresize: true,
@ -304,7 +248,7 @@ function initTable() {
style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;'
},
{
field: "remark",
field: "outId",
width: 250,
title: "备注",
unresize: true,
@ -319,19 +263,18 @@ function initTable() {
limit: 10,
page: true,
done: function (res, curr, count) {
pageNum = tableIns.config.page.curr;
$("#tips").suspensionTips({ "content": "1.如需单个机具进度达到100%请填写不发货的数量2.若填写不发货数量,请填写备注不发货原因及附件说明", position: "top", width: 300 });
},
});
table.on('edit(currentTableId)', function (obj) {
console.log(obj);
var field = obj.field; // 得到修改的字段
var value = obj.value // 得到修改后的值
var oldValue = obj.oldValue // 得到修改前的值 -- v2.8.0 新增
var data = obj.data // 得到所在行所有键值
var col = obj.getCol(); // 得到当前列的表头配置属性 -- v2.8.0 新增
if(field === 'fhl' || field === 'tzl'){ // 本次发货量/调整量
if (field === 'num' || field === 'tzNum') { // 本次发货量/调整量
if (value) {
const regex = /^(0|[1-9]\d{0,6})$/;
if (!regex.test(value)) {
@ -339,7 +282,7 @@ function initTable() {
return layer.msg('格式不正确最大输入6位数且为正整数', { icon: 7 })
}
}
}else if(field === 'remark'){ // 备注
} else if (field === 'outId') { // 备注
if (value) {
if (value.length > 255) {
obj.reedit();
@ -350,14 +293,21 @@ function initTable() {
// 显示 - 仅用于演示
layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + util.escape(value));
let id = obj.data.id;
let fhl = obj.data.fhl;
let tzl = obj.data.tzl;
let remark = obj.data.remark;
let num = obj.data.num;
let tzNum = obj.data.tzNum;
let outId = obj.data.outId;
let type = obj.data.type;
let name = obj.data.name;
let module = obj.data.module;
let objParam = {
id: id,
fhl:fhl,
tzl:tzl,
remark:remark
num: num,
tzNum: tzNum,
outId: outId,
type: type,
name: name,
module: module,
remarks: outId
}
updateOrAddObject(id, objParam);
});
@ -378,24 +328,71 @@ function saveData2() {
$('#formSubmit').trigger('click')
}
function setNumColor(value, type) { // 1.需要量 2.已发货量 3.差缺量
let color = '#66b1ff';
if (type === 1) {
color = '#66b1ff';
} else if (type === 2) {
color = '#19be6b';
} else if (type === 3) {
color = '#ff9900';
}
return '<span style="color:' + color + ';font-weight:bold;">' + setNullValue(value) + "</span>";
}
// 提交
function submitApply(data) {
data.field.jjDataArr = jjDetailArr;
data.field.jjDetailArr = jjDetailArr;
// 校验发货附件是否上传
if (fileList.length === 0) {
return layer.msg('请上传发货附件', { icon: 7 });
}
// 校验机具发货数量
if (jjDetailArr.length === 0) {
return layer.msg('未填写发货数量', { icon: 7 });
}
// 校验调整量发生变化是否填写备注
for (let i = 0; i < jjDetailArr.length; i++) {
let obj = jjDetailArr[i];
if(obj.tzNum > 0 && !obj.remarks){
return layer.msg(obj.type+'-' + obj.name+'-' + obj.module + ',已修改调整量,请填写备注', { icon: 7 });
}
}
data.field.proId = idParam;
data.field.list = jjDetailArr;
data.field.addList = jjDataArr;
let formData = new FormData();
//遍历最终文件集合
for (let i = 0; i < fileList.length; i++) {
formData.append("file[]", fileList[i].file)
}
formData.append('params', JSON.stringify(data.field));
/* let loadingMsg = layer.msg(',...', {
icon : 16,
shade : 0.01,
time : '0'
}); */
console.log(JSON.stringify(data.field));
data.field.applyId = idParam;
let loadingMsg = layer.msg('正在提交保存,请稍等...', { icon: 16, shade: 0.01, time: '0' });
console.log(JSON.stringify(data.field));
let url = dataUrl + 'backstage/planOut/insertProOutPutInfo';
ajaxRequestByUploadFile(url, formData, function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
}, function (result) {
console.log(result);
layer.close(loadingMsg);
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
if (result.code === 200) {
parent.layer.msg(result.msg, { icon: 1 });
closePage(1);
} else {
layer.msg(result.msg, { icon: 2 });
}
}, function (xhr, status, error) {
layer.close(loadingMsg); // 关闭提示层
layer.msg('服务异常,请稍后重试', { icon: 16, scrollbar: false, time: 2000 });
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
errorFn(xhr, status, error)
}, null);
}
@ -434,7 +431,7 @@ function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
parent.layer.close(index); // 再执行关闭
if (type == 1) {
window.parent.closePage();
window.parent.reloadData();
}
}

View File

@ -1,5 +1,6 @@
let form, table, element;
let form, table, element,tableIns;
let typeParam;
let pageNum = 1;
function setParams(type) {
typeParam = type;
layui.use(["form", "table", 'element'], function () {
@ -8,134 +9,82 @@ function setParams(type){
element = layui.element;
// tab 切换事件
element.on('tab(demo-filter-tab)', function (data) {
let auditStatus = $(this).attr('value');
// $('#auditStatus').val(auditStatus);
let value = $(this).attr('value');
typeParam = value;
reloadTable(1);
});
$('.layui-tab-title li').eq(typeParam - 1).addClass('layui-this');
// initTable();
initTable();
});
}
// 查询/重置
function queryTable(type) {
if (type === 1) {
reloadTable(1);
} else if (type === 2) {
$('#name').val('');
$('#module').val('');
layui.form.render();
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadData(pageNum);
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
'module': $('#module').val(),
'type': typeParam
}),
},
},
);
}
// 初始化表格
function initTable() {
let dataList = [
{
id: "1",
username: "张三",
num: 1,
num2: 1,
status: "部分发货",
progress: 30,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
{
id: "2",
username: "李四",
num: 1,
num2: 2,
status: "全部发货",
progress: 150,
lastSendTime:'2024-11-07 12:00:00'
},
];
table.render({
tableIns = table.render({
elem: "#currentTableId",
data: dataList,
height: "full-350",
// url: "../api/table.json",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-230",
url: dataUrl + "backstage/planOut/getProPlanPage",
where: {
encryptedData: JSON.stringify({
'name': $('#name').val(),
'module': $('#module').val(),
'type': typeParam
}),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
{
width: 120,
width: 80,
title: "序号",
align: "center",
templet: function (d) {
@ -143,124 +92,150 @@ function initTable() {
},
},
{
field: "username",
width: 300,
title: "工程名称",
field: "proName",
width: 150,
title: "物机类型 ",
unresize: true,
align: "center",
},
{
field: "num",
width: 180,
title: "需求计划数量",
field: "planNum",
width: 150,
title: "物机名称",
unresize: true,
align: "center",
templet: function (d) {
return setNumColor(d.num);
},
/* templet: function (d) {
return setNumColor(d.planNum);
}, */
},
{
field: "num2",
width: 180,
title: "出库单数量 ",
field: "recordNum",
width: 150,
title: "规格 ",
unresize: true,
align: "center",
templet: function (d) {
return setNumColor(d.num2);
},
/* templet: function (d) {
return setNumColor(d.recordNum);
}, */
},
{
field: "status",
title: "发货状态",
width: 200,
title: "单位",
width: 150,
unresize: true,
align: "center",
templet: function (d) {
/* templet: function (d) {
return setStatusColor(d.status);
},
}, */
},
{
field: "lastSendTime",
width: 200,
title: "最后发货时间",
field: "status",
title: "需要量",
width: 150,
unresize: true,
align: "center",
/* templet: function (d) {
return setNumColor(d.status);
}, */
},
{
field: "status",
title: "已发货量",
width: 150,
unresize: true,
align: "center",
/* templet: function (d) {
return setStatusColor(d.status);
}, */
},
{
field: "status",
title: "待发货量",
width: 120,
unresize: true,
align: "center",
/* templet: function (d) {
return setStatusColor(d.status);
}, */
},
{
field: "lastDay",
width: 150,
title: "工程数",
unresize: true,
align: "center",
},
{
field: "progress",
width: 300,
title: "进度",
width: 150,
title: "需求计划数",
unresize: true,
align: "center",
templet: schedule,
},
{
title: "操作",
minwidth: 180,
title: "来源工程",
minwidth: 200,
align: "center",
unresize: true,
templet: function (d) {
let html = "";
html += "<a onclick=\"viewData('" + d.id + "')\">详情</a>";
html +=
"<div class='splitLine'>|</div><a onclick=\"sendGoods('" + d.id + "')\">发货</a>";
html += "<a onclick=\"viewSource('" + d.proId + "')\">查看来源</a>";
return html;
},
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 15,
limit: 10,
page: true,
done: function (res, curr, count) {
pageNum = tableIns.config.page.curr;
element.render();
},
});
}
// 数量颜色
function setNumColor(value) {
return '<span style="color:#409Eff;font-weight:bold;">' + value + "</span>";
// 设置字体加粗
function setFontBold(value) {
return '<span style="font-weight:bold">' + value + "</span>";
}
// 发货状态颜色
function setStatusColor(value) {
function setNumColor(value,type) {
let color = "#409Eff";
if (value === "未发货") {
color = "#f56c6c";
} else if (value === "部分发货") {
color = "#ff9900";
}
if (value === "全部发货") {
if (type === 1) {
color = "#409Eff";
} else if (type === 2) {
color = "#19be6b";
}else if (type === 3) {
color = "#f56c6c";
}
return '<span style="color:' + color + '">' + value + "</span>";
}
// 设置进度值
function schedule(d) {
d.filter == undefined ? d.filter = d.LAY_NUM : d.filter;
d.progress == undefined ? d.progress = 100 : d.progress;
var color = 'layui-bg-orange';
if (d.progress < 100) {
color = 'layui-bg-orange'
} else if(d.progress === 100){
color = 'layui-bg-primary'
}else if(d.progress > 100){
color = 'layui-bg-blue'
}
//设置页面进度条
return '<div class="layui-progress layui-progress-big" lay-showpercent="true" id="' + d.filter + '" lay-filter="progress' + d.filter + '">' +
'<div class="layui-progress-bar ' + color + '" lay-percent="' + d.progress + '%">' +
'</div></div>'
// 导出
function exportExcel() {
let encryptedData = JSON.stringify({
'proName': $('#proName').val(),
'status': $('#status').val()
});
let url = dataUrl + "backstage/planOut/exportExcel?encryptedData=" + encryptedData;
exportExcelUtil(url, '机具公司发货数据');
}
// 发货
function sendGoods(id) {
openIframeByParam("sendGoods", '发货', "./child/send_goods_form.html", '92%', '95%',id);
// 打印
function print() {
Print('#body', {
onStart: function () {
console.log('onStart', new Date())
},
onEnd: function () {
console.log('onEnd', new Date())
}
})
}
// type 1.总需求量 2.待发货量 3.已发货量
function openViewData(type) {
openIframeByParam("viewData", '发货', "./child/view_data_list.html", '92%', '95%',type);
// 查看来源
function viewSource(id) {
openIframeByParam("viewSource","未发货机具设备超出库存数量-数据来源","./view_resource_list.html","92%","95%",id);
}

View File

@ -28,17 +28,22 @@ layui.use(["form", "table"], function () {
// 查询/重置
function queryTable(type){
if(type === 1){
reloadData(1);
reloadTable(1);
}else if(type === 2){
$('#proName').val('');
$('#status').val('0');
layui.form.render();
reloadData(1);
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadData(pageNum);
}
// 重载表格
function reloadData(pageNum) {
function reloadTable(pageNum) {
table.reload("currentTableId",{
page: {
curr: pageNum ? pageNum : 1,
@ -70,8 +75,8 @@ function initTable() {
}),
},
request: {
pageName: 'pageNum', // page
limitName: 'pageSize' // limit
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function(res){ // res 即为原始返回的数据
return {
@ -151,7 +156,7 @@ function initTable() {
templet: function (d) {
let html = "";
html += "<a onclick=\"viewData('" + d.proId + "')\">详情</a>";
html += "<div class='splitLine'>|</div><a onclick=\"sendGoods('" +d.proId +"')\">发货</a>";
html += "<div class='splitLine'>|</div><a onclick='sendGoods("+JSON.stringify(d)+")'>发货</a>";
return html;
},
},
@ -179,8 +184,7 @@ function setStatusColor(value) {
color = "#f56c6c";
} else if (value === "部分发货") {
color = "#ff9900";
}
if (value === "全部发货") {
}else if (value === "全部发货") {
color = "#19be6b";
}
return '<span style="color:' + color + '">' + value + "</span>";
@ -217,8 +221,8 @@ function exportExcel() {
}
// 发货
function sendGoods(id) {
openIframeByParam("sendGoods","发货","./child/send_goods_form.html","92%","95%",id);
function sendGoods(obj) {
openIframeByParamObj("sendGoods","发货","./child/send_goods_form.html","92%","95%",obj);
}
// type 1.总需求量 2.待发货量 3.已发货量

View File

@ -40,7 +40,7 @@ function openIframeByParamObj(id, title, content, width, height,paramsObj) {
let layerIndex = layer.open({
id: id,
type: 2,
title: ['<div style="border-left: 3px solid #00377A;color:#00377A;font-size:18px;letter-spacing:1px;display: flex;align-items: center;height: 20px;padding: 0 10px;font-weight: bold;">' + title + '</div>', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'],
title: ['<div style="border-left: 3px solid #409EFF;color:#409EFF;font-size:18px;letter-spacing:1px;display: flex;align-items: center;height: 20px;padding: 0 10px;font-weight: bold;">' + title + '</div>', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'],
content: content,
shade: 0.3,
anim: 2,

View File

@ -32,6 +32,7 @@ function ajaxRequestByUploadFile(url, data, beforeFn, successFn, errorFn) {
},
type: 'POST',
dataType: 'json',
contentType: 'multipart/form-data',
processData: false,
contentType: false,
data: data,
@ -110,3 +111,10 @@ const getNowDate = () => {
}
return year + "-" + month + "-" + day + "-" + hour + sign2 + minutes + sign2 + seconds;
}
// 空值赋值
function setNullValue(value){
if(!value){
return '';
}
return value;
}

View File

@ -78,6 +78,7 @@
</div>
</body>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/demandPlan/child/add_jj_data.js" charset="utf-8"></script>

View File

@ -16,9 +16,9 @@
<div id="main-box">
<div id="basic-box">
<div class="layout" style="justify-content: start;">
<p style="font-size: 18px;font-weight: bold;">220kV奎福变电站工程</p>
<p style="font-size: 18px;font-weight: bold;" id="proName"></p>
<p onclick="openDetail()" style="margin-left: 5%;cursor: pointer;">计划数量:<span
style="font-weight: bold;color: #409eff;">30</span></p>
style="font-weight: bold;color: #409eff;" id="planNum">0</span></p>
</div>
<form class="layui-form layuimini-form" onclick="return false;">
<div class="title layout">
@ -29,8 +29,8 @@
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">发货人</label>
<div class="layui-input-inline">
<input class="layui-input" name="val" id="val" autocomplete="off" name="towerName"
lay-verify="required" maxlength="30">
<input class="layui-input" name="userName" id="userName" autocomplete="off"
lay-verify="required" maxlength="30" lay-affix="clear">
</div>
</div>
<div class="layui-inline">
@ -39,7 +39,7 @@
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-date"></i>
</div>
<input class="layui-input" id="time" autocomplete="off" name="time" lay-verify="required"
<input class="layui-input" id="createDay" autocomplete="off" name="createDay" lay-verify="required"
readonly style="cursor: pointer;">
</div>
</div>
@ -47,8 +47,8 @@
<div class="layui-form-item">
<label class="layui-form-label required" style="width: 100px !important;">备注</label>
<div class="layui-input-inline" style="width: 764px;">
<textarea placeholder="请输入备注" lay-verify="required" id="remark" name="remark"
class="layui-textarea" maxLength="255"></textarea>
<textarea placeholder="请输入备注" lay-verify="required" id="remarks" name="remarks"
class="layui-textarea" maxLength="255" lay-affix="clear"></textarea>
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
@ -75,19 +75,19 @@
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="proName" autocomplete="off" class="layui-input"
<input type="text" name="name" id="name" autocomplete="off" class="layui-input" lay-affix="clear"
placeholder="输入物机名称" maxlength="30">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="proName" autocomplete="off" class="layui-input"
<input type="text" name="module" id="module" autocomplete="off" class="layui-input" lay-affix="clear"
placeholder="输入规格" maxlength="30">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue"><i class="layui-icon"></i> 搜 索</button>
<button class="layui-btn layui-btn-primary"><i
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i class="layui-icon"></i> 搜 索</button>
<button class="layui-btn layui-btn-primary" onclick="queryTable(2)"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<button type="button" class="layui-btn" onclick="addJjData()">
<i class="layui-icon layui-icon-add-1"></i>添 加
@ -111,18 +111,9 @@
</div>
</body>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/demandPlan/child/send_goods_form.js" charset="utf-8"></script>
<script src="../../../js/openIframe.js" charset="utf-8"></script>
<script src="../../../js/tips.js" charset="utf-8"></script>
<script type="text/html" id="TPL-demo">
<input class="layui-input input-demo" placeholder="输入发货数量" value="{{= d.fhl || '' }}" maxlength="6" onblur="handleNum(this,this.value)" lay-event="purchaseTotal" lay-filter="purchaseTotal">
</script>
<script type="text/html" id="TPL-demo2">
<input class="layui-input input-demo" placeholder="0" maxlength="6" onblur="handleNum(this,this.value)">
</script>
<script type="text/html" id="TPL-demo3">
<textarea class="layui-input laydate-demo" maxlength="255"></textarea>
</script>
</html>

View File

@ -30,28 +30,25 @@
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="proName" autocomplete="off" class="layui-input"
placeholder="输入工程名称" maxlength="30">
<input type="text" name="name" id="name" autocomplete="off" class="layui-input"
placeholder="输入物机名称" maxlength="30">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select>
<option value="">请选择状态</option>
<option value="2">未发货</option>
<option value="2">未发货</option>
<option value="3">全部发货</option>
</select>
</select>
</select>
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="module" id="module" autocomplete="off" class="layui-input"
placeholder="输入规格" maxlength="30">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue"><i class="layui-icon"></i> 搜 索</button>
<button class="layui-btn layui-btn-primary"><i
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i
class="layui-icon"></i> 搜 索</button>
<button class="layui-btn layui-btn-primary" onclick="queryTable(2)"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<button class="layui-btn layui-btn-primary"><i
class="layui-icon layui-icon-download-circle"></i> 导出</button>
<button class="layui-btn layui-btn-primary" onclick="exportExcel()"><i
class="layui-icon layui-icon-download-circle"></i> 下 载</button>
<button class="layui-btn layui-btn-primary" onclick="print()"><i
class="layui-icon layui-icon-print"></i> 打 印</button>
</div>
</div>
</form>
@ -63,9 +60,11 @@
</div>
</div>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/demandPlan/child/view_data_list.js" charset="utf-8"></script>
<script src="../../../js/openIframe.js" charset="utf-8"></script>
<script src="../../../js/Print.js" charset="utf-8"></script>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>查看来源</title>
</head>
<body>
查看来源
</body>
</html>

View File

@ -82,7 +82,7 @@
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="proName" id="proName" autocomplete="off" class="layui-input"
<input type="text" name="proName" id="proName" autocomplete="off" class="layui-input" lay-affix="clear"
placeholder="输入工程名称" maxlength="30">
</div>
</div>