ZengTao
2025-05-26 fcb8b8cc392b146aa11bbaab9e497f7f13f29d44
UI-Project/src/views/hollow/hollowequipment.vue
@@ -1,106 +1,792 @@
<template>
  <div style="height: 600px;">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" >
      <div style="display: flex; flex-direction: row; align-items: center; margin-bottom: 10px;">
        <el-button id="searchButton" type="success" @click="dialogFormVisiblea = true">
        <el-button id="searchButton" type="primary" @click="handleormulan">
          {{ $t('hellow.hollowformula') }}
        </el-button>
        <el-button id="searchButton" type="primary" @click="handlezhiban">
          {{ $t('hellow.createtask') }}
        </el-button>
        <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBinda">
        <el-button type="primary" @click="selectproject">
          {{ $t('hellow.reviewproject') }}
        </el-button>
    <el-button style="margin-left: 10px;" id="searchButton" type="primary" @click="handlehistorical">{{ $t('searchOrder.historicaltasks') }}</el-button>
    <el-button style="margin-left: 10px;" id="searchButton" type="success" @click="handleBinda">
          {{ $t('hellow.starttask') }}
        </el-button>
        <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBindb">{{
            $t('hellow.stoptask')
        <el-button style="margin-left: 10px;" id="searchButton" type="info" @click="handleBindd">{{
            $t('hellow.taskdet')
          }}
        </el-button>
      </div>
      <div style="margin-bottom: -5px;margin-left: 5px;">
        <el-form>
          <el-row>
            <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
        <el-button style="margin-left: 10px;" id="searchButton" type="warning" @click="handleBindc">{{
            $t('hellow.stopproject')
          }}
        </el-button>
  </div>
    <div id="dotClass">
      <!-- <div style="margin-bottom: -5px;margin-left: 5px;"> -->
        <!-- <el-form> -->
          <!-- <el-row> -->
            <!-- <el-col :span="4">
              <div  style="font-size: 15px;">
                <el-form-item :label="$t('hellow.currenttask')" style="width: 14vw">
                  {{ temperingtotal }}
                </el-form-item>
              </div>
            </el-col>
            <el-col :span="5">
              <div id="dta" style="font-size: 15px;">
            </el-col> -->
            <!-- <el-col :span="5">
              <div style="font-size: 15px;">
                <el-form-item :label="$t('hellow.claimednumber')" style="width: 14vw">
                  {{ glasstotal }}
                </el-form-item>
              </div>
            </el-col>
            <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
            </el-col> -->
            <!-- <el-col :span="4">
              <div style="font-size: 15px;">
                <el-form-item :label="$t('hellow.linenumber')" style="width: 14vw">
                  {{ fulltotals }}
                </el-form-item>
              </div>
            </el-col>
          </el-row>
        </el-form>
      </div>
            </el-col> -->
            <div style="margin-left: 70px;">{{ $t('hellow.freeone') }}</div>
        <i :style="{ marginTop: '2px', backgroundColor: freeone, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
          <!-- </el-row> -->
        <!-- </el-form> -->
      <!-- </div> -->
       </div>
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
        <el-table height="480" ref="table" :data="tableDataa"
                  :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
          <el-table-column prop="layoutSequence" :label="$t('hellow.order')" align="center"/>
          <el-table-column prop="layoutSequence" :label="$t('hellow.thickness')" align="center"/>
          <el-table-column prop="layoutSequence" :label="$t('hellow.coatingtypes')" align="center"/>
          <el-table-column prop="layoutSequence" :label="$t('hellow.height')" align="center"/>
          <el-table-column prop="layoutSequence" :label="$t('hellow.width')" align="center"/>
          <el-table-column prop="layoutSequence" :label="$t('hellow.state')" align="center"/>
        <el-table height="650" ref="table" :data="tableDataa"
                  :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }">
          <el-table-column prop="flowCardId" :label="$t('hellow.flowCardId')" align="center"/>
          <el-table-column prop="glassId" :label="$t('searchOrder.glassID')" align="center"/>
          <el-table-column prop="hollowSequence" :label="$t('hellow.order')" align="center"/>
          <el-table-column prop="thickness" :label="$t('hellow.thickness')" align="center"/>
          <el-table-column prop="layer" :label="$t('hellow.layer')" align="center"/>
          <el-table-column prop="filmsId" :label="$t('hellow.coatingtypes')" align="center"/>
          <el-table-column prop="height" :label="$t('hellow.height')" align="center"/>
          <el-table-column prop="width" :label="$t('hellow.width')" align="center"/>
          <el-table-column prop="state" :label="$t('hellow.state')" align="center">
            <template #default="scope">
            {{ scope.row.state == -1 ? $t('hellow.waitingout') : $t('hellow.finishout') }}
            </template>
          </el-table-column>
        </el-table>
        <div style="float: right;">
          <el-pagination layout="prev, pager, next" :total="50"/>
        </div>
      </div>
      <!-- <div style="display: flex;margin-left: 40%;margin-top: 10px;">
      <div style="margin-top: 5px;margin-right: 5px;">{{ $t('hellow.line') }}</div>
    <el-pagination
          background
          size="large"
          layout="prev, pager, next"
          :total="30"
          :current-page.sync="currentPage"
          @current-change="handlePageChange1"
        />
      </div> -->
  </div>
    </el-card>
  </div>
  <!-- 创建任务 -->
  <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%">
    <el-table ref="table" style="margin-top: 20px;height: 500px;"
              :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="deviceId" fixed align="center" :label="$t('hellow.cardnumber')" min-width="80"/>
      <el-table-column prop="slot" fixed align="center" :label="$t('hellow.layernumber')" min-width="80"/>
      <el-table-column prop="patternWidth" align="center" :label="$t('hellow.thickness')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.coatingtypes')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.totalnumber')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.pairsnumber')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.missingnumber')" min-width="80"/>
      <el-table-column fixed="right" :label="$t('hellow.operate')" align="center" width="270">
    <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="thickness" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('searchOrder.inthickness')"/>
    <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="fetchFlowCardsearch">
      {{$t('reportmanage.inquire')}}</el-button>
  </div>
  <el-table
    ref="table"
    style="margin-top: 20px; height: 700px;"
    :data="tableDatab"
    :row-class-name="tableRowClassName"
    :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }"
    row-key="projectNumber"
  >
    <el-table-column>
    <template #default="props">
      <el-table :data="props.row.flowCardGlassInfoDTOList" style="width: 100%"
      :row-class-name="(row) => nestedTableRowClassName(props.row, row)"
        >
      <el-table-column prop="layer" fixed align="center" :label="$t('hellow.layernumber')" min-width="80"/>
      <el-table-column prop="thickness" align="center" :label="$t('hellow.thickness')" min-width="80"/>
      <el-table-column prop="filmsId" align="center" :label="$t('hellow.coatingtypes')" min-width="80"/>
      <el-table-column prop="sumCount" align="center" :label="$t('hellow.totalnumber')" min-width="80"/>
      <el-table-column prop="realCount" align="center" :label="$t('hellow.realpieces')" min-width="80"/>
      <el-table-column prop="pairCount" align="center" :label="$t('hellow.pairsnumber')" min-width="80"/>
      <el-table-column prop="damageCount" align="center" :label="$t('hellow.damagenumber')" min-width="80"/>
      </el-table>
      </template>
    </el-table-column>
    <el-table-column prop="flowCardId" fixed align="center" :label="$t('hellow.cardnumber')" min-width="20"/>
    <el-table-column prop="productName" fixed align="center" :label="$t('large.productname')" min-width="20"/>
    <el-table-column prop="customerName" fixed align="center" :label="$t('large.customerName')" min-width="20"/>
    <el-table-column fixed="right" :label="$t('hellow.operate')" align="center" width="270">
        <template #default="scope">
          <el-button size="mini" type="text" plain @click="finisha(scope.row)">{{ $t('hellow.claimquest') }}</el-button>
          <el-button size="mini" type="text" plain @click="dialogFormVisibleb = true">{{
          <el-button type="text" :disabled="scope.row.isThroughSlot" plain @click="handletake(scope.row)">{{ $t('hellow.claimquest') }}</el-button>
          <el-button type="text" plain @click="handleBindRack(scope.row)">{{
              $t('hellow.missingfilms')
            }}
          </el-button>
          <el-button size="mini" type="text" plain @click="finishb(scope.row)">{{
          <el-button type="text" plain @click="handleout(scope.row)">{{
              $t('hellow.forcedfilming')
            }}
          </el-button>
        </template>
      </el-table-column>
    </el-table>
  </el-table>
</el-dialog>
<!-- 中空配方添加 -->
<el-dialog v-model="add" top="15vh" width="90%" :title="$t('hellow.hollowformula')" >
  <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
    <el-form label-width="150px" label-position="right">
      <!-- 第一行:3个元素 -->
      <el-row style="margin-top: 10px;">
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 90%;">
              <el-input v-model="formulaName" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 90%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('Mounting.removal')" value="1"></el-option>
                <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 90%;">
              <el-input v-model="sealInsert" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第二行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 90%;">
              <el-input v-model="topRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 90%;">
              <el-input v-model="bottomRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 90%;">
              <el-input v-model="leftRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 90%;">
              <el-input v-model="rightRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第三行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 90%;">
              <el-select v-model="casOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 90%;">
              <el-select v-model="casTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 90%;">
              <el-select v-model="casThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 90%;">
              <el-select v-model="casFour" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第四行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 90%;">
              <el-input v-model="frameOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 90%;">
              <el-input v-model="frameTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 90%;">
              <el-input v-model="frameThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 90%;">
              <el-input v-model="frameFour" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第五行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightFour" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第六行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthFour" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第七行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeFour" style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
      </el-row>
    </el-form>
  </div>
  <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleConfirm">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
<!-- 中空配方修改 -->
<el-dialog v-model="adda" top="15vh" width="85%" :title="$t('hellow.edithollowformula')" >
  <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
    <el-form label-width="150px" label-position="right">
      <!-- 第一行:3个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 90%;">
              <el-input v-model="formulaName" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 90%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('Mounting.removal')" value="1"></el-option>
                <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 90%;">
              <el-input v-model="sealInsert" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第二行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 90%;">
              <el-input v-model="topRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 90%;">
              <el-input v-model="bottomRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 90%;">
              <el-input v-model="leftRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 90%;">
              <el-input v-model="rightRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第三行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 90%;">
              <el-select v-model="casOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 90%;">
              <el-select v-model="casTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 90%;">
              <el-select v-model="casThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 90%;">
              <el-select v-model="casFour" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第四行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 90%;">
              <el-input v-model="frameOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 90%;">
              <el-input v-model="frameTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 90%;">
              <el-input v-model="frameThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 90%;">
              <el-input v-model="frameFour" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第五行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightFour" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第六行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthFour" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
      </el-row>
      <!-- 第七行:4个元素 -->
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeFour" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
            </el-form-item>
          </div>
        </el-col>
      </el-row>
    </el-form>
  </div>
  <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handledit">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 领取任务 -->
  <el-dialog v-model="dialogFormVisiblec" top="21vh" width="40%" :title="$t('hellow.claimquest')">
    <div style="margin-left: 20px;margin-top: 10px;margin-bottom: 10px;">
      <el-form label-width="100px">
        <el-form label-width="210px" label-position="right">
          <el-form-item :label="$t('hellow.ptotalpairQuantity')" :required="true" style="width: 25vw">
            <el-input :placeholder="$t('hellow.cpairQuantity')" v-model="totalPairQuantity" autocomplete="off" />
          </el-form-item>
          <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;">
            <el-select
            :placeholder="$t('hellow.line1')"
            disabled
             style="width: 270px"
             v-model="cell">
               <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              />
          </el-select>
          </el-form-item>
          <el-form-item :label="$t('hellow.hollowformulp')" :required="true" style="width: 25vw;">
        <el-select
            v-model="selectedFormulaName"
            filterable
            clearable
            :placeholder="$t('hellow.phollowformula')"
            style="width: 270px"
            @change="handleFormulaChange"
        >
          <el-option
              v-for="item in titleformulaName"
              :key="item.id"
              :label="item.formulaName"
              :value="item.formulaName"
          />
        </el-select>
      </el-form-item>
        </el-form>
      </el-form>
    </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="finisha">
          {{ $t('reportWork.sure') }}
        </el-button>
        <el-button @click="dialogFormVisiblec = false">{{ $t('reportWork.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 强制出片 -->
  <el-dialog v-model="dialogFormVisibled" top="21vh" width="40%" :title="$t('hellow.forcedfilming')">
    <div style="margin-left: 20px;margin-top: 10px;margin-bottom: 10px;">
      <el-form label-width="100px">
        <el-form label-width="210px" label-position="right">
          <el-form-item :label="$t('hellow.ptotalpairQuantity')" :required="true" style="width: 25vw">
            <el-input :placeholder="$t('hellow.cpairQuantity')" v-model="totalPairQuantitya" autocomplete="off" />
          </el-form-item>
          <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;">
            <el-select
            :placeholder="$t('hellow.line1')"
            disabled
             style="width: 270px"
             v-model="cella">
               <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              />
          </el-select>
          </el-form-item>
          <el-form-item :label="$t('hellow.hollowformulp')" :required="true" style="width: 25vw;">
        <el-select
            v-model="selectedFormulaName"
            filterable
            clearable
            :placeholder="$t('hellow.phollowformula')"
            style="width: 270px"
            @change="handleFormulaChange"
        >
          <el-option
              v-for="item in titleformulaName"
              :key="item.id"
              :label="item.formulaName"
              :value="item.formulaName"
          />
        </el-select>
      </el-form-item>
        </el-form>
      </el-form>
    </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="finishb">
          {{ $t('reportWork.sure') }}
        </el-button>
        <el-button @click="dialogFormVisibled = false">{{ $t('reportWork.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 缺片详情 -->
  <el-dialog v-model="dialogFormVisibleb" top="7vh" width="70%" height="500">
    <div style="margin-top: -20px;text-align: center;margin-left: 400px;">
      <el-form-item :label="$t('hellow.cardnumbera')" style="width: 14vw">
        {{ temperingtotal }}
        {{ currentRow.flowCardId }}
      </el-form-item>
    </div>
    <el-table ref="table" style="margin-top: 20px;height: 400px;"
              :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="patternWidth" align="center" :label="$t('hellow.thickness')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.coatingtypes')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.height')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.width')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.totalnumber')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.missingnumber')" min-width="80"/>
      <el-table-column prop="patternHeight" align="center" :label="$t('hellow.brokenpieces')" min-width="80"/>
          :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
      <el-table-column prop="thickness" align="center" :label="$t('hellow.thickness')" min-width="80"/>
      <el-table-column prop="filmsId" align="center" :label="$t('hellow.coatingtypes')" min-width="80"/>
      <el-table-column prop="height" align="center" :label="$t('hellow.height')" min-width="80"/>
      <el-table-column prop="width" align="center" :label="$t('hellow.width')" min-width="80"/>
      <!-- <el-table-column prop="totalCount" align="center" :label="$t('hellow.totalnumber')" min-width="80"/> -->
      <el-table-column prop="lackCount" align="center" :label="$t('hellow.missingnumber')" min-width="80"/>
      <!-- <el-table-column prop="damageCount" align="center" :label="$t('hellow.brokenpieces')" min-width="80"/> -->
      <div style="float: right;margin-bottom: 5px;">
        <el-pagination layout="prev, pager, next" :total="50"/>
      </div>
    </el-table>
    <div style="display: flex;margin-left: 40%;margin-top: 10px;">
  <el-pagination
          background
          size="large"
          layout="prev, pager, next"
          :total="30"
          :current-page.sync="currentPage2"
          @current-change="handlePageChange2"
        />
  </div>
  </el-dialog>
  <!-- 开始任务 -->
  <el-dialog v-model="blinda" top="30vh" width="25%" :title="$t('hellow.pstarttask')">
    <template #footer>
      <div id="dialog-footer">
@@ -111,80 +797,892 @@
      </div>
    </template>
  </el-dialog>
  <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('hellow.pstoptask')">
  <!-- 暂停任务 -->
  <el-dialog v-model="blindc" top="30vh" width="25%" :title="$t('hellow.pstopproject')">
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handlea">
        <el-button type="primary" @click="handlec">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
        <el-button @click="blindc = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 删除任务 -->
  <el-dialog v-model="blindd" top="30vh" width="25%" :title="$t('hellow.hollowtaskdet')">
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handled">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="blindd = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 预览 -->
  <el-dialog v-model="dialogFormVisiblee" top="24vh" width="25%" :title="$t('hellow.reviewproject')" >
    <div style="margin-left: 50px;margin-bottom: 10px;">
      <el-form-item :label="$t('basicData.projectnumber')" :required="true">
        <el-select
            v-model="selectedProjectNo"
            filterable
            clearable
            :placeholder="$t('basicData.plselectproject')"
            style="width: 260px"
        >
          <el-option
              v-for="item in titleSelectJson.processType"
              :key="item.value"
              :label="item.value"
              :value="item.value"
          />
        </el-select>
      </el-form-item>
    </div>
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handleup">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="dialogFormVisiblee = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 中空配方 -->
  <el-dialog v-model="mulan" top="15vh" width="80%" :title="$t('hellow.hollowformula')">
    <el-button id="searchButton" type="primary"  @click="openAddDialog">
          {{ $t('basicData.add') }}
        </el-button>
      <el-table ref="table" style="margin-top: 20px;height: 400px;"
                :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
        <el-table-column prop="formulaName" fixed align="center" :label="$t('hellow.formulaNamep')" min-width="120"/>
        <el-table-column prop="filmRemove" align="center" :label="$t('Mounting.removalmethodp')"/>
        <el-table-column prop="casOne" align="center" :label="$t('hellow.casOne')" min-width="110">
      <template #default="scope">
        <el-tag :type="getcasOnea(scope.row.casOne)">
          {{ getStatuscasOnea(scope.row.casOne) }}
        </el-tag>
      </template>
    </el-table-column>
    <el-table-column prop="casTwo" align="center" :label="$t('hellow.casTwo')" min-width="110">
      <template #default="scope">
        <el-tag :type="getcasOneb(scope.row.casTwo)">
          {{ getStatuscasOneb(scope.row.casTwo) }}
        </el-tag>
      </template>
    </el-table-column>
    <el-table-column prop="casThree" align="center" :label="$t('hellow.casThree')" min-width="110">
      <template #default="scope">
        <el-tag :type="getcasOnec(scope.row.casThree)">
          {{ getStatuscasOnec(scope.row.casThree) }}
        </el-tag>
      </template>
    </el-table-column>
    <el-table-column prop="casFour" align="center" :label="$t('hellow.casFour')" min-width="110">
      <template #default="scope">
        <el-tag :type="getcasOned(scope.row.casFour)">
          {{ getStatuscasOned(scope.row.casFour) }}
        </el-tag>
      </template>
    </el-table-column>
        <el-table-column prop="frameOne" align="center" :label="$t('hellow.frameOne')"/>
        <el-table-column prop="frameTwo" align="center" :label="$t('hellow.frameTwo')"/>
        <el-table-column prop="frameThree" align="center" :label="$t('hellow.frameThree')"/>
        <el-table-column prop="frameFour" align="center" :label="$t('hellow.frameFour')"/>
        <el-table-column prop="intervalFrameHeightOne" align="center" :label="$t('hellow.intervalFrameHeightOne')" min-width="110"/>
        <el-table-column prop="intervalFrameHeightTwo" align="center" :label="$t('hellow.intervalFrameHeightTwo')" min-width="110"/>
        <el-table-column prop="intervalFrameHeightThree" align="center" :label="$t('hellow.intervalFrameHeightThree')" min-width="110"/>
        <el-table-column prop="intervalFrameHeightFour" align="center" :label="$t('hellow.intervalFrameHeightFour')" min-width="110"/>
        <!-- <el-table-column prop="intervalFrameTypeOne" align="center" :label="$t('hellow.intervalFrameTypeOne')" min-width="110">
          <template #default="scope">
         <el-tag :type="getStatusTypea(scope.row.intervalFrameTypeOne)">
          {{ getStatusTexta(scope.row.intervalFrameTypeOne) }}
        </el-tag>
      </template>
        </el-table-column> -->
        <el-table-column prop="intervalFrameTypeOne" align="center" :label="$t('hellow.intervalFrameTypeOne')" min-width="110">
      <template #default="scope">
        <el-tag :type="getStatusTypea(scope.row.intervalFrameTypeOne)">
          {{ getStatusTexta(scope.row.intervalFrameTypeOne) }}
        </el-tag>
      </template>
    </el-table-column>
        <el-table-column prop="intervalFrameTypeTwo" align="center" :label="$t('hellow.intervalFrameTypeTwo')" min-width="110">
          <template #default="scope">
         <el-tag :type="getStatusTypeb(scope.row.intervalFrameTypeTwo)">
          {{ getStatusTextb(scope.row.intervalFrameTypeTwo) }}
        </el-tag>
      </template>
        </el-table-column>
        <el-table-column prop="intervalFrameTypeThree" align="center" :label="$t('hellow.intervalFrameTypeThree')" min-width="110">
          <template #default="scope">
         <el-tag :type="getStatusTypec(scope.row.intervalFrameTypeThree)">
          {{ getStatusTextc(scope.row.intervalFrameTypeThree) }}
        </el-tag>
      </template>
        </el-table-column>
        <el-table-column prop="intervalFrameTypeFour" align="center" :label="$t('hellow.intervalFrameTypeFour')" min-width="110">
          <template #default="scope">
         <el-tag :type="getStatusTyped(scope.row.intervalFrameTypeFour)">
          {{ getStatusTextd(scope.row.intervalFrameTypeFour) }}
        </el-tag>
      </template>
        </el-table-column>
        <el-table-column prop="intervalFrameWidthOne" align="center" :label="$t('hellow.intervalFrameWidthOne')" min-width="110"/>
        <el-table-column prop="intervalFrameWidthTwo" align="center" :label="$t('hellow.intervalFrameWidthTwo')" min-width="110"/>
        <el-table-column prop="intervalFrameWidthThree" align="center" :label="$t('hellow.intervalFrameWidthThree')" min-width="110"/>
        <el-table-column prop="intervalFrameWidthFour" align="center" :label="$t('hellow.intervalFrameWidthFour')" min-width="110"/>
        <el-table-column prop="sealInsert" align="center" :label="$t('hellow.sealInsert')"/>
        <el-table-column prop="topRemove" align="center" :label="$t('hellow.topRemovep')" min-width="95"> </el-table-column>
        <el-table-column prop="bottomRemove" align="center" :label="$t('hellow.bottomRemovep')" min-width="95"> </el-table-column>
        <el-table-column prop="leftRemove" align="center" :label="$t('hellow.leftRemovep')" min-width="95"> </el-table-column>
        <el-table-column prop="rightRemove" align="center" :label="$t('hellow.rightRemovep')" min-width="95"> </el-table-column>
        <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270">
            <template #default="scope">
              <el-button type="text" plain @click="handleEdit(scope.row)">{{ $t('productStock.exit') }}</el-button>
              <el-button type="text" plain @click="opena(scope.row)">{{ $t('productStock.delete') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
        <template #footer>
      <div id="dialog-footer">
        <el-button @click="mulan = false">{{ $t('large.close') }}</el-button>
      </div>
    </template>
</el-dialog>
 <!-- 历史任务 -->
 <el-dialog v-model="blindb" top="5vh" width="95%" @close="iframeUrl=''">
     <iframe
     :src="iframeUrl"
     marginwidth="2000px"
     marginheight="2000px"
     width="100%"
     height="750px"
     frameborder="0"
     ></iframe>
  </el-dialog>
</template>
<script setup>
import {ElMessage, ElMessageBox} from 'element-plus'
import {onBeforeUnmount, onMounted, onUnmounted, ref} from "vue";
import { ElMessage, ElMessageBox } from 'element-plus'
import {onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed} from "vue";
import request from "@/utils/request"
import {closeWebSocket} from '@/utils/WebSocketService';
import {host, WebSocketHost} from '@/utils/constants'
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import {useI18n} from 'vue-i18n'
const {t} = useI18n()
const blinda = ref(false)
const blindb = ref(false)
const blindc = ref(false)
const blindd = ref(false)
const mulan = ref(false)
const tableDataa = ref([])
const tableDatab = ref([])
const tableDatac = ref([])
const tableDatax = ref([])
const cell = ref('')
const cella = ref('')
const selectedProjectNo = ref('');
const totalPairQuantity = ref('')
const totalPairQuantitya = ref('')
const bottomRemove = ref('')
const filmRemove = ref('')
const formulaName = ref('')
const leftRemove = ref('')
const rightRemove = ref('')
const topRemove = ref('')
const filmsId = ref('')
const thickness = ref('')
const flowCardId = ref('')
const casFour = ref('')
const casOne = ref('')
const casThree = ref('')
const casTwo = ref('')
const frameFour = ref('')
const frameOne = ref('')
const frameThree = ref('')
const frameTwo = ref('')
const intervalFrameHeightOne = ref('')
const intervalFrameHeightTwo = ref('')
const intervalFrameHeightThree = ref('')
const intervalFrameHeightFour = ref('')
const intervalFrameTypeOne = ref('')
const intervalFrameTypeTwo = ref('')
const intervalFrameTypeThree = ref('')
const intervalFrameTypeFour = ref('')
const intervalFrameWidthOne = ref('')
const intervalFrameWidthTwo = ref('')
const intervalFrameWidthThree = ref('')
const intervalFrameWidthFour = ref('')
const sealInsert = ref('')
const freeone = ref('#911005');
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
const tableDatab = [
const dialogFormVisiblec = ref(false)
const dialogFormVisibled = ref(false)
const dialogFormVisiblee = ref(false)
const add = ref(false)
const adda = ref(false)
const currentPage2 = ref(1)
const currentRow = reactive({});
const formattedProcessType = ref([]);
const selectedFormulaName = ref('');
let selectedFormulaId = ref(null);
const formulaNameid = ref({ id: null });
const titleformulaName = ref({ formulaName: [] ,formulaId: []});
const titleSelectJson = ref({ processType: [] });
const iframeUrl = ref('');
const handlehistorical = (row) => {
  blindb.value = true;
  iframeUrl.value = `${window.location.origin}/#/hollow/hellowquiphistory`;
};
const options = [
  {
    layoutSequence: 'Tom',
    value: 930,
    label: t('hellow.line1'),
  },
  {
    layoutSequence: '2016-05-02',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
    value: 931,
    label: t('hellow.line2'),
  }
]
let socket = null;
// const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
// const handleMessage = (data) => {
// adjustedRects.value = data.device[0].map(rect => ({
//       ...rect,
//       completed: rect.completedQuantity,
//       breakage: rect.breakageQuantity,
//       thisProcess: rect.thisProcess,
//     }));
// };
// let socket;
const socketUrl = `ws://${WebSocketHost}:${host}/api/hollowGlass/api/talk/HollowGlassone`;
const currentPage = ref(parseInt(window.localStorage.getItem('currentPage')) || 1);
watch(() => currentPage.value, (newVal) => {
  window.localStorage.setItem('currentPage', newVal);
});
const currentPageKey = computed(() => `93${currentPage.value - 1}`);
const handlePageChange1 = (newPage) => {
  currentPage.value = newPage;
};
const handlePageChange2 = (newPage) => {
  currentPage2.value = newPage;
  fetchFlowBind(currentRow.flowCardId, currentPage2.value);
};
const handleMessage = (data) => {
  try {
    tableDataa.value = data.queueInfo[0];
    const allPageData = data;
    const currentPageKeyValue = currentPageKey.value;
    const currentPageData = allPageData[currentPageKeyValue];
    if (data.freeRequest != null) {
      freeone.value = data.freeRequest[0] == true ? 'green' : '#911005';
  }
    // if (currentPageData && Array.isArray(currentPageData) && currentPageData.length > 0) {
    //   tableDataa.value = currentPageData[0];
    // } else {
    //   console.warn('No data for the current page key:', currentPageKeyValue);
    // }
  } catch (error) {
  }
};
onMounted(() => {
  // socket = new WebSocket(socketUrl);
  // socket.onmessage = (event) => {
  //   const data = JSON.parse(event.data);
  //   // updateCharts();
  // };
  // };
  socket = initializeWebSocket(socketUrl, handleMessage);
  window.localStorage.setItem('flowCardId', '')
});
onUnmounted(() => {
  if (socket) {
    closeWebSocket(socket);
  }
});
// 开始任务 
const handleBinda = (row) => {
  blinda.value = true;
};
// 停止任务
const handleBindb = (row) => {
  blindb.value = true;
// 暂停任务
const handleBindc = (row) => {
  blindc.value = true;
};
// 删除任务
const handleBindd = (row) => {
  blindd.value = true;
};
const removalMethodMap = {
  1: t('Mounting.removal'),
  0: t('Mounting.noremoval')
};
const removalcas = {
  1: t('hellow.Y'),
  0: t('hellow.F')
}
const removalinterval = {
  1: t('hellow.intervalFrameTypeb'),
  5: t('hellow.intervalFrameTypea')
}
// 处理编辑按钮点击
function handleEdit(row) {
  window.localStorage.setItem('id', row.id)
    formulaName.value = row.formulaName;
    filmRemove.value = removalMethodMap[row.filmRemove];
    bottomRemove.value = row.bottomRemove;
    leftRemove.value = row.leftRemove;
    rightRemove.value = row.rightRemove;
    topRemove.value = row.topRemove;
    casFour.value = removalcas[row.casFour];
    casOne.value = removalcas[row.casOne];
    casThree.value = removalcas[row.casThree];
    casTwo.value = removalcas[row.casTwo];
    frameFour.value = row.frameFour;
    frameOne.value = row.frameOne;
    frameThree.value = row.frameThree;
    frameTwo.value = row.frameTwo;
    intervalFrameHeightOne.value = row.intervalFrameHeightOne;
    intervalFrameHeightTwo.value = row.intervalFrameHeightTwo;
    intervalFrameHeightThree.value = row.intervalFrameHeightThree;
    intervalFrameHeightFour.value = row.intervalFrameHeightFour;
    intervalFrameTypeOne.value =  removalinterval[row.intervalFrameTypeOne];
    intervalFrameTypeTwo.value =  removalinterval[row.intervalFrameTypeTwo];
    intervalFrameTypeThree.value = removalinterval[row.intervalFrameTypeThree];
    intervalFrameTypeFour.value = removalinterval[row.intervalFrameTypeFour];
    intervalFrameWidthOne.value = row.intervalFrameWidthOne;
    intervalFrameWidthTwo.value = row.intervalFrameWidthTwo;
    intervalFrameWidthThree.value = row.intervalFrameWidthThree;
    intervalFrameWidthFour.value = row.intervalFrameWidthFour;
    sealInsert.value = row.sealInsert;
    adda.value = true;
}
function openAddDialog() {
    formulaName.value = '';
    filmRemove.value = '';
    bottomRemove.value = '';
    leftRemove.value = '';
    rightRemove.value = '';
    topRemove.value = '';
    casFour.value = '';
    casOne.value = '';
    casThree.value = '';
    casTwo.value = '';
    frameFour.value = '';
    frameOne.value = '';
    frameThree.value = '';
    frameTwo.value = '';
    intervalFrameHeightOne.value = '';
    intervalFrameHeightTwo.value = '';
    intervalFrameHeightThree.value = '';
    intervalFrameHeightFour.value = '';
    intervalFrameTypeOne.value = '';
    intervalFrameTypeTwo.value = '';
    intervalFrameTypeThree.value = '';
    intervalFrameTypeFour.value = '';
    intervalFrameWidthOne.value = '';
    intervalFrameWidthTwo.value = '';
    intervalFrameWidthThree.value = '';
    intervalFrameWidthFour.value = '';
    sealInsert.value = '';
    add.value = true;
}
const handlezhiban = () => {
  dialogFormVisiblea.value = true;
  fetchFlowCardId();
};
const handleormulan = () => {
  mulan.value = true;
  fetchmulan();
};
function getcasOnea(casOne) {
  switch (casOne) {
    case "1":
      return 'success';
    case "0":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatuscasOnea(casOne) {
  switch (casOne) {
    case "1":
      return t('hellow.Y');
    case "0":
      return t('hellow.F');
    default:
      return '';
  }
}
function getcasOneb(casOne) {
  switch (casOne) {
    case "1":
      return 'success';
    case "0":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatuscasOneb(casOne) {
  switch (casOne) {
    case "1":
      return t('hellow.Y');
    case "0":
      return t('hellow.F');
    default:
      return '';
  }
}
function getcasOnec(casOne) {
  switch (casOne) {
    case "1":
      return 'success';
    case "0":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatuscasOnec(casOne) {
  switch (casOne) {
    case "1":
      return t('hellow.Y');
    case "0":
      return t('hellow.F');
    default:
      return '';
  }
}
function getcasOned(casOne) {
  switch (casOne) {
    case "1":
      return 'success';
    case "0":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatuscasOned(casOne) {
  switch (casOne) {
    case "1":
      return t('hellow.Y');
    case "0":
      return t('hellow.F');
    default:
      return '';
  }
}
function getStatusTypea(intervalFrameTypeOne) {
  switch (intervalFrameTypeOne) {
    case "1":
      return 'success';
    case "5":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatusTexta(intervalFrameTypeOne) {
  switch (intervalFrameTypeOne) {
    case "1":
      return t('hellow.intervalFrameTypeb');
    case "5":
      return t('hellow.intervalFrameTypea');
    default:
      return '';
  }
}
function getStatusTypeb(intervalFrameTypeTwo) {
  switch (intervalFrameTypeTwo) {
    case "1":
      return 'success';
    case "5":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatusTextb(intervalFrameTypeTwo) {
  switch (intervalFrameTypeTwo) {
    case "1":
      return t('hellow.intervalFrameTypeb');
    case "5":
      return t('hellow.intervalFrameTypea');
    default:
      return '';
  }
}
function getStatusTypec(intervalFrameTypeThree) {
  switch (intervalFrameTypeThree) {
    case "1":
      return 'success';
    case "5":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatusTextc(intervalFrameTypeThree) {
  switch (intervalFrameTypeThree) {
    case "1":
      return t('hellow.intervalFrameTypeb');
    case "5":
      return t('hellow.intervalFrameTypea');
    default:
      return '';
  }
}
function getStatusTyped(intervalFrameTypeFour) {
  switch (intervalFrameTypeFour) {
    case "1":
      return 'success';
    case "5":
      return 'warning';
    default:
      return 'info';
  }
}
function getStatusTextd(intervalFrameTypeFour) {
  switch (intervalFrameTypeFour) {
    case "1":
      return t('hellow.intervalFrameTypeb');
    case "5":
      return t('hellow.intervalFrameTypea');
    default:
      return '';
  }
}
// 预览
const selectproject = () => {
  dialogFormVisiblee.value = true;
  selectgong();
};
// 缺片详情
const handleBindRack = (row) => {
  currentPage2.value = 1;
  const { flowCardId } = row;
  currentRow.flowCardId  = row.flowCardId;
  dialogFormVisibleb.value = true;
  fetchFlowBind(flowCardId,currentPage2.value);
};
// 领取任务
const handletake = (row) => {
  window.localStorage.setItem('flowCardId', row.flowCardId)
  dialogFormVisiblec.value = true;
  fetchmulan()
};
// 强制出片
const handleout = (row) => {
  window.localStorage.setItem('flowCardId', row.flowCardId)
  dialogFormVisibled.value = true;
  fetchmulan()
};
// 创建任务
const fetchFlowCardId = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{
      deviceId: 0,
      filmsId: '',
      flowCardId: '',
      thickness: 0,
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatab.value = response.data;
    } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
function tableRowClassName({ row }) {
  if (row.isThroughSlot == true) {
    return 'row-red-background';
  }
  return '';
}
function nestedTableRowClassName(parentRow, row) {
  if (parentRow.isThroughSlot == true) {
    return 'row-red-background';
  }
  return '';
}
const fetchFlowCardsearch = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{
      filmsId: filmsId.value,
      flowCardId: flowCardId.value,
      thickness: thickness.value
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatab.value = response.data;
    } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
// 中空配方
const fetchmulan = async () => {
  try {
    var url="/hollowGlass/hollowFormulaDetails/listFormulaDetails?keyword="+'';
    const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatax.value = response.data;
      titleformulaName.value = response.data.map(item => ({ formulaId: item.id, formulaName: item.formulaName }));
    } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
const handleFormulaChange = (value) => {
  const selectedItem = titleformulaName.value.find(item => item.formulaName === value);
  if (selectedItem) {
    formulaNameid.value = { id: selectedItem.formulaId };
    window.localStorage.setItem('id', formulaNameid.value.id)
  } else {
    formulaNameid.value = { id: null };
  }
};
// 验证函数
function validateForm() {
  const errors = [];
  if (!formulaName.value) errors.push('必填!');
  if (filmRemove.value === null) errors.push('必填!');
  if (!bottomRemove.value) errors.push('必填!');
  if (!topRemove.value) errors.push('必填!');
  if (!leftRemove.value) errors.push('必填!');
  if (!rightRemove.value) errors.push('必填!');
  if (casOne.value === null) errors.push('必填!');
  if (!frameOne.value) errors.push('必填!');
  if (!intervalFrameHeightOne.value) errors.push('必填!');
  if (!intervalFrameWidthOne.value) errors.push('必填!');
  if (intervalFrameTypeOne.value === null) errors.push('必填!');
  if (!sealInsert.value) errors.push('必填!');
  if (errors.length > 0) {
    ElMessage.error(errors.join(''));
    return false;
  }
  return true;
}
// 中空配方添加
const handleConfirm = async () => {
  try {
    if (!validateForm()) return;
    const response = await request.post('/hollowGlass/hollowFormulaDetails/saveFormulaDetails',{
      formulaName: formulaName.value,
      filmRemove: filmRemove.value,
      bottomRemove: bottomRemove.value,
      leftRemove: leftRemove.value,
      rightRemove: rightRemove.value,
      topRemove: topRemove.value,
      casFour: casFour.value,
      casOne: casOne.value,
      casThree: casThree.value,
      casTwo: casTwo.value,
      frameFour: frameFour.value,
      frameOne: frameOne.value,
      frameThree: frameThree.value,
      frameTwo: frameTwo.value,
      intervalFrameHeightOne: intervalFrameHeightOne.value,
      intervalFrameHeightTwo: intervalFrameHeightTwo.value,
      intervalFrameHeightThree: intervalFrameHeightThree.value,
      intervalFrameHeightFour: intervalFrameHeightFour.value,
      intervalFrameTypeOne: intervalFrameTypeOne.value,
      intervalFrameTypeTwo: intervalFrameTypeTwo.value,
      intervalFrameTypeThree: intervalFrameTypeThree.value,
      intervalFrameTypeFour: intervalFrameTypeFour.value,
      intervalFrameWidthOne: intervalFrameWidthOne.value,
      intervalFrameWidthTwo: intervalFrameWidthTwo.value,
      intervalFrameWidthThree: intervalFrameWidthThree.value,
      intervalFrameWidthFour: intervalFrameWidthFour.value,
      sealInsert: sealInsert.value,
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      // tableDatax.value = response.data;
      fetchmulan()
      add.value = false
      formulaName.value = '';
      filmRemove.value = '';
      bottomRemove.value = '';
      leftRemove.value = '';
      rightRemove.value = '';
      topRemove.value = '';
      casFour.value = '';
      casOne.value = '';
      casThree.value = '';
      casTwo.value = '';
      frameFour.value = '';
      frameOne.value = '';
      frameThree.value = '';
      frameTwo.value = '';
      intervalFrameHeightOne.value = '';
      intervalFrameHeightTwo.value = '';
      intervalFrameHeightThree.value = '';
      intervalFrameHeightFour.value = '';
      intervalFrameTypeOne.value = '';
      intervalFrameTypeTwo.value = '';
      intervalFrameTypeThree.value = '';
      intervalFrameTypeFour.value = '';
      intervalFrameWidthOne.value = '';
      intervalFrameWidthTwo.value = '';
      intervalFrameWidthThree.value = '';
      intervalFrameWidthFour.value = '';
      sealInsert.value = '';
    } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
const removalMethodMapa = {
  [t('Mounting.removal')]: 1,
  [t('Mounting.noremoval')]: 0,
};
const removalcasa = {
  [t('hellow.Y')]: 1,
  [t('hellow.F')]: 0,
}
const removalintervala = {
  [t('hellow.intervalFrameTypeb')]: 1,
  [t('hellow.intervalFrameTypea')]: 5,
}
// 中空配方修改
 const handledit = async() => {
  let id = window.localStorage.getItem('id')
  try {
    const response = await request.post('/hollowGlass/hollowFormulaDetails/updateFormulaDetails',{
      id: id,
      formulaName: formulaName.value,
      filmRemove: removalMethodMapa[filmRemove.value],
      bottomRemove: bottomRemove.value,
      leftRemove: leftRemove.value,
      rightRemove: rightRemove.value,
      topRemove: topRemove.value,
      casFour: removalcasa[casFour.value],
      casOne: removalcasa[casOne.value],
      casThree: removalcasa[casThree.value],
      casTwo: removalcasa[casTwo.value],
      frameFour: frameFour.value,
      frameOne: frameOne.value,
      frameThree: frameThree.value,
      frameTwo: frameTwo.value,
      intervalFrameHeightOne: intervalFrameHeightOne.value,
      intervalFrameHeightTwo: intervalFrameHeightTwo.value,
      intervalFrameHeightThree: intervalFrameHeightThree.value,
      intervalFrameHeightFour: intervalFrameHeightFour.value,
      intervalFrameTypeOne: removalintervala[intervalFrameTypeOne.value],
      intervalFrameTypeTwo: removalintervala[intervalFrameTypeTwo.value],
      intervalFrameTypeThree: removalintervala[intervalFrameTypeThree.value],
      intervalFrameTypeFour:  removalintervala[intervalFrameTypeFour.value],
      intervalFrameWidthOne: intervalFrameWidthOne.value,
      intervalFrameWidthTwo: intervalFrameWidthTwo.value,
      intervalFrameWidthThree: intervalFrameWidthThree.value,
      intervalFrameWidthFour: intervalFrameWidthFour.value,
      sealInsert: sealInsert.value,
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      adda.value = false
      fetchmulan()
    } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
// 中空配方删除
 const opena = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('hellow.hollowformuldet'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
    var url="/hollowGlass/hollowFormulaDetails/deleteFormulaDetails?idList="+row.id;
    const response = await request.post(url)
    if (response.code === 200) {
      ElMessage.success(response.message);
      fetchmulan()
    } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
  }
};
// 工程号
const selectgong = async () => {
  try {
    var url="/hollowGlass/hollowGlassOutRelationInfo/hollowTaskList?cell="+ 930;
    const response = await request.post(url)
    if (response.code == 200) {
      const processTypes = response.data.map((projectNo, index) => ({
        value: projectNo,
        label: projectNo
      }));
      titleSelectJson.value.processType = processTypes;
    } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
// 预览
const handleup = async () => {
  try {
    var url="/hollowGlass/hollowGlassOutRelationInfo/appointHollowTaskDetails?cell="+ 930 + "&flowCardId=" + selectedProjectNo.value;
  window.localStorage.setItem('flowCardId', selectedProjectNo.value)
  const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDataa.value = response.data;
      dialogFormVisiblee.value = false
      selectedProjectNo.value = ''
      closeWebSocket(socket);
  } else {
      ElMessage.error('Failed to fetch data');
    }
  } catch (error) {
    ElMessage.error('Error fetching data');
  }
};
const parseData = (rawData) => {
  return Object.entries(rawData).map(([compositeKey, records]) => {
    const [projectNumber, productName] = compositeKey.split(':');
    return {
      projectNumber,
      productname: productName,
      records: records.map(record => ({
        ...record,
      }))
    };
  });
};
const fetchFlowBind = async (flowCardId, page) => {
  try {
    var url="/hollowGlass/hollowGlassRelationInfo/queryLackByFlowCard?flowCardId="+flowCardId + "&layer=" + 1;
    const response = await request.post(url)
    if (response.code == 200) {
      tableDatac.value = response.data[page];
      ElMessage.success(response.message);
    } else {
      ElMessage.error(response.message);
    }
  } catch (error) {
  }
}
// 开始任务
const handlea = async () => {
  try {
    let engineeringId = window.localStorage.getItem('engineeringId')
    console.log(engineeringId);
    if (engineeringId !== '') {
      const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
        engineeringId: engineeringId,
        state: 0,
      })
    let flowCardId = window.localStorage.getItem('flowCardId')
    if (flowCardId !== '') {
    var url="/hollowGlass/hollowGlassOutRelationInfo/startTask?flowCardId="+flowCardId + "&cell=" + 930;
    const response = await request.post(url)
      if (response.code == 200) {
        ElMessage.success(response.message);
        blinda.value = false;
@@ -198,73 +1696,109 @@
      })
    }
  } catch (error) {
    console.error(error);
  }
}
// 暂停任务
const handlec = async () => {
  try {
    let flowCardId = window.localStorage.getItem('flowCardId')
    if (flowCardId !== '') {
    var url="/hollowGlass/hollowGlassOutRelationInfo/pauseTask?flowCardId="+flowCardId + "&cell=" + 930;
    const response = await request.post(url)
      if (response.code == 200) {
        ElMessage.success(response.message);
        blindc.value = false;
      } else {
        ElMessage.error(response.message);
      }
    } else {
      ElMessage({
        type: 'info',
        message: t('basicData.infonull'),
      })
    }
  } catch (error) {
  }
}
// 删除任务
const handled = async () => {
  try {
    let flowCardId = window.localStorage.getItem('flowCardId')
    if (flowCardId !== '') {
    var url="/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId="+flowCardId + "&cell=" + 930;
    const response = await request.post(url)
      if (response.code == 200) {
        ElMessage.success(response.message);
        blindd.value = false;
      } else {
        ElMessage.error(response.message);
      }
    } else {
      ElMessage({
        type: 'info',
        message: t('basicData.infonull'),
      })
    }
  } catch (error) {
  }
}
// 领取任务
const finisha = async (row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
        t('hellow.pclaimquest'),
        t('searchOrder.prompt'),
        {
          confirmButtonText: t('searchOrder.yes'),
          cancelButtonText: t('searchOrder.cancel'),
          type: 'warning',
const finisha = async () => {
  let flowCardId = window.localStorage.getItem('flowCardId')
  let id = window.localStorage.getItem('id')
    try {
      var url="/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell="+ 930 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value+ "&formulaId=" + id;
      const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      dialogFormVisiblec.value = false;
      cell.value = '';
      formulaName.value = '';
      totalPairQuantity.value = '';
    } else {
          ElMessage.error(response.message);
        }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/finishBigStorageCageDetails", row)
      if (response.code === 200) {
        ElMessage.success(response.message);
      } else {
        ElMessage.error(response.message);
      } catch (error) {
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 强制出片
const finishb = async (row) => {
const finishb = async () => {
  let flowCardId = window.localStorage.getItem('flowCardId')
  let id = window.localStorage.getItem('id')
  try {
    const confirmResult = await ElMessageBox.confirm(
        t('hellow.pforcedfilming'),
        t('searchOrder.prompt'),
        {
          confirmButtonText: t('searchOrder.yes'),
          cancelButtonText: t('searchOrder.cancel'),
          type: 'warning',
      var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+ 930 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value+ "&formulaId=" + id;
      const response = await request.post(url)
    if (response.code == 200) {
      ElMessage.success(response.message);
      dialogFormVisibled.value = false;
      cella.value = '';
      totalPairQuantitya.value = '';
    } else {
          ElMessage.error(response.message);
        }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/finishBigStorageCageDetails", row)
      if (response.code === 200) {
        ElMessage.success(response.message);
      } else {
        ElMessage.error(response.message);
      } catch (error) {
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
onUnmounted(() => {
  socket.close();
});
onMounted(() => {
  // fetchTableData();
  // socket = initializeWebSocket(socketUrl, handleMessage);
});
onUnmounted(() => {
  if (socket) {
    closeWebSocket(socket);
  }
});
onBeforeUnmount(() => {
  console.log("关闭了")
  closeWebSocket();
});
</script>
<style scoped></style>
<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 {
  text-align: center;
  margin-top: -15px;
}
#dotClass {
  display: flex;
  margin-left: 20px;
  size: 50px;
  margin-top: 20px;
  margin-bottom: 10px;
}
::v-deep(.row-red-background) {
  background-color: rgb(224.6, 242.8, 215.6) !important;
}
</style>