Преглед на файлове

fix:加班功能的优化

chenzhen2 преди 1 година
родител
ревизия
1b29d128f0

+ 2 - 6
src/App.vue

@@ -25,6 +25,7 @@ import {
 import Header from "@/components/header/Comheader.vue";
 import { useRoute, onBeforeRouteUpdate } from "vue-router";
 import axios from "axios";
+// import { formatDate } from "./utils";
 
 export default defineComponent({
   components: {
@@ -49,7 +50,6 @@ export default defineComponent({
         axios.get(`/sgipad/pad_mtime`).then((res: any) => {
           let data: any = res.data || {};
           let pad_mtime: any = data.pad_mtime;
-          // pad_mtime="2023-04-21 11:52:50"
           let oldTime: any = localStorage.getItem("pad_mtime");
           if (oldTime && oldTime !== pad_mtime) {
             localStorage.setItem("pad_mtime", pad_mtime);
@@ -63,7 +63,7 @@ export default defineComponent({
       timerPadVersion() {
         proxyData.itervel = setInterval(() => {
           proxyData.getPadVersion();
-        }, 60000);
+        }, 300000);
       },
     });
     nextTick(() => {
@@ -112,7 +112,3 @@ export default defineComponent({
   }
 }
 </style>
-
-function getVersionTime() {
-  throw new Error("Function not implemented.");
-}

+ 32 - 33
src/router/index.ts

@@ -165,7 +165,7 @@ export const constantRoutes: Array<RouteRecordRaw> = [
   },
   {
     path: '/set-main-space',
-    component: () => import('@/views/choiceSpace/setMainSpace.vue'),
+    component: () => SetMainSpace,
     name: 'setMainSpace',
     meta: {
       title: '设置主空间',
@@ -174,16 +174,16 @@ export const constantRoutes: Array<RouteRecordRaw> = [
       hideHeader: false
     }
   },
-  {
-    path: '/map-data',
-    component: () => import('@/views/mapData/index.vue'),
-    name: 'mapData',
-    meta: {
-      title: '处理地图数据',
-      color: '#F5F5F5',
-      hideHeader: false
-    }
-  },
+  // {
+  //   path: '/map-data',
+  //   component: () => import('@/views/mapData/index.vue'),
+  //   name: 'mapData',
+  //   meta: {
+  //     title: '处理地图数据',
+  //     color: '#F5F5F5',
+  //     hideHeader: false
+  //   }
+  // },
   {
     path: '/map-data-util',
     component: () => import('@/views/mapData/indexOld.vue'),
@@ -194,26 +194,26 @@ export const constantRoutes: Array<RouteRecordRaw> = [
       hideHeader: false
     }
   },
-  {
-    path: '/map-data-new',
-    component: () => import('@/views/mapDataNew/index.vue'),
-    name: 'mapDataNew',
-    meta: {
-      title: '地图数据处理',
-      color: '#F5F5F5',
-      hideHeader: false
-    }
-  },
-  {
-    path: '/map-sichuan',
-    component: () => import('@/views/mapDataNew/sichuan.vue'),
-    name: 'map-sichuan',
-    meta: {
-      title: '四川大厦地图',
-      color: '#F5F5F5',
-      hideHeader: false
-    }
-  },
+  // {
+  //   path: '/map-data-new',
+  //   component: () => import('@/views/mapDataNew/index.vue'),
+  //   name: 'mapDataNew',
+  //   meta: {
+  //     title: '地图数据处理',
+  //     color: '#F5F5F5',
+  //     hideHeader: false
+  //   }
+  // },
+  // {
+  //   path: '/map-sichuan',
+  //   component: () => import('@/views/mapDataNew/sichuan.vue'),
+  //   name: 'map-sichuan',
+  //   meta: {
+  //     title: '四川大厦地图',
+  //     color: '#F5F5F5',
+  //     hideHeader: false
+  //   }
+  // },
   {
     path: '/error',
     component: () => import('@/views/error/index.vue'),
@@ -221,7 +221,7 @@ export const constantRoutes: Array<RouteRecordRaw> = [
     meta: {
       title: '错误页面',
       color: '#F5F5F5',
-      hideHeader:true
+      hideHeader: true
     }
   },
 ]
@@ -231,7 +231,6 @@ export const asyncRoutes: Array<RouteRecordRaw> = [
 ]
 const router = createRouter({
   history: createWebHistory('/sgipad/'),
-  // history: createWebHashHistory('/sgh5/'),
   routes: constantRoutes
 })
 

+ 22 - 23
src/views/envmonitor/components/ManualWork/LeaveDailog.vue

@@ -1,10 +1,9 @@
 <template>
   <van-dialog
-    v-model:show="isShowLeaveDailog"
+    v-model:show="isShow"
     class="dialog-width"
     :show-confirm-button="false"
-    :show-cancel-button="false"
-  >
+    :show-cancel-button="false">
     <div class="air-dialog-content">
       <div class="dialog-top">
         <img
@@ -38,7 +37,7 @@
   </van-dialog>
 </template>
     
-    <script lang="ts">
+<script lang="ts">
 import {
   defineComponent,
   reactive,
@@ -63,26 +62,26 @@ export default defineComponent({
     [Dialog.Component.name]: Dialog.Component,
   },
   setup(props, contx) {
+    let leaveDetail: any = {
+      textObj: [
+        {
+          text: "已为您取消当前的预约时间",
+          status: "ok",
+        },
+        {
+          text: "系统将自动调整设备状态",
+          status: "ok",
+        },
+        {
+          text: "感谢您的预约使用",
+          status: "ok",
+        },
+      ],
+    };
     const proxyData = reactive({
       parseImgUrl: parseImgUrl,
-      isShowLeaveDailog: props.isShowLeaveDailog,
-      leaveDetail: {
-        // img: parseImgUrl("ipdImages", "icon-handshake.svg"),
-        textObj: [
-          {
-            text: "已为您取消当前的预约时间",
-            status: "ok",
-          },
-          {
-            text: "系统将自动调整设备状态",
-            status: "ok",
-          },
-          {
-            text: "感谢您的预约使用",
-            status: "ok",
-          },
-        ],
-      },
+      isShow: props.isShowLeaveDailog,
+      leaveDetail: leaveDetail,
       closeDailog() {
         contx.emit("closeDailog");
       },
@@ -90,7 +89,7 @@ export default defineComponent({
     watch(
       props,
       (newProps: any) => {
-        proxyData.isShowLeaveDailog = newProps.isShowLeaveDailog;
+        proxyData.isShow = newProps.isShowLeaveDailog;
       },
       {
         deep: false,

+ 12 - 17
src/views/envmonitor/components/ManualWork/WorkConfig.vue

@@ -10,7 +10,7 @@
       <div
         class="time-btn"
         :class="timerText.showDel ? 'time-btn-small' : ''"
-        @click="triggerWork"
+        @click="childTriggerWork"
       >
         <span> {{ timerText.btnText }}</span>
       </div>
@@ -22,14 +22,15 @@
         <span>离开</span>
       </div>
     </div>
+
+    <!--加班点击我要离开触发-->
+    <leave-dailog
+      :isShowLeaveDailog="isShowLeaveDailog"
+      v-if="isShowLeaveDailog"
+      @closeDailog="closeLeavDailog"
+    >
+    </leave-dailog>
   </div>
-  <!--加班点击我要离开触发-->
-  <leave-dailog
-    :isShowLeaveDailog="isShowLeaveDailog"
-    v-if="isShowLeaveDailog"
-    @closeDailog="closeLeavDailog"
-  >
-  </leave-dailog>
 </template>
 
 <script lang="ts">
@@ -93,8 +94,8 @@ export default defineComponent({
         router.push({ path: "/choice-project" });
       },
       // 触发加班按钮
-      triggerWork() {
-        contx.emit("triggerWork", 1);
+      childTriggerWork() {
+        contx.emit("triggerWork", null);
       },
       timerText: timerText,
       text: text,
@@ -560,7 +561,6 @@ export default defineComponent({
       (newProps: any) => {
         if (newProps.workkArr && newProps.workkArr.length) {
           proxyData.workkArr = JSON.parse(JSON.stringify(newProps.workkArr));
-          console.log("workkArr数据变化了", proxyData.workkArr);
           proxyData.formateApproveData();
           proxyData.formateWorkTime();
         }
@@ -570,12 +570,7 @@ export default defineComponent({
         immediate: true,
       }
     );
-    onMounted(() => {
-      // proxyData.workkArr = props.workkArr;
-      // proxyData.workkArr = JSON.parse(JSON.stringify(props.workkArr));
-      // proxyData.formateApproveData();
-      // proxyData.formateWorkTime();
-    });
+    onMounted(() => {});
     return {
       ...toRefs(proxyData),
     };

+ 2 - 0
src/views/envmonitor/components/ManualWork/index.vue

@@ -1530,7 +1530,9 @@ export default defineComponent({
           })
           .catch(() => {
             // proxyGlobal.proxy.$loadinngEnd();
+            context.emit("closeWork");
             proxyData.showLoading = false;
+            proxyData.formBtn = false;
           });
       },
       // 删除

+ 10 - 16
src/views/envmonitor/components/workOvertime/WorkConfig.vue

@@ -22,14 +22,15 @@
         <span>离开</span>
       </div>
     </div>
+
+    <!--加班点击我要离开触发-->
+    <leave-dailog
+      :isShowLeaveDailog="isShowLeaveDailog"
+      v-if="isShowLeaveDailog"
+      @closeDailog="closeLeavDailog"
+    >
+    </leave-dailog>
   </div>
-  <!--加班点击我要离开触发-->
-  <leave-dailog
-    :isShowLeaveDailog="isShowLeaveDailog"
-    v-if="isShowLeaveDailog"
-    @closeDailog="closeLeavDailog"
-  >
-  </leave-dailog>
 </template>
 
 <script lang="ts">
@@ -53,18 +54,12 @@ import {
   getWeekDate,
   parseImgUrl,
 } from "@/utils";
-import { UserActionTypes } from "@/store/modules/user/action-types";
 import { useStore } from "@/store";
 import { saveBatchCustomScene } from "@/apis/envmonitor";
-// import { Dialog } from "vant";
 import LeaveDailog from "@/views/envmonitor/components/workOvertime/LeaveDailog.vue";
 
 export default defineComponent({
   props: {
-    scenarioArr: {
-      type: Array,
-      default: () => [],
-    },
     workkArr: {
       type: Array,
       default: () => [],
@@ -91,7 +86,6 @@ export default defineComponent({
     const proxyData = reactive({
       parseImgUrl: parseImgUrl,
       leaveBtnFlag: false,
-      scenarioArr: props.scenarioArr,
       workkArr: props.workkArr,
       forcedOverTimeFlag: false, // 强制加班标记 false:不需要强制加班
       onSubmit(values: any) {
@@ -99,7 +93,7 @@ export default defineComponent({
       },
       // 触发加班按钮
       triggerWork() {
-        contx.emit("triggerWork");
+        contx.emit("triggerWork", null);
       },
       timerText: timerText,
       text: text,
@@ -520,9 +514,9 @@ export default defineComponent({
     watch(
       props,
       (newProps: any) => {
-        proxyData.scenarioArr = newProps.scenarioArr;
         proxyData.workkArr = newProps.workkArr;
         if (proxyData.workkArr && proxyData.workkArr.length) {
+          console.log("变化了---")
           proxyData.formateWorkTime();
         }
       },

+ 4 - 26
src/views/envmonitor/components/workOvertime/index.vue

@@ -829,7 +829,7 @@ export default defineComponent({
                 item.startTime,
                 item.endTime
               );
-               delTimerArr.push(delObj);
+              delTimerArr.push(delObj);
               startTime = item.startTime;
               endTime = endTime;
             }
@@ -1018,13 +1018,6 @@ export default defineComponent({
               }
             }
           }
-          // addTimeArr.map((item: any) => {
-          //   let realTime: any = getRelNowTime();
-          //   if (realTime >= item.startTime && realTime <= item.endTime) {
-          //     item.type = "3";
-          //     item.endTimeReal = realTime;
-          //   }
-          // });
           let formTimeArr: any = addTimeArr.concat(delTimerArr);
           return formTimeArr;
         } else {
@@ -1040,8 +1033,6 @@ export default defineComponent({
       addWorkTimer() {
         let formTimerArr: any = proxyData.formateAddTimer();
         proxyData.saveBatchCustomScene(formTimerArr);
-        // console.log("提交申请-----");
-        // console.log(formTimerArr);
       },
       // 提交加班记录
       saveBatchCustomScene(formTimerArr: any, type: any = 1) {
@@ -1050,23 +1041,14 @@ export default defineComponent({
         proxyData.formBtn = true;
         saveBatchCustomScene(formTimerArr)
           .then((res) => {
-            // debugger;
-            if (type === 1) {
-              // 添加
-              // proxyGlobal.proxy.$loadinngEnd();
-              proxyData.showLoading = false;
-            } else if (type === 2) {
-              // 删除
-              proxyData.isUpdate = true;
-              proxyData.showLoading = false;
-              // proxyData.setWorkTimeList();
-            }
             context.emit("closeWork");
+            proxyData.showLoading = false;
             proxyData.formBtn = false;
           })
           .catch(() => {
-            // proxyGlobal.proxy.$loadinngEnd();
+            context.emit("closeWork");
             proxyData.showLoading = false;
+            proxyData.formBtn = false;
           });
       },
       // 删除
@@ -1092,10 +1074,6 @@ export default defineComponent({
     watch(props, (newProps: any) => {
       proxyData.workkArr = newProps.workkArr;
       proxyData.projectId = newProps.projectId;
-      if (proxyData.isUpdate) {
-        proxyData.setWorkTimeList();
-      }
-      // proxyData.getWorkTimeList();
     });
     onMounted(() => {
       // 设置dom最外层的宽

+ 14 - 17
src/views/envmonitor/index.vue

@@ -142,24 +142,23 @@
         "
       >
         <!--自动控制的加班 start-->
-        <work-config
+        <WorkConfig
           v-if="roomType === '开放' && isWork && controlMode !== 1"
-          :scenarioArr="scenarioArr"
           :workkArr="workkArr"
           @closeWork="closeWork"
           @triggerWork="triggerWork"
           @setForceOverTimeFlag="setForceOverTimeFlag"
-        ></work-config>
+        ></WorkConfig>
 
         <!--手动控制的加班 start-->
-        <manual-config
-          v-if="roomType === '开放' && isWork && controlMode === 1"
-          :scenarioArr="scenarioArr"
-          :workkArr="workkArr"
-          @closeWork="closeWork"
-          @triggerWork="triggerWork"
-          @setForceOverTimeFlag="setForceOverTimeFlag"
-        ></manual-config>
+        <template v-if="roomType === '开放' && isWork && controlMode === 1">
+          <ManualConfig
+            :workkArr="workkArr"
+            @closeWork="closeWork"
+            @triggerWork="triggerWork"
+            @setForceOverTimeFlag="setForceOverTimeFlag"
+          ></ManualConfig>
+        </template>
 
         <scenario-config
           v-if="roomType === '会议室' && scenarioArr && scenarioArr.length"
@@ -344,7 +343,6 @@ import ScenarioConfig from "./components/Scenario/ScenarioConfig.vue";
 import MapBox from "@/views/envmonitor/components/Map/MapBox.vue";
 import Header from "@/components/header/Index.vue";
 import Comheader from "@/components/header/Comheader.vue";
-// import Scenario from "@/views/envmonitor/components/Scenario/Scenario.vue";
 import Air from "@/views/envmonitor/components/Air/index.vue";
 import ManualIndex from "@/views/envmonitor/components/Air/manualIndex.vue";
 import Light from "@/views/envmonitor/components/Light/index.vue";
@@ -1663,9 +1661,8 @@ export default defineComponent({
               customSceneList = customSceneList.sort(proxyData.compare);
             }
             // 手动控制的情况下走新的服务定制
-            proxyData.workkArr = resData;
-            proxyData.formateManualWorkTime();
-
+            proxyData.formateManualWorkTime(resData);
+            proxyData.workkArr = resData || [];
             proxyData.queryCustomAndScenceTimer();
           })
           .catch(() => {
@@ -1686,9 +1683,9 @@ export default defineComponent({
       },
       // 格式化当前页面展示的时间
       // 手动控制加班处理时间段拼接的逻辑
-      formateManualWorkTime() {
+      formateManualWorkTime(paramsData: any = []) {
         // debugger
-        let data: any = proxyData.workkArr || [];
+        let data: any = paramsData || [];
         for (let i = 0; i < data.length; i++) {
           let item: any = data[i];
           let spaceCustomContentList: any =