UI-Project/src/views/hollow/hollowequipment.vue
@@ -2,16 +2,27 @@
  <div style="height: 600px;">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading">
      <div style="display: flex; flex-direction: row; align-items: center; margin-bottom: 10px;">
        <el-button id="searchButton" type="success" @click="handlezhiban">
        <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 type="success" @click="selectproject">
          {{ $t('basicData.selectproject') }}
        <el-button type="primary" @click="selectproject">
          {{ $t('hellow.reviewproject') }}
        </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">{{
        <el-button style="margin-left: 10px;" id="searchButton" type="info" @click="handleBindd">{{
            $t('hellow.taskdet')
          }}
        </el-button>
        <el-button style="margin-left: 10px;" id="searchButton" type="warning" @click="handleBindc">{{
            $t('hellow.stopproject')
          }}
        </el-button>
        <el-button style="margin-left: 10px;" id="searchButton" type="danger" @click="handleBindb">{{
            $t('hellow.stoptask')
          }}
        </el-button>
@@ -21,21 +32,21 @@
        <el-form>
          <el-row>
            <el-col :span="4">
              <div id="dt" style="font-size: 15px;">
              <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;">
              <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;">
              <div style="font-size: 15px;">
                <el-form-item :label="$t('hellow.linenumber')" style="width: 14vw">
                  {{ fulltotals }}
                </el-form-item>
@@ -60,7 +71,7 @@
            </template>
          </el-table-column>
        </el-table>
      <div style="display: flex;margin-left: 40%;margin-top: 10px;">
      <!-- <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
@@ -70,12 +81,18 @@
          :current-page.sync="currentPage"
          @current-change="handlePageChange1"
        />
      </div>
      </div> -->
  </div>
    </el-card>
  </div>
  <!-- 创建任务 -->
  <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%">
    <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-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;"
@@ -83,7 +100,6 @@
    :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }"
    row-key="projectNumber"
  >
    <!-- <el-table-column type="expand"> -->
    <el-table-column>
    <template #default="props">
      <el-table :data="props.row.records" style="width: 100%">
@@ -113,6 +129,386 @@
      </el-table-column>
  </el-table>
