king
2024-05-23 9a11e62adeb8d435b52a361eb62d5b59e1deef2a
src/templates/zshare/verifycard/index.jsx
@@ -44,7 +44,8 @@
    emailCodes: [],         // 邮箱模板
    verify: {},
    fields: [],
    usefulfields: '',
    formfields: '',
    colfields: '',
    defaultsql: '',         // 默认Sql
    orderModular: [],
    orderModularDetail: [],
@@ -85,7 +86,7 @@
        title: '验证类型',
        dataIndex: 'verifyType',
        width: '14%',
        render: (text, record) => record.verifyType === 'logic' ? '逻辑验证' : '物理验证',
        render: (text) => text === 'logic' ? '逻辑验证' : '物理验证',
        inputType: 'select',
        editable: true,
        options: [
@@ -123,7 +124,7 @@
          record.field.split(',').forEach((_field, index) => {
            let _key = _field.toLowerCase()
            _fieldValue.push(`${_key}=${_key === 'bid' ? '@BID@' : ''}`)
            _fieldValue.push(`${_key}=${_key === 'bid' ? '@BID@' : `''`}`)
            _value.push(`${_labels[index] || ''}:xxx`)
          })
@@ -648,12 +649,13 @@
    _verify.scripts = _verify.scripts || []
    _verify.cbScripts = _verify.cbScripts || []
    if (window.GLOB.process) {
    if (window.GLOB.process && card.intertype !== 'inner') {
      _verify.workFlow = _verify.workFlow || 'false'
      _verify.flowType = _verify.flowType || (card.sqlType === 'insert' ? 'start' : 'approval')
      _verify.flowSql = _verify.flowSql || 'true'
    } else {
      delete _verify.workFlow
      delete _verify.flowRemark
      delete _verify.flowType
      delete _verify.flowSql
    }
@@ -715,15 +717,12 @@
      _fields = card.modal.fields || []
    }
    let _usefulfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted']
    let sysfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted', 'bid']
    let _declare = ['@UserName nvarchar(50)', '@FullName nvarchar(50)', '@RoleID nvarchar(512)', '@mk_departmentcode nvarchar(512)', '@mk_organization nvarchar(512)', '@mk_user_type nvarchar(20)', '@mk_nation nvarchar(50)', '@mk_province nvarchar(50)', '@mk_city nvarchar(50)', '@mk_district nvarchar(50)', '@mk_address nvarchar(100)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)', '@BillCode nvarchar(50)', '@BVoucher nvarchar(50)', '@FIBVoucherDate nvarchar(50)', '@FiYear nvarchar(50)', '@ModularDetailCode nvarchar(50)', '@bid nvarchar(50)', '@tbid nvarchar(50)', '@mk_deleted int']
    let _select = ['@UserName=\'\'', '@FullName=\'\'', '@RoleID=\'\'', '@mk_departmentcode=\'\'', '@mk_organization=\'\'', '@mk_user_type=\'\'', '@mk_nation=\'\'', '@mk_province=\'\'', '@mk_city=\'\'', '@mk_district=\'\'', '@mk_address=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\'', '@BillCode=\'\'', '@BVoucher=\'\'', '@FIBVoucherDate=\'\'', '@FiYear=\'\'', '@ModularDetailCode=\'\'', '@bid=\'\'', '@mk_deleted=1']
    let fieldArr = _usefulfields.map(_f => _f.toLowerCase())
    let hasBid = false
    _usefulfields = []
    
    fieldArr.push('bid')
    let fieldArr = sysfields.map(_f => _f.toLowerCase())
    let hasBid = false
    let verIndex = _fields.findIndex(item => item.type === 'vercode')
    if (verIndex > -1) {
@@ -746,6 +745,7 @@
      })
    }
    let formfields = []
    _fields = _fields.filter(_f => _f.field)
    _fields.forEach(_f => {
      if (_f.field.toLowerCase() === 'bid') {
@@ -756,7 +756,7 @@
      fieldArr.push(_f.field.toLowerCase())
      _usefulfields.push(_f.field)
      formfields.push(_f.field)
      let _fieldlen = _f.fieldlength || 50
@@ -775,13 +775,13 @@
        _select.push(`@${_f.field}='1949-10-01'`)
      } else if (_f.type === 'number') {
        _type = `decimal(18,${_fieldlen})`
        _select.push(`@${_f.field}=0`)
        _select.push(`@${_f.field}=1`)
      } else if (_f.declare === 'decimal') {
        _type = `decimal(18,${_f.decimal || 0})`
        _select.push(`@${_f.field}=0`)
        _select.push(`@${_f.field}=1`)
      } else if (_f.type === 'rate') {
        _type = `decimal(18,2)`
        _select.push(`@${_f.field}=0`)
        _select.push(`@${_f.field}=1`)
      } else {
        _select.push(`@${_f.field}=''`)
      }
@@ -799,6 +799,7 @@
    let unionFields = fromJS(_fields).toJS()
    let formArr = _fields.map(_f => _f.field.toLowerCase())
    let colfields = []
    if (card.Ot !== 'notRequired' && columns) {
      columns.forEach(_f => {
        if (!_f.field) return
@@ -813,11 +814,11 @@
        if (fieldArr.includes(key)) return
        fieldArr.push(key)
        _usefulfields.push(_f.field)
        colfields.push(_f.field)
        if (_f.datatype) { // 自定义字段
          if (/decimal/ig.test(_f.datatype)) {
            _select.push(`@${_f.field}=0`)
          if (/decimal|int/ig.test(_f.datatype)) {
            _select.push(`@${_f.field}=1`)
          } else {
            _select.push(`@${_f.field}=''`)
          }
@@ -841,7 +842,7 @@
        }
        if (_f.type === 'number') {
          _select.push(`@${_f.field}=0`)
          _select.push(`@${_f.field}=1`)
        } else {
          _select.push(`@${_f.field}=''`)
        }
@@ -1033,7 +1034,8 @@
      columnsFields: _columns,
      initsql: _sql,
      defaultsql: _defaultsql,
      usefulfields: _usefulfields.join(', '),
      formfields: formfields.join(', '),
      colfields: colfields.join(', '),
      uniqueColumns: this.state.uniqueColumns.map(col => {
        if (col.dataIndex === 'field') {
          col.options = uniqueFields
@@ -1261,7 +1263,7 @@
      verify.scripts.push(values)
    }
    if (/@bvoucher(\s|\))/ig.test(values.sql)) {
    if (/@bvoucher(\s|\))/ig.test(values.sql) && !/s_BVoucher_Create/ig.test(values.sql)) {
      if (verify.voucher && verify.voucher.enabled) {
      } else if (card.Ot !== 'notRequired' && columns) {
@@ -1561,7 +1563,7 @@
    
    // 表单提交时检查输入值是否正确
    return new Promise((resolve, reject) => {
      if ((card.sqlType === 'custom' || verify.default === 'false') && verify.scripts.length === 0) {
      if ((card.sqlType === 'custom' || verify.default === 'false') && !(verify.workFlow === 'true' && verify.flowSql === 'true') && verify.scripts.length === 0) {
        notification.warning({
          top: 92,
          message: '不执行默认sql时,必须设置自定义脚本!',
@@ -1664,7 +1666,7 @@
  render() {
    const { card, columns } = this.props
    const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType } = this.state
    const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType, formfields, colfields } = this.state
    const formItemLayout = {
      labelCol: {
        xs: { span: 24 },
@@ -1686,7 +1688,7 @@
              {verify.default === 'false' ? <span className="count-tip"><ExclamationOutlined style={{color: 'orange'}}/></span> : null}
            </span>
          } key="base">
            <BaseForm card={card} appType={appType} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/>
            <BaseForm card={card} appType={appType} fields={fields} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/>
          </TabPane> : null}
          {verifyInter === 'system' ? <TabPane tab={
            <span>
@@ -1706,7 +1708,8 @@
            <CustomForm
              btn={this.props.card}
              initsql={this.state.initsql}
              usefulfields={this.state.usefulfields}
              formfields={formfields}
              colfields={colfields}
              customChange={this.customChange}
              wrappedComponentRef={(inst) => this.customForm = inst}
            />
@@ -1775,10 +1778,15 @@
                type="fullscreen"
                btn={this.props.card}
                initsql={this.state.initsql}
                workFlow={verify.workFlow}
                flowRemark={verify.flowRemark}
                flowType={verify.flowType}
                flowSql={verify.flowSql}
                customScripts={verify.scripts}
                useDefaultSql={verify.default !== 'false'}
                defaultsql={this.state.defaultsql}
                usefulfields={this.state.usefulfields}
                formfields={formfields}
                colfields={colfields}
                systemScripts={this.state.systemScripts}
                scriptsChange={this.scriptsChange}
                wrappedComponentRef={(inst) => this.scriptsFullForm = inst}
@@ -1788,11 +1796,14 @@
              btn={this.props.card}
              initsql={this.state.initsql}
              workFlow={verify.workFlow}
              flowRemark={verify.flowRemark}
              flowType={verify.flowType}
              flowSql={verify.flowSql}
              customScripts={verify.scripts}
              useDefaultSql={verify.default !== 'false'}
              defaultsql={this.state.defaultsql}
              usefulfields={this.state.usefulfields}
              formfields={formfields}
              colfields={colfields}
              systemScripts={this.state.systemScripts}
              scriptsChange={this.scriptsChange}
              wrappedComponentRef={(inst) => this.scriptsForm = inst}
@@ -1817,7 +1828,8 @@
                btn={this.props.card}
                initsql={this.state.initsql}
                customScripts={verify.cbScripts}
                usefulfields={this.state.usefulfields}
                formfields={formfields}
                colfields={colfields}
                systemScripts={this.state.systemScripts}
                scriptsChange={this.cbScriptsChange}
                wrappedComponentRef={(inst) => this.cbscriptsFullForm = inst}
@@ -1827,7 +1839,8 @@
              btn={this.props.card}
              initsql={this.state.initsql}
              customScripts={verify.cbScripts}
              usefulfields={this.state.usefulfields}
              formfields={formfields}
              colfields={colfields}
              systemScripts={this.state.systemScripts}
              scriptsChange={this.cbScriptsChange}
              wrappedComponentRef={(inst) => this.cbscriptsForm = inst}