From 4fa74e859c0a44fa45dafaa129653ad8a8496c80 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 03 六月 2023 16:44:48 +0800
Subject: [PATCH] #平库地图更改

---
 src/main/webapp/views/home/map.html |  222 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 176 insertions(+), 46 deletions(-)

diff --git a/src/main/webapp/views/home/map.html b/src/main/webapp/views/home/map.html
index 0c01d84..f6a3a39 100644
--- a/src/main/webapp/views/home/map.html
+++ b/src/main/webapp/views/home/map.html
@@ -6,11 +6,13 @@
     <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/element.css">
     <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
     <script type="text/javascript" src="../../static/layui/layui.js"></script>
     <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
     <script type="text/javascript" src="../../static/js/common.js"></script>
     <script type="text/javascript" src="../../static/js/vue.min.js"></script>
+    <script type="text/javascript" src="../../static/js/element.js"></script>
     <style>
         .pointContainer {
             display: flex;
@@ -120,28 +122,28 @@
             position: relative;
         }
 
-        .crnBox{
-            width: 120px;
-            height: 40px;
-            background: url("../../static/image/Crane_manual.png") no-repeat;
-            position: absolute;
-            top: -25px;
-            left: -120px;
-            transition:left 2s;
-            cursor: pointer;
-        }
+        /*.crnBox{*/
+        /*    width: 120px;*/
+        /*    height: 40px;*/
+        /*    background: url("../../static/image/Crane_manual.png") no-repeat;*/
+        /*    position: absolute;*/
+        /*    top: -25px;*/
+        /*    left: -120px;*/
+        /*    transition:left 2s;*/
+        /*    cursor: pointer;*/
+        /*}*/
 
