@@ -106,7 +99,7 @@
生产订单 |
料号 |
- 物业名称 |
+ 物料名称 |
业务部 |
工程部 |
采购部 |
@@ -170,6 +163,46 @@
+
+ //
+ function getFinalProduct(limit = null){
+ var beginDate = $("#finalProductBeginTime").val();
+ var endDate = $("#finalProductEndTime").val();
+
+ var data = {
+ beginDate: beginDate,
+ endDate: endDate,
+ }
+ if(limit != null){
+ data.limit = limit
+ }
+ $.ajax({
+ url: '/system/makeorderbom/getIndexList',
+ method: 'GET',
+ data: data,
+ dataType: 'json',
+ success: function(responseData) {
+ var tbody = $('#materialTable tbody');
+ tbody.empty(); // 清空现有内容
+ // 遍历数据并生成表格行
+ responseData.forEach(function(item) {
+ var row = `
+ ${item.materialNo} |
+ ${item.materialName} |
+ ${item.orderRate}% |
+
`;
+ tbody.append(row);
+ });
+ if(responseData.length === 0){
+ console.log("response:"+responseData.length);
+ var row = `该段时间内暂无物料数据 |
`;
+ tbody.append(row);
+ }
+ },
+ error: function(error) {
+ console.error('Error fetching data:', error);
+ }
+ });
+
+ }
+
+ /*获取时间段(根据自然周划分)*/
+ function getWeekRangesPastMonth() {
+ const result = [];
+
+ var weekStartStr = $("#productionBeginTime").val();
+ var weekStart = new Date(weekStartStr);
+ var weekEndStr = $("#productionEndTime").val();
+ var weekEndTime = new Date(weekEndStr);
+
+ // 检查是否成功创建了Date对象
+ if (isNaN(weekStart.getTime())||isNaN(weekEndTime.getTime())) {
+ console.error("无法识别的日期格式,请确保输入正确的日期。");
+ } else {
+ // 计算该日期所在周的第一天(即星期一)
+ const dayOfWeekStart = weekStart.getDay() || 7; // 如果是周日,则返回7
+ weekStart.setDate(weekStart.getDate() - (dayOfWeekStart - 1));
+ }
+
+ while (weekStart < weekEndTime) {
+ const weekEnd = new Date(weekStart.getTime() + (6 * 24 * 60 * 60 * 1000)); // 每周结束于周日
+ // 如果周末超过了当前日期,则调整为当前日期
+ if (weekEnd > nowDate) {
+ weekEnd.setTime(nowDate.getTime());
+ }
+ result.push({
+ start: new Date(weekStart), // 使用new Date确保日期对象是独立的
+ end: new Date(weekEnd)
+ });
+ // 移动到下一周
+ weekStart.setDate(weekStart.getDate() + 7);
+ }
+ return result;
+ }
+
+ /*获取周产量*/
+ function getWeekProduction(){
+ const weekRanges = getWeekRangesPastMonth();
+ var weekRangeStr = [];
+ weekRanges.forEach(week => {
+ var weekStr = formatDateWithoutYear(week.start) + '~' + formatDateWithoutYear(week.end);
+ weekRangeStr.push(weekStr);
+ });
+ classificationPassRate.setOption({
+ xAxis: {
+ data: weekRangeStr // 更新 x 轴的数据
+ },
+ });
+
+ var beginDate = $("#productionBeginTime").val();
+ var endDate = $("#productionEndTime").val();
+
+ var data = {
+ beginDate: beginDate,
+ endDate: endDate,
+ }
+ var increments = [];
+ $.ajax({
+ url: '/warehouse/storageOrder/getIndexList',
+ method: 'GET',
+ data: data,
+ dataType: 'json',
+ success: function(responseData) {
+ increments.push(0);
+ for (var i = 1; i < responseData.length; i++) {
+ var increment = responseData[i] - responseData[i - 1];
+ increments.push(increment);
+ }
+ classificationPassRate.setOption({
+ series:[
+ {
+ name: "增量",
+ type: "line",
+ smooth: false, // 线条是否平滑
+ itemStyle: {
+ normal: {
+ color: "#23c6c8",
+ label: {
+ show: true,
+ position: "top",
+ formatter: function(p) {
+ return p.value > 0 ? (p.value) : '';
+ }
+ }
+ }
+ },
+ data: increments,
+ },
+ {
+ name: '数量',
+ data: responseData
+ }
+ ]
+ });
+ },
+ error: function(error) {
+ console.error('Error fetching data:', error);
+ }
+ });
+ }
+
+
+ function initWeekProductionChart(){
+ var classificationPassRateDom = document.getElementById('classificationPassRate');
+ classificationPassRate = echarts.init(classificationPassRateDom, null, {
+ renderer: 'canvas',
+ useDirtyRect: false
+ });
+ var classificationPassRateOption = {
+ title: {
+ textStyle: {
+ align: 'center',
+ color: '#fff',
+ fontSize: 20,
+ },
+ top: '5%',
+ left: '5%',
+ },
+ tooltip: {
+ trigger: "axis",
+ axisPointer: {
+ type: "shadow",
+ label: {
+ show: true
+ }
+ }
+ },
+ xAxis: {
+ name:'时间',
+ type: 'category',
+ data: [],
+ axisTick: {show:true},
+ axisLabel: {
+ show: true,
+ fontSize: 10, //设置坐标轴文本标签的字体大小
+ },
+ axisLine: {
+ symbol: ['none','arrow'],
+ symbolSize: [4, 4],
+ show: true, //隐藏X轴轴线
+ /*lineStyle: {
+ color: 'blue'
+ }*/
+ },
+ },
+ yAxis: {
+ name:'数量',
+ top: "1%",
+ axisTick: {
+ show: true //隐藏X轴刻度
+ },
+ type: 'value',
+ axisLabel: {
+ show: true,
+ fontSize: 10, //设置坐标轴文本标签的字体大小
+ },
+ axisLine: {
+ symbol: ['none','arrow'],
+ symbolSize: [4, 4],
+ show: true, //隐藏X轴轴线
+ /*lineStyle: {
+ color: 'blue'
+ }*/
+ },
+ },
+ legend: {
+ data: ["增量", "数量"],
+ right:"1%",
+ top: "1%",
+ textStyle: {
+ color: "black"
+ }
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '15%',
+ containLabel: true
+ },
+ dataZoom: [
+ {
+ type: 'slider', // 滑动条型数据区域缩放组件
+ startValue: 0, // 初始时显示的第一个柱子的索引
+ endValue: 3, // 初始时显示的最后一个柱子的索引(即前4个柱子)
+ height: 10,
+ top: '85%', // 将滑动条放置在图表下方
+ showDataShadow: false,
+ textStyle: false,
+ },
+ {
+ type: 'inside', // 支持鼠标滚轮和触控板缩放和平移
+ startValue: 0,
+ endValue: 3,
+ showDataShadow: false,
+ }
+ ],
+ series: [
+ {
+ name: "增量",
+ type: "line",
+ itemStyle: {
+ normal: {
+ color: "#23c6c8",
+ label: {
+ show: true,
+ position: "top",
+ formatter: function(p) {
+ return p.value > 0 ? (p.value) : '';
+ }
+ }
+ }
+ },
+ },
+ {
+ name: "数量",
+ type: "bar",
+ barWidth: '20%',
+ areaStyle:{
+ color: "black"
+ },
+ itemStyle: {
+ normal: {
+ color:"#1c84c6"
+ }
+ },
+ }
+ ]
+ };
+ if (classificationPassRateOption && typeof classificationPassRateOption === 'object') {
+ classificationPassRate.setOption(classificationPassRateOption);
+ }
+ window.addEventListener('resize', classificationPassRate.resize);
+ }
+
+
-
+