Explorar el Código

fix: 设置主空间的bug修改

chenzhen2 hace 2 años
padre
commit
8d3e5a1202

+ 28 - 2
src/apis/envmonitor.ts

@@ -196,16 +196,42 @@ export const getPadSpaceList = (params: any) => {
 }
 
 /**
- * 设置成办公空间
+ * 设置成办公空间-("批量保存")
  */
 export const saveWorkSpace = (params: any) => {
   return https().request<any>(`${setupService}padSpace/saveWorkSpace`, Method.POST, params, ContentType.json)
 }
 
 /**
+ * 设置工作空间
+ * @param params 
+ */
+export const insertWorkSpace = (params: any) => {
+  return https().request<any>(`${testApi}padSpace/insertWorkSpace`, Method.POST, params, ContentType.json)
+}
+
+/**
+ * 删除工作空间
+ * @param params 
+ */
+ export const deleteWorkSpace = (params: any) => {
+  return https().request<any>(`${testApi}padSpace/deleteWorkSpace`, Method.POST, params, ContentType.json)
+}
+
+
+
+/**
+ * 查询平板下面的办公空间
+ */
+export let queryWorkSpace = (params: any) => {
+  return https().request<any>(`${setupService}padSpace/queryWorkSpace`, Method.POST, params, ContentType.json)
+}
+
+
+/**
  * 查询平板下面的办公空间
  */
