king
2023-11-30 a6be5cfd9c6fb084af584b77f79100fe32b385c1
src/tabviews/custom/popview/index.jsx
@@ -123,6 +123,11 @@
      })
    }
    if (Tab.$process && window.GLOB.UserCacheMap.has(Tab.$flowId)) {
      let flow = window.GLOB.UserCacheMap.get(Tab.$flowId)
      regs.push({ reg: /@works_flow_code@/ig, value: `'${flow.flow_code || ''}'` })
    }
    config.components = this.filterComponent(config.components, roleId, balMap, param, Tab, Tab.uuid, Tab.uuid)
    
    // 获取主搜索条件
@@ -131,7 +136,7 @@
      if (param.$searchkey) {
        component.search = component.search.map(item => {
          if (['text', 'select', 'link'].includes(item.type) && param.$searchkey === item.field) {
          if (['text', 'select', 'link', 'checkcard'].includes(item.type) && param.$searchkey === item.field) {
            item.initval = param.$searchval
          }
@@ -153,7 +158,7 @@
    config.components = this.formatSetting(config.components, params, regs, balMap)
    if ([...balMap.keys()].length > 0) {
    if (balMap.size > 0) {
      config.components = this.filterBalcony(config.components, balMap)
    }
@@ -185,7 +190,7 @@
        delete item.style.shadowColor
      }
      item.$menuname = (Tab.label || '') + '-' + (item.name || '')
      item.$menuname = (Tab.logLabel || Tab.label || '') + '-' + (item.name || '')
      if (item.type === 'tabs') {
        if (
@@ -395,9 +400,13 @@
      
            if (col.linkmenu && col.linkmenu.length > 0) {
              let menu_id = col.linkmenu.pop()
              col.linkThdMenu = window.GLOB.mkThdMenus.filter(m => m.MenuID === menu_id)[0] || ''
              col.linkThdMenu = window.GLOB.mkThdMenus.get(menu_id) || ''
            } else {
              col.linkThdMenu = ''
            }
            if (col.marks && col.marks.length === 0) {
              col.marks = null
            }
            return true
@@ -499,25 +508,14 @@
      } else if (item.type === 'form') {
        item.subcards = item.subcards.map(group => {
          group.subButton.uuid = group.uuid
          group.subButton.$menuId = group.uuid
          group.subButton.$MenuID = Tab.$MenuID
          group.subButton.OpenType = 'formSubmit'
          group.subButton.execError = 'never'
          group.subButton.logLabel = item.$menuname + '-' + group.subButton.label
          group.subButton.$tabId = Tab.uuid
          if (!group.subButton.Ot) {
            group.subButton.Ot = item.wrap.datatype === 'static' ? 'notRequired' : 'requiredSgl'
          }
          group.subButton.syncComponentId = group.subButton.syncComponent ? (group.subButton.syncComponent.pop() || '') : ''
          if (group.subButton.syncComponentId && group.subButton.syncComponentId === item.setting.supModule) {
            group.subButton.syncComponentId = ''
            if (group.subButton.execSuccess === 'grid') {
              group.subButton.execSuccess = 'mainline'
            }
          }
          group.subButton = this.resetButton(item, group.subButton, Tab)
          group.fields = group.fields.map(cell => {
            // 数据源sql语句,预处理,权限黑名单字段设置为隐藏表单
@@ -623,6 +621,30 @@
      }
    }
    if (cell.verify && cell.verify.invalid === 'true') {
      if (item.wrap && item.wrap.datatype === 'static') {
        cell.verify.invalid = 'false'
      } else if (item.setting && item.setting.maxScript && item.setting.maxScript >= 300) {
        cell.verify.invalid = 'false'
      } else if (cell.sqlType === 'insert') {
        cell.verify.invalid = 'false'
      } else if (cell.Ot === 'notRequired') {
        cell.verify.invalid = 'false'
      } else if (cell.intertype !== 'system' && cell.procMode !== 'system') {
        cell.verify.invalid = 'false'
      }
    }
    if (cell.verify && cell.verify.preHandle === 'true') {
      try {
        // eslint-disable-next-line
        let func = new Function('btn', 'systemType', cell.verify.pre_func)
        func(cell, window.GLOB.systemType)
      } catch (e) {
        console.warn(e)
      }
    }
    if (cell.syncComponentId) {
      if (cell.syncComponentId === item.setting.supModule) {
        cell.syncComponentId = ''
@@ -657,6 +679,10 @@
    if (cell.style.display === 'inline-block') {
      cell.style.verticalAlign = 'top'
    }
    if (cell.marks && cell.marks.length === 0) {
      cell.marks = null
    }
    if (['text', 'number', 'formula'].includes(cell.eleType)) {
@@ -694,24 +720,6 @@
    return cell
  }
  getPrinter = (item, parentId) => {
    let _item = window.GLOB.UserCacheMap.get(parentId + item.uuid)
    if (_item) {
      item.printer = _item.printer || ''
      item.verify.defaultPrinter = _item.printer || ''
      if (item.verify.printerTypeList && _item.printerList) {
        item.verify.printerTypeList = item.verify.printerTypeList.map(cell => {
          cell.printer = _item.printerList[cell.Value] || ''
          return cell
        })
      }
    }
    return item
  }
  // 格式化默认设置
  formatSetting = (components, params, regs, balMap) => {
    let delay = 20
@@ -725,12 +733,8 @@
      } else if (component.type === 'group') {
        component.components = this.formatSetting(component.components, params, regs, balMap)
        return component
      } else if (component.wrap && component.wrap.datatype === 'public') {
        component.setting.useMSearch = false
        component.setting.sync = 'false'
        return component
      } else if (component.wrap && component.wrap.datatype === 'static') {
      } else if (component.wrap && (component.wrap.datatype === 'static' || component.wrap.datatype === 'public')) {
        component.wrap.datatype = 'static'
        component.format = ''
        component.setting = component.setting || {}
        component.setting.useMSearch = false
@@ -743,6 +747,8 @@
      component.setting.arr_field = component.columns ? component.columns.map(col => col.field).join(',') : ''
      component.setting.useMSearch = component.setting.useMSearch === 'true'
      component.setting.laypage = component.setting.laypage === 'true'   // 是否分页,转为boolean 统一格式
      if (component.setting.useMSearch) {
        if (!window.GLOB.SearchBox.has(component.$searchId)) {
          component.setting.useMSearch = false
@@ -751,9 +757,14 @@
        }
      }
      if (component.format === 'object') {
        component.setting.laypage = false
        component.setting.$top = true
      }
      if (component.setting.interType !== 'system') { // 不使用系统函数时
        component.setting.sync = 'false'
        component.setting.laypage = component.setting.laypage === 'true'
        component.setting.dataresource = ''
        return component
      }
@@ -774,7 +785,6 @@
      delete component.scripts
      component.setting.$name = component.$menuname || ''
      component.setting.execute = component.setting.execute !== 'false'  // 默认sql是否执行,转为boolean 统一格式
      component.setting.laypage = component.setting.laypage === 'true'   // 是否分页,转为boolean 统一格式
      if (!component.setting.execute) {
        component.setting.dataresource = ''