-        .carBox{
-            width: 40px;
-            height: 40px;
-            background: url("../../static/image/ste/car.png") no-repeat;
-            background-size: 100% 100%;
-            position: absolute;
-            top: 0;
-            left: 0;
-            transition:left 2s;
-            cursor: pointer;
-        }
+        /*.carBox{*/
+        /*    width: 40px;*/
+        /*    height: 40px;*/
+        /*    background: url("../../static/image/ste/car.png") no-repeat;*/
+        /*    background-size: 100% 100%;*/
+        /*    position: absolute;*/
+        /*    top: 0;*/
+        /*    left: 0;*/
+        /*    transition:left 2s;*/
+        /*    cursor: pointer;*/
+        /*}*/
 
         .popBox {
             position: absolute;
@@ -423,7 +425,7 @@
 </head>
 <body>
 <div id="app" style="display: flex;justify-content: space-around;margin-top: 50px;flex-wrap: wrap;" @click="bgClick()">
-    <div style="flex: 12;">
+    <div style="flex: 12;" :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">
@@ -432,13 +434,13 @@
 
                         <!--搴撲綅-->
                         <div v-else-if="map[index][idx].value  == 0" @contextmenu.prevent="rightEvent(index,idx,$event)">
-                            <div v-if="map[index][idx].locSts == 'O'" class="pointBox pointBoxBlue">{{ map[index][idx].locSts }}</div>
+                            <div v-if="map[index][idx].locSts == 'O'" :class="{'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxBlue">{{ map[index][idx].locSts }}</div>
                             <div v-else-if="map[index][idx].locSts == 'F'" @click.left.stop="selectLoc(index,idx)" :class="{'pointBoxSelected':map[index][idx].locOutSelected,'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxRed">{{ map[index][idx].locSts }}</div>
-                            <div v-else-if="map[index][idx].locSts == 'D'" class="pointBox pointBoxEmpty">{{ map[index][idx].locSts }}</div>
-                            <div v-else-if="map[index][idx].locSts == 'P'" class="pointBox pointBoxOut">{{ map[index][idx].locSts }}</div>
+                            <div v-else-if="map[index][idx].locSts == 'D'" :class="{'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxEmpty">{{ map[index][idx].locSts }}</div>
+                            <div v-else-if="map[index][idx].locSts == 'P'" :class="{'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxOut">{{ map[index][idx].locSts }}</div>
                             <div v-else-if="map[index][idx].locSts == 'R'" :class="{'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxOutYy">{{ map[index][idx].locSts }}</div>
-                            <div v-else-if="map[index][idx].locSts == 'S'" class="pointBox pointBoxInYy">{{ map[index][idx].locSts }}</div>
-                            <div v-else class="pointBox pointBoxDefault">{{ map[index][idx].locSts }}</div>
+                            <div v-else-if="map[index][idx].locSts == 'S'" :class="{'pointBoxSearch':map[index][idx].searchStatus}" class="pointBox pointBoxInYy">{{ map[index][idx].locSts }}</div>
+                            <div v-else class="pointBox pointBoxDefault" :class="{'pointBoxSearch':map[index][idx].searchStatus}">{{ map[index][idx].locSts }}</div>
                         </div>
 
                         <!--鍫嗗灈鏈�-->
@@ -462,10 +464,16 @@
 
                     </div>
                 </div>
+
+                <div style="width: 40px;display: flex;justify-content: center;align-items: center;">
+                    {{ getRealRowByX(index) }}
+                </div>
+
             </div>
         </div>
     </div>
     <div style="padding: 20px;flex: 5;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%;">
                 <div class="card-details" style="place-content: normal;height: auto;">
@@ -483,6 +491,12 @@
                             <button style="width: 100%;margin-top: 10px;" @click="searchLoc" class="layui-btn layui-btn-sm">鎼滅储</button>
                         </div>
                         <div>
+                            <button @click="init" class="layui-btn layui-btn-sm">鍒锋柊</button>
+                        </div>
+                        <div style="margin-left: 10px;">
+                            <button @click="resetSearch" class="layui-btn layui-btn-sm">閲嶇疆</button>
+                        </div>
+                        <div style="margin-left: 10px;">
                             <button @click="locToLoc2" class="layui-btn layui-btn-sm">渚ц竟绉诲簱</button>
                         </div>
                         <div v-if="!locOutStatus" style="margin-left: 10px;">
@@ -566,6 +580,28 @@
                 <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>
     </div>
 
@@ -587,7 +623,7 @@
                     搴撲綅鍙�: {{ map[mapI][mapJ].locNo }}
                 </div>
                 <div style="margin-top: 10px;">
-                    搴撲綅鐘舵��: {{ map[mapI][mapJ].locSts$ }}
+                    搴撲綅鐘舵��: {{ getLocSts(map[mapI][mapJ].locSts) }}
                 </div>
                 <div style="margin-top: 10px;display: flex;justify-content: space-between;flex-wrap: wrap;">
                     <div style="margin-top: 5px;">
@@ -651,6 +687,7 @@
             rightBoxLeft: "0px",
             pointContainerWidth: 0,
             currentLev: 1,
+            area:1,
             crnList: null,
             crnBox: false,
             crnBoxTop: "0px",
@@ -664,6 +701,18 @@
             searchLocNo: "",
             outSite: null,
             outSites: null,
+            showScale: 75, //鎺у埗鍦板浘鏄剧ず澶у皬姣斾緥
+            showScaleMarks: {//姣斾緥婊戝姩鏉℃樉绀烘爣璁�
+                0: "0%",
+                50: {
+                    style: {
+                        color: '#1989FA'
+                    },
+                    label: "50%"
+                },
+                100: "100%",
+            },
+            locStsList: [],//搴撲綅鐘舵�佸垪琛�
         },
         created(){
             this.init()
@@ -686,6 +735,26 @@
                 deep: true,
                 handler(val) {
                     this.init()
+                    if (this.searchMatnr != ""
+                        || this.searchOrderNo != ""
+                        || this.searchSpecs != ""
+                        || this.searchMaktx != ""
+                        || this.searchLocNo != "") {
+                        this.searchLoc()
+                    }
+                }
+            },
+            area: {
+                deep: true,
+                handler(val) {
+                    this.init()
+                    if (this.searchMatnr != ""
+                        || this.searchOrderNo != ""
+                        || this.searchSpecs != ""
+                        || this.searchMaktx != ""
+                        || this.searchLocNo != "") {
+                        this.searchLoc()
+                    }
                 }
             }
         },
