bill před 1 rokem
rodič
revize
862f8cd66a

+ 2 - 1
src/app/criminal/constant.ts

@@ -1,11 +1,12 @@
 import { AppConstant } from "../";
 import banner from "@/assets/image/criminalBanner.png";
 import ico from "@/assets/image/criminal.ico";
+import { criminalDeptId } from "@/constant/appDeptId";
 
 export const appConstant: AppConstant = {
   title: "刑事现场三维远程勘验平台",
   desc: "Three-dimensional remote prospecting platform for criminal scenes",
   ico,
   banner,
-  deptId: 2,
+  deptId: criminalDeptId,
 };

+ 2 - 1
src/app/fire/constant.ts

@@ -1,11 +1,12 @@
 import { AppConstant } from "../";
 import banner from "@/assets/image/fireBanner.png";
 import ico from "@/assets/image/fire.ico";
+import { fireDeptId } from "@/constant/appDeptId";
 
 export const appConstant: AppConstant = {
   title: "消防火调三维远程勘验平台",
   desc: "Three-dimensional remote prospecting platform for fire scenes",
   ico,
   banner,
-  deptId: 1,
+  deptId: fireDeptId,
 };

+ 2 - 1
src/app/xmfire/constant.ts

@@ -1,6 +1,7 @@
 import { AppConstant } from "..";
 import banner from "@/assets/image/jmfirebg@2x.png";
 import ico from "@/assets/image/jmlogo.png";
+import { xmfireDeptId } from "@/constant/appDeptId";
 
 export const appConstant: AppConstant = {
   title: "火灾调查三维远程勘验平台",
@@ -8,5 +9,5 @@ export const appConstant: AppConstant = {
   ico,
   banner,
   loginComponent: () => import("./view/login/index.vue"),
-  deptId: 3,
+  deptId: xmfireDeptId,
 };

+ 1 - 1
src/app/xmfire/view/login/index.vue

@@ -298,7 +298,7 @@ const submitClick = async () => {
     font-size: 1.4rem;
     margin-bottom: 2.14rem;
     font-weight: normal;
-    padding-left: 60px;
+    padding-left: 0;
     border-bottom: 0;
     text-align: center;
   }

+ 5 - 0
src/constant/appDeptId.ts

@@ -0,0 +1,5 @@
+export const fireDeptId = 1;
+export const criminalDeptId = 2;
+export const xmfireDeptId = 3;
+
+export const topDeptIds = [fireDeptId, criminalDeptId, xmfireDeptId];

+ 27 - 3
src/view/case/addCaseFile.vue

@@ -12,6 +12,7 @@
         :limit="1"
         :disabled="!!file"
         :before-upload="upload"
+        :file-list="fileList"
         :http-request="() => {}"
         :on-preview="previewFile"
         :accept="accept"
@@ -23,6 +24,15 @@
         <template v-slot:tip>
           <div class="el-upload__tip">注:可上传{{ size }}以内的{{ formatDesc }}</div>
         </template>
+        <template v-slot:file="{ file }: { file: UploadFile }">
+          <div class="file" @click.stop="previewFile()">
+            <div>
+              <el-icon><Document /></el-icon>
+              <span class="name">{{ file.name }}</span>
+            </div>
+            <el-icon @click.stop="removeFile()"><Close /></el-icon>
+          </div>
+        </template>
       </el-upload>
     </el-form-item>
     <el-form-item label="附件标题:" class="mandatory">
@@ -47,7 +57,7 @@ import {
 import { maxFileSize } from "@/constant/caseFile";
 import { useUpload } from "@/hook/upload";
 import { CaseFile, addCaseFile } from "@/store/caseFile";
-import { ElMessage } from "element-plus";
+import { ElMessage, UploadFile } from "element-plus";
 import { computed, ref, watchEffect } from "vue";
 import { QuiskExpose } from "@/helper/mount";
 
@@ -62,7 +72,7 @@ const caseFile = ref<CaseFile>({
   filesTitle: "",
 } as any);
 
-const { size, upload, removeFile, previewFile, file, accept } = useUpload({
+const { size, fileList, upload, removeFile, previewFile, file, accept } = useUpload({
   maxSize: maxFileSize,
   formats: props.fileType === FileDrawType ? DrawFormats : OtherFormats,
 });
@@ -93,8 +103,22 @@ defineExpose<QuiskExpose>({
 });
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .upload-demo {
   overflow: hidden;
 }
+
+.file {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  > div {
+    display: flex;
+    align-items: center;
+  }
+
+  .name {
+    margin-left: 10px;
+  }
+}
 </style>

+ 5 - 1
src/view/organization/index.vue

@@ -26,7 +26,10 @@
             <template #default="{ node, data }">
               <span class="custom-tree-node">
                 <span>{{ data.name }}</span>
-                <div class="butList oper-span" v-if="data.id != '1'">
+                <div
+                  class="butList oper-span"
+                  v-if="!topDeptIds.includes(Number(data.id))"
+                >
                   <a
                     @click.stop="showOrganizationDetail({ dept: data })"
                     v-pdpath="['view']"
@@ -67,6 +70,7 @@ import { confirm } from "@/helper/message";
 import { ElMessage, ElMessageBox } from "element-plus";
 import { RouteName, router } from "@/router";
 import { SuccessFilled } from "@element-plus/icons-vue";
+import { topDeptIds } from "@/constant/appDeptId";
 
 const organTrees = ref<Organization[]>([]);
 

+ 1 - 1
src/view/vrmodel/sceneContent.vue

@@ -43,7 +43,7 @@
         编辑
       </span>
       <span
-        v-if="row.type !== SceneType.SWSSMX"
+        v-if="row.type !== SceneType.SWSSMX && row.status !== QuoteSceneStatus.RUN"
         class="oper-span delBtn"
         v-pdscene="row"
         @click="delSceneHandler(row)"