<template> <!--导入文件对话框--> <el-dialog @close="close" v-dialogDrag style="font-size: 10px;" width='450px' v-if="importCabinetVisible" :title="$t('CabinetConfigurationManagement.dialogCabinetImport')" :visible.sync="importCabinetVisible"> <el-upload action="doUpload" :limit="1" :before-upload="beforeUpload"> <el-button slot="trigger" size="small" type="primary">{{$t('common.selectFileBtn')}}</el-button> <div slot="tip" class="el-upload__tip">{{$t('common.importMessage')}}</div> <div slot="tip" class="el-upload-list__item-name">{{fileName}}</div> </el-upload> <span slot="footer" class="dialog-footer"> <el-button size='mini' type="primary" @click="submitUpload()">{{$t('common.ok')}}</el-button> <el-button size='mini' @click="close">{{$t('common.cancel')}}</el-button> </span> </el-dialog> </template> <script> import ElButton from "../../../../node_modules/element-ui/packages/button/src/button.vue"; import CabinetService from '@/domain/services/CabinetService.js'; import HelperUtil from '@/utils/HelperUtil'; export default { components: {ElButton}, props: ['command'], data:function(){ return { importCabinetVisible: true, fileName: '', files: '', } }, methods: { close() { this.command.done() }, /** * @Description :导出文件之前执行 * @author : * @param : * @return : * @exception : * @date : */ beforeUpload(file) { this.files = file; const extension = file.name.split('.')[1] === 'xls' const extension2 = file.name.split('.')[1] === 'xlsx' const isLt2M = file.size / 1024 / 1024 < 5 if (!extension && !extension2) { //上传文件只能是 xls、xlsx格式! this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.UPLOADFILE_FORMAT_CODE)) return } if (!isLt2M) { //上传文件大小不能超过 5MB! this.InfoTip.warningTip(this, HelperUtil.getCheckStatusCodeObjectByCode(this.successCode.UPLOADFILE_SIZE_CODE)) return } this.fileName = file.name; return false // 返回false不会自动上传 }, /** * @Description :提交导出 * @author : * @param : * @return : * @exception : * @date : */ submitUpload: function () { let _this = this if (_this.fileName == "") { //请选择要上传的文件 _this.InfoTip.warningTip(_this, HelperUtil.getCheckStatusCodeObjectByCode(_this.successCode.CHOOSE_UPLOADFILE_CODE)) return false } let fileFormData = new FormData(); fileFormData.append('file', _this.files, _this.files.name); CabinetService.uploadCabinet(fileFormData).then(result => { //成功 _this.InfoTip.successTip(_this,HelperUtil.getStatusCodeObjectByCode(_this.successCode.OTHERS_CODE)); _this.close() }).catch(err => { _this.InfoTip.errorTip(_this, err) // _this.command.done() //失败 }) }, }, created() { }, } </script>