form.vue 805 B

12345678910111213141516171819202122232425262728293031323334
  1. <template>
  2. <el-dialog :title="$t('file.uploadFile')" v-model="visible" :close-on-click-modal="false" draggable>
  3. <upload @change="success" :model-value="fileList" />
  4. <template #footer>
  5. <span class="dialog-footer">
  6. <el-button @click="visible = false">{{ $t('common.cancelButtonText') }}</el-button>
  7. </span>
  8. </template>
  9. </el-dialog>
  10. </template>
  11. <script setup lang="ts" name="SysFileDialog">
  12. const Upload = defineAsyncComponent(() => import('/@/components/Upload/index.vue'));
  13. const emit = defineEmits(['refresh']);
  14. // 定义变量内容
  15. const visible = ref(false);
  16. const fileList = ref([]);
  17. // 打开弹窗
  18. const openDialog = () => {
  19. fileList.value = [];
  20. visible.value = true;
  21. };
  22. const success = () => {
  23. emit('refresh');
  24. };
  25. // 暴露变量
  26. defineExpose({
  27. openDialog,
  28. });
  29. </script>