1
liulijun
2026-01-06 114c252dcc51fea8b725bcd375cabb1e8d23a90e
1

老厂大屏修改
已添加1个文件
已修改5个文件
1305 ■■■■■ 文件已修改
项目代码/BigScreen/package-lock.json 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/router/index.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/1.vue 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/index.vue 530 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexLine.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/BigScreen/src/views/indexPick.vue 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/BigScreen/package-lock.json
@@ -2349,6 +2349,11 @@
        "fastq": "^1.6.0"
      }
    },
    "@popperjs/core": {
      "version": "npm:@sxzz/popperjs-es@2.11.7",
      "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
    },
    "@sideway/address": {
      "version": "4.1.5",
      "resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz",
@@ -7391,13 +7396,6 @@
        "lodash-unified": "^1.0.2",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      },
      "dependencies": {
        "@popperjs/core": {
          "version": "npm:@sxzz/popperjs-es@2.11.7",
          "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
          "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
        }
      }
    },
    "element-ui": {
ÏîÄ¿´úÂë/BigScreen/src/router/index.js
@@ -5,13 +5,18 @@
const routes = [{
  path: '/',
  name: 'indexLine',
  component: () => import('../views/indexLine.vue')
  name: '',
  component: () => import('../views/index.vue')
},
{
  path:"/pick",
  name:"indexPick",
  component: () => import('../views/indexPick.vue')
},
{
  path:"/Line",
  name:"indexLine",
  component: () => import('../views/indexLine.vue')
}
]
const router = new VueRouter({
ÏîÄ¿´úÂë/BigScreen/src/views/1.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,318 @@
<template>
    <div id="index" ref="appRef">
        <div class="bg">
            <div class="myhead"></div>
            <dv-loading v-if="loading">Loading...</dv-loading>
            <div v-else class="host-body">
                <div class="react-right" style="margin-left: 1510px">
                    <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
                </div>
                <div class="body-box">
                    <div class="content-box">
                        <div class="boxOrderHeight"
                            style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
                            <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
                            <span style="
                    padding-left: 15px;
                    font-size: 60px;
                    font-weight: bold;
                    color: #90EE90;
                  ">立库输送轨道原纸信息(共{{showMsg}}卷)</span>
                            //时间
                            <div style="position: absolute; right: 20px;">
                                <p style="
                      display: inline-block;
                      font-size: 50px;
                      font-weight: bold;
                      color: #f7b500;
                      margin: 0;
                      padding: 5px 15px;
                    ">{{ currentTime }}</p>
                            </div>
                        </div>
                        <!-- å·¥å•信息模块 -->
                        <dv-border-box-8 :reverse="true"
                            style="width: 100%; height: 950px; margin-top: 5px; margin-left: auto; margin-right: auto;">
                            <dv-scroll-board :config="config" ref="scrollBoard"
                                style="width: 100%; height: 950px; padding: 5px" />
                        </dv-border-box-8>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
import drawMixin from "../utils/drawMixin";
import { formatTime } from "../utils/index.js";
import centerView1 from "./centerView1.vue";
import bottomView1 from "./bottomView1.vue";
import axios from "@/api/ajax.js";
// import{GetDateForLED} from "@/api/http.js"
export default {
    mixins: [drawMixin],
    data() {
        return {
            timing: null,
            timeRequest: null,
            loading: true,
            dateDay: null,
            dateYear: null,
            dateWeek: null,
            currentTime: '',
            weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
            config: {
                header: [
                    '<span style="font-size:50px;">纸卷条码</span>',
                    '<span style="font-size:50px;">工单号</span>',
                    '<span style="font-size:50px;">代码</span>',
                    '<span style="font-size:50px;">上机位</span>',
                    '<span style="font-size:50px;">宽幅</span>',
                    '<span style="font-size:50px;">纸卷长</span>',
                    '<span style="font-size:50px;">需用纸长</span>'
                ],
                data: [
                    [
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">015004</span>',
                        '<span style="color:#FF4500; font-size:60px;">X2</span>',
                        '<span style="color:#FF4500; font-size:60px;">1</span>',
                        '<span style="color:#FF4500; font-size:60px;">1200</span>',
                        '<span style="color:#FF4500; font-size:60px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">015004</span>',
                        '<span style="color:#FF4500; font-size:60px;">X2</span>',
                        '<span style="color:#FF4500; font-size:60px;">2</span>',
                        '<span style="color:#FF4500; font-size:60px;">1200</span>',
                        '<span style="color:#FF4500; font-size:60px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                    ],
                ],
                headerHeight: 60,
                oddRowBGC: "rgba(0, 0, 0, 0.6)",
                evenRowBGC: "rgba(0, 0, 0, 0.6)",
                headerBGC: "rgba(0, 0, 0, 0.6)",
                waitTime: 5000,
                columnWidth: [380, 380, 180, 200, 200, 250, 250],
                rowNum: 10,
                align: ["center", "center", "center", "center", "center", "center", "center"],
            },
            IsDetail: true,
            showMsg:""
        };
    },
    components: {
        centerView1,
        bottomView1,
    },
    mounted() {
        this.updateTime(); // åˆå§‹åŒ–æ—¶é—´
        this.timing = setInterval(() => {
            this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
        }, 1000);
        this.cancelLoading();
        this.GetOrderDetail();
    },
    beforeDestroy() {
        clearInterval(this.timing);
        clearInterval(this.timeRequest);
    },
    methods: {
        // æ›´æ–°åŒ—京时间
        updateTime() {
            const now = new Date();
            const year = now.getFullYear();
            const month = String(now.getMonth() + 1).padStart(2, '0');
            const day = String(now.getDate()).padStart(2, '0');
            const hours = String(now.getHours()).padStart(2, '0');
            const minutes = String(now.getMinutes()).padStart(2, '0');
            const seconds = String(now.getSeconds()).padStart(2, '0');
            const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
            const weekday = weekdays[now.getDay()];
            this.currentTime = `${year}-${month}-${day} ${weekday} ${hours}:${minutes}:${seconds}`;
        },
        //刷新时间
        timeFn() {
            this.timing = setInterval(() => {
                axios.post("/api/dt_WorkOrder/GetCurrentTime", null, "").then((x) => {
                    if (x.data.status) {
                        var data = x.data.data;
                        this.dateDay = formatTime(data, "HH: mm: ss");
                        this.dateYear = formatTime(data, "yyyy-MM-dd");
                    }
                });
            }, 1000);
        },
        cancelLoading() {
            setTimeout(() => {
                this.loading = false;
            }, 1000);
        },
        GetOrderDetail() {
            axios.post("/api/OutLineView/GetOutLineView", null, "").then((res) => {
                if (res.data.status) {
                    if (res.data.data == null) {
                        return;
                    }
                    this.showMsg=res.data.message
                    // 1. æŒ‰çº¸å·æ¡ç åˆ†ç»„
                    const groupedData = {};
                    res.data.data.forEach((x) => {
                        if (!groupedData[x.palletCode]) {
                            groupedData[x.palletCode] = [];
                        }
                        groupedData[x.palletCode].push(x);
                    });
                    // 2. å¤„理数据:将每组相同纸卷条码的记录合并为一条
                    var arr = [];
                    Object.keys(groupedData).forEach((palletCode) => {
                        const group = groupedData[palletCode];
                        if (group.length === 0) return;
                        // å–第一条记录的基本信息
                        const firstItem = group[0];
                        let totalOrderQuantity = 0;
                        // è®¡ç®—需用纸长总和
                        group.forEach((item) => {
                            totalOrderQuantity += parseFloat(item.orderQuantity) || 0;
                        });
                        // å¤„理上机位:只显示最后一位
                        const machineName = firstItem.machineName;
                        const machineLastChar = machineName ? machineName.slice(-3) : '';
                        // å¤„理数值:去除小数点
                        const materialWide = parseInt(firstItem.materialWide) || 0;
                        const originalQuantity = parseInt(firstItem.originalQuantity) || 0;
                        // åˆå¹¶å·¥å•号:用逗号分隔显示所有工单号
                        const orderNos = group.map(item => item.orderNo).join(', ');
                        // åˆ›å»ºåˆå¹¶åŽçš„单条记录
                        var item = [
                            '<span style="color:#FF4500; font-size:75px;">' + palletCode + '</span>',
                            //'<span style="color:#FF4500; font-size:55px;">' + orderNos + '</span>',
                            '<span style="color:#FF4500; font-size:75px;">' + firstItem.materielCode + '</span>',
                            '<span style="color:#FF4500; font-size:75px;">' + machineLastChar + '</span>',
                            '<span style="color:#FF4500; font-size:75px;">' + materialWide + '</span>',
                            '<span style="color:#FF4500; font-size:75px;;">' + originalQuantity + '</span>',
                            '<span style="color:#FF4500; font-size:75px;">' + parseInt(totalOrderQuantity) + '</span>',
                        ];
                        arr.push(item);
                    });
                    if (this.IsDetail) {
                        this.config = {
                            header: [
                            '<span style="font-size:63px;">纸卷条码</span>',
                            //'<span style="font-size:50px;">工单号</span>',
                            '<span style="font-size:63px;">代码</span>',
                            '<span style="font-size:63px;">上机位</span>',
                            '<span style="font-size:63px;">宽幅</span>',
                            '<span style="font-size:63px;">纸卷长</span>',
                            '<span style="font-size:63px;">需用纸长</span>'
                            ],
                            data: arr,
                            headerHeight: 60,
                            oddRowBGC: "rgba(0, 0, 0, 0.6)",
                            evenRowBGC: "rgba(0, 0, 0, 0.6)",
                            headerBGC: "rgba(0, 0, 0, 0.6)",
                            waitTime: 5000,
                            columnWidth: [500, 250, 250, 250, 250, 400],
                            rowNum: 10,
                            align: ["center", "center", "center", "center", "center", "center", "center"],
                        };
                    } else {
                        this.$refs["scrollBoard"].updateRows(arr)
                    }
                    if (this.IsDetail) {
                        this.timeRequest = setInterval(() => {
                            this.GetOrderDetail();
                        }, 10000);
                        this.IsDetail = false;
                    }
                }
            });
        }
    },
};
</script>
<style lang="scss">
@import "../assets/scss/index.scss";
</style>
<style lang="css" scoped>
.myhead {
    position: absolute;
    width: 100%;
    height: 100px;
    /* background-color: red; */
    top: 0;
    left: 0;
    z-index: 999;
    background-size: cover;
    background-position: center center;
}
.b-color {
    width: 1420px;
}
.boxOrderHeight {
    height: 40px;
    line-height: 40px;
    width: 400px;
    display: flex;
}
.body-box {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
}
.content-box {
    width: 100%;
}
.rows {
    display: flex;
    background-color: rgb(0, 0, 0);
    color: #fff;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
}
.cell {
    width: 160px;
    border-right: #fff 1px solid;
    text-align: center;
}
.bodys {
    display: flex;
    background-color: rgb(0, 59, 81);
    color: #fff;
    height: 32px;
    line-height: 40px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/index.vue
@@ -1,47 +1,33 @@
<template>
  <div id="index" ref="appRef">
    <div class="bg">
      <div class="myhead"></div>
      <dv-loading v-if="loading">Loading...</dv-loading>
      <div v-else class="host-body">
        <div class="d-flex jc-center" style="margin-top: 17px">
          <div class="d-flex jc-center">
            <div class="dv-dec-8"></div>
            <div class="title">
              <dv-decoration-11 class="title-text" style="
                  font-size: 75px;
                  color: #ffffff;
                  width: 600px;
                  height: 80px;
                  line-height: 80px;
                  margin-top: -30px;
                ">监 æŽ§ æ˜¾ ç¤º</dv-decoration-11>
            </div>
          </div>
        </div>
        <div class="react-right" style="margin-left: 1510px">
          <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
        </div>
        <div class="body-box">
    <div id="index" ref="appRef">
        <div class="bg">
            <div class="myhead"></div>
            <dv-loading v-if="loading">Loading...</dv-loading>
            <div v-else class="host-body">
          <div class="content-box">
            <div class="boxOrderHeight"
              style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
              <span style="
                <div class="react-right" style="margin-left: 1510px">
                    <span class="text" style="width: 400px">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
                </div>
                <div class="body-box">
                    <div class="content-box">
                        <div class="boxOrderHeight"
                            style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
                            <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
              <span style="
                            <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-size: 60px;
                    font-weight: bold;
                    color: #90EE90;
                  ">立库输送轨道原纸信息(共 å·ï¼‰</span>
              //时间
              <div style="position: absolute; right: 20px;">
                <p style="
                  ">立库输送轨道原纸信息(共{{showMsg}}卷)</span>
                            //时间
                            <div style="position: absolute; right: 20px;">
                                <p style="
                      display: inline-block;
                      font-size: 50px;
                      font-weight: bold;
@@ -49,39 +35,20 @@
                      margin: 0;
                      padding: 5px 15px;
                    ">{{ currentTime }}</p>
              </div>
                            </div>
                        </div>
                        <!-- å·¥å•信息模块 -->
                        <dv-border-box-8 :reverse="true"
                            style="width: 100%; height: 950px; margin-top: 5px; margin-left: auto; margin-right: auto;">
                            <dv-scroll-board :config="config" ref="scrollBoard"
                                style="width: 100%; height: 950px; padding: 5px" />
                        </dv-border-box-8>
                    </div>
                </div>
            </div>
            <!-- å·¥å•信息模块 -->
            <dv-border-box-8 :reverse="true"
              style="width: 100%; height: 415px; margin-top: 5px; margin-left: auto; margin-right: auto;">
              <dv-scroll-board :config="config" ref="scrollBoard" style="width: 100%; height: 415px; padding: 5px" />
            </dv-border-box-8>
          </div>
          <div class="content-box">
            <div class="boxOrderHeight" style="margin-left: 0px; display: flex; align-items: center; position: relative; width: 100%;">
              <span style="
                    width: 5px;
                    height: 40px;
                    background-color: #FF4500;
                    display: block;
                  "></span>
              <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-weight: bold;
                    color: #90EE90;
                  ">排除出库原纸信息(共 å·ï¼‰</span>
            </div>
            <!-- å·¥å•信息模块 -->
            <dv-border-box-8 :reverse="true"
              style="width: 100%; height: 415px; margin-top: 5px; margin-left: auto; margin-right: auto;">
              <dv-scroll-board :config="config" ref="scrollBoard" style="width: 100%; height: 415px; padding: 5px;" />
            </dv-border-box-8>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
@@ -93,178 +60,206 @@
// import{GetDateForLED} from "@/api/http.js"
export default {
  mixins: [drawMixin],
  data() {
    return {
      timing: null,
      loading: true,
      dateDay: null,
      dateYear: null,
      dateWeek: null,
      currentTime: '',
      weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
      config: {
        header: [
          '<span style="font-size:50px;">纸卷条码</span>',
          '<span style="font-size:50px;">工单号</span>',
          '<span style="font-size:50px;">代码</span>',
          '<span style="font-size:50px;">上机位</span>',
          '<span style="font-size:50px;">宽幅</span>',
          '<span style="font-size:50px;">纸卷长</span>',
          '<span style="font-size:50px;">需用纸长</span>'
        ],
        data: [
          [
            '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">1</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
           '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">2</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
           '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">3</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
            '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">4</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
          [
           '<span style="color:#FF4500; font-size:75px;">705010</span>',
            '<span style="color:#FF4500; font-size:75px;">015004</span>',
            '<span style="color:#FF4500; font-size:75px;">X2</span>',
            '<span style="color:#FF4500; font-size:75px;">5</span>',
            '<span style="color:#FF4500; font-size:75px;">1200</span>',
            '<span style="color:#FF4500; font-size:75px;;">4798</span>',
            '<span style="color:#FF4500; font-size:75px;">180</span>',
          ],
        ],
        headerHeight: 60,
        oddRowBGC: "rgba(0, 0, 0, 0.6)",
        evenRowBGC: "rgba(0, 0, 0, 0.6)",
        headerBGC: "rgba(0, 0, 0, 0.6)",
        waitTime: 5000,
        columnWidth: [350, 350, 200, 200, 250, 250, 350],
        rowNum: 4,
        align: ["center", "center", "center", "center", "center", "center", "center"],
      },
      IsDetail: true,
      OrderCreator: {},
    };
  },
  components: {
    centerView1,
    bottomView1,
  },
  mounted() {
    this.updateTime(); // åˆå§‹åŒ–æ—¶é—´
    this.timing = setInterval(() => {
      this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
    }, 1000);
    this.cancelLoading();
    // this.GetOrderDetail();
  },
  beforeDestroy() {
    clearInterval(this.timing);
  },
  methods: {
    // æ›´æ–°åŒ—京时间
    updateTime() {
      const now = new Date();
      const year = now.getFullYear();
      const month = String(now.getMonth() + 1).padStart(2, '0');
      const day = String(now.getDate()).padStart(2, '0');
      const hours = String(now.getHours()).padStart(2, '0');
      const minutes = String(now.getMinutes()).padStart(2, '0');
      const seconds = String(now.getSeconds()).padStart(2, '0');
      const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
      const weekday = weekdays[now.getDay()];
    mixins: [drawMixin],
    data() {
        return {
            timing: null,
            timeRequest: null,
            loading: true,
            dateDay: null,
            dateYear: null,
            dateWeek: null,
            currentTime: '',
            weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
            config: {
                header: [
                    '<span style="font-size:50px;">纸卷条码</span>',
                    '<span style="font-size:50px;">工单号</span>',
                    '<span style="font-size:50px;">代码</span>',
                    '<span style="font-size:50px;">上机位</span>',
                    '<span style="font-size:50px;">宽幅</span>',
                    '<span style="font-size:50px;">纸卷长</span>',
                    '<span style="font-size:50px;">需用纸长</span>'
                ],
                data: [
                    [
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">015004</span>',
                        '<span style="color:#FF4500; font-size:60px;">X2</span>',
                        '<span style="color:#FF4500; font-size:60px;">1</span>',
                        '<span style="color:#FF4500; font-size:60px;">1200</span>',
                        '<span style="color:#FF4500; font-size:60px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">015004</span>',
                        '<span style="color:#FF4500; font-size:60px;">X2</span>',
                        '<span style="color:#FF4500; font-size:60px;">2</span>',
                        '<span style="color:#FF4500; font-size:60px;">1200</span>',
                        '<span style="color:#FF4500; font-size:60px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                    ],
                ],
                headerHeight: 60,
                oddRowBGC: "rgba(0, 0, 0, 0.6)",
                evenRowBGC: "rgba(0, 0, 0, 0.6)",
                headerBGC: "rgba(0, 0, 0, 0.6)",
                waitTime: 5000,
                columnWidth: [380, 380, 180, 200, 200, 250, 250],
                rowNum: 10,
                align: ["center", "center", "center", "center", "center", "center", "center"],
            },
            IsDetail: true,
            showMsg:""
        };
    },
    components: {
        centerView1,
        bottomView1,
    },
    mounted() {
        this.updateTime(); // åˆå§‹åŒ–æ—¶é—´
        this.timing = setInterval(() => {
            this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
        }, 1000);
        this.cancelLoading();
        this.GetOrderDetail();
    },
    beforeDestroy() {
        clearInterval(this.timing);
        clearInterval(this.timeRequest);
    },
    methods: {
        // æ›´æ–°åŒ—京时间
        updateTime() {
            const now = new Date();
            const year = now.getFullYear();
            const month = String(now.getMonth() + 1).padStart(2, '0');
            const day = String(now.getDate()).padStart(2, '0');
            const hours = String(now.getHours()).padStart(2, '0');
            const minutes = String(now.getMinutes()).padStart(2, '0');
            const seconds = String(now.getSeconds()).padStart(2, '0');
            const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
            const weekday = weekdays[now.getDay()];
      this.currentTime = `${year}-${month}-${day} ${weekday} ${hours}:${minutes}:${seconds}`;
    },
    //刷新时间
    timeFn() {
      this.timing = setInterval(() => {
        axios.post("/api/dt_WorkOrder/GetCurrentTime", null, "").then((x) => {
          if (x.data.status) {
            var data = x.data.data;
            this.dateDay = formatTime(data, "HH: mm: ss");
            this.dateYear = formatTime(data, "yyyy-MM-dd");
          }
        });
      }, 1000);
    },
    cancelLoading() {
      setTimeout(() => {
        this.loading = false;
      }, 1000);
    },
    GetOrderDetail() {
      axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
        if (res.data.status) {
          if (res.data.data == null) {
            return;
          }
          var sp = '</span>';
          var arr = [];
          res.data.data.dt_WorkOrderDetail.forEach((x) => {
            var item = [
              '<span style="color:#67e0e3;">' + x.layer + '层' + sp,
              '<span style="color:#9fe6b8;">' + (x.lj_hight == null ? '无需测量' : x.lj_hight + 'mm') + sp,
              '<span style="color:#fb7503;">' + (x.measure_hight == null ? '无需测量' : x.measure_hight + 'mm') + sp,
              '<span style="color:#fb7503;">' + x.lj_is_tolerance + sp,
            ];
            arr.push(item);
          });
          this.OrderCreator = res.data.data;
          if (this.IsDetail) {
            this.config = {
              header: [
                '<span style="font-size:18px;">层数</span>',
                '<span style="font-size:18px;">累计标准饼厚</span>',
                '<span style="font-size:18px;">累计饼厚</span>',
                '<span style="font-size:18px;">测高结果</span>'
              ],
              data: arr,
              waitTime: 10000,
              rowNum: 15,
              columnWidth: [75, 150, 110, 110],
              align: ["center", "center", "center", "center"]
            };
          } else {
            this.$refs["scrollBoard"].updateRows(arr)
          }
          if (this.IsDetail) {
            setInterval(() => {
              this.GetOrderDetail();
            }, 10000);
            this.IsDetail = false;
          }
            this.currentTime = `${year}-${month}-${day} ${weekday} ${hours}:${minutes}:${seconds}`;
        },
        //刷新时间
        timeFn() {
            this.timing = setInterval(() => {
                axios.post("/api/dt_WorkOrder/GetCurrentTime", null, "").then((x) => {
                    if (x.data.status) {
                        var data = x.data.data;
                        this.dateDay = formatTime(data, "HH: mm: ss");
                        this.dateYear = formatTime(data, "yyyy-MM-dd");
                    }
                });
            }, 1000);
        },
        cancelLoading() {
            setTimeout(() => {
                this.loading = false;
            }, 1000);
        },
        GetOrderDetail() {
            axios.post("/api/OutLineView/GetOutLineView", null, "").then((res) => {
                if (res.data.status) {
                    if (res.data.data == null) {
                        return;
                    }
                    this.showMsg=res.data.message
                    // 1. æŒ‰çº¸å·æ¡ç åˆ†ç»„
                    const groupedData = {};
                    res.data.data.forEach((x) => {
                        if (!groupedData[x.palletCode]) {
                            groupedData[x.palletCode] = [];
                        }
                        groupedData[x.palletCode].push(x);
                    });
                    // 2. å¤„理数据:将每组相同纸卷条码的记录合并为一条
                    var arr = [];
                    Object.keys(groupedData).forEach((palletCode) => {
                        const group = groupedData[palletCode];
                        if (group.length === 0) return;
                        // å–第一条记录的基本信息
                        const firstItem = group[0];
                        let totalOrderQuantity = 0;
                        // ç»Ÿè®¡æŒ‰çº¸å·æ¡ç åŽ»é‡åŽçš„åˆå¹¶å·æ•°
                        const uniquePalletCodes = new Set();
                        res.data.data.forEach((item) => {
                            if (item.palletCode) {
                                uniquePalletCodes.add(item.palletCode);
                            }
                        });
                        this.showMsg = uniquePalletCodes.size;
                        // ç›´æŽ¥å¤„理每条记录,不进行分组
                        group.forEach((item) => {
                            totalOrderQuantity += parseFloat(item.orderQuantity) || 0;
                        });
                        // å¤„理上机位:只显示最后一位
                        const machineName = firstItem.machineName;
                        const machineLastChar = machineName ? machineName.slice(-3) : '';
                        // å¤„理数值:去除小数点
                        const materialWide = parseInt(firstItem.materialWide) || 0;
                        const originalQuantity = parseInt(firstItem.originalQuantity) || 0;
                        // åˆå¹¶å·¥å•号:用逗号分隔显示所有工单号
                        const orderNos = group.map(item => item.orderNo).join(', ');
                        // åˆ›å»ºåˆå¹¶åŽçš„单条记录
                        var item = [
                            '<span style="color:#FF4500; font-size:85px;">' + palletCode + '</span>',
                            //'<span style="color:#FF4500; font-size:55px;">' + orderNos + '</span>',
                            '<span style="color:#FF4500; font-size:85px;">' + firstItem.materielCode + '</span>',
                            '<span style="color:#FF4500; font-size:85px;">' + machineLastChar + '</span>',
                            '<span style="color:#FF4500; font-size:85px;">' + materialWide + '</span>',
                            '<span style="color:#FF4500; font-size:85px;;">' + originalQuantity + '</span>',
                            '<span style="color:#FF4500; font-size:85px;">' + parseInt(totalOrderQuantity) + '</span>',
                        ];
                        arr.push(item);
                    });
                    if (this.IsDetail) {
                        this.config = {
                            header: [
                            '<span style="font-size:63px;">纸卷条码</span>',
                            //'<span style="font-size:50px;">工单号</span>',
                            '<span style="font-size:63px;">代码</span>',
                            '<span style="font-size:63px;">上机位</span>',
                            '<span style="font-size:63px;">宽幅</span>',
                            '<span style="font-size:63px;">纸卷长</span>',
                            '<span style="font-size:63px;">需用纸长</span>'
                            ],
                            data: arr,
                            headerHeight: 60,
                            oddRowBGC: "rgba(0, 0, 0, 0.6)",
                            evenRowBGC: "rgba(0, 0, 0, 0.6)",
                            headerBGC: "rgba(0, 0, 0, 0.6)",
                            waitTime: 5000,
                            columnWidth: [550, 200, 250, 250, 250, 300],
                            rowNum: 10,
                            align: ["center", "center", "center", "center", "center", "center", "center"],
                        };
                    } else {
                        this.$refs["scrollBoard"].updateRows(arr)
                    }
                    if (this.IsDetail) {
                        this.timeRequest = setInterval(() => {
                            this.GetOrderDetail();
                        }, 10000);
                        this.IsDetail = false;
                    }
                }
            });
        }
      });
    }
  },
    },
};
</script>
@@ -274,60 +269,59 @@
<style lang="css" scoped>
.myhead {
  position: absolute;
  width: 100%;
  height: 100px;
  /* background-color: red; */
  top: 0;
  left: 0;
  z-index: 999;
  background-image: url("../assets/head_bg1.png");
  background-size: cover;
  background-position: center center;
    position: absolute;
    width: 100%;
    height: 100px;
    /* background-color: red; */
    top: 0;
    left: 0;
    z-index: 999;
    background-size: cover;
    background-position: center center;
}
.b-color {
  width: 1420px;
    width: 1420px;
}
.boxOrderHeight {
  height: 40px;
  line-height: 40px;
  width: 400px;
  display: flex;
    height: 40px;
    line-height: 40px;
    width: 400px;
    display: flex;
}
.body-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
}
.content-box {
  width: 100%;
    width: 100%;
}
.rows {
  display: flex;
  background-color: rgb(0, 0, 0);
  color: #fff;
  height: 30px;
  line-height: 30px;
  font-size: 18px;
    display: flex;
    background-color: rgb(0, 0, 0);
    color: #fff;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
}
.cell {
  width: 160px;
  border-right: #fff 1px solid;
  text-align: center;
    width: 160px;
    border-right: #fff 1px solid;
    text-align: center;
}
.bodys {
  display: flex;
  background-color: rgb(0, 59, 81);
  color: #fff;
  height: 32px;
  line-height: 40px;
    display: flex;
    background-color: rgb(0, 59, 81);
    color: #fff;
    height: 32px;
    line-height: 40px;
}
</style>
ÏîÄ¿´úÂë/BigScreen/src/views/indexLine.vue
@@ -21,10 +21,10 @@
                  "></span>
                            <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-size: 55px;
                    font-weight: bold;
                    color: #90EE90;
                  ">立库输送轨道原纸信息(共{{showMsg}}卷)</span>
                  ">产线信息看板</span>
                            //时间
                            <div style="position: absolute; right: 20px;">
                                <p style="
@@ -73,32 +73,44 @@
            weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
            config: {
                header: [
                    '<span style="font-size:50px;">纸卷条码</span>',
                    '<span style="font-size:50px;">工单号</span>',
                    '<span style="font-size:50px;">代码</span>',
                    '<span style="font-size:50px;">上机位</span>',
                    '<span style="font-size:50px;">宽幅</span>',
                    '<span style="font-size:50px;">纸卷长</span>',
                    '<span style="font-size:50px;">需用纸长</span>'
                    '<span style="font-size:50px;">系统顺序</span>',
                    '<span style="font-size:50px;">机位</span>',
                    '<span style="font-size:50px;">用纸顺序</span>',
                    '<span style="font-size:50px;">纸种</span>',
                    '<span style="font-size:50px;">门幅</span>',
                    '<span style="font-size:50px;">纸卷号</span>',
                    '<span style="font-size:50px;">长度(m)</span>',
                    '<span style="font-size:50px;">计划用纸(m)</span>',
                    '<span style="font-size:50px;">存放库区</span>',
                    '<span style="font-size:50px;">配送状态</span>',
                    '<span style="font-size:50px;">备注</span>'
                ],
                data: [
                    [
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">015004</span>',
                        '<span style="color:#FF4500; font-size:60px;">X2</span>',
                        '<span style="color:#FF4500; font-size:60px;">1</span>',
                        '<span style="color:#FF4500; font-size:60px;">1200</span>',
                        '<span style="color:#FF4500; font-size:60px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                        '<span style="color:#FF4500; font-size:85px;">15</span>',
                        '<span style="color:#FF4500; font-size:85px;">1号</span>',
                        '<span style="color:#FF4500; font-size:85px;">1</span>',
                        '<span style="color:#FF4500; font-size:85px;">W3</span>',
                        '<span style="color:#FF4500; font-size:85px;">2250</span>',
                        '<span style="color:#FF4500; font-size:85px;">705010</span>',
                        '<span style="color:#FF4500; font-size:85px;">4798</span>',
                        '<span style="color:#FF4500; font-size:85px;">180</span>',
                        '<span style="color:#FF4500; font-size:85px;">产前周转区</span>',
                        '<span style="color:#FF4500; font-size:85px;">未配送</span>',
                        '<span style="color:#FF4500; font-size:85px;">已上机未领用/领用不显示</span>'
                    ],
                    [
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">015004</span>',
                        '<span style="color:#FF4500; font-size:60px;">X2</span>',
                        '<span style="color:#FF4500; font-size:60px;">2</span>',
                        '<span style="color:#FF4500; font-size:60px;">1200</span>',
                        '<span style="color:#FF4500; font-size:60px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                        '<span style="color:#FF4500; font-size:85px;">15</span>',
                        '<span style="color:#FF4500; font-size:85px;">3号</span>',
                        '<span style="color:#FF4500; font-size:85px;">1</span>',
                        '<span style="color:#FF4500; font-size:85px;">I1</span>',
                        '<span style="color:#FF4500; font-size:85px;">2250</span>',
                        '<span style="color:#FF4500; font-size:85px;">705011</span>',
                        '<span style="color:#FF4500; font-size:85px;">4798</span>',
                        '<span style="color:#FF4500; font-size:85px;">180</span>',
                        '<span style="color:#FF4500; font-size:85px;">产前周转区</span>',
                        '<span style="color:#FF4500; font-size:85px;">已配送</span>',
                        '<span style="color:#FF4500; font-size:85px;">已上机未领用/领用不显示</span>'
                    ],
                ],
                headerHeight: 60,
@@ -106,9 +118,9 @@
                evenRowBGC: "rgba(0, 0, 0, 0.6)",
                headerBGC: "rgba(0, 0, 0, 0.6)",
                waitTime: 5000,
                columnWidth: [380, 380, 180, 200, 200, 250, 250],
                columnWidth: [100, 100, 100, 100, 100, 200, 150, 150, 150, 150, 250],
                rowNum: 10,
                align: ["center", "center", "center", "center", "center", "center", "center"],
                align: ["center", "center", "center", "center", "center", "center", "center", "center", "center", "center", "center"],
            },
            IsDetail: true,
            showMsg:""
@@ -169,29 +181,70 @@
                        return;
                    }
                    this.showMsg=res.data.message
                    var arr = [];
                    res.data.data.forEach((x) => {
                        var item = [
                                '<span style="color:#FF4500; font-size:55px;">'+x.palletCode+'</span>',
                                '<span style="color:#FF4500; font-size:55px;">'+x.orderNo+'</span>',
                                '<span style="color:#FF4500; font-size:55px;">'+x.materielCode+'</span>',
                                '<span style="color:#FF4500; font-size:55px;">'+x.machineName+'</span>',
                                '<span style="color:#FF4500; font-size:55px;">'+x.materialWide+'</span>',
                                '<span style="color:#FF4500; font-size:55px;;">'+x.originalQuantity+'</span>',
                                '<span style="color:#FF4500; font-size:55px;">'+x.orderQuantity+'</span>',
                        ];
                        arr.push(item);
                    // 1. æŒ‰çº¸å·å·åˆ†ç»„数据
                    const groupedData = {};
                    res.data.data.forEach((item) => {
                        const palletCode = item.palletCode || '';
                        if (!groupedData[palletCode]) {
                            groupedData[palletCode] = [];
                        }
                        groupedData[palletCode].push(item);
                    });
                    // 2. å¤„理分组后的数据:合并计划用纸
                    var arr = [];
                    Object.keys(groupedData).forEach((palletCode, index) => {
                        const group = groupedData[palletCode];
                        // å–第一条数据作为基础数据
                        const firstItem = group[0];
                        // è®¡ç®—计划用纸总和
                        let totalOrderQuantity = 0;
                        group.forEach((item) => {
                            totalOrderQuantity += parseInt(item.orderQuantity) || 0;
                        });
                        // å¤„理其他数值
                        const originalQuantity = parseInt(firstItem.originalQuantity) || 0;
                        const materialWide = parseInt(firstItem.materialWide) || 0;
                        // æ˜ å°„字段到新的表格结构
                        var tableRow = [
                            // åºå·ï¼ˆä»Ž1开始递增)
                            '<span style="color:#FF4500; font-size:85px;">' + (index + 1) + '</span>',
                            // æœºä½
                            '<span style="color:#FF4500; font-size:85px;">' + (firstItem.machineName || '') + '</span>',
                            // çº¸ç§
                            '<span style="color:#FF4500; font-size:85px;">' + (firstItem.materielCode || '') + '</span>',
                            // é—¨å¹…
                            '<span style="color:#FF4500; font-size:85px;">' + materialWide + '</span>',
                            // çº¸å·å· - å°†3-6位连续字母转换为*
                            '<span style="color:#FF4500; font-size:85px;">' + ((firstItem.palletCode || '').replace(/[A-Za-z]{3,6}/g, function(match) {
                                return '*'.repeat(match.length);
                            })) + '</span>',
                            // é•¿åº¦(m)
                            '<span style="color:#FF4500; font-size:85px;">' + originalQuantity + '</span>',
                            // è®¡åˆ’用纸(m) - åˆå¹¶åŽçš„值
                            // '<span style="color:#FF4500; font-size:85px;">' + totalOrderQuantity + '</span>',
                            // å­˜æ”¾åº“区
                            '<span style="color:#FF4500; font-size:85px;">' + ('老厂') + '</span>',
                        ];
                        arr.push(tableRow);
                    });
                    if (this.IsDetail) {
                        this.config = {
                            header: [
                            '<span style="font-size:50px;">纸卷条码</span>',
                            '<span style="font-size:50px;">工单号</span>',
                            '<span style="font-size:50px;">代码</span>',
                            '<span style="font-size:50px;">上机位</span>',
                            '<span style="font-size:50px;">宽幅</span>',
                            '<span style="font-size:50px;">纸卷长</span>',
                            '<span style="font-size:50px;">需用纸长</span>'
                                '<span style="font-size:50px;">序号</span>',
                                '<span style="font-size:50px;">机位</span>',
                                '<span style="font-size:50px;">纸种</span>',
                                '<span style="font-size:50px;">门幅</span>',
                                '<span style="font-size:50px;">纸卷号</span>',
                                '<span style="font-size:50px;">米长</span>',
                                // '<span style="font-size:50px;">排程长</span>',
                                '<span style="font-size:50px;">存放区</span>',
                            ],
                            data: arr,
                            headerHeight: 60,
@@ -199,13 +252,14 @@
                            evenRowBGC: "rgba(0, 0, 0, 0.6)",
                            headerBGC: "rgba(0, 0, 0, 0.6)",
                            waitTime: 5000,
                            columnWidth: [380, 380, 180, 200, 200, 250, 250],
                            columnWidth: [135, 270, 200, 240, 460, 220, 260],
                            rowNum: 10,
                            align: ["center", "center", "center", "center", "center", "center", "center"],
                            align: ["center", "center", "center", "center", "center", "center", "center", "center", "center"],
                        };
                    } else {
                        this.$refs["scrollBoard"].updateRows(arr)
                    }
                    if (this.IsDetail) {
                        this.timeRequest = setInterval(() => {
                            this.GetOrderDetail();
@@ -262,13 +316,13 @@
    display: flex;
    background-color: rgb(0, 0, 0);
    color: #fff;
    height: 30px;
    line-height: 30px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
}
.cell {
    width: 160px;
    width: 185px;
    border-right: #fff 1px solid;
    text-align: center;
}
ÏîÄ¿´úÂë/BigScreen/src/views/indexPick.vue
@@ -21,15 +21,15 @@
                  "></span>
                            <span style="
                    padding-left: 15px;
                    font-size: 50px;
                    font-size: 60px;
                    font-weight: bold;
                    color: #90EE90;
                  ">排除出库原纸信息(共 å·ï¼‰</span>
                  ">抱纸指引看板</span>
                            //时间
                            <div style="position: absolute; right: 20px;">
                                <p style="
                      display: inline-block;
                      font-size: 50px;
                      font-size: 35px;
                      font-weight: bold;
                      color: #f7b500;
                      margin: 0;
@@ -64,6 +64,7 @@
    data() {
        return {
            timing: null,
            timeRequest: null,
            loading: true,
            dateDay: null,
            dateYear: null,
@@ -72,149 +73,44 @@
            weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
            config: {
                header: [
                    '<span style="font-size:50px;">纸卷条码</span>',
                    '<span style="font-size:50px;">工单号</span>',
                    '<span style="font-size:50px;">代码</span>',
                    '<span style="font-size:50px;">上机位</span>',
                    '<span style="font-size:50px;">宽幅</span>',
                    '<span style="font-size:50px;">纸卷长</span>',
                    '<span style="font-size:50px;">需用纸长</span>'
                    '<span style="font-size:35px;">系统顺序</span>',
                    '<span style="font-size:35px;">机位</span>',
                    '<span style="font-size:35px;">用纸顺序</span>',
                    '<span style="font-size:35px;">纸种</span>',
                    '<span style="font-size:35px;">门幅</span>',
                    '<span style="font-size:35px;">纸卷号</span>',
                    '<span style="font-size:35px;">长度(m)</span>',
                    '<span style="font-size:35px;">计划用纸(m)</span>',
                    '<span style="font-size:35px;">存放库区</span>',
                    '<span style="font-size:35px;">配送状态</span>',
                    '<span style="font-size:35px;">备注</span>'
                ],
                data: [
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">1</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                        '<span style="color:#FF4500; font-size:60px;">15</span>',
                        '<span style="color:#FF4500; font-size:60px;">1号</span>',
                        '<span style="color:#FF4500; font-size:60px;">1</span>',
                        '<span style="color:#FF4500; font-size:60px;">W3</span>',
                        '<span style="color:#FF4500; font-size:60px;">2250</span>',
                        '<span style="color:#FF4500; font-size:60px;">705010</span>',
                        '<span style="color:#FF4500; font-size:60px;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                        '<span style="color:#FF4500; font-size:60px;">产前周转区</span>',
                        '<span style="color:#FF4500; font-size:60px;">未配送</span>',
                        '<span style="color:#FF4500; font-size:60px;">已上机未领用/领用不显示</span>'
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">2</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">3</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">4</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">5</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">6</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">7</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">8</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">9</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">10</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">11</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">12</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">13</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">14</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                    ],
                    [
                        '<span style="color:#FF4500; font-size:75px;">705010</span>',
                        '<span style="color:#FF4500; font-size:75px;">015004</span>',
                        '<span style="color:#FF4500; font-size:75px;">X2</span>',
                        '<span style="color:#FF4500; font-size:75px;">15</span>',
                        '<span style="color:#FF4500; font-size:75px;">1200</span>',
                        '<span style="color:#FF4500; font-size:75px;;">4798</span>',
                        '<span style="color:#FF4500; font-size:75px;">180</span>',
                        '<span style="color:#FF4500; font-size:60px;">15</span>',
                        '<span style="color:#FF4500; font-size:60px;">3号</span>',
                        '<span style="color:#FF4500; font-size:60px;">1</span>',
                        '<span style="color:#FF4500; font-size:60px;">I1</span>',
                        '<span style="color:#FF4500; font-size:60px;">2250</span>',
                        '<span style="color:#FF4500; font-size:60px;">705011</span>',
                        '<span style="color:#FF4500; font-size:60px;">4798</span>',
                        '<span style="color:#FF4500; font-size:60px;">180</span>',
                        '<span style="color:#FF4500; font-size:60px;">产前周转区</span>',
                        '<span style="color:#FF4500; font-size:60px;">已配送</span>',
                        '<span style="color:#FF4500; font-size:60px;">已上机未领用/领用不显示</span>'
                    ],
                ],
                headerHeight: 60,
@@ -222,12 +118,12 @@
                evenRowBGC: "rgba(0, 0, 0, 0.6)",
                headerBGC: "rgba(0, 0, 0, 0.6)",
                waitTime: 5000,
                columnWidth: [350, 350, 200, 200, 250, 250, 350],
                columnWidth: [100, 100, 100, 100, 100, 200, 150, 150, 150, 150, 250],
                rowNum: 10,
                align: ["center", "center", "center", "center", "center", "center", "center"],
                align: ["center", "center", "center", "center", "center", "center", "center", "center", "center", "center", "center"],
            },
            IsDetail: true,
            OrderCreator: {},
            showMsg:""
        };
    },
    components: {
@@ -240,10 +136,11 @@
            this.updateTime(); // æ¯ç§’æ›´æ–°æ—¶é—´
        }, 1000);
        this.cancelLoading();
        // this.GetOrderDetail();
        this.GetOrderDetail();
    },
    beforeDestroy() {
        clearInterval(this.timing);
        clearInterval(this.timeRequest);
    },
    methods: {
        // æ›´æ–°åŒ—京时间
@@ -278,42 +175,97 @@
            }, 1000);
        },
        GetOrderDetail() {
            axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
            axios.post("/api/OutLineView/GetOutLineView", null, "").then((res) => {
                if (res.data.status) {
                    if (res.data.data == null) {
                        return;
                    }
                    var sp = '</span>';
                    var arr = [];
                    res.data.data.dt_WorkOrderDetail.forEach((x) => {
                        var item = [
                            '<span style="color:#67e0e3;">' + x.layer + '层' + sp,
                            '<span style="color:#9fe6b8;">' + (x.lj_hight == null ? '无需测量' : x.lj_hight + 'mm') + sp,
                            '<span style="color:#fb7503;">' + (x.measure_hight == null ? '无需测量' : x.measure_hight + 'mm') + sp,
                            '<span style="color:#fb7503;">' + x.lj_is_tolerance + sp,
                        ];
                        arr.push(item);
                    this.showMsg=res.data.message
                    // 1. æŒ‰çº¸å·å·åˆ†ç»„数据
                    const groupedData = {};
                    res.data.data.forEach((item) => {
                        const palletCode = item.palletCode || '';
                        if (!groupedData[palletCode]) {
                            groupedData[palletCode] = [];
                        }
                        groupedData[palletCode].push(item);
                    });
                    this.OrderCreator = res.data.data;
                    // 2. å¤„理分组后的数据:合并计划用纸
                    var arr = [];
                    Object.keys(groupedData).forEach((palletCode, index) => {
                        const group = groupedData[palletCode];
                        // å–第一条数据作为基础数据
                        const firstItem = group[0];
                        // è®¡ç®—计划用纸总和
                        let totalOrderQuantity = 0;
                        group.forEach((item) => {
                            totalOrderQuantity += parseInt(item.orderQuantity) || 0;
                        });
                        // å¤„理其他数值
                        const originalQuantity = parseInt(firstItem.originalQuantity) || 0;
                        const materialWide = parseInt(firstItem.materialWide) || 0;
                        // æ˜ å°„字段到新的表格结构
                        var tableRow = [
                            // åºå·ï¼ˆä»Ž1开始递增)
                            '<span style="color:#FF4500; font-size:35px;">' + (index + 1) + '</span>',
                            // æœºä½
                            '<span style="color:#FF4500; font-size:35px;">' + (firstItem.machineName || '') + '</span>',
                            // é¡ºåº
                            //'<span style="color:#FF4500; font-size:35px;">' + (firstItem.paperUseOrder || '') + '</span>',
                            // çº¸ç§
                            '<span style="color:#FF4500; font-size:35px;">' + (firstItem.materielCode || '') + '</span>',
                            // é—¨å¹…
                            '<span style="color:#FF4500; font-size:35px;">' + materialWide + '</span>',
                            // çº¸å·å·
                            '<span style="color:#FF4500; font-size:35px;">' + (firstItem.palletCode || '') + '</span>',
                            // é•¿åº¦(m)
                            '<span style="color:#FF4500; font-size:35px;">' + originalQuantity + '</span>',
                            // è®¡åˆ’用纸(m) - åˆå¹¶åŽçš„值
                            '<span style="color:#FF4500; font-size:35px;">' + totalOrderQuantity + '</span>',
                            // å­˜æ”¾åº“区
                            '<span style="color:#FF4500; font-size:35px;">' + ('老厂暂存区') + '</span>',
                            // é…é€çŠ¶æ€
                            '<span style="color:#FF4500; font-size:35px;">' + ('未配送') + '</span>',
                        ];
                        arr.push(tableRow);
                    });
                    if (this.IsDetail) {
                        this.config = {
                            header: [
                                '<span style="font-size:18px;">层数</span>',
                                '<span style="font-size:18px;">累计标准饼厚</span>',
                                '<span style="font-size:18px;">累计饼厚</span>',
                                '<span style="font-size:18px;">测高结果</span>'
                                '<span style="font-size:30px;">序号</span>',
                                '<span style="font-size:30px;">机位</span>',
                                // '<span style="font-size:30px;">顺序</span>',
                                '<span style="font-size:30px;">纸种</span>',
                                '<span style="font-size:30px;">门幅</span>',
                                '<span style="font-size:30px;">纸卷号</span>',
                                '<span style="font-size:30px;">长度(m)</span>',
                                '<span style="font-size:30px;">计划用纸(m)</span>',
                                '<span style="font-size:30px;">存放库区</span>',
                                '<span style="font-size:30px;">配送状态</span>',
                            ],
                            data: arr,
                            waitTime: 10000,
                            rowNum: 15,
                            columnWidth: [75, 150, 110, 110],
                            align: ["center", "center", "center", "center"]
                            headerHeight: 60,
                            oddRowBGC: "rgba(0, 0, 0, 0.6)",
                            evenRowBGC: "rgba(0, 0, 0, 0.6)",
                            headerBGC: "rgba(0, 0, 0, 0.6)",
                            waitTime: 5000,
                            columnWidth: [100, 150, 150, 200, 250, 200, 250, 250, 150, 200],
                            rowNum: 10,
                            align: ["center", "center", "center", "center", "center", "center", "center", "center", "center", "center"],
                        };
                    } else {
                        this.$refs["scrollBoard"].updateRows(arr)
                    }
                    if (this.IsDetail) {
                        setInterval(() => {
                        this.timeRequest = setInterval(() => {
                            this.GetOrderDetail();
                        }, 10000);
                        this.IsDetail = false;