From 7c2cdcbc7f5585b96fba76a07b0e4417a09c4d7e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 02 六月 2026 11:06:10 +0800
Subject: [PATCH] 新疆马铃薯 1.过程检验下载添加3个模版
---
src/components/Upload/FileUpload.vue | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/src/components/Upload/FileUpload.vue b/src/components/Upload/FileUpload.vue
new file mode 100644
index 0000000..8658621
--- /dev/null
+++ b/src/components/Upload/FileUpload.vue
@@ -0,0 +1,100 @@
+<script setup>
+import { ref } from "vue";
+
+defineOptions({
+ name: "鏂囦欢涓婁紶缁勪欢",
+});
+
+const props = defineProps({
+ downloadTemplate: Function,
+ showTips: Boolean,
+ accept: {
+ type: String,
+ default: ".xls, .xlsx",
+ },
+ headers: Object,
+ action: String,
+ disabled: {
+ type: Boolean,
+ default: false,
+ },
+ showTip: {
+ type: Boolean,
+ default: true,
+ },
+ autoUpload: {
+ type: Boolean,
+ default: false,
+ },
+ limit: {
+ type: Number,
+ default: 1,
+ },
+});
+const emits = defineEmits(["success", "remove"]);
+
+const uploadRef = ref();
+const fileList = ref([]);
+
+const uploadApi = () => {
+ uploadRef.value.submit();
+};
+
+const handleFileSuccess = (response, file, fileList) => {
+ // uploadRef.value.handleRemove(file);
+ emits("success", response, file, fileList);
+};
+
+const handleRemove = (file) => {
+ emits("remove", file);
+};
+
+const clearFiles = () => {
+ fileList.value = [];
+};
+
+defineExpose({
+ fileList,
+ uploadApi,
+ clearFiles,
+});
+</script>
+
+<template>
+ <el-upload
+ ref="uploadRef"
+ v-model:file-list="fileList"
+ drag
+ multiple
+ :action="action"
+ :accept="accept"
+ :headers="headers"
+ :disabled="disabled"
+ :auto-upload="autoUpload"
+ :limit="limit"
+ :drag="true"
+ :on-success="handleFileSuccess"
+ :on-remove="handleRemove"
+ >
+ <div class="el-upload__text">
+ <el-icon class="el-icon--upload"><upload-filled /></el-icon>
+ <div class="el-upload__text">
+ 灏嗘枃浠舵嫋鍒版澶勶紝鎴�
+ <em>鐐瑰嚮涓婁紶闄勪欢</em>
+ </div>
+ </div>
+ <template #tip>
+ <div v-if="showTip" class="el-upload__tip text-center">
+ 鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M
+ <el-button
+ type="primary"
+ link
+ class="reset-margin"
+ @click="props.downloadTemplate()"
+ >
+ <span style="font-size: 12px; font-weight: normal">涓嬭浇妯℃澘</span>
+ </el-button>
+ </div>
+ </template>
+ </el-upload>
+</template>
--
Gitblit v1.9.3