Explorar o código

fix:审批展示的位置错误问题

chenzhen2 %!s(int64=2) %!d(string=hai) anos
pai
achega
8d55959690

+ 14 - 8
src/views/envmonitor/components/ManualWork/WorkConfig.vue

@@ -87,7 +87,7 @@ export default defineComponent({
     const proxyData = reactive({
       parseImgUrl: parseImgUrl,
       leaveBtnFlag: false,
-      workkArr: [],
+      workkArr: workkArr,
       forcedOverTimeFlag: false, // 强制加班标记 false:不需要强制加班
       onSubmit(values: any) {
         router.push({ path: "/choice-project" });
@@ -103,15 +103,21 @@ export default defineComponent({
         let data: any = proxyData.workkArr || [];
         for (let i = 0; i < data.length; i++) {
           let customSceneList: any = data[i]?.customSceneList ?? [];
-          customSceneList.map((item: any, index: any) => {
-            if (item.hasOwnProperty("approvalStatus")) {
-              if (item.approvalStatus !== 1) {
-                customSceneList.splice(index, 1);
+          if (customSceneList && customSceneList.length) {
+            let newCustomSceneList: any = [];
+            customSceneList.map((item: any, index: any) => {
+              if (item.hasOwnProperty("approvalStatus")) {
+                if (item.approvalStatus == 1) {
+                  // customSceneList.splice(index, 1);
+                  newCustomSceneList.push(item);
+                }
+              } else {
               }
-            } else {
-            }
-          });
+            });
+            data[i].customSceneList = newCustomSceneList;
+          }
         }
+        console.log("审批数据处理--", data);
       },
       // 处理时间和第二天和未来连续的问题
       formateTimeContinuous(

+ 23 - 13
src/views/envmonitor/components/ManualWork/index.vue

@@ -41,6 +41,7 @@
         <template v-if="approvalData && approvalData.length">
           <div
             class="approval-status"
+            style="width: 50px"
             :key="'approval' + index"
             @click="checkApprovalStatus(item, $event)"
             :style="{
@@ -1007,7 +1008,7 @@ export default defineComponent({
         if (proxyData.nowData) {
           let spaceCustomContentList: any =
             proxyData.nowData.customSceneList || [];
-          let sliderBoxArr: any = document.querySelectorAll(".slider-box");
+          let sliderBoxEl: any = document.querySelectorAll(".slider-box")[0];
           proxyData.approvalData = [];
           for (let i = 0; i < spaceCustomContentList.length; i++) {
             let item: any = spaceCustomContentList[i];
@@ -1028,7 +1029,7 @@ export default defineComponent({
             } else if (item.approvalStatus == 2) {
               obj.text = "已拒绝";
               obj.bg = "rgba(255, 54, 54, 0.6)";
-            } 
+            }
             // else if (item.approvalStatus == 3) {
             //   obj.text = "已失效";
             //   obj.bg = "rgba(255, 54, 54, 0.6)";
@@ -1036,25 +1037,35 @@ export default defineComponent({
             if (obj.text) {
               let startTime: any = proxyData.parseCusStartTime(item.startTime);
               let endTime: any = proxyData.parseCusStartTime(item.endTime);
+              let relNowTime: any = getRelNowTime();
               let timerArr: any = proxyData.nowTimerArr;
               let leftStart: any = 0;
               let leftEnd: any = 0;
               timerArr.map((timer: any, index: any) => {
                 if (timer.formatTimer == startTime) {
-                  let sliderBoxItem: any = sliderBoxArr[index];
-                  if (sliderBoxItem) {
-                    leftStart = sliderBoxItem.offsetWidth * index;
+                  if (sliderBoxEl) {
+                    leftStart = sliderBoxEl.offsetWidth * index;
                   }
                 }
                 if (timer.formatTimer == endTime) {
-                  let sliderBoxItem: any = sliderBoxArr[index];
-                  if (sliderBoxItem) {
-                    leftEnd = sliderBoxItem.offsetWidth * index;
+                  if (sliderBoxEl) {
+                    leftEnd = sliderBoxEl.offsetWidth * index;
                   }
                 }
               });
-              obj.left = leftStart + (leftEnd - leftStart) / 2;
-              proxyData.approvalData.push(obj);
+              console.log(
+                "leftEnd - leftStart==",
+                leftStart,
+                leftEnd - leftStart
+              );
+              obj.left =
+                leftStart +
+                (leftEnd - leftStart) / 2 -
+                17 -
+                sliderBoxEl.offsetWidth / 3;
+              if (relNowTime < endTime) {
+                proxyData.approvalData.push(obj);
+              }
             }
           }
         }
@@ -1696,13 +1707,12 @@ export default defineComponent({
       font-family: "Montserrat";
       top: 64px;
       z-index: 444;
-      width: 78px;
+      // width: 78px;
       height: 30px;
       line-height: 30px;
       border-radius: 10px;
       font-size: 12px;
-      transform: scale(0.7) translateX(-70%);
-      -webkit-transform:scale(0.7) translateX(-70%);
+      transform: scale(0.7);
       // translateX(-50%)
       font-weight: 500;
       text-align: center;