king
2024-02-03 131bc212f0cfe964c9a38bbe6178aca4f4a16677
src/utils/utils-custom.js
@@ -6,7 +6,7 @@
   * @description 获取下级模块
   * @return {String}  selfId  当前组件id
   */
  static getSubModules (components, selfId, supId) {
  static getSubModules (components, selfId, supId, interfaces) {
    let modules = []
    components.forEach(item => {
      if (item.uuid === selfId || item.type === 'navbar') {
@@ -17,6 +17,17 @@
          label: item.name,
          disabled: supId === item.uuid
        })
        if (item.type === 'form' && item.subtype === 'simpleform' && item.wrap.refocus && supId !== item.uuid) {
          modules.push({
            value: item.uuid + '$focus-refresh',
            label: item.name + '(刷新-聚焦)',
          })
          modules.push({
            value: item.uuid + '$focus-nofresh',
            label: item.name + '(不刷新-聚焦)',
          })
        }
      } else if (item.type === 'tabs') {
        if (item.subtype === 'tabletabs') {
          item.subtabs.forEach(tab => {
@@ -83,6 +94,15 @@
        }
      }
    })
    if (interfaces && interfaces.length > 0) {
      interfaces.forEach(item => {
        modules.push({
          value: item.uuid,
          label: item.name
        })
      })
    }
    return modules
  }
@@ -672,11 +692,23 @@
    }
    if (btn.syncComponent && btn.syncComponent[0] === 'multiComponent' && btn.syncComponents) {
      btn.syncComponents = btn.syncComponents.map(m => {
        m.syncComId = m.syncComId.map(n => md5(commonId + n))
        m.syncComId = m.syncComId.map(n => {
          if (/\$focus/.test(n)) {
            return md5(commonId + n.split('$')[0]) + '$' + n.split('$')[1]
          }
          return md5(commonId + n)
        })
        return m
      })
    } else if (btn.syncComponent && btn.syncComponent.length > 0) {
      btn.syncComponent = btn.syncComponent.map(m => md5(commonId + m))
      btn.syncComponent = btn.syncComponent.map(m => {
        if (/\$focus/.test(m)) {
          return md5(commonId + m.split('$')[0]) + '$' + m.split('$')[1]
        }
        return md5(commonId + m)
      })
    }
  }
@@ -696,7 +728,7 @@
  * @description 重置组件配置
  * @return {String}  item 组件信息
  */
  static resetComponentConfig = (item, appType) => {
  static resetComponentConfig = (item, appType, commonId) => {
    if (item.type === 'navbar') {
      return item
    }
@@ -704,9 +736,6 @@
    if (item.subtype === 'tablecard') { // 兼容
      item.type = 'card'
    }
    item.uuid = this.getuuid()
    let commonId = this.getuuid()
    // 重置组件名称
    let sign = this.getSignName()
@@ -931,20 +960,6 @@
      })
    }
    if (item.setting && item.setting.supModule && item.setting.supModule[0] !== 'empty') {
      item.setting.supModule = ''
    }
    if (item.wrap && item.wrap.supType === 'multi') {
      item.wrap.supType = 'single'
      delete item.supNodes
    }
    if (item.wrap && item.wrap.supModule) {
      item.wrap.supModule = ''
    }
    if (item.wrap && item.wrap.doubleClick) {
      item.wrap.doubleClick = md5(commonId + item.wrap.doubleClick)
    }
@@ -984,7 +999,11 @@
      if (item.type === 'date') {
        value = '1949-10-01 00:00:00.000'
      } else if (item.type === 'datemonth') {
        value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
        if (item.match === '=') {
          value = '1949-10'
        } else {
          value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
        }
      } else if (item.type === 'dateweek') {
        value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
      } else if (item.type === 'daterange') {
@@ -1036,9 +1055,16 @@
      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 === 'datemonth' || item.type === 'dateweek' || item.type === 'range') {
    } else if (item.type === 'dateweek' || item.type === 'range') {
      let val = item.value.split(',')
      searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
    } else if (item.type === 'datemonth') {
      if (item.match === '=') {
        searchText.push('(' + item.key + ' = \'' + item.value + '\')')
      } else {
        let val = item.value.split(',')
        searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
      }
    } else if (item.type === 'daterange') {
      let val = item.value.split(',')
@@ -1081,7 +1107,8 @@
          value: `'${item.value}'`
        })
      }
    } else if (['dateweek', 'datemonth', 'range'].includes(item.type)) {
    } else if (['dateweek', 'range'].includes(item.type)) {
      let val = item.value.split(',')
      options.push({
        reg: new RegExp('@' + item.key + '@', 'ig'),
@@ -1090,6 +1117,22 @@
        reg: new RegExp('@' + item.key + '1@', 'ig'),
        value: `'${val[1]}'`
      })
    } else if (item.type === 'datemonth') {
      if (item.match === '=') {
        options.push({
          reg: new RegExp('@' + item.key + '@', 'ig'),
          value: `'${item.value}'`
        })
      } else {
        let val = item.value.split(',')
        options.push({
          reg: new RegExp('@' + item.key + '@', 'ig'),
          value: `'${val[0]}'`
        }, {
          reg: new RegExp('@' + item.key + '1@', 'ig'),
          value: `'${val[1]}'`
        })
      }
    } else if (item.type === 'daterange') {
      let val = item.value.split(',')
      let _skey = item.key
@@ -1605,6 +1648,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) {