ZengTao
2023-09-05 b0f8bf979abb59e152eb9cc8caa262e70cb45204
更新主界面
5个文件已修改
1个文件已添加
1个文件已删除
293 ■■■■ 已修改文件
CanadaMes-ui/src/api/home.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/img/bigcar01.png 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 215 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/xmjc.png 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/api/home.js
@@ -34,3 +34,11 @@
        data :""
    })
}
export function Addglassid(glassid) {
    return request({
        url: '/home/Addglassid?glassid=' + glassid,
        method: 'get',
        data :""
    })
}
CanadaMes-ui/src/img/bigcar01.png
CanadaMes-ui/src/views/home/index.vue
@@ -9,7 +9,7 @@
    width: 10%;
    background-color: white;
    margin: 0px 8px 0px 8px;
    border: 1px black solid;
    border: 1px #EBEEF5 solid;
    text-align: center;
    padding: 5px;
}
@@ -31,11 +31,13 @@
    padding: 3px;
    min-height: 40vh;
}
.el-footer {
    max-height: 60vh;
    padding: 0px;
    margin: 0px;
}
.green {
    background-color: green;
}
@@ -57,34 +59,54 @@
}
.gezi {
    height: 23px;
    width: 1.74px;
    height: 25px;
    width: 3.25px;
}
.gezi:nth-child(22) {
    margin-left: 4px;
}
.gezi:nth-child(43) {
    margin-left: 4px;
}
.gezi:nth-child(64) {
    margin-left: 4px;
}
.gezi:nth-child(22),
.gezi:nth-child(43),
.gezi:nth-child(64),
.gezi:nth-child(85) {
    margin-left: 4px;
    margin-left: 7.7px;
}
.block {
.blocks {
    min-height: 50vh;
    max-width: 100vw;
    background-image: url('xmjc.png');
    margin: 0px;
    background-repeat:no-repeat ;
    background-size:100% 100%;
    background-attachment:local;
    max-width: 100vw;
    background-image: url('../../img/xmjc.png');
    margin: 0 auto;
    background-repeat: no-repeat;
    /* background-size: 100% 100%; */
    background-size: 1280px 377px;
    background-attachment: local;
    width: 1280px;
}
.blocks-img {
    height: 100px;
    max-width: 100vw;
    background-repeat: no-repeat;
    background-size: 32px 66px;
    background-attachment: local;
    width: 32px;
    position: absolute;
    /* left: 116px; */
    /* left:1060px;18.88px */
    background-image: url('../../img/bigcar01.png');
}
.el-table td,
.el-table th {
    padding: 8px 0;
}
.el-table__empty-block{
    min-height: 41px;
}
.el-table__empty-text{
    line-height: 41px;
}
</style>
<template>
@@ -92,25 +114,31 @@
        <!-- <el-header style="padding: 10px;"></el-header> -->
        <el-main>
            <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;">
                <el-input style="width:15%;" placeholder="Enter the glass lD"></el-input>
                <el-button type="primary">Manually feed the glass</el-button>
                <el-input style="width:15%;" placeholder="Enter the glass lD" v-model="glassid"></el-input>
                <el-button type="primary" @click="showform()">Manually feed the glass</el-button>
                <el-input style="width:15%;" placeholder="Enter the order number" v-model="order"></el-input>
                <el-button type="warning" @click="getOrder()">Exit the glass by order number</el-button>
            </div>
            <div>
                <el-table :data="this.tasklist1" border style="width: 100%">
                    <el-table-column prop="glassId" label="Coming out glass ID"></el-table-column>
                    <el-table-column prop="cage" label="The Grille number being used"></el-table-column>
                    <el-table-column label="Order number">orderNo</el-table-column>
                    <el-table-column prop="address" label="Length and width"></el-table-column>
                    <el-table-column prop="address" label="coating"></el-table-column>
                    <el-table-column :width="250" prop="cage" label="The Grille number being used"></el-table-column>
                    <el-table-column prop="orderId" label="Order Nmuber"></el-table-column>
                    <el-table-column prop="glasswidth" label="Length and width"></el-table-column>
                    <el-table-column prop="coating" label="coating"></el-table-column>
                    <el-table-column label="Operate">
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;">end task</el-button>
                    </el-table-column>
                </el-table>
                <el-table :data="this.tasklist2" border style="width: 100%">
                    <el-table-column prop="glassId" label="Incoming glass ID"></el-table-column>
                    <el-table-column prop="cage" label="The Grille number being used"></el-table-column>
                    <el-table-column label="Order number">orderNo</el-table-column>
                    <el-table-column prop="address" label="Length and width"></el-table-column>
                    <el-table-column prop="address" label="coating"></el-table-column>
                    <el-table-column :width="250" prop="cage" label="The Grille number being used"></el-table-column>
                    <el-table-column prop="orderId" label="Order Nmuber"></el-table-column>
                    <el-table-column prop="glasswidth" label="Length and width"></el-table-column>
                    <el-table-column prop="coating" label="coating"></el-table-column>
                    <el-table-column label="Operate">
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;">end task</el-button>
                    </el-table-column>
                </el-table>
            </div>
            <div style="padding: 10px;display: flex;height:85px;">
@@ -126,46 +154,82 @@
                </div>
            </div>
        </el-main>
        <el-footer>
                <div class="block" style="text-align: center;position: relative;">
                    <div style="display:flex;position: absolute;float:left;z-index: 999;top:71px;left:136px;">
                        <div :class="getStatusClass(item.state)" v-for="item in cagelist1" :key="item['date']"></div>
                    </div>
                    <div style="display:flex;position: absolute;float:left;z-index: 999;top:71px;left:366px;">
                        <div :class="getStatusClass(item.state)" v-for="item in cagelist2" :key="item['date']"></div>
                    </div>
                    <div style="display:flex;position: absolute;float:left;z-index: 999;top:96px;left:136px;">
                        <div :class="getStatusClass(item.state)" v-for="item in cagelist3" :key="item['date']"></div>
                    </div>
                    <div style="display:flex;position: absolute;float:left;z-index: 999;top:96px;left:366px;">
                        <div :class="getStatusClass(item.state)" v-for="item in cagelist4" :key="item['date']"></div>
                    </div>
                </div>
        <el-footer>
            <div class="blocks" style="position: relative;">
                <div style="display:flex;position: absolute;float:left;z-index: 999;top:76px;left:253px;">
                    <div :class="getStatusClass(item.state)" v-for="item in cagelist1" :key="item['date']"></div>
                </div>
                <div style="display:flex;position: absolute;float:left;z-index: 999;top:76px;left:682.5px;">
                    <div :class="getStatusClass(item.state)" v-for="item in cagelist2" :key="item['date']"></div>
                </div>
                <div style="display:flex;position: absolute;float:left;z-index: 999;top:102px;left:253px;">
                    <div :class="getStatusClass(item.state)" v-for="item in cagelist3" :key="item['date']"></div>
                </div>
                <div style="display:flex;position: absolute;float:left;z-index: 999;top:102px;left:682.5px;">
                    <div :class="getStatusClass(item.state)" v-for="item in cagelist4" :key="item['date']"></div>
                </div>
                <div class="blocks-img" :style="{ left: car1 + 'px' ,top: '10px'}">
                </div>
                <div class="blocks-img" :style="{ left: car2 + 'px' ,top: '129px'}">
                </div>
            </div>
        </el-footer>
        <el-dialog :visible.sync="dialogFormVisible" title="Please confirm the information">
            <el-form :model="form" label-width="100px" style="padding-right: 30px">
                <el-form-item label="Order">
                    <el-input v-model="form.orderno" autocomplete="off" />
                </el-form-item>
                <el-form-item label="length">
                    <el-input v-model="form.length" autocomplete="off" />
                </el-form-item>
                <el-form-item label="width">
                    <el-input v-model="form.width" autocomplete="off" />
                </el-form-item>
                <el-form-item label="coating">
                    <el-input v-model="form.coating" autocomplete="off" />
                </el-form-item>
            </el-form>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="cancal()">cancal</el-button>
                    <el-button @click="sbumitglassid()" type="primary">confirm</el-button>
                </span>
            </template>
        </el-dialog>
    </el-container>
</template>
  
<script>
import { home, home2, loadtask, InsertOrder } from "../../api/home";
import { home, home2, loadtask, InsertOrder, Addglassid } from "../../api/home";
export default {
    data() {
        return {
            dialogFormVisible: false,
            form: {
                orderno: "NG2210210",
                length: 800,
                width: 1000,
                coating: "red",
            },
            tableData: [],
            cagelist1: [],
            cagelist2: [],
            cagelist3: [],
            cagelist4: [],
            task1: 3,
            task2: 4,
            task1: 2,
            task2: 3,
            tasklist1: [],
            tasklist2: [],
            src: "./img/xmjc.png",
            order: ""
            order: "",
            glassid: "",
            url: "../../img/bigcar01.png",
            car1: 116,
            car2: 187
        };
    },
    created() {
@@ -184,13 +248,19 @@
            });
            loadtask(this.task1).then(res => {
                this.tasklist1 = res.data.list;
                console.log(this.tasklist1);
            });
            loadtask(this.task2).then(res => {
                this.tasklist2 = res.data.list;
            });
            loadtask(this.task2).then(res => {
                this.tasklist2 = res.data.list;
                this.car1 = 116 + 18.88 * 20;
                this.car2 = 187 + 18.8 * 30;
            });
        },
        //根据格子状态修改颜色
        getStatusClass(state) {
            //每各格子不同状态不同颜色
            if (state == 0) {
                return "green gezi";
            } else if (state == 1) {
@@ -203,18 +273,49 @@
                return "black gezi";
            }
        },
        //按订单出片
        getOrder() {
            if (this.order != "") {
                InsertOrder(this.order).then(res => {
                    if (res.data.message == 200) {
                        this.$message.success("Operation successful");
                    } else {
                        this.$message.success("operation failed");
                        this.$message.success("There is no such order");
                    }
                    this.load();
                });
            }
        },
        showform() {
            this.form =
            {
                orderno: "NG2210210",
                length: 800,
                width: 1000,
                coating: "red",
            };
            this.dialogFormVisible = true;
        },
        cancal() {
            this.dialogFormVisible = false;
            this.form = {};
        },
        //手动上片
        sbumitglassid() {
            if (this.glassid != "") {
                Addglassid(this.glassid).then(res => {
                    if (res.data.message2 == 200) {
                        this.$message.success("Operation successful");
                        this.cancal();
                    } else {
                        this.$message.success("There are currently tasks");
                    }
                });
            }
        },
        endtask(){
        }
    }
};
CanadaMes-ui/src/views/home/xmjc.png
Binary files differ
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -44,6 +44,7 @@
        return Result.success(map);
    }
    
    @GetMapping("/loadinout")    
    public Result selectinout(Integer types){
        List<StorageCage> storageCageinout=homeMapper.selectinout(types);
@@ -65,4 +66,18 @@
        }
        return Result.success(map);
    }
    @GetMapping("/Addglassid")
    public Result Addglassid(Integer glassid){
        Map<String, Object> map = new HashMap<>();
        short taskno=homeMapper.SelectOutTask();
        if(taskno>0){
            map.put("message2","500");
        }else{
            map.put("message2","200");
            //调用伍上片函数
        }
        return Result.success(map);
    }
}
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
@@ -3,20 +3,23 @@
public class StorageCage {
    private Integer id;
    private String glassId;
    private String orderid;
    private String cage;
    private String cell;
    //private String height;
    private String width;
    private String state;
    private String tier;
    private Double glasswidth;
    private Double glassheight;
    public Integer id() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public Integer getId() {
        return id;
    }
@@ -28,7 +31,15 @@
    public void setGlassId(String glassId) {
        this.glassId = glassId;
    }
    public String getOrderId() {
        return orderid;
    }
    public void setOrderId(String orderid) {
        this.orderid = orderid;
    }
    public String getCage() {
        return cage;
    }
@@ -45,16 +56,6 @@
        return cell;
    }
    // public String getHeighth() {
    //     return height;
    // }
    // public void setHeight(String height) {
    //     this.height = height;
    // }
    public String getWidth() {
        return width;
    }
