From ced0655bb9f83906eb9986462c9641c15baa5918 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 09 四月 2024 14:18:03 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes

---
 Albania_Mes-ui/src/views/home/index.vue | 2117 ++++++++++++++++------------------------------------------
 1 files changed, 579 insertions(+), 1,538 deletions(-)

diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index 5b2c12f..2863c80 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -5,8 +5,8 @@
 }
 
 .occupy {
-    height: 100%;
-    width: 10%;
+    height: 50%;
+    width: 45%;
     background-color: white;
     margin: 0px 8px 0px 8px;
     border: 1px #EBEEF5 solid;
@@ -64,15 +64,17 @@
 }
 
 .blocks {
-    background-image: url('../../img/xmjc.png');
-    margin: 0 auto;
+    background-image: url('../../img/device.png');
+    /* margin: 0 auto; */
+    /* clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); */
     background-repeat: no-repeat;
     background-attachment: local;
-    min-height: 55vh;
-    width: 1400px;
-    max-width: 94vw;
-    background-size: 1200px 510px;
-    margin: 0 auto;
+    min-height: 118vh;
+    width: 1124px;
+    max-width: 57%;
+    background-size: 1050px 1400px;
+    margin-top: -280px;
+    overflow: hidden;
     /* width: 1660px;
     max-width: 100vw;
     background-size: 1660px 560px; */
@@ -81,17 +83,14 @@
 }
 
 .blocks-img {
-    height: 88px;
-    line-height: 90px;
-    color: white;
+    height: 900px;
     max-width: 100vw;
     background-repeat: no-repeat;
     background-attachment: local;
-    width: 32px;
+    width: 1200px;
     position: absolute;
-    background-image: url('../../img/bigcar01.png');
-    background-size: 40px 87px;
-    /* background-size: 46px 94px; */
+    background-image: url('../../img/car.png');
+    background-size: 800px 1200px;
 }
 
 .blocks-img2 {
@@ -198,12 +197,13 @@
     font-size: 25px;
 }
 
+/* 
 @media screen and (min-width: 1900px) {
     .blocks {
         transform: scale(1.5, 1.05);
         width: 1210px;
     }
-}
+} */
 
 .el-message-box__btns {
     padding: 0px 15px 0;
@@ -235,12 +235,90 @@
     height: 15px;
     position: absolute;
 }
+
+/*
+
+*/
+#fileinput .container {
+    width: 800px;
+    margin: 0 auto;
+}
+
+#fileinput .header {
+    display: flex;
+    justify-content: space-between;
+    margin-bottom: 10px;
+}
+
+#fileinput table {
+    width: 100%;
+    border-collapse: collapse;
+    border: 1px solid;
+}
+
+#fileinput tr,
+#fileinput th,
+#fileinput td {
+    border: 1px solid #000;
+    padding: 5px;
+}
+
+#fileinput button {
+    border: none;
+    padding: 5px;
+    background-color: #00a297;
+    color: #fff;
+    border-radius: 5px;
+    cursor: pointer;
+    margin: 0 5px;
+}
+
+#fileinput tr:nth-child(2n) {
+    background-color: #dcdcdc;
+}
+
+#fileinput .hide {
+    display: none;
+}
+
+#fileinput .c1 {
+    position: fixed;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    background: rgba(0, 0, 0, .5);
+    z-index: 2;
+}
+
+#fileinput .c2 {
+    background-color: white;
+    position: fixed;
+    width: 400px;
+    height: 300px;
+    top: 50%;
+    left: 50%;
+    z-index: 3;
+    margin-top: -150px;
+    margin-left: -200px;
+}
+
+.cells {
+    height: 100%;
+}
 </style>
 <template>
     <el-container>
         <!-- <el-header style="padding: 10px;"></el-header> -->
         <el-main>
-            <div class="box" @click="dialogFormVisible2 = true">
+            <el-dialog :visible.sync="dialogFormVisible2" :title="$t('Alarm Information')">
+                <el-table :data="this.alarm" border style="width: 100%;font-size: 25px;">
+                    <el-table-column prop="id" :label="$t('id')"></el-table-column>
+                    <el-table-column prop="content" :label="$t('content')"></el-table-column>
+                    <el-table-column prop="timeons" :label="$t('timeon')"></el-table-column>
+                </el-table>
+            </el-dialog>
+            <div class="box" @click="dialogFormVisible2 = true" style="z-index: 999;">
                 <div class="text">
                     <!-- Alarm: -->
                     {{ this.text }}
@@ -249,633 +327,355 @@
                     </label>
                 </div>
             </div>
-            <div style="display:flex;justify-content: space-around;width: 9zz5%;margin: 0 auto;">
-                <!-- <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"
-                    :class="ManuallyInfeedGlass == true ? 'hide' : ''"></el-input> -->
-                <el-button type="primary" @click="SelectGlassByGlassIDs()" :disabled="ManuallyInfeedGlass"
-                    :class="ManuallyInfeedGlass == true ? 'hide' : ''">
-                    {{ $t('Manually Infeed Glass') }}</el-button>
-                <el-button type="primary" @click="showform2()" :disabled="OrderInfo"
-                    :class="OrderInfo == true ? 'hide' : ''">{{ $t('Order Info')
-                    }}</el-button>
-                <el-button type="primary" @click="showform6()" :disabled="OutingQueue"
-                    :class="OutingQueue == true ? 'hide' : ''">
-                    {{ $t('Outing Queue') }}</el-button>
-                <el-button type="primary" @click="TaskStop(0)" :disabled="OutingQueue"
-                    :class="StopTask == true ? 'hide' : ''">
-                    {{ $t('Terminate Feeding') }}</el-button>
-                <el-button type="primary" @click="TaskStop(1)" :disabled="StopTask" :class="StopTask == true ? 'hide' : ''">
-                    {{ $t('Terminate Outing') }}</el-button>
-                <el-button type="primary" @click="SoftEmergencyStop()" :disabled="SoftEmergencyStopState"
+            <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;">
+                <el-button type="primary" @click="showform(1)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
                     :class="SoftEmergencyStopState == true ? 'hide' : ''">
-                    {{ $t('SoftEmergencyStop') }}</el-button>
-                <!-- <el-input style="width:15%;" :placeholder="$t('Enter the Order No')" v-model="order"></el-input>
-                <el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button> -->
-            </div>
-            <div>
-                <el-table :data="this.tasklist1" border style="width: 100%">
-                    <el-table-column :min-width="180" prop="glassId" :label="$t('Outfeed glass barcode')"></el-table-column>
-                    <el-table-column :min-width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
-                    <el-table-column :min-width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
-                    <el-table-column :min-width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
-                    <el-table-column prop="orderId" :label="$t('List No')"></el-table-column>
-                    <el-table-column prop="orderId" :label="$t('Box No')"></el-table-column>
-                    <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
-                        <template slot-scope='scope'>
-                            {{ scope.row.glasswidthmm }}*{{ scope.row.glassheightmm }}
-                        </template>
-                    </el-table-column>
-                    <el-table-column :label="$t('Terminate Task')">
-                        <template slot-scope='scope'>
-                            <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                                @click="endtask(1, scope.row.glassId, scope.row.cell)">{{ $t('Terminate Task')
-                                }}</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <el-table :data="this.tasklist2" border style="width: 100%">
-                    <el-table-column :min-width="180" prop="glassId" :label="$t('Infeed glass barcode')"></el-table-column>
-                    <el-table-column :min-width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
-                    <el-table-column :min-width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
-                    <el-table-column :min-width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
-                    <el-table-column prop="orderId" :label="$t('List No')"></el-table-column>
-                    <el-table-column prop="orderId" :label="$t('Box No')"></el-table-column>
-                    <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
-                        <template slot-scope='scope'>
-                            {{ scope.row.glasswidthmm }}*{{ scope.row.glassheightmm }}
-                        </template>
-                    </el-table-column>
+                    {{ $t('Import order') }}</el-button>
 
-                    <el-table-column :label="$t('Terminate Task')">
-                        <template slot-scope='scope'>
-                            <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                                @click="endtask(0, scope.row.glassId, scope.row.cell)">{{ $t('Terminate Task')
-                                }}</el-button>
-                        </template>
-                    </el-table-column>
-                </el-table>
+                <el-button type="primary" @click="showform(2)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
+                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
+                    {{ $t('Measure') }}</el-button>
+
+                <el-button type="primary" @click="showform(3)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
+                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
+                    {{ $t('StorageCage') }}</el-button>
+                <el-button type="primary" @click="showform(4)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
+                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
+                    {{ $t('Task queue') }}</el-button>
+
             </div>
-            <div style="padding: 10px;display: flex;height:85px;">
-                <div v-for="item in tableData" :key="item['cageno']" class="occupy">
-                    <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
-                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-                        <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['cell'] }}%</span>
-                    </el-col>
-                    <hr style="width:80%;margin: 0 auto;" />
-                    <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
-                        <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['state'] }}</span>
-                    </el-col>
-                </div>
-            </div>
-        </el-main>
-        <el-footer>
-            <div class="blocks" style="position: relative;">
-                <div style="display:flex;position: absolute;float:left;z-index: 999;top:102px;left:237px;">
-                    <div :class="getStatusClass(item.state)" v-for="(item, index) in cagelist1" :key="item['date']"
-                        :style="{ height: 35 * item['glassWidth'] + 'px', left: 3.07 * index + Math.abs(item['cage'] - 10) * 6.8 + 'px' }"
-                        @click="showcageinfo(item['cage'])"></div>
-                </div>
-                <div style="display:flex;position: absolute;float:left;z-index: 999;top:102px;left:640px;">
-                    <div :class="getStatusClass(item.state)" v-for="(item, index) in cagelist2" :key="item['date']"
-                        :style="{ height: 35 * item['glassWidth'] + 'px', left: 3.07 * index + Math.abs(item['cage'] - 5) * 6.8 + 'px' }"
-                        @click="showcageinfo(item['cage'])"></div>
-                </div>
-                <div style="display:flex;position: absolute;float:left;z-index: 999;top:139px;left:237px;">
-                    <div :class="getStatusClass(item.state)" v-for="(item, index) in cagelist3" :key="item['date']"
-                        :style="{ height: 35 * item['glassWidth'] + 'px', top: item['width'] * 35 - 35 + 'px', left: 3.07 * index + Math.abs(item['cage'] - 10) * 6.8 + 'px' }"
-                        @click="showcageinfo(item['cage'])">
+            <div style="display: flex;align-items: center;overflow: hidden;">
+                <div class="blocks" style="position: relative;width: 100%;">
+                    <div class="blocks-img" :style="'z-index:999;left:150px;top:'+carposition+'px;'">
+
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:99;left:271px;top:987px;width:210px;height:38px;background-color:' + ShowDeviceList(0) + ';'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:1000;left:553px;top:'+(400+carposition)+'px;width:110px;height:88px;background-color:' + ShowDeviceList(0) + ';'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:99;left:800px;top:450px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';'">
+                    </div>
+                    <div
+                        :style="'position: absolute;z-index:99;left:800px;top:675px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';'">
+                    </div>
+                    <div :style="'position: absolute;z-index:99;left:740px;top:507px;width:230px;height:114px;'">
+                        <div v-for="item in cagelist4" :key="item['id']"
+                            :style="'display:flex;height:4.55px;position: relative;'">
+                            <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+                            </div>
+                        </div>
+                    </div>
+                    <div :style="'position: absolute;z-index:100;left:740px;top:730px;width:230px;height:90px;'">
+                        <div v-for="item in cagelist3" :key="item['id']"
+                            :style="'display:flex;height:2.25px;position: relative;'">
+                            <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+                            </div>
+                        </div>
+                    </div>
+                    <div :style="'position: absolute;z-index:100;left:740px;top:830px;width:230px;height:90px;'">
+                        <div v-for="item in cagelist2" :key="item['id']"
+                            :style="'display:flex;height:2.25px;position: relative;'">
+                            <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+                            </div>
+                        </div>
+                    </div>
+                    <div :style="'position: absolute;z-index:100;left:740px;top:930px;width:230px;height:90px;'">
+                        <div v-for="item in cagelist1" :key="item['id']"
+                            :style="'display:flex;height:2.25px;position: relative;'">
+                            <div class="cells" v-for="(num) in item['number']" :key="num" :style="'width: ' + (item['glassWidth'] * 0.046) + 'px;background-color:' + ShowCellList(1) + ';position: absolute;left:' +
+                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
+                            </div>
+                        </div>
                     </div>
                 </div>
