Commit 8763c83a authored by obt's avatar obt

多文件上传修复

parent 37612864
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2020-12-04 09:09:37 * @Date: 2020-12-04 09:09:37
* @LastEditTime: 2020-12-09 11:34:15 * @LastEditTime: 2020-12-09 13:53:34
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \rs-cloud-platform-ui\src\views\webSiteManagement\industryApplication\applicationList\addApp\index.vue * @FilePath: \rs-cloud-platform-ui\src\views\webSiteManagement\industryApplication\applicationList\addApp\index.vue
...@@ -78,8 +78,15 @@ ...@@ -78,8 +78,15 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="上传样例" prop="fileList"> <el-form-item label="上传样例" prop="fileList">
<el-upload class="upload-demo" action="#" :auto-upload="false" :on-preview="handlePreview" :on-remove="handleRemove" <el-upload class="upload-demo"
:before-remove="beforeRemove" multiple :limit="100" :on-exceed="handleExceed" :http-request="onUploadRequest" :file-list="form.fileList"> action="#"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:on-exceed="handleExceed"
:http-request="onUploadRequest"
:file-list="form.fileList">
<el-button size="small" type="primary">上传文件</el-button> <el-button size="small" type="primary">上传文件</el-button>
<!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> --> <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
</el-upload> </el-upload>
...@@ -98,12 +105,17 @@ ...@@ -98,12 +105,17 @@
<el-button @click="$parent.componentName='appList'">取消</el-button> <el-button @click="$parent.componentName='appList'">取消</el-button>
<el-button type="primary" @click="onSubmit">确定</el-button> <el-button type="primary" @click="onSubmit">确定</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<!-- 使用图片查看器预览当前缩略图 -->
<el-image-viewer v-if="currentIcon.showPreview" :on-close="closePreview" :url-list="[currentIcon.url]"/>
</div> </div>
</template> </template>
<script> <script>
// 导入组件
import ElImageViewer from "element-ui/packages/image/src/image-viewer";
import { uploadFile } from "@/api/website/newsCategory/index";
import singleImageX from '@/components/Upload/singleImageX'; import singleImageX from '@/components/Upload/singleImageX';
import KindEditor from "@/components/Kindeditor"; import KindEditor from "@/components/Kindeditor";
import { import {
...@@ -113,12 +125,12 @@ export default { ...@@ -113,12 +125,12 @@ export default {
name: 'addApp', name: 'addApp',
components: { components: {
singleImageX, singleImageX,
KindEditor KindEditor,
ElImageViewer
}, },
data(){ data(){
return { return {
rules:{ rules:{
//title coverImg detailImg industry region collectTime origin achievement resolvpower isSample isCustomized fileList introduction
title: [{ required: true, message: '请输入应用名称', trigger: 'blur' }], title: [{ required: true, message: '请输入应用名称', trigger: 'blur' }],
coverImg: [{ required: true, message: '请上传封面图', trigger: 'blur' }], coverImg: [{ required: true, message: '请上传封面图', trigger: 'blur' }],
detailImg: [{ required: true, message: '请上传详情图', trigger: 'blur' }], detailImg: [{ required: true, message: '请上传详情图', trigger: 'blur' }],
...@@ -147,6 +159,18 @@ export default { ...@@ -147,6 +159,18 @@ export default {
isCustomized: '是',// 是否定制 isCustomized: '是',// 是否定制
fileList: [],// 样例图片路径集合 fileList: [],// 样例图片路径集合
introduction: '', // 简介 introduction: '', // 简介
},
currentIcon: {
showPreview: false,
url: []
},
}
},
watch:{
"form.fileList":{
deep: true,
handler: function(newVal){
console.log("newVal=>",newVal)
} }
} }
}, },
...@@ -191,6 +215,10 @@ export default { ...@@ -191,6 +215,10 @@ export default {
this.$bus.$emit('hideThreeRoute',true) this.$bus.$emit('hideThreeRoute',true)
}, },
methods: { methods: {
// 关闭图片查看器
closePreview() {
this.currentIcon.showPreview = false;
},
onContentChange (val) { onContentChange (val) {
console.log(val) console.log(val)
}, },
...@@ -202,12 +230,53 @@ export default { ...@@ -202,12 +230,53 @@ export default {
this.$bus.$emit('hideThreeRoute',true) this.$bus.$emit('hideThreeRoute',true)
}, },
// 上传样例Begin // 上传样例Begin
handlePreview(file) { onUploadRequest(data) {
console.log("handlePreview=>",file); /**
* [{"filename":"文件名","size":"文件大小","url":"文件路径"}]
*/
console.log("uploadData=>",data)
let filename = data.file.name
let size = data.file.size
let fileObj = data.file;
//获取图片详情信息
let imgInfo = {};
let temp = URL.createObjectURL(fileObj)
let img = new Image();
img.src = temp;
img.onload = function () {
imgInfo.width = img.width;
imgInfo.height = img.height;
}
imgInfo.size = fileObj.size;
imgInfo.type = fileObj.type;
// FormData 对象
let form = new FormData();
// 文件对象
form.append("file", fileObj);
uploadFile(form).then(res => {
this.uploading = false;
if (res.status == 200) {
console.log("上传文件成功,获取到的文件路径为=>",res.data)
this.form.fileList.push({
name: filename,
size: size,
url: res.data
})
} else {
this.$message.error(res.message)
}
})
},
handlePreview(file,fileList) {
let obj = this.form.fileList.find(element => element.name == file.name)
let url = obj ? obj.url : ""
console.log("url=>",url)
this.currentIcon.showPreview = true
this.currentIcon.url = url
}, },
handleRemove(file, fileList) { handleRemove(file,fileList) {
console.log("handleRemove=>",file); let index = this.form.fileList.findIndex(ele => ele.name == file.name)
console.log("handleRemove=>",fileList); index != -1 && (this.form.fileList.splice(index,1))
}, },
beforeRemove(file, fileList) { beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }?`); return this.$confirm(`确定移除 ${ file.name }?`);
...@@ -215,9 +284,6 @@ export default { ...@@ -215,9 +284,6 @@ export default {
handleExceed(files, fileList) { handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
}, },
onUploadRequest(data) {
console.log("uploadData=>",data)
},
// 上传样例End // 上传样例End
onCoverPreview(url){ onCoverPreview(url){
this.form.coverImg = url this.form.coverImg = url
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment