瀏覽代碼

修改bug

bill 1 年之前
父節點
當前提交
d2e1a62e21

+ 11 - 0
src/constant/camera.ts

@@ -0,0 +1,11 @@
+import { CameraType } from "@/store/camera";
+
+export const cameraTypeDesc = {
+  [CameraType.SWKK_OLD]: "旧双目相机",
+  [CameraType.SWKK]: "八目相机",
+  [CameraType.SWKK_L]: "四维看看lite",
+  [CameraType.SWKK_LA]: "指房宝小红屋相机",
+  [CameraType.SWKJ]: "双目转台相机",
+  [CameraType.SWSS1]: "激光转台相机",
+  [CameraType.SWSS2]: "激光转台相机",
+};

+ 5 - 15
src/hook/upload.ts

@@ -5,16 +5,10 @@ import mime from "mime";
 export type UploadProps<T> = {
   maxSize: number;
   formats: string[];
-  upload?: (
-    file: File,
-    onPercentage: (percentage: number) => void
-  ) => Promise<T>;
+  upload?: (file: File, onPercentage: (percentage: number) => void) => Promise<T>;
 };
 
-const defaultUpload = (
-  file: File,
-  onPercentage: (percentage: number) => void
-) => {
+const defaultUpload = (file: File, onPercentage: (percentage: number) => void) => {
   onPercentage(100);
 };
 
@@ -43,9 +37,7 @@ export const useUpload = <T>(props: UploadProps<T>) => {
   };
 
   const upload = async (file: File) => {
-    const fileType = file.name
-      .substring(file.name.lastIndexOf("."))
-      .toUpperCase();
+    const fileType = file.name.substring(file.name.lastIndexOf(".")).toUpperCase();
 
     if (!props.formats.some((type) => type.toUpperCase() === fileType)) {
       ElMessage.error(`请上传${format.value}`);
@@ -54,10 +46,7 @@ export const useUpload = <T>(props: UploadProps<T>) => {
       ElMessage.error(`请上传${size.value}以内的文件`);
       return false;
     } else {
-      await (props.upload || defaultUpload)(
-        file,
-        (val) => (percentage.value = val)
-      );
+      await (props.upload || defaultUpload)(file, (val) => (percentage.value = val));
       percentage.value = undefined;
       fileRef.value = file;
       return true;
@@ -66,6 +55,7 @@ export const useUpload = <T>(props: UploadProps<T>) => {
 
   return {
     file: fileRef,
+    fileList: computed(() => (fileRef.value ? [fileRef.value] : [])),
     previewFile,
     removeFile,
     percentage,

+ 11 - 0
src/store/camera.ts

@@ -9,8 +9,19 @@ import {
   updateCamera,
 } from "@/request";
 
+export enum CameraType {
+  SWKK_OLD = 0,
+  SWKK = 1,
+  SWKK_L = 2,
+  SWKK_LA = 5,
+  SWKJ = 9,
+  SWSS1 = 10,
+  SWSS2 = 11,
+}
+
 export type Camera = {
   id: string;
+  cameraType: CameraType;
   snCode: string;
   deptId: string;
   userId: string;

+ 6 - 3
src/view/camera/bind.vue

@@ -2,15 +2,18 @@
   <el-form ref="form" label-width="100px" class="camera-from">
     <el-form-item label="SN码:" class="mandatory">
       <el-input
-        v-if="!bindCamera.id || operateIsPermissionByPath('edit', 'sn')"
+        :disabled="bindCamera.id && !operateIsPermissionByPath('edit', 'sn')"
         :modelValue="bindCamera.snCode"
         placeholder="请输入相机底部SN码,如214D5RE2G8"
         @update:modelValue="(val: string) => (bindCamera.snCode = val.trim())"
       />
-      <span v-else>{{ bindCamera.snCode }}</span>
     </el-form-item>
     <el-form-item label="所属架构:" class="mandatory">
-      <com-company v-model="bindCamera.deptId" hide-all />
+      <com-company
+        v-model="bindCamera.deptId"
+        :disabled="!!(bindCamera.id && !operateIsPermissionByPath('edit', 'dept'))"
+        hide-all
+      />
     </el-form-item>
     <el-form-item label="管理员:" class="mandatory">
       <el-select v-model="bindCamera.userId" placeholder="请选择" style="width: 100%">

+ 4 - 1
src/view/camera/index.vue

@@ -37,7 +37,9 @@
           {{ state.pag.size * (state.pag.currentPage - 1) + $index + 1 }}
         </div>
       </el-table-column>
-      <el-table-column label="设备类型" prop="snCode"></el-table-column>
+      <el-table-column label="设备类型" v-slot:default="{ row }">
+        {{ cameraTypeDesc[row.cameraType] }}
+      </el-table-column>
       <el-table-column label="S/N码" prop="snCode"></el-table-column>
       <el-table-column label="所属架构" prop="deptName"></el-table-column>
       <el-table-column label="云容量使用情况" v-slot:default="{ row }">
@@ -71,6 +73,7 @@ import { bindCamera, editCamera } from "./quisk";
 import { getCameraPagging, delCamera, addCamera, Camera } from "@/store/camera";
 import { confirm } from "@/helper/message";
 import { ElMessage } from "element-plus";
+import { cameraTypeDesc } from "@/constant/camera";
 
 const { state, queryReset, refresh, changPageCurrent, changPageSize, add } = usePagging({
   get: getCameraPagging,

+ 2 - 2
src/view/case/draw/slider.vue

@@ -13,7 +13,7 @@
         :disabled="!!percentage"
         :before-upload="upload"
         :accept="accept"
-        :file-list="[]"
+        :file-list="fileList"
       >
         <el-button
           ghost
@@ -68,7 +68,7 @@ const emit = defineEmits<{
   (e: "selectImage", val: Blob): void;
 }>();
 
-const { percentage, upload, file, removeFile, accept } = useUpload({
+const { percentage, upload, file, fileList, removeFile, accept } = useUpload({
   maxSize: maxFileSize,
   formats: [".jpg", ".png"],
 });

+ 3 - 2
src/view/vrmodel/modelContent.vue

@@ -7,7 +7,7 @@
       :limit="1"
       :show-file-list="false"
       :http-request="() => {}"
-      :file-list="[]"
+      :file-list="fileList"
       :class="{ disabled: percentage }"
       :before-upload="uploadCheck"
     >
@@ -107,12 +107,13 @@ const delOrCancel = async (scene: ModelScene) => {
   }
 };
 
-const { percentage, upload: uploadCheck } = useUpload({
+const { percentage, upload: uploadCheck, fileList, removeFile } = useUpload({
   maxSize: ModelMaxSize,
   formats: ModelSupportFormats,
   upload: async (file, onPercentage) => {
     await uploadModelScene(file, onPercentage);
     props.pagging.refresh();
+    removeFile();
   },
 });
 

+ 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 = "fire";
+let app = "criminal";
 if (process.argv.length > 3) {
   app = process.argv[process.argv.length - 1].trim();
 }