king
2021-08-31 72419e2f826031a158173f46d723a672064e37cd
src/menu/components/share/pastecomponent/index.jsx
@@ -24,7 +24,7 @@
    this.setState({visible: true})
  }
  resetconfig = (item, copyBtns) => {
  resetconfig = (item, copyBtns, config) => {
    let _uuid = Utils.getuuid()
    if (item.OpenType === 'popview') {
@@ -38,9 +38,33 @@
      item.uuid = _uuid
    }
    if (item.copyType === 'cardcell') {
    if (item.copyType === 'cardcell' && config.subtype === 'datacard') {
      item.setting = item.setting || {}
      item.$cardType = 'extendCard'
      item.setting.width = item.setting.width || 6
      if (item.elements) {
        item.elements = item.elements.map(cell => {
          if (cell.datatype === 'dynamic') {
            cell.datatype = 'static'
          }
          cell.uuid = Utils.getuuid()
          return cell
        })
      }
      if (item.backElements) {
        item.backElements = item.backElements.map(cell => {
          if (cell.datatype === 'dynamic') {
            cell.datatype = 'static'
          }
          cell.uuid = Utils.getuuid()
          return cell
        })
      }
    } else if (item.copyType === 'cardcell') {
      item.setting = item.setting || {}
      item.setting.width = item.setting.width || 6
      delete item.$cardType
      if (item.elements) {
        item.elements = item.elements.map(cell => {
@@ -105,6 +129,7 @@
  pasteSubmit = () => {
    const { options } = this.props
    this.pasteFormRef.handleConfirm().then(res => {
      if (!options.includes(res.copyType)) {
        notification.warning({ top: 92, message: '配置信息格式错误!', duration: 5 })
        return
@@ -114,7 +139,7 @@
      let config = fromJS(this.props.config).toJS()
      let copyBtns = new Map()
      res = this.resetconfig(res, copyBtns)
      res = this.resetconfig(res, copyBtns, config)
      delete res.copyType
      copyBtns = [...copyBtns.values()]
@@ -123,7 +148,11 @@
        MKEmitter.emit('copyButtons', copyBtns)
      }
      if (type === 'action') {
      if (config.type === 'form') {
        this.props.updateConfig(res)
        this.setState({visible: false})
        return
      } else if (type === 'action') {
        config.action = config.action || []
        config.action = config.action.filter(item => !item.origin)
@@ -139,7 +168,7 @@
        let keys = config.search.map(item => item.field.toLowerCase())
        if (type === 'form') {
          if (['number', 'switch', 'textarea', 'checkcard', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) {
          if (['number', 'switch', 'textarea', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) {
            res.type = 'text'
          } else if (res.type === 'radio') {
            res.type = 'select'
@@ -162,6 +191,8 @@
        config.search.push(res)
      } else if (type === 'cardcell') {
        config.subcards.push(res)
      } else if (type === 'menucell') {
        config.subMenus.push(res)
      } else if (type === 'cols') {
        config.cols = config.cols.filter(col => !col.origin)