king
2021-01-22 c7df5603e14b98d6f80da425fab31d30574ca417
src/tabviews/zshare/mutilform/index.jsx
@@ -228,6 +228,10 @@
      if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(item.type) && item.resourceType === '1') {
        deForms.push(item)
      } else if (['select', 'link', 'radio'].includes(item.type) && item.resourceType !== '1') { // 选中第一项
        if (item.initval.indexOf('$first') > -1) {
          item.initval = item.options[0] ? item.options[0].Value : ''
        }
      }
      return item
@@ -449,6 +453,7 @@
        }
        return item
      })
      let values = []
      this.setState({
        formlist: _formlist.map(item => {
@@ -457,8 +462,21 @@
          } else if (['select', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(item.type)) {
            item.options = item.oriOptions
          }
          if (['select', 'link', 'radio'].includes(item.type) && item.initval.indexOf('$first') > -1) { // 选中第一项
            item.initval = item.options[0] ? item.options[0].Value : ''
            values.push({field: item.field, value: item.initval})
          }
          return item
        })
      }, () => {
        if (values.length === 0) return
        let fieldsvalue = {}
        values.forEach(item => {
          if (this.props.form.getFieldValue(item.field) !== undefined) {
            fieldsvalue[item.field] = item.value
          }
        })
        this.props.form.setFieldsValue(fieldsvalue)
      })
    })
  }
@@ -542,6 +560,7 @@
        }
        return item
      })
      let values = []
      this.setState({
        formlist: _formlist.map(item => {
@@ -550,8 +569,21 @@
          } else if (['select', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(item.type)) {
            item.options = item.oriOptions
          }
          if (['select', 'link', 'radio'].includes(item.type) && item.initval.indexOf('$first') > -1) { // 选中第一项
            item.initval = item.options[0] ? item.options[0].Value : ''
            values.push({field: item.field, value: item.initval})
          }
          return item
        })
      }, () => {
        if (values.length === 0) return
        let fieldsvalue = {}
        values.forEach(item => {
          if (this.props.form.getFieldValue(item.field) !== undefined) {
            fieldsvalue[item.field] = item.value
          }
        })
        this.props.form.setFieldsValue(fieldsvalue)
      })
    })
  }
@@ -621,30 +653,18 @@
    }
    if (subfields.length === 0) {
      if (Object.keys(fieldsvalue).length > 0) {
        this.props.form.setFieldsValue(fieldsvalue)
      }
      if (Object.keys(_record).length > 0) {
        this.setState({
          record: {...record, ..._record}
        })
      }
      this.props.form.setFieldsValue(fieldsvalue)
      this.setState({
        record: {...record, ..._record}
      })
    } else {
      let result = this.resetform(formlist, subfields, 0, fieldsvalue)
      if (Object.keys(result.fieldsvalue).length > 0) {
        this.props.form.setFieldsValue(fieldsvalue)
      }
      let _param = {
        formlist: result.formlist
      }
      if (Object.keys(_record).length > 0) {
        _param.record = {...record, ..._record}
      }
      this.setState(_param)
      this.props.form.setFieldsValue(fieldsvalue)
      this.setState({
        formlist: result.formlist,
        record: {...record, ..._record}
      })
    }
    this.setState({}, () => {