|
@@ -2,7 +2,8 @@
|
|
|
<div class="mainBox">
|
|
|
<!--搜索功能 start------------------------------------------------------------>
|
|
|
<div class="layerBox_search">
|
|
|
- <el-row>
|
|
|
+ <div class="layerBoxLine">
|
|
|
+ <el-row>
|
|
|
<el-col :span="8">
|
|
|
<div class="searchBox">
|
|
|
<div class="searchTitle">网站名称:</div>
|
|
@@ -22,6 +23,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="layerBoxNoBg">
|
|
|
<div>
|
|
@@ -42,7 +44,15 @@
|
|
|
<el-table-column fixed prop="id" label="编号" width="50"></el-table-column>
|
|
|
<el-table-column prop="website_name" label="网站名称"></el-table-column>
|
|
|
<el-table-column prop="column_name" label="上级网系"></el-table-column>
|
|
|
- <el-table-column prop="website_url" label="网站地址"></el-table-column>
|
|
|
+ <el-table-column label="网站地址">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <div v-for="(url, index) in scope.row.website_url" :key="index">
|
|
|
+ {{ url }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="city_name" label="网站城市"></el-table-column>
|
|
|
<el-table-column prop="created_at" label="创建时间"></el-table-column>
|
|
|
<el-table-column prop="updated_at" label="修改时间"></el-table-column>
|
|
@@ -72,7 +82,7 @@
|
|
|
<!--弹出框1:外部表单弹出框 start------------------------------------------------------------>
|
|
|
<el-dialog title="添加网站" :visible.sync="windowStatus">
|
|
|
<!--弹出框2:内部模板弹出框 start------------------------------------------------------------>
|
|
|
- <el-dialog width="32%" title="皮肤库" :visible.sync="innerVisible" append-to-body>
|
|
|
+ <el-dialog width="39%" title="皮肤库" :visible.sync="innerVisible" append-to-body>
|
|
|
<div class="templateListBox">
|
|
|
<div v-for="item in TemplateList" class="templateList" @click="useThatTemplate(item.id,item.template_name,item.template_img)">
|
|
|
<img :src="item.template_img" class="templateImg">
|
|
@@ -128,7 +138,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="上级网系:" :label-width="formLabelWidth" prop="website_column_arr_id" class="custom-align-right">
|
|
|
- <el-cascader v-model="form.website_column_arr_id" :props="{checkStrictly:true}" :options="website_column_arr" @change="AppointWebsiteColumn"></el-cascader>
|
|
|
+ <el-cascader v-model="form.website_column_arr_id" :props="{checkStrictly:true}" :options="website_column_arr"></el-cascader>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="城市:" :label-width="formLabelWidth" class="custom-align-right">
|
|
|
<CityCascader v-model="form.city_arr_id" @update-city-id="updateFormCityId"></CityCascader>
|
|
@@ -157,7 +167,6 @@
|
|
|
<div>选择图片</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</el-upload>
|
|
|
<!-- 删除按钮,当鼠标悬浮时显示 -->
|
|
|
<div v-if="hovering && logoUrl" class="delete-button" @click="handleDelete">
|
|
@@ -202,8 +211,13 @@
|
|
|
<div class="webSiteTemplate" @click="getTemplateList">
|
|
|
<div class="webSiteTitle">模板:</div>
|
|
|
<div class="webSiteTemplateImg">
|
|
|
- <img v-if="TemplateImg" :src="TemplateImg" alt="Selected Template Image" class="selectWebSiteTemplateImg">
|
|
|
- <img v-else src="@/assets/public/upload/noImage.png" alt="No Image">
|
|
|
+ <div>
|
|
|
+ <img v-if="TemplateImg" :src="TemplateImg" class="selectWebSiteTemplateImg">
|
|
|
+ <div v-else>
|
|
|
+ <img src="@/assets/public/upload/noImage.png">
|
|
|
+ <div class="webSiteTemplateText">皮肤库</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -260,7 +274,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
let self = this;
|
|
|
- //0.全局操作 end ------------------------------------------------------------>
|
|
|
+ //0.全局操�� end ------------------------------------------------------------>
|
|
|
return {
|
|
|
//1.列表和分页相关 start ------------------------------------------------------------>
|
|
|
tableDivTitle:"网站列表",
|
|
@@ -287,7 +301,7 @@ export default {
|
|
|
//3.1 表单收集的数据
|
|
|
form: {
|
|
|
website_name: '',//需要提交的网站名称
|
|
|
- website_url:[//需要绑定的网站地址
|
|
|
+ website_url:[//需要绑定的网站���址
|
|
|
{url:"",show:true},
|
|
|
{url:"",show:false},
|
|
|
{url:"",show:false},
|
|
@@ -337,16 +351,6 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- updateCityId(value) {
|
|
|
- // 这里可以处理选择后的回调逻辑
|
|
|
- console.log("城市ID已更新:", value);
|
|
|
- // 可以在此处执行额外逻辑
|
|
|
- this.getApiData.city_id = value;
|
|
|
- },
|
|
|
- updateFormCityId(value){
|
|
|
- console.log("城市ID已更新:", value);
|
|
|
- this.form.city_arr_id = value;
|
|
|
- },
|
|
|
//1.列表和分页相关 start ------------------------------------------------------------>
|
|
|
//1.1 开始请求列表信息方法
|
|
|
getData(type){
|
|
@@ -375,6 +379,10 @@ export default {
|
|
|
if(item.city_name==null){item.city_name="--"}
|
|
|
newData.push(item)
|
|
|
}
|
|
|
+ //格式化网站地址
|
|
|
+ // res.data.rows.forEach(item => {
|
|
|
+ // item.website_url = item.website_url.join(', ');
|
|
|
+ // });
|
|
|
this.tableData = newData; //给与内容
|
|
|
this.allCount = res.data.count; //给与总条数
|
|
|
}).catch(() => {
|
|
@@ -400,13 +408,13 @@ export default {
|
|
|
});
|
|
|
}).catch(() => {
|
|
|
this.$message({
|
|
|
- type: 'info',
|
|
|
+ type: 'warning',
|
|
|
message: '网络错误,请重试!'
|
|
|
});
|
|
|
})
|
|
|
}).catch(() => {
|
|
|
this.$message({
|
|
|
- type: 'info',
|
|
|
+ type: 'warning',
|
|
|
message: '已取消删除'
|
|
|
});
|
|
|
});
|
|
@@ -432,6 +440,13 @@ export default {
|
|
|
this.getApiData.pageSize = 10;
|
|
|
this.getData();
|
|
|
},
|
|
|
+ //1.7搜索栏的城市选择器
|
|
|
+ updateCityId(value) {
|
|
|
+ // 这里可以处理选择后的回调逻辑
|
|
|
+ console.log("城市ID已更新:", value);
|
|
|
+ // 可以在此处执行额外逻辑
|
|
|
+ this.getApiData.city_id = value;
|
|
|
+ },
|
|
|
//列表和分页相关 end ------------------------------------------------------------>
|
|
|
|
|
|
//2.弹出框设置 start ------------------------------------------------------------>
|
|
@@ -445,6 +460,32 @@ export default {
|
|
|
this.windowStatus = false;
|
|
|
this.clearToServe();
|
|
|
},
|
|
|
+ //2.3 重置窗口内容
|
|
|
+ clearToServe(){
|
|
|
+ //还原表单
|
|
|
+ this.form.website_name = "";
|
|
|
+ this.form.website_column_arr_id = "";
|
|
|
+ this.form.website_url = [
|
|
|
+ {url:"",show:true},
|
|
|
+ {url:"",show:false},
|
|
|
+ {url:"",show:false},
|
|
|
+ {url:"",show:false},
|
|
|
+ {url:"",show:false}
|
|
|
+ ];
|
|
|
+ this.form.city_arr_id = [0];
|
|
|
+ this.form.logo = "";
|
|
|
+ this.form.title = "";
|
|
|
+ this.form.keywords = "";
|
|
|
+ this.form.description = "";
|
|
|
+ this.form.template_id = "";
|
|
|
+ //还原logo缩略图
|
|
|
+ this.logoUrl = "";
|
|
|
+ //还原模板
|
|
|
+ this.TemplateList = [];
|
|
|
+ this.getTemplateData.page = 1;
|
|
|
+ this.TemplateImg = "";
|
|
|
+ this.TemplateallCount = 0;
|
|
|
+ },
|
|
|
//弹出框设置 end ------------------------------------------------------------>
|
|
|
|
|
|
//3.添加新网站 start ------------------------------------------------------------>
|
|
@@ -480,10 +521,6 @@ export default {
|
|
|
return newItem;
|
|
|
});
|
|
|
},
|
|
|
- //3.2 当网系发生变化的时候
|
|
|
- AppointWebsiteColumn(value){
|
|
|
- console.log(value);
|
|
|
- },
|
|
|
//3.2 开始添加内容
|
|
|
addData(){
|
|
|
//先获取所有网系
|
|
@@ -504,7 +541,12 @@ export default {
|
|
|
this.form.website_url[key].show=false;
|
|
|
this.form.website_url[key].url="";
|
|
|
},
|
|
|
- //3.5 上传图片操作
|
|
|
+ //3.5 弹出框的城市选择器
|
|
|
+ updateFormCityId(value){
|
|
|
+ console.log("城市ID已更新:", value);
|
|
|
+ this.form.city_arr_id = value;
|
|
|
+ },
|
|
|
+ //3.6 上传图片操作
|
|
|
beforeAvatarUpload(file) {
|
|
|
const isJPG = file.type === 'image/jpeg';
|
|
|
const isPNG = file.type === 'image/png';
|
|
@@ -540,7 +582,7 @@ export default {
|
|
|
// 删除图片
|
|
|
this.logoUrl = ''; // 清空图片 URL
|
|
|
},
|
|
|
- //3.6 提交表单
|
|
|
+ //3.7 提交表单
|
|
|
addToServe(){
|
|
|
//先进行验证
|
|
|
this.$refs.form.validate(valid => {
|
|
@@ -573,34 +615,8 @@ export default {
|
|
|
});
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
})
|
|
|
},
|
|
|
- //3.7 清空提交窗口
|
|
|
- clearToServe(){
|
|
|
- //重置窗口
|
|
|
- this.form.website_name = "";
|
|
|
- this.form.website_column_arr_id = "";
|
|
|
- this.form.website_url = [
|
|
|
- {url:"",show:true},
|
|
|
- {url:"",show:false},
|
|
|
- {url:"",show:false},
|
|
|
- {url:"",show:false},
|
|
|
- {url:"",show:false}
|
|
|
- ];
|
|
|
- this.form.city_arr_id = [0];
|
|
|
- this.form.logo = "";
|
|
|
- this.form.title = "";
|
|
|
- this.form.keywords = "";
|
|
|
- this.form.description = "";
|
|
|
- this.form.template_id = "";
|
|
|
- //还原logo缩略图
|
|
|
- this.logoUrl = "";
|
|
|
- //还原模板
|
|
|
- this.TemplateList = [];
|
|
|
- this.getTemplateData.page = 1;
|
|
|
- this.TemplateallCount = 0;
|
|
|
- },
|
|
|
//添加新网站 end ------------------------------------------------------------>
|
|
|
|
|
|
//4.选择模板 start ------------------------------------------------------------>
|
|
@@ -616,7 +632,7 @@ export default {
|
|
|
let data = res.data.rows;
|
|
|
for(let item of data){
|
|
|
//item.template_img
|
|
|
- let imgSrc = item.template_img.replace(/^{|}$/g, '').split(',').map(item => item.replace(/"/g, ''));
|
|
|
+ let imgSrc = item.template_img;
|
|
|
item.template_img = imgSrc[0];
|
|
|
}
|
|
|
this.TemplateList = data;
|
|
@@ -624,7 +640,7 @@ export default {
|
|
|
this.TemplateallCount = res.data.count;
|
|
|
}).catch(() => {
|
|
|
this.$message({
|
|
|
- type: 'info',
|
|
|
+ type: 'warning',
|
|
|
message: '网络错误,请重试!'
|
|
|
});
|
|
|
})
|
|
@@ -700,37 +716,43 @@ export default {
|
|
|
//回显模板信息
|
|
|
this.form.template_id = res.data.template_id;
|
|
|
this.TemplateName = res.data.template_name;
|
|
|
+ this.TemplateImg = JSON.parse(res.data.template_img)[0];
|
|
|
})
|
|
|
|
|
|
this.editBtn = true;//显示编辑按钮
|
|
|
},
|
|
|
//5.2修改表单
|
|
|
editToServe(){
|
|
|
- //提交之前把域名列表转换成数组
|
|
|
- let webSiteArray = [];
|
|
|
- for(let item of this.form.website_url){
|
|
|
- if(item.url!=""){
|
|
|
- webSiteArray.push(item.url)
|
|
|
+ //执行验证
|
|
|
+ this.$refs.form.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ //提交之前把域名列表转换成数组
|
|
|
+ let webSiteArray = [];
|
|
|
+ for(let item of this.form.website_url){
|
|
|
+ if(item.url!=""){
|
|
|
+ webSiteArray.push(item.url)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //循环完毕 重置提交的url
|
|
|
+ this.form.website_url = webSiteArray;
|
|
|
+ this.form.id = this.editId;
|
|
|
+ //提交表单
|
|
|
+ this.$store.dispatch('pool/updateWebsite',this.form).then(res=> {
|
|
|
+ //汇报结果
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '已成功修改网站信息!'
|
|
|
+ });
|
|
|
+ //清空并退出
|
|
|
+ this.closeWindow();
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'warning',
|
|
|
+ message: '网络错误,请重试!'
|
|
|
+ });
|
|
|
+ })
|
|
|
}
|
|
|
- }
|
|
|
- //循环完毕 重置提交的url
|
|
|
- this.form.website_url = webSiteArray;
|
|
|
- this.form.id = this.editId;
|
|
|
- //提交表单
|
|
|
- this.$store.dispatch('pool/updateWebsite',this.form).then(res=> {
|
|
|
- //汇报结果
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '已成功修改网站信息!'
|
|
|
- });
|
|
|
- //清空并退出
|
|
|
- this.closeWindow();
|
|
|
- }).catch(() => {
|
|
|
- this.$message({
|
|
|
- type: 'info',
|
|
|
- message: '网络错误,请重试!'
|
|
|
- });
|
|
|
- })
|
|
|
+ })
|
|
|
},
|
|
|
//编辑旧网站 end ------------------------------------------------------------>
|
|
|
},
|
|
@@ -746,8 +768,8 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="less">
|
|
|
- /*表单样式 start------------------------------------------------------------>*/
|
|
|
- //1.模板
|
|
|
+ /*表单特殊样式 start------------------------------------------------------------>*/
|
|
|
+ //1.1 模板表单
|
|
|
.webSite {
|
|
|
background:#f0f2f5;
|
|
|
width:200px;
|
|
@@ -767,7 +789,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.webSiteBtn {
|
|
|
- padding:20px 0;
|
|
|
+ padding:50px 0 0 0;
|
|
|
text-align:center;
|
|
|
}
|
|
|
.formLabelFloatBox {
|
|
@@ -799,18 +821,15 @@ export default {
|
|
|
margin-bottom: 10px;
|
|
|
border:1px solid #fff;
|
|
|
padding: 5px;
|
|
|
- &:hover {
|
|
|
- border:1px solid #1890ff;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
- box-sizing: border-box;
|
|
|
.templateImg {
|
|
|
- width: 100px;
|
|
|
- height:65px;
|
|
|
+ width: 129px;
|
|
|
+ height:157px;
|
|
|
+ border-radius: 8px;
|
|
|
+ cursor: pointer;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //2.弹窗分页
|
|
|
+ //1.1 模板分页
|
|
|
.pageNumBox {
|
|
|
text-align: center;
|
|
|
padding-top:20px;
|
|
@@ -819,47 +838,7 @@ export default {
|
|
|
margin-left: 10px;
|
|
|
line-height: 36px;
|
|
|
}
|
|
|
- //3.logo上传
|
|
|
- .chooseImgDiv {
|
|
|
- width: 140px;
|
|
|
- height:140px;
|
|
|
- display:flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- color:#5570F1;
|
|
|
- font-size:14px;
|
|
|
- img {
|
|
|
- display:block;
|
|
|
- }
|
|
|
- }
|
|
|
- .uploaderBox {
|
|
|
- .avatar-uploader{
|
|
|
- width: 140px;
|
|
|
- height:140px;
|
|
|
- border: 1px solid #d9d9d9;
|
|
|
- border-radius: 6px;
|
|
|
- cursor: pointer;
|
|
|
- position: relative;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
- .avatar-uploader {
|
|
|
- border-color: #d9d9d9;
|
|
|
- }
|
|
|
- }
|
|
|
- .avatar-uploader-icon {
|
|
|
- font-size: 20px;
|
|
|
- color: #8c939d;
|
|
|
- width: 60px;
|
|
|
- height: 60px;
|
|
|
- line-height: 60px;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
- .avatar {
|
|
|
- width: 140px;
|
|
|
- height: 140px;
|
|
|
- display: block;
|
|
|
- }
|
|
|
- //选择模板
|
|
|
+ //1.2 模板缩略图
|
|
|
.webSiteTemplateImg {
|
|
|
width: 140px;
|
|
|
height: 140px;
|
|
@@ -871,41 +850,22 @@ export default {
|
|
|
.selectWebSiteTemplateImg {
|
|
|
width: 140px;
|
|
|
height: 140px;
|
|
|
+ border-radius: 12px;
|
|
|
display: block;
|
|
|
}
|
|
|
+ .webSiteTemplateText {
|
|
|
+ color: #5570F1;
|
|
|
+ height: 36px;
|
|
|
+ line-height: 36px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
img {
|
|
|
display: block;
|
|
|
}
|
|
|
}
|
|
|
/*表单样式 end------------------------------------------------------------>*/
|
|
|
|
|
|
- //表单微调 start------------------------------------------------------------>*/
|
|
|
- .footerBtnbox {
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
- .formDiv {
|
|
|
- .el-cascader {
|
|
|
- width:100%;
|
|
|
- }
|
|
|
- }
|
|
|
- .delete-button {
|
|
|
- width:30px;
|
|
|
- height:30px;
|
|
|
- line-height: 30px;
|
|
|
- text-align:center;
|
|
|
- border-radius: 50%;
|
|
|
- position: absolute;
|
|
|
- top: 60px;
|
|
|
- left: 60px;
|
|
|
- background: rgba(0, 0, 0, 0.5);
|
|
|
- color: white;
|
|
|
- cursor: pointer;
|
|
|
- transition: background 0.3s ease;
|
|
|
- z-index: 999; /* 确保删除按钮在图片上方 */
|
|
|
- }
|
|
|
- .delete-button:hover {
|
|
|
- background: rgba(255, 0, 0, 0.7);
|
|
|
- }
|
|
|
+ //执行v-deep穿透scope选择器 start------------------------------------------------------------>*/
|
|
|
::v-deep .custom-form-item > .el-form-item__label {
|
|
|
line-height: 140px !important;
|
|
|
}
|
|
@@ -915,17 +875,6 @@ export default {
|
|
|
::v-deep .custom-align-right .el-form-item__label {
|
|
|
text-align: right; /* 设置标签文字右对齐 */
|
|
|
}
|
|
|
- .askBox {
|
|
|
- position: relative;
|
|
|
- i {
|
|
|
- position: absolute;
|
|
|
- top:0;
|
|
|
- right:-5px;
|
|
|
- width:12px;
|
|
|
- height:12px;
|
|
|
- color:#A9A9A9;
|
|
|
- }
|
|
|
- }
|
|
|
- //表单微调 end------------------------------------------------------------>*/
|
|
|
+ //执行v-deep穿透scope选择器 end------------------------------------------------------------>*/
|
|
|
</style>
|
|
|
|