From 56fab901b298857ff4985b7429ef843c9a9d1471 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期三, 28 八月 2024 16:20:02 +0800 Subject: [PATCH] 钢化模块打印功能,新增表格字段 --- UI-Project/src/views/TL/Temperedlayout/Temperedlayout.vue | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 212 insertions(+), 0 deletions(-) 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..e1edb80 --- /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=3;//姣忚鏈�澶氭樉绀虹殑鍥炬暟 + 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