From ea1cb5429a6cdfdce9702eda31f1b555b3a18b5b Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 28 二月 2025 08:56:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/hollow/hollowslicecage.vue |  506 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 242 insertions(+), 264 deletions(-)

diff --git a/UI-Project/src/views/hollow/hollowslicecage.vue b/UI-Project/src/views/hollow/hollowslicecage.vue
index 28dd960..36d40ee 100644
--- a/UI-Project/src/views/hollow/hollowslicecage.vue
+++ b/UI-Project/src/views/hollow/hollowslicecage.vue
@@ -31,17 +31,18 @@
 const diaodu = ref('')
 const flowCardId = ref('')
 const filmsId = ref('')
-const adjustedRects = ref([]);
 const adjust = ref([]);
 const adjusta = ref([]);
+const adjustedRects = ref([]);
 const adjustedRectsa = ref([]);
 const adjustedRectsb = ref([]);
 const adjustedRectsc = ref([]);
 const adjustedRectsd = ref([]);
-const adjustedRectse = ref([]);
-const adjustedRectsf = ref([]);
-const adjustedRectsg = ref([]);
-const adjustedRectsh = ref([]);
+const subRectsCounts = ref([]);
+const subRectsCountsa = ref([]);
+const subRectsCountsb = ref([]);
+const subRectsCountsc = ref([]);
+const subRectsCountsd = ref([]);
 const currentRow = reactive({}); // 褰撳墠琛岀殑鏁版嵁 
 const currentPage2 = ref(1)
 const add = ref(false)
@@ -365,31 +366,209 @@
   ganghua.value = ''
   }
   if(data.bigStorageCageInfos!=null){
-    window.localStorage.setItem('length', data.bigStorageCageInfos[0][1].length)
-  let length = window.localStorage.getItem('length')
-  adjustedRects.value = data.bigStorageCageInfos[0][1].map(rect => ({  
-            ...rect, 
-            height: 20/length,
-            top: 29/length
-          })); 
-adjustedRectsa.value = data.bigStorageCageInfos[0][2].map(rect => ({  
-            ...rect, 
-            height: 20/length,
-            top: 29/length
-          })); 
-adjustedRectsb.value = data.bigStorageCageInfos[0][3].map(rect => ({  
-            ...rect, 
-            height: 20/length,
-            top: 29/length
-          })); 
-adjustedRectsc.value = data.bigStorageCageInfos[0][4].map(rect => ({  
-            ...rect, 
-            height: 20/length,
-            top: 29/length
-          }));
+    adjustedRects.value = data.bigStorageCageInfos[0][1].map((rect, index) => ({
+    id: index + 1,
+    height: 20/55,
+    top: 46/55,
+  }));
+subRectsCounts.value = data.bigStorageCageInfos[0][1].map(rect => rect.count);
+adjustedRectsa.value = data.bigStorageCageInfos[0][2].map((rect, index) => ({
+    id: index + 1,
+    height: 20/55,
+    top: 46/55,
+  }));
+subRectsCountsa.value = data.bigStorageCageInfos[0][2].map(rect => rect.count);
+adjustedRectsb.value = data.bigStorageCageInfos[0][3].map((rect, index) => ({
+    id: index + 1,
+    height: 20/55,
+    top: 46/55,
+  }));
+subRectsCountsb.value = data.bigStorageCageInfos[0][3].map(rect => rect.count);
+adjustedRectsc.value = data.bigStorageCageInfos[0][4].map((rect, index) => ({
+    id: index + 1,
+    height: 20/55,
+    top: 46/55,
+  }));
+subRectsCountsc.value = data.bigStorageCageInfos[0][4].map(rect => rect.count);
+adjustedRectsd.value = data.bigStorageCageInfos[0][5].map((rect, index) => ({
+    id: index + 1,
+    height: 20/55,
+    top: 46/55,
+  }));
+subRectsCountsd.value = data.bigStorageCageInfos[0][5].map(rect => rect.count);
   }else{
-    adjustedRects.value = ''
+    adjustedRects.value = '',
+    adjustedRectsa.value = '',
+    adjustedRectsb.value = '',
+    adjustedRectsc.value = ''
+    adjustedRectsd.value = ''
   }
