importExcel.vue 778 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <template>
  2. <el-upload
  3. :action="url"
  4. :multiple="false"
  5. :on-success="handleSuccess"
  6. :show-file-list="false"
  7. >
  8. <el-button v-preReClick icon="upload" type="primary">导入</el-button>
  9. </el-upload>
  10. </template>
  11. <script setup>
  12. import { ElMessage } from 'element-plus'
  13. import { defineProps, defineEmits } from 'vue'
  14. const baseUrl = import.meta.env.VITE_BASE_API
  15. const props = defineProps({
  16. templateId: {
  17. type: String,
  18. required: true
  19. }
  20. })
  21. const emit = defineEmits(['on-success'])
  22. const url = `${baseUrl}/sysExportTemplate/importExcel?templateID=${props.templateId}`
  23. const handleSuccess = res => {
  24. if (res.code === 100000) {
  25. ElMessage.success('导入成功')
  26. emit('on-success')
  27. } else {
  28. ElMessage.error(res.msg)
  29. }
  30. }
  31. </script>