// 选中的地区集合
var selectProvince = [] ;//20181217
var selectArea = []
var selectAreaCity = []
var selectAreaNow = null
var selectAreaArr = []
var keyAllArr = []
//毫秒值
var msecs = 1000;
// var beforeDelKeyIndex = null
/* 切换市区显示 */
function toggleDialog(f) {
if(f) {
$(".dialog").show()
}else {
$(".dialog").hide()
}
}
/* 添加市Span */
function showMoreCity (arr) {
var box = $('.dialog>.select-area-box')
var tempHTML = ''
box.html(tempHTML)
// console.log('--arr--', arr)
arr.forEach(function (value) {
// console.log('--value--', value.name)
var are = value.name;
//已选地区,展开省市时需选中
var clazz = "";
if(selectArea.length>0){
if((are=="全省" && selectAreaNow && $.inArray(selectAreaNow,selectProvince)!=-1) || $.inArray(are,selectArea)!=-1){
clazz = "select";
selectAreaCity.push(are);
}
}
tempHTML += '' + are + ''
})
box.html(tempHTML)
}
/* 省地区选中 */
$(document).on('click','span.select-area', function () {
var dom = $(this)
var t = dom.text()
if(t === '全国'){
selectProvince = [];
selectArea.forEach(function (value) {
delAddBox(value)
})
return addDelBox(t,'#area-del')
}
/* 判断来源 */
var f = dom.parent().parent().hasClass('dialog')
if(f) {
// console.log(t)
if(t === '全省') {
// console.log($(this))
selectAreaCity = [t]
$(this).nextAll().removeClass('select')
} else {
var tempI = selectAreaCity.indexOf('全省')
if(tempI !== -1) {
selectAreaCity.splice(tempI,1)
}
if(selectAreaCity.indexOf(t) !== -1) {
selectAreaCity.splice(selectAreaCity.indexOf(t),1)
} else {
selectAreaCity.push(t)
}
$(this).parent().children('.select-area:eq(0)').removeClass('select')
}
dom.toggleClass('select')
return true
} else {
if(t !== selectAreaNow) {
selectAreaCity = []
}
delAddBox('全国')
selectAreaNow = t
}
/* 展开市级 */
dom.siblings().removeClass('click')
var area = null
chinaMapJSON.some(function (value) {
var f = value.name.indexOf(t) !== -1
if (f) {
area = value
}
return f
})
//console.log("t:"+t)
if(area.ProRemark !== '直辖市'&& area.ProRemark!='特别行政区'&& t!='台湾') {
var top = ["安徽", "北京", "重庆", "福建", "广东", "广西", "贵州", "甘肃", "河北", "湖北", "黑江", "海南", "河南", "湖南", "吉林", "江苏", "江西"]
if(top.indexOf(t) !== -1) {
$(".dialog").addClass('top')
} else {
$(".dialog").removeClass('top')
}
dom.addClass('click')
toggleDialog(true)
var tempA = [{name: '全省'}].concat(area.city)
selectAreaArr = area.city.map(function (v) {
// return v.name.replace(/市$/g,'')
return v.name
})
// console.log(area.city);
showMoreCity(tempA)
} else {
addDelBox(t,'#area-del')
toggleDialog(false)
selectProvince.push(t);
}
})
/* 删除地区标签 */
$(document).on('click','.delete-close>i',function () {
var dom = $(this).parent()
var arr = dom.attr('data-arr')
var index = dom.index()
var f = arr === "inputDel_0"
if(f) {
// beforeDelKeyIndex = dom.parent().index('#inputDel_0 .column')
index = window[arr].indexOf(dom.find('.key span').text())
// console.log(index)
window[arr].splice(index,1)
keyAllArr.splice(index,1)
dom.remove()
} else {
window[arr].splice(index,1)
var i = selectProvince.indexOf(dom.text());
if (i != -1){
selectProvince.splice(i,1);
}
dom.remove()
//20181228
if(arr == "selectArea" && $("#area-del").children().length==0){
resetAreaLT();
}
}
//20181227
if (arr && arr.indexOf("inputDel")>-1){
if($("div[data-arr='"+arr+"']").length==0){
$("div[id='"+arr+"']").siblings(".user-input").find("input").show();
$("div[id='"+arr+"']").siblings(".add-input-w-").hide();
}
}
})
/*移除delBox*/
function removeDelBox(select) {
$("#area-del").find("div[data-arr='selectArea'][data-val='全国']").remove();
if(select=="全国"){
if(!Array.isArray(window['selectArea'])) {
window['selectArea'] = []
}
$("#area-del").html("");
}else if (select=="全省"){
$("#area-del").find("div[data-arr='selectArea'][data-parent='"+select+"']").remove();
window['selectArea'].splice()
}else{
}
}
/* 添加可删除标签 */
function addDelBox(str,box,arr,template){
// console.log('--template,arr--', template,arr)
arr = arr || 'selectArea'
var tempKey = arr ? 'data-arr="'+arr+'"' : ''
template = template || '
'+str+'
'
var tempArr = window[arr]
if(!Array.isArray(tempArr)) {
window[arr] = []
tempArr = window[arr]
}
if(tempArr.indexOf(str) === -1) {
var pDom = $(box)
var tempHTML = pDom.html() + template
pDom.html(tempHTML)
tempArr.push(str)
}
//20181228
if(box == "#area-del" && $(box).children().length>0){
$(box).parent().prev().css("padding-top","20px");
}
}
/* 确定选中 */
function areaSelect (f) {
if(f) {
// console.log(selectAreaCity);
var sf = selectAreaCity.indexOf('全省') !== -1
if(sf) {
if (selectProvince.indexOf(selectAreaNow) ==-1 ){
selectProvince.push(selectAreaNow)
}
selectAreaCity = [selectAreaNow]
// console.log('s1',selectArea)
selectAreaArr.forEach(function (value) {
var tempI = selectArea.indexOf(value)
// console.log(value,tempI)
if(tempI !== -1) {
delAddBox(value)
}
})
addDelBox(selectAreaNow,'#area-del')
} else {
delAddBox(selectAreaNow)
selectAreaCity.forEach(function (value) {
addDelBox(value,'#area-del')
})
}
} else {
selectAreaCity = []
}
$("span.select-area").removeClass('click')
selectAreaNow = null
toggleDialog(false)
//20181228
if(selectArea.length == 0){
resetAreaLT();
}
}
/* 删除box */
function delAddBox(n) {
$('#area-del .delete-close').each(function () {
if($(this).text() === n) {
var i = selectProvince.indexOf(n);
if (i != -1){
selectProvince.splice(i,1);
}
$(this).remove()
}
})
selectArea = []
$('#area-del .delete-close').each(function () {
selectArea.push($(this).text())
})
}
/* 输入事件 */
$(".user-input input").on('input',function () {
var dom = $(this)
var f = $.trim(dom.val()).length> 0
if(f) {
dom.next().show()
} else {
dom.next().hide()
}
})
/* 生成子标签 */
function createCKey(title,arr,clazz) {
if(arr.length === 0) {
return ''
}
var all = arr.map(function (value) {
return ''+value+''
}).join('')
return ''
}
/* 添加关键词标签 */
function createKeyBox(t) {
var appArr = appendArr
var exArr = excludeArr
var key = t
var all = createCKey('关键词',[key],"key") + createCKey('附加词',appArr,"app") + createCKey('排除词',exArr,"ex")
var template = ''+all+'
'
return template
}
function fixLeft(){
var one = $("#inputDel_0 .column:eq(0)")
var two = $("#inputDel_0 .column:eq(1)")
var three = $("#inputDel_0 .column:eq(2)")
// console.log(one.children('div').length,two.children('div').length,three.children('div').length)
if(one.children('div').length === 0) {
two.css('margin-left','0')
}else {
two.css('margin-left','8px')
}
if(two.children('div').length === 0) {
two.css('margin-left','8px')
if(one.children('div').length === 0){
three.css('margin-left','0')
}else {
three.css('margin-left','8px')
}
}else {
three.css('margin-left','8px')
}
if(three.children('div').length === 0) {
three.css('margin-left','8px')
}
}
$("#inputDel_0 .column").on('DOMNodeRemoved','div',function(){
// console.log('-----------------------')
setTimeout(function(){
fixLeft()
},80)
})
/* 添加可删除Input标签 */
function addDelInput(t,type) {
var d = document.createElement('div')
var text = $(t).prev().val()
if(!text){
return;
}
$(d).html(text)
text = $(d).text()
text = text.replace(/(^\s*)|(\s*$)/g, "");
// console.log('--text--', text)
var box = 'inputDel_' + type
var template = null
var arr = box
switch (type) {
case 0: {
template = createKeyBox(text)
var LArr = [$("#inputDel_0 .column:eq(0)>div").length,$("#inputDel_0 .column:eq(1)>div").length,$("#inputDel_0 .column:eq(2)>div").length]
var tempI = LArr.indexOf(Math.min(LArr[0],LArr[1],LArr[2]))
box += ' .column:eq('+(tempI)+')'
var tempArr = keyAllArr.map(function(v){return v.name})
if(tempArr.indexOf(text) === -1) {
keyAllArr.push({
name: text,
append: appendArr,
exclude: excludeArr
})
}
appendArr = []
excludeArr = []
$(".add-input-w input.sm").remove()
$(".add-input-w").css("display","none");
$("#addKeyword").css("display","block");
setTimeout(function(){
fixLeft()
},80)
break
}
case 1:{
$("#addBuyer").css("display","block");
break
}
case 2:{
$("#addWinner").css("display","block");
break
}
}
$(t).prev().val('')
$(t).prev().hide();
$(t).hide()
addDelBox(text,'#'+box,arr,template)
}
/* 采购单位、中标单位 input-blur -- 添加可删除Input标签 -- 20190103*/
function addDelInputB(t,type) {
setTimeout(() => {
dataNode.buyerSearchListShow = false
dataNode.winnerSearchListShow = false
$('.buyer-search-list').hide()
$('.winner-search-list').hide()
var d = document.createElement('div');
var text = $(t).val();
if(!text){
return;
}
$(d).html(text);
text = $(d).text();
text = text.replace(/(^\s*)|(\s*$)/g, "")
var box = 'inputDel_' + type;
var arr = box;
switch (type) {
case 1:{
$("#addBuyer").show(msecs);
break
}
case 2:{
$("#addWinner").show(msecs);
break
}
}
$(t).val('');
$(t).hide();
addDelBox(text,'#'+box,arr,null);
}, 500);
}
/* 添加排除/附加词 */
var excludeArr = []
var appendArr = []
function addOtherInput(t,f) {
if($("#keyInput").val()==""){
return false;
}
var temp = f ? '请输入附加词' : '请输入排除词'
var input = document.createElement('input')
input.className = 'sm'
input.placeholder = temp
input.maxLength = 20;
// console.log('--$(input)--', $(input))
if(f){
var l = appendArr.length
$(input).on('input',function () {
var val = $.trim($(this).val()).replace(/\s/g,"");
if(val){
appendArr[l] = val
}else {
appendArr.splice(l,1)
}
})
}else {
var l = excludeArr.length
$(input).on('input',function () {
var val = $.trim($(this).val()).replace(/\s/g,"");
if(val){
excludeArr[l] = val
}else{
excludeArr.splice(l,1)
}
})
}
$(t).before(input)
$(input).focus();
}
/* 关键词标签点击修改 */
var nowSpan = null
var dataIndex = 0;
var textBoxClass = "";
$(document).on('click','#inputDel_0 .title-other>span',function (e) {
var par = $(this).parent().parent();
dataIndex = par.parent().attr("data-index");
if(par.hasClass("key")){
textBoxClass = "key";
}else if(par.hasClass("app")){
textBoxClass = "app";
}else if(par.hasClass("ex")){
textBoxClass = "ex";
}
var xy = $(this).offset()
// console.log('--xy--', xy)
var x = xy.top + 30
var maxY = $(document).width() - 600
var y = maxY < xy.left ? maxY : xy.left
nowSpan = $(this)
// console.log('--$(this).offset()--', xy)
var text = $(this).text()
$('.edit-user-input').children('.up-icon').css({
left: xy.left - y + 'px'
})
$('.edit-user-input').css({
top: x + 'px',
left: y + 'px'
}).show().children('input').val(text)
// console.log('--text--', text)
})
/* 修改关键词标签文字 */
$(".edit-user-input").click(function (e) {
e.stopPropagation()
e.preventDefault()
})
$('.conditions-box').click(function () {
hideEdit()
})
function hideEdit () {
$('.edit-user-input').hide()
$(".edit-user-input input").val('')
}
function editInput(t,f){
var dom = $(t)
var text = $(t).siblings('input.sm').val()
if(f) {
nowSpan.text(text)
} else {
nowSpan.remove()
}
hideEdit()
editKeywordBox();
}
/*删除关键词时,删除box;全部删除附加词或者排除词时,删除子box 20181227*/
function editKeywordBox() {
var par = $("div[data-arr='inputDel_0'][data-index="+dataIndex+"]");
var son = par.children("."+textBoxClass).find("div:eq(1)");
var htm = son.html();
if(!htm){
if(textBoxClass=="key"){
par.remove();
$("div[id='inputDel_0']").siblings(".user-input").find("input").show();
$("div[id='inputDel_0']").siblings(".add-input-w-").css("display","none");
}else{
son.parent().remove();
}
}
}
/*重置,区域-左侧标签居上距离 20181228*/
function resetAreaLT() {
$("#area-del").parent().prev().css("padding-top","8px");
}