wu
2025-02-21 0b1c8a8ba2cd09c21d5c0babf0f46cc9e916b2af
UI-Project/src/views/Slicecage/slicecage.vue
@@ -3,10 +3,10 @@
import {useRouter} from "vue-router"
import request from "@/utils/request"
import {host, WebSocketHost} from '@/utils/constants'
import {computed, onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import {ElMessage, ElMessageBox} from 'element-plus'
import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
const dialogFormVisibleaDownGlasss = ref(false)
const scanGlass = ref([])
const {t} = useI18n()
@@ -50,11 +50,6 @@
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
const adjustedRectsc = ref([]);
const adjustedRectsd = ref([]);
const adjustedRectse = ref([]);
const adjustedRectsf = ref([]);
const adjustedRectsg = ref([]);
const adjustedRectsh = ref([]);
const currentRow = reactive({}); // 当前行的数据 
const currentPage2 = ref(1)
const inputValuesa = reactive({});
@@ -73,11 +68,6 @@
const cell2=ref(true);
const cell3=ref(true);
const cell4=ref(true);
const cell5=ref(true);
const cell6=ref(true);
const cell7=ref(true);
const cell8=ref(true);
const cell9=ref(true);
const canEdit = ref(true);
const selectedRow = ref(null);
const temperingtotal = ref(0);
@@ -375,10 +365,8 @@
        type: 'warning',  
      } 
    ); 
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointEngineerId",{
        engineerId: row.engineer_id
    });
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointTemperingEngineerId?engineerId=" + row.engineerId);
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {  
@@ -389,7 +377,7 @@
    console.error('发生错误:', error);  
  }  
}; 
// 指定工程
// 取消指定
const broked = async() => {  
  try {
    const confirmResult = await ElMessageBox.confirm(  
@@ -538,7 +526,7 @@
        deviceId: deviceId,
        slot: slot
      };  
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/insertBigStorageCageDetails", dataToSend)
  const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/insertBigStorageCageDetails", dataToSend)
    if (response.code === 200) {
      tableDataa.value = response.data;
      add.value = false;
@@ -575,12 +563,6 @@
  const { engineerId, temperingLayoutId } = row;
  fetchlack(engineerId, temperingLayoutId); 
  dialogFormVisibled.value = true;
};
// 指定工程
const handlespecifyengineerid = (row) => {
  const { engineerId } = row;
  fetchspecify(engineerId);
  dialogFormVisiblee.value = true;
};
// 笼内详情
const handlecagedetails = (row) => {
@@ -630,8 +612,8 @@
    if (response.code === 200) {  
      ElMessage.success(response.message);
      tableDataa.value = response.data
      filmsId.value = ''
      flowCardId.value = ''
      // filmsId.value = ''
      // flowCardId.value = ''
    } else {  
      ElMessage.warning(response.msg)
    }  
@@ -662,24 +644,6 @@
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatalack.value = response.data
    } else {
      ElMessage.error(response.message);
    }
}
catch (error) {
    // 处理错误
    console.error(error);
  }
}
// 指定工程
const fetchspecify = async (engineerId) => {
  try  {
    const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/appointTemperingEngineerId',{
        engineerId: engineerId,
    })
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDataspecify.value = response.data
    } else {
      ElMessage.error(response.message);
    }
