<el-form ref="organizationData" :rules="rules" :model="organizationData">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="选择文件" :label-width="formLabelWidth">
<el-upload
action=""
class="upload-demo"
:multiple="false"
:limit="1"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-change="handleChangeLi"
:auto-upload="false"
:file-list="fileListAdd"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
export default {
name: 'WarehouseInformation',
components: { Pagination },
data() {
return {
organizationData: {
spaceType: '1', // 存放空间
fileSpaceId: '', // 存放路径
// processNo: '', // 所属工序
// bin: '', // 所属bin
customerNo: '', // 客户来源
fileUnzipPath: '' // 解压路径
},
rules: {
spaceType: [{ required: true, message: '存放空间不能为空!', trigger: 'change' }],
fileSpaceId: [{ required: true, message: '存储路径不能为空!', trigger: 'change' }],
// processNo: [{ required: true, message: '所属工序不能为空!', trigger: 'change' }],
// bin: [{ required: true, message: '所属BIN级不能为空!', trigger: 'blur' }],
customerNo: [{ required: true, message: '来源客户不能为空!', trigger: 'change' }],
fileUnzipPath: [{ required: true, message: '解压路径不能为空!', trigger: 'blur' }]
},
formLabelWidth: '120px', // 弹出框form表单宽度展示
readonly: false,
fileOptions: [],
fileListAdd: [], // 上传文件列表
isDisable: false // 第三方变量进行防重
}
},
methods: {
/**
* 创建接口
*/
createData() {
const _this = this
this.$refs['organizationData'].validate((valid) => {
if (valid) {
if (this.fileListAdd.length <= 0) {
this.$message({
type: 'info',
message: '文件必须上传'
})
return false
}
if (this.isDisable) {
this.$message({
type: 'warning',
message: '接口在请求中,请勿重复点击!'
})
return false
}
this.isDisable = true
const formData = new FormData()
for (const key in this.organizationData) {
formData.append(key, this.organizationData[key])
}
this.fileListAdd.map(item => {
formData.append('file', item.raw)
})
fileInfoAdd(formData).then((res) => {
if (res.code === '0') {
this.isDisable = false
if (res.data.code === '3001') {
_this.$confirm('此文件名重复,若点击【确定】则新版本会覆盖并删除原版本,点击取消则关闭退出', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const formDataNew = new FormData()
for (const key in _this.organizationData) {
formDataNew.append(key, _this.organizationData[key])
}
_this.fileListAdd.map(item => {
formDataNew.append('file', item.raw)
})
formDataNew.append('override', true)
fileInfoAdd(formDataNew).then((res) => {
if (res.code === '0') {
_this.dialogFormVisible = false
_this.$message({
type: 'success',
message: '创建成功'
})
_this.pageNum = 1
_this.pageSize = 10
_this.getList()
} else {
_this.$message({
type: 'error',
message: res.message
})
}
})
// 删除到回收站的接口
fileInfoMvToRecycler({ id: res.data.id }).then((res) => {
if (res.code === '0') {
console.log((res))
} else {
this.$message({
type: 'error',
message: res.message
})
}
})
}).catch(() => { // 取消
this.$message({
type: 'info',
message: '已取消删除'
})
})
} else {
this.dialogFormVisible = false
this.$message({
type: 'success',
message: '创建成功'
})
this.pageNum = 1
this.pageSize = 10
this.getList()
}
} else {
this.isDisable = false
this.$message({
type: 'error',
message: res.message
})
}
})
}
})
},
/**
* 文件上传删除
*/
handleRemove(file, fileList) { // 上传附件大小
console.log(file)
console.log(fileList)
},
/**
* 文件发生改变时
*/
handleChangeLi(file, fileList) {
console.log(file)
console.log(fileList)
this.fileListAdd = fileList
},
handlePictureCardPreview(file) {
console.log(file)
}
}
}