Commit cee3fd80 authored by daniel's avatar daniel

fix(cmpt): banner优化

parent 9ca4dd6e
...@@ -13,7 +13,11 @@ public class PartnerBanner { ...@@ -13,7 +13,11 @@ public class PartnerBanner {
private String description; private String description;
private String imgUrl; private String imgUrl;
private String outUrl; private String outUrl;
@JsonIgnore // 类型配置(1 网页 2 小程序(appId,path) 3 短连接(#小程序://) 4 页面(小程序) 5文档word,pdf 6 图片 png 7 打开定位)
private String type;
// appId
private String appId;
private Integer status;
private Integer seq; private Integer seq;
@JsonIgnore @JsonIgnore
private String createDate; private String createDate;
......
...@@ -38,4 +38,6 @@ public interface BannerMapper { ...@@ -38,4 +38,6 @@ public interface BannerMapper {
PartnerBanner getPartnerBannerById(Integer id); PartnerBanner getPartnerBannerById(Integer id);
Partner getPartnerIdByCmptId(Integer cmptId); Partner getPartnerIdByCmptId(Integer cmptId);
void updatePartnerBanner(@Param("banner") PartnerBanner banner);
} }
...@@ -42,16 +42,28 @@ ...@@ -42,16 +42,28 @@
</insert> </insert>
<insert id="insertPartnerBanner"> <insert id="insertPartnerBanner">
insert into banner_partner(partner_id, name, description, img_url, out_url, create_date, seq) insert into banner_partner(partner_id, name, description, img_url, out_url, create_date, seq,type,app_id,status)
values (#{banner.partnerId}, #{banner.name}, #{banner.description}, #{banner.imgUrl}, #{banner.outUrl}, now(),#{banner.seq}) values (#{banner.partnerId}, #{banner.name}, #{banner.description}, #{banner.imgUrl}, #{banner.outUrl}, now(),#{banner.seq},#{banner.type},#{banner.appId},#{banner.status})
</insert> </insert>
<update id="delPartnerBanner"> <update id="delPartnerBanner">
update banner_partner set del_flag=1 where id=#{id} update banner_partner set del_flag=1 where id=#{id}
</update> </update>
<update id="updatePartnerBanner">
update banner_partner
set name=#{banner.name},
description=#{banner.description},
img_url=#{banner.imgUrl},
out_url=#{banner.outUrl},
seq=#{banner.seq},
type=#{banner.type},
app_id=#{banner.appId},
status=#{banner.status}
where id=#{banner.id}
</update>
<select id="queryAllPartnerBanner" resultType="com.dlbridge.jadp.plugins.cmpt.bean.PartnerBanner"> <select id="queryAllPartnerBanner" resultType="com.dlbridge.jadp.plugins.cmpt.bean.PartnerBanner">
select id, partner_id partnerId, seq, name, description, img_url imgUrl, out_url outUrl select id, partner_id partnerId, seq, name, description, img_url imgUrl, out_url outUrl,app_id appId,type,status
from banner_partner from banner_partner
where partner_id = #{partnerId} where partner_id = #{partnerId}
and del_flag = 0 and del_flag = 0
...@@ -64,7 +76,7 @@ ...@@ -64,7 +76,7 @@
</select> </select>
<select id="getPartnerBannerById" resultType="com.dlbridge.jadp.plugins.cmpt.bean.PartnerBanner"> <select id="getPartnerBannerById" resultType="com.dlbridge.jadp.plugins.cmpt.bean.PartnerBanner">
select id, partner_id partnerId, seq, name, description, img_url imgUrl, out_url outUrl select id, partner_id partnerId, seq, name, description, img_url imgUrl, out_url outUrl,app_id appId,type,status
from banner_partner from banner_partner
where id = #{id} and del_flag = 0 where id = #{id} and del_flag = 0
</select> </select>
......
...@@ -76,10 +76,14 @@ public class BannerService { ...@@ -76,10 +76,14 @@ public class BannerService {
if(partner != null && StringUtils.isNotBlank(partner.getPartnerId())){ if(partner != null && StringUtils.isNotBlank(partner.getPartnerId())){
partnerId = partner.getPartnerId(); partnerId = partner.getPartnerId();
} }
Integer maxSeq = bannerMapper.getMaxSeqPartnerBanner(partnerId); // Integer maxSeq = bannerMapper.getMaxSeqPartnerBanner(partnerId);
banner.setSeq(maxSeq == null ? 1 : ++maxSeq); // banner.setSeq(maxSeq == null ? 1 : ++maxSeq);
banner.setPartnerId(partnerId); banner.setPartnerId(partnerId);
bannerMapper.insertPartnerBanner(banner); if(banner.getId() == null){
bannerMapper.insertPartnerBanner(banner);
}else{
bannerMapper.updatePartnerBanner(banner);
}
return bannerMapper.getPartnerBannerById(banner.getId()); return bannerMapper.getPartnerBannerById(banner.getId());
} }
...@@ -90,4 +94,8 @@ public class BannerService { ...@@ -90,4 +94,8 @@ public class BannerService {
public void delPartnerBanner(Integer id) { public void delPartnerBanner(Integer id) {
bannerMapper.delPartnerBanner(id); bannerMapper.delPartnerBanner(id);
} }
public List<PartnerBanner> queryAllPartnerBannerByPartnerId(String partnerId) {
return bannerMapper.queryAllPartnerBanner(partnerId);
}
} }
...@@ -95,25 +95,47 @@ public class BannerController { ...@@ -95,25 +95,47 @@ public class BannerController {
@RequestMapping("partner/{cmptId}") @RequestMapping("partner/{cmptId}")
@PageView @PageView
public ModelAndView queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) { public ModelAndView queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId); // List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId);
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId); Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt); mv.addObject("cmpt", cmpt);
mv.addObject("banners", banners); // mv.addObject("banners", banners);
mv.setViewName("cmpt/banner"); mv.setViewName("cmpt/partnerBanner");
return mv; return mv;
} }
/**
* 查询组委会轮播图列表
* @param cmptId
* @return
*/
@RequestMapping("partner/list/{cmptId}")
@ResponseBody
public Result queryAllPartnerBanner(@PathVariable("cmptId") Integer cmptId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBanner(cmptId);
return Result.success().setContent(banners);
}
/**
* 查询组委会轮播图列表
* @param partnerId
* @return
*/
@RequestMapping("partner/query/{partnerId}")
@ResponseBody
public Result queryAllPartnerBannerByPartnerId(@PathVariable("partnerId") String partnerId) {
List<PartnerBanner> banners = bannerService.queryAllPartnerBannerByPartnerId(partnerId);
return Result.success().setContent(banners);
}
/** /**
* 组委会轮播图保存 * 组委会轮播图保存
* @param banner * @param banner
* @param mv
* @return * @return
*/ */
@RequestMapping("savePartnerBanner") @RequestMapping("savePartnerBanner")
@ResponseBody @ResponseBody
public Result savePartnerBanner(@RequestBody PartnerBanner banner, ModelAndView mv) { public Result savePartnerBanner(@RequestBody PartnerBanner banner) {
if(banner.getCmptId() == null){ if(banner.getCmptId() == null){
return com.neusoft.www.utils.web.Result.fail().setMsg("赛事ID不能为空!").setCode(403); return Result.fail().setMsg("赛事ID不能为空!").setCode(403);
} }
banner = bannerService.saveOrUpdatePartnerBanner(banner); banner = bannerService.saveOrUpdatePartnerBanner(banner);
return Result.success().setContent(banner); return Result.success().setContent(banner);
......
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!doctype html>
<html>
<head>
<title>轮播图</title>
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/vendor/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome CSS-->
<link rel="stylesheet"
href="${ctxStatic}/newdermon/vendor/font-awesome/css/font-awesome.min.css">
<!-- Fontastic Custom icon font-->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/fontastic.css">
<!-- Google fonts - Poppins -->
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/font-css.css">
<!-- theme stylesheet-->
<link rel="stylesheet"
href="${ctxStatic}/newdermon/css/style.default.css?v=<%=System.currentTimeMillis()%>"
id="theme-stylesheet">
<!-- Custom stylesheet - for your changes-->
<link rel="stylesheet"
href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/newdermon/css/juery-ui-1.12.css">
<!-- Favicon-->
<link rel="shortcut icon" href="https://img.geexek.com/files/home/favicon.ico">
<link rel="stylesheet"
href="${ctxStatic}/newdermon/css/custom.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet"
href="${ctxStatic}/newdermon/css/main.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet" href="${ctxStatic}/cmpt/setting.css?v=<%=System.currentTimeMillis()%>">
<link rel="stylesheet"
href="${ctxStatic}/leaflet/css/leaflet.css?v=<%=System.currentTimeMillis()%>" />
<link rel="stylesheet" href="${ctxStatic}/leaflet/css/leaflet_label.css" />
<script src="${ctxStatic}/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<script src="${ctxStatic}/newdermon/vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctxStatic}/layer/layer.js"></script>
<link rel="stylesheet" href="${ctxStatic}/layer/skin/layer.css">
<script
src="https://enroll.geexek.com/js/ueditor/ueditor.config-zs.js?v=<%=System.currentTimeMillis()%>"></script>
<script
src="https://enroll.geexek.com/js/ueditor/ueditor.all.js?v=<%=System.currentTimeMillis()%>"></script>
<link rel="stylesheet" href="/static/cmpt/score.css?<%=System.currentTimeMillis()%>">
<style>
.action {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
}
.action div {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
user-select: none;
}
.submit {
display: inline-block;
width: 120px;
height: 45px;
text-align: center;
line-height: 45px;
color: white;
background: #ce3939;
border-radius: 4px;
letter-spacing: 1px;
cursor: pointer;
font-size: 16px;
}
.cancel {
width: 120px;
height: 45px;
background: #949494;
border-radius: 4px;
font-size: 16px;
color: #FFFFFF;
line-height: 45px;
text-align: center;
margin-right: 20px;
}
.input {
width: 100%;
height: 40px !important;
line-height: 40px !important;
;
border: 2px solid #F4F4F4;
border-radius: 4px;
margin-right: 30px;
margin-left: 0px;
padding-left: 12px;
background: rgba(247, 247, 247, 1);
border-radius: 4px;
border: 1px solid rgba(229, 229, 229, 1);
}
.title {
font-size: 24px;
font-weight: 500;
color: rgba(51, 51, 51, 1);
}
.title-new {
font-size: 20px;
color: rgba(51, 51, 51, 1);
margin-right: 15px;
margin-bottom: 15px;
}
.section {
display: flex;
background: rgba(255, 255, 255, 1);
border-radius: 4px;
flex-direction: column;
}
.func {
display: flex;
flex-direction: column;
/* height: 90px; */
padding: 5px 0;
}
.tip {
font-size: 16px;
color: rgba(51, 51, 51, 1);
position: absolute;
right: 45px;
top: 10px;
}
.saveDiv {
display: flex;
justify-content: flex-end;
margin: 0 20px;
padding-top: 10px;
}
label {
/* width: auto; */
/* width: 200px; */
display: flex;
flex-direction: row;
align-items: center;
}
.label-box {
display: flex;
flex-direction: row;
align-items: center;
}
.dialog input {
width: 100% !important;
}
.dialog label input {
width: 20px !important;
height: 20px !important;
margin: 0 10px !important;
}
.cover {
width: 100%;
height: 100px;
background: rgba(247, 247, 247, 1);
border-radius: 4px;
border: 1px solid rgba(238, 238, 238, 1);
display: flex;
justify-content: center;
align-items: center;
}
.cover-img {
width: 300px;
cursor: pointer;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
height: 300px;
}
.icon-cover {
width: 34px;
height: 34px;
background-image: url("/static/images/icon_cover.png");
background-size: 100%;
background-repeat: no-repeat;
}
.section {
width: 100% !important;
display: flex;
flex-direction: column;
}
.section-box {
width: 100% !important;
display: flex;
flex-direction: row;
align-items: center;
}
.rule-field tbody tr td:first-child {
padding-left: 0 !important;
height: auto !important;
}
tbody tr td {
font-size: 15px !important;
}
input[type=checkbox]::before {
border: none !important;
background: none !important;
}
input[type=checkbox]:checked::before {
border: none !important;
background: none !important;
}
input[type=checkbox] {
top: 0;
left: 0;
}
</style>
</head>
<body>
<jsp:include page="../common/header.jsp"></jsp:include>
<div class="page-content d-flex align-items-stretch main-body">
<jsp:include page="../common/menu.jsp"></jsp:include>
<div class="rght" id="partnerBanner">
<div class="section">
<div>
<h3 class="title">banner</h3>
<div class="add-btn" @click="addBanner">
<span>+</span>
<span>添加</span>
</div>
</div>
</div>
<div style="margin-top: -10px;margin-bottom: 50px">
<table style="width: 100%" class="rule-field">
<colgroup>
<col style="width:15%;">
<col style="width:35%;">
<col style="width:10%;">
<col style="width:10%;">
<col style="width:10%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th style="text-align: center">封面</th>
<th style="text-align: left">名称</th>
<th style="text-align: center">类型</th>
<th style="text-align: center">状态</th>
<th style="text-align: center">排序</th>
<th style="text-align: center">操作</th>
</tr>
</thead>
<tbody>
<tr v-if="" v-for="item in list" :data-id="item.id">
<td style="text-align: center">
<img :src="item.imgUrl"
style="width:80px;height:80px;object-fit:cover;" />
</td>
<td class="name" style="text-align: left;">
<span v-text="item.name"></span>
</td>
<td style="text-align: center">
<span v-if="item.type" v-text="typeDesc[item.type].label"></span>
<span v-else>未设置</span>
</td>
<td style="text-align: center">
<span class="badge badge-pill"
:class="[item.status==1?'badge-success':'badge-danger']"
v-text="statusType[item.status]"></span>
</td>
<td class="name" style="text-align: center;">
<span v-text="item.seq"></span>
</td>
<td style="text-align: center">
<div class="action">
<div class="opt edit.opt" @click="showEdit(item)">
<span class="icon-edit"></span>
<span class="edit">
编辑
</span>
</div>
<div class="opt del" @click="delBanner(item)">
<span class="icon-del"></span>
<span class="del">
删除
</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="dialog" v-show="dialog" style="width:auto;height: 80vh; z-index: 99;display: flex;flex-direction: column;left: 50%;
transform: translateX(-50%);margin-left:0;">
<div>
<span class="title" style="margin-bottom: 10px; color: #CE3939">{{title}}</span>
</div>
<div style="display: flex;flex-direction: column;flex:1;overflow-y: auto;">
<div class="func">
<div>
<span class="title-new">名称</span>
</div>
<div>
<input class="input" type="text" v-model="service.name"
placeholder="请输入banner名称">
</div>
</div>
<!-- 类型 (type) -->
<div class="func">
<span class="title-new">跳转类型</span>
<div class="label-box">
<label v-for="item in typeOptions" :key="item.value">
<input type="radio" v-model="service.type" :value="item.value">
{{item.name}}
</label>
</div>
</div>
<div class="func" v-if="service.type == 2">
<span class="title-new">appId</span>
<div>
<input class="input" type="text" v-model="service.appId"
placeholder="请输入小程序appId">
</div>
</div>
<div class="func">
<span class="title-new">{{typeDesc[service.type].label}}</span>
<div>
<input class="input" type="text" v-model="service.outUrl"
:placeholder="typeDesc[service.type].placeholder">
</div>
</div>
<!-- 待定 -->
<!-- <div class="func" v-if="service.type==7">
<span class="title-new">地址</span>
<div>
<input class="input" type="text" v-model="service.address"
placeholder="请输入地址">
</div>
</div>
<div class="func" v-if="service.type==7">
<span class="title-new">经度</span>
<div>
<input class="input" type="number" v-model="service.lng"
placeholder="请输入经度(如:106.639824000000000)">
</div>
</div>
<div class="func" v-if="service.type==7">
<span class="title-new">纬度</span>
<div>
<input class="input" type="number" v-model="service.lat"
placeholder="请输入纬度(如:26.672005000000000)">
</div>
</div> -->
<div class="func">
<span class="title-new">banner图</span>
<span style="font-size: 16px;color: #ce3939;margin:10px 0;">
<span
style="font-size: 12px;display: inline-block;border-radius: 50%;height: 18px;width: 18px;background: #ce3939;color: white;text-align: center;">注</span>
<span style="display: inline">建议分辨率1000*800</span>
</span>
<div>
<label for="file">
<div v-if="!service.imgUrl" class="cover">
<span class="icon-cover"></span>
</div>
<img v-else class="cover cover-img" :src="service.imgUrl" />
</label>
<input id="file" type="file" style="display: none" @change="uploadFile">
</div>
</div>
<div class="func">
<span class="title-new">描述</span>
<div id="container"></div>
</div>
<div class="func">
<span class="title-new">排序</span>
<div>
<input class="input" type="number" v-model="service.seq"
placeholder="请输入排序">
</div>
</div>
<div class="func">
<span class="title-new">状态</span>
<div class="label-box">
<label>
<input type="radio" v-model="service.status" value="0"> 禁用
</label>
<label>
<input type="radio" v-model="service.status" value="1"> 发布
</label>
</div>
</div>
</div>
<div class="saveDiv">
<span @click="cancel" class="cancel">取消</span>
<span @click="submit" class="submit">保存</span>
</div>
</div>
<div v-if="dialog"
style="position: fixed;height: 100%;width: 100%;background: black;z-index: 10;opacity: 0.5;top:0px;left:0px">
</div>
</div>
<script src="${ctxStatic}/vue/vue.js"></script>
<script>
var app = new Vue({
el: '#partnerBanner',
data: {
editor: null,
list: [],
dialog: false,
title: '新增Banner',
service: {
id: null,
cmptId: getCId(), // 赛事id
type: 4, // 类型配置(1 网页 2 小程序(appId,path) 3 短链接(#小程序://) 4 页面(小程序) 5文档word,pdf 6 图片 png 7 定位)
name: null, // 标题
description: null, // 描述
seq: 100, // 排序
imgUrl: null,// 图片地址
outUrl: null,// 图片地址
status: 1, // 状态(0:禁用 1:发布)
appId: null, // 小程序appid
},
// 子类目 类型配置(1 网页 2 小程序(appId,path) 3 短链接(#小程序://) 4 页面(小程序) 5文档word,pdf 6 图片 png)
typeDesc: {
1: {
label: '网页',
placeholder: '请输入网页地址',
},
2: {
label: '小程序',
placeholder: '请输入小程序地址',
},
3: {
label: '短链接',
placeholder: '请输入短链接地址',
},
4: {
label: '页面',
placeholder: '请输入页面地址',
},
5: {
label: '文档',
placeholder: '请输入文档地址',
},
6: {
label: '图片',
placeholder: '请输入图片地址',
},
7: {
label: '地图',
placeholder: '请输入地址和经纬度',
}
},
typeOptions: [
{
name: 'H5',
value: 1,
},
{
name: '小程序',
value: 2,
},
{
name: '短链接',
value: 3,
},
{
name: '内部页面',
value: 4,
},
{
name: '文档',
value: 5,
},
{
name: '图片',
value: 6,
},
{
name: '地图',
value: 7,
}
],
statusType: {
0: '禁用',
1: '发布'
}
},
mounted() {
const editor = UE.getEditor('container');
this.editor = editor
this.queryAll()
},
methods: {
// 展示dialog
addBanner() {
this.dialog = !this.dialog;
this.resetForm();
},
// 重置表单
resetForm() {
this.service = {
id: null,
cmptId: getCId(), // 赛事id
type: 4, // 类型配置(1 网页 2 小程序(appId,path) 3 短链接(#小程序://) 4 页面(小程序) 5文档word,pdf 6 图片 png 7 定位)
name: null, // 标题
description: null, // 描述
seq: 100, // 排序
imgUrl: null,// 图片地址
outUrl: null,// 图片地址
status: 1, // 状态(0:禁用 1:发布)
appId: null, // 小程序appid
};
},
// 编辑
showEdit(data) {
this.resetForm();
console.log(this.service)
this.service = {
...data,
cmptId: getCId(), // 赛事id
};
console.log(this.service)
this.editor.setContent(data.description)
this.dialog = !this.dialog;
},
// 删除
delBanner(data) {
layer.confirm("确认要删除吗?", function () {
$.ajax({
url: "/gk/banner/delPartnerBanner/" + data.id,
type: 'post',
contentType: 'application/json',
beforeSend: () => {
layer.load()
},
success: () => {
layer.msg('删除成功!');
},
complete: () => {
layer.closeAll()
app.queryAll();
}
});
});
},
// 保存
submit() {
const description = this.editor.getContent();
const service = { ...this.service, description }
// 假设 service 对象已经定义并初始化
if (!service.name) {
layer.msg("标题不能为空!", { icon: 5, duration: 1500 });
return;
}
if (!service.imgUrl) {
layer.msg("banner图不能为空!", { icon: 5, duration: 1500 });
return;
}
const url = "/gk/banner/savePartnerBanner"
$.ajax({
url: url,
data: JSON.stringify(service), // 将 data 转换为 JSON 字符串
type: 'post',
contentType: 'application/json',
beforeSend: () => {
layer.load()
},
success: (data) => {
if (data.code == 200) {
layer.msg('保存成功!');
app.$data.dialog = false;
app.queryAll();
} else {
layer.msg(data.msg);
}
},
complete: () => {
layer.closeAll()
}
})
},
// 返回
cancel() {
this.dialog = false;
},
// 查询所有
queryAll() {
if (!getCId()) return
const url = "/gk/banner/partner/list/" + getCId()
$.ajax({
type: 'POST',
contentType: 'application/json',
url,
beforeSend: () => {
layer.load()
},
complete: () => {
layer.closeAll()
},
success: (data) => {
this.list = data.content
}
})
},
//文件上传处理
uploadFile(obj) {
logoFile = obj.target.files[0];
if (logoFile.type && logoFile.type.indexOf("image") == -1) {
return layer.msg('请上传图片', { icon: 5 })
}
var reads = new FileReader();
reads.readAsDataURL(logoFile);
reads.onload = function () {
//将处理完的图片文件上传到阿里云服务器
//上传LOGO图片
var formData = new FormData();
formData.append("uploadImg", logoFile);
$.ajax({
url: 'https://event.geexek.com/upload/file.do', /*接口域名地址*/
type: 'post',
data: formData,
contentType: false,
processData: false,
success: function (res) {
if (res.code == "1") {
layer.msg('上传成功', { icon: 1, time: 1500 });
app.$data.service.imgUrl = res.result
}
},
beforeSend: () => {
layer.load()
},
complete: () => {
layer.closeAll()
},
})
};
},
}
});
</script>
</body>
</html>
\ No newline at end of file
...@@ -341,6 +341,13 @@ ...@@ -341,6 +341,13 @@
<span class="menu-txt">分类管理</span> <span class="menu-txt">分类管理</span>
</a> </a>
</li> </li>
<li class="parnterBanner menu-sub-item">
<a
href="/gk/banner/partner/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span>
<span class="menu-txt">轮播图管理</span>
</a>
</li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -403,7 +410,7 @@ ...@@ -403,7 +410,7 @@
var classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage', var classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage',
'route', 'road', 'equip', 'photo', 'news', 'cert', 'data', 'route', 'road', 'equip', 'photo', 'news', 'cert', 'data',
'banner', 'score', 'auto', 'scan', 'review', 'customer', 'rule', 'banner', 'score', 'auto', 'scan', 'review', 'customer', 'rule',
'outter-link', 'sure-letter', 'rankSetting', 'service', "module"]; 'outter-link', 'sure-letter', 'rankSetting', 'service', "module","parnterBanner"];
let url = document.location.href; let url = document.location.href;
var done = false; var done = false;
for (var i in classes) { for (var i in classes) {
......
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