bill пре 1 година
родитељ
комит
00ed25d593

+ 1 - 1
src/app/jmfire/constant.ts

@@ -8,5 +8,5 @@ export const appConstant: AppConstant = {
   ico,
   banner,
   loginComponent: () => import("./view/login/index.vue"),
-  deptId: 1,
+  deptId: 3,
 };

+ 32 - 7
src/app/jmfire/view/login/index.vue

@@ -5,8 +5,11 @@
         <div class="content">
           <div class="info">
             <img src="@/app/jmfire/images/banner@2x.png" />
+            <span>{{ dateFormat(currentDate, "yyyy-MM-dd hh:mm:ss") }}</span>
           </div>
           <el-form class="panel login" :model="form" @submit.stop>
+            <img :src="appConstant.ico" />
+            <h2>{{ appConstant.title }}</h2>
             <el-form-item class="panel-form-item">
               <p class="err-info">{{ verification.phone }}</p>
               <el-input
@@ -65,15 +68,21 @@
 </template>
 
 <script lang="ts" setup>
-import { reactive, watch, ref, computed } from "vue";
+import { reactive, watch, ref, computed, onUnmounted } from "vue";
 import { openErrorMsg, baseURL, getCode } from "@/request";
 import { PHONE } from "@/constant/REG";
-import { guid, strToParams } from "@/util";
+import { guid, strToParams, dateFormat } from "@/util";
 import { RouteName, router } from "@/router";
 import { login } from "@/store/system";
 import { appConstant } from "@/app";
 import { user } from "@/store/user";
 
+const currentDate = ref(new Date());
+const interval = setInterval(() => {
+  currentDate.value = new Date();
+});
+onUnmounted(() => clearInterval(interval));
+
 // 是否显示明文密码
 const flag = ref(true);
 // 表单
@@ -182,9 +191,19 @@ const submitClick = async () => {
   color: #fff;
   flex: none;
   text-align: left;
+  position: relative;
+  pointer-events: none;
+  span {
+    position: absolute;
+    bottom: 20px;
+    left: 50%;
+    transform: translateX(-50%);
+    font-size: 18px;
+    color: #fff;
+  }
+
   img {
-    width: 376px;
-    height: 376px;
+    height: 541px;
   }
   h1 {
     font-size: 2.8rem;
@@ -208,7 +227,7 @@ const submitClick = async () => {
   }
 }
 .login {
-  width: 320px;
+  width: 380px;
   padding: 40px 40px 30px;
   position: relative;
   display: inline-block;
@@ -263,15 +282,21 @@ const submitClick = async () => {
   width: 600px;
   padding: 30px 0 40px;
   text-align: initial;
+  text-align: center;
+
+  img {
+    width: 100px;
+  }
 
   h2 {
     color: #323233;
-    font-size: 1.85rem;
+    font-size: 1.4rem;
     margin-bottom: 2.14rem;
     font-weight: normal;
     padding-left: 60px;
     padding-bottom: 20px;
     border-bottom: 1px solid #e9e9e9;
+    text-align: center;
   }
 
   .panel-form-item {
@@ -288,7 +313,7 @@ const submitClick = async () => {
     .err-info {
       position: absolute;
       top: 100%;
-      left: 20px;
+      left: 0;
       font-size: 1rem;
       line-height: 2.14rem;
       color: #fa5555;

+ 1 - 0
src/request/urls.ts

@@ -64,6 +64,7 @@ export const getCompanyList = "/web/department/getAll";
 /** ----------------VR模型接口---------------- */
 // 获取场景列表
 export const getSceneList = "/fusion/scene/list";
+export const delScene = "/fusion/scene/deleteNum";
 // 获取模型场景列表
 export const getModelSceneList = `/fusion/model/list`;
 // 取消模型场景上传

+ 10 - 3
src/store/scene.ts

@@ -3,6 +3,7 @@ import {
   PaggingRes,
   axios,
   cancelUModel,
+  delScene,
   deleteModel,
   getModelRunProgress,
   getModelSceneList,
@@ -117,8 +118,14 @@ type ScenePaggingParams = PaggingReq<
 >;
 export const getScenePagging = async (params: ScenePaggingParams) => {
   return (
-    await axios.get(params.type === SceneType.SWMX ? getModelSceneList : getSceneList, {
-      params,
-    })
+    await axios.get(
+      params.type === SceneType.SWMX ? getModelSceneList : getSceneList,
+      {
+        params,
+      }
+    )
   ).data as PaggingRes<Scene>;
 };
+
+export const delQuoteScene = (scene: QuoteScene) =>
+  axios.post(delScene, { num: scene.num });

+ 17 - 2
src/view/vrmodel/sceneContent.vue

@@ -42,6 +42,14 @@
       >
         编辑
       </span>
+      <span
+        class="oper-span delBtn"
+        v-pdscene="row"
+        @click="delSceneHandler(row)"
+        v-pdpath="'del'"
+      >
+        删除
+      </span>
       <!-- <span
         class="oper-span"
         v-pdpath="['download']"
@@ -55,12 +63,19 @@
 </template>
 
 <script setup lang="ts">
-import { QuoteScene, QuoteSceneStatus } from "@/store/scene";
+import { QuoteScene, QuoteSceneStatus, Scene, delQuoteScene } from "@/store/scene";
 import { ScenePagging } from "./pagging";
 import { sceneDownload } from "../window";
 import { QuoteSceneStatusDesc, SceneTypePaths } from "@/constant/scene";
 import { transformSWToken } from "@/store/user";
 import { OpenType, openSceneUrl } from "../case/help";
+import { confirm } from "@/helper/message";
 
-defineProps<{ pagging: ScenePagging }>();
+const props = defineProps<{ pagging: ScenePagging }>();
+const delSceneHandler = async (scene: QuoteScene) => {
+  if (await confirm("确定要删除当前场景吗?")) {
+    await delQuoteScene(scene);
+    props.pagging.refresh();
+  }
+};
 </script>

+ 1 - 1
vite.config.ts

@@ -3,7 +3,7 @@ import vue from "@vitejs/plugin-vue";
 import { resolve } from "path";
 import ElementPlus from "unplugin-element-plus/vite";
 
-let app = "criminal";
+let app = "jmfire";
 if (process.argv.length > 3) {
   app = process.argv[process.argv.length - 1].trim();
 }