Ejemplo n.º 1
0
Archivo: search.js Proyecto: cqkj/MDHW
// 搜索切换
export default function search() {
  // $from('.srchBtn_list_item').forEach(el => {
  //   el.addEventListener('click', e => {
  //     if (e.target.classList.contains('srchBtn_list_item-bgColor')) return
  //     $from(e.target.parentElement.children).forEach((_e, _index) => {
  //       _e.classList.remove('srchBtn_list_item-bgColor')
  //     })
  //     e.target.classList.add('srchBtn_list_item-bgColor')
  //   })
  // })
  const load = document.querySelector('.list_load');
  const config = {
    template,
    load,
    api: '/m/srdz/project/list',
    container: document.querySelector('.hostlist'),
    params: {
      pageIndex: 1,
      pageSize: 10
    }
  };

  doSearch({
    config,
    keywordProp: 'title',
    srchbtn: '.srch_btn'
  });

  showFilter();
  selectFilter((filter, type) => {
    if (filter.indexOf(' ')) {
      const filtermin = filter.split(' ')[0];
      const filtermax = filter.split(' ')[1];
      const typemin = type.split('-')[0];
      const typemax = type.split('-')[1];
      config.params[filtermin] = typemin;
      config.params[filtermax] = typemax;
    } else {
      config.params[filter] = type;
    }
    config.params.pageIndex = 0;
    config.immediate = true;
    render(config);
  });

  const s = location.search;
  if (/(^\?|&)kw\=/.test(s)) {
    const c = Object.assign({}, config);
    const value = s.replace(/(?:^\?|&)kw\=([^&]*)(&.*|$)/, (str, $1) => $1);
    c.params.title = value;
    c.immediate = false;
    render(c);
  }
}
Ejemplo n.º 2
0
Archivo: list.js Proyecto: cqkj/MDHW
export default function list() {
  function template(data) {
    return data.result.data.reduce((pre, cur) => {
      const url = `http://${CDN_HOST}/mstatic/img/lqt.png`;
      return (
        `${pre}<li class="list_item list_item-border">
          <a class="linkWrapper" href="http://${ZCKJ_HOST}/m/home/detail/${cur.id}">
            <div class="list_item_img"><img src="${url}" alt="${cur.name}"></div>
            <div class="list_item_text">
              <p class="list_item_text_p list_item_text_p-title">${cur.name}</p>
              <p class="list_item_text_p list_item_text_p-light">${cur.province}${cur.city}${cur.addr}<p>
              <button type="button" class="list_item_btn">申请入驻</button>
            </div>
          <div class="list_item_icon"><img src="http://${CDN_HOST}/mstatic/img/iconfont-qiyerenzheng1.png" alt=""></div>
          </a>
        </li>`
      );
    }, '');
  }
  const load = document.querySelector('.list_load');
  const config = {
    template,
    load,
    api: '/m/zckj/makerspace/list',
    params: {
      pageIndex: 1,
      pageSize: 10
    },
    container: document.querySelector('.list')
  };
  render(config);
  doSearch({
    config,
    srchbtn: '.header_srch_btn',
    keywordProp: 'name'
  });
  // 过滤
  showFilter();
  selectFilter((filter, type) => {
    config.params.pageIndex = 0;
    config.params[filter] = type;
    config.immediate = true;
    render(config);
  });
  generateAreaFilter();
}
Ejemplo n.º 3
0
Archivo: search.js Proyecto: cqkj/MDHW
export default function search() {
  const load = document.querySelector('.list_load');
  const config = {
    template,
    load,
    api: '/m/diy/project/List',
    params: {
      pageIndex: 1,
      pageSize: 10
    },
    container: $('.hostlist')
  };

  doSearch({
    config,
    keywordProp: 'title',
    srchbtn: '.srch_btn'
  });

// 过滤
  showFilter();
  selectFilter((filter, type) => {
    if (/^[0-9]/.test(type)) {
      type = +type;
    }
    config.params.pageIndex = 0;
    config.params[filter] = type;
    config.immediate = true;
    render(config);
  });

  const s = location.search;
  if (/(^\?|&)kw\=/.test(s)) {
    const c = Object.assign({}, config);
    const value = s.replace(/(?:^\?|&)kw\=([^&]*)(&.*|$)/, (str, $1) => $1);
    c.params.title = value;
    c.immediate = false;
    render(c);
  }
}
Ejemplo n.º 4
0
Archivo: search.js Proyecto: cqkj/MDHW
export default function search() {
  // 搜索类型选择
  const select = $('.header_srch_select');
  $('.header_srch_label').addEventListener('click', (e) => {
    e.stopPropagation();
    // 切换显示
    select.classList.toggle('is-show');
    // 切换选择项
    if (e.target.classList.contains('header_srch_select_item')) {
      const searchText = e.currentTarget.querySelector('.header_srch_label_text');
      const text = e.target.textContent.trim();
      searchText.textContent = text;
      searchText.setAttribute('data-type', searchText.textContent === '职位' ? 1 : 2);
    }
  });
  // 隐藏搜索类型选择
  document.body.addEventListener('click', () => {
    select.classList.remove('is-show');
  });

  const load = document.querySelector('.list_load');
  const config = {
    load,
    template: zwTemplate,
    api: '/m/HR/Job/list',
    params: {
      pageIndex: 1,
      pageSize: 10
    },
    replace: true,
    container: document.querySelector('.list')
  };

  doSearch({
    config,
    keywordProp: 'zwmc',
    srchbtn: '.header_srch_btn',
    url: (config, keyword) => {
      const searchText = document.querySelector('.header_srch_label_text');
      const type = searchText.getAttributeNode('data-type').value;
      if (+type === 1) {
        config.template = zwTemplate;
        config.api = '/m/HR/Job/list';
        config.params.compay = '';
        config.params.zwmc = keyword;
      } else {
        config.template = gsTemplate;
        config.api = '/m/HR/Company/list';
        config.params.zwmc = '';
        config.params.compay = keyword;
      }
    }
  });

  // 过滤
  fixFilter();
  showFilter();
  hideFilter();
  selectFilter((filter, type) => {
    config.params.pageIndex = 0;
    config.params[filter] = type;
    config.immediate = true;
    render(config);
  });
  moreFilter((filter, type) => {
    config.params.pageIndex = 0;
    config.params[filter] = type;
    config.immediate = true;
  }, () => {
    config.params.gzjy = '';
    config.params.xlyq = '';
    config.params.gsgm = '';
    config.params.sort = '';
    config.params.pageIndex = 0;
    config.immediate = true;
    render(config);
  });
  // 更多选择
  $('.filter_content_btn-post').addEventListener('click', () => {
    render(config);
  });
  generateAreaFilter();
}