大理片笼、上片模块根据现场进行样式更改,大理片笼非钢化按钮中添加笼内详情按钮
7个文件已修改
265 ■■■■ 已修改文件
UI-Project/src/lang/en.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/py.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturns.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturns2.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 107 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/largescreendisplay/screendisplay.vue 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -142,7 +142,7 @@
          totalfurnaces:'总炉数',
          cagesnumber:'笼内数量',
          slotnumber:'占有格子数',
          progress:'进度',
          progress:'进度%',
          whethersame:'是否相同',
          same:'相同',
          notsame:'不相同',
UI-Project/src/lang/py.js
@@ -141,7 +141,7 @@
        totalfurnaces:'总炉数',
        cagesnumber:'笼内数量',
        slotnumber:'占有格子数',
        progress:'进度',
        progress:'进度%',
        whethersame:'是否相同',
        same:'相同',
        notsame:'不相同',
UI-Project/src/lang/zh.js
@@ -141,7 +141,7 @@
          totalfurnaces:'总炉数',
          cagesnumber:'笼内数量',
          slotnumber:'占有格子数',
          progress:'进度',
          progress:'进度%',
          whethersame:'是否相同',
          same:'相同',
          notsame:'不相同',
UI-Project/src/views/Returns/upreturns.vue
@@ -16,7 +16,6 @@
const blind = ref(false)
const blinda = ref(false)
const blindb = ref(false)
const dialoglea = ref(false)
const ReportData = ref(true);
const canSelectProjecta = ref(true);
const canSelectProjectb = ref(true);
@@ -37,13 +36,9 @@
}).then((response) => {
          if (response.code == 200) {
          } else {
          ElMessage.warning(response.msg)
          // ElMessage.warning(response.msg)
          }
          });
const handlezhiban = () => {
  dialoglea.value = true;
  fetchFlowCardId();
};
const selectproject = () => {
  dialogFormVisible.value = true;
  selectgong();
@@ -70,7 +65,7 @@
    if (response.code === 200) {
      tableData.value = response.data
      // tableData.splice(0, tableData.length, ...response.data);
      ElMessage.error(response.message);
      // ElMessage.error(response.message);
     window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
}
  } catch (error) {
@@ -117,7 +112,7 @@
    if (response.code == 200) {
      titleSelectJson.value.engineerId = response.data;
    } else {
      ElMessage.error(response.message);
      // ElMessage.error(response.message);
    }
  } catch (error) {
    console.error(error);
@@ -228,23 +223,6 @@
    ElMessage.error(response.message);
  }
};
// 值班信息
const fetchFlowCardId = async () => {
  try {
    const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment', {
      line: 2001,
      workingProcedure: '冷加工'
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatax.value = response.data;
    } else {
      ElMessage.error(response.message);
    }
  } catch (error) {
    console.error(error);
  }
}
onMounted(fetchTableData);
// 开始上片
const handleBind = (row) => {
@@ -444,7 +422,6 @@
    <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
               style="margin-top: 5px;margin-left: 20px;">
      <el-option :label="$t('Mounting.all')" value="0"></el-option>
@@ -545,23 +522,6 @@
      </div>
    </template>
  </el-dialog>
  <!-- 值班信息 -->
    <el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
      <el-table ref="table" style="margin-top: 20px;height: 300px;"
                :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
        <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')"/>
        <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
        </el-table-column>
        <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
      </div>
    </template>
</el-dialog>
  <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
    <div style="margin-left: 50px;margin-bottom: 10px;">
    <el-form-item :label="$t('Mounting.loadingline')" :required="true">
UI-Project/src/views/Returns/upreturns2.vue
@@ -21,7 +21,6 @@
const canSelectProjecta = ref(true);
const canSelectProjectb = ref(true);
const canSelectProjectc = ref(false);
const tableDatax = ref([])
const tableDatad = ref([])
const upstatus = ref(t('basicData.machineaa'));
const cuttingMachineStatusColor = ref('#911005');
@@ -37,13 +36,9 @@
}).then((response) => {
          if (response.code == 200) {
          } else {
          ElMessage.warning(response.msg)
          // ElMessage.warning(response.msg)
          }
          });
