ZengTao
2023-12-14 689b10dd99adf31b5e2737f5c949fc5c132f8001
修改倒计时显示,添加显示急停状态,等待复位
3个文件已修改
94 ■■■■■ 已修改文件
CanadaMes-ui/src/views/home/index.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue
@@ -453,7 +453,8 @@
                </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"
                        <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"
@@ -643,7 +644,8 @@
                <el-table-column prop="storageCage.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('Completed') :scope.row.state == 3 ? $t('Absent') :$t('Deleted') }}
                        {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2
                            ? $t('Completed') : scope.row.state == 3 ? $t('Absent') : $t('Deleted') }}
                    </template>
                </el-table-column>
                <el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
@@ -661,7 +663,8 @@
                <el-table-column prop="barcode" :label="$t('Complete')">
                    <template slot-scope='scope'>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="(!isAllowQueue||scope.row.state!=1)"
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            :disabled="(!isAllowQueue || scope.row.state != 1)"
                            @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ $t('Complete')
                            }}</el-button>
                    </template>
@@ -729,7 +732,7 @@
        </el-dialog>
        <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
            <div style="font-size: 500px;text-align: center;">
            <div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
                {{ this.CountDowns }}
            </div>
        </el-dialog>
@@ -765,7 +768,7 @@
            dialogFormVisible5: false,
            dialogFormVisible6: false,
            dialogFormVisible7: false,
            dialogFormCountDown:false,
            dialogFormCountDown: false,
            form: {
                orderId: "",
                glassId: "",
@@ -826,19 +829,19 @@
            OutingQueue: true,
            OrderInfo: true,
            CageDetails: true,
            CountDowns:0,
            D01RequestState:false
            CountDowns: "EMERGENCY STOP",
            D01RequestState: false,
            EmergencyStop: false,
            PromptSize: 250
        };
    },
    created() {
        this.load();
        this.init();
    }
    ,
    methods: {
        init() {
            let viewname = "Home";
            if (typeof (WebSocket) == "undefined") {
@@ -847,7 +850,7 @@
                //console.log("您的浏览器支持WebSocket");
                let socketUrl = "ws://" + this.$t('ip') + ":8888" + "/springboot-vue3/api/talk/" + viewname;
                if (socket != null) {
                    socket.close();this.car1
                    socket.close();
                    socket = null;
                }
                // 开启一个websocket服务
@@ -861,7 +864,7 @@
                    //console.log("收到数据====" + msg.data);
                    let obj = JSON.parse(msg.data);
                    if (obj.params != null) {
                        this.car1 = 145 + 8.15 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
                        this.car2 = 210 + 8.15 * Math.abs(obj.params[0][1] - 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;
@@ -875,16 +878,21 @@
                    this.tasklist1 = obj.tasklist1[0];
                    this.tasklist2 = obj.tasklist2[0];
                    this.alarm = obj.alarmmg[0];
                    if(this.alarm.length>0){
                        this.dialogFormVisible2=true;
                    if (this.alarm.length > 0) {
                        this.dialogFormVisible2 = true;
                    } else {
                        this.dialogFormVisible2 = false;
                    }
                    //是否急停
                    this.EmergencyStop = obj.emergencystop[0];
                    //复位倒计时
                    if (obj.countdown[0] == true&&this.CountDowns==0) {
                    if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
                        this.CountDown();
                    }
                    //是否有进片请求
                    this.D01RequestState=obj.D01RequestState[0];
                    this.D01RequestState = obj.D01RequestState[0];
                    //是否允许出片
                    this.isAllowQueue = obj.isAllowQueue[0];
                    //出片队列
@@ -918,13 +926,11 @@
                        this.form5 = obj.form3[0];
                        this.showform3();
                        this.glassid1 = "";
                        if(this.D01RequestState==true){
                        if (this.D01RequestState == true) {
                            this.Sizerange(this.form5, 3);
                        }else{
                            this.disabled1=true;
                        } else {
                            this.disabled1 = true;
                        }
                    } else {
                        if (this.glassid1 == "") {
                            this.DeleteBarcodeGlass();
@@ -1332,7 +1338,7 @@
        },
        //手动上片
        FeedInglassid() {
            if (this.form.glassId != ""&&this.form.glassId != null) {
            if (this.form.glassId != "" && this.form.glassId != null) {
                Inglassid(this.insertcage, this.insertcell, this.inserttier, this.form).then(res => {
                    if (res.data.message == 200) {
                        this.$message.success(this.$t('Operation successful'));
@@ -1620,7 +1626,7 @@
            column = rowIndex;
            rowIndex = column;
            let style = "";
            if (columnIndex === 8 ) {
            if (columnIndex === 8) {
                style = "font-size:25px;text-align: center;";
            }
            if (columnIndex === 9 && row.flip == 1) {
@@ -1698,7 +1704,7 @@
                    } else {
                        this.disabled = false;
                    }
                    if (position == 3 && this.isConfirm == true&&this.D01RequestState==true) {
                    if (position == 3 && this.isConfirm == true && this.D01RequestState == true) {
                        this.InsertQueueGlass(1);
                    }
                }
@@ -1716,24 +1722,34 @@
                }
            });
        },
        CountDown(){
        CountDown() {
            //50秒倒数计时
            let count = 45;
            let timer = setInterval(
                () => {
                    if (count > 0) {
                        this.CountDowns = count;
                        count--;
                    }
                    else {
                    if (this.EmergencyStop == true) {
                        clearInterval(timer);
                        this.CountDowns = 0;
                        this.dialogFormCountDown=false;
                        this.PromptSize = 250;
                        this.CountDowns = "EMERGENCY STOP";
                    } else {
                        if (count > 0) {
                            this.PromptSize = 500;
                            this.CountDowns = count;
                            count--;
                        }
                        else {
                            this.PromptSize = 250;
                            this.CountDowns = "Waiting for reset";
                            this.dialogFormCountDown = false;
                            // if(复位完成==true){
                            //     clearInterval(timer);
                            // }
                        }
                    }
                },
                1000
            );
            this.dialogFormCountDown = true;
        }
    }
}
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -134,11 +134,15 @@
            jsonObject.append("D01RequestState", D01RequestState);
            //复位倒计时
            // 地址104.9.6
            List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
            for (Boolean countdowns : countdown) {
                jsonObject.append("countdown", countdowns);
            }
            //是否急停
            List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
            for (Boolean emergencystop : emergencystops) {
                jsonObject.append("emergencystop", emergencystop);
            }
            // jsonObject.append("countdown", true);
            // 铝框线交互
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,11 +17,11 @@
        //
        System.out.println("启动完成");
 new PlcHold().start();
//  new PlcHold().start();
        new Plchome().start();
//         new Plcalarm().start();
        // new Plcalarm().start();
//         new Plcsign().start();