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

Commit 32c18a1d authored by jiangxiulong's avatar jiangxiulong

banner 下拉改搜索

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