<template>
|
<el-button type="info" plain icon="Upload" @click="handleImport">
|
导入
|
</el-button>
|
<el-dialog v-model="upload.open" :title="upload.title">
|
<FileUpload
|
ref="fileUploadRef"
|
accept=".xlsx, .xls"
|
:headers="upload.headers"
|
:action="upload.url + '?updateSupport=' + upload.updateSupport"
|
:disabled="upload.isUploading"
|
@success="handleFileSuccess"
|
/>
|
<template #footer>
|
<div class="dialog-footer">
|
<el-button type="primary" @click="submitFileForm">确 定</el-button>
|
<el-button @click="upload.open = false">取 消</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
</template>
|
|
<script setup>
|
import { reactive } from "vue";
|
import { getToken } from "@/utils/auth.js";
|
import { FileUpload } from "@/components/Upload";
|
import { ElMessage } from "element-plus";
|
|
defineOptions({
|
name: "产品维护导入",
|
});
|
|
const emits = defineEmits(["uploadSuccess"]);
|
const fileUploadRef = ref();
|
const upload = reactive({
|
// 是否显示弹出层(供应商导入)
|
open: false,
|
// 弹出层标题(供应商导入)
|
title: "",
|
// 是否禁用上传
|
isUploading: false,
|
// 设置上传的请求头部
|
headers: { Authorization: "Bearer " + getToken() },
|
// 上传的地址
|
url: import.meta.env.VITE_APP_BASE_API + "/system/supplier/import",
|
});
|
// 点击导入
|
const handleImport = () => {
|
upload.open = true;
|
upload.title = "产品导入";
|
};
|
|
const submitFileForm = () => {
|
fileUploadRef.value.uploadApi();
|
};
|
|
const handleFileSuccess = (response) => {
|
const { code, msg } = response;
|
if (code == 200) {
|
ElMessage({ message: "导入成功", type: "success" });
|
upload.open = false;
|
emits("uploadSuccess");
|
} else {
|
ElMessage({ message: msg, type: "error" });
|
}
|
};
|
</script>
|