严智鑫
2024-05-29 ad7f461a110cd30ae219bcaa977bbeb0c8409599
Albania_Mes-ui/src/views/home/index.vue
@@ -306,6 +306,9 @@
.cells {
    height: 100%;
}
.custom-row-class{
    background-color: rgb(150, 238, 234) !important;
}
</style>
<template>
    <el-container>
@@ -346,14 +349,14 @@
            </div>
            <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 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) + ';'">
                        :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) + ';'">
@@ -477,41 +480,72 @@
            <div style="height: 780px;">
                <!--功能-->
                <div>
                    <el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState"
                    <el-button type="primary" @click="ManualMatching()" :disabled="(this.LastQueue.state <= 0)"
                        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>
                    <el-button type="primary" @click="ManualTake()" :disabled="(this.LastQueue.state <= 0)"
                        style="z-index: 999;">{{
                $t('Manual removal') }}</el-button>
                    <el-button type="primary" @click="AnewMeasure()" :disabled="(this.LastQueue.state <= 0)"
                        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:'+((720-(this.LastQueue.glassheight / 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;'">
                        {{ (this.LastQueue.glasswidth+this.LastQueue.glassheight)!=0?(this.LastQueue.glasswidth+"*"+this.LastQueue.glassheight):"" }}
                    <div
                        :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin:' + ((720 - (this.LastQueue.glassheight / 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/3) + 'px; background-color: '
                         + (this.LastQueue.state > 0 ? '#4CCCE4' : (this.LastQueue.state == 0 ? '#E4CA4C' : '#E4CA4C')) + ';text-align: center;font-size:50px'">
                         <div>
                            {{ $t('Measure')}}
                        </div>
                        <div>
                            {{ $t('Width')+"*"+$t('Height') }}:{{(this.LastQueue.glasswidth + this.LastQueue.glassheight) != 0 ? (this.LastQueue.glasswidth + "*"+this.LastQueue.glassheight)+"" : ""}}
                        </div>
                        <div>
                            {{ $t('results') }}:{{this.LastState[this.LastQueue.state]}}
                        </div>
                    </div>
                </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>
                <div style="width:600px;height: 720px;border: 2px solid #d1d1d1;float: left;">
                    <!--玻璃图  #81b337  padding: 50px 50px;-->
                    <!-- <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>
                    <span class="measuretitle">{{ $t('Height') }}:</span> <span class="measureValue">{{
                this.LastQueue.glassheight }}</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>
                    <span class="measuretitle">{{ $t('Measure Width') }}:</span> <span class="measureValue">{{
                this.LastQueue.glasswidthmm }}</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>
                    <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> -->
                    <el-table :data="this.tasklist3" :row-class-name="rowClassName" style="width: 100%;padding:0;">
                        <el-table-column prop="flowcard" :label="$t('flowcard')"></el-table-column>
                        <el-table-column prop="films" :label="$t('Films')"></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="number" :label="$t('Number')"></el-table-column>
                        <el-table-column prop="measurenumber" :label="$t('MeasureNumber')"></el-table-column>
                    </el-table>
                </div>
            </div>
        </el-dialog>
@@ -584,7 +618,7 @@
                </el-table-column>
                <el-table-column prop="line" :label="$t('Task Line')">
                </el-table-column>
                <el-table-column width="300" :label="$t('Operate')">
                <el-table-column width="350" :label="$t('Operate')">
                    <template slot-scope='scope'>
                        <el-select v-model="selected[scope.$index]" :placeholder="$t('Line')"
@@ -598,10 +632,17 @@
                            @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>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            v-show="scope.row.state >= 0 ? true : false"
                            @click="StartChange(scope.row.flowcard)">
                            {{ $t('start work') }}</el-button>
                    </template>
                </el-table-column>
            </el-table>