const handlezhiban = () => {
  dialoglea.value = true;
  fetchFlowCardId();
};
const selectproject = () => {
  dialogFormVisible.value = true;
  selectgong();
@@ -69,7 +64,7 @@
    const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
    if (response.code === 200) {
      tableData.splice(0, tableData.length, ...response.data);
      ElMessage.error(response.message);
      // ElMessage.error(response.message);
      window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
    }
  } catch (error) {
@@ -297,23 +292,6 @@
    ElMessage.error(response.message);
  }
};
// 值班信息
const fetchFlowCardId = async () => {
  try {
    const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment', {
      line: 2001,
      workingProcedure: '冷加工'
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatax.value = response.data;
    } else {
      ElMessage.error(response.message);
    }
  } catch (error) {
    console.error(error);
  }
}
onMounted(fetchTableData);
// 开始上片
const handleBind = (row) => {
@@ -445,7 +423,6 @@
    <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
    <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
               style="margin-top: 5px;margin-left: 20px;">
      <el-option :label="$t('Mounting.all')" value="0"></el-option>
@@ -547,23 +524,6 @@
      </div>
    </template>
  </el-dialog>
  <!-- 值班信息 -->
    <el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
      <el-table ref="table" style="margin-top: 20px;height: 300px;"
                :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
        <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')"/>
        <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
        </el-table-column>
        <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
      </div>
    </template>
</el-dialog>
  <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
    <div style="margin-left: 50px;margin-bottom: 10px;">
    <el-form-item :label="$t('Mounting.loadingline')" :required="true">
UI-Project/src/views/Slicecage/slicecage.vue
@@ -6,14 +6,10 @@
import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import {ElMessage, ElMessageBox} from 'element-plus'
const dialogFormVisibleaDownGlasss = ref(false)
const scanGlass = ref([])
const {t} = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
const router = useRouter()
const dialogFormVisible = ref(false)
const dialoglea = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
@@ -33,7 +29,6 @@
const tableDatad = ref([])
const tableDataf = ref([])
const tableDatae = ref([])
const tableDatax = ref([])
const tableDatas = ref([])
const tableDatass = ref([])
const tableDatalack = ref([])
@@ -546,10 +541,6 @@
  } catch (error) {
    console.error('发生错误:', error);  
  }  
};
const handlezhiban = () => {
  dialoglea.value = true;
  fetchFlowCardId();
};
const handleganghua = () => {
  dialogFormVisiblec.value = true;
@@ -707,34 +698,6 @@
    console.error(error);
  }
}
// 值班信息
const fetchFlowCardId = async () => {
  try  {
    const response = await request.post('/cacheVerticalGlass/work_assignment/selectWorkAssignment',{
      line: 4001,
      workingProcedure : '钢化'
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatax.value = response.data;
      console.log(tableDatax.value);
    } else {
      ElMessage.error(response.message);
    }
}
catch (error) {
    console.error(error);
  }
}
const handleConfirm = async () => {
  const response = await request.post("/cacheVerticalGlass/work_assignment/updateWorkAssignment", tableDatax.value)
  if (response.code === 200) {
    ElMessage.success(response.message);
    dialoglea.value = false;
  } else {
    ElMessage.error(response.message);
  }
};
function handleRowClick(row) {  
  selectedRow.value = row; // 更新选中的行数据  
}  
@@ -1102,13 +1065,9 @@
    <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="primary" @click="handlexiang">{{ $t('searchOrder.cageinformation') }}</el-button>
    <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</el-button>
    <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="warning" @click="handleganghua">{{ $t('searchOrder.temperingqueries') }}</el-button>
    <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
    <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="info" @click="dialogFormVisibles=true;fetchFlows()">{{ $t('searchOrder.searchlayout') }}</el-button>
    <el-switch style="margin-top: 7px;margin-left: 10px;" v-model="ganghua" class="mb-2" :inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" />
    <el-switch style="margin-top: 7px;margin-left: 10px;" v-model="diaodu" class="mb-2" :inactive-text="$t('searchOrder.Schedulingswitch')" @change="handlediaodu" />
    <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="primary"
      @click="dialogFormVisibleaDownGlasss = true">{{ $t('searchOrder.Labelprinting') }}
    </el-button>
    <div id="dotClass">
        <div>{{ $t('searchOrder.inkageEntity') }}</div>
        <i :style="{ marginTop: '2px', backgroundColor: inkageEntity, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
@@ -1245,13 +1204,13 @@
      <div style="width: 100%; height: calc(100% - 35px); overflow-y: auto;max-height: 420px;">
       <el-table height="420px" ref="table" border 
       :data="tableDatass" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
         <el-table-column prop="engineerId" align="center" :label="$t('Mounting.project')" min-width="140" />
         <el-table-column prop="countTemp" align="center" :label="$t('searchOrder.totalfurnaces')" min-width="120" />
         <el-table-column prop="countGlass" align="center" :label="$t('searchOrder.cagesnumber')" min-width="120" />
         <el-table-column prop="area" align="center" :label="$t('large.are')" min-width="120" />
         <el-table-column prop="fullTemp" align="center" :label="$t('searchOrder.fullfurnaces')" min-width="120" />
         <el-table-column prop="countSlot" align="center" :label="$t('searchOrder.slotnumber')" min-width="120" />
         <el-table-column prop="percent" align="center" :label="$t('searchOrder.progress')" min-width="120" />
         <el-table-column fixed prop="engineerId" align="center" :label="$t('Mounting.project')" min-width="100" />
         <el-table-column prop="countTemp" align="center" :label="$t('searchOrder.totalfurnaces')" min-width="68" />
         <el-table-column prop="countGlass" align="center" :label="$t('searchOrder.cagesnumber')" min-width="82" />
         <el-table-column prop="area" align="center" :label="$t('large.are')" min-width="70" />
         <el-table-column prop="fullTemp" align="center" :label="$t('searchOrder.fullfurnaces')" min-width="82" />
         <el-table-column prop="countSlot" align="center" :label="$t('searchOrder.slotnumber')" min-width="96" />
         <el-table-column prop="percent" align="center" :label="$t('searchOrder.progress')" min-width="80" />
       </el-table>
       </div>
    </el-card>
@@ -1462,6 +1421,7 @@
          </el-table-column>
        </el-table>
</el-dialog>
<!-- 钢化查询 -->
<el-dialog v-model="dialogFormVisiblec" top="5vh" width="85%" :title="$t('searchOrder.temperingqueries')">
  <div style="margin-bottom: 20px">
      <el-form>
@@ -1647,31 +1607,7 @@
          <el-table-column prop="ycoordinate" align="center" :label="$t('searchOrder.ycoordinates')" min-width="80" />
        </el-table>
</el-dialog>
<el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
    <el-table  ref="table" style="margin-top: 20px;height: 300px;"
        :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
          <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
          <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')" />
          <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
        <template #default="{ row }">
          <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>
        </template>
      </el-table-column>
          <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
            <template #default="{ row }">
          <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>
        </template>
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleConfirm">
          {{ $t('searchOrder.makesure') }}
        </el-button>
        <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
      </div>
    </template>
</el-dialog>
<!-- 非钢化 -->
<el-dialog v-model="dialogFormVisibles" top="5vh" width="85%" :title="$t('searchOrder.searchlayout')">
  <el-table  ref="table" style="margin-top: 20px;height: 500px;"
        :data="tableDatas" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
@@ -1683,12 +1619,13 @@
          <el-table-column prop="realCount" align="center" :label="$t('searchOrder.numbercages')" min-width="150" />
          <el-table-column prop="lackCount" align="center" :label="$t('searchOrder.missingquantity')" min-width="150" />
          <el-table-column prop="damageCount" align="center" :label="$t('searchOrder.breakquantity')" min-width="150" />
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
          <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="500">
            <template #default="scope">
              <el-button size="mini" type="text" plain @click="brokee(scope.row,1)">{{ $t('searchOrder.specifytempering') }}</el-button>
              <el-button size="mini" type="text" plain @click="brokee(scope.row,0)">{{ $t('searchOrder.specifyout') }}</el-button>
              <el-button size="mini" type="text" plain @click="brokek(scope.row)">{{ $t('searchOrder.specifyengineerid') }}</el-button>
              <el-button size="mini" type="text" plain @click="handlelack(scope.row)">{{ $t('hellow.missingnumber') }}</el-button>
              <el-button size="mini" type="text" plain @click="handlecagedetails(scope.row)">{{ $t('searchOrder.cagedetails') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
@@ -1704,28 +1641,6 @@
        </el-table-column>
        </el-table> -->
</el-dialog>
<el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('searchOrder.filminformation')">
          <div style="display:flex;justify-content: space-around;">
            <el-card
              style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
              <div
                :style="{ width: scanGlass.width + 'px', height: scanGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (scanGlass.width > scanGlass.height ? scanGlass.width : scanGlass.height) + ')' }">
              </div>
              <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
                <div>{{ $t('searchOrder.currentglassinformation') }}</div>
                <div>
                  <el-button type="primary" @click="open1(scanGlass)">{{ $t('searchOrder.printlabels') }}</el-button>
                </div>
                <div>{{ scanGlass.flowCardId }}</div>
                <div>{{ scanGlass.layer }}</div>
                <div>{{ scanGlass.glassId }}</div>
                <div>{{ scanGlass.width }}</div>
                <div>{{ scanGlass.height }}</div>
              </div>
            </el-card>
          </div>
        </el-dialog>
        <el-dialog id="sizePrintCalrd1" v-model="dialogTableVisible1" destroy-on-close>
    <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
                 :printGlassId="printGlassId" style=""/>
UI-Project/src/views/largescreendisplay/screendisplay.vue
@@ -12,7 +12,6 @@
const blindb = ref(false)
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
let socket = null;
const rawGlassStorageDetailList = ref([])
const orderDTOS = ref([])
@@ -21,7 +20,6 @@
  rawGlassStorageDetailList.value = data.rawGlassStorageDetailList[0]
  orderDTOS.value = data.orderDTOS[0]
};
let socket1 = null;
const edgOneTasks = ref([])
const edgTwoTasks = ref([])
@@ -43,7 +41,6 @@
  }
  
};
let socket2 = null;
const temperingTaskType = ref([])
const temperingGlassInfoList = ref([])
@@ -55,10 +52,7 @@
    numBoxes3.value =temperingTaskType.value;
    boxStart3();
  }
};
const tableDatad = ref([]);
const patternUsage = async () => {
  try {
@@ -80,7 +74,6 @@
  thickness: '',
  films: ''
})
// const tableDatac = ref([]);
// const patternUsage = async () => {
//   try {
@@ -96,8 +89,6 @@
//     console.error(error);
//   }
// }
// 点击下方弹窗
const handlehistorical = (row) => {
  blindb.value = true;
@@ -131,7 +122,6 @@
  console.log("关闭了")
  closeWebSocket();
});
const numBoxes = ref(5);
const numBoxes2 = ref(5); 
const numBoxes3 = ref(5); // 可动态修改的 div 数量
@@ -143,11 +133,9 @@
const maxX3 = 100; // 终点X坐标
const maxY3 = -55; // 终点Y坐标
const delayFrames = 600; // 每个 div 的延迟帧数
const boxes = ref([]);
const boxes2 = ref([]);
const boxes3 = ref([]);
// 初始化 div 数据
const boxStart = () => {
  boxes.value = [];
@@ -160,7 +148,7 @@
    style: {
      width: '15px',
      height: '15px',
      backgroundColor: i % 2 === 0 ? 'red' : 'blue',
      backgroundColor: i % 2 === 0 ? '#911005' : 'blue',
      position: 'absolute',
      transform: `translate(0px, 0px)`
    }
@@ -178,14 +166,13 @@
    style: {
      width: '15px',
      height: '15px',
      backgroundColor: i % 2 === 0 ? 'red' : 'blue',
      backgroundColor: i % 2 === 0 ? '#911005' : 'blue',
      position: 'absolute',
      transform: `translate(0px, 0px)`
    }
  });
}
}
const boxStart3 = () => {
  boxes3.value = [];
  for (let i = 0; i < numBoxes3.value; i++) {
@@ -197,23 +184,19 @@
    style: {
      width: '15px',
      height: '15px',
      backgroundColor: i % 2 === 0 ? 'red' : 'blue',
      backgroundColor: i % 2 === 0 ? '#911005' : 'blue',
      position: 'absolute',
      transform: `translate(0px, 0px)`
    }
  });
}
}
const animate = () => {
  boxes.value.forEach((box) => {
    if (box.delay > 0) {
      box.delay--;
      return;
    }
    if (box.direction === 'up') {
      box.y -= speed;
      if (box.y <= maxY) {
@@ -228,19 +211,16 @@
        box.direction = 'up';
      }
    }
    box.style = {
      ...box.style,
      transform: `translate(${box.x}px, ${box.y}px)`
    };
  });
  boxes2.value.forEach((box) => {
    if (box.delay > 0) {
      box.delay--;
      return;
    }
    if (box.direction === 'up') {
      box.y -= speed;
      if (box.y <= maxY2) {
@@ -260,13 +240,11 @@
      transform: `translate(${box.x}px, ${box.y}px)`
    };
  });
  boxes3.value.forEach((box) => {
    if (box.delay > 0) {
      box.delay--;
      return;
    }
    if (box.direction === 'up') {
      box.y -= speed;
      if (box.y <= maxY3) {
@@ -289,37 +267,35 @@
  });
  requestAnimationFrame(animate);
};
</script>
<template>
  <div style="height: 500px;">
    <div class="awatch">
      <div class="img-screen" alt="Screen">
        <!-- 钢化色块 -->
        <div v-if="temperingGlassInfoList>0" class="tempering" style="width: 50px;height: 22px;top: 354px;left: 228px;position: absolute;background-color: red;"></div>
        <div v-if="temperingGlassInfoList>1" class="tempering" style="width: 50px;height: 22px;top: 354px;left: 284px;position: absolute;background-color: red;"></div>
        <div v-if="temperingGlassInfoList>0" class="tempering" style="width: 50px;height: 22px;top: 354px;left: 228px;position: absolute;background-color: #911005;"></div>
        <div v-if="temperingGlassInfoList>1" class="tempering" style="width: 50px;height: 22px;top: 354px;left: 284px;position: absolute;background-color: #911005;"></div>
        <!-- 切割台色块 -->
        <div v-if="engineeringOne.length>1" class="slicing" style="width: 50px;height: 22px;top: 575px;left: 453px;position: absolute;background-color: red;"></div>
        <div v-if="engineeringTwo.length>1" class="slicing" style="width: 50px;height: 22px;top: 625px;left: 453px;position: absolute;background-color: red;"></div>
        <div v-if="engineeringOne.length>1" class="slicing" style="width: 50px;height: 22px;top: 575px;left: 453px;position: absolute;background-color: #911005;"></div>
        <div v-if="engineeringTwo.length>1" class="slicing" style="width: 50px;height: 22px;top: 625px;left: 453px;position: absolute;background-color: #911005;"></div>
        <!-- 原片仓储色块 -->
        <div class="raw" style="width: 31px;height: 32px;top: 571px;left: 300px;position: absolute;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(0,7)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: red;"'></div>
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(0,7)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: #911005;"'></div>
        </div>
        <div class="raw" style="width: 31px;height: 47px;top: 610px;left: 300px;position: absolute;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(8,17)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: red;"'></div>
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(8,17)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: #911005;"'></div>
        </div>
        <div class="raw" style="width: 31px;height: 13px;top: 675px;left: 300px;position: absolute;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(18,20)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: red;"'></div>
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(18,20)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: #911005;"'></div>
        </div>
        <div class="raw" style="width: 31px;height: 22px;top: 657px;left: 370px;position: absolute;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(21,25)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: red;"'></div>
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(21,25)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: #911005;"'></div>
        </div>
        <div class="raw" style="width: 31px;height: 9px;top: 561px;left: 370px;position: absolute;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(26,27)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: red;"'></div>
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(26,27)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: #911005;"'></div>
        </div>
        <div class="raw" style="width: 31px;height: 9px;top: 612px;left: 370px;position: absolute;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(28,29)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: red;"'></div>
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(28,29)" :key="index" :style='"width: "+(item.remainQuantity / 5)+"px;height: 5px;background-color: #911005;"'></div>
        </div>
        <!-- 磨边色块 -->
        <div class="container" style="position: relative;width: 20px;height: 20px;top: 572px;left: 645px;border: 1px solid #000;position: absolute;">
@@ -332,8 +308,8 @@
        <div class="container" style="position: relative;width: 20px;height: 20px;top: 438px;left: 196px;border: 1px solid #000;position: absolute;">
          <div v-for="(box, index) in boxes3" :key="index" class="box1" :style="box.style"></div>
        </div>
        <!-- <div class="raw" style="width: 31px;height: 32px;top: 571px;left: 300px;position: absolute;background-color: red;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(0,7)" :key="index" :style='"width: "+item.remainQuantity+"px;height: 5px;background-color: red;"'></div>
        <!-- <div class="raw" style="width: 31px;height: 32px;top: 571px;left: 300px;position: absolute;background-color: #911005;">
          <div v-for="(item,index) in rawGlassStorageDetailList.slice(0,7)" :key="index" :style='"width: "+item.remainQuantity+"px;height: 5px;background-color: #911005;"'></div>
        </div> -->
      </div>
      <div class="clickable-area" @click="handlehistorical"
@@ -445,19 +421,16 @@
  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 {
  text-align: center;
  align-items: center;
@@ -467,11 +440,9 @@
  background-color: #337ecc;
  margin-left: 28%;
}
#awatch {
  height: 460px;
}
.img-screen {
  max-width: 48%;
  max-height: 100%;
@@ -488,7 +459,6 @@
  height: 0; 
  padding-bottom: 50%;  */
}
.clickable-area {
  cursor: pointer;
  /* 指示这是一个可点击的区域 */
@@ -497,11 +467,9 @@
  line-height: 95px;
  /* 如果需要,使文本垂直居中 */
}
/* .awatch{
  height: 460px;
  /* max-width: 100%; */
.box {
  transition: transform 0.016s linear;
}