bill 8 mesiacov pred
rodič
commit
61204a3dde

+ 17 - 15
src/store/relics.ts

@@ -6,11 +6,12 @@ import {
   updateRelicsFetch,
 } from "@/request";
 import { errorHook } from "@/request/state";
-import { ref } from "vue";
+import { ref, watchEffect } from "vue";
 import { Relics } from "@/request/type";
 import { refreshScenes } from "./scene";
-import { router } from '../router'
+import { router } from "../router";
 import { getRelicsType } from "@/request/URL";
+import { user } from "./user";
 
 export type { Relics } from "@/request/type";
 export const relics = ref<Relics>();
@@ -20,8 +21,8 @@ errorHook.push((code) => {
     // (window as any).router = router
     setTimeout(() => {
       router.replace({ name: "no-persession" });
-    }, 500)
-    return
+    }, 500);
+    return;
     // debugger
   }
 });
@@ -33,8 +34,8 @@ export const initRelics = async (relicsId: number) => {
   }
 };
 export const initSelfRelics = async (relicsId: number, isEdit = false) => {
-  console.log('isEditMode', isEdit)
-  isEdit && await relicsSelfCheckFetch(relicsId);
+  console.log("isEditMode", isEdit);
+  isEdit && (await relicsSelfCheckFetch(relicsId));
   relics.value = await relicsInfoFetch(relicsId);
   if (relics.value) {
     await refreshScenes();
@@ -52,16 +53,17 @@ export const relicsLevelDesc = {
   4: "未认定",
 };
 
-export const relicsTypeDesc: {[key in string]: string} = {
-};
-
-sendFetch(getRelicsType, {}).then((res: any) => {
-  for (const item of res) {
-    relicsTypeDesc[item.id] = item.dictName
-  }
-  console.error(res)
-})
+export const relicsTypeDesc: { [key in string]: string } = {};
 
+watchEffect(() => {
+  if (!user.value) return;
+  sendFetch(getRelicsType, {}).then((res: any) => {
+    for (const item of res) {
+      relicsTypeDesc[item.id] = item.dictName;
+    }
+    console.error(res);
+  });
+});
 
 export const creationMethodDesc = {
   1: "手动",

+ 10 - 10
src/view/artifacts/index.vue

@@ -21,6 +21,13 @@
           <TexToolTip :text="row.artifactName" />
         </el-table-column>
 
+        <!-- <el-table-column label="文物级别" v-slot:default="{ row }: { row: Relics }">
+          <TexToolTip :text="relicsLevelDesc[row.level!]"/>
+        </el-table-column> -->
+        <el-table-column label="类别" v-slot:default="{ row }: { row: Relics }">
+          <TexToolTip :text="relicsTypeDesc[row.artifactTypeId!]" />
+        </el-table-column>
+
         <el-table-column
           prop="unicode"
           label="时代"
@@ -28,13 +35,6 @@
         >
           <TexToolTip :text="row.artifactAge" v-if="row.artifactAge" />
         </el-table-column>
-
-        <!-- <el-table-column label="文物级别" v-slot:default="{ row }: { row: Relics }">
-          <TexToolTip :text="relicsLevelDesc[row.level!]"/>
-        </el-table-column> -->
-        <el-table-column label="类别" v-slot:default="{ row }: { row: Relics }">
-          <TexToolTip :text="relicsTypeDesc[row.artifactTypeId!]" />
-        </el-table-column>
         <!-- <el-table-column label="文物地址" v-slot:default="{ row }: { row: Relics }">
           <TexToolTip :text="row.artifactTypeId" />
         </el-table-column> -->
@@ -42,14 +42,14 @@
         <el-table-column label="创建时间" v-slot:default="{ row }">
           <TexToolTip :text="row.createTime.substr(0, 16)" v-if="row.createTime" />
         </el-table-column>
-        <el-table-column prop="userName" label="创建人账号" v-slot:default="{ row }">
+        <el-table-column prop="userName" label="创建人" v-slot:default="{ row }">
           <TexToolTip :text="row.createBy" />
         </el-table-column>
 
         <el-table-column label="操作" width="240" fixed="right">
           <template #default="{ row }">
             <el-button link type="primary" size="small" @click="queryHandler(row)">
-              查看
+              详情
             </el-button>
             <el-button link type="primary" size="small" @click="editHandler(row)">
               编辑
@@ -153,7 +153,7 @@ watch(pageProps, refresh, { deep: true, immediate: true });
 onActivated(refresh);
 
 const queryHandler = (item: Relics) => {
-  router.push({ name: 'artifact-scenes', params: {id: item.id} })
+  window.open(router.resolve({ name: "artifact-scenes", params: { id: item.id } }).href);
 };
 
 const handleAddArtifact = () => {};

+ 18 - 17
src/view/layout/slide/index.vue

@@ -1,32 +1,31 @@
 <template>
   <div class="slide">
     <el-menu
-        :default-active="(router.currentRoute.value.name as string)"
-        @select="(name: string) => router.push({ name })"
-        style="border-right: none"
+      :default-active="(router.currentRoute.value.name as string)"
+      @select="(name: string) => router.push({ name })"
+      style="border-right: none"
     >
       <sub-menu
-          v-for="route in routes"
-          :meta="route.meta"
-          v-show="!route.meta.hidden"
-          :name="(route.name as string)"
-          :key="route.name"
+        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>
 
 <script setup lang="ts">
-import {computed} from "vue";
+import { computed } from "vue";
 import subMenu from "./submenu.vue";
-import {user} from "@/store/user";
+import { user } from "@/store/user";
 
-import {router, findRoute} from "@/router";
+import { router, findRoute } from "@/router";
 //@TODO
 
 const isSuper = computed(
-    () =>
-        user.value.roles.filter((item) => item.roleKey === "super_admin").length > 0
+  () => user.value.roles.filter((item) => item.roleKey === "super_admin").length > 0
 );
 
 const isORG = computed(() => user.value.type === 1);
@@ -35,6 +34,7 @@ const normal_name = [
   // "relics",
   // "device",
   "organization",
+  "artifacts",
   "users",
   "no-persession",
 ];
@@ -45,6 +45,7 @@ const normal_name_org = [
   // "device",
   "organization",
   "org-users",
+  "artifacts",
   "no-persession",
 ];
 const super_names = [
@@ -60,10 +61,10 @@ const super_names = [
 console.log("isSuper", isSuper.value);
 
 const routes = isSuper.value
-    ? super_names.map((name) => findRoute(name)!)
-    : isORG.value
-        ? normal_name_org.map((name) => findRoute(name)!)
-        : normal_name.map((name) => findRoute(name)!);
+  ? super_names.map((name) => findRoute(name)!)
+  : isORG.value
+  ? normal_name_org.map((name) => findRoute(name)!)
+  : normal_name.map((name) => findRoute(name)!);
 </script>
 
 <style lang="scss" scoped>

+ 14 - 16
src/view/scene-select.vue

@@ -31,10 +31,10 @@ const scenes = computed(() =>
 );
 const sceneAlls: Scene[] = [...rScenes.value];
 const selectSelects = computed(() => {
-  return simpleScenes.value.map((sScene) =>
-    sceneAlls.find((s) => s.sceneCode === sScene.sceneCode)
-  );
+  console.log(simpleScenes.value, sceneAlls);
+  return simpleScenes.value;
 });
+console.log(selectSelects.value);
 
 const loaded = ref(false);
 const tableProps = {
@@ -48,23 +48,21 @@ const tableProps = {
     );
 
     let tip = false;
-    const count = (val[0] as any)?.shootCount || 0;
+    const count = selectSelects.value[0]?.shootCount || (val[0] as any)?.shootCount || 0;
     val.forEach((scene) => {
-      if (
-        selectSelects.value.length &&
-        selectSelects.value[0].cameraType !== scene.cameraType
-      ) {
-        tableProps.tableRef.value!.toggleRowSelection(scene, false);
-        tip || ElMessage.error({ message: "请添加相同类型的场景", repeatNum: 1 });
-        tip = true;
-      } else if (scene.calcStatus !== SceneStatus.SUCCESS) {
+      // if (
+      //   selectSelects.value.length &&
+      //   selectSelects.value[0].cameraType !== scene.cameraType
+      // ) {
+      //   tableProps.tableRef.value!.toggleRowSelection(scene, false);
+      //   tip || ElMessage.error({ message: "请添加相同类型的场景", repeatNum: 1 });
+      //   tip = true;
+      // } else
+      if (scene.calcStatus !== SceneStatus.SUCCESS) {
         tableProps.tableRef.value!.toggleRowSelection(scene, false);
         tip || ElMessage.error({ message: "计算中场景无法添加", repeatNum: 1 });
         tip = true;
-      } else if (
-        selectSelects.value.length &&
-        selectSelects.value[0].shootCount !== scene.shootCount
-      ) {
+      } else if (selectSelects.value.length && count !== scene.shootCount) {
         tip ||
           ElMessage.error({
             message: "请添加相同相机类型且点位数量一致的场景",