king
2023-05-15 8d7c3eed8bdac1e77c8de90a3227d801708c358e
src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -206,6 +206,9 @@
        }
      } else if (intertype === 'inner') {
        shows.push('innerFunc', 'output')
        if (Ot === 'requiredOnce') { // 前置函数
          shows.push('preFunc')
        }
        reRequired.innerFunc = true
      } else {
        shows.push('sql', 'sqlType', 'output')
@@ -763,7 +766,7 @@
            { pattern: /^[a-zA-Z0-9@_]+$/, message: '表名只可使用字母、数字以及_' },
            { max: formRule.func.max, message: formRule.func.maxMessage }
          )
        } else if (item.key === 'outerFunc' || item.key === 'callbackFunc') {
        } else if (item.key === 'outerFunc' || item.key === 'callbackFunc' || item.key === 'preFunc') {
          rules.push(
            { pattern: formRule.func.pattern, message: formRule.func.message },
            { max: formRule.func.max, message: formRule.func.maxMessage }
@@ -921,6 +924,59 @@
          values.modal = card.modal || null
          values.config = card.config || null
          if (card.OpenType === 'excelOut' && values.OpenType === 'excelIn') {
            if (values.verify && values.verify.columns && values.verify.columns.length > 0) {
              values.verify.columns = values.verify.columns.map(col => {
                col.required = col.required || 'true'
                col.type = col.type || 'Nvarchar(50)'
                col.import = col.import || 'true'
                if (col.type === 'text' || col.type === 'image') {
                  col.type = 'Nvarchar(50)'
                } else if (col.type === 'number') {
                  col.type = 'Decimal(18,2)'
                }
                if (/^Nvarchar/ig.test(col.type)) {
                  col.limit = col.type.match(/\d+/)[0]
                } else if (/^Decimal/ig.test(col.type)) {
                  col.limit = col.type.match(/\d+/ig)[1]
                } else {
                  col.limit = ''
                }
                delete col.output
                delete col.abs
                delete col.Width
                return col
              })
              values.verify.sheet = values.verify.sheet || 'Sheet1'
            }
          } else if (card.OpenType === 'excelIn' && values.OpenType === 'excelOut') {
            if (values.verify && values.verify.columns && values.verify.columns.length > 0) {
              values.verify.columns = values.verify.columns.map(col => {
                col.type = col.type || 'text'
                col.output = col.output || 'true'
                col.required = col.required || 'false'
                col.Width = 20
                if (!['text', 'image', 'number'].includes(col.type)) {
                  if (/^Decimal/ig.test(col.type)) {
                    col.type = 'number'
                  } else {
                    col.type = 'text'
                  }
                }
                delete col.import
                return col
              })
            }
          }
          if (values.OpenType === 'form') {
            if (values.formType !== 'scan') {
              if (/^(0|[1-9]\d*)$/.test(values.openVal) && /^(0|[1-9]\d*)$/.test(values.closeVal)) {