|
@@ -43,12 +43,34 @@
|
|
<el-input v-model="form.source_url" autocomplete="off" placeholder="请输入来源链接"></el-input>
|
|
<el-input v-model="form.source_url" autocomplete="off" placeholder="请输入来源链接"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<div>
|
|
<div>
|
|
- <el-form-item label="缩略图:" class="custom-align-right" prop="">
|
|
|
|
- <div class="uploaderBox" @mouseenter="hovering = true" mouseleave="hovering = false">
|
|
|
|
- <el-upload class="avatar-uploader" action="#" :show-file-list="false"
|
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
|
|
|
+ <el-form-item label="缩略图:" class="custom-align-right" prop="imgurl">
|
|
|
|
+ <div class="uploaderBox">
|
|
|
|
+ <span v-if="imgurl.length > 0" class="uploaded-images">
|
|
|
|
+ <div v-for="(url, index) in imgurl" :key="index"
|
|
|
|
+ style="display: inline;float: left; width: 150px; height:140px;">
|
|
|
|
+ <img :src="url" class="avatar" style="float: left; margin-right: 10px;">
|
|
|
|
+ <div style="position: relative;
|
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
|
+ right: -120px;
|
|
|
|
+ top: -20px;
|
|
|
|
+ background-color: rgba(0, 0, 0, 0.5);
|
|
|
|
+ color: white;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ width: 24px;
|
|
|
|
+ height: 24px;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ z-index: 10;" @click="deleteImage(index)">
|
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </span>
|
|
|
|
+ <el-upload v-if="imgurl.length < 5" class="avatar-uploader" action="#" :show-file-list="true"
|
|
|
|
+ :before-upload="beforeAvatarUpload" >
|
|
<!-- 预览图片 -->
|
|
<!-- 预览图片 -->
|
|
- <img v-if="imgUrl" :src="imgUrl" class="avatar">
|
|
|
|
|
|
+ <img v-if="imgurl.length > 5" :src="imgUrl" class="avatar">
|
|
<div v-else class="chooseImgDiv">
|
|
<div v-else class="chooseImgDiv">
|
|
<div>
|
|
<div>
|
|
<img src="@/assets/public/upload/noImage.png">
|
|
<img src="@/assets/public/upload/noImage.png">
|
|
@@ -56,13 +78,16 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-upload>
|
|
</el-upload>
|
|
- <input type="hidden" v-model="form.imgurl">
|
|
|
|
- <span class="photo_tips">推荐图片长宽比例为 16:9,大小不能超过 500 K。</span>
|
|
|
|
<div v-if="hovering && imgUrl" class="delete-button" @click="handleDelete">
|
|
<div v-if="hovering && imgUrl" class="delete-button" @click="handleDelete">
|
|
<i class="el-icon-delete"></i>
|
|
<i class="el-icon-delete"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <p class="photo_tips" style="margin-left: 140px;"> 最多可上传5张,每张图片大小不能超过500K,推荐上传图片尺寸
|
|
|
|
+
|
|
|
|
+ 宽1000像素 高1000像素。(首张显示为项目头图)
|
|
|
|
+ </p>
|
|
<el-form-item label="内容简介:" prop="description" class="custom-align-right">
|
|
<el-form-item label="内容简介:" prop="description" class="custom-align-right">
|
|
<el-input v-model="form.description" autocomplete="off" placeholder="请输入内容简介" type="textarea" :rows="3"></el-input>
|
|
<el-input v-model="form.description" autocomplete="off" placeholder="请输入内容简介" type="textarea" :rows="3"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -175,13 +200,6 @@
|
|
<el-form-item label="企业内容:" prop="content" class="custom-align-right">
|
|
<el-form-item label="企业内容:" prop="content" class="custom-align-right">
|
|
<myEditor ref="myEditor" v-model="form.content"></myEditor>
|
|
<myEditor ref="myEditor" v-model="form.content"></myEditor>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="" prop="commend_id" class="custom-align-right">
|
|
|
|
- <draggable v-model="form.commend_id" @end="onDragEnd">
|
|
|
|
- <el-tag :key="item.id" v-for="item in form.commend_id" closable :disable-transitions="false"
|
|
|
|
- @close="handleClose(item)"> {{ item }}
|
|
|
|
- </el-tag>
|
|
|
|
- </draggable>
|
|
|
|
- </el-form-item>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -283,7 +301,7 @@ export default {
|
|
author: "",//作者
|
|
author: "",//作者
|
|
source: "",//来源名称
|
|
source: "",//来源名称
|
|
source_url: "",//来源地址
|
|
source_url: "",//来源地址
|
|
- imgurl: "",//缩略图
|
|
|
|
|
|
+ imgurl: [],//缩略图
|
|
introduce: "",//描述
|
|
introduce: "",//描述
|
|
keyword: "",//关键词
|
|
keyword: "",//关键词
|
|
description: "",//简介
|
|
description: "",//简介
|
|
@@ -330,10 +348,13 @@ export default {
|
|
city_arr_id: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
city_arr_id: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
//内容不能为空
|
|
//内容不能为空
|
|
content: [{ required: true, trigger: 'blur', validator: validateEmpty }],
|
|
content: [{ required: true, trigger: 'blur', validator: validateEmpty }],
|
|
|
|
+ //企业性质
|
|
|
|
+ imgurl: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
},
|
|
},
|
|
|
|
|
|
//1.4图片上传
|
|
//1.4图片上传
|
|
- imgUrl: "",//在页面上显示缩略图
|
|
|
|
|
|
+ imgUrl: [],//在页面上显示缩略图
|
|
|
|
+ imgurl:[],
|
|
//获取父级导航池
|
|
//获取父级导航池
|
|
parentKey: 0,//获取父级导航
|
|
parentKey: 0,//获取父级导航
|
|
parentData: {
|
|
parentData: {
|
|
@@ -452,24 +473,32 @@ export default {
|
|
this.$message.error('上传缩略图大小不能超过 2MB!');
|
|
this.$message.error('上传缩略图大小不能超过 2MB!');
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ // ---------------多图上传---处理
|
|
|
|
+ if (this.imgurl.length > 4) {
|
|
|
|
+ this.$message.warning('只能上传5张图片');
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ // ---------------多图上传---处理
|
|
const formData = new FormData();
|
|
const formData = new FormData();
|
|
formData.append('file', file);
|
|
formData.append('file', file);
|
|
|
|
|
|
this.$store.dispatch('pool/uploadFile', formData).then(res => {
|
|
this.$store.dispatch('pool/uploadFile', formData).then(res => {
|
|
- this.imgUrl = res.data.imgUrl;//显示缩略图
|
|
|
|
- this.form.imgurl = res.data.imgUrl;//提供表单地址
|
|
|
|
- console.log(res.data.imgUrl)
|
|
|
|
- }).catch(() => {
|
|
|
|
- this.$message({
|
|
|
|
- type: 'info',
|
|
|
|
- message: '网络错误,请重试!'
|
|
|
|
- });
|
|
|
|
|
|
+ // ---------------多图上传---处理
|
|
|
|
+ this.imgurl.push(res.data.imgUrl);//显示缩略图
|
|
|
|
+ this.form.imgurl.push(res.data.imgUrl);//提供表单地址
|
|
|
|
+ console.log(res.data.imgUrl, '00000')
|
|
|
|
+ // this.imgUrl = res.data.imgUrl;//显示缩略图
|
|
|
|
+ // this.form.imgurl = res.data.imgUrl;//提供表单地址
|
|
|
|
+ // console.log(res.data.imgUrl)
|
|
|
|
+ // ---------------多图上传---处理
|
|
})
|
|
})
|
|
|
|
|
|
// 阻止默认的上传行为
|
|
// 阻止默认的上传行为
|
|
return false;
|
|
return false;
|
|
},
|
|
},
|
|
|
|
+ deleteImage(index) { // 删除图片
|
|
|
|
+ this.imgurl.splice(index, 1);
|
|
|
|
+ },
|
|
//1.2 提交表单
|
|
//1.2 提交表单
|
|
addToServe() {
|
|
addToServe() {
|
|
|
|
|
|
@@ -526,11 +555,11 @@ export default {
|
|
const formData = { ...this.form };
|
|
const formData = { ...this.form };
|
|
formData.city_arr_id = Array.isArray(this.form.city_arr_id) ? JSON.stringify(this.form.city_arr_id): this.form.city_arr_id ;
|
|
formData.city_arr_id = Array.isArray(this.form.city_arr_id) ? JSON.stringify(this.form.city_arr_id): this.form.city_arr_id ;
|
|
console.log("formData==", typeof(this.form.city_arr_id));
|
|
console.log("formData==", typeof(this.form.city_arr_id));
|
|
-
|
|
|
|
|
|
+ formData.imgurl = Array.isArray(this.form.imgurl) ? JSON.stringify(this.form.imgurl): this.form.imgurl ;
|
|
|
|
+ this.form.cat_arr_id = Array.isArray(this.form.cat_arr_id) ? JSON.stringify(this.form.cat_arr_id): this.form.cat_arr_id ;
|
|
delete formData.commend_id;
|
|
delete formData.commend_id;
|
|
delete formData.nav_add_pool_id;
|
|
delete formData.nav_add_pool_id;
|
|
delete formData.user_type;
|
|
delete formData.user_type;
|
|
- console.log("formData==格式化后的日期", formData);
|
|
|
|
// delete formData.data;
|
|
// delete formData.data;
|
|
this.$store.dispatch('company/addCompany', formData).then(res => {
|
|
this.$store.dispatch('company/addCompany', formData).then(res => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
@@ -579,7 +608,7 @@ export default {
|
|
this.form.author = "";
|
|
this.form.author = "";
|
|
this.form.source = "";
|
|
this.form.source = "";
|
|
this.form.source_url = "";
|
|
this.form.source_url = "";
|
|
- this.form.imgurl = "";
|
|
|
|
|
|
+ this.form.imgurl = [];
|
|
this.form.introduce = "";
|
|
this.form.introduce = "";
|
|
this.form.keyword = "";
|
|
this.form.keyword = "";
|
|
this.form.description = "";
|
|
this.form.description = "";
|
|
@@ -618,8 +647,8 @@ export default {
|
|
//1.5 删除图片
|
|
//1.5 删除图片
|
|
handleDelete() {
|
|
handleDelete() {
|
|
// 删除图片
|
|
// 删除图片
|
|
- this.imgUrl = ''; // 清空图片 URL
|
|
|
|
- this.form.imgurl = ''; // 清空表单中的图片 URL
|
|
|
|
|
|
+ this.imgUrl = []; // 清空图片 URL
|
|
|
|
+ this.form.imgurl = []; // 清空表单中的图片 URL
|
|
},
|
|
},
|
|
//提交表单 end ------------------------------------------------------------>
|
|
//提交表单 end ------------------------------------------------------------>
|
|
|
|
|
|
@@ -652,7 +681,8 @@ export default {
|
|
}
|
|
}
|
|
this.created_at = res.data.created_at;
|
|
this.created_at = res.data.created_at;
|
|
this.form.cat_arr_id = Array.isArray(res.data.cat_arr_id) ? res.data.cat_arr_id : JSON.parse(res.data.cat_arr_id);
|
|
this.form.cat_arr_id = Array.isArray(res.data.cat_arr_id) ? res.data.cat_arr_id : JSON.parse(res.data.cat_arr_id);
|
|
- console.log(this.form.cat_arr_id)
|
|
|
|
|
|
+ this.form.imgurl = Array.isArray(res.data.imgurl) ? res.data.imgurl : JSON.parse(res.data.imgurl);
|
|
|
|
+ console.log("回显图片",this.form.imgurl)
|
|
//回显导航池 连同非管理员得一起刷新
|
|
//回显导航池 连同非管理员得一起刷新
|
|
this.parentKey += 1; // 触发级联选择器重新加载
|
|
this.parentKey += 1; // 触发级联选择器重新加载
|
|
this.loadCascaderPath(this.form.cat_arr_id); // 加载路径数据
|
|
this.loadCascaderPath(this.form.cat_arr_id); // 加载路径数据
|
|
@@ -662,8 +692,8 @@ export default {
|
|
this.form.city_arr_id = JSON.parse(res.data.city_arr_id);
|
|
this.form.city_arr_id = JSON.parse(res.data.city_arr_id);
|
|
|
|
|
|
//回显其他数据
|
|
//回显其他数据
|
|
- this.form.imgurl = res.data.imgurl;
|
|
|
|
- this.imgUrl = res.data.imgurl;
|
|
|
|
|
|
+ // this.form.imgurl = res.data.imgurl;
|
|
|
|
+ this.imgurl = Array.isArray(res.data.imgurl) ? res.data.imgurl : JSON.parse(res.data.imgurl);
|
|
this.form.keyword = res.data.keyword;
|
|
this.form.keyword = res.data.keyword;
|
|
this.tags = res.data.keyword ? res.data.keyword.split(",") : '';
|
|
this.tags = res.data.keyword ? res.data.keyword.split(",") : '';
|
|
this.form.description = res.data.description;
|
|
this.form.description = res.data.description;
|
|
@@ -778,7 +808,7 @@ export default {
|
|
const formData = { ...this.form };
|
|
const formData = { ...this.form };
|
|
// console.log("this.form222==", this.form);
|
|
// console.log("this.form222==", this.form);
|
|
formData.city_arr_id = Array.isArray(this.form.city_arr_id) ? JSON.stringify(this.form.city_arr_id): this.form.city_arr_id ;
|
|
formData.city_arr_id = Array.isArray(this.form.city_arr_id) ? JSON.stringify(this.form.city_arr_id): this.form.city_arr_id ;
|
|
-
|
|
|
|
|
|
+ formData.imgurl = Array.isArray(this.form.imgurl) ? JSON.stringify(this.form.imgurl): this.form.imgurl ;
|
|
delete formData.commend_id;
|
|
delete formData.commend_id;
|
|
delete formData.nav_add_pool_id;
|
|
delete formData.nav_add_pool_id;
|
|
delete formData.user_type;
|
|
delete formData.user_type;
|