@@ -647,7 +688,7 @@
    Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
    isAllowReorderings,
    UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure
    UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure,StartChange
} from "../../api/home";
@@ -658,7 +699,7 @@
    name: "Home",
    data() {
        return {
            carposition:0,
            carposition: 0,
            selected: [],
            options: [{
                value: '1',
@@ -710,6 +751,7 @@
            task2: 2,
            tasklist1: [],
            tasklist2: [],
            tasklist3: [],
            order: "",
            glassid: "",
            glassid1: "",
@@ -763,7 +805,8 @@
            GlassIdList: [],
            Scanningmethod: true,
            CurrrentGlassId: "",
            LastQueue: {}
            LastQueue: {},
            LastState: ["",this.$t('Matching successful'),this.$t('Multiple data matching'),this.$t('Matching failed')]
        };
    },
    created() {
@@ -807,7 +850,7 @@
                socket.onmessage = function (msg) {
                    //console.log("收到数据====" + msg.data);
                    let obj = JSON.parse(msg.data);
                    if(obj.carposition != null){
                    if (obj.carposition != null) {
                        this.carposition = obj.carposition[0];
                    }
                    // 获取设备状态
@@ -819,13 +862,26 @@
                    this.cagelist2 = obj.cagelist2[0];
                    this.cagelist3 = obj.cagelist3[0];
                    this.cagelist4 = obj.cagelist4[0];
                    this.tasklist3 = obj.glassInfoFlowCard[0];
                    this.tasklist2 = obj.StoragTaskeTaskFeed[0];
                    this.tasklist1 = obj.StoragTaskeTaskOut[0];
                    this.alarm = obj.alarmmg[0];
                    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;
                        }
                    } else {
                        this.alarm = obj.alarmmg[0];
                        this.dialogFormVisible2 = false;
                    }
                    this.tableData1 = obj.OrderTask[0];
                    this.LastQueue = obj.LastQueue[0];
                    //是否允许出片
                    this.isAllowQueue = obj.isAllowQueue[0];
@@ -909,7 +965,7 @@
                StorageCageAddGlass(this.cell, this.StorageCageAddInfo[index]).then(res => {
                    if (res.data.message == 200) {
                        this.$message.success(this.$t('Operation successful'));
                        this.StorageCageAdd=false;
                        this.StorageCageAdd = false;
                    }
                })
            } else {
@@ -938,6 +994,13 @@
                    this.$message.success(this.$t('Operation successful'));
                }
            });
        },//选择开始工程
        StartChange(flowcard) {
            StartChange(flowcard).then(res => {
                if (res.data.message == 200) {
                    this.$message.success(this.$t('Operation successful'));
                }
            });
        },
        //查询玻璃信息
        SelectGlassInfo() {
@@ -957,7 +1020,7 @@
        UpdateStroageCageByCell(cell, nownum, num) {
            if (nownum == null && num == 1) {
                this.StorageCageAdd = true;
                this.Measuermode=true;
                this.Measuermode = true;
                this.cell = cell;
            } else {
                if (nownum + num == 0) {
@@ -1045,7 +1108,7 @@
        //人工匹配
        ManualMatching() {
            this.StorageCageAdd = true;
            this.Measuermode=false;
            this.Measuermode = false;
        },
        //人工拿走
        ManualTake() {
@@ -1096,7 +1159,7 @@
        },
        importData() {
            //let tbdata=JSON.stringify(this.dataList);
            let tbdata=this.dataList;
            let tbdata = this.dataList;
            console.log(tbdata);
            importData(tbdata).then(res => {
                if (res.data.message == 200) {
@@ -1107,6 +1170,14 @@
        del() {
            this.StorageCageAdd = true;
        },
        rowClassName({ row, rowIndex }) {
            if (row.glasstype!=0&&row.glasstype == this.LastQueue.glasstype) {
                console.log(rowIndex);
                return 'custom-row-class';
            } else {
                return ''; // 返回空字符串表示不添加任何额外的类名
            }
        }