</el-dialog>
<!-- 中空配方添加 -->
<el-dialog v-model="add" top="13vh" width="55%" :title="$t('hellow.hollowformula')" >
    <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
     <el-form  size="mini" label-width="150px">
      <el-form label-width="150px" label-position="right">
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;">
            <el-select v-model="filmRemove" clearable  style="width: 220px" :placeholder="$t('Mounting.removalmethod')">
        <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>
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" />
           </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casOneb')" :required="true" style="width: 16vw;">
            <el-select v-model="casOne" clearable :placeholder="$t('hellow.casOnea')" style="width: 220px">
              <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></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casTwob')" :required="true" style="width: 16vw;">
            <el-select v-model="casTwo" clearable :placeholder="$t('hellow.casTwoa')" style="width: 220px">
              <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></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casThreeb')" :required="true" style="width: 16vw;">
            <el-select v-model="casThree" clearable :placeholder="$t('hellow.casThreea')" style="width: 220px">
              <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></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casFourb')" :required="true" style="width: 16vw;">
            <el-select v-model="casFour" clearable :placeholder="$t('hellow.casFoura')" style="width: 220px">
              <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></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameOneb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.frameOnea')" v-model="frameOne" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameTwob')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.frameTwoa')" v-model="frameTwo" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameThreeb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.frameThreea')" v-model="frameThree" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameFourb')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.frameFoura')" v-model="frameFour" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.intervalFrameHeightb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.intervalFrameHeightb')" v-model="intervalFrameHeight" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.intervalFrameWidthb')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.intervalFrameWidtha')" v-model="intervalFrameWidth" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.sealInsertb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.sealInserta')" v-model="sealInsert" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.intervalFrameTyped')" :required="true" style="width: 16vw;">
            <el-select v-model="intervalFrameType" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypec')">
        <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>
              </div>
          </el-col>
        </el-row>
        </el-form>
            </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="13vh" width="55%" :title="$t('hellow.edithollowformula')" >
    <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
     <el-form  size="mini" label-width="150px">
      <el-form label-width="150px" label-position="right">
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;">
            <el-select v-model="filmRemove" clearable  style="width: 220px" :placeholder="$t('Mounting.removalmethod')">
        <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>
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" />
           </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casOneb')" :required="true" style="width: 16vw;">
            <el-select v-model="casOne" clearable :placeholder="$t('hellow.casOnea')" style="width: 220px">
              <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></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casTwob')" :required="true" style="width: 16vw;">
            <el-select v-model="casTwo" clearable :placeholder="$t('hellow.casTwoa')" style="width: 220px">
              <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></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casThreeb')" :required="true" style="width: 16vw;">
            <el-select v-model="casThree" clearable :placeholder="$t('hellow.casThreea')" style="width: 220px">
              <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></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.casFourb')" :required="true" style="width: 16vw;">
            <el-select v-model="casFour" clearable :placeholder="$t('hellow.casFoura')" style="width: 220px">
              <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></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameOneb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.frameOnea')" v-model="frameOne" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameTwob')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.frameTwoa')" v-model="frameTwo" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameThreeb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.frameThreea')" v-model="frameThree" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.frameFourb')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.frameFoura')" v-model="frameFour" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.intervalFrameHeightb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.intervalFrameHeightb')" v-model="intervalFrameHeight" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.intervalFrameWidthb')" :required="true" style="width: 16vw;">
            <el-input :placeholder="$t('hellow.intervalFrameWidtha')" v-model="intervalFrameWidth" autocomplete="off" />
              </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.sealInsertb')" :required="true" style="width: 16vw;">
                <el-input :placeholder="$t('hellow.sealInserta')" v-model="sealInsert" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.intervalFrameTyped')" :required="true" style="width: 16vw;">
            <el-select v-model="intervalFrameType" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypec')">
        <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>
              </div>
          </el-col>
        </el-row>
        </el-form>
            </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;">
@@ -123,7 +519,8 @@
          </el-form-item>
          <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;">
            <el-select 
            :placeholder="$t('hellow.croute')"
            :placeholder="$t('hellow.line1')"
            disabled
             style="width: 270px"  
             v-model="cell">
               <el-option
@@ -134,6 +531,23 @@
              />
          </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>
@@ -156,7 +570,8 @@
          </el-form-item>
          <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;">
            <el-select 
            :placeholder="$t('hellow.croute')"
            :placeholder="$t('hellow.line1')"
            disabled
             style="width: 270px"  
             v-model="cella">
               <el-option
@@ -167,6 +582,23 @@
              />
          </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>
@@ -225,15 +657,37 @@
  <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('hellow.pstoptask')">
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handlea">
        <el-button type="primary" @click="handleb">
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
    </template>
  </el-dialog>
  <!-- 暂停任务 -->
  <el-dialog v-model="blindc" top="30vh" width="25%" :title="$t('hellow.pstopproject')">
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handlec">
          {{ $t('basicData.confirm') }}
        </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="30%" :title="$t('basicData.project')" >
  <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
@@ -241,7 +695,7 @@
            filterable
            clearable
            :placeholder="$t('basicData.plselectproject')"
            style="width: 220px"
            style="width: 260px"
            @input="handleInputChange"
        >
          <el-option
