<template>
|
<div style="height: 600px;">
|
<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="primary" @click="handleormulan">
|
{{ $t('hellow.hollowformula') }}
|
</el-button>
|
<el-button id="searchButton" type="primary" @click="handlezhiban">
|
{{ $t('hellow.createtask') }}
|
</el-button>
|
<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: 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>
|
</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 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 style="font-size: 15px;">
|
<el-form-item :label="$t('hellow.linenumber')" style="width: 14vw">
|
{{ fulltotals }}
|
</el-form-item>
|
</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="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="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%">
|
<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 fixed="right" :label="$t('hellow.operate')" align="center" width="270">
|
<template #default="scope">
|
<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 type="text" plain @click="handleout(scope.row)">{{
|
$t('hellow.forcedfilming')
|
}}
|
</el-button>
|
</template>
|
</el-table-column>
|
</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">
|
{{ 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="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">
|
<el-button type="primary" @click="handlea">
|
{{ $t('basicData.confirm') }}
|
</el-button>
|
<el-button @click="blinda = 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="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, reactive, watch, computed} from "vue";
|
import request from "@/utils/request"
|
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 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 = [
|
{
|
value: 930,
|
label: t('hellow.line1'),
|
},
|
{
|
value: 931,
|
label: t('hellow.line2'),
|
}
|
]
|
let socket = null;
|
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 = initializeWebSocket(socketUrl, handleMessage);
|
window.localStorage.setItem('flowCardId', '')
|
});
|
onUnmounted(() => {
|
if (socket) {
|
closeWebSocket(socket);
|
}
|
});
|
// 开始任务
|
const handleBinda = (row) => {
|
blinda.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 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;
|
} else {
|
ElMessage.error(response.message);
|
}
|
} else {
|
ElMessage({
|
type: 'info',
|
message: t('basicData.infonull'),
|
})
|
}
|
} catch (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 () => {
|
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);
|
}
|
} catch (error) {
|
}
|
}
|
// 强制出片
|
const finishb = async () => {
|
let flowCardId = window.localStorage.getItem('flowCardId')
|
let id = window.localStorage.getItem('id')
|
try {
|
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);
|
}
|
} catch (error) {
|
}
|
}
|
|
onBeforeUnmount(() => {
|
closeWebSocket();
|
});
|
</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;
|
}
|
#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>
|