记得上下班打卡 | git大法好,push需谨慎

Commit 32c18a1d authored by jiangxiulong's avatar jiangxiulong

banner 下拉改搜索

parent 02899791
...@@ -41,6 +41,9 @@ public class BannersParam implements Serializable { ...@@ -41,6 +41,9 @@ public class BannersParam implements Serializable {
@ApiModelProperty(value = "跳转目标id或者url 不跳转则为空", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png") @ApiModelProperty(value = "跳转目标id或者url 不跳转则为空", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
private String targetObj; private String targetObj;
@ApiModelProperty(value = "跳转目标名称", example = "演出名称")
private String targetObjName;
@ApiModelProperty(value = "是否上线展示 0下线 1上线", required = true, example = "1", allowableValues = "0,1") @ApiModelProperty(value = "是否上线展示 0下线 1上线", required = true, example = "1", allowableValues = "0,1")
@Min(value = 0, message = "请选择是否上线") @Min(value = 0, message = "请选择是否上线")
private Integer isOnline; private Integer isOnline;
......
...@@ -36,6 +36,8 @@ public class KylinBannersVo implements Serializable { ...@@ -36,6 +36,8 @@ public class KylinBannersVo implements Serializable {
@ApiModelProperty(value = "跳转目标id或者url") @ApiModelProperty(value = "跳转目标id或者url")
private String targetObj; private String targetObj;
private String targetObjName;
@ApiModelProperty(value = "是否上线展示 0下线 1上线") @ApiModelProperty(value = "是否上线展示 0下线 1上线")
private Integer isOnline; private Integer isOnline;
......
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
var data = $('#form-post-add').serializeArray(); var data = $('#form-post-add').serializeArray();
var targetObj = ''; var targetObj = '';
var targetObjName = '';
if (12 == targetType || 100 == targetType) { // 请填写url if (12 == targetType || 100 == targetType) { // 请填写url
targetObj = $("#targetObjInput").val(); targetObj = $("#targetObjInput").val();
if (!targetObj) { if (!targetObj) {
...@@ -177,7 +178,8 @@ ...@@ -177,7 +178,8 @@
} else if (0 == targetType || 201 == targetType) { // 无需跳转 } else if (0 == targetType || 201 == targetType) { // 无需跳转
targetObj = ''; targetObj = '';
} else { } else {
targetObj = $("#targetObjSelect").val(); targetObj = $("#targetObjSelect").attr("data-id");
targetObjName = $("#targetObjSelect").val();
if (!targetObj) { if (!targetObj) {
layer.msg("请选择跳转的目标"); layer.msg("请选择跳转的目标");
return false; return false;
...@@ -189,6 +191,7 @@ ...@@ -189,6 +191,7 @@
return false; return false;
} }
data.push({"name": "targetObj", "value": targetObj}); data.push({"name": "targetObj", "value": targetObj});
data.push({"name": "targetObjName", "value": targetObjName});
/*data.push({"name": "positionList", "value": positionList}); /*data.push({"name": "positionList", "value": positionList});
var provincesList = $.form.selectSelects("provincesList"); var provincesList = $.form.selectSelects("provincesList");
data.push({"name": "provincesList", "value": provincesList});*/ data.push({"name": "provincesList", "value": provincesList});*/
...@@ -309,13 +312,14 @@ ...@@ -309,13 +312,14 @@
// 跳转类型选择事件 // 跳转类型选择事件
function targetObjBsSuggest(searchUrl, targetType) { function targetObjBsSuggest(searchUrl, targetType) {
console.log(searchUrl) var bsSuggest = $("#targetObjSelect").bsSuggest({
var taobaoBsSuggest = $("#targetObjSelect").bsSuggest({
indexId: 0, // data.value 每组数据的第几个数据,作为input输入框的 data-id,设为 -1 且 idField 为空则不设置此值 indexId: 0, // data.value 每组数据的第几个数据,作为input输入框的 data-id,设为 -1 且 idField 为空则不设置此值
indexKey: 1, // data.value 的第几个数据,作为input输入框的内容 indexKey: 1, // data.value 的第几个数据,作为input输入框的内容
keyField: "ID",
showBtn: false, //是否显示下拉按钮 showBtn: false, //是否显示下拉按钮
hideOnSelect:true, //鼠标从列表单击选择了值时,是否隐藏选择列表 hideOnSelect:true, //鼠标从列表单击选择了值时,是否隐藏选择列表
searchingTip: "获取中...", searchingTip: "获取中...",
clearable: true, //是否可清除已输入的内容
allowNoKeyword: false, // 是否允许无关键字时请求数据 allowNoKeyword: false, // 是否允许无关键字时请求数据
multiWord: false, // 以分隔符号分割的多关键字支持 multiWord: false, // 以分隔符号分割的多关键字支持
separator: ",", // 多关键字支持时的分隔符,默认为空格 separator: ",", // 多关键字支持时的分隔符,默认为空格
...@@ -325,7 +329,7 @@ ...@@ -325,7 +329,7 @@
Keyword: "名称" Keyword: "名称"
}, },
showHeader: true, showHeader: true,
url: searchUrl, url: searchUrl + '&title=',
/*优先从url ajax 请求 json 帮助数据,注意最后一个参数为关键字请求参数*/ /*优先从url ajax 请求 json 帮助数据,注意最后一个参数为关键字请求参数*/
// jsonp: 'callback', // jsonp: 'callback',
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/ /*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
...@@ -384,6 +388,7 @@ ...@@ -384,6 +388,7 @@
} }
$('#targetType').on('select2:select', function (e) { $('#targetType').on('select2:select', function (e) {
$("#targetObjSelect").bsSuggest("destroy");
// var cardTypeW = $("#cardType option:checked").text(); // 获取选中的名 // var cardTypeW = $("#cardType option:checked").text(); // 获取选中的名
// var targetType = $("#targetType option:checked").val(); // var targetType = $("#targetType option:checked").val();
var targetType = $('#targetType').select2('val'); var targetType = $('#targetType').select2('val');
...@@ -400,8 +405,6 @@ ...@@ -400,8 +405,6 @@
searchUrl = urleval.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) { searchUrl = urleval.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) {
return arrEntities[t]; return arrEntities[t];
}); });
searchUrl = searchUrl.replaceAll(''', ''); //配置生效以后这个可能可去掉
// searchUrl = searchUrl.replaceAll('title=', ''); //配置生效以后这个可能可去掉
$("#targetObjSelectShow").show(); $("#targetObjSelectShow").show();
$("#targetObjInput").hide(); $("#targetObjInput").hide();
......
...@@ -45,10 +45,24 @@ ...@@ -45,10 +45,24 @@
<div class="col-sm-5"> <div class="col-sm-5">
<input th:value="${KylinBannersVo.targetObj}" class="form-control" type="text" placeholder="请填写url" <input th:value="${KylinBannersVo.targetObj}" class="form-control" type="text" placeholder="请填写url"
id="targetObjInput"> id="targetObjInput">
<div hidden="hidden" id="targetObjSelectShow"> <!--<div hidden="hidden" id="targetObjSelectShow">
<select class="form-control" id="targetObjSelect"> <select class="form-control" id="targetObjSelect">
<option value="">--请选择--</option> <option value="">&#45;&#45;请选择&#45;&#45;</option>
</select> </select>
</div>-->
<div hidden class="row" id="targetObjSelectShow">
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" id="targetObjSelect">
<div class="input-group-btn">
<button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -138,6 +152,7 @@ ...@@ -138,6 +152,7 @@
<th:block th:include="include :: select2-js"/> <th:block th:include="include :: select2-js"/>
<th:block th:include="include :: datetimepicker-js"/> <th:block th:include="include :: datetimepicker-js"/>
<th:block th:include="include :: bootstrap-fileinput-js"/> <th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: bootstrap-suggest-js"/>
<script type="text/javascript"> <script type="text/javascript">
var prefix = ctx + "kylin/banners"; var prefix = ctx + "kylin/banners";
var provinces = "[[${provinces}]]"; var provinces = "[[${provinces}]]";
...@@ -156,6 +171,7 @@ ...@@ -156,6 +171,7 @@
var url24 = "[[${url24}]]"; var url24 = "[[${url24}]]";
var url26 = "[[${url26}]]"; var url26 = "[[${url26}]]";
var targetObj = "[[${KylinBannersVo.targetObj}]]"; var targetObj = "[[${KylinBannersVo.targetObj}]]";
var targetObjName = "[[${KylinBannersVo.targetObjName}]]";
var targetObjType = "[[${KylinBannersVo.targetType}]]"; var targetObjType = "[[${KylinBannersVo.targetType}]]";
var provincesListOld = "[[${KylinBannersVo.provincesList}]]"; var provincesListOld = "[[${KylinBannersVo.provincesList}]]";
var coverImg = "[[${KylinBannersVo.coverImg}]]"; var coverImg = "[[${KylinBannersVo.coverImg}]]";
...@@ -181,6 +197,7 @@ ...@@ -181,6 +197,7 @@
var data = $('#form-post-add').serializeArray(); var data = $('#form-post-add').serializeArray();
var targetObj = ''; var targetObj = '';
var targetObjName = '';
if (12 == targetType || 100 == targetType) { // 请填写url if (12 == targetType || 100 == targetType) { // 请填写url
targetObj = $("#targetObjInput").val(); targetObj = $("#targetObjInput").val();
if (!targetObj) { if (!targetObj) {
...@@ -190,7 +207,8 @@ ...@@ -190,7 +207,8 @@
} else if (0 == targetType || 201 == targetType) { // 无需跳转 } else if (0 == targetType || 201 == targetType) { // 无需跳转
targetObj = ''; targetObj = '';
} else { } else {
targetObj = $("#targetObjSelect").val(); targetObj = $("#targetObjSelect").attr("data-id");
targetObjName = $("#targetObjSelect").val();
if (!targetObj) { if (!targetObj) {
layer.msg("请选择跳转的目标"); layer.msg("请选择跳转的目标");
return false; return false;
...@@ -202,6 +220,7 @@ ...@@ -202,6 +220,7 @@
return false; return false;
} }
data.push({"name": "targetObj", "value": targetObj}); data.push({"name": "targetObj", "value": targetObj});
data.push({"name": "targetObjName", "value": targetObjName});
data.push({"name": "bannersId", "value": bannersId}); data.push({"name": "bannersId", "value": bannersId});
/*data.push({"name": "positionList", "value": positionList}); /*data.push({"name": "positionList", "value": positionList});
var provincesList = $.form.selectSelects("provincesList"); var provincesList = $.form.selectSelects("provincesList");
...@@ -323,7 +342,85 @@ ...@@ -323,7 +342,85 @@
});*/ });*/
// 跳转类型选择事件 // 跳转类型选择事件
// 跳转类型选择事件
function targetObjBsSuggest(searchUrl, targetType) {
var bsSuggest = $("#targetObjSelect").bsSuggest({
indexId: 0, // data.value 每组数据的第几个数据,作为input输入框的 data-id,设为 -1 且 idField 为空则不设置此值
indexKey: 1, // data.value 的第几个数据,作为input输入框的内容
showBtn: false, //是否显示下拉按钮
hideOnSelect:true, //鼠标从列表单击选择了值时,是否隐藏选择列表
searchingTip: "获取中...",
clearable: true, //是否可清除已输入的内容
allowNoKeyword: false, // 是否允许无关键字时请求数据
multiWord: false, // 以分隔符号分割的多关键字支持
separator: ",", // 多关键字支持时的分隔符,默认为空格
getDataMethod: "url", // 获取数据的方式,总是从 URL 获取
effectiveFieldsAlias: {
Id: "ID",
Keyword: "名称"
},
showHeader: true,
url: searchUrl + '&title=',
/*优先从url ajax 请求 json 帮助数据,注意最后一个参数为关键字请求参数*/
// jsonp: 'callback',
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
var i, len, data = {
value: []
};
if (!json) {
return false;
}
if (6 == targetType) {
dataList = json.value;
} else if(8 == targetType) {
dataList = json.rows;
} else if(24 == targetType) {
dataList = json.data;
} else if(26 == targetType) {
dataList = json.data;
} else {
dataList = json.data
}
console.log(dataList);
len = dataList.length;
for (i = 0; i < len; i++) {
var Title = '';
var Id = '';
if (6 == targetType) {
Id = dataList[i].performancesId;
Title = dataList[i].title;
} else if(8 == targetType) {
Id = dataList[i].roadShowId;
Title = dataList[i].title;
} else if(24 == targetType) {
Id = dataList[i].id;
Title = dataList[i].collect_name;
} else if(26 == targetType) {
Id = dataList[i].id;
Title = dataList[i].name;
} else {
Id = dataList[i].id;
Title = dataList[i].title;
}
data.value.push({
"Id": Id,
"Title": Title,
});
}
console.log(data);
return data;
}
});
}
function targetType() { function targetType() {
$("#targetObjSelect").bsSuggest("destroy");
var targetType = $('#targetType').select2('val'); var targetType = $('#targetType').select2('val');
if (12 == targetType || 100 == targetType) { // 请填写url if (12 == targetType || 100 == targetType) { // 请填写url
$("#targetObjSelectShow").hide(); $("#targetObjSelectShow").hide();
...@@ -333,11 +430,22 @@ ...@@ -333,11 +430,22 @@
$("#targetObjInput").hide(); $("#targetObjInput").hide();
} else { } else {
var urlVarName = 'url' + targetType; var urlVarName = 'url' + targetType;
var url = eval(urlVarName); var urleval = eval(urlVarName);
var arrEntities = {'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; var arrEntities = {'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"'};
url = url.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); searchUrl = urleval.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) {
return arrEntities[t];
});
$("#targetObjSelectShow").show();
$("#targetObjInput").hide();
if (targetType == targetObjType) { //如果是之前选中的类型 设置值
$("#targetObjSelect").attr("data-id", targetObj);
$("#targetObjSelect").val(targetObjName);
}
targetObjBsSuggest(searchUrl, targetType);
// 获取相关数据 // 获取相关数据
var configUrl = { /*var configUrl = {
url: url, url: url,
type: "get", type: "get",
dataType: "json", dataType: "json",
...@@ -382,7 +490,7 @@ ...@@ -382,7 +490,7 @@
} }
} }
}; };
$.ajax(configUrl) $.ajax(configUrl)*/
} }
} }
......
...@@ -18,6 +18,7 @@ public class BannerDetailsListDao implements Serializable { ...@@ -18,6 +18,7 @@ public class BannerDetailsListDao implements Serializable {
private String targetTypeName; private String targetTypeName;
private String targetObj; private String targetObj;
private String targetObjName;
private Integer isOnline; private Integer isOnline;
private String isOnlineName; private String isOnlineName;
......
...@@ -50,6 +50,7 @@ public class KylinBanners implements Serializable { ...@@ -50,6 +50,7 @@ public class KylinBanners implements Serializable {
* 跳转目标id或者url * 跳转目标id或者url
*/ */
private String targetObj; private String targetObj;
private String targetObjName;
/** /**
* 是否上线展示 0下线 1上线 * 是否上线展示 0下线 1上线
......
...@@ -13,6 +13,7 @@ CREATE TABLE `kylin_banners` ...@@ -13,6 +13,7 @@ CREATE TABLE `kylin_banners`
`cover_img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图', `cover_img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图',
`target_type` smallint NOT NULL DEFAULT 0 COMMENT '跳转类型(由接口提供)', `target_type` smallint NOT NULL DEFAULT 0 COMMENT '跳转类型(由接口提供)',
`target_obj` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 id/url等', `target_obj` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 id/url等',
`target_obj_name` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 name 选择的时候回显使用',
`is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线展示 0下线 1上线', `is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线展示 0下线 1上线',
`online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间', `online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间', `online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
......
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