-export const queryWorkSpace = (params: any) => {
+ export let checkWorkSpace = (params: any) => {
   return https().request<any>(`${setupService}padSpace/queryWorkSpace`, Method.POST, params, ContentType.json)
 }
 

+ 5 - 1
src/components/header/Comheader.vue

@@ -37,7 +37,11 @@ export default defineComponent({
     const proxyData = reactive({
       route: route,
       goBack() {
-        router.back();
+        if (route.meta.toName) {
+          router.push({ name: route.meta.toName });
+        } else {
+          router.back();
+        }
       },
     });
     onMounted(() => {

+ 3 - 2
src/router/index.ts

@@ -152,13 +152,14 @@ export const constantRoutes: Array<RouteRecordRaw> = [
     name: 'choiceSpace',
     meta: {
       title: '选择办公空间',
+      toName: "choiceProject",
       color: '#F5F5F5',
       hideHeader: false
     }
   },
   {
-    path:'/set-main-space',
-    component:SetMainSpace,
+    path: '/set-main-space',
+    component: () => import('@/views/choiceSpace/setMainSpace.vue'),
     name: 'setMainSpace',
     meta: {
       title: '设置主空间',

+ 14 - 14
src/utils/https.ts

@@ -34,20 +34,20 @@ export const https = (configobj: any = { timeout: '' }) => {
   }, function (error) {
 
   })
-  https.httpClient.interceptors.response.use(function (response) {
-    return response
-  }, function (error) {
-    // console.log('error===')
-    // console.log(error.response.status)
-    // console.log(error.status)
-    // if (error.response.status === 401) {
-    //   Toast('登录失效,请退出app重新登录')
-    //   sessionStorage.clear()
-    //   const tokenOld: any = Cookies.get('accessToken')
-    //   window.location.href = `/sgh5/home?accessToken=${tokenOld}`
-    // }
-    return Promise.reject(error)
-  })
+  // https.httpClient.interceptors.response.use(function (response) {
+  //   return response
+  // }, function (error) {
+  //   // console.log('error===')
+  //   // console.log(error.response.status)
+  //   // console.log(error.status)
+  //   // if (error.response.status === 401) {
+  //   //   Toast('登录失效,请退出app重新登录')
+  //   //   sessionStorage.clear()
+  //   //   const tokenOld: any = Cookies.get('accessToken')
+  //   //   window.location.href = `/sgh5/home?accessToken=${tokenOld}`
+  //   // }
+  //   return Promise.reject(error)
+  // })
   return https
 }
 

+ 54 - 8
src/views/choiceSpace/choiceSpace.vue

@@ -92,10 +92,12 @@ import {
 import { store } from "@/store";
 import { UserMutationTypes } from "@/store/modules/user/mutation-types";
 import {
+  checkWorkSpace,
   getBuildingList,
   getDefaultLocation,
   getFloorList,
   getPadSpaceList,
+  queryWorkSpace,
   saveWorkSpace,
 } from "@/apis/envmonitor";
 import { clear } from "console";
@@ -154,6 +156,7 @@ export default defineComponent({
       name: "全部空间",
     };
     const spaceData: any = [];
+    const copySpaceData: any = [];
     const proxyData = reactive({
       parseImgUrl: parseImgUrl,
       showSpace: true,
@@ -305,11 +308,26 @@ export default defineComponent({
           proxyData.defaultSpaceData.buildingId;
         proxyData.checkPositon.floorId = proxyData.defaultSpaceData.floorId;
       },
-      // 设置主空间
-      goNext() {
+      // 格式工作办公数据
+      formataWorkData() {
         let data: any = proxyData.spaceData.filter((item: any) => {
           return item.checked;
         });
+        proxyData.copySpaceData.map((item: any) => {
+          for (let i = 0; i < data.length; i++) {
+            if (item.spaceId === data[i].spaceId) {
+              item.checked = data[i].checked;
+            }
+          }
+        });
+        let paramsArr: any = proxyData.copySpaceData.filter((item: any) => {
+          return item.checked;
+        });
+        return paramsArr;
+      },
+      // 设置主空间
+      goNext() {
+        let data: any = proxyData.formataWorkData();
         let idArr: any = [];
         data.map((item: any) => {
           idArr.push(item.spaceId);
@@ -329,12 +347,35 @@ export default defineComponent({
       // 保存空间
       saveWorkSpace(params: any) {
         saveWorkSpace(params).then((res) => {
-          if (params.workSpaceList.length > 1) {
-            router.push({ name: "setMainSpace" });
+          proxyData.querySpaceList();
+          // router.push({ name: "setMainSpace" });
+        });
+      },
+      querySpaceList() {
+        let params: any = {
+          criteria: {
+            projectId: proxyData.userInfo.projectId,
+            //类型:Object  必有字段  备注:无
+            macAddress: proxyData.userInfo.mac, //类型:String  必有字段  备注:mac地址
+          },
+        };
+        checkWorkSpace(params).then((res) => {
+          let resData: any = res;
+          let data: any = [];
+          if (resData.result === "success") {
+            data = resData?.content ?? [];
+          } else {
+            data = [];
+          }
+          if (data.length > 1) {
+            // router.push({ name: "setMainSpace" });
+            setTimeout(() => {
+              router.push({ name: "setMainSpace" });
+            }, 1000);
           } else {
             router.push({
               name: "envmonitor",
-              query: { spaceId: params.workSpaceList[0] },
+              query: { spaceId: data[0].spaceId },
             });
           }
         });
@@ -359,6 +400,7 @@ export default defineComponent({
         proxyData.spaceType = spaceType;
       },
       spaceData: spaceData,
+      copySpaceData: copySpaceData,
       nowPerstionIndex: 0,
       // 空间列表
       getPadSpaceList(query: any = "") {
@@ -382,6 +424,12 @@ export default defineComponent({
                 item.checked = false;
               }
             });
+            // 不搜索的时候数据备份一下
+            if (!query) {
+              proxyData.copySpaceData = JSON.parse(
+                JSON.stringify(proxyData.spaceData)
+              );
+            }
           } else {
             proxyData.spaceData = [];
           }
@@ -393,9 +441,7 @@ export default defineComponent({
         });
       },
       // 设置当前页面选中的位置
-      setPageScroolTop(){
-
-      },
+      setPageScroolTop() {},
       searchSpace() {
         let query: any = {
           floorId: proxyData.checkPositon.floorId,

+ 4 - 1
src/views/choiceSpace/setMainSpace.vue

@@ -104,12 +104,15 @@ export default defineComponent({
       queryWorkSpace() {
         let params: any = {
           criteria: {
+            projectId: proxyData.userInfo.projectId,
             //类型:Object  必有字段  备注:无
             macAddress: proxyData.userInfo.mac, //类型:String  必有字段  备注:mac地址
           },
         };
+        // debugger
         queryWorkSpace(params).then((res) => {
-          let resData: any = res;
+          let resData: any = res ? res : {};
+          // debugger;
           if (resData.result === "success") {
             proxyData.spaceData = resData?.content ?? [];
           } else {

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

@@ -1581,6 +1581,8 @@ export default defineComponent({
         let params: any = {
           criteria: {
             //类型:Object  必有字段  备注:无
+            projectId: proxyData.userInfo.projectId,
+            spaceName:'',
             macAddress: proxyData.userInfo.mac, //类型:String  必有字段  备注:mac地址
           },
           orders: [