zhoushihao
2024-04-28 48be263891d34bfac0417c1e8d047fef673f0900
Merge branch 'security_20240424'

# Conflicts:
# UI-Project/config.js
# UI-Project/src/views/Slicecage/slicecage.vue
# UI-Project/vite.config.js
# hangzhoumesParent/common/pom.xml
# hangzhoumesParent/gateway/src/main/resources/application.yml
# hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
# hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
# hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
# hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
# hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
# hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
# hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
# hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
# hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
# hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
9个文件已修改
1558 ■■■■■ 已修改文件
UI-Project/config.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 1330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/vite.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/pom.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/pom.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java 176 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/config.js
@@ -1,9 +1,6 @@
export default {
  // serverUrl: "127.0.0.1:88/api",
  serverUrl: "10.153.19.150:88/api",
  serverUrl: "127.0.0.1:88/api",
  //serverUrl: "localhost:88/api/",
  serverUrl2: "10.153.19.150:88"
  //serverUrl:"res.abeim.cn"
}
}
UI-Project/src/views/Slicecage/slicecage.vue
@@ -1,37 +1,27 @@
<script lang="ts" setup>
import {Search} from "@element-plus/icons-vue";
import {reactive} from "vue";
import {useRouter} from "vue-router"
import {reactive, ref} from 'vue'
import {useRouter} from 'vue-router'
import {ElMessage, ElMessageBox} from 'element-plus'
const router = useRouter()
import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { tr } from "element-plus/es/locale";
const dialogFormVisible = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
const carposition1 = ref(60);
const carposition2 = ref(220);
const carposition3 = ref(60);
const carposition4 = ref(260);
const timers1 =ref(true);
const timers2 =ref(true);
const timers3 =ref(true);
const timers4 =ref(true);
const cellshow=ref(false);
const cellshow5=ref(false);
const c1=ref(false);
const c2=ref(false);
const cellshow1=ref(true);
const cellshow2=ref(true);
const cellshow3=ref(true);
const cellshow4=ref(true);
const million=ref(0);
const million1=ref(0);
const million3=ref(0);
const million4=ref(0);
const carposition1 = ref(40)
const carposition2 = ref(200)
const timers1 = ref(true)
const timers2 = ref(true)
const cellshow = ref(false)
const cellshow1 = ref(true)
const cellshow2 = ref(true)
const million = ref(0)
const million1 = ref(0)
const loading = null
const handleSelectionChange = null
const currentPage4 = ref(4)
const pageSize4 = ref(100)
const tableData = [
@@ -56,320 +46,338 @@
    e: '1',
    f: '100*100',
    g: '',
  }
  },
]
const dialogForm = () => {
  ElMessageBox.confirm(
    '确定要急停吗?',
    '提示',
    {
      confirmButtonText: '是',
      cancelButtonText: '否',
      type: 'warning',
    }
  )
    .then(() => {
      ElMessage({
        type: 'success',
        message: '急停成功!',
  ElMessageBox.confirm('确定要急停吗?', '提示', {
    confirmButtonText: '是',
    cancelButtonText: '否',
    type: 'warning',
  })
      .then(() => {
        ElMessage({
          type: 'success',
          message: '急停成功!',
        })
      })
    })
    .catch(() => {
      ElMessage({
        type: 'info',
        message: '急停失败',
      .catch(() => {
        ElMessage({
          type: 'info',
          message: '急停失败',
      })
    })
}
  var timer=setInterval(() => {
    console.log(million.value,million1.value);
    million.value+=1;
    if(million.value-million1.value!==12){
      if(million.value-million1.value>=2){
        if(carposition1.value==220){
          timers1.value=false;
        }else if(carposition1.value==60){
          timers1.value=true;
        }
        if(timers1.value==true){
          carposition1.value=carposition1.value+16;
        }else{
          carposition1.value=carposition1.value-16;
        }
        if(carposition2.value==220){
          timers2.value=false;
        }else if(carposition2.value==60){
          timers2.value=true;
        }
        if(timers2.value==true){
          carposition2.value+=16;
        }else{
          carposition2.value-=16;
        }
      }else{
var timer = setInterval(() => {
  console.log(million.value, million1.value)
  million.value += 1
  if (million.value - million1.value !== 12) {
    if (million.value - million1.value >= 2) {
      if (carposition1.value == 200) {
        timers1.value = false
      } else if (carposition1.value == 40) {
        timers1.value = true
      }
    }else{
      million1.value=million.value;
      if(cellshow.value==true){
        cellshow.value=false;
      }else{
        cellshow.value=true;
      if (timers1.value == true) {
        carposition1.value = carposition1.value + 16
      } else {
        carposition1.value = carposition1.value - 16
      }
      if(cellshow1.value==true){
        cellshow1.value=false;
      }else{
        cellshow1.value=true;
      if (carposition2.value == 200) {
        timers2.value = false
      } else if (carposition2.value == 40) {
        timers2.value = true
      }
      if(cellshow2.value==true){
        cellshow2.value=false;
      }else{
        cellshow2.value=true;
      if (timers2.value == true) {
        carposition2.value += 16
      } else {
        carposition2.value -= 16
      }
    } else {
    }
  }, 1000);
  var timer=setInterval(() => {
    console.log(million3.value,million4.value);
    million3.value+=1;
    if(million3.value-million4.value!==12){
      if(million3.value-million4.value>=2){
        if(carposition3.value==260){
          timers3.value=false;
        }else if(carposition3.value==60){
          timers3.value=true;
        }
        if(timers3.value==true){
          carposition3.value=carposition3.value+20;
        }else{
          carposition3.value=carposition3.value-20;
        }
        if(carposition4.value==260){
          timers4.value=false;
        }else if(carposition4.value==60){
          timers4.value=true;
        }
        if(timers4.value==true){
          carposition4.value+=20;
        }else{
          carposition4.value-=20;
        }
      }else{
      }
    }else{
      million4.value=million3.value;
      if(cellshow5.value==true){
        cellshow5.value=false;
      }else{
        cellshow5.value=true;
      }
      if(cellshow3.value==true){
        cellshow3.value=false;
      }else{
        cellshow3.value=true;
      }
      if(cellshow4.value==true){
        cellshow4.value=false;
      }else{
        cellshow4.value=true;
      }
  } else {
    million1.value = million.value
    if (cellshow.value == true) {
      cellshow.value = false
    } else {
      cellshow.value = true
    }
  }, 1000);
const getTableRow = (row,type) =>{
    if (cellshow1.value == true) {
      cellshow1.value = false
    } else {
      cellshow1.value = true
    }
    if (cellshow2.value == true) {
      cellshow2.value = false
    } else {
      cellshow2.value = true
    }
  }
}, 100000)
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' :{
    case 'edit': {
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
      router.push({
        path: '/main/returns/createReturns',
        query: {ReturnID: 'TH24010101'},
      })
      break
    }
    case 'delete':{
    case 'delete': {
      alert('我接收到子组件传送的删除信息')
      break
    }
  }
}
const gridOptions = reactive({
  border:  "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮
  border: 'full', //表格加边框
  keepSource: true, //保持源数据
  align: 'center', //文字居中
  stripe: true, //斑马纹
  rowConfig: {isCurrent: true, isHover: true, height: 50}, //鼠标移动或选择高亮
  id: 'OrderList',
  showFooter: true,//显示脚
  showFooter: true, //显示脚
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true },//开启虚拟滚动
  showOverflow:true,
  scrollY: {enabled: true}, //开启虚拟滚动
  showOverflow: true,
  columnConfig: {
    resizable: true,
    useKey: true
    useKey: true,
  },
  filterConfig: {   //筛选配置项
    remote: true
  filterConfig: {
    //筛选配置项
    remote: true,
  },
  customConfig: {
    storage: true
    storage: true,
  },
  editConfig: {
    trigger: 'click',
    mode: 'row',
    showStatus: true
    showStatus: true,
  },
  data:  [
  data: [
    {
      'id': '1',
      'long': '5',
      'wide': '1005',
      'thick': '183.6',
    }
      id: '1',
      long: '5',
      wide: '1005',
      thick: '183.6',
    },
  ],
})
</script>
<template>
  <div style="height: 700px;">
    <!-- <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisible = true">手动进片</el-button> -->
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="primary" @click="dialogFormVisiblea = true">订单信息</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="success" @click="dialogFormVisibleb = true">出片队列</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">终止进片</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger">终止出片</el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="danger"  @click="dialogForm">软急停</el-button>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
    <el-button style="margin-top: 5px;margin-left: 10px;"
               id="searchButton"
               type="primary"
               @click="dialogFormVisiblea = true">订单信息
    </el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"
               id="searchButton"
               type="success"
               @click="dialogFormVisibleb = true">出片队列
    </el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"
               id="searchButton"
               type="danger">终止进片
    </el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"
               id="searchButton"
               type="danger">终止出片
    </el-button>
    <el-button style="margin-top: 5px;margin-left: 10px;"
               id="searchButton"
               type="danger"
               @click="dialogForm">软急停
    </el-button>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;"
             v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
        <el-table height="100%" ref="table"
        @selection-change="handleSelectionChange"
        :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id" align="center" label="出片玻璃ID" min-width="80" />
          <el-table-column prop="a" align="center" label="笼子" min-width="120" />
          <el-table-column prop="b" align="center" label="格子" min-width="120" />
          <el-table-column prop="c" align="center" label="工程号" min-width="120" />
          <el-table-column prop="d" align="center" label="流程卡号" min-width="120" />
          <el-table-column prop="e" align="center" label="钢化版图号" min-width="157" />
          <el-table-column prop="f" align="center" label="尺寸" min-width="120" />
          <el-table-column prop="g" align="center" label="结束任务" min-width="120">
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="text">完成任务</el-button>
</el-table-column>
        <el-table height="100%"
                  ref="table"
                  @selection-change="handleSelectionChange"
                  :data="tableData"
                  :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id"
                           align="center"
                           label="出片玻璃ID"
                           min-width="80"/>
          <el-table-column prop="a"
                           align="center"
                           label="笼子"
                           min-width="120"/>
          <el-table-column prop="b"
                           align="center"
                           label="格子"
                           min-width="120"/>
          <el-table-column prop="c"
                           align="center"
                           label="工程号"
                           min-width="120"/>
          <el-table-column prop="d"
                           align="center"
                           label="流程卡号"
                           min-width="120"/>
          <el-table-column prop="e"
                           align="center"
                           label="钢化版图号"
                           min-width="157"/>
          <el-table-column prop="f"
                           align="center"
                           label="尺寸"
                           min-width="120"/>
          <el-table-column prop="g"
                           align="center"
                           label="结束任务"
                           min-width="120">
            <el-button style="margin-top: 5px;margin-left: 10px;"
                       id="searchButton"
                       type="text">完成任务
            </el-button>
          </el-table-column>
        </el-table>
      </div>
    </el-card>
    <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" v-loading="loading">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;"
             v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
        <el-table height="100%" ref="table"
        @selection-change="handleSelectionChange"
        :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id" align="center" label="进片玻璃ID" min-width="80" />
          <el-table-column prop="a" align="center" label="笼子" min-width="120" />
          <el-table-column prop="b" align="center" label="格子" min-width="120" />
          <el-table-column prop="c" align="center" label="工程号" min-width="120" />
          <el-table-column prop="d" align="center" label="流程卡号" min-width="120" />
          <el-table-column prop="e" align="center" label="钢化版图号" min-width="157" />
          <el-table-column prop="f" align="center" label="尺寸" min-width="120" />
          <el-table-column prop="g" align="center" label="结束任务" min-width="120">
    <el-button style="margin-top: 5px;margin-left: 10px;"   id="searchButton" type="text">完成任务</el-button>
</el-table-column>
        <el-table height="100%"
                  ref="table"
                  @selection-change="handleSelectionChange"
                  :data="tableDatab"
                  :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id"
                           align="center"
                           label="进片玻璃ID"
                           min-width="80"/>
          <el-table-column prop="a"
                           align="center"
                           label="笼子"
                           min-width="120"/>
          <el-table-column prop="b"
                           align="center"
                           label="格子"
                           min-width="120"/>
          <el-table-column prop="c"
                           align="center"
                           label="工程号"
                           min-width="120"/>
          <el-table-column prop="d"
                           align="center"
                           label="流程卡号"
                           min-width="120"/>
          <el-table-column prop="e"
                           align="center"
                           label="钢化版图号"
                           min-width="157"/>
          <el-table-column prop="f"
                           align="center"
                           label="尺寸"
                           min-width="120"/>
          <el-table-column prop="g"
                           align="center"
                           label="结束任务"
                           min-width="120">
            <el-button style="margin-top: 5px;margin-left: 10px;"
                       id="searchButton"
                       type="text">完成任务
            </el-button>
          </el-table-column>
        </el-table>
      </div>
    </el-card>
    <div style="padding: 10px;display: flex;height:110px;">
      <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#1</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#2</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#3</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#4</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#5</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#6</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#7</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <div  id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#8</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
                    </el-col>
                    <hr style="width:80%;margin: 0 auto;" />
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
                    </el-col>
                </div>
                <!-- <div v-for="n in 8" :key="n" id="occupy">
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#1</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#2</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#3</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#4</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#5</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#6</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#7</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <div id="occupy">
        <el-col style="text-align:left;font-weight: bold;">#8</el-col>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">使用率</span><span id="zhi">35%</span>
        </el-col>
        <hr style="width:80%;margin: 0 auto;"/>
        <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
          <span id="biao">空闲(格子数)</span><span id="zhi">555</span>
        </el-col>
      </div>
      <!-- <div v-for="n in 8" :key="n" id="occupy">
                    <el-col style="text-align:left;font-weight: bold;">#1</el-col>
                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                        <span id="biao">使用率</span><span id="zhi">35%</span>
@@ -383,360 +391,508 @@
    <!-- <div id="awatch">
  <img src="../../assets/cp.png" alt="" style="width: 70%;height: 70%;margin-left: 160px;">
</div> -->
<!-- // 父级框 -->
<div class="img-dlpl" >
    <div class="img-car1" :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'">
      <div v-show="cellshow1" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
    <!-- // 父级框 -->
    <div class="img-dlpl">
      <div class="img-car1"
           :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'">
        <div v-show="cellshow1"
             style="margin-top:10px;width:200px;height:5px;background-color:red;"></div>
      </div>
      <div class="img-car2"
           :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'">
        <div v-show="cellshow2"
             style="margin-top:10px;width:200px;height:5px;background-color:red;"></div>
      </div>
      <div v-show="cellshow"
           style="width: 200px;height: 5px;position: absolute;top:60px;left: 490px;background-color: red;">
      </div>
    </div>
    <div v-show="c1" class="img-car2" :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'">
      <div v-show="cellshow2" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
    </div>
    <div v-show="c2" class="img-car3" :style="'z-index:999;left:247px;top:' + carposition3 + 'px;position:absolute;'">
      <div v-show="cellshow3" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
    </div>
    <div class="img-car4" :style="'z-index:999;left:704px;top:' + carposition4 + 'px;position:absolute;'">
      <div v-show="cellshow4" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
    </div>
    <div v-show="cellshow" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
    </div>
    <div v-show="cellshow5" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
    </div>
</div>
  </div>
<el-dialog v-model="dialogFormVisible" top="12vh" width="85%" title="请确认玻璃信息" >
  <div style="margin-left: 50px;margin-bottom: 10px;">
    <div style="display: flex;">
    <p style="margin-top: 4px;">确认状态:</p>
    <el-button style="margin-left: 10px;size: mini;" type="success">允许</el-button>
    <el-button style="margin-left: 10px;size: mini;" type="danger">不允许</el-button>
    <p style="margin-left: 60px;margin-top: 4px;">当前状态:</p>
    <div style="margin-top: 4px; margin-left: 10px;">手动</div>
    <el-button style="margin-left: 10px;size: mini;" type="primary">切换</el-button>
    <el-input  placeholder="请输入玻璃id" style="width: 180px;size: mini;margin-left: 60px;"></el-input>
    <el-button style="margin-left: 10px;size: mini;" type="primary">添加</el-button>
    <p style="margin-left: 60px;margin-top: 4px;">玻璃id:</p>
    <el-input  style="width: 180px;size: mini;margin-left: 30px;"></el-input>
  </div>
    <div style="display: flex;">
      <p style="margin-left: 290px;margin-top: 20px;font-weight: bold;">上片位</p>
      <p style="margin-left: 630px;margin-top: 20px;font-weight: bold;">扫码位</p>
    </div>
    <div style="display: flex;">
    <div style="margin-top: 20px;">
      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p>
      <el-form label-position="right" label-width="90px">
      <el-form-item style="width: 20vw" label="玻璃id:">
      <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="订单编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="列表编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="箱子编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="长:">
      <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="宽:">
      <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input>
       </el-form-item>
      </el-form>
  <el-dialog v-model="dialogFormVisible"
             top="12vh"
             width="85%"
             title="请确认玻璃信息">
    <div style="margin-left: 50px;margin-bottom: 10px;">
      <div style="display: flex;">
        <p style="margin-top: 4px;">确认状态:</p>
        <el-button style="margin-left: 10px;size: mini;"
                   type="success">允许
        </el-button>
        <el-button style="margin-left: 10px;size: mini;"
                   type="danger">不允许
        </el-button>
        <p style="margin-left: 60px;margin-top: 4px;">当前状态:</p>
        <div style="margin-top: 4px; margin-left: 10px;">手动</div>
        <el-button style="margin-left: 10px;size: mini;"
                   type="primary">切换
        </el-button>
        <el-input placeholder="请输入玻璃id"
                  style="width: 180px;size: mini;margin-left: 60px;"></el-input>
        <el-button style="margin-left: 10px;size: mini;"
                   type="primary">添加
        </el-button>
        <p style="margin-left: 60px;margin-top: 4px;">玻璃id:</p>
        <el-input style="width: 180px;size: mini;margin-left: 30px;"></el-input>
      </div>
    <div style="margin-top: 20px;">
      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p>
      <el-form label-position="right" label-width="90px">
      <el-form-item style="width: 20vw" label="玻璃id:">
      <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="订单编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="列表编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="箱子编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="长:">
      <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="宽:">
      <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input>
       </el-form-item>
      </el-form>
      <div style="display: flex;">
        <p style="margin-left: 290px;margin-top: 20px;font-weight: bold;">上片位</p>
        <p style="margin-left: 630px;margin-top: 20px;font-weight: bold;">扫码位</p>
      </div>
    <div style="margin-top: 20px;">
      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p>
      <el-form label-position="right" label-width="90px">
      <el-form-item style="width: 20vw" label="玻璃id:">
      <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="订单编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="列表编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="箱子编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="长:">
      <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="宽:">
      <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input>
       </el-form-item>
      </el-form>
      </div>
    <div style="margin-top: 20px;">
      <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p>
      <el-form label-position="right" label-width="90px">
      <el-form-item style="width: 20vw" label="玻璃id:">
      <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="订单编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="列表编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="箱子编号:">
      <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="长:">
      <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input>
       </el-form-item>
      <el-form-item style="width: 20vw" label="宽:">
      <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input>
       </el-form-item>
      </el-form>
      </div>
    </div>
      <div style="display: flex;">
        <div style="margin-top: 20px;">
          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p>
          <el-form label-position="right"
                   label-width="90px">
            <el-form-item style="width: 20vw"
                          label="玻璃id:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入玻璃id"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="订单编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入订单编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="列表编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入列表编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="箱子编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入箱子编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="长:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入长"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="宽:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入宽"></el-input>
            </el-form-item>
          </el-form>
        </div>
  <template #footer>
    <div id="dialog-footer">
      <el-button type="primary" @click="dialogFormVisible = false">
        确认
      </el-button>
      <el-button @click="dialogFormVisible = false">取消</el-button>
        <div style="margin-top: 20px;">
          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p>
          <el-form label-position="right"
                   label-width="90px">
            <el-form-item style="width: 20vw"
                          label="玻璃id:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入玻璃id"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="订单编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入订单编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="列表编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入列表编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="箱子编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入箱子编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="长:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入长"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="宽:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入宽"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <div style="margin-top: 20px;">
          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p>
          <el-form label-position="right"
                   label-width="90px">
            <el-form-item style="width: 20vw"
                          label="玻璃id:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入玻璃id"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="订单编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入订单编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="列表编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入列表编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="箱子编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入箱子编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="长:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入长"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="宽:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入宽"></el-input>
            </el-form-item>
          </el-form>
        </div>
        <div style="margin-top: 20px;">
          <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p>
          <el-form label-position="right"
                   label-width="90px">
            <el-form-item style="width: 20vw"
                          label="玻璃id:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入玻璃id"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="订单编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入订单编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="列表编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入列表编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="箱子编号:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入箱子编号"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="长:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入长"></el-input>
            </el-form-item>
            <el-form-item style="width: 20vw"
                          label="宽:">
              <el-input style="width: 180px"
                        size="mini"
                        placeholder="请输入宽"></el-input>
            </el-form-item>
          </el-form>
        </div>
      </div>
    </div>
  </template>
</el-dialog>
<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="订单信息" >
  <el-input  placeholder="请输入工程号" style="width: 180px;size: mini;"></el-input>
    <el-button style="margin-left: 10px;size: mini;" type="primary">查询</el-button>
    <el-table  ref="table" style="margin-top: 20px;height: 500px;"
        @selection-change="handleSelectionChange"
        :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="ida" align="center" label="玻璃id" min-width="80" />
          <el-table-column prop="typea" align="center" label="工程号" min-width="120" />
          <el-table-column prop="typea" align="center" label="长" min-width="120" />
          <el-table-column prop="typea" align="center" label="宽" min-width="120" />
          <el-table-column prop="typea" align="center" label="厚" min-width="120" />
        </el-table>
        <div id="demo-pagination-block">
    <el-pagination
    style="margin-left: 850px;"
      v-model:current-page="currentPage4"
      v-model:page-size="pageSize4"
      :page-sizes="[100, 200, 300, 400]"
      :small="small"
      :disabled="disabled"
      :background="background"
      layout="total, sizes, prev, pager, next, jumper"
      :total="400"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
    />
  </div>
</el-dialog>
<el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="出片队列" >
  <div style="display: flex;">
  <p style="margin-top: 4px;">队列状态:</p>
  <p style="margin-top: 4px;">开始</p>
    <el-button style="margin-left: 10px;size: mini;" type="danger">停止</el-button>
    <el-button style="margin-left: 10px;size: mini;" type="primary">添加</el-button>
  </div>
    <el-table  ref="table" style="margin-top: 20px;height: 500px;"
        @selection-change="handleSelectionChange"
        :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="id" align="center" label="铝框id" min-width="80" />
          <el-table-column prop="type" align="center" label="玻璃id" min-width="120" />
          <el-table-column prop="type" align="center" label="订单编号" min-width="120" />
          <el-table-column prop="type" align="center" label="列表编号" min-width="120" />
          <el-table-column prop="type" align="center" label="箱子编号" min-width="120" />
          <el-table-column prop="type" align="center" label="长" min-width="120" />
          <el-table-column prop="type" align="center" label="宽" min-width="120" />
          <el-table-column prop="type" align="center" label="玻璃状态" min-width="120" />
          <el-table-column prop="type" align="center" label="顺序" min-width="120" />
          <el-table-column prop="type" align="center" label="完成" min-width="120" />
          <el-table-column prop="type" align="center" label="操作" min-width="120" />
        </el-table>
</el-dialog>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary"
                   @click="dialogFormVisible = false">
          确认
        </el-button>
        <el-button @click="dialogFormVisible = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="dialogFormVisiblea"
             top="10vh"
             width="85%"
             title="订单信息">
    <el-input placeholder="请输入工程号"
              style="width: 180px;size: mini;"></el-input>
    <el-button style="margin-left: 10px;size: mini;"
               type="primary">查询
    </el-button>
    <el-table ref="table"
              style="margin-top: 20px;height: 500px;"
              @selection-change="handleSelectionChange"
              :data="tableDataa"
              :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="ida"
                       align="center"
                       label="玻璃id"
                       min-width="80"/>
      <el-table-column prop="typea"
                       align="center"
                       label="工程号"
                       min-width="120"/>
      <el-table-column prop="typea"
                       align="center"
                       label="长"
                       min-width="120"/>
      <el-table-column prop="typea"
                       align="center"
                       label="宽"
                       min-width="120"/>
      <el-table-column prop="typea"
                       align="center"
                       label="厚"
                       min-width="120"/>
    </el-table>
    <div id="demo-pagination-block">
      <el-pagination style="margin-left: 850px;"
                     v-model:current-page="currentPage4"
                     v-model:page-size="pageSize4"
                     :page-sizes="[100, 200, 300, 400]"
                     :small="small"
                     :disabled="disabled"
                     :background="background"
                     layout="total, sizes, prev, pager, next, jumper"
                     :total="400"
                     @size-change="handleSizeChange"
                     @current-change="handleCurrentChange"/>
    </div>
  </el-dialog>
  <el-dialog v-model="dialogFormVisibleb"
             top="10vh"
             width="85%"
             title="出片队列">
    <div style="display: flex;">
      <p style="margin-top: 4px;">队列状态:</p>
      <p style="margin-top: 4px;">开始</p>
      <el-button style="margin-left: 10px;size: mini;"
                 type="danger">停止
      </el-button>
      <el-button style="margin-left: 10px;size: mini;"
                 type="primary">添加
      </el-button>
    </div>
    <el-table ref="table"
              style="margin-top: 20px;height: 500px;"
              @selection-change="handleSelectionChange"
              :data="tableDatab"
              :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="id"
                       align="center"
                       label="铝框id"
                       min-width="80"/>
      <el-table-column prop="type"
                       align="center"
                       label="玻璃id"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="订单编号"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="列表编号"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="箱子编号"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="长"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="宽"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="玻璃状态"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="顺序"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="完成"
                       min-width="120"/>
      <el-table-column prop="type"
                       align="center"
                       label="操作"
                       min-width="120"/>
    </el-table>
  </el-dialog>
</template>
<style scoped>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
#dt {
  display: block;
  float: left;
  line-height: 20px;
  margin-left: 100px;
}
#dta {
  display: block;
  float: left;
  line-height: 20px;
  margin-left: 80%;
}
#dialog-footer {
  text-align: center;
  margin-top: -15px;
}
#message{
#message {
  text-align: center;
  align-items: center;
  color: black;
   width: 200px;
   height: 100px;
   background-color: #337ecc;
   margin-left: 28%;
  width: 200px;
  height: 100px;
  background-color: #337ecc;
  margin-left: 28%;
}
#awatch{
#awatch {
  height: 450px;
}
#occupy {
    height: 100%;
    width: 15%;
    background-color: white;
    margin: 0px 8px 0px 8px;
    border: 1px #EBEEF5 solid;
    text-align: center;
    padding: 5px;
  height: 100%;
  width: 15%;
  background-color: white;
  margin: 0px 8px 0px 8px;
  border: 1px #ebeef5 solid;
  text-align: center;
  padding: 5px;
}
#biao {
    font-size: 12px;
  font-size: 12px;
}
#zhi {
    font-size: 18px;
    font-weight: bold;
  font-size: 18px;
  font-weight: bold;
}
#demo-pagination-block + #demo-pagination-block {
  margin-top: 10px;
}
#demo-pagination-block #demonstration {
  margin-bottom: 16px;
}
::-webkit-scrollbar {
     width: 0 !important;
   }
   ::-webkit-scrollbar {
     width: 0 !important;height: 0;
   }
   .img-list{
  position:relative;
  width: 0 !important;
}
.data-img{
  @apply float-none ;
  width:100%;
  height:16rem;
::-webkit-scrollbar {
  width: 0 !important;
  height: 0;
}
.img-list {
  position: relative;
}
.data-img {
  @apply float-none;
  width: 100%;
  height: 16rem;
  background: rgba(0, 0, 0, 0);
  opacity: 1;
  border-radius: 0.5rem 0.5rem 0px 0px;
}
.check-img{
.check-img {
  position: absolute;
  width: 3.3125rem;
  height: 2.9375rem;
  top:20rem;
  top: 20rem;
  right: 57rem;
  z-index: 10;
}
.check-imga{
.check-imga {
  position: absolute;
  width: 3.3125rem;
  height: 2.9375rem;
  top:15rem;
  top: 15rem;
  right: 28.5rem;
  z-index: 10;
}
.vertical {
    width: 45px;
    height: 25px;
    background-color: #409EFF;
    top: 485px; /* 初始位置 */
    left: 899px; /* 水平居中 */
    transform: translateX(-50%);
    animation: move-vertical 6s infinite; /* 从上到下动画,持续6秒,无限循环 */
  width: 45px;
  height: 25px;
  background-color: #409eff;
  top: 485px; /* 初始位置 */
  left: 899px; /* 水平居中 */
  transform: translateX(-50%);
  animation: move-vertical 6s infinite; /* 从上到下动画,持续6秒,无限循环 */
}
@keyframes move-vertical {
    0% {
        top: 485px; /* 起始位置 */
    }
    100% {
        top: calc(100% - 210px); /* 从上到下结束位置 */
    }
  0% {
    top: 485px; /* 起始位置 */
  }
  100% {
    top: calc(100% - 210px); /* 从上到下结束位置 */
  }
}
.img-dlpl{
.img-dlpl {
  margin-left: 200px;
  background-image:url('../../assets/dlpl.png');
  background-image: url('../../assets/dlpl.png');
  background-repeat: no-repeat;
    background-attachment: local;
    min-height: 400px;
    width: 1200px;
    max-width: 100%;
    background-size: 1200px 400px;
    overflow: hidden;
    position:relative
  background-attachment: local;
  min-height: 400px;
  width: 1200px;
  max-width: 100%;
  background-size: 1200px 400px;
  overflow: hidden;
  position: relative;
}
.img-car1{
  background-image:url('../../assets/lp.png');
.img-car1 {
  background-image: url('../../assets/lpl.jpg');
  position: absolute;
  background-repeat: no-repeat;
    background-attachment: local;
    min-height: 200px;
    width: 200px;
    max-width: 100%;
    background-size: 200px 70px;
    overflow: hidden;
    position:relative
  background-attachment: local;
  min-height: 200px;
  width: 200px;
  max-width: 100%;
  background-size: 200px 70px;
  overflow: hidden;
  position: relative;
}
.img-car2{
  background-image:url('../../assets/lpa.png');
.img-car2 {
  background-image: url('../../assets/lpla.jpg');
  position: absolute;
  background-repeat: no-repeat;
    background-attachment: local;
    min-height: 200px;
    width: 200px;
    max-width: 100%;
    background-size: 200px 70px;
    overflow: hidden;
    position:relative
}
.img-car3{
  background-image:url('../../assets/lp.png');
  position: absolute;
  background-repeat: no-repeat;
    background-attachment: local;
    min-height: 200px;
    width: 200px;
    max-width: 100%;
    background-size: 200px 70px;
    overflow: hidden;
    position:relative
}
.img-car4{
  background-image:url('../../assets/lpa.png');
  position: absolute;
  background-repeat: no-repeat;
    background-attachment: local;
    min-height: 200px;
    width: 200px;
    max-width: 100%;
    background-size: 200px 70px;
    overflow: hidden;
    position:relative
  background-attachment: local;
  min-height: 200px;
  width: 200px;
  max-width: 100%;
  background-size: 200px 70px;
  overflow: hidden;
  position: relative;
}
</style>
UI-Project/vite.config.js
@@ -22,7 +22,7 @@
    https: false,
    proxy: {
      '/api': {
        target: '10.153.19.150:88/',
        target: 'http://127.0.0.1:88/',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '/'),
      },
hangzhoumesParent/common/pom.xml
@@ -48,6 +48,12 @@
        </dependency>
        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join-boot-starter</artifactId>
            <version>1.4.8</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.3.1</version>
@@ -172,16 +178,6 @@
            <version>1.2.33</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.github.yulichang</groupId>-->
<!--            <artifactId>mybatis-plus-join</artifactId>-->
<!--            <version>1.2.4</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join-boot-starter</artifactId>
            <version>1.4.12</version>
        </dependency>
    </dependencies>
hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
@@ -17,11 +17,16 @@
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.github.yulichang</groupId>-->
<!--            <artifactId>mybatis-plus-join-boot-starter</artifactId>-->
<!--            <version>1.4.12</version>-->
<!--        </dependency>-->
        <!--        <dependency>-->
        <!--            <groupId>com.github.yulichang</groupId>-->
        <!--            <artifactId>mybatis-plus-join</artifactId>-->
        <!--            <version>1.1.6</version>-->
        <!--        </dependency>-->
        <!--        <dependency>-->
        <!--            <groupId>com.github.yulichang</groupId>-->
        <!--            <artifactId>mybatis-plus-join-boot-starter</artifactId>-->
        <!--            <version>1.4.12</version>-->
        <!--        </dependency>-->
    </dependencies>
    <properties>
hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
@@ -12,6 +12,12 @@
<artifactId>cacheVerticalGlass</artifactId>
    <dependencies>
        <!--        <dependency>-->
        <!--            <groupId>com.github.yulichang</groupId>-->
        <!--            <artifactId>mybatis-plus-join</artifactId>-->
        <!--            <version>1.1.6</version>-->
        <!--        </dependency>-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
@@ -25,6 +25,7 @@
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,7 +1,6 @@
package com.mes.downstorage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.common.PLCAutoMes;
import com.mes.common.S7control;
import com.mes.device.PlcParameterObject;
@@ -10,7 +9,6 @@
import com.mes.downstorage.entity.DownStorageCage;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
import com.mes.downstorage.service.DownStorageCageService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
@@ -32,19 +30,16 @@
@Slf4j
@Service
public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
    @Autowired
    private DownStorageCageMapper downStorageCageMapper;
    @Autowired
    private GlassInfoService glassInfoService;
    @Autowired
    private DownStorageCageService downStorageCageService;
    @Autowired
    private DownGlassTaskService downGlassTaskService;
    @Autowired
    private DownStorageCageDetailsService downStorageCageDetailsService;
    @Override
    public List<Map> gettask(){
        downStorageCageMapper.selectList(null);
        baseMapper.selectList(null);
//        downStorageCageMapper.selectJoin();
        return null;
    };
@@ -54,8 +49,10 @@
    @Override
    public List<DownStorageCageDetails> getCacheLeisure() {
        log.info(" 查询笼子内空闲");
//        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//        MPJLambdaWrapper<DownStorageCageDetails> wrapper = new MPJLambdaWrapper<>();
//        wrapper.selectAll(DownStorageCageDetails.class)
//        List<DownStorageCageDetails> list = baseMapper.selectJoinList(
//                DownStorageCageDetails.class,Wrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
//                        .isNull("escd.slot")
@@ -66,17 +63,20 @@
    }
    @Override
    public List<Map> selectCacheEmpty(){
        return baseMapper.selectJoinList(
                Map.class,new MPJQueryWrapper<DownStorageCage>().selectAll(DownStorageCage.class)
                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
                        .leftJoin("down_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
                        .isNull("escd.slot")
        );
    }
//    @Override
//    public List<Map> getCacheOut(int start, int end) {
//        log.info(" 根据传入的工位查询符合按照顺序和大小出片的小片");
//        List<Map> map = downStorageCageMapper.selectJoinList(
//                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
//                        .isNotNull("escd.slot")
//                        .between("dw.workstation_id", start, end)
//                        .orderByAsc("escd.tempering_layout_id, escd.tempering_feed_sequence")
//        );
//        return map;
//    }
@@ -85,7 +85,7 @@
    @Override
    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
        log.info("根据传入的工位查询符合按照顺序和大小出片的小片");
//        return  downStorageCageMapper.selectJoinList(
//        return  baseMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -106,7 +106,7 @@
    @Override
    public List<Map> getCacheInfo() {
        log.info(" 查询笼子内信息");
//        return downStorageCageMapper.selectJoinList(
//        return baseMapper.selectJoinList(
//                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -121,7 +121,7 @@
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
        log.info(" 查询可进此片玻璃的栅格号  找到相同版图id并且大于前面的顺序的空格");
//        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
//        List<DownStorageCageDetails> list = baseMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -144,7 +144,7 @@
    @Override
    public List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width) {
        log.info(" 查询可进此片玻璃的栅格号");
//        return downStorageCageMapper.selectJoinList(
//        return baseMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -155,13 +155,14 @@
//                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
//        );
        return null;
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
        log.info(" 查询可进此片玻璃的栅格号");
//        return downStorageCageMapper.selectJoinList(
//        log.info(" 查询可进此片玻璃的栅格号");
//        return baseMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -184,7 +185,7 @@
    public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) {
        log.info(" 单片情况  查询可进此片玻璃的栅格号  找到相同流程卡号的空格");
//        return downStorageCageMapper.selectJoinList(
//        return baseMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -198,24 +199,22 @@
    }
//    @Override
//    public List<DownStorageCageDetails> Out() {
//        log.info("单片情况   根据传入的工位查询符合按照大小出片的小片");
//
//
//        return  downStorageCageMapper.selectJoinList(
//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
//                        .select("escd.*")
//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
//                        .isNotNull("escd.slot")
//
//                        .orderByDesc("escd.width")
//                        .orderByDesc("escd.height")
//        );
//    }
@@ -239,21 +238,6 @@
    }
    public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell,String taskType ) {
        DownGlassTask downGlassTask = new DownGlassTask();
        downGlassTask.setId(glassInfo.getId());
        downGlassTask.setStartCell(startCell);
        downGlassTask.setTaskType(taskType);
        downGlassTask.setEndCell(endCell);
        downGlassTask.setWidth(glassInfo.getWidth());
        downGlassTask.setHeight(glassInfo.getHeight());
        downGlassTask.setFilmsid(String.valueOf(glassInfo.getFilmsid()));
        downGlassTask.setThickness(glassInfo.getThickness());
        downGlassTask.setFlowCardId(glassInfo.getFlowCardId());
        return downGlassTask;
    }
    @Override
    public boolean processInto(String Number) {
@@ -265,12 +249,7 @@
        if (GlassInfo != null) {
            //同找到同流程卡附近空格
            List<DownStorageCageDetails> list = getIsExistIntoCacheByflowcardid(GlassInfo.getFlowcardId(),  GlassInfo.getWidth());
            List<Map> selectCacheEmpty=selectCacheEmpty();
            //            list<Map> list=selectCacheEmpty();
//            list<Map> = downStorageCageService.selectCacheEmpty();
            if (selectCacheEmpty.size() > 0) {
            if (list.size() > 0) {
                //存在空格
                //1.生成任务:  起始位置0   结束位置this.slot  任务类型 1   (进片任务)
                //2.回复 1进片
@@ -309,11 +288,10 @@
        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
        List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut(1, 5);
        List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut(6, 10);
        List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut(1, 10);
        List<DownStorageCageDetails> list = getCacheOut(1, 5);
        List<DownStorageCageDetails> list2 = getCacheOut(6, 10);
        List<DownStorageCageDetails> list3 = getCacheOut(1, 10);
        //自动绑定架子
@@ -328,8 +306,16 @@
//                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
                DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2");
                DownGlassTask downGlassTask = new DownGlassTask();
                downGlassTask.setId(item3.getId()); // 设置玻璃ID
                downGlassTask.setStartCell("0");
                downGlassTask.setEndCell(endcell);
                downGlassTask.setTaskType("2");
                downGlassTask.setWidth(item3.getWidth()); // 设置玻璃宽度
                downGlassTask.setHeight(item3.getHeight()); // 设置玻璃高度
                downGlassTask.setFilmsid(item3.getFilmsid()+""); // 设置膜ID
                downGlassTask.setThickness(item3.getThickness()); // 设置玻璃厚度
                downGlassTask.setFlowCardId(item3.getFlowCardId()); // 设置流程卡号
                downGlassTaskService.insertCacheTask(downGlassTask);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
@@ -338,14 +324,22 @@
        }
        //如果同时前后端都空闲 优先后端出片并且优先满架
        else if (!list2.isEmpty()) {
            DownStorageCageDetails item3 = list2.get(0);
        //同时请求 优先后端出片
        else if (!list3.isEmpty()) {
            DownStorageCageDetails item3 = list3.get(0);
            String endcell = "11";
            String SendEndcell = "1";
            // selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
            DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2");
            DownGlassTask downGlassTask = new DownGlassTask();
            downGlassTask.setId(item3.getId()); // 设置玻璃ID
            downGlassTask.setStartCell("0");
            downGlassTask.setEndCell(endcell);
            downGlassTask.setTaskType("2");
            downGlassTask.setWidth(item3.getWidth()); // 设置玻璃宽度
            downGlassTask.setHeight(item3.getHeight()); // 设置玻璃高度
            downGlassTask.setFilmsid(item3.getFilmsid()+""); // 设置膜ID
            downGlassTask.setThickness(item3.getThickness()); // 设置玻璃厚度
            downGlassTask.setFlowCardId(item3.getFlowCardId()); // 设置流程卡号
            downGlassTaskService.insertCacheTask(downGlassTask);
            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
@@ -359,19 +353,37 @@
            // 出到 G06
            //selectInfo.insertCacheTask(item.getGlassId() + "", "0", "06", "2", item.getWidth(), item.getHeight(), item.getFilmsid(), item.getThickness(), item.getFlowCardId());
            DownGlassTask downGlassTask =createDownGlassTask(item,"0","06","2");
            DownGlassTask downGlassTask = new DownGlassTask();
            downGlassTask.setId(item.getId()); // 设置玻璃ID
            downGlassTask.setStartCell("0");
            downGlassTask.setEndCell("06");
            downGlassTask.setTaskType("2");
            downGlassTask.setWidth(item.getWidth()); // 设置玻璃宽度
            downGlassTask.setHeight(item.getHeight()); // 设置玻璃高度
            downGlassTask.setFilmsid(item.getFilmsid()+""); // 设置膜ID
            downGlassTask.setThickness(item.getThickness()); // 设置玻璃厚度
            downGlassTask.setFlowCardId(item.getFlowCardId()); // 设置流程卡号
            downGlassTaskService.insertCacheTask(downGlassTask);
            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
            return true;
            // 按照大小符合后端出片
            // 按照顺序符合后端出片
        } else if (!list2.isEmpty()) {
            DownStorageCageDetails item2 = list2.get(0);
            // 出到 G11
            // selectInfo.insertCacheTask(item2.getGlassId() + "", "0", "11", "2", item2.getWidth(), item2.getHeight(), item2.getFilmsid(), item2.getThickness(), item2.getFlowCardId());
            DownGlassTask downGlassTask =createDownGlassTask(item2,"0","11","2");
            DownGlassTask downGlassTask = new DownGlassTask();
            downGlassTask.setId(item2.getId()); // 设置玻璃ID
            downGlassTask.setStartCell("0");
            downGlassTask.setEndCell("11");
            downGlassTask.setTaskType("2");
            downGlassTask.setWidth(item2.getWidth()); // 设置玻璃宽度
            downGlassTask.setHeight(item2.getHeight()); // 设置玻璃高度
            downGlassTask.setFilmsid(item2.getFilmsid()+""); // 设置膜ID
            downGlassTask.setThickness(item2.getThickness()); // 设置玻璃厚度
            downGlassTask.setFlowCardId(item2.getFlowCardId()); // 设置流程卡号
            downGlassTaskService.insertCacheTask(downGlassTask);
            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
@@ -22,8 +22,11 @@
    private static final long serialVersionUID = 1L;
    @Id
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Id
    private Long id;
    /**