-                <div style="display:flex;position: absolute;float:left;z-index: 999;top:139px;left:640px;">
-                    <div :class="getStatusClass(item.state)" v-for="(item, index) in cagelist4" :key="item['date']"
-                        :style="{ height: 35 * item['glassWidth'] + 'px', top: item['width'] * 35 - 35 + 'px', left: 3.07 * index + Math.abs(item['cage'] - 5) * 6.8 + 'px' }"
-                        @click="showcageinfo(item['cage'])"></div>
-                </div>
-                <div class="blue gezi"
-                    :style="{ display: 'flex', position: 'absolute', float: 'left', top: 28 + 'px', left: 1050 + 'px', height: loadglassheight1 + 'px', width: 4 + 'px' }">
-                </div>
-                <div class="blue gezi"
-                    :style="{ display: 'flex', position: 'absolute', float: 'left', top: 105 + 'px', left: 1050 + 'px', height: loadglassheight2 + 'px', width: 4 + 'px' }">
-                </div>
-
-                <div class="blocks-img2"></div>
-                <div class="blocks-img3"></div>
-
-                <div class="device" :style="'top: 25px;left: 1027px;background-color: ' + ShowDeviceList(0) + ';'">D01</div>
-                <div class="device" :style="'top: 105px;left: 1027px;background-color: ' + ShowDeviceList(1) + ';'">D02
-                </div>
-                <div class="device" :style="'top: 102px;left: 605px;background-color: ' + ShowDeviceList(2) + ';'">B01</div>
-                <div class="device" :style="'top: 102px;left: 197px;background-color: ' + ShowDeviceList(3) + ';'">B02</div>
-                <div class="blocks-img" :style="'left:' + car2 + 'px;top:175px;background-color:' + ShowDeviceList(4) + ''">
-                    A01</div>
-                <div class="blocks-img" :style="'left:' + car1 + 'px;top:16px;background-color:' + ShowDeviceList(5) + ''">
-                    A02</div>
-                <div class="device" :style="'top: 108px;left: 150px;background-color: ' + ShowDeviceList(6) + ';'">D03</div>
-                <div class="device" :style="'top: 185px;left: 150px;background-color: ' + ShowDeviceList(7) + ';'">D04</div>
-                <div class="device" :style="'top: 262px;left: 150px;background-color: ' + ShowDeviceList(8) + ';'">D05</div>
-                <div class="device" :style="'top: 339px;left: 150px;background-color: ' + ShowDeviceList(9) + ';'">D06</div>
-
-                <div class="device" :style="'top: 395px;left: 90px;background-color: ;'">E01</div>
-                <div class="device" :style="'top: 395px;left: 243px;background-color: ;'">E02</div>
-                <div class="device" :style="'top: 395px;left: 395px;background-color: ;'">E03</div>
-                <div class="device" :style="'top: 345px;left: 655px;background-color: ;'">E04</div>
-                <div class="device" :style="'top: 345px;left: 810px;background-color: ;'">E05</div>
-                <div class="device" :style="'top: 345px;left: 960px;background-color: ;'">E06</div>
-
-                <div class="device" :style="'top: 345px;left: 525px;background-color: ;'">J01</div>
-                <div class="device" :style="'top: 345px;left: 1100px;background-color: ;'">F01</div>
-                <div class="device" :style="'top: 275px;left: 1100px;background-color: ;'">G01</div>
-
-                <div class="glass D01" style="top: 39px;left: 1055px;position: absolute;">{{ ShowGlassIdList(0) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.9.2', 0)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass D02" style="top: 117px;left: 1055px;position: absolute;">{{ ShowGlassIdList(1) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.9.2', 1)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass B01" style="top: 270px;left: 640px;position: absolute;">
-                    B01:{{ ShowGlassIdList(2) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.10.2', 2)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass B02" style="top: 315px;left: 640px;position: absolute;">B02:{{ ShowGlassIdList(3) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.10.3', 3)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass A01" style="top: 270px;left: 289px;position: absolute;">
-                    A01.1:{{ ShowGlassIdList(4) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.10.0', 4)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-
-                <div class="glass A01" style="top: 315px;left: 289px;position: absolute;">A01.2:{{ ShowGlassIdList(5) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.10.0', 5)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-
-                <div class="glass A02" style="top: 360px;left: 289px;position: absolute;">A02:{{ ShowGlassIdList(6) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.10.1', 6)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-
-                <div class="glass D03" style="top: 122px;left: 42px;position: absolute;">
-                    {{ ShowGlassIdList(7) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.9.4', 7)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass D04" style="top: 198px;left: 42px;position: absolute;">
-                    {{ ShowGlassIdList(8) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.9.5', 8)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass D05" style="top: 275px;left: 42px;position: absolute;">
-                    {{ ShowGlassIdList(9) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.9.6', 9)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-                <div class="glass D06" style="top: 352px;left: 42px;position: absolute;">
-                    {{ ShowGlassIdList(10) }}
-                    <br />
-                    <el-button type="primary" size="mini" @click="ClearGlassId('DB101.9.5', 10)">
-                        {{ $t('Clear') }}</el-button>
-                </div>
-
-
-            </div>
-        </el-footer>
-        <el-dialog :visible.sync="dialogFormVisible" :title="$t('Please confirm the glass information')">
-            <el-form :model="form" label-width="100px" style="padding-right: 30px">
-                <el-form-item :label="$t('Barcode')">
-                    <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid"></el-input>
-                    <el-button type="primary" @click="showform(3)">{{ $t('Query') }}</el-button>
-                </el-form-item>
-                <el-form-item :label="$t('Barcode')">
-                    <el-input v-model="form.glassId" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Order No')">
-                    <el-input v-model="form.orderId" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('List No')">
-                    <el-input v-model="form.listId" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Box No')">
-                    <el-input v-model="form.boxId" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Length')">
-                    <el-input v-model="form.glasswidthmm" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Width')">
-                    <el-input v-model="form.glassheightmm" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Length')">
-                    <el-input v-model="form.glasswidth" readonly autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Width')">
-                    <el-input v-model="form.glassheight" readonly autocomplete="off" />
-                </el-form-item>
-
-            </el-form>
-            <template #footer>
-                <span class="dialog-footer">
-                    <!-- <el-button @click="sbumitglassid()" :style="{ display: confirm1 == true ? '' : 'none' }"
-                        type="primary">{{
-                            $t('confirm') }}</el-button> -->
-                    <el-button @click="FeedInglassid()" :style="{ display: confirm2 == true ? '' : 'none' }"
-                        type="primary">{{
-                            $t('confirm') }}</el-button>
-                    <el-button @click="cancel()">{{ $t('cancel') }}</el-button>
-                </span>
-            </template>
-        </el-dialog>
-
-        <el-dialog :visible.sync="dialogFormVisible1" :title="$t('Please confirm the Ordering Information')">
-            <el-form :model="form1" label-width="100px" style="padding-right: 30px">
-                <el-form-item :label="$t('Order No')">
-                    <el-input v-model="form1.order" autocomplete="off" />
-                </el-form-item>
-                <el-form-item :label="$t('Number')">
-                    <el-input v-model="form1.number" autocomplete="off" />
-                </el-form-item>
-            </el-form>
-            <template #footer>
-                <span class="dialog-footer">
-                    <el-button @click="getOrder();" type="primary">{{ $t('confirm') }}</el-button>
-                    <el-button @click="cancel1()">{{ $t('cancel') }}</el-button>
-                </span>
-            </template>
-        </el-dialog>
-
-        <el-dialog :visible.sync="dialogFormVisible2" :title="$t('Alarm Information')">
-            <el-table :data="this.alarm" border style="width: 100%;font-size: 25px;">
-                <el-table-column prop="id" :label="$t('id')"></el-table-column>
-                <el-table-column prop="content" :label="$t('content')"></el-table-column>
-                <el-table-column prop="timeons" :label="$t('timeon')"></el-table-column>
-            </el-table>
-        </el-dialog>
-
-        <el-dialog :visible.sync="dialogFormVisible3" :title="$t('Cage Details')" top="5vh">
-            <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="cageglassid"></el-input>
-            <el-button type="primary" @click="showcageinfo(1)">{{ $t('Query') }}</el-button>
-            <el-table :data="cageinfo.slice((currentPages - 1) * pagesizes, currentPages * pagesizes)" :height="700" border
-                style="width: 100%;overflow: auto;">
-                <el-table-column :min-width="50" prop="cage" :label="$t('Cage No')"></el-table-column>
-                <el-table-column :min-width="50" prop="cell" :label="$t('Slot No')"></el-table-column>
-                <el-table-column :min-width="55" prop="tier" :label="$t('The Side')">
-                    <template slot-scope='scope'>
-                        {{
-                            scope.row.tier == 1 ? $t('Inside') : $t('Outside')
-                        }}
-                    </template>
-                </el-table-column>
-                <el-table-column :min-width="145" prop="glassId" :label="$t('Barcode')"></el-table-column>
-                <el-table-column :min-width="80" prop="orderId" :label="$t('Order No')"></el-table-column>
-                <el-table-column :min-width="80" prop="listId" :label="$t('List No')"></el-table-column>
-                <el-table-column :min-width="50" prop="boxId" :label="$t('Box No')"></el-table-column>
-                <el-table-column :min-width="80" prop="state" :label="$t('Glass State')">
-                    <template slot-scope='scope'>
-                        {{
-                            scope.row.state == 1 ? $t('Normal') : scope.row.state == 2 ? $t('Entering') : scope.row.state == 3 ?
-                                $t('Outing') : ""
-                        }}
-                    </template>
-                </el-table-column>
-                <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
-                    <template slot-scope='scope'>
-                        {{ scope.row.glassWidthMm }}{{ scope.row.glassWidthMm > 0 ? "*" : "" }}{{ scope.row.glassHeightMm }}
-                    </template>
-                </el-table-column>
-
-                <el-table-column :min-width="80" prop="lengthWidth" :label="$t('State')">
-                    <template slot-scope='scope'>
-                        {{ scope.row.disabled == 0 ? $t('Enable') : $t('Disable') }}
-                    </template>
-                </el-table-column>
-                <el-table-column :min-width="250" :label="$t('Operate')">
-                    <template slot-scope='scope'>
-                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                            :disabled="scope.row.state == 1 ? false : true"
-                            @click="deleteglass(scope.row.glassId, scope.row.state)">{{ $t('Delete') }}</el-button>
-                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                            :disabled="scope.row.state == 1 ? false : true"
-                            @click="outglass(scope.row.glassId, scope.row.state)">{{ $t('Out') }}</el-button>
-                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                            @click="UpdateDisabled(scope.row.cage, scope.row.cell, scope.row.disabled == 0 ? 1 : 0)">
-                            {{ scope.row.disabled == 0 ? $t('Disable') : $t('Enable') }}</el-button>
-                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                            :disabled="scope.row.glassId != null ? true : false"
-                            @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Add')
-                            }}</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-
-            <el-pagination :style="'margin-top:-2px'" @size-change="handleSizeChanges"
-                @current-change="handleCurrentChanges" :pager-count="7" :current-page="currentPages"
-                :page-sizes="[42, 84, 126, 420]" :page-size="pagesizes" layout="total, sizes, prev, pager, next, jumper"
-                :total="cageinfo.length > 0 ? cageinfo.length : null" background style="float: right; margin-top: 20px">
-            </el-pagination>
-
-        </el-dialog>
-
-        <el-dialog :visible.sync="dialogFormVisible4" :title="$t('Order Info')" top="5vh">
-            <el-input style="width:15%;" :placeholder="$t('Enter the Order No')" v-model="orderid"></el-input>
-            <el-button type="primary" @click="selectglassinfo()">{{ $t('Query') }}</el-button>
-            <el-table :data="GlassInfo.slice((currentPage - 1) * pagesize, currentPage * pagesize)
-                " :height="700" border style="width: 100%;overflow: auto;">
-                <el-table-column prop="barcode" :label="$t('Barcode')"></el-table-column>
-                <el-table-column prop="ordernumber" :label="$t('Order No')"></el-table-column>
-                <el-table-column prop="listnumber" :label="$t('List No')"></el-table-column>
-                <el-table-column prop="boxnumber" :label="$t('Box No')"></el-table-column>
-                <el-table-column prop="frameBarcode" :label="$t('Frame No')"></el-table-column>
-                <el-table-column prop="glasslength" :label="$t('Length')"></el-table-column>
-                <el-table-column prop="glassheight" :label="$t('Width')"></el-table-column>
-            </el-table>
-            <el-pagination :style="'margin-top:-2px'" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                :pager-count="7" :current-page="currentPage" :page-sizes="[5, 10, 15, 20]" :page-size="pagesize"
-                layout="total, sizes, prev, pager, next, jumper" :total="GlassInfo.length > 0 ? GlassInfo.length : null"
-                background style="float: right; margin-top: 20px">
-            </el-pagination>
-        </el-dialog>
-        <el-dialog :visible.sync="dialogFormVisible5" :title="$t('Please confirm the glass information')">
-            <el-form :model="form" label-width="100px" style="padding-right: 30px">
-                <div style="display: flex;justify-content: center;">
-                    <el-form-item>
-                        {{ $t('Confirm State') }}:{{ this.isConfirm == true ? $t('Allow') : $t('Not Allow') }}
-                        <el-button type="primary" @click="isConfirmState()">
-                            {{ this.isConfirm == true ? $t('Not Allow') : $t('Allow') }}</el-button>
-                    </el-form-item>
-                    <el-form-item>
-                        {{ $t('Current State') }}:{{ this.Scanningmethod == false ? $t('Automatic') : $t('Hand Movement') }}
-                        <el-button type="primary" @click="SwitchScanMethod()">{{ $t('Switch')
-                        }}</el-button>
-                    </el-form-item>
-                    <el-form-item>
-                        <el-input style="width:70%;" maxlength="13" :placeholder="$t('Enter the glass barcode')"
-                            v-model="glassid1"></el-input>
-                        <el-button type="primary" :disabled="!Scanningmethod" @click="WriteGlassID()">{{ $t('Add')
-                        }}</el-button>
-                    </el-form-item>
-                    <el-form-item>
-                        {{ $t('Barcode') }}:
-                        <el-input style="width:70%;" maxlength="14" :disabled="true" v-model="CurrrentGlassId"></el-input>
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: space-around;">
-                    <label for="">{{ $t('Upper film position') }}</label>
-
-                    <label for="">{{ $t('Scan Code Point') }}</label>
-                </div>
-                <div style="display: flex;justify-content: space-around;height: 40px;">
-                    <label for="">{{ $t('current Information') }}</label>
-                    <label for="">{{ $t('Modify Information') }}</label>
-                    <label for="">{{ $t('current Information') }}</label>
-                    <label for="">{{ $t('Modify Information') }}</label>
-                </div>
-
-                <div style="display: flex;justify-content: space-around;">
-                    <el-form-item :label="$t('Barcode')">
-                        <el-input v-model="form2.glassId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Barcode')">
-                        <el-input v-model="form4.glassId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Barcode')">
-                        <el-input v-model="form3.glassId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Barcode')">
-                        <el-input v-model="form5.glassId" readonly autocomplete="off" />
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: space-around;">
-                    <el-form-item :label="$t('Order No')">
-                        <el-input v-model="form2.orderId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Order No')">
-                        <el-input v-model="form4.orderId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Order No')">
-                        <el-input v-model="form3.orderId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Order No')">
-                        <el-input v-model="form5.orderId" readonly autocomplete="off" />
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: space-around;">
-                    <el-form-item :label="$t('List No')">
-                        <el-input v-model="form2.listId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('List No')">
-                        <el-input v-model="form4.listId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('List No')">
-                        <el-input v-model="form3.listId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('List No')">
-                        <el-input v-model="form5.listId" readonly autocomplete="off" />
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: space-around;">
-                    <el-form-item :label="$t('Box No')">
-                        <el-input v-model="form2.boxId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Box No')">
-                        <el-input v-model="form4.boxId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Box No')">
-                        <el-input v-model="form3.boxId" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Box No')">
-                        <el-input v-model="form5.boxId" readonly autocomplete="off" />
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: space-around;">
-                    <el-form-item :label="$t('Length')">
-                        <el-input v-model="form2.glasswidthmm" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Length')">
-                        <el-input v-model="form4.glasswidthmm" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Length')">
-                        <el-input v-model="form3.glasswidthmm" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Length')">
-                        <el-input v-model="form5.glasswidthmm" readonly autocomplete="off" />
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: space-around;">
-                    <el-form-item :label="$t('Width')">
-                        <el-input v-model="form2.glassheightmm" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Width')">
-                        <el-input v-model="form4.glassheightmm" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Width')">
-                        <el-input v-model="form3.glassheightmm" readonly autocomplete="off" />
-                    </el-form-item>
-                    <el-form-item :label="$t('Width')">
-                        <el-input v-model="form5.glassheightmm" readonly autocomplete="off" />
-                    </el-form-item>
-                </div>
-                <div style="display: flex;justify-content: right;">
-                    <el-button @click="InsertQueueGlass(1)" style="margin-right: 100px;" type="primary"
-                        :disabled="disabled1">
-                        {{ $t('Confirm') }}</el-button>
-                </div>
-            </el-form>
-        </el-dialog>
-
-        <el-dialog :visible.sync="dialogFormVisible6" :title="$t('Outing Queue')" top="5vh">
-            {{ $t('Queue State') }}:
-            {{ this.isAllowQueue
-                == true ? $t('Start') : $t('Stop')
-            }}
-            <el-button type="primary" @click="isAllowQueueState()" :disabled="!this.isAllowReordering">{{ this.isAllowQueue
-                == true ? $t('Stop') : $t('Start')
-            }}</el-button>
-            <!-- {{  $t('Sorting State') }}:
-            {{
-                this.isAllowReordering == true ? $t('Not Allow') : $t('Allow')
-            }}
-            <el-button type="primary" @click="isAllowReorderings()" :disabled="this.isAllowQueue">{{
-                this.isAllowReordering == true ? $t('Allow') : $t('Not Allow')
-            }}</el-button> -->
-            <!-- <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input> -->
-            <el-button type="primary" @click="showform7()">{{ $t('Add') }}</el-button>
-            <label style="background-color:yellow;font-size: 23px;" for="">
-                {{ isQueueWarning == true ? $t('The slot is disabled') : "" }}
-            </label>
-            <div style="display:flex;">
-                <div style="width:70%;">
-                    <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border
-                        :cell-style="cellStyle" style="width: 100%;overflow: auto;font-size: 18px;">
-                        <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
-                        <el-table-column :min-width="175" prop="glassId" :label="$t('Barcode')"></el-table-column>
-                        <el-table-column :min-width="70" prop="orderId" :label="$t('Order No')"></el-table-column>
-                        <el-table-column :min-width="70" prop="listId" :label="$t('List No')"></el-table-column>
-                        <el-table-column :min-width="70" prop="boxId" :label="$t('Box No')"></el-table-column>
-                        <el-table-column :min-width="100" prop="glasswidthmm" :label="$t('Length')"></el-table-column>
-                        <el-table-column :min-width="100" prop="glassheightmm" :label="$t('Width')"></el-table-column>
-                        <el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
-                            <template slot-scope='scope'>
-                                {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') :
-                                    scope.row.state
-                                        == 2
-                                        ? $t('Outed') : scope.row.state == 3 ? $t('Absent') : $t('Completed') }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
-                        <el-table-column :min-width="90" prop="barcode" :label="$t('Complete')">
-                            <template slot-scope='scope' style="height:100px;height:100px;">
-                                <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                                    :disabled="!(!isAllowQueue && scope.row.state != 1 && scope.row.state != 2)"
-                                    @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{
-                                        $t('Complete')
-                                    }}</el-button>
-                            </template>
-                        </el-table-column>
-
-                        <el-table-column :width="100" :label="$t('Operate')">
+                <div>
+                    <div style="padding: 10px;display: flex;height: 300px;flex-wrap: wrap;">
+                        <div v-for="item in tableData" :key="item['cageno']" class="occupy">
+                            <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
+                            <el-col
+                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;height: 70px;">
+                                <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['width'] }}%</span>
+                            </el-col>
+                            <hr style="width:80%;margin: 0 auto;" />
+                            <el-col
+                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+                                <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['cell']
+                                    }}</span>
+                            </el-col>
+                        </div>
+                    </div>
+                    <el-table :data="this.tasklist1" border style="width: 700px;">
+                        <el-table-column prop="glasstype" :label="$t('Glasstype')"></el-table-column>
+                        <el-table-column prop="storageCage.cage" :label="$t('Cage No')"></el-table-column>
+                        <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
+                        <el-table-column prop="storageCage.glassWidth" :label="$t('Width')"></el-table-column>
+                        <el-table-column prop="storageCage.glassHeight" :label="$t('Height')"></el-table-column>
+                        <el-table-column prop="storageCage.thickness" :label="$t('Thickness')"></el-table-column>
+                        <el-table-column prop="storageCage.films" :label="$t('Films')"></el-table-column>
+                        <el-table-column :min-width="100" :label="$t('Terminate Task')">
                             <template slot-scope='scope'>
                                 <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                                    :disabled="isAllowQueue" @click="deleteproductionqueueglass(scope.row.barcode)">{{
-                                        $t('Delete') }}</el-button>
+                                    @click="FinishTask(scope.row.id)">{{ $t('Complete') }}</el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <el-table :data="this.tasklist2" border style="width: 100%">
+                        <el-table-column prop="glassId" :label="$t('Glasstype')"></el-table-column>
+                        <el-table-column prop="storageCage.cage" :label="$t('Cage No')"></el-table-column>
+                        <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
+                        <el-table-column prop="storageCage.glassWidth" :label="$t('Width')"></el-table-column>
+                        <el-table-column prop="storageCage.glassHeight" :label="$t('Height')"></el-table-column>
+                        <el-table-column prop="storageCage.thickness" :label="$t('Thickness')"></el-table-column>
+                        <el-table-column prop="storageCage.films" :label="$t('Films')"></el-table-column>
+
+                        <el-table-column :min-width="100" :label="$t('Terminate Task')">
+                            <template slot-scope='scope'>
+                                <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                                    @click="FinishTask(scope.row.id)">{{ $t('Complete') }}</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
                 </div>
-                <div style="width:30%;" v-for="(item) in CurrentFrame" :key="item['barcode']">
-                    <el-button style="margin-left: 42%;" type="primary" @click="FrameStateUpdate(item['barcode'])">{{
-                        $t('Next') }}</el-button>
-                    <h1 style="font-size: 40px;text-align: center;">{{ $t('Current Frame') }}:{{ item['barcode'] }}</h1>
-                    <h1 style="font-size: 30px;text-align: center;">
-                        {{ item['flip'] == true ? $t('EXTERIQR OUT AND BYPASS TO THE LEFT')
-                            : $t('EXTERIQR OUT AND BYPASS TO THE RIGHT') }}
-                    </h1>
-                    <h1 style="font-size: 30px;text-align: center;">{{ item['framewidthmm'] }}*{{ item['frameheightmm'] }}
-                    </h1>
-
-                    <div class="frame" :style="'background-color: green;margin-top:30px;margin:0 auto;width: ' +
-                        FrameWidthHeight('before', item['framewidthmm'], item['frameheightmm'], item['position']) + 'px;height:' +
-                        FrameWidthHeight('after', item['framewidthmm'], item['frameheightmm'], item['position']) + 'px;'
-                        ">
-                    </div>
-                </div>
             </div>
 
+
+        </el-main>
+        <el-dialog :visible.sync="Importorder" :title="$t('Import order')" top="5vh">
+            <!--鏂囦欢瀵煎叆鏁版嵁椤甸潰-->
+            <div id="" class="container">
+                <div class="header">
+                    <div class="btn">
+                        <el-button type="primary" @click="importData()">淇濆瓨</el-button>
+
+                        <input type="file" id="uploadExcel" multiple @change="Change" />
+                    </div>
+                </div>
+                <el-table :data="this.dataList" border style="width: 100%;">
+                    <el-table-column prop="Customer" :label="$t('Customer')"></el-table-column>
+                    <el-table-column prop="order" :label="$t('Order')"></el-table-column>
+                    <el-table-column prop="base" :label="$t('Width')"></el-table-column>
+                    <el-table-column prop="height" :label="$t('Height')"></el-table-column>
+                    <el-table-column prop="thickness" :label="$t('Thickness')"></el-table-column>
+                    <el-table-column prop="films" :label="$t('Films')"></el-table-column>
+                    <el-table-column prop="quantity" :label="$t('No')"></el-table-column>
+                    <el-table-column prop="tier" :label="$t('Tier')"></el-table-column>
+                    <el-table-column prop="matching" :label="$t('Matching')"></el-table-column>
+                    <el-table-column prop="glasstype" :label="$t('Glasstype')"></el-table-column>
+                    <el-table-column prop="productname" :label="$t('Productname')"></el-table-column>
+                </el-table>
+            </div>
         </el-dialog>
 
-        <el-dialog :visible.sync="dialogFormVisible7" :title="$t('Glass information corresponding to aluminum frame')"
-            top="5vh">
-            <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input>
-            <el-button type="primary" @click="showform7()">{{ $t('Query') }}</el-button>
-            <el-button type="primary" @click="AddOutSliceS()">{{ $t('Add') }}</el-button>
-            <el-button type="primary" @click="CloseForm7()">{{ $t('Cancel') }}</el-button>
-            <el-table :data="this.AluminumFrame" :height="700" border style="width: 100%;overflow: auto;">
-                <el-table-column prop="frameBarcode" :label="$t('Frame No')"></el-table-column>
-                <el-table-column prop="barcode" :label="$t('Barcode')"></el-table-column>
-                <el-table-column prop="ordernumber" :label="$t('Order No')"></el-table-column>
-                <el-table-column prop="listnumber" :label="$t('List No')"></el-table-column>
-                <el-table-column prop="boxnumber" :label="$t('Box No')"></el-table-column>
-                <el-table-column prop="glasslength" :label="$t('Length')"></el-table-column>
-                <el-table-column prop="glassheight" :label="$t('Width')"></el-table-column>
-                <el-table-column prop="storageCage.cage" :label="$t('Cage No')"></el-table-column>
-                <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
-                <el-table-column prop="storageCage.tier" :label="$t('The Side')">
-                    <template slot-scope='scope'>
-                        {{
-                            scope.row.storageCage == null ? "" : scope.row.storageCage.tier == 1 ? $t('Inside') : $t('Outside')
-                        }}
-                    </template>
-                </el-table-column>
+        <el-dialog :visible.sync="Measure" :title="$t('Measure')" top="5vh"><!--娴嬮噺椤甸潰-->
+            <!--娴嬮噺椤甸潰涓讳綋-->
+            <div style="height: 780px;">
+                <!--鍔熻兘-->
+                <div>
+                    <el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState"
+                        style="z-index: 999;">{{ $t('Manual matching') }}</el-button>
+                    <el-button type="primary" @click="ManualTake()" :disabled="SoftEmergencyStopState"
+                        style="z-index: 999;">{{ $t('Manual removal') }}</el-button>
+                    <el-button type="primary" @click="AnewMeasure()" :disabled="SoftEmergencyStopState"
+                        style="z-index: 999;">{{ $t('Remeasure') }}</el-button>
+                </div>
+                <br>
+                <!--鏄剧ず-->
+                <div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;float: left;">
+                    <!--鐜荤拑鍥�  #81b337-->
+                    <div :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin:'+((1000-(this.LastQueue.glasswidth / 25 * 7))/2)+'px auto;'+
+                        'width:'+ (this.LastQueue.glasswidth / 25 * 7) + 'px;'+
+                        'height:'+ (this.LastQueue.glassheight / 25 * 7) + 'px;'+
+                        'line-height: '+ (this.LastQueue.glassheight / 25 * 7) + 'px;'+
+                        'background-color: '+ (this.LastQueue.state>0?'#4CCCE4':(this.LastQueue.state==0?'#E4CA4C':'#E4CA4C'))+
+                        ';text-align: center;'">
 
-                <el-table-column prop="out_slice.state" :label="$t('In the queue')">
-                    <template slot-scope='scope'>
-                        {{ scope.row.out_slice != null ? $t('Yes') : $t('No') }}
-                    </template>
-                </el-table-column>
+                        {{ this.LastQueue.glasswidth!=null?(this.LastQueue.glasswidth+"*"+this.LastQueue.glassheight):"" }} 
+                
+                        
+                    </div>
 
-                <el-table-column prop="storageCage.tier" :label="$t('In the cage')">
+                </div>
+                <!--鏄剧ず-->
+                <div style="width:20px;height: 720px;float: left;"></div>
+                <div style="width:500px;height: 620px;border: 2px solid #d1d1d1;float: left;padding: 50px 50px;">
+                    <!--鐜荤拑鍥�  #81b337-->
+                    <span class="measuretitle">{{ $t('Width') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glasswidth }}</span> <span class="measureUnit">mm</span>
+                    <br>
+                    <span class="measuretitle">{{ $t('Height') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glassheight }}</span> <span class="measureUnit">mm</span>
+                    <br>
+                    <span class="measuretitle">{{ $t('Thickness') }}锛�</span> <span class="measureValue">{{ this.LastQueue.thickness }}</span> <span class="measureUnit">mm</span>
+                    <br>
+                    <span class="measuretitle">{{ $t('Measure Width') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glasswidthmm }}</span> <span class="measureUnit">mm</span>
+                    <br>    
+                    <span class="measuretitle">{{ $t('Measure Height') }}锛�</span> <span class="measureValue">{{ this.LastQueue.glassheightmm }}</span> <span class="measureUnit">mm</span>
+                    <br>
+                    <span class="measuretitle">{{ $t('Matching results') }}锛�</span> <span class="measureValue">{{ this.LastQueue.state>0?$t('Matching successful'):(this.LastQueue.state==0?$t('Multiple data matching'):$t('Matching failed')) }}</span>
+                    <br>
+                </div>
+            </div>
+        </el-dialog>
+
+        <el-dialog :visible.sync="StorageCage" :title="$t('StorageCage')" top="5vh">
+            <el-table :data="this.StorageCageInfo" :height="700" border style="width: 100%;overflow: auto;">
+                <el-table-column :min-width="80" prop="cage" :label="$t('Cage No')"></el-table-column>
+                <el-table-column :min-width="80" prop="cell" :label="$t('Slot No')"></el-table-column>
+                <el-table-column :min-width="80" prop="glasstype" :label="$t('GlassType')"></el-table-column>
+                <el-table-column :min-width="80" prop="glassWidth" :label="$t('Width')"></el-table-column>
+                <el-table-column :min-width="80" prop="glassHeight" :label="$t('Height')"></el-table-column>
+                <el-table-column :min-width="80" prop="thickness" :label="$t('Thickness')"></el-table-column>
+                <el-table-column :min-width="80" prop="films" :label="$t('Films')"></el-table-column>
+                <el-table-column :min-width="80" prop="number" :label="$t('number')"></el-table-column>
+                <el-table-column :min-width="80" prop="width" :label="$t('Width')"></el-table-column>
+                <el-table-column :min-width="250" :label="$t('Operate')">
                     <template slot-scope='scope'>
-                        {{ scope.row.storageCage != null ? $t('Yes') : $t('No') }}
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            @click="UpdateDisabled(scope.row.cage, scope.row.cell, scope.row.disabled == 0 ? 1 : 0)">
+                            {{ scope.row.disabled == 0 ? $t('Disable') : $t('Enable') }}</el-button>
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            :disabled="(scope.row.width < scope.row.glassWidth + 100 ? true : false)"
+                            @click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, 1)">{{ $t('Add')
+                            }}
+                        </el-button>
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            :disabled="scope.row.number >= 1 ? false : true"
+                            @click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, -1)">{{ $t('Reduce')
+                            }}</el-button>
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            :disabled="scope.row.number >= 1 ? false : true"
+                            @click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, 0)">{{ $t('Delete')
+                            }}</el-button>
                     </template>
                 </el-table-column>
             </el-table>
         </el-dialog>