@@ -262,9 +716,85 @@
      </div>
    </template>
  </el-dialog>
  <!-- 中空配方 -->
  <el-dialog v-model="mulan" top="15vh" width="80%" :title="$t('hellow.hollowformula')">
    <el-button id="searchButton" type="primary"  @click="add = true">
          {{ $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')">
          <template #default="scope">
          <el-tag
            :type="scope.row.casOne === 1 ? 'success' : 'danger'"
          >
          {{ scope.row.casOne === 1 ? $t('hellow.Y') : $t('hellow.F') }}
          </el-tag>
        </template>
        </el-table-column>
        <el-table-column prop="casTwo" align="center" :label="$t('hellow.casTwo')">
          <template #default="scope">
          <el-tag
            :type="scope.row.casTwo === 1 ? 'success' : 'danger'"
          >
          {{ scope.row.casTwo === 1 ? $t('hellow.Y') : $t('hellow.F') }}
          </el-tag>
        </template>
        </el-table-column>
        <el-table-column prop="casThree" align="center" :label="$t('hellow.casThree')">
          <template #default="scope">
          <el-tag
            :type="scope.row.casThree === 1 ? 'success' : 'danger'"
          >
          {{ scope.row.casThree === 1 ? $t('hellow.Y') : $t('hellow.F') }}
          </el-tag>
        </template>
        </el-table-column>
        <el-table-column prop="casFour" align="center" :label="$t('hellow.casFour')">
          <template #default="scope">
          <el-tag
            :type="scope.row.casFour === 1 ? 'success' : 'danger'"
          >
          {{ scope.row.casFour === 1 ? $t('hellow.Y') : $t('hellow.F') }}
          </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="intervalFrameHeight" align="center" :label="$t('hellow.intervalFrameHeight')" min-width="95"/>
        <el-table-column prop="intervalFrameType" align="center" :label="$t('hellow.intervalFrameType')" min-width="95">
          <template #default="scope">
         <el-tag :type="getStatusType(scope.row.intervalFrameType)">
          {{ getStatusText(scope.row.intervalFrameType) }}
        </el-tag>
      </template>
        </el-table-column>
        <el-table-column prop="intervalFrameWidth" align="center" :label="$t('hellow.intervalFrameWidth')" min-width="95"/>
        <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 size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('productStock.exit') }}</el-button>
              <el-button size="mini" 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>
