gemercheung 1 anno fa
parent
commit
a52d843eef
4 ha cambiato i file con 49 aggiunte e 10 eliminazioni
  1. 1 0
      package.json
  2. 7 2
      src/view/cameraVersionApp/download.vue
  3. 31 7
      src/view/cameraVersionApp/edit.vue
  4. 10 1
      yarn.lock

+ 1 - 0
package.json

@@ -13,6 +13,7 @@
     "@amap/amap-jsapi-loader": "^1.0.1",
     "@element-plus/icons-vue": "^2.1.0",
     "@types/qs": "^6.9.7",
+    "@vueuse/components": "^10.11.0",
     "@vueuse/core": "^10.11.0",
     "@vueuse/router": "^10.11.0",
     "axios": "^1.4.0",

+ 7 - 2
src/view/cameraVersionApp/download.vue

@@ -8,7 +8,12 @@
     <el-form-item label="App下载地址">
       <div class="column">
         <el-input maxlength="30" v-model="data.url" disabled></el-input>
-        <el-button type="primary" style="margin-left: 20px">复制</el-button>
+        <useClipboard v-slot="{ copy, copied }" :source="data.url">
+          <el-button type="primary" style="margin-left: 20px" @click="copy()">
+            {{ copied ? "已复制" : "复制" }}
+          </el-button>
+        </useClipboard>
+    
       </div>
     </el-form-item>
     <div class="qrcode">
@@ -21,7 +26,7 @@
 import { computed, ref, unref, watch, watchEffect } from "vue";
 import { QuiskExpose } from "@/helper/mount";
 import QrcodeVue from "qrcode.vue";
-import { ElMessage } from "element-plus";
+import { UseClipboard } from "@vueuse/components";
 
 const props = withDefaults(
   defineProps<{

+ 31 - 7
src/view/cameraVersionApp/edit.vue

@@ -49,15 +49,17 @@
         <template v-slot:tip>
           <div class="el-upload__tip">注:可上传{{ size }}以内的文件</div>
         </template>
-        <!-- <template v-slot:file="{ file }: { file: UploadFile }">
+        <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>
+            <el-icon @click.stop="removeFile() && (data.file = undefined)"
+              ><Close
+            /></el-icon>
           </div>
-        </template> -->
+        </template>
       </el-upload>
     </el-form-item>
   </el-form>
@@ -69,7 +71,7 @@ import { QuiskExpose } from "@/helper/mount";
 import { CameraVersionAppEntity } from "@/store/cameraVersionApp";
 import { useUpload } from "@/hook/upload";
 import { maxFileSize } from "@/constant/caseFile";
-
+import { UploadFile } from "element-plus";
 import {
   addCameraVersionApp,
   editCameraVersionApp,
@@ -77,6 +79,7 @@ import {
 } from "@/store/cameraVersionApp";
 import { ElMessage } from "element-plus";
 
+
 const props = defineProps<{
   // type: string | number;
   entity?: CameraVersionAppEntity;
@@ -86,10 +89,15 @@ const data = ref<CameraVersionAppEntity>({
   description: "",
   minVersion: "",
   file: undefined,
+  status: "",
+  fileUrl: "",
+  name: "",
 });
 
 const form = ref();
 
+
+
 const isAdd = computed(() => !props.entity?.id);
 
 const httpsApi = async ({ file }) => {
@@ -129,11 +137,10 @@ defineExpose<QuiskExpose>({
         ElMessage.error("文件不能为空!");
         throw "文件不能为空!";
       }
-      await addCameraVersionApp(data.value as any as CameraVersionAppType);
+      await addCameraVersionApp(data.value as any as CameraVersionAppEntity);
       ElMessage.success("添加成功!");
-   
     } else {
-      await editCameraVersionApp(data.value as any as CameraVersionAppType);
+      await editCameraVersionApp(data.value as any as CameraVersionAppEntity);
       ElMessage.success("保存成功!");
     }
   },
@@ -145,4 +152,21 @@ defineExpose<QuiskExpose>({
   font-size: 20px;
   line-height: 50px;
 }
+.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>

+ 10 - 1
yarn.lock

@@ -373,7 +373,16 @@
   resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.31.tgz"
   integrity sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==
 
-"@vueuse/core@^10.11.0":
+"@vueuse/components@^10.11.0":
+  version "10.11.0"
+  resolved "https://registry.npmmirror.com/@vueuse/components/-/components-10.11.0.tgz#fd4191e30070bed3b51bdc4d33a9edb4b5da08de"
+  integrity sha512-ZvLZI23d5ZAtva5fGyYh/jQtZO8l+zJ5tAXyYNqHJZkq1o5yWyqZhENvSv5mfDmN5IuAOp4tq02mRmX/ipFGcg==
+  dependencies:
+    "@vueuse/core" "10.11.0"
+    "@vueuse/shared" "10.11.0"
+    vue-demi ">=0.14.8"
+
+"@vueuse/core@10.11.0", "@vueuse/core@^10.11.0":
   version "10.11.0"
   resolved "https://registry.npmjs.org/@vueuse/core/-/core-10.11.0.tgz#b042585a8bf98bb29c177b33999bd0e3fcd9e65d"
   integrity sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==