-        <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
-            <div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
-                <!-- {{ this.CountDowns }} -->
-                {{ this.CountDowns }}
-            </div>
+
+        <el-dialog :visible.sync="Taskqueue" :title="$t('Task queue')" top="5vh">
+            <el-table :data="tableData1" style="width: 100%;margin-bottom: 20px;" row-key="id" border lazy
+                default-expand-all :tree-props="{ children: 'glassinfo', hasChildren: 'hasChildren' }">
+                <el-table-column prop="flowcard" :label="$t('Order')">
+                </el-table-column>
+                <el-table-column prop="glasstype" :label="$t('GlassType')">
+                </el-table-column>
+                <el-table-column prop="number" :label="$t('Order No')">
+                </el-table-column>
+                <el-table-column prop="cageno" :label="$t('No Of Cage')">
+                </el-table-column>
+                <el-table-column prop="finishnumber" :label="$t('Finish No')">
+                </el-table-column>
+                <el-table-column prop="mateid" :label="$t('Mate No')">
+                </el-table-column>
+                <el-table-column prop="films" :label="$t('Films')">
+                </el-table-column>
+                <el-table-column prop="thickness" :label="$t('Thickness')">
+                </el-table-column>
+                <el-table-column prop="width" :label="$t('Width')">
+                </el-table-column>
+                <el-table-column prop="height" :label="$t('Height')">
+                </el-table-column>
+                <el-table-column prop="state" :label="$t('Task State')">
+                    <template slot-scope='scope'>
+                        {{ scope.row.state >= 0 ? scope.row.state == 0 ? $t('Stop') : $t('Start') : "" }}
+                    </template>
+                </el-table-column>
+                <el-table-column prop="method" :label="$t('Task Method')">
+                    <template slot-scope='scope'>
+                        {{ scope.row.state >= 0 ? scope.row.method == 0 ? $t('Out') : $t('All Out') : "" }}
+                    </template>
+                </el-table-column>
+                <el-table-column prop="line" :label="$t('Task Line')">
+                </el-table-column>
+                <el-table-column width="300" :label="$t('Operate')">
+
+                    <template slot-scope='scope'>
+                        <el-select v-model="selected[scope.$index]" :placeholder="$t('Line')"
+                            v-show="scope.row.state >= 0 ? true : false">
+                            <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                :value="item.value">
+                            </el-option>
+                        </el-select>
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            v-show="scope.row.state >= 0 ? true : false"
+                            @click="ClaimTasks(scope.row.flowcard, scope.row.state, selected[scope.$index])">
+                            {{ scope.row.state > 0 ? $t('Stop Task') : $t('Start Task') }}</el-button>
+
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            v-show="scope.row.state >= 0 ? true : false"
+                            @click="ModeChange(scope.row.flowcard, scope.row.method)">
+                            {{ $t('Mode Change') }}</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
         </el-dialog>
