This commit is contained in:
zhutianqi
2021-09-06 11:03:33 +08:00
parent 552dac0787
commit 3d50aac0b6
5 changed files with 97 additions and 62 deletions
@@ -38,15 +38,17 @@
placeholder="请选择完成时间"> placeholder="请选择完成时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="modelName" class="add-form-item form-item-disabled"> <el-form-item label="调研模板" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
style="display: none;" style="display: none;"
v-model="form.modelName" v-model="form.modelNameList"
clearable clearable
></el-input> ></el-input>
<div v-if="form.modelName" @click="fileUpload" class="fileClass"> <div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
{{ form.modelName }} <div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px;">
{{ item.name }}
</div>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
@@ -169,6 +171,7 @@
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件"> <el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload <el-upload
multiple multiple
class="upload-demo"
drag drag
:action="fileUrl" :action="fileUrl"
ref="importfile" ref="importfile"
@@ -176,7 +179,8 @@
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:show-file-list="false" :on-remove="importFileRemove"
:show-file-list="true"
> >
<div style="padding: 20px 0"> <div style="padding: 20px 0">
<i class="el-icon-upload" style="color: #3399ff"></i> <i class="el-icon-upload" style="color: #3399ff"></i>
@@ -212,8 +216,8 @@
form: { form: {
title: '', // 调研标题 title: '', // 调研标题
date: '', // 完成时间 date: '', // 完成时间
model: '', // 上传模板 modelList: [],
modelName: '' modelNameList: ''
}, },
formRules: { formRules: {
title: [ title: [
@@ -222,7 +226,7 @@
date: [ date: [
{ type: 'date', required: true, message: '请选择完成时间', trigger: 'change' } { type: 'date', required: true, message: '请选择完成时间', trigger: 'change' }
], ],
modelName: [ modelNameList: [
{ required: true, message: '请上传调研结果', trigger: 'change' }, { required: true, message: '请上传调研结果', trigger: 'change' },
] ]
}, },
@@ -344,12 +348,34 @@
} }
return true return true
}, },
importFileRemove (file, fileList) {
let list = ''
this.form.modelList = []
fileList.forEach(item => {
this.form.modelList.push(item)
if (list.length > 0) {
list += ','
list += item.name
} else {
list+= item.name
}
})
this.form.modelNameList = list
},
// 导入标准数据成功后执行 // 导入标准数据成功后执行
importFileSuccess (response, file) { importFileSuccess (response, file) {
if (response.ok) { if (response.ok) {
this.fileMadel = false this.form.modelList.push(response.data)
this.form.model = response.data.id let list = ''
this.form.modelName = response.data.name this.form.modelList.forEach(item => {
if (list.length > 0) {
list += ','
list += item.name
} else {
list+= item.name
}
})
this.form.modelNameList = list
this.$message({ this.$message({
showClose: true, showClose: true,
message: response.message, message: response.message,
@@ -38,15 +38,17 @@
placeholder="请选择完成时间"> placeholder="请选择完成时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="modelName" class="add-form-item form-item-disabled"> <el-form-item label="调研模板" prop="modelNameList" class="add-form-item form-item-disabled">
<el-input <el-input
disabled disabled
style="display: none;" style="display: none;"
v-model="form.modelName" v-model="form.modelNameList"
clearable clearable
></el-input> ></el-input>
<div v-if="form.modelName" @click="fileUpload" class="fileClass"> <div v-if="form.modelList.length > 0" class="fileClass" style="display: flex;">
{{ form.modelName }} <div v-for="(item, index) in form.modelList" :key="index" @click="fileUpload" style="margin-right: 5px;">
{{ item.name }}
</div>
</div> </div>
<div v-else> <div v-else>
<el-button <el-button
@@ -56,11 +58,6 @@
size="mini"> size="mini">
点击上传 点击上传
</el-button> </el-button>
<!-- <el-button type="primary" @click="fileUpload">-->
<!-- <i class="el-icon-upload el-icon&#45;&#45;right"></i>-->
<!-- {{isFileUploadStr}}-->
<!-- </el-button>-->
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -174,6 +171,7 @@
></Role-tree> ></Role-tree>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件"> <el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
<el-upload <el-upload
multiple
class="upload-demo" class="upload-demo"
drag drag
:action="fileUrl" :action="fileUrl"
@@ -182,7 +180,7 @@
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx" accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx"
:before-upload="beginImportFile" :before-upload="beginImportFile"
:on-success="importFileSuccess" :on-success="importFileSuccess"
:on-progress="progressFile" :on-remove="importFileRemove"
:show-file-list="true" :show-file-list="true"
> >
<div style="padding: 20px 0"> <div style="padding: 20px 0">
@@ -190,7 +188,6 @@
<p>点击或拖拽上传文件</p> <p>点击或拖拽上传文件</p>
</div> </div>
</el-upload> </el-upload>
<!-- <el-progress style="width: 380px; margin-top: 5px;" v-show="progressType" :percentage="loadProgress"></el-progress>-->
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@@ -205,9 +202,6 @@ export default {
name: "bzdyStep1", name: "bzdyStep1",
data() { data() {
return { return {
// isFileUploadStr:'点击上传',
progressType: false,
loadProgress: 0,
commentText: '', commentText: '',
nodeList: [], nodeList: [],
nodeList2: [], nodeList2: [],
@@ -223,8 +217,8 @@ export default {
form: { form: {
title: '', // 调研标题 title: '', // 调研标题
date: '', // 完成时间 date: '', // 完成时间
model: '', // 上传模板 modelList: [],
modelName: '' modelNameList: ''
}, },
formRules: { formRules: {
title: [ title: [
@@ -233,7 +227,7 @@ export default {
date: [ date: [
{ type: 'date', required: true, message: '请选择完成时间', trigger: 'change' } { type: 'date', required: true, message: '请选择完成时间', trigger: 'change' }
], ],
modelName: [ modelNameList: [
{ required: true, message: '请上传调研结果', trigger: 'change' }, { required: true, message: '请上传调研结果', trigger: 'change' },
] ]
}, },
@@ -320,10 +314,6 @@ export default {
this.drawerTitle = title this.drawerTitle = title
this.modalshowflag = true this.modalshowflag = true
}, },
progressFile (event, file, fileList) {
let loadProgress = Math.floor(event.percent)
this.loadProgress = loadProgress
},
// 导入按钮 上传之前的钩子 // 导入按钮 上传之前的钩子
beginImportFile (file) { beginImportFile (file) {
var filename = file.name var filename = file.name
@@ -332,13 +322,11 @@ export default {
var fileSuffix = filename.substring(index1, index2) var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名 // const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式 // 判断上传文件格式
this.progressType = true
if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') { if (fileSuffix === '.ppt' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.PPT' || fileSuffix === '.xls' || fileSuffix === '.xlsx') {
return true return true
} else { } else {
this.spinShow = false this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件') this.$message.error('文件' + file.name + '格式不正确,请上传PPT,DOCX,XLS文件')
this.progressType = false
return false return false
} }
// 判断文件上传大小 // 判断文件上传大小
@@ -347,20 +335,38 @@ export default {
return true return true
} else { } else {
this.$message.error('文件' + file.name + '大小不超过200M') this.$message.error('文件' + file.name + '大小不超过200M')
this.progressType = false
return false return false
} }
return true return true
}, },
importFileRemove (file, fileList) {
let list = ''
this.form.modelList = []
fileList.forEach(item => {
this.form.modelList.push(item)
if (list.length > 0) {
list += ','
list += item.name
} else {
list+= item.name
}
})
this.form.modelNameList = list
},
// 导入标准数据成功后执行 // 导入标准数据成功后执行
importFileSuccess (response, file) { importFileSuccess (response, file) {
if (response.ok) { if (response.ok) {
// this.isFileUploadStr='点击查看已上传文件'; this.form.modelList.push(response.data)
this.fileMadel = false; let list = ''
this.loadProgress = 0 this.form.modelList.forEach(item => {
this.progressType = false if (list.length > 0) {
this.form.model = response.data.id list += ','
this.form.modelName = response.data.name list += item.name
} else {
list+= item.name
}
})
this.form.modelNameList = list
this.$message({ this.$message({
showClose: true, showClose: true,
message: response.message, message: response.message,
@@ -41,8 +41,10 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled"> <el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.model" class="fileClass" @click="updateFile"> <div v-if="form.modelList.length > 0" style="display: flex;">
{{ form.modelName }} <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
{{ item.name }}
</div>
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -178,7 +180,7 @@
form: { form: {
title: '', // 调研标题 title: '', // 调研标题
date: '', // 完成时间 date: '', // 完成时间
model: '', // 上传模板 modelList: [],
responUserList: '', responUserList: '',
responUserListName: '', responUserListName: '',
}, },
@@ -203,8 +205,8 @@
this.histortData = res this.histortData = res
}, e => {}) }, e => {})
}, },
updateFile () { updateFile (item) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
}, },
checkedRole2 (data) { checkedRole2 (data) {
var idList = '' var idList = ''
@@ -276,11 +278,12 @@
pId: this.pId pId: this.pId
}).then(res => { }).then(res => {
let data = JSON.parse(res.mesg) let data = JSON.parse(res.mesg)
this.form.modelList = data.modelList || data.form.modelList
this.form.title = data.title || data.form.title this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date this.form.date = data.date || data.form.date
this.json = data || data.form this.json = data || data.form
this.form.model = data.model || data.form.model // this.form.model = data.model || data.form.model
this.form.modelName = data.modelName || data.form.modelName // this.form.modelName = data.modelName || data.form.modelName
this.form.responUserList = data.form.responUserList this.form.responUserList = data.form.responUserList
this.form.responUserListName = data.form.responUserListName this.form.responUserListName = data.form.responUserListName
}).catch(e => { }).catch(e => {
@@ -41,8 +41,10 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled"> <el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.model" class="fileClass" @click="updateFile"> <div v-if="form.modelList.length > 0" style="display: flex;">
{{ form.modelName }} <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item)">
{{ item.name }}
</div>
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -197,8 +199,7 @@
form: { form: {
title: '', // 调研标题 title: '', // 调研标题
date: '', // 完成时间 date: '', // 完成时间
model: '', // 上传模板 modelList: [],
modelName: '',
fileId: '', fileId: '',
fileName: '', fileName: '',
responUserList: '', responUserList: '',
@@ -227,8 +228,8 @@
this.histortData = res this.histortData = res
}, e => {}) }, e => {})
}, },
updateFile () { updateFile (item) {
window.location.href = '/api/att/attFile/downloadFile?fileId=' + this.form.model window.location.href = '/api/att/attFile/downloadFile?fileId=' + item.id
}, },
// 导入按钮 上传之前的钩子 // 导入按钮 上传之前的钩子
beginImportFile (file) { beginImportFile (file) {
@@ -323,8 +324,7 @@
this.form.title = data.title || data.form.title this.form.title = data.title || data.form.title
this.form.date = data.date || data.form.date this.form.date = data.date || data.form.date
this.json = data || data.form this.json = data || data.form
this.form.model = data.model || data.form.model this.form.modelList = data.modelList || data.form.modelList
this.form.modelName = data.modelName || data.form.modelName
this.form.responUserList = data.form.responUserList this.form.responUserList = data.form.responUserList
this.form.responUserListName = data.form.responUserListName this.form.responUserListName = data.form.responUserListName
this.form.fileName = data.form.fileName || data.fileName || '' this.form.fileName = data.form.fileName || data.fileName || ''
@@ -41,8 +41,10 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled"> <el-form-item label="调研模板" prop="model" class="add-form-item form-item-disabled">
<div v-if="form.model" class="fileClass" @click="updateFile(form.model)"> <div v-if="form.modelList.length > 0" style="display: flex;">
{{ form.modelName }} <div v-for="(item, index) in form.modelList" class="fileClass" :key="index" style="margin-right: 5px;" @click="updateFile(item.id)">
{{ item.name }}
</div>
</div> </div>
<div v-else> <div v-else>
- - - -
@@ -169,8 +171,7 @@
form: { form: {
title: '', // 调研标题 title: '', // 调研标题
date: '', // 完成时间 date: '', // 完成时间
model: '', // 上传模板 modelList: [],
modelName: '',
fileId: '', fileId: '',
fileName: '', fileName: '',
responUserList: '', responUserList: '',
@@ -257,8 +258,7 @@
this.json = data || data.form this.json = data || data.form
this.form.file = data.fileId || data.form.fileId this.form.file = data.fileId || data.form.fileId
this.form.fileName = data.fileName || data.form.fileName this.form.fileName = data.fileName || data.form.fileName
this.form.model = data.model || data.form.model this.form.modelList = data.modelList || data.form.modelList
this.form.modelName = data.modelName || data.form.modelName
}).catch(e => { }).catch(e => {
}) })
}) })