上传文件组件,增加修改名称功能
This commit is contained in:
@@ -53,7 +53,7 @@
|
|||||||
multiple
|
multiple
|
||||||
drag
|
drag
|
||||||
|
|
||||||
:show-file-list="showUploadlist"
|
:show-file-list="!showModifyName && showUploadlist"
|
||||||
:on-success="uploadSuccess"
|
:on-success="uploadSuccess"
|
||||||
:before-upload="beforeUpload"
|
:before-upload="beforeUpload"
|
||||||
:on-remove="removeOneFile"
|
:on-remove="removeOneFile"
|
||||||
@@ -68,6 +68,43 @@
|
|||||||
<i :class="iconClass"></i>
|
<i :class="iconClass"></i>
|
||||||
<div class="el-upload__text">{{ tips }}</div>
|
<div class="el-upload__text">{{ tips }}</div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
|
<ul class="el-upload-list el-upload-list--text" v-if="showModifyName">
|
||||||
|
<li class="el-upload-list__item is-success"
|
||||||
|
v-for="(file, index) in showFileList"
|
||||||
|
:key="index"
|
||||||
|
:title="file.name"
|
||||||
|
@click="handlePreview(file)">
|
||||||
|
<a class="el-upload-list__item-name">
|
||||||
|
<i class="el-icon-document"></i>
|
||||||
|
{{ file.name }}
|
||||||
|
</a>
|
||||||
|
<label class="el-upload-list__item-status-label">
|
||||||
|
<i class="el-icon-upload-success el-icon-circle-check"></i>
|
||||||
|
</label>
|
||||||
|
<i class="el-icon-edit" @click.stop="handleModifyName(file)"></i>
|
||||||
|
<i class="el-icon-close" @click.stop="handleRemoveFile(file)"></i>
|
||||||
|
</li>
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
@click="clickButtonToUpload('opinionFileList')"
|
||||||
|
icon="el-icon-upload"
|
||||||
|
class="form-upload-btn"
|
||||||
|
v-if="reUpload || showUploadBtn">{{ uploadText || '重新上传' }}</el-button>
|
||||||
|
</ul>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog title="修改文件名称"
|
||||||
|
:visible.sync="openModifyFileNameDialog"
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
|
<el-form-item>
|
||||||
|
<el-input v-model="modifyFile.fileName"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<div class="demo-drawer-footer" style="text-align: right;">
|
||||||
|
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" :loading="modifyFileNameLoading"
|
||||||
|
@click="handleModifyNameSubmite">提交</el-button>
|
||||||
|
<el-button class="common-button-default" size="mini" icon="el-icon-close"
|
||||||
|
@click="openModifyFileNameDialog = false">取消</el-button>
|
||||||
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -87,7 +124,13 @@ export default {
|
|||||||
uploadPath: 'api/att/attFile/uploadNew',
|
uploadPath: 'api/att/attFile/uploadNew',
|
||||||
defaultFileList: [], // 默认显示
|
defaultFileList: [], // 默认显示
|
||||||
showFileList: [],
|
showFileList: [],
|
||||||
importModalshowflagtemp: false
|
importModalshowflagtemp: false,
|
||||||
|
modifyFile: {
|
||||||
|
fileName: '',
|
||||||
|
fileId: ''
|
||||||
|
},
|
||||||
|
openModifyFileNameDialog: false,
|
||||||
|
modifyFileNameLoading: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -150,6 +193,10 @@ export default {
|
|||||||
},
|
},
|
||||||
showUploadBtn: {
|
showUploadBtn: {
|
||||||
type: Boolean
|
type: Boolean
|
||||||
|
},
|
||||||
|
showModifyName: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -204,6 +251,32 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleRemoveFile(file){
|
||||||
|
console.log('file = ', file)
|
||||||
|
const index = this.$refs.importFileAboutStand.uploadFiles.findIndex(e => e.response.data.id === file.response.data.id);
|
||||||
|
console.log('index = ', index)
|
||||||
|
this.$refs.importFileAboutStand.uploadFiles.splice(index, 1);
|
||||||
|
this.showFileList.splice(index, 1)
|
||||||
|
},
|
||||||
|
handleModifyName(file) {
|
||||||
|
this.modifyFile.fileName = file.name
|
||||||
|
this.modifyFile.fileId = file.response.data.id
|
||||||
|
this.openModifyFileNameDialog = true
|
||||||
|
},
|
||||||
|
handleModifyNameSubmite(){
|
||||||
|
this.modifyFileNameLoading = true
|
||||||
|
this.$http.get('att/attFile/updateFileName', this.modifyFile, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
if(res.ok){
|
||||||
|
this.modifyFileNameLoading = false
|
||||||
|
this.openModifyFileNameDialog = false
|
||||||
|
// TODO 查修改成功后 回显新的 名称
|
||||||
|
}
|
||||||
|
}, e => {
|
||||||
|
this.modifyFileNameLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
handleExceed(files, fileList) {
|
handleExceed(files, fileList) {
|
||||||
if (this.exceed) {
|
if (this.exceed) {
|
||||||
this.$message.warning(this.exceed)
|
this.$message.warning(this.exceed)
|
||||||
@@ -491,4 +564,12 @@ export default {
|
|||||||
color: rgba(64, 158, 255, 1);
|
color: rgba(64, 158, 255, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.el-upload-list__item .el-icon-edit{
|
||||||
|
position: absolute;
|
||||||
|
top: 5px;
|
||||||
|
right: 25px;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: .75;
|
||||||
|
color: #606266;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -749,6 +749,7 @@
|
|||||||
:config="field"
|
:config="field"
|
||||||
v-model="sarStandardsInfoEO[field.attrField]"
|
v-model="sarStandardsInfoEO[field.attrField]"
|
||||||
:disabled="formdisableflag"
|
:disabled="formdisableflag"
|
||||||
|
:show-modify-name="true"
|
||||||
@fileSuccess="fileSuccess"
|
@fileSuccess="fileSuccess"
|
||||||
></custom-file>
|
></custom-file>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user