From bd21c609d3e0f325f10f20bb1f59ae24a4b35dc2 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 03 三月 2025 10:29:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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