+
+        <el-dialog :visible.sync="StorageCageAdd" :title="$t('StorageCageAdd')" top="5vh" width="80%">
+            <div style="display: flex;height: 40px;line-height: 40px;">
+                <label for="">{{ $t('Width') }}</label>
+                <el-input v-model="StorageCageForm.width" autocomplete="off" style="width:15%;" />
+                <label for="">{{ $t('Height') }}</label>
+                <el-input v-model="StorageCageForm.height" autocomplete="off" style="width:15%;" />
+                <label for="">{{ $t('Thickness') }}</label>
+                <el-input v-model="StorageCageForm.thickness" autocomplete="off" style="width:15%;" />
+                <label for="">{{ $t('Films') }}</label>
+                <el-input v-model="StorageCageForm.films" autocomplete="off" style="width:15%;" />
+                <el-button @click="SelectGlassInfo()" type="primary">
+                    {{ $t('Select') }}</el-button>
+            </div>
+            <el-table :data="this.StorageCageAddInfo" :height="700" border style="width: 100%;overflow: auto;">
+                <el-table-column prop="flowcard" :label="$t('Flowcard')"></el-table-column>
+                <el-table-column prop="tier" :label="$t('Tier')"></el-table-column>
+                <el-table-column prop="glasstype" :label="$t('GlassType')"></el-table-column>
+                <el-table-column prop="width" :label="$t('Width')"></el-table-column>
+                <el-table-column prop="height" :label="$t('Height')"></el-table-column>
+                <el-table-column prop="thickness" :label="$t('Thickness')"></el-table-column>
+                <el-table-column prop="films" :label="$t('Films')"></el-table-column>
+                <el-table-column :label="$t('Operate')">
+                    <template slot-scope='scope'>
+                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+                            @click="StorageCageAddGlass(scope.$index)">
+                            {{ $t('Add') }}</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-dialog>
+
     </el-container>
 </template>
 <script>
 
 import {
-    home, home2, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo, SelectCageInfo, DeleteByGlassID, OutByGlassID, Loadcarlist,
-    SelectPassword, SelectGlassByGlassID, Disabled, Inglassid, SelectGlass, InsertQueueGlassId, UpdateQueueState, DeleteQueueGlass, SelectGlassNo,
-    SelectAluminumFrameInfoById, DeleteProductionQueueGlass, AddOutSliceS, isAllowQueues, isConfirmStates, SelectPermissionByUserName, currentUsername, CompleteQueue,
-    isAllowReorderings, FrameStateUpdate, WriteGlassID, ClearGlassId, CloseForm7, TaskStop, SoftEmergencyStop, SwitchScanMethod
+    home, SelectCageInfo,
+    Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
+    isAllowReorderings,
+
+    UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure
 } from "../../api/home";
 
 
