自动化立体仓库 - WMS系统
zjj
2023-06-07 19e83bcd49f988e77d39df81192ab116bb991b18
src/main/webapp/views/home/map.html
@@ -102,7 +102,7 @@
        }
        .pointBoxDefault {
            background: #f9f4dc;
            background: #ffffff;
        }
        .pointBoxSelected {
@@ -217,7 +217,7 @@
        /*滑动卡片start*/
        .hoverCard {
            width: 160px;
            width: 152px;
            height: 224px;
            border-radius: 20px;
            background: #f5f5f5;
@@ -424,8 +424,8 @@
    </style>
</head>
<body>
<div id="app" style="display: flex;justify-content: space-around;margin-top: 50px;flex-wrap: wrap;" @click="bgClick()">
    <div style="flex: 12;" :style="{scale:showScale/100.0,marginTop:(showScale-100)*5 + 'px'}">
<div id="app" style="display: flex;justify-content: space-around;margin-top: 50px;flex-wrap: nowrap; scale: 0.9" @click="bgClick()">
    <div style="flex: 3;" :style="{scale:showScale/100.0,marginTop:(showScale-100)*5 + 'px'}">
        <div>
            <div class="pointContainer" v-for="(x,index) in map" :key="index">
                <div v-if="index != 0 && (index != map.length-1)" v-for="(y,idx) in x" :key="idx">
@@ -472,7 +472,7 @@
            </div>
        </div>
    </div>
    <div style="padding: 20px;flex: 5;margin-top: -70px;">
    <div style="padding: 20px;flex: 1;margin-top: -70px;">
        <el-slider v-model="showScale" :marks="showScaleMarks"></el-slider>
        <div style="display: flex;justify-content: space-between;flex-wrap: wrap;">
            <div class="hoverCard" style="width: 100%;">
@@ -481,7 +481,7 @@
                        <div style="width: 100%;margin-bottom: 20px;">
                            <div style="display: flex;justify-content: space-between;">
                                <div><input v-model="searchMatnr" placeholder="物料号" type="text" class="search-input"></div>
                                <div><input v-model="searchOrderNo" placeholder="订单号" type="text" class="search-input"></div>
                                <div style="margin-left: 20px"><input v-model="searchOrderNo" placeholder="订单号" type="text" class="search-input"></div>
                            </div>
                            <div style="display: flex;justify-content: space-between;margin-top: 10px;">
                                <div><input style="width: 110px;" v-model="searchMaktx" placeholder="物料名称" type="text" class="search-input"></div>
@@ -520,6 +520,55 @@
                <button class="card-button">功能区</button>
            </div>
            <div class="hoverCard">
                <div class="card-details">
                    <p class="text-title" style="text-align: center;">库位层 {{currentLev}}</p>
                    <div class="text-body" style="display: flex;">
                        <div class="floorSelect">
                            <label for="01">1F</label>
                            <input id="01" type="radio" name="r" v-model="currentLev" value="1" checked="">
                            <label for="02">2F</label>
                            <input id="02" type="radio" v-model="currentLev" name="r" value="2">
                            <label for="03">3F</label>
                            <input id="03" type="radio" v-model="currentLev" name="r" value="3">
                            <label for="04">4F</label>
                            <input id="04" type="radio" v-model="currentLev" name="r" value="4">
                            <label for="05">5F</label>
                            <input id="05" type="radio" v-model="currentLev" name="r" value="5">
                            <label for="06">6F</label>
                            <input id="06" type="radio" v-model="currentLev" name="r" value="6">
                            <label for="07">7F</label>
                            <input id="07" type="radio" v-model="currentLev" name="r" value="7">
                        </div>
                    </div>
                </div>
                <button class="card-button">楼层 {{currentLev}}F</button>
            </div>
            <div class="hoverCard">
                <div class="card-details">
                    <p class="text-title" style="text-align: center;">库区 {{areaName}}</p>
                    <div class="text-body" style="display: flex;">
                        <div class="floorSelect">
                            <label for="area01">A区</label>
                            <input id="area01" type="radio" name="r" v-model="area" value="1" checked="">
                            <label for="area03">B区</label>
                            <input id="area03" type="radio" v-model="area" name="r" value="3">
                            <label for="area04">C区</label>
                            <input id="area04" type="radio" v-model="area" name="r" value="4">
                            <label for="area05">D区</label>
                            <input id="area05" type="radio" v-model="area" name="r" value="5">
                            <label for="area06">E区</label>
                            <input id="area06" type="radio" v-model="area" name="r" value="6">
                        </div>
                    </div>
                </div>
                <button class="card-button">库区 {{areaName}}</button>
            </div>
            <div class="hoverCard">
                <div class="card-details">
                    <div class="text-body" style="display: flex;justify-content: space-around;flex-wrap: wrap;">
@@ -553,53 +602,6 @@
                    </div>
                </div>
                <button class="card-button">库位状态</button>
            </div>
            <div class="hoverCard">
                <div class="card-details">
                    <p class="text-title" style="text-align: center;">楼层 {{currentLev}}F</p>
                    <div class="text-body" style="display: flex;">
                        <div class="floorSelect">
                            <label for="01">1F</label>
                            <input id="01" type="radio" name="r" v-model="currentLev" value="1" checked="">
                            <label for="02">2F</label>
                            <input id="02" type="radio" v-model="currentLev" name="r" value="2">
                            <label for="03">3F</label>
                            <input id="03" type="radio" v-model="currentLev" name="r" value="3">
                            <label for="04">4F</label>
                            <input id="04" type="radio" v-model="currentLev" name="r" value="4">
                            <label for="05">5F</label>
                            <input id="05" type="radio" v-model="currentLev" name="r" value="5">
                            <label for="06">6F</label>
                            <input id="06" type="radio" v-model="currentLev" name="r" value="6">
                            <label for="07">7F</label>
                            <input id="07" type="radio" v-model="currentLev" name="r" value="7">
                        </div>
                    </div>
                </div>
                <button class="card-button">楼层 {{currentLev}}F</button>
            </div>
            <div class="hoverCard">
                <div class="card-details">
                    <p class="text-title" style="text-align: center;">库区 {{area}}</p>
                    <div class="text-body" style="display: flex;">
                        <div class="floorSelect">
                            <label for="area01">立库</label>
                            <input id="area01" type="radio" name="r" v-model="area" value="1" checked="">
                            <label for="area02">平库A区</label>
                            <input id="area02" type="radio" v-model="area" name="r" value="2">
                            <label for="area03">平库B区</label>
                            <input id="area03" type="radio" v-model="area" name="r" value="3">
                            <label for="area04">平库C区</label>
                            <input id="area04" type="radio" v-model="area" name="r" value="4">
                            <label for="area05">平库D区</label>
                            <input id="area05" type="radio" v-model="area" name="r" value="5">
                        </div>
                    </div>
                </div>
                <button class="card-button">库区 {{area}}</button>
            </div>
        </div>
@@ -688,6 +690,7 @@
            pointContainerWidth: 0,
            currentLev: 1,
            area:1,
            areaName:"立库",
            crnList: null,
            crnBox: false,
            crnBoxTop: "0px",
@@ -701,7 +704,7 @@
            searchLocNo: "",
            outSite: null,
            outSites: null,
            showScale: 75, //控制地图显示大小比例
            showScale: 85, //控制地图显示大小比例
            showScaleMarks: {//比例滑动条显示标记
                0: "0%",
                50: {
@@ -713,6 +716,7 @@
                100: "100%",
            },
            locStsList: [],//库位状态列表
            y: 1
        },
        created(){
            this.init()
@@ -747,6 +751,23 @@
            area: {
                deep: true,
                handler(val) {
                    if (val == 1){
                        this.areaName = "A区"
                    }else if (val == 3){
                        this.areaName = "B区"
                    }
                    else if (val == 4){
                        this.areaName = "C区"
                    }
                    else if (val == 5){
                        this.areaName = "D区"
                    }
                    else if (val == 6){
                        this.areaName = "E区"
                    }
                    this.init()
                    if (this.searchMatnr != ""
                        || this.searchOrderNo != ""
@@ -809,12 +830,30 @@
                //获取真实库位行号,通过坐标x
                let data = this.map
                let rowData = data[x]
                for (var i = 1; i < rowData.length; i++) {
                    console.log(rowData[i],rowData[i].locNo,rowData[i].locNo != undefined)
                    if (rowData[i].locNo != undefined) {
                        let locNo = rowData[i].locNo;
                        return "#" + parseInt(locNo.substr(0, 2));
                    if (this.area == 1){
                        if (rowData[i].locNo != undefined) {
                            let locNo = rowData[i].locNo;
                            return "#" + parseInt(locNo.substr(0, 2));
                        }
                    }else if (this.area > 10){
                        if (rowData[i].locNo != undefined) {
                            let locNo = rowData[i].locNo;
                            return "#" + parseInt(locNo.substr(8, 2));
                        }
                    }
                    else {
                        if (rowData[i].locNo != undefined) {
                            let locNo = rowData[i].locNo;
                            return "#" + parseInt(locNo.substr(7, 2));
                        }
                    }
                }
                return "";