king
2024-05-16 b69b5f6329ca5f87932436b7a6c1ddfc3377e10f
src/tabviews/custom/components/carousel/cardItem/index.jsx
@@ -16,10 +16,6 @@
    data: PropTypes.object,
  }
  state = {
    card: null,            // 卡片信息,包括正反面
  }
  /**
   * @description 搜索条件初始化
   */
@@ -43,29 +39,32 @@
  openView = () => {
    const { card, data, cards } = this.props
    if (card.setting.click === 'menu' && card.setting.MenuID) {
      let menu = {
        MenuID: card.setting.MenuID,
        MenuName: card.setting.MenuName,
        MenuNo: card.setting.MenuNo,
        type: card.setting.tabType
    if (!card.setting.click || data.$disabled) return
    if (card.setting.click === 'menu') {
      let menuId = card.setting.menu.slice(-1)[0]
      let menu = null
      if (window.GLOB.mkThdMenus.has(menuId)) {
        menu = {...window.GLOB.mkThdMenus.get(menuId)}
      } else if (card.setting.MenuID) {
        menu = {
          MenuID: card.setting.MenuID,
          MenuName: card.setting.MenuName,
          type: card.setting.tabType
        }
      }
      let newtab = {
        ...menu,
        selected: true,
        param: {}
      }
      if (!menu) return
      if (card.setting.joint === 'true') {
        newtab.param.$BID = data.$$uuid || ''
      }
      menu.param = {$BID: data.$$uuid || ''}
      if (['linkage_navigation', 'linkage', 'menu_board'].includes(window.GLOB.navBar)) {
        MKEmitter.emit('modifyTabs', newtab, 'replace')
      } else {
        MKEmitter.emit('modifyTabs', newtab, 'plus')
      }
      Object.keys(data).forEach(key => {
        if (/^\$/.test(key)) return
        menu.param[key] = data[key]
      })
      MKEmitter.emit('modifyTabs', menu, true)
    } else if (card.setting.click === 'link') {
      let src = card.setting.linkurl
@@ -77,14 +76,25 @@
        }
        src = src + `${con}id=${data.$$uuid || ''}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
      } else if (/@/.test(src)) {
        src = src.replace(/@id@/ig, data.$$uuid || '')
        src = src.replace(/@appkey@/ig, window.GLOB.appkey)
        src = src.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
        src = src.replace(/@LoginUID@/ig, sessionStorage.getItem('LoginUID'))
        Object.keys(data).forEach(key => {
          if (/^\$/.test(key)) return
          let reg = new RegExp('@' + key + '@', 'ig')
          src = src.replace(reg, data[key])
        })
      }
      window.open(src)
    } else if (card.setting.click === 'button' && card.setting.linkbtn) {
      if (cards.subtype === 'datacard') {
        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data], 'linkbtn')
        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data], 'linkbtn', (data.$$uuid || '') + (data.$Index || ''))
      } else {
        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data])
        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, data.$$empty ? [] : [data])
      }
    }
  }