-import LanguageMixin from '../../lang/LanguageMixin'
+import LanguageMixin from '../../lang/LanguageMixin';
+import * as XLSX from "../../../node_modules/xlsx/xlsx.mjs";
 let socket;
 export default {
     name: "Home",
     data() {
         return {
+            carposition:0,
+            selected: [],
+            options: [{
+                value: '1',
+                label: '1'
+            }, {
+                value: '2',
+                label: '2'
+            }],
+            dataList: [],
+            tableData1: [],
+            Measuermode: false,
             confirm1: false,
             confirm2: false,
             insertcage: 0,
@@ -886,18 +686,21 @@
             dialogFormVisible: false,
             dialogFormVisible1: false,
             dialogFormVisible2: false,
-            dialogFormVisible3: false,
-            dialogFormVisible4: false,
-            dialogFormVisible5: false,
-            dialogFormVisible6: false,
-            dialogFormVisible7: false,
-            dialogFormCountDown: false,
-            form: {
-                orderId: "",
-                glassId: "",
+            Importorder: false,
+            Measure: false,
+            StorageCage: false,
+            Taskqueue: false,
+            StorageCageAdd: false,
+            StorageCageInfo: [],
+            StorageCageForm: {
+                width: "",
                 height: "",
-                width: ""
+                thickness: "",
+                films: ""
             },
+            StorageCageAddInfo: [],
+            TaskqueueInfo: [],
+            cell: "",
             form1: {},
             form2: {},
             form3: {},
@@ -962,10 +765,11 @@
             reset: false,
             isQueueWarning: false,
             CurrentFrame: [],
-            DeviceList: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+            DeviceList: [1, 1, 1, 1],
             GlassIdList: [],
             Scanningmethod: true,
-            CurrrentGlassId: ""
+            CurrrentGlassId: "",
+            LastQueue: {}
         };
     },
     created() {
@@ -977,6 +781,17 @@
     }
     ,
     methods: {
+        showform(i) {
+            if (i == 1) {
+                this.Importorder = true;
+            } else if (i == 2) {
+                this.Measure = true;
+            } else if (i == 3) {
+                this.StorageCage = true;
+            } else if (i == 4) {
+                this.Taskqueue = true;
+            }
+        },
         init() {
             let viewname = "Home";
             if (typeof (WebSocket) == "undefined") {
@@ -998,95 +813,25 @@
                 socket.onmessage = function (msg) {
                     //console.log("鏀跺埌鏁版嵁====" + msg.data);
                     let obj = JSON.parse(msg.data);
-                    if (obj.params != null) {
-                        var zhi1 = obj.params[0][0];
-                        var zhi2 = obj.params[0][1];
-                        this.car1 = 145 + 8.15 * Math.abs(zhi1 - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
-                        this.car2 = 210 + 8.15 * Math.abs(zhi2 - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
-                        // this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
-                        // this.car2 = 300 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
+                    if(obj.carposition != null){
+                        this.carposition = obj.carposition[0];
                     }
-
+                    // 鑾峰彇璁惧鐘舵��
+                    if (obj.DeviceList != null) {
+                        this.DeviceList = obj.DeviceList[0];
+                    }
                     this.tableData = obj.tableData[0];
                     this.cagelist1 = obj.cagelist1[0];
                     this.cagelist2 = obj.cagelist2[0];
                     this.cagelist3 = obj.cagelist3[0];
                     this.cagelist4 = obj.cagelist4[0];
-                    this.tasklist1 = obj.tasklist1[0];
-                    this.tasklist2 = obj.tasklist2[0];
+                    this.tasklist2 = obj.StoragTaskeTaskFeed[0];
+                    this.tasklist1 = obj.StoragTaskeTaskOut[0];
                     this.alarm = obj.alarmmg[0];
-                    //鑾峰彇褰撳墠鎵爜鏂瑰紡
-                    if (obj.Scanningmethod != null) {
-                        this.Scanningmethod = obj.Scanningmethod[0];
-                    }
 
-                    //鑾峰彇褰撳墠鎵爜鏋幓鐠僫d
-                    if (obj.CurrrentGlassId != null) {
-                        const specialChars = /[^\w\s]/g;
-                        this.CurrrentGlassId = obj.CurrrentGlassId[0].replace(specialChars, "");
-                    }
+                    this.tableData1 = obj.OrderTask[0];
+                    this.LastQueue = obj.LastQueue[0];
 
-                    //鏌ヨ褰撳墠閾濇淇℃伅
-                    this.CurrentFrame = obj.CurrentFrame;
-
-                    // 鑾峰彇璁惧鐘舵��
-                    if (obj.DeviceList != null) {
-                        this.DeviceList = obj.DeviceList[0];
-                    }
-                    //鑾峰彇璁惧涓婄殑鐜荤拑id
-                    if (obj.GlassIdList != null) {
-                        this.GlassIdList = obj.GlassIdList[0];
-                    }
-                    //鑾峰彇寰呯‘璁ょ殑閾濇鐜荤拑淇℃伅
-                    if (obj.AluminumFrame != null) {
-                        this.AluminumFrame = obj.AluminumFrame[0];
-                        if (this.dialogFormVisible6 == true) {
-                            this.dialogFormVisible7 = true;
-                        }
-                    }
-
-                    //鏍规嵁杩涚墖鐘舵�佸嚭鍙戣繘鐗囦换鍔�
-                    if (obj.FeedState != null) {
-                        if (obj.FeedState[0] == true) {
-                            this.InsertQueueGlass(1);
-                        }
-                    }
-
-
-
-                    // if (obj.alarmmg[0].length > 0) {
-                    //     if (this.alarm.length > 0) {
-                    //         if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) {
-                    //             this.alarm = obj.alarmmg[0];
-                    //             this.dialogFormVisible2 = true;
-                    //         }
-                    //     } else {
-                    //         this.alarm = obj.alarmmg[0];
-                    //         this.dialogFormVisible2 = true;
-                    //     }
-                    // }
-                    // //鏄惁鎬ュ仠
-                    // if (obj.emergencystop != null) {
-                    //     this.EmergencyStop = obj.emergencystop[0];
-                    // }
-
-                    // //澶嶄綅鍊掕鏃�
-                    // if (obj.countdown != null) {
-                    //     if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
-                    //         this.CountDown();
-                    //     }
-                    // }
-
-                    // //澶嶄綅瀹屾垚淇″彿
-                    // if (obj.reset != null) {
-                    //     this.reset = obj.reset[0];
-                    // }
-
-                    //鏄惁鏈夎繘鐗囪姹�
-                    if (obj.D01RequestState != null) {
-                        this.D01RequestState = obj.D01RequestState[0];
-                    }
-                    // this.D01RequestState=true;
 
                     //鏄惁鍏佽鍑虹墖
                     this.isAllowQueue = obj.isAllowQueue[0];
@@ -1098,57 +843,14 @@
                     if (this.isAllowReordering == true) {
                         this.OutSlice = obj.listoutslice[0];
                     }
-                    //鑾峰彇涓婄墖浣嶇幓鐠冧俊鎭�
-
-                    if (obj.zhuangtai != null) {
-                        this.zhuangtai = obj.zhuangtai[0];
-                    }
-                    //涓婄墖浣嶇幓鐠冧俊鎭�
-                    if (obj.form2 != null && obj.form2 != "") {
-                        this.form2 = obj.form2[0];
-                        this.loadglassheight2 = 70;
-                    } else {
-                        this.form2 = {};
-                    }
-
-                    //鏄惁闇�瑕佹墜鍔ㄧ‘璁や笂鐗�
-                    this.isConfirm = obj.isConfirm[0];
-
-                    //鎵爜浣嶇幓鐠冧俊鎭�
-                    if (obj.form3 != null && obj.form3 != "" && obj.state[0] == 1) {
-                        this.form3 = obj.form3[0];
-                        this.loadglassheight1 = 70;
-                    } else {
-                        this.form3 = {};
-                    }
-
-                    if (obj.form3 != null && obj.form3 != "" && obj.state[0] == 0) {
-                        this.loadglassheight1 = 70;
-                        if (this.form5.glassId != obj.form3[0].glassId&&this.ManuallyInfeedGlass==false) {
-                            this.showform3();
-                            
-                        }
-                        this.form5 = obj.form3[0];
-                        this.glassid1 = "";
-                        if (this.D01RequestState == true) {
-                            this.Sizerange(this.form5, 3);
-                        } else {
-                            this.disabled1 = true;
-                        }
-                    } else {
-                        if (this.glassid1 == "") {
-                            this.DeleteBarcodeGlass();
-                        }
-                    }
-                    //鏁版嵁搴撹繛鎺ユ槸鍚︽甯�
-                    if (obj.dbconnected == "false") {
-                        this.text = this.$t('DataBase Connection failed');
-                    }
                     //鐞嗙墖绗肩幓鐠冧俊鎭�
                     if (this.dialogFormVisible3 == true) {
                         SelectCageInfo(this.cageglassid).then(res => {
                             this.cageinfo = res.data.cageinfo;
                         });
+                    }
+                    if (obj.StorageCageInfo != null) {
+                        this.StorageCageInfo = obj.StorageCageInfo[0];
                     }
                     this.$forceUpdate();
 
@@ -1157,7 +859,7 @@
                 socket.onclose = function () {
                     console.log("websocket宸插叧闂�");
                 };
-                //鍙戠敓浜嗛敊璇簨浠�
+                //鍙戠敓浜嗛敊璇簨浠�    
                 socket.onerror = function () {
                     console.log("websocket鍙戠敓浜嗛敊璇�");
                 }
@@ -1197,10 +899,6 @@
                 });
 
             });
-            //鍔犺浇灏忚溅浣嶇疆淇℃伅
-            Loadcarlist().then(res => {
-                this.carlist = res.data.carlist;
-            });
             //鍔犺浇绗煎瓙浣跨敤鎯呭喌鏁版嵁
             home().then(res => {
                 this.tableData = res.data.list;
@@ -1210,326 +908,73 @@
                 this.cageinfo = res.data.cageinfo;
                 this.currentPages = 1;
             });
-            //鍔犺浇鐞嗙墖绗肩幓鐠冩暟鎹�
-            home2().then(res => {
-                this.cagelist1 = res.data.list1;
-                this.cagelist2 = res.data.list2;
-                this.cagelist3 = res.data.list3;
-                this.cagelist4 = res.data.list4;
-            });
-            //鍔犺浇鎶ヨ淇℃伅
-            SelectAlarmmgInfo().then(res => {
-                this.alarm = res.data.alarmmg;
-            });
-
-            //鍔犺浇纭瀵嗙爜
-            SelectPassword().then(res => {
-                this.password = res.data.password;
-            });
         },
-        //鏍规嵁鏍煎瓙鐘舵�佷慨鏀归鑹�
-        getStatusClass(state) {
-            if (state == 0) {
-                return "gezi";
-            } else if (state == 1) {
-                return "blue gezi";
-            } else if (state == 2) {
-                return "yellow gezi";
-            } else if (state == 3) {
-                return "black gezi";
-            } else {
-                return "black gezi";
-            }
-        },
-        //鎸夎鍗曞嚭鐗�
-        getOrder() {
-            if (this.form1.order != "") {
-                InsertOrder(this.order).then(res => {
-                    if (res.data.message == 200) {
-                        this.dialogFormVisible1 = false;
-                        this.$message.success(this.$t('Operation successful'));
-                    } else {
-                        this.$message.error(this.$t('There is no glass for this order'));
-                    }
-                    this.load();
-                });
-            }
-        },
-        //鎵嬪姩涓婄墖
-        sbumitglassid() {
-            if (this.form.order != "") {
-                if (this.form.height < 380 || this.form.width < 390 || this.form.height > 1810 || this.form.width > 2760) {
-                    this.$message.error(this.$t('The glass size is not within the range'));
-                } else {
-                    if (this.zhuangtai == true) {
-                        Addglassid(this.glassid).then(res => {
-                            if (res.data.message2 == 200) {
-                                this.$message.success(this.$t('Operation successful'));
-                                this.cancel();
-                            } else if (res.data.message2 == 500) {
-                                this.$message.error(this.$t('There are currently tasks'));
-                            }
-                            else if (res.data.message2 == 300) {
-                                this.$message.error(this.$t('There is no such glass'));
-                            }
-                            else if (res.data.message2 == 400) {
-                                this.$message.error(this.$t('There is no such slot'));
-                            }
-                        });
-                    } else {
-                        this.$message.error(this.$t('There are currently tasks'));
-                    }
-                }
-            }
-        },
-        //鏄剧ず纭鐜荤拑淇℃伅涔熸病
-        showform(buttons) {
-            if (buttons == 1) {
-                this.confirm1 = true;
-                this.confirm2 = false;
-            } else if (buttons == 2) {
-                this.confirm1 = false;
-                this.confirm2 = true;
-            }
-            //鏍规嵁杈撳叆鐨勭幓鐠僫d鑾峰彇鐜荤拑淇℃伅
-            SelectGlassByGlassID(this.glassid).then(res => {
-                if (res.data.form != null) {
-                    this.form = res.data.form;
-                    this.dialogFormVisible = true;
-                    this.$message.success(this.$t('query was successful'));
-                } else {
-                    this.dialogFormVisible = true;
-                    this.$message.error(this.$t('There is no such glass'));
-                }
-            });
-        },
-        //鏄剧ず璁㈠崟淇℃伅椤甸潰
-        showform1() {
-            if (this.order != "") {
-                SelectGlassNo(this.order).then(res => {
-                    this.form1.order = this.order;
-                    this.form1.number = res.data.count;
-                });
-                this.dialogFormVisible1 = true;
-            }
-        },
-        //鏄剧ず鎵爜浣嶅拰涓婄墖浣�
-        showform3() {
-            this.dialogFormVisible5 = true;
-        },
-        //鎵嬪姩鍐欏叆plc鎵爜浣嶇幓鐠僫d
-        WriteGlassID() {
-            if (this.glassid1.length == 14) {
-                WriteGlassID(this.glassid1).then(res => {
-                    console.log(res.data);
-                    this.$message.success(this.$t('Successful operation'));
-                });
-            } else {
-                this.$message.error(this.$t('Please enter the correct glassID'));
-            }
-        },
-        //鑾峰彇鎵爜浣嶅拰涓婄墖浣嶆暟鎹�
-        SelectGlassByGlassIDs() {
-            this.showform3();
-
-        },
-        //鏌ヨ瀹㈡埛鐜荤拑淇℃伅
-        selectglassinfo() {
-            SelectGlass(this.orderid).then(res => {
-                this.currentPage = 1;
-                this.GlassInfo = res.data.glass;
-            });
-        },
-        //鏄剧ず瀹㈡埛鐜荤拑淇℃伅
-        showform2() {
-            SelectGlass(this.orderid).then(res => {
-                this.GlassInfo = res.data.glass;
-            });
-            this.dialogFormVisible4 = true;
-        },
-        //鏄剧ず鍑虹墖闃熷垪
-        showform6() {
-            this.dialogFormVisible6 = true;
-        },
-        //鏄剧ず閾濇瀵瑰簲鐜荤拑淇℃伅
-        showform7() {
-            //鏌ヨ閾濇id瀵瑰簲鐜荤拑淇℃伅
-            SelectAluminumFrameInfoById(this.framebarcode).then(res => {
-                this.AluminumFrame = res.data.AluminumFrame;
-            });
-            this.dialogFormVisible7 = true;
-        },
-        //鍙栨秷鎿嶄綔鏃跺叧闂〉闈�
-        cancel() {
-            this.dialogFormVisible = false;
-            this.form = {
-                orderId: "",
-                glassId: "",
-                height: "",
-                width: ""
-            };
-        },
-        //鍙栨秷鎿嶄綔鏃跺叧闂〉闈�
-        cancel1() {
-            this.dialogFormVisible1 = false;
-            this.form1 = {};
-        },
-        //鍙栨秷鎿嶄綔鏃跺叧闂〉闈�
-        cancel3() {
-            this.dialogFormVisible5 = false;
-            this.form1 = {};
-        },
-        //缁撴潫杩�/鍑虹墖浠诲姟
-        endtask(type, glassid, cell) {
-            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
-                inputType: 'password',
-                inputPlaceholder: this.$t('Please enter the password'),
-                confirmButtonText: this.$t('Yes'),
-                cancelButtonText: this.$t('No'),
-                type: 'warning'
-            }).then(({ value }) => {
-                if (this.password == value) {
-                    UpdateTask(type, glassid, cell).then(res => {
-                        if (res.data.message3 == 200) {
-                            this.$message.success(this.$t('Operation successful'));
-                        }
-                    });
-                } else {
-                    this.$message.error(this.$t('Password error'));//瀵嗙爜閿欒
-                }
-            }).catch(() => {
-                this.$message({
-                    type: 'info',
-                    message: this.$t('Operation canceled')
-                });
-            });
-        },
-        //鏄剧ず鐞嗙墖绗艰鎯呬俊鎭�
-        showcageinfo(cage) {
-            if (this.CageDetails == false) {
-                cage = this.cageglassid;
-                SelectCageInfo(cage).then(res => {
-                    this.cageinfo = res.data.cageinfo;
-                    this.currentPages = 1;
-                    this.dialogFormVisible3 = true;
-                });
-            } else {
-                this.$message.error(this.$t('You do not have this permission'));
-            }
-
-        },
-        //鍒犻櫎鐞嗙墖绗肩幓鐠�
-        deleteglass(glassid, state) {
-            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
-                inputType: 'password',
-                inputPlaceholder: this.$t('Please enter the password'),
-                confirmButtonText: this.$t('Yes'),
-                cancelButtonText: this.$t('No'),
-                type: 'warning'
-            }).then(({ value }) => {
-                if (this.password == value) {
-                    if (state == 1) {
-                        DeleteByGlassID(glassid).then(res => {
-                            if (res.data.message3 == 200) {
-                                this.$message.success(this.$t('Operation successful'));
-                            }
-                        });
-                    } else {
-                        this.$message.error(this.$t('No delete allowed'));
-                    }
-                } else {
-                    this.$message.error(this.$t('Password error'));//瀵嗙爜閿欒
-                }
-
-            }).catch(() => {
-                this.$message({
-                    type: 'info',
-                    message: this.$t('Operation canceled')
-                });
-            });
-        },
-        //鎵嬪姩鍑虹墖
-        outglass(glassid, state) {
-            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
-                inputType: 'password',
-                inputPlaceholder: this.$t('Please enter the password'),
-                confirmButtonText: this.$t('Yes'),
-                cancelButtonText: this.$t('No'),
-                type: 'warning'
-            }).then(({ value }) => {
-                if (this.password == value) {
-                    if (state == 1) {
-                        OutByGlassID(glassid).then(res => {
-                            if (res.data.message2 == 200) {
-                                this.$message.success(this.$t('Operation successful'));
-                            }
-                            else if (res.data.message2 == 300) {
-                                this.$message.error(this.$t('Unable to find the placement method of the aluminum frame'));
-                            }
-                            else if (res.data.message2 == 400) {
-                                this.$message.error(this.$t('Unable to find whether the aluminum frame is flipped or not'));
-                            }
-                            else if (res.data.message2 == 500) {
-                                this.$message.error(this.$t('This glass is already in the Queue'));
-                            }
-                        });
-                    } else {
-                        this.$message.error(this.$t('No out allowed'));
-                    }
-                } else {
-                    this.$message.error(this.$t('Password error'));//瀵嗙爜閿欒
-                }
-            }).catch(() => {
-                this.$message({
-                    type: 'info',
-                    message: this.$t('Operation canceled')
-                });
-            });
-        },
-        //鎵嬪姩寰�鐞嗙墖绗兼坊鍔犵幓鐠�
-        insertglass(cage, cell, tier) {
-            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
-                inputType: 'password',
-                inputPlaceholder: this.$t('Please enter the password'),
-                confirmButtonText: this.$t('Yes'),
-                cancelButtonText: this.$t('No'),
-                type: 'warning'
-            }).then(({ value }) => {
-                if (this.password == value) {
-                    this.insertcage = cage;
-                    this.insertcell = cell;
-                    this.inserttier = tier;
-                    this.showform(2);
-                } else {
-                    this.$message.error(this.$t('Password error'));//瀵嗙爜閿欒
-                }
-            }).catch(() => {
-                this.$message({
-                    type: 'info',
-                    message: this.$t('Operation canceled')
-                });
-            });
-        },
-        //鎵嬪姩涓婄墖
-        FeedInglassid() {
-            if (this.form.glassId != "" && this.form.glassId != null) {
-                Inglassid(this.insertcage, this.insertcell, this.inserttier, this.form).then(res => {
+        //娣诲姞鐞嗙墖绗肩幓鐠�
+        StorageCageAddGlass(index) {
+            if (this.Measuermode == true) {
+                StorageCageAddGlass(this.cell, this.StorageCageAddInfo[index]).then(res => {
                     if (res.data.message == 200) {
                         this.$message.success(this.$t('Operation successful'));
-                        this.dialogFormVisible = false;
-                        this.glassid="";
+                        this.StorageCageAdd=false;
                     }
-                    else if (res.data.message == 400) {
-                        this.$message.error(this.$t('The glass size is not within the range'));
-                    }
-                    else if (res.data.message == 300) {
-                        this.$message.error(this.$t('This glass is already in the cage'));
+                })
+            } else {
+                UpdateQueue(this.StorageCageAddInfo[index]).then(res => {
+                    if (res.data.message == 200) {
+                        this.$message.success(this.$t('Operation successful'));
+                    } else {
+                        this.$message.error(this.$t('Operation failed'));
                     }
                 });
-            } else {
-                this.$message.error(this.$t('There is no such glass'));
             }
 
+        },
+        //棰嗗彇/鏆傚仠浠诲姟
+        ClaimTasks(flowcard, state, line) {
+            ClaimTasks(flowcard, state, line).then(res => {
+                if (res.data.message == 200) {
+                    this.$message.success(this.$t('Operation successful'));
+                }
+            });
+        },
+        //淇敼鍑虹墖鏂瑰紡
+        ModeChange(flowcard, method) {
+            ModeChange(flowcard, method).then(res => {
+                if (res.data.message == 200) {
+                    this.$message.success(this.$t('Operation successful'));
+                }
+            });
+        },
+        //鏌ヨ鐜荤拑淇℃伅
+        SelectGlassInfo() {
+            SelectGlassInfo(this.StorageCageForm.width, this.StorageCageForm.height, this.StorageCageForm.thickness, this.StorageCageForm.films).then(res => {
+                this.StorageCageAddInfo = res.data.StorageCageAddInfo;
+            })
+        },
+        //瀹屾垚杩�/鍑虹墖浠诲姟
+        FinishTask(id) {
+            FinishTask(id).then(res => {
+                if (res.data.message == 200) {
+                    this.$message.success(this.$t('Operation successful'));
+                }
+            });
+        },
+        //淇敼鐞嗙墖绗肩幓鐠冧俊鎭�
+        UpdateStroageCageByCell(cell, nownum, num) {
+            if (nownum == null && num == 1) {
+                this.StorageCageAdd = true;
+                this.Measuermode=true;
+                this.cell = cell;
+            } else {
+                if (nownum + num == 0) {
+                    num = 0;
+                }
+                UpdateStroageCageByCell(cell, num).then(res => {
+                    if (res.data.message3 == 200) {
+                        this.$message.success(this.$t('Operation successful'));
+                    }
+                });
+            }
 
         },
         //鍚敤//鐞嗙墖绗肩鐢�
@@ -1540,35 +985,7 @@
                 }
             });
         },
-        //鍒犻櫎鍑虹墖闃熷垪鐜荤拑
-        deleteproductionqueueglass(id) {
-            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
-                inputType: 'password',
-                inputPlaceholder: this.$t('Please enter the password'),
-                confirmButtonText: this.$t('Yes'),
-                cancelButtonText: this.$t('No'),
-                type: 'warning'
-            }).then(({ value }) => {
-                if (this.password == value) {
-                    DeleteProductionQueueGlass(id).then(res => {
-                        if (res.data.message == 200) {
-                            this.$message.success(this.$t('Operation successful'));
-                        } else {
-                            this.$message.error(this.$t('This frame has glass that is currently outing'));
-                        }
-                    });
-                }
-            }).catch(() => {
-                this.$message({
-                    type: 'info',
-                    message: this.$t('Operation canceled')
-                });
-            });
-        },
-        //琛ㄦ牸鍒犻櫎
-        handleDelete(index, row) {
-            console.log(index, row);
-        },
+
         //鏀瑰彉姣忛〉瀹圭撼鐨勬暟鎹噺
         handleSizeChange: function (size) {
             this.pagesize = size;
@@ -1585,214 +1002,7 @@
         handleCurrentChanges: function (currentPage) {
             this.currentPages = currentPage;
         },
-        //鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
-        InsertQueueGlass(parameter) {
-            if (parameter == 1 && this.form5.glassId != "") {
-                if (this.form5.glassId != this.form2.glassId && this.form5.glassId != this.form3.glassId) {
-                    if (this.dialogFormVisible5 == true) {
-                        InsertQueueGlassId(1, this.form5).then(res => {
-                            if (res.data.message == 200) {
-                                this.form5 = {};
-                                this.$message.success(this.$t('Operation successful'));
-                            }
-                            else if (res.data.message == 400) {
-                                this.$message.error(this.$t('The glass size is not within the range'));
-                            } else {
-                                this.$message.error(this.$t('This glass ID already exists in the sorting cage'));
-                            }
-                        });
-                    }
-                } else {
-                    this.$message.error(this.$t('The glass ID already exists in the loading queue'));
-                }
-            } else if (parameter == 2 && this.form4.glassId != "") {
-                if (this.form4.glassId != this.form3.glassId && this.form4.glassId != this.form2.glassId) {
-                    InsertQueueGlassId(2, this.form4).then(res => {
-                        if (res.data.message == 200) {
-                            this.form4 = {};
-                            this.$message.success(this.$t('Operation successful'));
-                        } else {
-                            this.$message.error(this.$t('This glass ID already exists in the sorting cage'));
-                        }
-                    });
-                } else {
-                    this.$message.error(this.$t('The glass ID already exists in the loading queue'));
-                }
 
-
-            }
-        },
-        //娓呴櫎涓婄墖闃熷垪鐜荤拑
-        DeleteQueueGlasss(parameter) {
-            if (parameter == 1) {
-                DeleteQueueGlass(1).then(res => {
-                    if (res.data.message == 200) {
-                        this.form3 = {};
-                        this.$message.success(this.$t('Operation successful'));
-                    }
-                });
-            } else {
-                DeleteQueueGlass(2).then(res => {
-                    if (res.data.message == 200) {
-                        this.form2 = {};
-                        this.$message.success(this.$t('Operation successful'));
-                    }
-                });
-            }
-        },
-        //淇敼鎵爜浣嶇幓鐠冪姸鎬�
-        UpdateQueueStates() {
-            UpdateQueueState().then(res => {
-                if (res.data.message == 200) {
-                    this.$message.success(this.$t('Operation successful'));
-                }
-            });
-        },
-        //閾濇瀵瑰簲鐜荤拑淇℃伅娣诲姞閾濇id鍜屾槸鍚︽坊鍔犲埌闃熷垪
-        CheckBoxchange(glassid, isChecked) {
-            this.AluminumFrame.forEach(item => { item.barcode = glassid; item.isCheck = isChecked })
-        },
-        //娣诲姞鍒板嚭鐗囬槦鍒�
-        AddOutSliceS() {
-            if (this.AluminumFrame != null) {
-                AddOutSliceS(this.AluminumFrame[0].frameBarcode).then(res => {
-                    if (res.data.message == 200) {
-                        this.$message.success(this.$t('Operation successful'));
-                    }
-                });
-            }
-        },
-        //鍏抽棴寰呯‘璁ら摑妗嗕俊鎭晫闈㈠苟娓呴櫎寰呯‘璁や俊鎭�
-        CloseForm7() {
-            if (this.AluminumFrame != null) {
-                CloseForm7().then(res => {
-                    if (res.data.message == 200) {
-                        this.AluminumFrame = null;
-                        this.dialogFormVisible7 = false;
-                        this.$message.success(this.$t('Operation successful'));
-                    }
-                });
-            }
-        },
-        //缃《
-        getTopMove(row, index) {
-            let Sequence = [];
-            this.OutSlice.forEach(item => {
-                Sequence.push(item.sequence);
-            });
-            let OutSliceArr = [];
-            OutSliceArr.push(row);
-            let belowstop = 1;
-            let hereframeno = this.OutSlice[index].barcode;
-            let upperstop = 0;
-            for (let i = index + 1; i < this.OutSlice.length; i++) {
-                if (this.OutSlice[i].barcode == hereframeno) {
-                    OutSliceArr.push(this.OutSlice[i]);
-                    belowstop += 1;
-                } else {
-                    break;
-                }
-            }
-            this.OutSlice.splice(index, belowstop);
-            for (let i = 0; i < OutSliceArr.length; i++) {
-                this.OutSlice.splice(upperstop, 0, OutSliceArr[i]);
-                upperstop += 1;
-            }
-            this.UpdateSequence(Sequence);
-        },
-        //涓婄Щ
-        getUpMove(row, index) {
-            let Sequence = [];
-            this.OutSlice.forEach(item => {
-                Sequence.push(item.sequence);
-            });
-            let OutSliceArr = [];
-            OutSliceArr.push(row);
-            let belowstop = 1;
-            let upperstop = 0;
-            let index_x = index - 1;
-            let hereframeno = this.OutSlice[index].barcode;
-            let upperframeno = this.OutSlice[index_x].barcode;
-            for (let i = index + 1; i < this.OutSlice.length; i++) {
-                if (this.OutSlice[i].barcode == hereframeno) {
-                    OutSliceArr.push(this.OutSlice[i]);
-                    belowstop += 1;
-                } else {
-                    break;
-                }
-            }
-            this.OutSlice.splice(index, belowstop);
-            for (let i = index_x; i >= 0; i--) {
-                if (this.OutSlice[i].barcode != upperframeno) {
-                    upperstop = i + 1;
-                    break;
-                }
-            }
-            for (let i = 0; i < OutSliceArr.length; i++) {
-                this.OutSlice.splice(upperstop, 0, OutSliceArr[i]);
-                upperstop += 1;
-            }
-            this.UpdateSequence(Sequence);
-        },
-        //涓嬬Щ
-        getDownMove(row, index) {
-            let Sequence = [];
-            this.OutSlice.forEach(item => {
-                Sequence.push(item.sequence);
-            });
-            let OutSliceArr = [];
-            OutSliceArr.push(row);
-
-            let belowstop = 1;
-            let upperstop = this.OutSlice.length - 1;
-            let flag = 0;
-            let hereframeno = this.OutSlice[index].barcode;
-            let upperframeno;
-            for (let i = index + 1; i < this.OutSlice.length; i++) {
-                if (this.OutSlice[i].barcode == hereframeno) {
-                    OutSliceArr.push(this.OutSlice[i]);
-                    belowstop += 1;
-                } else {
-                    break;
-                }
-            }
-            this.OutSlice.splice(index, belowstop);
-            for (let i = index; i < this.OutSlice.length; i++) {
-                if (this.OutSlice[i].barcode != hereframeno && this.OutSlice[i].barcode != upperframeno) {
-                    upperframeno = this.OutSlice[i].barcode;
-                    flag += 1;
-                    upperstop = i;
-                }
-                if (i == this.OutSlice.length - 1 && flag == 1) {
-                    flag += 1;
-                    upperstop = i + 1;
-                }
-                if (flag == 2) {
-                    break;
-                }
-            }
-            for (let i = 0; i < OutSliceArr.length; i++) {
-                this.OutSlice.splice(upperstop, 0, OutSliceArr[i]);
-                upperstop += 1;
-            }
-            this.UpdateSequence(Sequence);
-        },
-        //淇敼鍑虹墖椤哄簭
-        UpdateSequence(Sequence) {
-            let i = 0;
-            this.OutSlice.forEach(item => {
-                item.sequence = Sequence[i];
-                i++;
-            });
-        },
-        //鍒囨崲鍑虹墖闃熷垪鐘舵��
-        isAllowQueueState() {
-            isAllowQueues(!this.isAllowQueue, this.OutSlice).then(res => {
-                if (res.data.message == 200) {
-                    this.$message.success(this.$t('Operation successful'));
-                }
-            })
-        },
         //鏄惁鍏佽鍑虹墖闃熷垪鎺掑簭
         isAllowReorderings() {
             isAllowReorderings(!this.isAllowReordering, this.OutSlice).then(res => {
@@ -1801,107 +1011,6 @@
                 }
             })
         },
