wu
2024-10-26 328f9b1f7a046378ef5d8f2b8337770fff372cc7
Albania_Mes-ui/src/views/home/index.vue
@@ -1,4 +1,8 @@
<style>
.started-row {
    background-color: red;
}
* {
    margin: 0;
    padding: 0;
@@ -306,19 +310,22 @@
.cells {
    height: 100%;
}
.custom-row-class{
.custom-row-class {
    background-color: rgb(150, 238, 234) !important;
}
.file-upload input[type="file"] {
  display: none;
    display: none;
}
.file-upload label {
  padding: 10px;
  background-color: #007bff;
  color: white;
  display: inline-block;
  cursor: pointer;
    padding: 11px;
    background-color: #409EFF;
    border-radius: 3px;
    color: white;
    display: inline-block;
    cursor: pointer;
}
</style>
<template>
@@ -379,7 +386,7 @@
                        <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;'">
                                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
                            </div>
                        </div>
                    </div>
@@ -387,7 +394,7 @@
                        <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;'">
                                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
                            </div>
                        </div>
                    </div>
@@ -395,7 +402,7 @@
                        <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;'">
                                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
                            </div>
                        </div>
                    </div>
@@ -403,7 +410,7 @@
                        <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;'">
                                ((item['glassWidth'] * 0.046 * (num - 1)) + ((num - 1) * 5)) + 'px;'">
                            </div>
                        </div>
                    </div>
@@ -465,16 +472,20 @@
            <div id="" class="container">
                <div class="header">
                    <div class="btn">
                        <div class="file-upload">
                            <el-button type="primary" @click="importData()">{{ $t('Save') }}</el-button>
                            <!-- 保存 -->
                            <el-button type="primary" @click="importData()"
                                style="margin-right: 10px;margin-bottom: 10px;">{{
                                $t('Save') }}</el-button>
                            <input type="file" id="file-upload" multiple @change="Change" />
                            <label for="file-upload">{{ $t('Select file') }}</label>
                        </div>
                    </div>
                </div>
                <!-- 此处更改接收的表头名字prop="" -->
                <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>
@@ -482,7 +493,7 @@
                    <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="quantity" :label="$t('number')"></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>
@@ -503,7 +514,7 @@
                $t('Manual removal') }}</el-button> -->
                    <el-button type="primary" @click="AnewMeasure()" :disabled="(this.LastQueue.state <= 0)"
                        style="z-index: 999;">{{
                        $t('Remeasure') }}</el-button>
                            $t('Remeasure') }}</el-button>
                </div>
                <br>
                <!--显示-->
@@ -511,21 +522,21 @@
                    <!--玻璃图  #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/3) + 'px; background-color: '
                         + (this.LastQueue.state > 0 ? '#4CCCE4' : (this.LastQueue.state == 0 ? '#E4CA4C' : '#E4CA4C')) + ';text-align: center;font-size:50px'">
                            + (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')}}
                            {{ $t('Measure') }}
                        </div>
                        <div>
                            {{ $t('Width')+"*"+$t('Height') }}:{{(this.LastQueue.glasswidth +
                            this.LastQueue.glassheight) != 0 ? (this.LastQueue.glasswidth +
                            "*"+this.LastQueue.glassheight)+"" : ""}}
                            {{ $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]}}
                            {{ $t('results') }}:{{ this.LastState[this.LastQueue.state] }}
                        </div>
                    </div>
@@ -600,35 +611,49 @@
                </el-table-column>
            </el-table>
        </el-dialog>
        <!-- 任务队列显示表 -->
        <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')">
                :tree-props="{ children: 'glassinfo', hasChildren: 'hasChildren' }">
                <el-table-column prop="flowcard" :label="$t('Order')" width="150" align="center">
                    <template slot-scope='scope'>
                        <div
                           >
                            {{ scope.row.flowcard }}
                        </div>
                    </template>
                </el-table-column>
                <el-table-column prop="glasstype" :label="$t('GlassType')">
                <el-table-column prop="glasstype" :label="$t('GlassType')" align="center">
                </el-table-column>
                <el-table-column prop="number" :label="$t('Order No')">
                <el-table-column prop="number" :label="$t('Order No')" align="center">
                </el-table-column>
                <el-table-column prop="cageno" :label="$t('No Of Cage')">
                <el-table-column prop="cageno" :label="$t('No Of Cage')" align="center">
                </el-table-column>
                <el-table-column prop="finishnumber" :label="$t('Finish No')">
                <el-table-column prop="finishnumber" :label="$t('Finish No')" align="center">
                </el-table-column>
                <el-table-column prop="mateid" :label="$t('Mate No')">
                <el-table-column prop="mateid" :label="$t('Mate No')" align="center">
                </el-table-column>
                <el-table-column prop="films" :label="$t('Films')">
                <el-table-column prop="films" :label="$t('Films')" align="center">
                </el-table-column>
                <el-table-column prop="thickness" :label="$t('Thickness')">
                <el-table-column prop="thickness" :label="$t('Thickness')" align="center">
                </el-table-column>
                <el-table-column prop="width" :label="$t('Width')">
                <el-table-column prop="width" :label="$t('Width')" align="center">
                </el-table-column>
                <el-table-column prop="height" :label="$t('Height')">
                <el-table-column prop="height" :label="$t('Height')" align="center">
                </el-table-column>
                <el-table-column prop="state" :label="$t('Task State')">
                <el-table-column prop="state" :label="$t('Task State')" align="center">
                    <template slot-scope='scope'>
                        <div
                            :style="{ backgroundColor: scope.row.state === 0 ? '' : '#00FFFF', width: '105%', height: '125%',lineHeight: '50px'}">
                            {{ scope.row.state >= 0 ? scope.row.state == 0 ? $t('Stop') : $t('Start') : "" }}
                        </div>
                    </template>
                </el-table-column>
                <!-- <el-table-column prop="state" :label="$t('Task State')" align="center">
                    <template slot-scope='scope'>
                        {{ scope.row.state >= 0 ? scope.row.state == 0 ? $t('Stop') : $t('Start') : "" }}
                    </template>
                </el-table-column>
                </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') : "" }}
