فهرست منبع

Merge branch 'dev' of http://192.168.0.115:3000/bill/4pc into dev

bill 1 سال پیش
والد
کامیت
c45f62b167
5فایلهای تغییر یافته به همراه63 افزوده شده و 29 حذف شده
  1. 2 0
      src/router.ts
  2. 10 5
      src/store/relics.ts
  3. 3 5
      src/view/device.vue
  4. 28 9
      src/view/layout/slide/index.vue
  5. 20 10
      src/view/map/layout.vue

+ 2 - 0
src/router.ts

@@ -13,11 +13,13 @@ const routes: RouteRecordRaw[] = [
   {
     path: "/no-persession",
     name: "no-persession",
+    meta: { title: "无权限", hidden: true },
     component: () => import("@/view/no-persession.vue"),
   },
   {
     path: "/down-vision",
     name: "down-vision",
+    meta: { title: "" },
     component: () => import("@/view/down-vision.vue"),
   },
   {

+ 10 - 5
src/store/relics.ts

@@ -1,7 +1,7 @@
 import {
   relicsInfoFetch,
   // relicsPolyginsFetch,
-  // relicsSelfCheckFetch,
+  relicsSelfCheckFetch,
   updateRelicsFetch,
 } from "@/request";
 import { errorHook } from "@/request/state";
@@ -15,7 +15,12 @@ export const relics = ref<Relics>();
 
 errorHook.push((code) => {
   if (code === 4002) {
-    router.replace({ name: "no-persession" });
+    // (window as any).router = router
+    setTimeout(() => {
+      router.replace({ name: "no-persession" });
+    }, 500)
+    return
+    // debugger
   }
 });
 
@@ -25,9 +30,9 @@ export const initRelics = async (relicsId: number) => {
     await refreshScenes();
   }
 };
-export const initSelfRelics = async (relicsId: number) => {
-  // await relicsSelfCheckFetch(relicsId);
-
+export const initSelfRelics = async (relicsId: number, isEdit = false) => {
+  console.log('isEditMode', isEdit)
+  isEdit && await relicsSelfCheckFetch(relicsId);
   relics.value = await relicsInfoFetch(relicsId);
   if (relics.value) {
     await refreshScenes();

+ 3 - 5
src/view/device.vue

@@ -51,15 +51,13 @@
         >
           {{ DeviceTypeDesc[row.cameraType] }}
         </el-table-column>
-
-        <!-- <el-table-column label="所属单位" prop="bindName"> </el-table-column> -->
-        <el-table-column label="所属单位" prop="bindName"></el-table-column>
+        <el-table-column label="所属单位" prop="orgName"></el-table-column>
         <el-table-column
           label="绑定账号"
-          prop="userName"
+          prop="bindName"
           v-slot:default="{ row }"
         >
-          {{ row.userName || "-" }}
+          {{ row.bindName || "-" }}
         </el-table-column>
         <el-table-column label="创建人" prop="createBy"> </el-table-column>
         <el-table-column

+ 28 - 9
src/view/layout/slide/index.vue

@@ -1,9 +1,16 @@
 <template>
   <div class="slide">
-    <el-menu :default-active="(router.currentRoute.value.name as string)"
-      @select="(name: string) => router.push({ name })">
-      <sub-menu v-for="route in routes" :meta="route.meta" v-show="!route.meta.hidden" :name="(route.name as string)"
-        :key="route.name" />
+    <el-menu
+      :default-active="(router.currentRoute.value.name as string)"
+      @select="(name: string) => router.push({ name })"
+    >
+      <sub-menu
+        v-for="route in routes"
+        :meta="route.meta"
+        v-show="!route.meta.hidden"
+        :name="(route.name as string)"
+        :key="route.name"
+      />
     </el-menu>
   </div>
 </template>
@@ -15,12 +22,24 @@ import { user } from "@/store/user";
 
 import { router, findRoute } from "@/router";
 //@TODO
-const isSuper = computed(() => user.value.roles.filter(item => item.roleKey === "super_admin").length > 0)
-const normal_name = ["scene", "relics", "device", "users"];
-const super_names = ["scene", "relics", "device", "organization", "users"];
-console.log('isSuper', isSuper.value)
+const isSuper = computed(
+  () =>
+    user.value.roles.filter((item) => item.roleKey === "super_admin").length > 0
+);
+const normal_name = ["scene", "relics", "device", "users", "no-persession"];
+const super_names = [
+  "scene",
+  "relics",
+  "device",
+  "organization",
+  "users",
+  "no-persession",
+];
+console.log("isSuper", isSuper.value);
 
-const routes = isSuper.value ? super_names.map((name) => findRoute(name)!) : normal_name.map((name) => findRoute(name)!);
+const routes = isSuper.value
+  ? super_names.map((name) => findRoute(name)!)
+  : normal_name.map((name) => findRoute(name)!);
 </script>
 
 <style lang="scss" scoped>

+ 20 - 10
src/view/map/layout.vue

@@ -10,7 +10,9 @@
           :key="menu.name"
           class="nav_item"
           :class="{
-            active: menu.router.includes(router.currentRoute.value.name.toString()),
+            active: menu.router.includes(
+              router.currentRoute.value.name.toString()
+            ),
           }"
           @click="router.replace({ name: menu.router[Number(queryMode)] })"
         >
@@ -83,7 +85,12 @@ import { router } from "@/router";
 import { Back } from "@element-plus/icons-vue";
 import vectorIcon from "@/assets/vector.svg";
 import locationIcon from "@/assets/location.svg";
-import { COORD_NAME, POYS_NAME, QUERY_COORD_NAME, QUERY_POYS_NAME } from "@/router";
+import {
+  COORD_NAME,
+  POYS_NAME,
+  QUERY_COORD_NAME,
+  QUERY_POYS_NAME,
+} from "@/router";
 import {
   mapManage,
   board,
@@ -93,7 +100,7 @@ import {
   tileType,
 } from "./install";
 import { computed, ref, watch } from "vue";
-import { initRelics, relics } from "@/store/relics";
+import { initSelfRelics, relics } from "@/store/relics";
 import { queryMode } from "./install";
 import { PoPoint } from "drawing-board";
 import { boardData, scenePoints } from "@/store/scene";
@@ -111,17 +118,25 @@ const menus = [
     router: [POYS_NAME, QUERY_POYS_NAME],
   },
 ];
-const setMapContainer = (dom: HTMLDivElement) => setTimeout(() => mapManage.mount(dom));
+const setMapContainer = (dom: HTMLDivElement) =>
+  setTimeout(() => mapManage.mount(dom));
 const setBoardContainer = (dom: HTMLDivElement) =>
   setTimeout(() => board.setProps({ dom }));
 
 const loaded = ref(false);
+
+const isCoordPage = computed(() => {
+  const name = router.currentRoute.value.name;
+  return name && [COORD_NAME, QUERY_COORD_NAME].includes(name.toString());
+});
+
 watch(
   () => router.currentRoute.value.params?.relicsId,
   (rid) => {
     if (!rid) return;
     loaded.value = false;
-    initRelics(Number(rid)).finally(() => {
+    const isEditmode =  [COORD_NAME].includes(router.currentRoute.value.name.toString())
+    initSelfRelics(Number(rid), isEditmode).finally(() => {
       if (!relics.value) {
         return router.replace({ name: "relics" });
       }
@@ -133,11 +148,6 @@ watch(
   },
   { immediate: true }
 );
-
-const isCoordPage = computed(() => {
-  const name = router.currentRoute.value.name;
-  return name && [COORD_NAME, QUERY_COORD_NAME].includes(name.toString());
-});
 const showPoints = ref(true);
 
 watch(