-        //鍒囨崲涓婄墖鏄惁闇�瑕佺‘璁ょ幓鐠冧俊鎭�
-        isConfirmState() {
-            isConfirmStates(!this.isConfirm).then(res => {
-                if (res.data.message == 200) {
-                    this.$message.success(this.$t('Operation successful'));
-                }
-            });
-        }
-        ,
-        //琛ㄦ牸鏍峰紡
-        cellStyle({ column, rowIndex, columnIndex }) {
-            column = rowIndex;
-            rowIndex = column;
-            let style = "";
-            if (columnIndex === 8) {
-                // style = "font-size:200px;text-align: center;";
-                style = "";
-            }
-            // if (columnIndex === 9 && row.flip == 1) {
-            //     style = "background-Color:yellow;";
-            // }
-            // if (columnIndex === 6 && row.state == 3) {
-            //     style = "background-Color:gray;";
-            // }
-            return style;
-        }
-        ,
-        //鍚堝苟琛�
-        objectSpanMethod({ row, column, rowIndex, columnIndex }) {
-            // console.log(row, column, "ss");
-            row = column;
-            column = row
-            let arrOutSlice = this.OutSlice;
-            let rowspans = 0;
-            let colspans = 1;
-            let barcode = arrOutSlice[rowIndex].barcode;
-
-            let barcode2;
-            if (rowIndex != 0) {
-                barcode2 = arrOutSlice[rowIndex - 1].barcode;
-            }
-            if (columnIndex === 0 || columnIndex === 10) {
-                if (barcode != barcode2) {
-                    // this.FrameNoFlag = barcode;
-                    for (let i = rowIndex; i < this.OutSlice.length; i++) {
-                        if (barcode == arrOutSlice[i].barcode) {
-                            barcode = arrOutSlice[i].barcode;
-                            rowspans += 1;
-                        } else {
-                            break;
-                        }
-                    }
-                    return {
-                        rowspan: rowspans,
-                        colspan: colspans
-                    };
-                } else {
-                    return {
-                        rowspan: 0,
-                        colspan: 0
-                    };
-                }
-            }
-        },
-        //鍒ゆ柇鐜荤拑鏄惁瓒呭嚭鑼冨洿
-        Sizerange(Glass, position) {
-            if (this.ManuallyInfeedGlass == false) {
-                if ((Glass.glassheight < 380 || Glass.glasswidth < 390 || Glass.glassheight > 1810 || Glass.glasswidth > 2760) || (Glass.glassheight < 390 || Glass.glasswidth < 380 || Glass.glassheight > 2760 || Glass.glasswidth > 1810)) {
-                    this.$alert(this.$t('The glass size is not within the range'), this.$t('confirm'), {
-                        confirmButtonText: this.$t('Yes'),
-                        type: 'info',
-                        callback: (action) => {
-                            this.$message({
-                                type: 'info',
-                                message: `action: ${action}`
-                            }).then(
-                                this.DeleteBarcodeGlass()
-                            );
-                        }
-                    });
-                    if (position == 1 || position == 3) {
-                        this.disabled1 = true;
-                    } else {
-                        this.disabled = true;
-                    }
-                } else {
-                    if (position == 1 || position == 3) {
-                        this.disabled1 = false;
-                    } else {
-                        this.disabled = false;
-                    }
-                    // if (position == 3 && this.isConfirm == true && this.D01RequestState == true && this.dialogFormVisible5 == true) {
-                    //     this.InsertQueueGlass(1);
-                    // }
-                }
-            }
-        },
-        //娓呯┖寰呯‘璁ょ幓鐠冧俊鎭�
-        DeleteBarcodeGlass() {
-            this.form5 = {};
-        },
         //鎵嬪姩瀹屾垚鍑虹墖浠诲姟
         CompleteQueue(id, frameid, glassid) {
             CompleteQueue(id, frameid, glassid).then(res => {
@@ -1909,81 +1018,6 @@
                     this.$message.success(this.$t('Operation successful'));
                 }
             });