@@ -645,9 +670,9 @@
                                :value="item.value">
                            </el-option>
                        </el-select>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;margin-left: 6px;"
                            v-show="scope.row.state >= 0 ? true : false"
                            @click="ClaimTasks(scope.row.flowcard, scope.row.state, selected[scope.$index],scope.row.line)">
                            @click="ClaimTasks(scope.row.flowcard, scope.row.state, selected[scope.$index], scope.row.line)">
                            {{ scope.row.state > 0 ? $t('Stop Task') : $t('Start Task') }}</el-button>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
@@ -657,7 +682,12 @@
                        <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>
                            {{ scope.row.orderstate > 0 ? $t('start work') : $t('start work') }}</el-button>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            v-show="scope.row.state >= 0 ? true : false"
                            @click="deleteTasks(scope.row.flowcard)">
                            {{ $t('langDelete') }}</el-button>
                    </template>
                </el-table-column>
            </el-table>
@@ -703,7 +733,7 @@
    Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
    isAllowReorderings,
    UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure,StartChange
    UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue, importData, ManualTake, AnewMeasure, StartChange, deleteTasks
} from "../../api/home";
@@ -715,14 +745,16 @@
    data() {
        return {
            carposition: 0,
            selected: [],
            // selected: [],
            selected: Array.from({ length: 1000 }, () => 1),
            // selected: '1',
            options: [{
                value: '1',
                label: '1'
            }, {
                value: '2',
                label: '2'
            }],
            // mounted() {
            //   this.selected[scope.$index] = '1'; // 假设你想让第一个下拉框默认选中 '选项 1'
            // },
            dataList: [],
            tableData1: [],
            Measuermode: false,
@@ -821,7 +853,7 @@
            Scanningmethod: true,
            CurrrentGlassId: "",
            LastQueue: {},
            LastState: ["",this.$t('Matching successful'),this.$t('Multiple data matching'),this.$t('Matching failed')]
            LastState: ["", this.$t('Matching successful'), this.$t('Multiple data matching'), this.$t('Matching failed')]
        };
    },
    created() {
@@ -863,7 +895,7 @@
                };
                //  浏览器端收消息,获得从服务端发送过来的文本消息
                socket.onmessage = function (msg) {
                    //console.log("收到数据====" + msg.data);
                    // console.log("收到数据====" + msg.data);
                    let obj = JSON.parse(msg.data);
                    if (obj.carposition != null) {
                        this.carposition = obj.carposition[0];
@@ -996,25 +1028,25 @@
        },
        //领取/暂停任务
        ClaimTasks(flowcard, state, line, taksline) {
            if(line===undefined&&state==1){
            if (line === undefined && state == 1) {
                this.$message.error(this.$t('Please select a route'));
            }
            if(line===undefined&&state==0){
            if (line === undefined && state == 0) {
                this.$message.error(this.$t('Please select a route'));
            }else{
                if(line===undefined||state==1){
                    line=taksline;
            } else {
                if (line === undefined || state == 1) {
                    line = taksline;
                }
                ClaimTasks(flowcard, state, line).then(res => {
                if (res.data.message == 200) {
                    this.$message.success(this.$t('Operation successful'));
                }else{
                    this.$message.error(this.$t('This route already has a task'));
                }
            });
                    if (res.data.message == 200) {
                        this.$message.success(this.$t('Operation successful'));
                    } else {
                        this.$message.error(this.$t('This route already has a task'));
                    }
                });
            }
        },
        //修改出片方式
        ModeChange(flowcard, method) {
@@ -1026,6 +1058,15 @@
        },//选择开始工程
        StartChange(flowcard) {
            StartChange(flowcard).then(res => {
                if (res.data.message == 200) {
                    this.$message.success(this.$t('Operation successful'));
                }
            });
        },
        //选择开始工程
        deleteTasks(flowcard) {
            deleteTasks(flowcard).then(res => {
                console.log("@"+flowcard+"@");
                if (res.data.message == 200) {
                    this.$message.success(this.$t('Operation successful'));
                }
@@ -1201,7 +1242,7 @@
            this.StorageCageAdd = true;
        },
        rowClassName({ row, rowIndex }) {
            if (row.glasstype!=0&&row.glasstype == this.LastQueue.glasstype) {
            if (row.glasstype != 0 && row.glasstype == this.LastQueue.glasstype) {
                console.log(rowIndex);
                return 'custom-row-class';
            } else {