king
2020-05-03 6def3330d1d1cf4036916ed04c8bbc4128e1e5d0
src/utils/utils.js
@@ -360,6 +360,95 @@
  }
  /**
   * @description 拼接搜索条件main
   * @param {Array}   searches     搜索条件
   * @return {String}  searchText  拼接结果
   */
  static getAllSearchOptions (searches) {
    if (!searches || searches.length === 0) return []
    let options = []
    let fieldmap = new Map()
    searches.forEach(search => {
      let item = {
        key: search.key,
        match: search.match,
        type: search.type,
        label: search.label,
        value: search.value,
        required: search.required
      }
      if (fieldmap.has(item.key)) {
        item.key = item.key + '1'
      }
      fieldmap.set(item.key, true)
      if (item.type === 'date') {
        if (['>=', '>'].includes(item.match)) {
          item.value = item.value ? item.value + ' 00:00:00.000' : '1990-01-01 00:00:00.000'
        } else if (['<=', '<'].includes(item.match)) {
          item.value = item.value ? moment(item.value, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000'
        }
        options.push(item)
      } else if (item.type === 'datemonth') {
        let _startval = item.value ? moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' : '1990-01-01 00:00:00.000'
        let _endval = item.value ? moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000'
        let copy = JSON.parse(JSON.stringify(item))
        copy.key = copy.key + '1'
        copy.value = _endval
        item.value = _startval
        options.push(item)
        options.push(copy)
      } else if (item.type === 'dateweek') {
        let _startval = item.value && item.value[0] ? moment(item.value[0], 'YYYY-MM-DD').format('YYYY-MM-DD') + ' 00:00:00.000' : '1990-01-01 00:00:00.000'
        let _endval = item.value && item.value[1] ? moment(item.value[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000'
        let copy = JSON.parse(JSON.stringify(item))
        copy.key = copy.key + '1'
        copy.value = _endval
        item.value = _startval
        options.push(item)
        options.push(copy)
      } else if (item.type === 'daterange') {
        let _startval = item.value && item.value[0] ? item.value[0] + ' 00:00:00.000' : '1990-01-01 00:00:00.000'
        let _endval = item.value && item.value[1] ? moment(item.value[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000'
        let copy = JSON.parse(JSON.stringify(item))
        copy.key = copy.key + '1'
        copy.value = _endval
        item.value = _startval
        options.push(item)
        options.push(copy)
      } else if (item.type === 'multiselect') {
        item.value = item.value ? item.value.join(',') : item.value
        options.push(item)
      } else if (item.type === 'text') {
        item.key.split(',').forEach(field => { // 综合搜索,所字段拼接
          let cell = JSON.parse(JSON.stringify(item))
          cell.key = field
          options.push(item)
        })
      } else {
        options.push(item)
      }
    })
    return options
  }
  /**
   * @description 拼接搜索条件datamanage
   * @param {Array}   searches     搜索条件
   * @return {String}  searchText  拼接结果