-        },
-        //60绉掑浣嶅�掓暟璁℃椂
-        CountDown() {
-            let count = 60;
-            let timer = setInterval(
-                () => {
-                    if (this.EmergencyStop == true) {
-                        this.dialogFormCountDown = false;
-                        clearInterval(timer);
-                        this.CountDowns = "0";
-                    } else {
-                        if (count > 0) {
-                            this.PromptSize = 500;
-                            count--;
-                            this.CountDowns = count;
-                            this.dialogFormCountDown = true;
-                        }
-                        else {
-                            this.PromptSize = 200;
-                            this.CountDowns = "Waiting for reset";
-                            if (this.reset == true) {
-                                clearInterval(timer);
-                                this.dialogFormCountDown = false;
-                            }
-                        }
-                    }
-                },
-                1000
-            );
-
-        },
-        //鏇存崲褰撳墠閾濇
-        FrameStateUpdate(frameno) {
-            FrameStateUpdate(frameno).then(res => {
-                if (res.data.message == 200) {
-                    this.$message.success("Operation successful");
-                }
-            });
-        },
-        //褰撳墠閾濇鍥惧舰
-        FrameWidthHeight(state, width, height, position) {
-            if (state == "before") {
-                if (position == 0) {
-                    if (width > height) {
-                        return 400;
-                    }
-                    else {
-                        return width / height * 400;
-                    }
-                } else {
-                    if (width > height) {
-                        return height / width * 400;
-                    }
-                    else {
-                        return 400;
-                    }
-                }
-            }
-            if (state == "after") {
-                if (position == 0) {
-                    if (width < height) {
-                        return 400;
-                    }
-                    else {
-                        return height / width * 400;
-                    }
-                } else {
-                    if (width < height) {
-                        return width / height * 400;
-                    }
-                    else {
-                        return 400;
-                    }
-                }
-            }
         },
         //鑾峰彇璁惧鏄剧ず鐘舵��
         ShowDeviceList(num) {
@@ -1998,6 +1032,15 @@
                 }
             }
         },
