From def4c65d0ed71a48374c8614fcc74820ce2b6d84 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期二, 16 一月 2024 15:01:14 +0800 Subject: [PATCH] 主界面添加玻璃id,设备状态等显示 --- CanadaMes-ui/src/views/home/index.vue | 615 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 422 insertions(+), 193 deletions(-) diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue index e0a791e..c2e1186 100644 --- a/CanadaMes-ui/src/views/home/index.vue +++ b/CanadaMes-ui/src/views/home/index.vue @@ -81,7 +81,9 @@ } .blocks-img { - height: 100px; + height: 88px; + line-height: 90px; + color: white; max-width: 100vw; background-repeat: no-repeat; background-attachment: local; @@ -108,7 +110,7 @@ top: 366px; */ } -.orderbutton1 { +/* .orderbutton1 { position: absolute; left: 1070px; top: 70px; @@ -118,7 +120,7 @@ position: absolute; left: 500px; top: -10px; -} +} */ .blocks-img3 { height: 90px; @@ -216,10 +218,23 @@ display: flex; } -/* .el-table td, -.el-table th { - padding: 0px 0; -} */ +.device { + font-weight: bold; + width: 25px; + height: 72px; + line-height: 72px; + color: white; + font-size: 12px; + position: absolute; +} + +.glass { + font-weight: bold; + font-size: 12px; + width: 105px; + height: 15px; + position: absolute; +} </style> <template> <el-container> @@ -235,11 +250,26 @@ </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-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(2)" :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('OrderInfo') + }}</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('Stop Feeding') }}</el-button> + <el-button type="primary" @click="TaskStop(1)" :disabled="StopTask" + :class="StopTask == true ? 'hide' : ''"> + {{ $t('Stop Outing') }}</el-button> + <el-button type="primary" @click="SoftEmergencyStop()" :disabled="SoftEmergencyStop" + :class="SoftEmergencyStop == 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> @@ -328,41 +358,57 @@ <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-img" :style="{ left: car1 + 'px', top: '16px' }"></div> - <div class="blocks-img" :style="{ left: car2 + 'px', top: '175px' }"></div> + <div class="blocks-img2"></div> <div class="blocks-img3"></div> - <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo" - :class="OrderInfo == true ? 'hide' : ''">{{ $t('OrderInfo') - }}</el-button> - <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue" - :class="OutingQueue == true ? 'hide' : ''"> - {{ $t('Outing Queue') }}</el-button> - <!-- <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:328px;"> - <div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist1" :key="item['date']" - :style="{ height: 35 * item['glassWidth'] + 'px',left:4.22*index+'px' }" - @click="showcageinfo(item['cage'])"></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 style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:885px;"> - <div :class="getStatusClass(item.state)" v-for="(item,index) in cagelist2" :key="item['date']" - :style="{ height: 35 * item['glassWidth'] + 'px',left:4.22*index+'px' }" - @click="showcageinfo(item['cage'])"></div> - </div> - <div style="display:flex;position: absolute;float:left;z-index: 999;top:154px;left:328px;"> - <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:4.22*index+'px' }" - @click="showcageinfo(item['cage'])"></div> - </div> - <div style="display:flex;position: absolute;float:left;z-index: 999;top:154px;left:885px;"> - <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:4.22*index+'px' }" - @click="showcageinfo(item['cage'])"></div> - </div> - <div class="blocks-img" :style="{ left: car1 + 'px', top: '16px' }"></div> - <div class="blocks-img" :style="{ left: car2 + 'px', top: '194px' }"></div> - <div class="blocks-img2" :style="{ left: '912px', top: '366px' }"></div> - <div class="blocks-img3" :style="{ left: '875px', top: '455px' }"></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="glass D01" style="top: 54px;left: 1055px;position: absolute;" + @click="ClearGlassId('DB101.9.2', 0)">{{ ShowGlassIdList(0) }}</div> + <div class="glass D02" style="top: 132px;left: 1055px;position: absolute;" + @click="ClearGlassId('DB101.9.2', 1)">{{ ShowGlassIdList(1) }}</div> + <div class="glass B01" style="top: 270px;left: 640px;position: absolute;" + @click="ClearGlassId('DB101.10.2', 2)"> + B01:{{ ShowGlassIdList(2) }}</div> + <div class="glass B02" style="top: 290px;left: 640px;position: absolute;" + @click="ClearGlassId('DB101.10.3', 3)">B02:{{ ShowGlassIdList(3) }}</div> + <div class="glass A01" style="top: 270px;left: 289px;position: absolute;" + @click="ClearGlassId('DB101.10.0', 4)"> + A01.1:{{ ShowGlassIdList(4) }}</div> + + <div class="glass A01" style="top: 290px;left: 289px;position: absolute;" + @click="ClearGlassId('DB101.10.1,5')">A01.2:{{ ShowGlassIdList(5) }}</div> + + <div class="glass A02" style="top: 310px;left: 300px;position: absolute;" + @click="ClearGlassId('DB101.10.2,6')">A02:{{ ShowGlassIdList(6) }}</div> + + <div class="glass D03" style="top: 137px;left: 42px;position: absolute;" + @click="ClearGlassId('DB101.9.4', 7)"> + {{ ShowGlassIdList(7) }}</div> + <div class="glass D04" style="top: 213px;left: 42px;position: absolute;" + @click="ClearGlassId('DB101.9.5', 8)"> + {{ ShowGlassIdList(8) }}</div> + <div class="glass D05" style="top: 290px;left: 42px;position: absolute;" + @click="ClearGlassId('DB101.9.6', 9)"> + {{ ShowGlassIdList(9) }}</div> + <div class="glass D06" style="top: 367px;left: 42px;position: absolute;" + @click="ClearGlassId('DB101.9.5', 10)"> + {{ ShowGlassIdList(10) }}</div> + + </div> </el-footer> <el-dialog :visible.sync="dialogFormVisible" :title="$t('Please confirm the glass information')"> @@ -442,7 +488,13 @@ 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')"></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> @@ -460,7 +512,7 @@ {{ 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') }} @@ -514,12 +566,26 @@ </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> + <el-input style="width:50%;margin-left: 20%;" :placeholder="$t('Enter the glass barcode')" + v-model="glassid2"></el-input> + <el-button type="primary" @click="SelectGlassByGlassIDs(1)">{{ $t('Query') + }}</el-button> + </el-form-item> --> + <el-form-item> + <el-input style="width:70%;" :placeholder="$t('Enter the glass barcode')" + v-model="glassid1"></el-input> + <el-button type="primary" @click="SelectGlassByGlassIDs(2)">{{ $t('Add') + }}</el-button> + </el-form-item> + </div> <div style="display: flex;justify-content: space-around;"> <label for="">{{ $t('Upper film position') }}</label> <div> {{ $t('Confirm State') }}:{{ this.isConfirm == true ? $t('Not Allow') : $t('Allow') }} - <el-button type="primary" @click="isConfirmState()"> - {{ this.isConfirm == true ? $t('Allow') : $t('Not Allow') }}</el-button> + <el-button type="primary" @click="isConfirmState()"> + {{ this.isConfirm == true ? $t('Allow') : $t('Not Allow') }}</el-button> </div> <label for="">{{ $t('Scan Code Point') }}</label> </div> @@ -529,20 +595,7 @@ <label for="">{{ $t('current Information') }}</label> <label for="">{{ $t('Modify Information') }}</label> </div> - <div style="display: flex;justify-content: space-around;"> - <el-form-item> - <el-input style="width:50%;margin-left: 20%;" :placeholder="$t('Enter the glass barcode')" - v-model="glassid2"></el-input> - <el-button type="primary" @click="SelectGlassByGlassIDs(1)">{{ $t('Query') - }}</el-button> - </el-form-item> - <el-form-item> - <el-input style="width:50%;margin-left: 20%;" :placeholder="$t('Enter the glass barcode')" - v-model="glassid1"></el-input> - <el-button type="primary" @click="SelectGlassByGlassIDs(2)">{{ $t('Query') - }}</el-button> - </el-form-item> - </div> + <div style="display: flex;justify-content: space-around;"> <el-form-item :label="$t('Barcode')"> <el-input v-model="form2.glassId" readonly autocomplete="off" /> @@ -627,14 +680,15 @@ <el-input v-model="form5.glassheightmm" readonly autocomplete="off" /> </el-form-item> </div> - <div style="display: flex;justify-content: space-around;"> - <el-button @click="DeleteQueueGlasss(2)" type="primary">{{ $t('Clear Current') + <div style="display: flex;justify-content: right;"> + <!-- <el-button @click="DeleteQueueGlasss(2)" type="primary">{{ $t('Clear Current') }}</el-button> <el-button @click="InsertQueueGlass(2)" type="primary" :disabled="disabled"> {{ $t('Confirm Modification') }}</el-button> <el-button @click="DeleteQueueGlasss(1)" type="primary">{{ $t('Clear Current') - }}</el-button> - <el-button @click="InsertQueueGlass(1)" type="primary" :disabled="disabled1"> + }}</el-button> --> + <el-button @click="InsertQueueGlass(1)" style="margin-right: 100px;" type="primary" + :disabled="disabled1"> {{ $t('Confirm Modification') }}</el-button> </div> </el-form> @@ -646,68 +700,75 @@ </el-dialog> <el-dialog :visible.sync="dialogFormVisible6" :title="$t('Outing Queue')" top="5vh"> - {{ $t('Queue State') }}: + {{ $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') }}: + <!-- {{ $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="AddOutSliceS()">{{ $t('Add') }}</el-button> - <label style="background-color:yellow;font-size: 23px;" for="">{{ isQueueWarning== true ? $t('The cage is disabled') : "" }}</label> + }}</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 cage is disabled') : "" }} + </label> <!-- <span style="background-color:yellow;"> {{ isQueueWarning== true ? $t('The cage is disabled') : $t('The cage is disabled') }} </span> --> - - <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 :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 != 2 && scope.row.state != 4)" - @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ $t('Complete') - }}</el-button> - </template> - </el-table-column> - <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;"> + <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 != 2 && scope.row.state != 4)" + @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ + $t('Complete') + }}</el-button> + </template> + </el-table-column> + <!-- <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;"> <template slot-scope='scope'> <div :style="'width:' + (scope.row.position == 1 ? '300' : '100') + 'px;height:' + (scope.row.position == 1 ? '100' : '200') + 'px;background-Color:gray;margin:0 auto;'"> </div> </template> - </el-table-column> - <el-table-column prop="position" :label="$t('Flipped')" :min-width="200"> + </el-table-column> --> + <!-- <el-table-column prop="position" :label="$t('Flipped')" :min-width="200"> <template slot-scope='scope'> {{ scope.row.flip == true ? $t('EXTERIQR OUT AND BYPASS TO THE LEFT') : $t('EXTERIQR OUT AND BYPASS TO THE RIGHT') }} </template> - </el-table-column> - <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column> - <el-table-column :width="240" :label="$t('Operate')"> - <template slot-scope='scope'> - <el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)" + </el-table-column> --> + + <el-table-column :width="100" :label="$t('Operate')"> + <template slot-scope='scope'> + <!-- <el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)" style="font-size: 15px;" :disabled="(scope.$index == 0 || isAllowReordering == true || scope.row.state == 1)"> {{ $t('Top') }} @@ -721,25 +782,47 @@ style="font-size: 15px;" :disabled="(OutSlice.length - 1 == scope.$index || isAllowReordering == true || scope.row.state == 1)"> {{ $t('Down') }} - </el-button> - <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue" - @click="deleteproductionqueueglass(scope.row.barcode)">{{ $t('Delete') }}</el-button> + </el-button> --> + <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" + :disabled="isAllowQueue" @click="deleteproductionqueueglass(scope.row.barcode)">{{ + $t('Delete') }}</el-button> - <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue" + <!-- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue" @click="FrameStateUpdate(scope.row.barcode,scope.row.framestate)">{{ - scope.row.framestate == 0 ? $t('Stop') : $t('Start') }}</el-button> - </template> - </el-table-column> - </el-table> + scope.row.framestate == 0 ? $t('Stop') : $t('Start') }}</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-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="addoutslice()">{{ $t('Add') }}</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> @@ -748,9 +831,15 @@ <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')"></el-table-column> - <el-table-column prop="FrameNo" :label="$t('Frame No')"></el-table-column> - <el-table-column prop="Flip" :label="$t('Flipped')"></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-table-column prop="Flip" :label="$t('Flipped')"></el-table-column> --> <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') }} @@ -762,12 +851,12 @@ {{ scope.row.storageCage != null ? $t('Yes') : $t('No') }} </template> </el-table-column> - <el-table-column :width="80" :label="$t('Operate')"> + <!-- <el-table-column :width="80" :label="$t('Operate')"> <template slot-scope='scope'> <el-checkbox label="" :disabled="!(scope.row.storageCage != null && scope.row.out_slice == null)" :checked="scope.row.isCheck" @change="CheckBoxchange(scope.row.barcode, $event)"></el-checkbox> </template> - </el-table-column> + </el-table-column> --> </el-table> </el-dialog> <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh"> @@ -784,7 +873,7 @@ 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 + isAllowReorderings, FrameStateUpdate, WriteGlassID, ClearGlassId, CloseForm7, TaskStop, SoftEmergencyStop } from "../../api/home"; @@ -870,16 +959,23 @@ OutingQueue: true, OrderInfo: true, CageDetails: true, + ClearGlassID:true, + StopTask:true, + SoftEmergencyStop:true, CountDowns: "0", D01RequestState: false, EmergencyStop: false, PromptSize: 250, reset: false, - isQueueWarning: false + isQueueWarning: false, + CurrentFrame: [], + DeviceList: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + GlassIdList: [] }; }, created() { this.load(); + this.init(); } , @@ -920,6 +1016,24 @@ this.tasklist1 = obj.tasklist1[0]; this.tasklist2 = obj.tasklist2[0]; this.alarm = obj.alarmmg[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.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) { @@ -1040,6 +1154,15 @@ } if (item.permissionId == "35" && item.state == 1) { this.CageDetails = false; + } + if (item.permissionId == "36" && item.state == 1) { + this.ClearGlassID = false; + } + if (item.permissionId == "37" && item.state == 1) { + this.StopTask = false; + } + if (item.permissionId == "38" && item.state == 1) { + this.SoftEmergencyStop = false; } }); }); @@ -1173,39 +1296,48 @@ showform3() { this.dialogFormVisible5 = true; }, + //鎵嬪姩鍐欏叆plc鎵爜浣嶇幓鐠僫d + WriteGlassID() { + if (this.glassid1 != "") { + WriteGlassID(this.glassid1).then(res => { + console.log(res.data); + this.$message.success(this.$t('Successful operation')); + }); + } + }, //鑾峰彇鎵爜浣嶅拰涓婄墖浣嶆暟鎹� SelectGlassByGlassIDs(parameter) { this.showform3(); - if (parameter == 1) { - SelectGlassByGlassID(this.glassid2).then(res => { - if (res.data.form != null) { - if (res.data.form.glassId != null) { - this.form4 = res.data.form; - this.$message.success(this.$t('query was successful')); - this.Sizerange(this.form4, 2); - } else { - this.$message.error(this.$t('There is no such glass')); - } + // if (parameter == 1) { + // SelectGlassByGlassID(this.glassid2).then(res => { + // if (res.data.form != null) { + // if (res.data.form.glassId != null) { + // this.form4 = res.data.form; + // this.$message.success(this.$t('query was successful')); + // this.Sizerange(this.form4, 2); + // } else { + // this.$message.error(this.$t('There is no such glass')); + // } - } else { - this.$message.error(this.$t('There is no such glass')); - } - }); - } else { - SelectGlassByGlassID(this.glassid1).then(res => { - if (res.data.form != null) { - if (res.data.form.glassId != null) { - this.form5 = res.data.form; - this.$message.success(this.$t('query was successful')); - this.Sizerange(this.form5, 1); - } else { - this.$message.error(this.$t('There is no such glass')); - } - } else { - this.$message.error(this.$t('There is no such glass')); - } - }); - } + // } else { + // this.$message.error(this.$t('There is no such glass')); + // } + // }); + // } else { + // SelectGlassByGlassID(this.glassid1).then(res => { + // if (res.data.form != null) { + // if (res.data.form.glassId != null) { + // this.form5 = res.data.form; + // this.$message.success(this.$t('query was successful')); + // this.Sizerange(this.form5, 1); + // } else { + // this.$message.error(this.$t('There is no such glass')); + // } + // } else { + // this.$message.error(this.$t('There is no such glass')); + // } + // }); + // } }, //鏌ヨ瀹㈡埛鐜荤拑淇℃伅 @@ -1230,23 +1362,19 @@ showform7() { //鏌ヨ閾濇id瀵瑰簲鐜荤拑淇℃伅 SelectAluminumFrameInfoById(this.framebarcode).then(res => { - this.AluminumFrame = res.data.listAluminumFrame; - this.AluminumFrame.sort(function (x, y) { - if (x['storageCage'] != null && y['storageCage'] != null) { - return y['storageCage']['tier'] - x['storageCage']['tier']; - } - }); - this.AluminumFrame.forEach(item => { - if (item.storageCage != null && item.out_slice == null) { - item.isCheck = true; - } else { - item.isCheck = false; - } - item.Flip = res.data.flip; - item.FrameNo = this.framebarcode; - }); + this.AluminumFrame = res.data.AluminumFrame; + console.log(this.AluminumFrame); + // this.AluminumFrame.forEach(item => { + // if (item.storageCage != null && item.out_slice == null) { + // item.isCheck = true; + // } else { + // item.isCheck = false; + // } + // item.Flip = res.data.flip; + // item.FrameNo = this.framebarcode; + // }); }); - // this.dialogFormVisible7 = true; + this.dialogFormVisible7 = true; }, //鍙栨秷鎿嶄綔鏃跺叧闂〉闈� cancel() { @@ -1535,27 +1663,25 @@ }, //娣诲姞鍒板嚭鐗囬槦鍒� AddOutSliceS() { - // var dats_ = new Array(); - // this.AluminumFrame.forEach(item => { - // var dats2_ = new Array(); - // dats2_[0] = item.barcode; - // dats2_[1] = item.isCheck; - // dats2_[2] = item.Flip; - // dats2_[3] = item.FrameNo; - // dats2_[4] = item.glasslengthmm; - // dats2_[5] = item.glassheightmm; - // dats_[dats_.length] = dats2_; - // }); - // AddOutSliceS(dats_).then(res => { - // if (res.data.message == 200) { - // this.$message.success(this.$t('Operation successful')); - // } - // }); - AddOutSliceS(this.framebarcode).then(res => { - if (res.data.message == 200) { - this.$message.success(this.$t('Operation successful')); - } - }); + 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) { @@ -1699,7 +1825,8 @@ rowIndex = column; let style = ""; if (columnIndex === 8) { - style = "font-size:200px;text-align: center;"; + // style = "font-size:200px;text-align: center;"; + style = ""; } // if (columnIndex === 9 && row.flip == 1) { // style = "background-Color:yellow;"; @@ -1724,7 +1851,7 @@ if (rowIndex != 0) { barcode2 = arrOutSlice[rowIndex - 1].barcode; } - if (columnIndex === 12 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11) { + if (columnIndex === 0 || columnIndex === 10) { if (barcode != barcode2) { // this.FrameNoFlag = barcode; for (let i = rowIndex; i < this.OutSlice.length; i++) { @@ -1822,17 +1949,119 @@ ); }, - FrameStateUpdate(frameno,framestate){ - if(framestate == 1){ - framestate=0; - }else{ - framestate=1; - } - FrameStateUpdate(frameno,framestate).then(res=>{ - if(res.data.message == 200){ + //鏇存崲褰撳墠閾濇 + 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) { + if (this.DeviceList != null && this.DeviceList.length > 0) { + + if (this.DeviceList[num] == 0) { + return ""; + } else if (this.DeviceList[num] == 1) { + return "rgba(0,128,0,0.5)"; + } else if (this.DeviceList[num] == 2) { + return "rgba(255,0,0)"; + } + } + }, + //鑾峰彇璁惧鐜荤拑id + ShowGlassIdList(num) { + if (this.GlassIdList != null && this.GlassIdList.length > 0) { + const specialChars = /[^\w\s]/g; + return this.GlassIdList[num].replace(specialChars, ""); + } + }, + //娓呴櫎鐜荤拑id + ClearGlassId(position, num) { + if (this.ClearGlassID == false) { + if (this.DeviceList[position] != null) { + 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.message3 == 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')); + } + } else { + this.$message.error(this.$t('You do not have this permission')); + } + }, + //缁堟杩�/鍑虹墖浠诲姟 + TaskStop(num) { + TaskStop(num).then(res => { + if (res.data.message == 200) { + this.$message.success(this.$t('Operation successful')); + } + }); + }, + SoftEmergencyStop() { + SoftEmergencyStop.then(res => { + if (res.data.message == 200) { + this.$message.success(this.$t('Operation successful')); + } + }); } } } -- Gitblit v1.8.0