+};
+
+// 璁$畻姣忎釜澶х煩褰㈢殑鏍峰紡
+const rectStyle = (rect, index) => ({
+  position: 'absolute',
+  width: '170px',
+  left: '0px',
+  top: `${index*rect.top}px`,
+  height: `${rect.height}px`,
+});
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡鍜屾暟閲�
+const getSubRects = (rectIndex) => {
+  const count = subRectsCounts.value[rectIndex];
+  const subRects = [];
+  for (let i = 0; i < count; i++) {
+    subRects.push({});
+  }
+  return subRects;
+};
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡
+const subRectStyle = (rectIndex, subIndex) => {
+  const width = '18px';
+  const marginLeft = '8px';
+  const totalWidth = 6 * (parseInt(width) + parseInt(marginLeft));
+  const left = `${(subIndex * (parseInt(width) + parseInt(marginLeft))) / totalWidth * 100}%`;
+  return {
+    position: 'absolute',
+    width,
+    height: '100%',
+    marginLeft,
+    top: '0px',
+    backgroundColor: '#911005',
+    left,
+  };
+};
+// 璁$畻姣忎釜澶х煩褰㈢殑鏍峰紡
+const rectStylea = (rect, index) => ({
+  position: 'absolute',
+  width: '170px',
+  left: '0px',
+  top: `${index*rect.top}px`,
+  height: `${rect.height}px`,
+});
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡鍜屾暟閲�
+const getSubRectsa = (rectIndex) => {
+  const count = subRectsCountsa.value[rectIndex];
+  const subRects = [];
+  for (let i = 0; i < count; i++) {
+    subRects.push({});
+  }
+  return subRects;
+};
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡
+const subRectStylea = (rectIndex, subIndex) => {
+  const width = '18px';
+  const marginLeft = '8px';
+  const totalWidth = 6 * (parseInt(width) + parseInt(marginLeft));
+  const left = `${(subIndex * (parseInt(width) + parseInt(marginLeft))) / totalWidth * 100}%`;
+  return {
+    position: 'absolute',
+    width,
+    height: '100%',
+    marginLeft,
+    top: '0px',
+    backgroundColor: '#911005',
+    left,
+  };
+};
+// 璁$畻姣忎釜澶х煩褰㈢殑鏍峰紡
+const rectStyleb = (rect, index) => ({
+  position: 'absolute',
+  width: '170px',
+  left: '0px',
+  top: `${index*rect.top}px`,
+  height: `${rect.height}px`,
+});
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡鍜屾暟閲�
+const getSubRectsb = (rectIndex) => {
+  const count = subRectsCountsb.value[rectIndex];
+  const subRects = [];
+  for (let i = 0; i < count; i++) {
+    subRects.push({});
+  }
+  return subRects;
+};
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡
+const subRectStyleb = (rectIndex, subIndex) => {
+  const width = '18px';
+  const marginLeft = '8px';
+  const totalWidth = 6 * (parseInt(width) + parseInt(marginLeft));
+  const left = `${(subIndex * (parseInt(width) + parseInt(marginLeft))) / totalWidth * 100}%`;
+  return {
+    position: 'absolute',
+    width,
+    height: '100%',
+    marginLeft,
+    top: '0px',
+    backgroundColor: '#911005',
+    left,
+  };
+};
+// 璁$畻姣忎釜澶х煩褰㈢殑鏍峰紡
+const rectStylec = (rect, index) => ({
+  position: 'absolute',
+  width: '170px',
+  left: '0px',
+  top: `${index*rect.top}px`,
+  height: `${rect.height}px`,
+});
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡鍜屾暟閲�
+const getSubRectsc = (rectIndex) => {
+  const count = subRectsCountsc.value[rectIndex];
+  const subRects = [];
+  for (let i = 0; i < count; i++) {
+    subRects.push({});
+  }
+  return subRects;
+};
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡
+const subRectStylec = (rectIndex, subIndex) => {
+  const width = '18px';
+  const marginLeft = '8px';
+  const totalWidth = 6 * (parseInt(width) + parseInt(marginLeft));
+  const left = `${(subIndex * (parseInt(width) + parseInt(marginLeft))) / totalWidth * 100}%`;
+  return {
+    position: 'absolute',
+    width,
+    height: '100%',
+    marginLeft,
+    top: '0px',
+    backgroundColor: '#911005',
+    left,
+  };
+};
+// 璁$畻姣忎釜澶х煩褰㈢殑鏍峰紡
+const rectStyled = (rect, index) => ({
+  position: 'absolute',
+  width: '170px',
+  left: '0px',
+  top: `${index*rect.top}px`,
+  height: `${rect.height}px`,
+});
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡鍜屾暟閲�
+const getSubRectsd = (rectIndex) => {
+  const count = subRectsCountsd.value[rectIndex];
+  const subRects = [];
+  for (let i = 0; i < count; i++) {
+    subRects.push({});
+  }
+  return subRects;
+};
+// 璁$畻姣忎釜灏忕煩褰㈢殑鏍峰紡
+const subRectStyled = (rectIndex, subIndex) => {
+  const width = '18px';
+  const marginLeft = '8px';
+  const totalWidth = 6 * (parseInt(width) + parseInt(marginLeft));
+  const left = `${(subIndex * (parseInt(width) + parseInt(marginLeft))) / totalWidth * 100}%`;
+  return {
+    position: 'absolute',
+    width,
+    height: '100%',
+    marginLeft,
+    top: '0px',
+    backgroundColor: '#911005',
+    left,
+  };
 };
 onMounted(() => {
   socket = initializeWebSocket(socketUrl, handleMessage);
@@ -513,250 +692,49 @@
     </div>
     </div>
     <div style="position: relative;">
-    <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:50px;left: 495px;">
-      <div  
-      v-for="(rect, index) in adjustedRects"  
-      :key="rect"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
+    <div v-show="cell1" style="width: 170px;height: 46px;position: relative;top:387px;left: 690px;">
+      <div v-for="(rect, rectIndex) in adjustedRects" :key="rect.id" :style="rectStyle(rect, rectIndex)">
+    <div
+      v-for="(subRect, subIndex) in getSubRects(rectIndex)"
+      :key="subIndex"
+      :style="subRectStyle(rectIndex, subIndex)"
+    ></div>
     </div>
     </div>
- <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:51px;left: 495px;">
-  <div  
-      v-for="(rect, index) in adjustedRectsa"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
+ <div v-show="cell2" style="width: 170px;height: 46px;position: relative;top:389px;left: 690px;">
+  <div v-for="(rect, rectIndex) in adjustedRectsa" :key="rect.id" :style="rectStylea(rect, rectIndex)">
+    <div
+      v-for="(subRect, subIndex) in getSubRectsa(rectIndex)"
+      :key="subIndex"
+      :style="subRectStylea(rectIndex, subIndex)"
+    ></div>
     </div>
     </div>
-  <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:110px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsb"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
+  <div v-show="cell3" style="width: 170px;height: 46px;position: relative;top:391px;left: 690px;">
+    <div v-for="(rect, rectIndex) in adjustedRectsb" :key="rect.id" :style="rectStyleb(rect, rectIndex)">
+    <div
+      v-for="(subRect, subIndex) in getSubRectsb(rectIndex)"
+      :key="subIndex"
+      :style="subRectStyleb(rectIndex, subIndex)"
+    ></div>
     </div>
     </div>
-  <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:140px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsc"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
+  <div v-show="cell4" style="width: 170px;height: 46px;position: relative;top:392px;left: 690px;">
+    <div v-for="(rect, rectIndex) in adjustedRectsc" :key="rect.id" :style="rectStylec(rect, rectIndex)">
+    <div
+      v-for="(subRect, subIndex) in getSubRectsc(rectIndex)"
+      :key="subIndex"
+      :style="subRectStylec(rectIndex, subIndex)"
+    ></div>
     </div>
     </div>
-  <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:170px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsd"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:241px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectse"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:271px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsf"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:301px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsg"  
-      :key="rect.id"  
-      :style="{
-        // display:'flex',
-       position: 'absolute',
-       width: '227px',
-      //  backgroundColor: 'red',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-      // border:'1px solid black',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell9" style="width: 227px;height: 29px;position: absolute;top:332px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsh"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.hollowBigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
+  <div v-show="cell5" style="width: 170px;height: 46px;position: relative;top:394px;left: 690px;">
+    <div v-for="(rect, rectIndex) in adjustedRectsd" :key="rect.id" :style="rectStyled(rect, rectIndex)">
+    <div
+      v-for="(subRect, subIndex) in getSubRectsd(rectIndex)"
+      :key="subIndex"
+      :style="subRectStyled(rectIndex, subIndex)"
+    ></div>
     </div>
     </div>
 </div>

--
Gitblit v1.8.0