@@ -812,19 +776,19 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheVerticalGlass/api/talk/slicecage`;
const handleMessage = (data) => {
  if (data.inkageEntity != null) {
    inkageEntity.value = data.inkageEntity == 1 ? '#911005' : 'green';
    inkageEntity.value = data.inkageEntity[0] == true ? 'green' : '#911005';
  }
  if (data.requestEntity != null) {
    requestEntity.value = data.requestEntity == 1 ? '#911005' : 'green';
    requestEntity.value = data.requestEntity == 1 ? 'green' : '#911005';
  }
  if (data.mesReplyEntity != null) {
    mesReplyEntity.value = data.mesReplyEntity == 1 ? '#911005' : 'green';
    mesReplyEntity.value = data.mesReplyEntity == 1 ? 'green' : '#911005';
  }
  if (data.outInkageEntity != null) {
    outInkageEntity.value = data.outInkageEntity == 1 ? '#911005' : 'green';
    outInkageEntity.value = data.outInkageEntity[0] == true ? 'green' : '#911005';
  }
  if (data.outRequestEntity != null) {
    outRequestEntity.value = data.outRequestEntity == 1 ? '#911005' : 'green';
    outRequestEntity.value = data.outRequestEntity == 1 ? 'green' : '#911005';
  }
    if (data.scanGlass != null) {
    scanGlass.value = data.scanGlass[0];
@@ -1033,7 +997,7 @@
    </div>
<!-- // 父级框 -->
<div class="img-dlpl" >
    <div class="img-car1" :style="'z-index:999;left:270px;top:' + 350*carPosition[0] + 'px;position:absolute;'">
    <div class="img-car1" :style="'z-index:999;left:375px;top:' + 350*carPosition[0] + 'px;position:absolute;'">
      <div  
      v-for="(rect, index) in adjusta"  
      :key="rect.id"  
@@ -1047,7 +1011,7 @@
    >
    </div>
    </div>
    <div class="img-car4" :style="'z-index:999;left:740px;top:' + 350*carPosition[1] + 'px;position:absolute;'">
    <div class="img-car4" :style="'z-index:999;left:770px;top:' + 350*carPosition[1] + 'px;position:absolute;'">
      <div  
      v-for="(rect, index) in adjust"  
      :key="rect.id"  
@@ -1062,13 +1026,13 @@
    </div>
    </div>
    <div style="position: relative;">
    <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:50px;left: 495px;">
    <div v-show="cell1" style="width: 170px;height: 53px;position: relative;top:63px;left: 585px;">
      <div  
      v-for="(rect, index) in adjustedRects"  
      :key="rect"  
      :style="{
       position: 'absolute',
       width: '227px',
       width: '200px',
       left: '0px',
       top: index*rect.top+`px`,
       height: `${rect.height}px`,
@@ -1089,7 +1053,7 @@
      </div>
    </div>
    </div>
 <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:51px;left: 495px;">
 <div v-show="cell2" style="width: 170px;height: 53px;position: relative;top:67px;left: 585px;">
  <div  
      v-for="(rect, index) in adjustedRectsa"  
      :key="rect.id"  
@@ -1116,7 +1080,7 @@
      </div>
    </div>
    </div>
  <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:110px;left: 495px;">
  <div v-show="cell3" style="width: 170px;height: 53px;position: relative;top:72px;left: 585px;">
    <div  
      v-for="(rect, index) in adjustedRectsb"  
      :key="rect.id"  
@@ -1143,147 +1107,9 @@
      </div>
    </div>
    </div>
  <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:140px;left: 495px;">
  <div v-show="cell4" style="width: 170px;height: 53px;position: relative;top:77px;left: 585px;">
    <div  
      v-for="(rect, index) in adjustedRectsc"  
      :key="rect.id"
      :style="{
       position: 'absolute',
       width: '227px',
       left: '0px',
       top: index*rect.top+`px`,
       height: `${rect.height}px`,
       }"
    >
    <div
      v-for="(rects, index) in rect.bigStorageCageDetails"
      :key="rects"
      :style="{
        float:'left',
       width: '18px',
       height: `${rect.height}px`,
       backgroundColor: '#911005',
       top: '0px',
       marginRight: rects.gap/5000*227+'px'
       }"
    >
      </div>
    </div>
    </div>
  <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:170px;left: 495px;">
    <div
      v-for="(rect, index) in adjustedRectsd"
      :key="rect.id"
      :style="{
       position: 'absolute',
       width: '227px',
       left: '0px',
       top: index*rect.top+`px`,
       height: `${rect.height}px`,
       }"
    >
    <div
      v-for="(rects, index) in rect.bigStorageCageDetails"
      :key="rects"
      :style="{
        float:'left',
       width: '18px',
       height: `${rect.height}px`,
       backgroundColor: '#911005',
       top: '0px',
       marginRight: rects.gap/5000*227+'px'
       }"
    >
      </div>
    </div>
    </div>
  <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:241px;left: 495px;">
    <div
      v-for="(rect, index) in adjustedRectse"
      :key="rect.id"
      :style="{
       position: 'absolute',
       width: '227px',
       left: '0px',
       top: index*rect.top+`px`,
       height: `${rect.height}px`,
       }"
    >
    <div
      v-for="(rects, index) in rect.bigStorageCageDetails"
      :key="rects"
      :style="{
        float:'left',
       width: '18px',
       height: `${rect.height}px`,
       backgroundColor: '#911005',
       top: '0px',
       marginRight: rects.gap/5000*227+'px'
       }"
    >
      </div>
    </div>
    </div>
  <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:271px;left: 495px;">
    <div
      v-for="(rect, index) in adjustedRectsf"
      :key="rect.id"
      :style="{
       position: 'absolute',
       width: '227px',
       left: '0px',
       top: index*rect.top+`px`,
       height: `${rect.height}px`,
       }"
    >
    <div
      v-for="(rects, index) in rect.bigStorageCageDetails"
      :key="rects"
      :style="{
        float:'left',
       width: '18px',
       height: `${rect.height}px`,
       backgroundColor: '#911005',
       top: '0px',
       marginRight: rects.gap/5000*227+'px'
       }"
    >
      </div>
    </div>
    </div>
  <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:301px;left: 495px;">
    <div
      v-for="(rect, index) in adjustedRectsg"
      :key="rect.id"
      :style="{
        // display:'flex',
       position: 'absolute',
       width: '227px',
      //  backgroundColor: 'red',
       left: '0px',
       top: index*rect.top+`px`,
       height: `${rect.height}px`,
       }"
    >
    <div
      v-for="(rects, index) in rect.bigStorageCageDetails"
      :key="rects"
      :style="{
        float:'left',
       width: '18px',
       height: `${rect.height}px`,
       backgroundColor: '#911005',
      // border:'1px solid black',
       top: '0px',
       marginRight: rects.gap/5000*227+'px'
       }"
    >
      </div>
    </div>
    </div>
  <div v-show="cell9" style="width: 227px;height: 29px;position: absolute;top:332px;left: 495px;">
    <div
      v-for="(rect, index) in adjustedRectsh"
      :key="rect.id"  
      :style="{
       position: 'absolute',
@@ -1374,8 +1200,8 @@
  </el-dialog>
<el-dialog v-model="dialogFormVisiblea" top="2vh" width="97%" :title="$t('searchOrder.cageinformation')">
  <div style="display: flex;">
    <el-input v-model="flowCardId" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('searchOrder.incardnumber')" />
    <el-input v-model="filmsId" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('film.infilms')"/>
    <el-input v-model="flowCardId" clearable style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('searchOrder.incardnumber')" />
    <el-input v-model="filmsId" clearable style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('film.infilms')"/>
    <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="fetchxianga">
      {{$t('reportmanage.inquire')}}</el-button>
  </div>
@@ -1572,7 +1398,6 @@
              <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('searchOrder.lacknumber') }}</el-button>
              <el-button size="mini" type="text" plain @click="handlespecifyengineerid(scope.row)">{{ $t('searchOrder.specifyengineerid') }}</el-button>
              <el-button size="mini" type="text" plain @click="handlecagedetails(scope.row)">{{ $t('searchOrder.cagedetails') }}</el-button>
            </template>
        </el-table-column>
@@ -1666,12 +1491,13 @@
          <el-table-column prop="engineerId" fixed align="center" :label="$t('searchOrder.projectnumber')" min-width="150"/>
          <el-table-column prop="flowCardId" fixed align="center" :label="$t('searchOrder.cardnumber')" min-width="150" />
          <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')" min-width="150" />
          <el-table-column prop="slot" fixed align="center" :label="$t('film.slot')" min-width="150" />
          <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')" min-width="100" />
          <el-table-column prop="temperingFeedSequence" fixed align="center" :label="$t('searchOrder.picturesequence')" min-width="120" />
          <el-table-column prop="width" align="center" :label="$t('searchOrder.width')"  min-width="80" />
          <el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="80" />
          <el-table-column prop="thickness" align="center" :label="$t('searchOrder.thickness')" min-width="80" />
          <el-table-column prop="filmsid" align="center" :label="$t('searchOrder.coatingtypes')" min-width="80" />
          <el-table-column prop="filmsId" align="center" :label="$t('searchOrder.coatingtypes')" min-width="80" />
          <el-table-column
            align="center"
            :label="$t('searchOrder.state')"
@@ -1879,7 +1705,7 @@
.img-dlpl{
  margin-left: 20px;
  margin-top: 0px;
  background-image:url('../../assets/dlpl9.png');
  background-image:url('../../assets/ganghuaqian.png');
  background-repeat: no-repeat;
  background-attachment: local;
  min-height: 400px;
@@ -1891,7 +1717,7 @@
}
.img-car1{
  display: flex;
  background-image:url('../../assets/lp9.png');
  background-image:url('../../assets/xiaoche.png');
  position: absolute;
  background-repeat: no-repeat;
  background-attachment: local;
@@ -1904,7 +1730,7 @@
}
.img-car4{
  display: flex;
  background-image:url('../../assets/lpa9.png');
  background-image:url('../../assets/xiaoche.png');
  position: absolute;
  background-repeat: no-repeat;
  background-attachment: local;