@@ -693,7 +762,11 @@
             init(){
                 let that = this
                 $.ajax({
-                    url: baseUrl + "/map/getData/" + this.currentLev + "/auth",
+                    url: baseUrl + "/map/getData/auth",
+                    data:{
+                        lev : this.currentLev,
+                        area : this.area
+                    },
                     headers: {'token': localStorage.getItem('token')},
                     method: "get",
                     success: (data) => {
@@ -703,6 +776,16 @@
 
                 this.locOutStatus = false
                 this.locOutLocNo = []
+
+                this.getLocStsList();//鑾峰彇搴撲綅鐘舵�佸垪琛�
+            },
+            resetSearch(){
+                this.searchMatnr = ""
+                this.searchOrderNo = ""
+                this.searchSpecs = ""
+                this.searchMaktx = ""
+                this.searchLocNo = ""
+                this.searchLoc()
             },
             printData() {
                 this.mapData = JSON.stringify(this.map)
@@ -721,6 +804,20 @@
                 })
                 this.map = data
                 this.printData()
+            },
+            getRealRowByX(x) {
+                //鑾峰彇鐪熷疄搴撲綅琛屽彿锛岄�氳繃鍧愭爣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));
+                    }
+                }
+
+                return "";
             },
             rightEvent(x, y, e) {
                 this.rightBox = true
@@ -744,6 +841,29 @@
                     success: function(layero, index){
                     }
                 });
+            },
+            getLocStsList() {
+                //鑾峰彇搴撲綅鐘舵�佸垪琛�
+                let that = this
+                $.ajax({
+                    url: baseUrl + "/basLocSts/list/auth",
+                    headers: {'token': localStorage.getItem('token')},
+                    method: "get",
+                    success: (res) => {
+                        that.locStsList = res.data.records
+                    }
+                })
+            },
+            getLocSts(locSts) {
+                //鑾峰彇搴撲綅鐘舵��
+                let locStsList = this.locStsList
+                let locDesc = ""
+                locStsList.forEach((item,index) => {
+                    if (item.locSts == locSts) {
+                        locDesc = item.locDesc
+                    }
+                })
+                return locDesc
             },
             locMove(locNo) {
                 //搴撲綅绉昏浆
@@ -1125,24 +1245,34 @@
 
                                 })
                             })
-                            data.forEach((item,index) => {
+                            // data.forEach((item,index) => {
+                            //     let locNo = item.locNo
+                            //     let y = parseInt(locNo.substr(2,3))
+                            //     let x = parseInt(locNo.substr(0,2))
+                            //     console.log(x)
+                            //     // if ( (x+2) %5 === 0 ) {
+                            //     //     x = 5*item.crnNo-2;
+                            //     // }else
+                            //     if(x<17){
+                            //         if (x % 4 == 0 || (x+1) % 4 == 0){
+                            //             x = item.crnNo+x
+                            //         }else {
+                            //             x = item.crnNo+x-1
+                            //         }
+                            //     }
+                            //     console.log(x)
+                            //
+                            //     tmp[x][y].searchStatus = true//鎼滅储鏍囪
+                            // })
+                            data.forEach((item,i) => {
                                 let locNo = item.locNo
-                                let y = parseInt(locNo.substr(2,3))
-                                let x = parseInt(locNo.substr(0,2))
-                                console.log(x)
-                                // if ( (x+2) %5 === 0 ) {
-                                //     x = 5*item.crnNo-2;
-                                // }else
-                                if(x<17){
-                                    if (x % 4 == 0 || (x+1) % 4 == 0){
-                                        x = item.crnNo+x
-                                    }else {
-                                        x = item.crnNo+x-1
-                                    }
-                                }
-                                console.log(x)
-
-                                tmp[x][y].searchStatus = true//鎼滅储鏍囪
+                                tmp.forEach((item,index) => {
+                                    item.forEach((val,idx) => {
+                                        if (tmp[index][idx].locNo == locNo) {
+                                            tmp[index][idx].searchStatus = true//鎼滅储鏍囪
+                                        }
+                                    })
+                                })
                             })
                             that.map = tmp
                             $layui.layer.msg("鎼滅储鎴愬姛");

--
Gitblit v1.9.1