From e56c13df7566789368c3811ab63dd2affa8e47d4 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期三, 10 四月 2024 08:26:36 +0800
Subject: [PATCH] 文件名称调整

---
 UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue                          |  212 +++++++++++++++++++++
 CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java               |   78 +++++++
 CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java |  175 +++++++++++++++++
 CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java                        |   39 +++
 CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java                   |   51 +++++
 5 files changed, 555 insertions(+), 0 deletions(-)

diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java b/CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java
new file mode 100644
index 0000000..4c4b87a
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/HangzhouMesMapper.java
@@ -0,0 +1,78 @@
+package com.mes.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.mes.entity.EdgStorageCageDetails;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.TaskCache;
+import com.mes.entity.Tempered;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.*;
+
+@DS("hangzhoumes")
+@Mapper
+public interface HangzhouMesMapper {
+    
+    // 鐜荤拑淇℃伅 鎸塈D鏌ヨ
+    @Select("select * from `glass_info` where id=#{id}")
+    GlassInfo selectGlassId(String id);
+    // 鏌ヨ纾ㄨ竟淇℃伅
+    @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
+    List<Map> selectEdgInfo(String EndCell);
+
+    // 鏌ヨ绗煎瓙鍐呯┖闂�
+    @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
+    List<EdgStorageCageDetails> selectCacheLeisure();
+
+    // 鏌ヨ绗煎瓙鍐呭嚭鐗囦换鍔�
+    @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot WHERE escd.slot IS NOT NULL order by escd.tempering_layout_id,escd.tempering_feed_sequence")
+    List<EdgStorageCageDetails> selectCacheOut();
+
+    // 鏌ヨ绗煎瓙鍐呬俊鎭�
+    @Select("select esc.*,escd.id as detailsID,escd.device_id as details_device_id,escd.glass_id,escd.sequence,escd.flow_card_id,escd.glass_type,escd.width,escd.height,escd.thickness,escd.edg_width,escd.edg_height,escd.tempering_layout_id,escd.tempering_feed_sequence,escd.pattern_sequence,escd.state,escd.gap from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
+    List<Map> selectCachInfo();
+
+    // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+    @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
+    List<EdgStorageCageDetails> selectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,double width);
+
+    // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+    @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
+    List<EdgStorageCageDetails> selectIsExistIntoCache(Integer tempering_layout_id, double width);
+
+    // 鏌ヨ鍏ㄩ儴浠诲姟
+    @Select("select * from task_cache")
+    List<TaskCache> selectCacheInfoAll();
+
+    // 鏌ヨ杩涚墖浠诲姟
+    @Select("select * from task_cache where task_type='1' and task_stauts='0'")
+    List<TaskCache> selectInputCacheInfo();
+
+    // 鏌ヨ鍑虹墖浠诲姟
+    @Select("select * from task_cache where task_type='2' and task_stauts='0'")
+    List<TaskCache> selectOutCacheInfo();
+
+    // 鏌ヨ  A09  鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+    @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
+    GlassInfo selectLastOutCacheInfo(String EndCell);
+
+    // 淇敼绗煎瓙鍐呬俊鎭�
+    @Update("update")
+    Integer updateCache(@Param("id") Integer id, @Param("order_id") String order_id);
+
+    // 娣诲姞鐞嗙墖浠诲姟
+    @Insert("INSERT into task_cache VALUES(#{id},#{start},#{end},#{type},0)")
+    Integer insertCacheTask(String id, String start, String end, String type);
+
+    //
+    // @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
+    // Integer insert(Order order);
+    //
+    // @Delete("delete from `order` where id=#{id}")
+    // Integer deleteById(@Param("id") Integer id);
+    //
+    // @Update("update `order` set order_id=#{order_id} where id=#{id}")
+    // Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java b/CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java
new file mode 100644
index 0000000..68f18e6
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/mapper/PpMapper.java
@@ -0,0 +1,39 @@
+package com.mes.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.mes.entity.EdgStorageCageDetails;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.TaskCache;
+import com.mes.entity.Tempered;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.*;
+
+@DS("pp")
+@Mapper
+public interface PpMapper {
+    
+    // 閽㈠寲鎸夊伐绋嬫煡璇�
+    @Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
+    List<Tempered> selectTemperedTerritory(String projeceid);
+
+    // 鍒囧壊鐗堝浘 鎸夊伐绋�,鐗堝浘缂栧彿鏌ヨ
+    @Select("select * from optimize_detail where project_no=#{projeceid} ")
+    List<Map> selectCutTerritory(String projeceid,String TerritoryId);
+
+    // 鍒囧壊鐗堝浘 鎸夊伐绋嬫煡璇�
+    @Select("select * from optimize_detail where project_no=#{projeceid} ")
+    List<Map> selectCutTerritory(String projeceid);
+
+    //
+    // @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
+    // Integer insert(Order order);
+    //
+    // @Delete("delete from `order` where id=#{id}")
+    // Integer deleteById(@Param("id") Integer id);
+    //
+    // @Update("update `order` set order_id=#{order_id} where id=#{id}")
+    // Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
+}
diff --git a/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java
new file mode 100644
index 0000000..990e50e
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/service/CacheGlassService/LogicService.java
@@ -0,0 +1,175 @@
+package com.mes.service.CacheGlassService;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.mes.common.PlcTools.S7control;
+import com.mes.entity.EdgStorageCageDetails;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.TaskCache;
+import com.mes.entity.device.PLCAutoMes;
+import com.mes.entity.device.PlcParameterObject;
+import com.mes.mapper.HangzhouMesMapper;
+import com.mes.mapper.PpMapper;
+
+
+@Service
+public class LogicService {
+    @Autowired
+    private HangzhouMesMapper hangzhouMesMapper;
+    //璇嗗埆閫昏緫    涓嶄氦浜�
+    public void identify(String Number){
+        //鏌ヨ浠诲姟
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+        String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
+        boolean isexist=isExist(Number);
+        if (isexist) {
+            //瀛樺湪閫昏緫    1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
+            //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+        }else {
+            //涓嶅瓨鍦ㄩ�昏緫  1.鍥炲PLC涓嶅瓨鍦�
+            //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
+        }
+    }
+    //鐞嗙墖
+    public void Process(){
+        String Result=S7control.getinstance().ReadWord("DB14.0", 1).get(0)+"";
+        String Number=S7control.getinstance().ReadWord("DB14.2", 1).get(0)+"";
+        if(Result=="1"){//杩涚墖璇锋眰
+            processInto(Number);
+        }else if(Result=="2"){//鍑虹墖璇锋眰
+            processOut();
+        }else if(Result=="3"){//杩涘嚭鐗囪姹�
+            if (!processOut()) {   //鍏堝嚭鍚庤繘
+                processInto(Number);
+            }    
+        }
+    }
+    //鐞嗙墖 杩�
+    public boolean processInto(String Number){
+        //鏌ヨ娑堟伅闃熷垪閲岀殑鐜荤拑
+        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        if(GlassInfo!=null){//瀛樺湪姝ょ幓鐠冪紪鍙�  
+            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+            List<EdgStorageCageDetails> list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
+            //绌烘爡鏍煎彿
+            if (list.size()==0) {
+                list=hangzhouMesMapper.selectCacheLeisure();
+            }
+            //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+            if(list.size()==0){
+                list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getWidth());
+            }
+            if(list.size()>0){
+                //瀛樺湪绌烘牸  
+                //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
+                //2.鍥炲 1杩涚墖
+                EdgStorageCageDetails item=list.get(0);
+                hangzhouMesMapper.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
+                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+                return true;
+            }
+            
+        }else{
+            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
+        }
+        //杩斿洖缁撴灉
+        return false;
+    }
+    //鐞嗙墖 鍑�
+    public boolean processOut(){
+        //鏌ヨ浠诲姟
+        String A09=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
+        String A10=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        List<EdgStorageCageDetails> list=hangzhouMesMapper.selectCacheOut();
+        boolean isOut=true;//鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛�
+        if (list.size()>0&&isOut) {
+            EdgStorageCageDetails item=list.get(0);
+            if(A09=="0"&&A10=="1"){
+                //鍑哄埌  A09
+                hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0","09","2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }else if(A09=="1"&&A10=="0"){
+                //鍑哄埌  A10
+                hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0","10","2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }else if(A09=="0"&&A10=="0"){
+                //閮藉厑璁�    A09/A10  涓婁竴鐗囨槸鍚﹀拰姝ょ墖鐜荤拑灏哄灏哄鐩稿悓   
+                String endcell="09";
+                String SendEndcell="1";
+                boolean If_=false;
+                GlassInfo glassInfo09= hangzhouMesMapper.selectLastOutCacheInfo("09");
+                GlassInfo glassInfo10= hangzhouMesMapper.selectLastOutCacheInfo("10");
+                if(glassInfo10!=null&&glassInfo10.getWidth()==item.getWidth()&&glassInfo10.getHeight()==item.getHeight()){
+                    endcell="10";
+                    SendEndcell="2";
+                }else if(glassInfo10!=null&&If_){
+                    //鍏朵粬鏉′欢
+                }
+                hangzhouMesMapper.insertCacheTask(item.getGlassid()+"","0",endcell,"2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }
+        }
+        //杩斿洖缁撴灉
+        return false;
+    }
+
+    //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+    public void processMb(String Number){
+        //鏌ヨ浠诲姟
+        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        if(GlassInfo!=null){
+            //鍙戦�佷换鍔�   ID   闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");   
+        }
+        //杩斿洖缁撴灉
+    }
+
+    //鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�   
+    public boolean SelectMessageId(String Number){
+        //鏌ヨ鏄惁瀛樺湪
+        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
+        if(GlassInfo==null){
+            return false;//杩斿洖 涓嶅瓨鍦�
+        }
+        return true;//杩斿洖 瀛樺湪
+    }
+    //鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�   
+    public boolean DeleteMessageId(String Number){
+        //鏌ヨ鏄惁瀛樺湪
+        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
+        if(GlassInfo==null){
+            return false;//杩斿洖 涓嶅瓨鍦�
+        }
+        return true;//杩斿洖 瀛樺湪
+    }
+
+    //鏄惁瀛樺湪姝ょ紪鍙风幓鐠� 
+    public boolean isExist(String Number){
+        //鏌ヨ鏄惁瀛樺湪
+        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
+        if(GlassInfo==null){
+            return false;//杩斿洖 涓嶅瓨鍦�
+        }
+        return true;//杩斿洖 瀛樺湪
+    }
+    
+}
+
diff --git a/CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java b/CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java
new file mode 100644
index 0000000..bc3b645
--- /dev/null
+++ b/CacheGlassModule/src/main/java/com/mes/service/pp/PpService.java
@@ -0,0 +1,51 @@
+package com.mes.service.pp;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.mes.entity.GlassInfo;
+import com.mes.entity.Tempered;
+import com.mes.mapper.HangzhouMesMapper;
+import com.mes.mapper.PpMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class PpService {
+
+    @Autowired
+    private PpMapper selectInfoMapper;
+    @Autowired
+    private HangzhouMesMapper hangzhouMesMapper;
+
+    // public GlassInfo getUserInfo(String process_id){
+    //     return hangzhouMesMapper.selectGlassId(process_id);
+    // }
+
+    public List<Tempered> selectTemperedTerritory(String process_id){
+        return selectInfoMapper.selectTemperedTerritory(process_id);
+    }
+
+    //鍒囧壊鐗堝浘   褰撳墠璇嗗埆鐗堝浘 
+    public List<Map> selectCutTerritory(){
+        //1.寰楀埌瑕佹樉绀虹殑 宸ョ▼ID 浠ュ強鐗堝浘ID
+        //2.鍦℉angzhoumes鏁版嵁搴撻噷 寰楀埌鐩墠宸茬粡  棰嗗彇浣嗘湭瀹屾垚鐨� 宸ョ▼ID闆嗗悎
+        //3.鎷垮伐绋嬮泦鍚堝幓PP鏁版嵁搴撻噷 寰楀埌瀵瑰簲鐨勫皬鐗囬泦鍚�
+        //4.鎷垮搴旂殑灏忕墖闆嗗悎 涓� 缂撳瓨浠诲姟琛ㄨ繘琛屽姣� 鏌ユ壘涓嬩竴鐗堝浘鏄剧ず   
+        String process_id = "P24032204";
+        String territory_id = "1";
+        return selectInfoMapper.selectCutTerritory(process_id,territory_id);
+    }
+    //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙锋煡璇�   鎵�鏈夌増鍥惧皬鐗囨暟鎹�
+    public List<Map> selectCutTerritory(String process_id){
+        return selectInfoMapper.selectCutTerritory(process_id);
+    }
+    //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙�,鐗堝浘缂栧彿鏌ヨ   鐗堝浘缂栧彿閲屾墍鏈夊皬鐗囨暟鎹�
+    public List<Map> selectCutTerritory(String process_id,String TerritoryId){
+        return selectInfoMapper.selectCutTerritory(process_id,TerritoryId);
+    }
+
+    
+}
+
diff --git a/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
new file mode 100644
index 0000000..92bde2f
--- /dev/null
+++ b/UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue
@@ -0,0 +1,212 @@
+<!--  鐗╂枡璧勬枡  -->
+
+
+<script setup>
+import { ref } from "vue";
+import { ArrowLeftBold, ArrowRight, Search } from "@element-plus/icons-vue";
+import request from "@/utils/request";
+import deepClone from "@/utils/deepClone";
+import { ElMessage } from "element-plus";
+import { useRouter } from "vue-router";
+
+
+const router = useRouter()
+let indexFlag = $ref(1)
+function changeRouter(index) {
+  indexFlag = index
+}
+
+
+</script>
+
+<script>
+export default {
+  mounted() {
+    //鑾峰彇鏁版嵁
+    var data="ProcessId="+"P24032508";
+    request.get("/TidyUpGlassModule/SelectTerritoryInfo?"+data).then((res) => {
+      if (res.code == 200) {
+        var StoveCount=0;
+        var temperid;
+        for(var i=0;i<res.data.length;i++){
+          if (temperid != res.data[i].layoutid) {
+            StoveCount++;
+            temperid=res.data[i].layoutid;
+          }
+        }   
+        // console.log(res.data);
+        this.CanvaDraws("mycanvas",res.data,StoveCount);
+        
+      } else {
+        ElMessage.warning(res.msg)
+        router.push("/login")
+      }
+    });
+    request.get("/TidyUpGlassModule/CurrentCutTerritory").then((res) => {
+      if (res.code == 200) {
+        console.log(res.data);  
+      } else {
+        ElMessage.warning(res.msg)
+        router.push("/login")
+      }
+    });
+
+    
+
+  },
+  methods: {
+    //Canva(id,鍩虹鏁版嵁,椤甸潰闀匡細瀹為檯闀匡紝鏄剧ず琛屽唴鐗堝浘鏁帮紝 )
+    //鍩虹鏁版嵁锛氬疄闄呯倝闀�,瀹為檯鐐夊, 灏忕墖X杞�, 灏忕墖y杞�, 灏忕墖闀�, 灏忕墖瀹斤紝鏄剧ず鏁版嵁锛堝昂瀵�,ID,娴佺▼鍗″彿,鐗堝浘鍙凤級
+    CanvaDraws(id,Datas,StoveCount) {
+        //var StoveCount=43;//鐐夋暟
+        var ArrangementMode='linefeed';//鎺掑竷鏂瑰紡锛歭inefeed(鎹㈣) /Wholeline  鏁磋
+        var RowMaxCount=4;//姣忚鏈�澶氭樉绀虹殑鍥炬暟
+        var StoveWidth=3000; //瀹為檯鐐夊 2850
+        var StoveLength=5500;//瀹為檯鐐夐暱 5000
+        var StoveColor='#CFC8C5';//鐐夊瓙鑳屾櫙棰滆壊
+        
+
+        var StoveIntervalX=30; //椤甸潰姣忎竴鐐変箣闂寸殑闂磋窛X  px
+        var StoveIntervalY=50; //椤甸潰姣忎竴鐐変箣闂寸殑闂磋窛Y  px
+
+        var HtmlWidth=1800;   //椤甸潰妯悜
+        //var actualWidth=12000;//椤甸潰妯悜鎵�瀵瑰簲鐨勫疄闄呴暱搴�
+        var actualWidth=StoveWidth*RowMaxCount;//椤甸潰妯悜鎵�瀵瑰簲鐨勫疄闄呴暱搴�
+
+        var Bli = actualWidth / (HtmlWidth-StoveIntervalX*RowMaxCount);//姣斾緥锛氬疄闄呴暱搴m/椤甸潰闀垮害px
+
+        var StoveCross=StoveWidth/Bli;   //椤甸潰鐐夊瓙妯悜 鍍忕礌
+        var StoveVertical=StoveLength/Bli;//椤甸潰鐐夊瓙绾靛悜 鍍忕礌
+
+        var Font1=(StoveCross*0.05);
+        var Font2=(StoveCross*0.028);
+        // var TerritoryWidth=dataTempered.loadwidth; //瀹為檯鐗堝浘瀹�
+        //   var TerritoryLength=dataTempered.loadlength;//瀹為檯鐗堝浘闀�
+        //   var TerritoryColor='#0DB637';//鐗堝浘鑳屾櫙棰滆壊
+
+        //   var TerritoryCross=TerritoryWidth/Bli;   //椤甸潰鐗堝浘妯悜 鍍忕礌
+        //   var TerritoryVertical=TerritoryLength/Bli;//椤甸潰鐗堝浘绾靛悜 鍍忕礌
+        console.log(Font1);
+        
+        var canva = this.$refs[id];
+        var content = canva.getContext('2d');
+        canva.width = HtmlWidth;
+        canva.height = StoveCount%RowMaxCount==0?((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount)):((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount+1));
+        //console.log(StoveCount%RowMaxCount==0?((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount)):((StoveVertical+StoveIntervalY)*(StoveCount/RowMaxCount+1)) );
+        var temperid;//鍒濆鐗堝浘
+        var Xlayout = 0; //鐐夊瓙X杞磋捣鐐�
+        var Ylayout = StoveIntervalY; //鐐夊瓙Y杞磋捣鐐�
+        var layoutCount = 0;//鐗堝浘鏁�
+        var row=0;
+        for (var i = 0; i < Datas.length; i++) {
+          var dataTempered = Datas[i];
+
+          var TerritoryWidth=dataTempered.loadwidth; //瀹為檯鐗堝浘瀹�
+          var TerritoryLength=dataTempered.loadlength;//瀹為檯鐗堝浘闀�
+          var TerritoryColor='#0DB637';//鐗堝浘鑳屾櫙棰滆壊
+
+          var TerritoryCross=TerritoryWidth/Bli;   //椤甸潰鐗堝浘妯悜 鍍忕礌
+          var TerritoryVertical=TerritoryLength/Bli;//椤甸潰鐗堝浘绾靛悜 鍍忕礌
+
+          if (temperid != dataTempered.layoutid) {
+            //鐢荤増鍥�  鏇存敼鍩虹鍊嶆暟
+            if(layoutCount>0){
+              Xlayout += StoveCross + StoveIntervalX;
+              if (layoutCount %RowMaxCount== 0) {
+                //鎹㈣
+                Ylayout += StoveVertical+StoveIntervalY;
+                Xlayout=0;
+                row++;
+              }
+            }
+            temperid=dataTempered.layoutid;
+            layoutCount++;
+            content.font ='bold '+Font1+'px Arial' ; //鏂囧瓧鏍峰紡锛氬姞绮� 16鍍忕礌 瀛椾綋Arial
+            content.fillStyle = '#000000'; //瀛椾綋棰滆壊
+            content.textAlign = 'center'; //鏂囧瓧灞呬腑
+            content.fillText((dataTempered.layoutid), (StoveCross / 2+ Xlayout), 50/2+(StoveVertical+50)*row+10);
+            //鐐夊瓙
+            content.fillStyle = StoveColor;
+            content.fillRect(Xlayout, Ylayout, StoveCross, StoveVertical);
+            //鐗堝浘
+            content.fillStyle = TerritoryColor;
+            content.fillRect(Xlayout, Ylayout, TerritoryCross, TerritoryVertical);
+          }
+          
+          var Rx = dataTempered.xaxis / Bli + Xlayout;
+          var Ry = dataTempered.yaxis / Bli + Ylayout;
+          var Rwidth = dataTempered.width / Bli;
+          var Rheight = dataTempered.height / Bli;
+          var Xwidth;
+          var Xheight;
+          content.fillStyle = '#5CADFE';
+          if (dataTempered.rotateangle != 0) {
+            Xwidth = Rwidth;
+            Xheight = Rheight;
+          } else {
+            Xwidth = Rheight;
+            Xheight = Rwidth;
+          }
+          content.fillRect(Rx, Ry, Xwidth, Xheight);
+          content.font = 'bold '+Font2+'px Arial' ; //鏂囧瓧鏍峰紡锛氬姞绮� 16鍍忕礌 瀛椾綋Arial
+          content.fillStyle = '#000000'; //瀛椾綋棰滆壊
+          content.textAlign = 'center'; //鏂囧瓧灞呬腑
+
+          content.fillText(('鐗堝浘:'+dataTempered.layoutid+'-'+dataTempered.sort), (Xwidth / 2) + Rx, (Xheight) / 2 + Ry-Font2);
+          content.fillText((dataTempered.width + '  *  ' + dataTempered.height), (Xwidth / 2) + Rx, (Xheight) / 2 + Ry); //fillText閲岄潰鐨勫彲濉啓鐨勫��(鏂囨湰鍐呭, x鍧愭爣, y鍧愭爣, 鏂囨湰鏈�澶у搴�)
+          content.fillText((dataTempered.processid), (Xwidth / 2) + Rx, (Xheight) / 2 + Ry+Font2);
+          //content.rotate(30*Math.PI/180);
+          content.stroke();
+        }
+    }
+  }
+}
+
+
+</script>
+
+
+
+<template>
+  <div ref="content">
+    <canvas ref="mycanvas"></canvas>
+  </div>
+</template>
+
+<style scoped>
+#main {
+  width: 100%;
+  height: 100%;
+}
+
+
+
+#div-title {
+  height: 5%;
+  width: 100%;
+}
+
+#searchButton {
+  margin-top: -5px;
+  margin-left: 1rem;
+}
+
+#searchButton1 {
+  /* margin-left: 10rem; */
+}
+
+/*main-body鏍峰紡*/
+#main-body {
+  width: 99%;
+  height: 92%;
+  margin-top: 1%;
+}
+
+#select {
+  margin-left: 0.5rem;
+}
+
+:deep(.indexTag .el-breadcrumb__inner) {
+  color: #5CADFE !important;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0