</template>
<script setup>
import {ElMessage} from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import {onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed} from "vue";
import request from "@/utils/request"
import {host, WebSocketHost} from '@/utils/constants'
@@ -273,25 +803,53 @@
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 allData = ref({})
const flowCard = ref('')
const tableDatax = ref([])
const cell = ref('')
const cella = ref('')
const selectedProjectNo = ref('');
const ganghua = ref(true)
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 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  intervalFrameHeight = ref('')
const  intervalFrameType = ref('')
const  intervalFrameWidth = ref('')
const  sealInsert = ref('')
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
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 options = [
  {
@@ -301,10 +859,6 @@
  {
    value: 931,
    label: t('hellow.line2'),
  },
  {
    value: 932,
    label: t('hellow.line3'),
  }
]
let socket = null;
@@ -325,14 +879,15 @@
};
const handleMessage = (data) => {
  try {
    const allPageData = data;
      tableDataa.value = data[930][0];
      const allPageData = data;
    const currentPageKeyValue = currentPageKey.value;
    const currentPageData = allPageData[currentPageKeyValue];
    if (currentPageData && Array.isArray(currentPageData) && currentPageData.length > 0) {
      tableDataa.value = currentPageData[0];
    } else {
      console.warn('No data for the current page key:', currentPageKeyValue);
    }
    // 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) {
    console.error('Error parsing WebSocket message:', error);
  }
@@ -353,10 +908,73 @@
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) {
    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;
    intervalFrameHeight.value = row.intervalFrameHeight;
    intervalFrameType.value = removalinterval[row.intervalFrameType];
    intervalFrameWidth.value = row.intervalFrameWidth;
    sealInsert.value = row.sealInsert;
    adda.value = true;
}
const handlezhiban = () => {
  dialogFormVisiblea.value = true;
  fetchFlowCardId();
};
const handleormulan = () => {
  mulan.value = true;
  fetchmulan();
};
function getStatusType(intervalFrameType) {
  switch (intervalFrameType) {
    case 1:
      return 'success';
    case 5:
      return 'warning';
  }
}
function getStatusText(intervalFrameType) {
  switch (intervalFrameType) {
    case 1:
      return t('hellow.intervalFrameTypeb');
    case 5:
      return t('hellow.intervalFrameTypea');
  }
}
// 预览
const selectproject = () => {
  dialogFormVisiblee.value = true;
@@ -374,16 +992,21 @@
const handletake = (row) => {
  window.localStorage.setItem('flowCardId', row.projectNumber)
  dialogFormVisiblec.value = true;
  fetchmulan()
};
// 强制出片
const handleout = (row) => {
  window.localStorage.setItem('flowCardId', row.projectNumber)
  dialogFormVisibled.value = true;
  fetchmulan()
};
// 创建任务
const fetchFlowCardId = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard');
    const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{
      filmsId: '',
      flowCardId: '',
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      const newData = parseData(response.data);
@@ -395,10 +1018,176 @@
    ElMessage.error('Error fetching data');
  }
};
const fetchFlowCardsearch = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{
      filmsId: filmsId.value,
      flowCardId: flowCardId.value,
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      const newData = parseData(response.data);
      tableDatab.value = newData;
    } 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 };
  }
};
// 中空配方添加
const handleConfirm = async () => {
  try {
    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,
      intervalFrameHeight: intervalFrameHeight.value,
      intervalFrameType: intervalFrameType.value,
      intervalFrameWidth: intervalFrameWidth.value,
      sealInsert: sealInsert.value,
    });
    if (response.code == 200) {
      ElMessage.success(response.message);
      tableDatax.value = response.data;
      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 = '';
      intervalFrameHeight.value = '';
      intervalFrameType.value = '';
      intervalFrameWidth.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 () => {
  try {
    const response = await request.post('/hollowGlass/hollowFormulaDetails/updateFormulaDetails',{
      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,
      intervalFrameHeight: intervalFrameHeight.value,
      intervalFrameType: removalintervala[intervalFrameType.value],
      intervalFrameWidth: intervalFrameWidth.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);
      } else {
      ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
// 工程号
const selectgong = async () => {
  try {
    var url="/hollowGlass/hollowGlassOutRelationInfo/hollowTaskList?cell="+ 931;
    var url="/hollowGlass/hollowGlassOutRelationInfo/hollowTaskList?cell="+ 930;
    const response = await request.post(url)
    if (response.code == 200) {
      const processTypes = response.data.map((projectNo, index) => ({
@@ -407,6 +1196,25 @@
      }));
      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) {
@@ -436,13 +1244,10 @@
// 开始任务
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;
@@ -459,16 +1264,87 @@
    console.error(error);
  }
}
// 结束任务
const handleb = async () => {
  try {
    let flowCardId = window.localStorage.getItem('flowCardId')
    if (flowCardId !== '') {
    var url="/hollowGlass/hollowGlassOutRelationInfo/finishTask?flowCardId="+flowCardId + "&cell=" + 930;
    const response = await request.post(url)
      if (response.code == 200) {
        ElMessage.success(response.message);
        blindb.value = false;
      } else {
        ElMessage.error(response.message);
      }
    } else {
      ElMessage({
        type: 'info',
        message: t('basicData.infonull'),
      })
    }
  } 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) {
    console.error(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) {
    console.error(error);
  }
}
// 领取任务
const finisha = async () => {
  let flowCardId = window.localStorage.getItem('flowCardId')
  try {
      var url="/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell="+cell.value + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value;
  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);
@@ -480,8 +1356,9 @@
// 强制出片
const finishb = async () => {
  let flowCardId = window.localStorage.getItem('flowCardId')
  let id = window.localStorage.getItem('id')
  try {
      var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+cella.value + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value;
      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);
@@ -501,7 +1378,6 @@
    const body = {  
      flag: ganghua.value,
    }; 
  var url="/hollowGlass/hollowGlassOutRelationInfo/dispatchHollowSwitch?flag="+ganghua.value;
  const response = await request.post(url)
    if (response.code == 200) {
@@ -521,6 +1397,8 @@
});
</script>
<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;