+        //鑾峰彇璁惧鏄剧ず鐘舵��
+        ShowCellList(num) {
+            if (num == null) {
+                return "";
+            } else if (num > 0) {
+                return "gray";
+                // return "rgba(0,0,0,1)";
+            }
+        },
         //鑾峰彇璁惧鐜荤拑id
         ShowGlassIdList(num) {
             if (this.GlassIdList != null && this.GlassIdList.length > 0) {
@@ -2005,76 +1048,74 @@
                 return this.GlassIdList[num].replace(specialChars, "");
             }
         },
-        //娓呴櫎鐜荤拑id
-        ClearGlassId(position, num) {
-            if (this.ClearGlassID == false) {
-                console.log(this.DeviceList, num);
-                if (this.DeviceList[num] == 0) {
-                    if (this.GlassIdList[num].length <= 14) {
-                        this.$confirm(this.$t('Are you sure to clear this barcode ?'), this.$t('confirm'), {
-                            confirmButtonText: this.$t('Yes'),
-                            cancelButtonText: this.$t('No'),
-                            type: 'warning'
-                        }).then(() => {
-                            ClearGlassId(position, this.GlassIdList[num]).then(res => {
-                                if (res.data.message == 200) {
-                                    this.$message.success(this.$t('Operation successful'));
-                                } else {
-                                    this.$message.success(this.$t('operation failed'));
-                                }
-                            });
-                        }).catch(() => {
-                            this.$message({
-                                type: 'info',
-                                message: this.$t('Operation canceled')
-                            });
-                        });
-                    } else {
-                        this.$message.error(this.$t('There is no glass ID here'));
-                    }
-                } else {
-                    //鑷姩鐘舵�佷笉鑳芥竻闄ょ幓鐠僫d
-                    this.$message.error(this.$t('Unable to clear glass ID in automatic mode'));
+        //浜哄伐鍖归厤
+        ManualMatching() {
+            this.StorageCageAdd = true;
+            this.Measuermode=false;
+        },
+        //浜哄伐鎷胯蛋
+        ManualTake() {
+            let s = "123";
+            ManualTake(s).then(res => {
+                if (res.data.message == 200) {
+                    console.log(res.data.message);
                 }
-            } else {
-                this.$message.error(this.$t('You do not have this permission'));
+            })
+        },
+        //閲嶆柊娴嬮噺
+        AnewMeasure() {
+            let s = "123";
+            AnewMeasure(s).then(res => {
+                if (res.data.message == 200) {
+                    console.log(res.data.message);
+                }
+            })
+        },
+        Change(event) {
+            // 鑾峰彇鍒版枃浠跺す
+            let fileList = event.target.files;
+            // 濡傛灉鏁版嵁涓嶄负绌�
+            if (fileList) {
+                // FileReader鏄竴绉嶅紓姝ユ枃浠惰鍙栨満鍒讹紝缁撳悎input:file鍙互寰堟柟渚跨殑璇诲彇鏈湴鏂囦欢銆�
+                let reader = new FileReader();
+                let file = fileList[0]; //鎷垮埌绗竴鏉℃暟鎹�
+                reader.readAsBinaryString(file)// 灏嗘枃浠朵互浜岃繘鍒跺舰寮忚鍏ラ〉闈�
+                let _this = this //鎶奷ata閲岀殑鏁版嵁璧嬪�肩粰鏂扮殑鍙橀噺
+                // wb:wordbook 宸ヤ綔琛�  
+                reader.addEventListener("load", function (e) {
+
+                    var data = e.target.result; //璇诲彇鎴愬姛鍚巖esult涓殑鏁版嵁
+                    var wb = XLSX.read(data, { type: "binary" });
+                    let sheetName = wb.SheetNames[0]; //鏄幏鍙朣heets涓涓�涓猄heet鐨勫悕瀛�
+                    let sheets = wb.Sheets[sheetName];
+                    let dataList2 = JSON.stringify(XLSX.utils.sheet_to_json(sheets));
+                    let dataList3 = (JSON.parse(dataList2));
+                    _this.dataList = dataList3;//璧嬪��
+                    //console.log(dataList2);  
+                    console.log(dataList3);
+
+                })
             }
         },
-        //缁堟杩�/鍑虹墖浠诲姟
-        TaskStop(num) {
-            TaskStop(num).then(res => {
+        Add() {
+
+        },
+        importData() {
+            //let tbdata=JSON.stringify(this.dataList);
+            let tbdata=this.dataList;
+            console.log(tbdata);
+            importData(tbdata).then(res => {
                 if (res.data.message == 200) {
                     this.$message.success(this.$t('Operation successful'));
                 }
             });
         },
-        //杞�ュ仠
-        SoftEmergencyStop() {
-            this.$confirm(this.$t('Are you sure you want an emergency stop ?'), this.$t('confirm'), {
-                confirmButtonText: this.$t('Yes'),
-                cancelButtonText: this.$t('No'),
-                type: 'warning'
-            }).then(() => {
-                SoftEmergencyStop.then(res => {
-                    if (res.data.message == 200) {
-                        this.$message.success(this.$t('Operation successful'));
-                    }
-                });
-            }).catch(() => {
-                this.$message({
-                    type: 'info',
-                    message: this.$t('Operation canceled')
-                });
-            });
-        },
-        //鍒囨崲浜岀淮鐮佽幏鍙栨柟寮�
-        SwitchScanMethod() {
-            SwitchScanMethod(!this.Scanningmethod).then(res => {
-                if (res.data.message == 200) {
-                    this.$message.success(this.$t('Operation successful'));
-                }
-            });
+        del() {
+
+            this.StorageCageAdd = true;
         }
+
+
     }
 }
-</script>
\ No newline at end of file
+</script>

--
Gitblit v1.8.0