旧版报表、仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

432 lines
17 KiB

let productsinfo = new Vue({
el: '#yieldForm',
components: {
'BootstrapTable': BootstrapTable
},
data: {
columns: [],
data: [],
leftheader: [
{
title: '车间',
field: 'workshop',
align: 'center',
width: 70
}, {
title: '站点',
field: 'Processes',
align: 'center',
width: 51
}, {
title: '机台',
field: 'wks_desc',
align: 'center',
width: 100
}, {
title: '班次',
field: 'dailyShift',
align: 'center',
width: 51
}],
rightheader: [],
saturday: [],
options: {
//pagination: true, //是否显示分页(*)
//pageSize: 12, //每页的记录行数(*)
search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,
strictSearch: true,
//showColumns: true, //是否显示所有的列
showRefresh: true,
//height: 580,
//onClickRow: function (row, $element, field) {
// console.log(row);
// var flow = row.flow;
// console.log(flow);
// productsinfo.requestApi({
// modulename: "Orders",
// funname: "QueryWorkshop", //BatchRate
// para: { flow: flow },
// success: (res) => {
// console.log(res);
// productsinfo.stations = res;
// //显示工艺流程
// //clearTimeout(produstsinfo.hide);
// $("#flow").slideDown('slow');
// console.log(productsinfo.hide);
// productsinfo.hide = setTimeout(function () { $("#flow").slideUp('slow'); }, 6000);
// $("#flow").mouseover(function () {
// clearTimeout(productsinfo.hide);
// console.log(productsinfo.hide);
// $("#flow").stop(false, true);
// });
// $("#flow").mouseleave(function () {
// $("#flow").slideUp('slow');
// });
// },
// fail: (ex) => {
// console.log(ex);
// }
// })
//}
}
},
created() {
},
mounted() {
var self = this;
self.QueryddlWorkshop();
self.Daterangeini();
self.immediate();
//获取今天是今年第几周
var d1 = new Date();
var d2 = new Date();
d2.setMonth(0);
console.log(d2);
d2.setDate(1);
console.log(d2);
var oneWeek = d2.getDay();//获取本年第一天是周几
var oneDay = 6 - oneWeek;//本年第一周的天数
var rq = d1 - d2 + 1;
var s1 = Math.ceil(rq / (24 * 60 * 60 * 1000)); //今天是本年第几天
var residueDay = s1 - oneDay;
var s2 = Math.ceil(residueDay / 7) + 1; //当天是今年第几周
console.log("今天是本年第" + s1 + "天,第" + s2 + "周");//周日做为下周的开始计算
//站点
var station = [
{ process_code: 'M10', descriptions: '焊接' },
{ process_code: 'M15', descriptions: '叠层' },
{ process_code: 'N30', descriptions: '层压' },
{ process_code: 'N40', descriptions: '层压后检验' },
{ process_code: 'M45', descriptions: '装框' },
{ process_code: 'N50', descriptions: '清洗' },
{ process_code: 'N60', descriptions: '全检' }
];
$.each(station, function (index, value) {
console.log(index);
$("#ddlStation").append("<option value='" + value.process_code + "'>" + value.descriptions + "</option>");
})
$('#ddlStation').val('');
$('#ddlStation').select2({
placeholder: "站点",
allowClear: true
});
},
methods: {
//立即执行方法
immediate: function () {
var self = this;
self.rightheader = [];//将右侧表头初始化为空
var month = $('#jedatetime').val().substr($('#jedatetime').val().lastIndexOf("-")).substr(1);
console.log(month);
var year = $('#jedatetime').val().substr(0, $('#jedatetime').val().lastIndexOf("-"));
//获取当前月份英文作为表头field
var date = new Date(year + '/' + month);
console.log(date.toDateString());
var monthEnglish = date.toDateString().split(" ")[1]; //当前月份英文
console.log(date.toDateString().split(" ")[1]);
//获取月份天数
var days = self.mGetDate(year, month);
console.log(days);
//将本月的天数先加入数组中,存储起来
for (var i = 1; i < days + 1; i++) {
self.rightheader.push({
title: month + '/' + i,
field: 'month' + i,
align: 'center',
width: 60
})
}
self.getSixDay(year, month)
console.log(self.saturday);
////获取今天是今年第几周(以周六为一周第一天)
//var d1 = new Date(year + '/' + month + '/' + self.saturday[0]);
//var d2 = new Date();
//d2.setMonth(0);
//console.log(d2);
//d2.setDate(1);
//console.log(d2);
//var oneWeek = d2.getDay();//获取本年第一天是周几
//var oneDay = 6 - oneWeek;//本年第一周的天数
//console.log(oneDay);
//var rq = d1 - d2;
//var s1 = Math.ceil(rq / (24 * 60 * 60 * 1000)) + 1; //今天是本年第几天
//console.log(s1);
//var residueDay = s1 - oneDay;
//var s2 = Math.ceil(residueDay / 7) + 1; //当天是今年第几周
//console.log(s2);
//console.log(self.rightheader);
//for (var i = 0; i < self.saturday.length; i++) {
// self.rightheader.splice(self.saturday[i] - 1 + i, 0, {
// title: eval(s2 + i) + '周',
// field: 'week' + i,
// align: 'center',
// width: 51
// });
//}
//将两段数组合并、显示
self.columns = [...self.leftheader, ...self.rightheader]
},
//查询表格数据
inquireinfo: function () {
if ($('#ddlWorkshop').val() == null) {
toastr.warning('请选择车间', '', { progressBar: true });
return;
}
if ($('#jedatetime').val() == null) {
toastr.warning('请选择时间', '', { progressBar: true });
return;
}
var self = this;
self.rightheader = [];//将右侧表头初始化为空
self.saturday = [];
var month = $('#jedatetime').val().substr($('#jedatetime').val().lastIndexOf("-")).substr(1);
console.log(month);
var year = $('#jedatetime').val().substr(0, $('#jedatetime').val().lastIndexOf("-"));
//获取当前月份英文作为表头field
var date = new Date(year + '/' + month);
console.log(date.toDateString());
var monthEnglish = date.toDateString().split(" ")[1]; //当前月份英文
console.log(date.toDateString().split(" ")[1]);
//获取月份天数
var days = self.mGetDate(year, month);
console.log(days);
//将本月的天数先加入数组中,存储起来
for (var i = 1; i < days + 1; i++) {
if (i < 10) {
self.rightheader.push({
title: month + '-' + i,
field: month + '-0' + i,
align: 'center',
width: 51
})
} else {
self.rightheader.push({
title: month + '-' + i,
field: month + '-' + i,
align: 'center',
width: 60
})
}
}
self.getSixDay(year, month)
console.log(self.saturday);
////获取今天是今年第几周(以周六为一周第一天)
//var d1 = new Date(year + '/' + month + '/' + self.saturday[0]);
//var d2 = new Date(year + '/01/01');
//d2.setMonth(0);
//console.log(d2);
//d2.setDate(1);
//console.log(d2);
//var oneWeek = d2.getDay();//获取本年第一天是周几
//var oneDay = 6 - oneWeek;//本年第一周的天数
//console.log(oneDay);
//var rq = d1 - d2;
//var s1 = Math.ceil(rq / (24 * 60 * 60 * 1000)) + 1; //今天是本年第几天
//console.log(s1);
//var residueDay = s1 - oneDay;
//var s2 = Math.ceil(residueDay / 7) + 1; //当天是今年第几周
//console.log(s2);
//console.log(self.rightheader);
//for (var i = 0; i < self.saturday.length; i++) {
// self.rightheader.splice(self.saturday[i] - 1 + i, 0, {
// title: eval(s2 + i) + '周',
// field: '第' + eval(s2 + i) + '周',
// align: 'center',
// width: 51
// });
//}
console.log(self.leftheader);
console.log(self.rightheader);
//将两段数组合并、显示
self.columns = [...self.leftheader, ...self.rightheader]
//月份查询条件
var monthCondition = {
year: $('#jedatetime').val().substr(0, $('#jedatetime').val().lastIndexOf("-")),
month: self.monthCondition()
};
console.log(monthCondition);
var cmonth;
if (monthCondition.month.length == 2) {
cmonth = '0' + monthCondition.month.substr(0, 1);
} else {
cmonth = monthCondition.month.substr(0, 2);
}
//进行数据查询
self.requestApi({
modulename: "CurEverydayStationCapacity",
funname: "CurEverydayStationCapacity",
para: { workshop: $('#ddlWorkshop').val(), year: monthCondition.year, month: cmonth, station: $('#ddlStation option:selected').text()},
success: (res) => {
console.log(res);
self.data = res;
},
fail: (ex) => {
console.log(ex);
}
})
},
//获取一个月中哪些天是周六
getSixDay: function (year, month) {
var self = this;
var tempTime = new Date(year, month, 0);
var time = new Date();
var sunday = new Array();
for (var i = 1; i <= tempTime.getDate(); i++) {
time.setFullYear(year, month - 1, i);
var day = time.getDay();
if (day == 6) {
self.saturday.push(i);
}
}
},
//获取这周的周六(第一天)
getFirstDayOfWeek: function (date) {
var self = this;
var weekday = date.getDay() || 0; //获取星期几,getDay()返回值是 0(周日) 到 6(周六) 之间的一个整数。0||7为7,即weekday的值为1-7
date.setDate(date.getDate() - weekday - 1);//往前算(weekday-1)天,年份、月份会自动变化
//return self.timeFormat(date);
return date;
},
zero: function (s) {
return s < 10 ? '0' + s : s
},
timeFormat: function (date) {
if (!date || typeof (date) === "string") {
this.error("参数异常,请检查...");
}
var self = this;
var y = date.getFullYear(); //年
var m = self.zero(date.getMonth() + 1); //月
var d = self.zero(date.getDate()); //日
return y + '-' + m + '-' + d + ' ' + '00:00:00'
},
dateFormat: function (date) {
if (!date || typeof (date) === "string") {
this.error("参数异常,请检查...");
}
var self = this;
var y = date.getFullYear(); //年
var m = self.zero(date.getMonth() + 1); //月
var d = self.zero(date.getDate()); //日
return {
year: y,
month: m,
day: d
}
},
monthCondition: function () {
if ($('#jedatetime').val().substr($('#jedatetime').val().lastIndexOf("-")).substr(1, 1) == 0) {
return $('#jedatetime').val().substr($('#jedatetime').val().lastIndexOf("-")).substr(2) + '月';
} else {
return $('#jedatetime').val().substr($('#jedatetime').val().lastIndexOf("-")).substr(1) + '月';
}
},
QueryddlWorkshop: function () {
var promiseweld = $.ajax({
url: '/api/Orders/QueryWorkshop', //'/api/QC/QueryStatus'
type: 'post',
cache: true,
async: true,
});
promiseweld.done(function (r) {
console.log(r);
$.each(r.info, function (index, value) {
console.log(index);
$("#ddlWorkshop").append("<option value='" + value.area_code + "'>" + value.descriptions + "</option>");
})
$('#ddlWorkshop').val('');
$('#ddlWorkshop').select2({
placeholder: "车间",
allowClear: true
});
});
promiseweld.fail(function (error) {
console.log(error)
alert(error);
});
},
Daterangeini: function () {
jeDate("#jedatetime", {
onClose: false,
theme: { bgcolor: "#00A1CB", color: "#ffffff", pnColor: "#00CCFF" },
format: "YYYY-MM",
isinitVal: true,
})
},
//获取月份天数
mGetDate: function (year, month) {
var d = new Date(year, month, 0);
return d.getDate();
},
requestApi: function (config) {//modulename, funname, para, success, fail) {
fetch("/api/" + config.modulename + "/" + config.funname + "", {
method: "post",
headers: {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json"
},
body: JSON.stringify(config.para)
}).then(
(res) => { return res.json() }
).then(
(res) => { config.success(res) }
).catch(
(ex) => { config.fail(ex) }
)
}
}
});
$('#btnExportExcel').click(function () {
if ($('#ddlWorkshop').val() == null && $('#ddlStation').val() == null && $('#jedatetime').val() == '') {
toastr.warning('请输入查询参数', '', { progressBar: true });
return;
}
if ($('#ddlWorkshop').val() == null) {
toastr.warning('请选择车间', '', { progressBar: true });
return;
}
if ($('#jedatetime').val() == '') {
toastr.warning('请选择时间', '', { progressBar: true });
return;
}
doPost('/Report/CurEverydayStationCapacityExcel', [
workshop = $('#ddlWorkshop').val(),
year = $('#jedatetime').val().substr(0, $('#jedatetime').val().lastIndexOf("-")),
month = $('#jedatetime').val().substr(5,2),
station = $('#ddlStation option:selected').text()
])
})
function doPost(to, p) { // to:提交动作(action),p:参数
var myForm = document.createElement("form");
myForm.method = "post";
myForm.action = to;
for (var i in p) {
var myInput = document.createElement("input");
myInput.setAttribute("name", "para"); // 为input对象设置name
myInput.setAttribute("value", p[i]); // 为input对象设置value
myForm.appendChild(myInput);
}
document.body.appendChild(myForm);
myForm.submit();
document.body.removeChild(myForm); // 提交后移除创建的form
}