king
2021-04-07 f3167f8371d19d0ea8fe7d0e7af5517ff0b08cd2
src/templates/sharecomponent/actioncomponent/actionform/index.jsx
@@ -101,8 +101,6 @@
    if (_opentype === 'outerpage') {
      card.pageTemplate = 'custom'
      _opentype = 'innerpage'
    } else if (_opentype === 'blank') {
      _opentype = 'tab'
    }
    let _tabs = this.props.tabs.filter(tab => tab.type === 'SubTable')
@@ -130,7 +128,7 @@
            item.options = this.state.requireOptions.filter(op => ['requiredSgl'].includes(op.value))
          } else if (_opentype === 'innerpage' && _pageTemplate === 'billprint') {
            item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl', 'required'].includes(op.value))
          } else if (['innerpage', 'blank', 'tab', 'popview', 'excelIn'].includes(_opentype)) {
          } else if (['innerpage', 'tab', 'popview', 'excelIn'].includes(_opentype)) {
            item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
          } else if (card.sqlType === 'insert') {
            item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl', 'required'].includes(op.value))
@@ -183,7 +181,7 @@
      } else if (_pageTemplate === 'billprint') {
        _options.push('printTemp')
      }
    } else if (_opentype === 'blank' || _opentype === 'tab') { // 新标签或当前页面替换
    } else if (_opentype === 'tab') {         // 标签页
      if (_tabTemplate === 'ThdMenu') {
        _options.push('linkmenu')
      }
@@ -210,7 +208,7 @@
      }
    } else if (_opentype !== 'popview') { // 打开方式不是弹窗页面时
      if (_intertype === 'custom') {
        _options.push('procMode', 'interface', 'callbackType', 'cbTable', 'proInterface', 'method')
        _options.push('procMode', 'interface', 'callbackType', 'cbTable', 'proInterface', 'method', 'cross')
        if (_procMode === 'system') {
          _options.push('sql', 'sqlType')
        } else {
@@ -261,7 +259,7 @@
          } else if (value === 'innerpage' && this.state.pageTemplate === 'billprint') {
            item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl', 'required'].includes(op.value))
            _fieldval.Ot = 'requiredSgl'
          } else if (['innerpage', 'blank', 'tab', 'popview'].includes(value)) {
          } else if (['innerpage', 'tab', 'popview'].includes(value)) {
            item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
            _fieldval.Ot = 'requiredSgl'
          } else if (value === 'excelIn') {
@@ -312,7 +310,7 @@
            } else if (openType === 'innerpage' && this.state.pageTemplate === 'billprint') {
              item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl', 'required'].includes(op.value))
              _fieldval.Ot = 'requiredSgl'
            } else if (['innerpage', 'blank', 'tab', 'popview'].includes(openType)) {
            } else if (['innerpage', 'tab', 'popview'].includes(openType)) {
              item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
              _fieldval.Ot = 'requiredSgl'
            } else {
@@ -613,7 +611,12 @@
      } else if (item.type === 'radio') {
        fields.push(
          <Col span={12} key={index}>
            <Form.Item label={item.label}>
            <Form.Item label={item.tooltip ?
              <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}>
                <Icon type="question-circle" />
                {item.label}
              </Tooltip> : item.label
            }>
              {getFieldDecorator(item.key, {
                initialValue: item.initVal,
                rules: [
@@ -665,7 +668,7 @@
                  }
                ]
              })(
                <Cascader options={item.options || []} placeholder="" />
                <Cascader allowClear options={item.options || []} placeholder="" />
              )}
            </Form.Item>
          </Col>
@@ -676,13 +679,13 @@
  }
  handleConfirm = () => {
    const { setting } = this.props
    const { setting, card } = this.props
    // 表单提交时检查输入值是否正确
    return new Promise((resolve, reject) => {
      this.props.form.validateFieldsAndScroll((err, values) => {
        if (!err) {
          values.uuid = this.props.card.uuid
          values.verify = this.props.card.verify || null
          values.uuid = card.uuid
          values.verify = card.verify || null
          if (values.OpenType === 'excelIn') {
            values.position = 'toolbar'
@@ -700,14 +703,18 @@
            values.Ot = 'notRequired'
          } else if (values.OpenType === 'popview' && !values.linkTab) { // 没有关联标签(新建时),创建新标签Id
            values.linkTab = Utils.getuuid()
            values.createTab = true // 用于标记按钮复制时,是否复制原有标签
          } else if (values.OpenType === 'funcbutton') { // 转换打印时打开方式
            values.position = 'toolbar'
          } else if (['pop', 'prompt', 'exec'].includes(values.OpenType) && values.verify) {
            if (values.Ot === 'requiredOnce' && ['notRequired', 'requiredSgl', 'required'].includes(this.props.card.Ot)) {
            if ((values.Ot === 'requiredOnce' || card.Ot === 'requiredOnce') && card.Ot !== values.Ot) {
              values.verify.uniques = []
            } else if (this.props.card.Ot === 'requiredOnce' && ['notRequired', 'requiredSgl', 'required'].includes(values.Ot)) {
              values.verify.uniques = []
            }
            if (card.Ot !== values.Ot) {
              if (values.Ot === 'notRequired') {
                values.verify.invalid = 'false'
              } else if (card.Ot === 'notRequired' && values.Ot !== 'notRequired') {
                values.verify.invalid = 'true'
              }
            }
          }