king
2024-04-03 13fcf5880bd38bafe92f0b4a3ede7fd7d5e2448b
src/utils/utils-custom.js
@@ -993,7 +993,7 @@
        forbid: item.query === 'false'
      })
    } else {
      let value = item.initval
      let value = '0'
      let type = item.type
      if (item.type === 'date') {
@@ -1009,13 +1009,11 @@
      } else if (item.type === 'daterange') {
        value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
      } else if (item.type === 'range') {
        value = `${item.minValue},${item.maxValue}`
        value = item.initval || `${item.minValue || '-999999999'},${item.maxValue || '999999999'}`
      } else if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) {
        type = 'multi'
        value = '0'
      } else {
        value = '0'
      }
      newsearches.push({
        key: item.field,
        match: item.match,
@@ -1055,9 +1053,12 @@
      searchText.push(`('${item.value}' ${item.match} '%'+${item.key}+'%')`)
    } else if (item.type === 'date') {
      searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')')
    } else if (item.type === 'dateweek' || item.type === 'range') {
    } else if (item.type === 'dateweek') {
      let val = item.value.split(',')
      searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
    } else if (item.type === 'range') {
      let val = item.value.split(',')
      searchText.push('(' + item.key + ' >= ' + (val[0] || -999999999) + ' AND ' + item.key + ' <= ' + (val[1] || 999999999) + ')')
    } else if (item.type === 'datemonth') {
      if (item.match === '=') {
        searchText.push('(' + item.key + ' = \'' + item.value + '\')')
@@ -1108,7 +1109,7 @@
        })
      }
      
    } else if (['dateweek', 'range'].includes(item.type)) {
    } else if (item.type === 'dateweek') {
      let val = item.value.split(',')
      options.push({
        reg: new RegExp('@' + item.key + '@', 'ig'),
@@ -1116,6 +1117,15 @@
      }, {
        reg: new RegExp('@' + item.key + '1@', 'ig'),
        value: `'${val[1]}'`
      })
    } else if (item.type === 'range') {
      let val = item.value.split(',')
      options.push({
        reg: new RegExp('@' + item.key + '@', 'ig'),
        value: `${val[0] || -999999999}`
      }, {
        reg: new RegExp('@' + item.key + '1@', 'ig'),
        value: `${val[1] || 999999999}`
      })
    } else if (item.type === 'datemonth') {
      if (item.match === '=') {
@@ -1166,6 +1176,57 @@
  })
  return options
}
/**
 * @description 获取搜索字段
 */
export function getSearchFields (searches) {
  if (!searches) return ''
  let _usefulFields = []
  searches.forEach(item => {
    let key = item.key || item.field
    if (!key) return
    if (item.type === 'group') {
      _usefulFields.push(key)
      if (item.datefield) {
        _usefulFields.push(item.datefield)
        _usefulFields.push(item.datefield + '1')
      }
    } else if (item.type === 'dateweek') {
      _usefulFields.push(key)
      _usefulFields.push(key + '1')
    } else if (item.type === 'datemonth') {
      if (item.match === '=') {
        _usefulFields.push(key)
      } else {
        _usefulFields.push(key)
        _usefulFields.push(key + '1')
      }
    } else if (item.type === 'range') {
      _usefulFields.push(key)
      _usefulFields.push(key + '1')
    } else if (item.type === 'daterange') {
      let _skey = key
      let _ekey = key + '1'
      if (/,/.test(key)) {
        _skey = key.split(',')[0]
        _ekey = key.split(',')[1]
      }
      _usefulFields.push(_skey)
      _usefulFields.push(_ekey)
    } else if (item.type === 'date' && _usefulFields.includes(key)) {
      _usefulFields.push(key + '1')
    } else {
      _usefulFields.push(key)
    }
  })
  return _usefulFields.join(', ')
}
/**
@@ -1588,6 +1649,16 @@
  if (card.$c_ds) {
    columns = card.columns.map(c => c.field)
    if (card.setting.primaryKey && !columns.includes(card.setting.primaryKey)) {
      let key = card.setting.primaryKey.toLowerCase()
      columns.forEach(f => {
        if (f.toLowerCase() === key) {
          card.setting.primaryKey = f
        }
      })
    }
    if (card.setting.interType === 'system' && card.setting.execute !== 'false' && !card.setting.dataresource) {
      errors.push({ level: 0, detail: '未设置数据源!'})
    } else if (card.setting.interType === 'system' && card.setting.execute === 'false' && card.scripts.filter(script => script.status !== 'false').length === 0) {
@@ -1648,6 +1719,14 @@
        }
      }
    }
    if (['pop', 'prompt', 'exec'].includes(cell.OpenType) && cell.verify && !cell.output) {
      if (cell.verify.noteEnable === 'true') {
        errors.push({ level: 0, detail: `按钮“${cell.label}”未设置返回值短信发送无效!`})
      } else if (cell.verify.emailEnable === 'true') {
        errors.push({ level: 0, detail: `按钮“${cell.label}”未设置返回值邮件发送无效!`})
      }
    }
  }
  if (card.$c_ac) {