bill hai 1 semana
pai
achega
54504991ae

+ 3 - 1
src/api/constant.ts

@@ -2,12 +2,14 @@ import {namespace} from '@/env'
 
 export enum ResCode {
   TOKEN_INVALID = 4008,
-  UN_AUTH = 4010,
+  UN_AUTH = 40111,
+  UN_EDIT_AUTH = 40110,
   SUCCESS = 0
 }
 
 export const ResCodeDesc: { [key in ResCode]: string } = {
   [ResCode.UN_AUTH] : '您没有访问权限',
+  [ResCode.UN_EDIT_AUTH] : '您没有编辑权限',
   [ResCode.TOKEN_INVALID]: 'token已失效',
   [ResCode.SUCCESS]: '请求成功'
 }

+ 24 - 6
src/app.vue

@@ -2,13 +2,27 @@
   <ConfigProvider v-bind="config" v-if="!showLogin">
     <template v-for="needMount in needMounts">
       <Teleport :to="needMount[0]">
-        <component :is="needMount[1]" v-bind="needMount[2]" :ref="(v: any) => needMount[3] && needMount[3](v)" />
+        <component
+          :is="needMount[1]"
+          v-bind="needMount[2]"
+          :ref="(v: any) => needMount[3] && needMount[3](v)"
+        />
       </Teleport>
     </template>
 
-    <ui-editor-layout @click.stop @contextmenu.prevent id="layout-app" class="editor-layout" :style="layoutStyles"
-      :class="layoutClassNames">
-      <div :ref="(el: any) => appEl = (el as HTMLDivElement)" v-if="loaded" class="app-con">
+    <ui-editor-layout
+      @click.stop
+      @contextmenu.prevent
+      id="layout-app"
+      class="editor-layout"
+      :style="layoutStyles"
+      :class="layoutClassNames"
+    >
+      <div
+        :ref="(el: any) => appEl = (el as HTMLDivElement)"
+        v-if="loaded"
+        class="app-con"
+      >
         <router-view v-slot="{ Component }">
           <!-- <keep-alive> -->
           <component :is="Component" />
@@ -58,7 +72,6 @@ import { config } from "./config";
 import { sdk, sdkLoaded } from "./sdk";
 import GAxios from "axios";
 
-
 import { addReqErrorHandler, addResErrorHandler, ResCode, setToken } from "./api";
 import { mergeFuns } from "./components/drawing/hook";
 import Login from "./views/login.vue";
@@ -72,7 +85,10 @@ addResErrorHandler((data: any) => {
   if (data.code === ResCode.TOKEN_INVALID) {
     gotoLogin();
   } else if (data.code === ResCode.UN_AUTH) {
+    // console.log("--->");
     gotoLogin();
+  } else if (data.code === ResCode.UN_EDIT_AUTH) {
+    router.replace(RoutesName.show);
   }
 });
 addReqErrorHandler(gotoLogin);
@@ -196,7 +212,9 @@ watch(
 }
 
 .hide-left-box-mode {
-  --left-pano-left: calc(var(--editor-menu-left) + var(--editor-menu-width) - var(--left-pano-width)) !important;
+  --left-pano-left: calc(
+    var(--editor-menu-left) + var(--editor-menu-width) - var(--left-pano-width)
+  ) !important;
 }
 
 .edit-mode {

+ 9 - 8
src/layout/edit/scene-select.vue

@@ -31,7 +31,8 @@
               :columns="cloumns"
               :rowSelection="rowSelection"
               :data-source="typeFilterScenes[current]"
-              :pagination="false"
+              :pagination="{ ...params, current: params.pageNum }"
+              @change="handleTableChange"
             />
             <div style="padding: 1px" v-else>
               <Empty
@@ -77,6 +78,7 @@ import {
   Dropdown,
   Menu,
   MenuItem,
+  TableProps,
 } from "ant-design-vue";
 import { computed, nextTick, ref, watch, watchEffect } from "vue";
 import { scenes, save, SceneTypeDesc } from "@/store";
@@ -118,19 +120,22 @@ const types = computed(() => [
 ]);
 const type = ref(types.value[0]);
 
+const handleTableChange: TableProps["onChange"] = (pag) => {
+  params.value.pageSize = pag.pageSize!;
+  params.value.pageNum = pag.current!;
+};
 const meshParams = ref({ isObj: 1, pageNum: 1, pageSize: 12, total: 0 })
 const cloudParams = ref({ isObj: 0, pageNum: 1, pageSize: 12, total: 0 })
 const meshList = ref<Scene[]>([])
 const cloudList = ref<Scene[]>([])
+const params = computed(() => type.value === 'Mesh场景' ? meshParams.value : cloudParams.value)
 
-console.error('scene-select')
 let loadCount = 0
 watchEffect(() => {
-  const params = type.value === 'Mesh场景' ? meshParams : cloudParams
   const list = type.value === '点云场景' ? meshList : cloudList
   const currentCount = ++loadCount
   fetchScenesAll(params.value).then((data) => {
-    console.log(currentCount, loadCount)
+    console.log('====>', currentCount, loadCount, params.value)
     if (currentCount === loadCount) {
 
       params.value.total = data.total
@@ -152,10 +157,6 @@ const typeFilterScenes = computed(() => {
   return typeScenes;
 });
 
-watchEffect(() => {
-  console.log(origin.value, type.value, typeFilterScenes.value)
-})
-
 const cache = {} as any
 
 const selects = ref<Key[]>(selectIds.value);

+ 1 - 1
src/layout/model-list/sign.vue

@@ -33,7 +33,7 @@
       </div>
     </div>
     <div class="model-desc" v-if="active">
-      <p><span>数据来源:</span>{{ SceneTypeDesc[model.type] }}</p>
+      <p><span>数据来源:</span>{{ model.raw.sourceName }}</p>
       <p v-if="![SceneType.SWSS, SceneType.SWYDSS].includes(model.type)">
         <span>数据大小:</span>{{ model.size }}
       </p>

+ 1 - 1
src/layout/scene-list/index.vue

@@ -36,7 +36,7 @@
             {{ item.raw.name }}
           </p>
           <p>
-            {{ SceneTypeDesc[item.raw.type as SceneType] }}
+            {{ item.raw.sourceName}}
           </p>
         </div>
         <!-- <Button

+ 2 - 2
src/views/login.vue

@@ -85,7 +85,7 @@ const login = (username: string, password: string) => {
 };
 
 if (import.meta.env.DEV) {
-  login("super-admin", "Aa123456");
+  // login("super-admin", "Aa123456");
 }
 </script>
 
@@ -93,7 +93,7 @@ if (import.meta.env.DEV) {
 .login-layout {
   position: fixed;
   inset: 0;
-  z-index: 99999;
+  z-index: 99;
   background: url("/images/login-backimage.png") no-repeat center center;
   background-size: cover;
   display: flex;