@@ -63,7 +64,7 @@
        this.width = width;
    }
     public String getState() {
    public String getState() {
        return state;
    }
@@ -71,7 +72,7 @@
        this.state = state;
    }
      public String getTier() {
    public String getTier() {
        return tier;
    }
@@ -79,5 +80,20 @@
        this.tier = tier;
    }
    public Double getglasswidth() {
        return glasswidth;
    }
    public void setglasswidth(Double glasswidth) {
        this.glasswidth = glasswidth;
    }
    public Double getglassheight() {
        return glassheight;
    }
    public void setglassheight(Double glassheight) {
        this.glassheight = glassheight;
    }
}
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -36,9 +36,14 @@
    short SelectOrder(@Param("orderid") String orderid);
    // @Insert("insert into order_out(orderid) values('#{orderid}')")
    @Insert("INSERT INTO `canadames`.`order_out`( `orderid`,`mod_time`) VALUES ( #{orderid},now())")
    @Insert("INSERT INTO `canadames`.`order_out`( `order_id`,`mod_time`) VALUES ( #{orderid},now())")
    void InsertOrder(String orderid);
    //停止按当前订单出片
    @Update("update order_out set state=1 where state=0")
    void updateOrder();
    //查询是否存在正在上片的任务
    @Select("select count(*) from storage_task where task_state=0 and task_type=1")
    short SelectOutTask();
}