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
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
|
|
}
|