123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- // 选中的地区集合
- var selectArea = []
- var selectAreaCity = []
- var selectAreaNow = null
- var keyAllArr = []
- /* 切换市区显示 */
- 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)
- tempHTML += '<span class="select-area" style="margin-right: 10px;">全省</span>';
- console.log('--arr--', arr)
- arr.forEach(function (value) {
- console.log('--value--', value.name)
- tempHTML += '<span class="select-area">' + value.name.replace(/市$/g,'') + '</span>'
- })
- box.html(tempHTML)
- }
- /* 省地区选中 */
- $(document).on('click','span.select-area', function () {
- var dom = $(this)
- var t = dom.text()
- if(t === '全国'){
- return addDelBox(t,'#area-del')
- }
- if(t === '全省'){
- t = selectAreaNow;
- }
- /* 判断来源 */
- var f = dom.parent().parent().hasClass('dialog')
- if(f) {
- if(selectAreaCity.indexOf(t) !== -1) {
- selectAreaCity.splice(selectAreaCity.indexOf(t),1)
- } else {
- selectAreaCity.push(t)
- }
- dom.toggleClass('select')
- return true
- } else {
- if(t !== selectAreaNow) {
- selectAreaCity = []
- }
- 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
- })
- if(area.ProRemark !== '直辖市') {
- var top = ["安徽", "北京", "重庆", "福建", "广东", "广西", "贵州", "甘肃", "河北", "湖北", "黑江", "海南", "河南", "湖南", "吉林", "江苏", "江西"]
- if(top.indexOf(t) !== -1) {
- $(".dialog").addClass('top')
- } else {
- $(".dialog").removeClass('top')
- }
- dom.addClass('click')
- toggleDialog(true)
- showMoreCity(area.city)
- } else {
- addDelBox(t,'#area-del')
- toggleDialog(false)
- }
- })
- /* 删除地区标签 */
- $(document).on('click','.delete-close>i',function () {
- var dom = $(this).parent()
- var arr = dom.attr('data-arr')
- var index = dom.index()
- window[arr].splice(index,1)
- dom.remove()
- })
- /*移除delBox*/
- function removeDelBox(select) {
- $("#area-del").find("div[data-arr='selectArea'][data-val='全国']").remove();
- if(select=="全国"){
- $("#area-del").html("");
- }else if (select=="全省"){
- }else{
- }
- }
- /* 添加可删除标签 */
- function addDelBox(str,box,arr,template){
- // removeDelBox(str);
- // console.log('--template,arr--', template,arr)
- arr = arr || 'selectArea'
- var tempKey = arr ? 'data-arr="'+arr+'"' : ''
- var dataVal = 'data-val="'+str+'"';
- template = template || '<div '+tempKey+' class="delete-close" '+dataVal+'>'+str+'<i class="iconfont icon-guanbi"></i></div>'
- 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)
- }
- }
- /* 确定选中 */
- function areaSelect (f) {
- if(f) {
- selectAreaCity.forEach(function (value) {
- addDelBox(value,'#area-del')
- })
- } else {
- selectAreaCity = []
- }
- $("span.select-area").removeClass('click')
- selectAreaNow = null
- toggleDialog(false)
- }
- /* 输入事件 */
- $(".user-input input").on('input',function () {
- var dom = $(this)
- var f = 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 '<span>'+value+'</span>'
- }).join('')
- return '<div class="text-box float-box '+clazz+'"><div class="title">'+title+':</div><div class="title-other float-box">'+all+'</div></div>'
- }
- /* 添加关键词标签 */
- 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 = '<div data-index="'+keyAllArr.length+'" data-arr="inputDel_0" class="delete-close">'+all+' <i class="iconfont icon-guanbi"></i> </div>'
- return template
- }
- /* 添加可删除Input标签 */
- function addDelInput(t,type) {
- var text = $(t).prev().val()
- // console.log('--text--', text)
- var box = 'inputDel_' + type
- var template = null
- var arr = box
- switch (type) {
- case 0: {
- template = createKeyBox(text)
- box += ' .column:eq('+(keyAllArr.length % 3)+')'
- keyAllArr.push({
- name: text,
- append: appendArr,
- exclude: excludeArr
- })
- appendArr = []
- excludeArr = []
- $(".add-input-w input.sm").remove()
- break
- }
- case 1:{
- break
- }
- case 2:{
- break
- }
- }
- $(t).prev().val('')
- $(t).hide()
- addDelBox(text,'#'+box,arr,template)
- }
- /* 添加排除/附加词 */
- var excludeArr = []
- var appendArr = []
- function addOtherInput(t,f) {
- var temp = f ? '请输入附加词' : '请输入排除词'
- var input = document.createElement('input')
- input.className = 'sm'
- input.placeholder = temp
- // console.log('--$(input)--', $(input))
- if(f){
- var l = appendArr.length
- $(input).on('input',function () {
- appendArr[l] = $(this).val()
- })
- }else {
- var l = excludeArr.length
- $(input).on('input',function () {
- excludeArr[l] = $(this).val()
- })
- }
- $(t).before(input)
- }
- /* 关键词标签点击修改 */
- var nowSpan = null
- $(document).on('click','#inputDel_0 .title-other>span',function (e) {
- 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()
- }
- /*行业筛选*/
- //industryScreening($(".industry .industry-content"), $(".industry-content .parent-node"), $("#induAll"), $(".industry .stop"))
- /*
- * warpContent 外层元素
- * parentNode 标题父元素
- * allBtn 全国按钮
- * moreBtn 展开更多(没有功能可以不写)
- */
- function industryScreening(warpContent, parentNode, allBtn, moreBtn) {
- var $content = warpContent,
- $moreBtn = moreBtn || "",
- $parentNode = parentNode,
- $induAll = allBtn;
- /*更多显示 影藏*/
- if($moreBtn !== "") {
- /*影藏行业*/
- $content.children().not(".parent-node").hide();
- $moreBtn.on('click', function() {
- $(this).toggleClass("up");
- if($(this).hasClass("up")) {
- $(this).text("收起");
- $content.children().show();
- } else {
- $(this).text("更多");
- $content.children().not(".parent-node").hide();
- }
- });
- }
- /*全选功能*/
- $content.on('click', 'font:not(".parent-node")', function() {
- /*子级全选添加类名*/
- var $preChdlren = $(this).prevAll(".parent-node:eq(0)").nextUntil(".diver");
- var $prevNode = $(this).prevAll(".parent-node:eq(0)");
- $(this).toggleClass("active");
- if($prevNode.nextUntil(".diver").filter(".active").length === 0) {
- $prevNode.removeClass("active").removeClass("secondActice");
- } else if($prevNode.nextUntil(".diver").filter("font").length === $prevNode.nextUntil(".diver").filter(".active").length) {
- $prevNode.addClass("active").removeClass("secondActice");
- } else {
- $prevNode.removeClass("active").addClass("secondActice");
- }
- });
- $parentNode.on('click', function() {
- $(this).toggleClass("active").removeClass("secondActice");
- var $nextALLChildren = $(this).nextUntil('.diver');
- if(!$(this).hasClass('active')) {
- $nextALLChildren.removeClass('active');
- } else {
- $nextALLChildren.addClass('active');
- }
- });
- /*如果点击没有内容给全部添加类名*/
- $content.on("click", "font", function() {
- if($content.children().hasClass("active")) {
- $induAll.removeClass("active");
- } else {
- $induAll.addClass("active");
- }
- })
- /*全部点击*/
- $induAll.on("click", function() {
- $(this).addClass("active");
- $content.children().not($(this)).removeClass("active secondActice")
- })
- };
|