king
2024-10-18 b1fc0a89ce16dd14a6dff98c228a308e85a53828
Merge branch 'positec' into dms
43个文件已修改
279 ■■■■ 已修改文件
src/api/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/header/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/querylog/index.jsx 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/sidemenu/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/actioncomponent/actionform/index.jsx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/share/actioncomponent/formconfig.jsx 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/calendar/index.jsx 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/balcony/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/data-card/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/double-data-card/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/prop-card/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/table-card/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/carousel/data-card/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/carousel/prop-card/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-G6/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-bar-line/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-dashboard/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-pie/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-scatter/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/custom-chart/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/code/sand-box/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/editor/braft-editor/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/form/simple-form/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/form/step-form/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/form/tab-form/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/iframe/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/base-table/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/edit-table/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/normal-table/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/timeline/normal-timeline/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/tree/antd-tree/index.jsx 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/rolemanage/index.jsx 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/excelInbutton/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/exceloutbutton/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/newpagebutton/index.jsx 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/normalbutton/index.jsx 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/popupbutton/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/printbutton/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/tabbutton/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils-custom.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/design/header/editfirstmenu/menuform/index.jsx 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/design/sidemenu/index.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/design/sidemenu/thdmenuform/index.jsx 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/index.js
@@ -1132,6 +1132,8 @@
   */
  cacheInterface (param) {
    param.appkey = window.GLOB.appkey || ''
    param.userid = param.userid || sessionStorage.getItem('UserID') || ''
    param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || ''
    let url = '/webapi/excache'
    if (param.rduri && !window.GLOB.transfer) {
src/components/header/index.jsx
@@ -292,7 +292,7 @@
          if (PageParam.OpenType === 'outpage' && PageParam.linkUrl) {
            fstItem.OpenType = 'newpage'
            fstItem.src = PageParam.linkUrl
            fstItem.src = window.GLOB.systemType === 'production' && PageParam.linkProUrl ? PageParam.linkProUrl : PageParam.linkUrl
            if (/#\/iframe\//.test(fstItem.src)) {
              fstItem.src = fstItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
              fstItem.type = 'iframe'
@@ -348,7 +348,7 @@
                  if (trdItem.type === 'NewPage') {
                    trdItem.OpenType = 'newpage'
                    trdItem.src = PageParam.url || ''
                    trdItem.src = window.GLOB.systemType === 'production' && PageParam.proUrl ? PageParam.proUrl : PageParam.url || ''
                    if (/#\/iframe\//.test(trdItem.src)) {
                      trdItem.src = trdItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
                      trdItem.type = 'iframe'
src/components/querylog/index.jsx
@@ -48,30 +48,22 @@
    })
    let userid = sessionStorage.getItem('UserID') || ''
    let LText = [...logMap.values()].map(item => `select '${item.menuId}','${item.times}','${item.name}','${window.GLOB.appkey}','${userid}'`)
    let LText = [...logMap.values()].map(item => `select '${item.menuId}','${item.times}','${item.name || ''}','${window.GLOB.appkey}','${userid}'`)
    Api.genericInterface({func: 's_get_local_users_operation_log'}).then(res => {
      if (!res.status) {
        notification.warning({
          top: 92,
          message: res.message,
          duration: 3
        })
        return
      }
      if (LText.length === 0 && !res.long_param) {
    if (LText.length === 0) {
        setTimeout(() => {
          this.sendLog()
        }, 600000)
        return
      }
    // {func: 's_get_local_users_operation_log'} 本地接口 返回 long_param 传入 sso 的 s_get_users_operation_log
      let param = {
        func: 's_get_users_operation_log',
        exec_type: window.GLOB.execType || 'y',
        LText: LText.join(' union all '),
        long_param: res.long_param
      long_param: ''
      }
      param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
@@ -92,7 +84,6 @@
          this.sendLog()
        }, 600000)
        this.setState({logs: []})
      })
    })
  }
src/components/sidemenu/index.jsx
@@ -79,7 +79,7 @@
      MKEmitter.emit('modifyTabs', menu)
    }
    if (window.GLOB.systemType === 'production') { // positecgroup
    if (window.GLOB.systemType === 'production') {
      MKEmitter.emit('queryTrigger', {menuId: menu.MenuID, name: '菜单'})
    }
  }
src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -15,9 +15,9 @@
const CodeMirror = asyncComponent(() => import('@/templates/zshare/codemirror'))
const MKTable = asyncComponent(() => import('@/components/normalform/modalform/mkTable'))
const acTyOptions = {
  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'hover', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'anchors', 'width', 'openmenu', 'refreshTab', 'position', 'hoverTitle', 'hidden', 'preButton'],
  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'hover', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'anchors', 'width', 'openmenu', 'refreshTab', 'position', 'tipTitle', 'hoverTitle', 'hidden', 'preButton'],
  exec: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'hover', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'anchors', 'width', 'openmenu', 'refreshTab', 'hoverTitle', 'hidden', 'preButton'],
  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'hover', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'anchors', 'width', 'openmenu', 'refreshTab', 'position', 'hoverTitle', 'hidden', 'preButton', 'excache'],
  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'hover', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'anchors', 'width', 'openmenu', 'refreshTab', 'position', 'tipTitle', 'hoverTitle', 'hidden', 'preButton', 'excache'],
  exec: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'hover', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'anchors', 'width', 'openmenu', 'refreshTab', 'hoverTitle', 'hidden', 'preButton', 'excache'],
  excelIn: ['label', 'Ot', 'OpenType', 'intertype', 'show', 'hover', 'icon', 'class', 'color', 'sheet', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'width', 'hidden', 'refreshTab'],
  excelOut: ['label', 'Ot', 'OpenType', 'intertype', 'show', 'hover', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'pagination', 'search', 'width', 'hidden', 'refreshTab'],
  popview: ['label', 'Ot', 'OpenType', 'show', 'hover', 'icon', 'class', 'color', 'popClose', 'width', 'display', 'ratio', 'syncComponent', 'clickouter', 'maskStyle', 'closeButton', 'hidden'],
src/menu/components/share/actioncomponent/formconfig.jsx
@@ -1465,6 +1465,19 @@
      forbid: viewType === 'popview'
    },
    {
      type: 'radio',
      key: 'excache',
      label: '清除缓存',
      initVal: card.excache || 'false',
      tooltip: '在使用后端脚本时,是否清除后端缓存,注:需在操作用户或权限时开启。',
      required: false,
      options: [
        {value: 'true', text: '开启'},
        {value: 'false', text: '关闭'},
      ],
      forbid: appType === 'mob' || appType === 'pc'
    },
    {
      type: 'splitLine',
      key: 'title',
      label: '表单',
@@ -2726,6 +2739,18 @@
    },
    {
      type: 'radio',
      key: 'excache',
      label: '清除缓存',
      initVal: card.excache || 'false',
      tooltip: '在使用后端脚本时,是否清除后端缓存,注:需在操作用户或权限时开启。',
      required: false,
      options: [
        {value: 'true', text: '开启'},
        {value: 'false', text: '关闭'},
      ]
    },
    {
      type: 'radio',
      key: 'execType',
      label: '请求方式',
      initVal: card.execType || 'multi',
src/tabviews/custom/components/calendar/index.jsx
@@ -45,6 +45,8 @@
      BData = window.GLOB.CacheData.get(_config.$pageId)
    }
    let BID = BData ? (BData.$BID || '') : ''
    if (_config.setting.interType === 'system') {
      if (/@mk_year@/ig.test(_config.setting.dataresource) || /@mk_year@/ig.test(_config.setting.customScript)) {
        _config.setting.$re_year = true
@@ -63,8 +65,12 @@
      _config.action = []
    }
    if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    this.setState({
      BID: BData ? (BData.$BID || '') : '',
      BID: BID,
      BData: BData,
      config: _config,
      search: _config.$searches
src/tabviews/custom/components/card/balcony/index.jsx
@@ -50,6 +50,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
src/tabviews/custom/components/card/data-card/index.jsx
@@ -186,6 +186,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID && _config.wrap.supKey !== 'false') {
      _config.setting.onload = 'false'
    }
    if (_config.wrap.zHeight) {
src/tabviews/custom/components/card/double-data-card/index.jsx
@@ -195,6 +195,10 @@
      }
    }
    if (_config.setting.supModule && !BID && _config.wrap.supKey !== 'false') {
      _config.setting.onload = 'false'
    }
    this.setState({
      pageSize: _config.setting.pageSize || 10,
      pageOptions,
src/tabviews/custom/components/card/prop-card/index.jsx
@@ -51,6 +51,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
src/tabviews/custom/components/card/table-card/index.jsx
@@ -94,6 +94,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    let precards = []
src/tabviews/custom/components/carousel/data-card/index.jsx
@@ -74,6 +74,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    if (_card.setting.click) {
src/tabviews/custom/components/carousel/prop-card/index.jsx
@@ -51,6 +51,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
src/tabviews/custom/components/chart/antv-G6/index.jsx
@@ -846,6 +846,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    _config.plot.height = Utils.getHeight(_config.plot.height)
src/tabviews/custom/components/chart/antv-bar-line/index.jsx
@@ -398,6 +398,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    this.setState({
src/tabviews/custom/components/chart/antv-dashboard/index.jsx
@@ -100,6 +100,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    if (_config.subtype !== 'ratioboard') {
src/tabviews/custom/components/chart/antv-pie/index.jsx
@@ -85,6 +85,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    this.setState({
src/tabviews/custom/components/chart/antv-scatter/index.jsx
@@ -77,6 +77,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    this.setState({
src/tabviews/custom/components/chart/custom-chart/index.jsx
@@ -66,6 +66,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    this.setState({
src/tabviews/custom/components/code/sand-box/index.jsx
@@ -44,6 +44,10 @@
    if (_config.wrap.datatype !== 'static') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
  
src/tabviews/custom/components/editor/braft-editor/index.jsx
@@ -45,6 +45,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
        _config.setting.sync = 'false'
src/tabviews/custom/components/form/simple-form/index.jsx
@@ -48,6 +48,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
        _data = _data[0] || {$$empty: true}
src/tabviews/custom/components/form/step-form/index.jsx
@@ -48,6 +48,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
        _data = _data[0] || {$$empty: true}
src/tabviews/custom/components/form/tab-form/index.jsx
@@ -47,6 +47,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
        _data = _data[0] || {$$empty: true}
src/tabviews/custom/components/iframe/index.jsx
@@ -45,6 +45,10 @@
    if (_config.wrap.datatype === 'dynamic') {
      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
      if (_config.setting.supModule && !BID) {
        _config.setting.onload = 'false'
      }
      if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
        _data = window.GLOB.SyncData.get(_config.dataName) || []
        _data = _data[0] || {$$empty: true}
src/tabviews/custom/components/table/base-table/index.jsx
@@ -69,6 +69,10 @@
      setting.selected = 'false'
    }
    if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    _config.style = _config.style || {}
    this.setState({
src/tabviews/custom/components/table/edit-table/index.jsx
@@ -211,6 +211,10 @@
      _config.colsCtrls = null
    }
    if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    this.setState({
      pageSize: setting.pageSize || 10,
      BID: BID || '',
src/tabviews/custom/components/table/normal-table/index.jsx
@@ -131,6 +131,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID && _config.wrap.supKey !== 'false') {
      _config.setting.onload = 'false'
    }
    
    if (_config.wrap.collapse === 'true') {
src/tabviews/custom/components/timeline/normal-timeline/index.jsx
@@ -77,6 +77,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    _config.search = []
src/tabviews/custom/components/tree/antd-tree/index.jsx
@@ -70,6 +70,8 @@
  
        window.GLOB.SyncData.delete(_config.dataName)
      }
    } else if (_config.setting.supModule && !BID) {
      _config.setting.onload = 'false'
    }
    let lineActions = []
src/tabviews/rolemanage/index.jsx
@@ -561,6 +561,7 @@
          submitloading: false
        }, () => {
          this.getSelectMenuList()
          this.clearBackSqlCache()
        })
        if (window.GLOB.mainSystemApi) {
          Api.genericInterface(localParam).then(res => {
@@ -586,6 +587,20 @@
    })
  }
  clearBackSqlCache = () => {
    if (!window.backend) return
    Api.cacheInterface({}).then(res => {
      if (!res.status) {
        notification.warning({
          top: 92,
          message: res.message || '缓存清空失败!',
          duration: 5
        })
      }
    })
  }
  /**
   * @description 提交已选的权限
   */
src/tabviews/zshare/actionList/excelInbutton/index.jsx
@@ -144,7 +144,7 @@
        this.refs.excelIn.exceltrigger()
      })
  
      if (window.GLOB.systemType === 'production') { // positecgroup
      if (window.GLOB.systemType === 'production') {
        MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '导入Excel'})
      }
    }
src/tabviews/zshare/actionList/exceloutbutton/index.jsx
@@ -107,7 +107,7 @@
      })
    } else {
      MKEmitter.emit('queryModuleParam', btn.$menuId, this.triggerExcelout)
      if (window.GLOB.systemType === 'production') { // positecgroup
      if (window.GLOB.systemType === 'production') {
        MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '导出Excel'})
      }
    }
src/tabviews/zshare/actionList/newpagebutton/index.jsx
@@ -367,8 +367,13 @@
      window.open(url)
    }
    if (window.GLOB.systemType === 'production') { // positecgroup
      MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: btn.label})
    if (window.GLOB.systemType === 'production') {
      let _temname = {
        billprint: '单据打印',
        pay: '直接执行',
      }
      MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: _temname[btn.pageTemplate] || '新页面'})
    }
  }
src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -307,7 +307,7 @@
      }
    }
    if (window.GLOB.systemType === 'production') { // positecgroup
    if (window.GLOB.systemType === 'production') {
      let _change = {
        prompt: '提示框',
        exec: '直接执行',
@@ -2771,7 +2771,7 @@
  clearBackCache = () => {
    if (!window.GLOB.backend) return
    Api.cacheInterface({userid: sessionStorage.getItem('UserID') || '', LoginUID: sessionStorage.getItem('LoginUID') || ''}).then(res => {
    Api.cacheInterface({}).then(res => {
      if (!res.status) {
        notification.warning({
          top: 92,
@@ -2938,6 +2938,10 @@
      tabId = btn.refreshTab[btn.refreshTab.length - 1]
    }
    if (btn.excache === 'true') {
      this.clearBackSqlCache()
    }
    if (tabId && btn.$MenuID === tabId) { // 刷新当前菜单时,停止其他操作
      MKEmitter.emit('reloadMenuView', tabId)
      return
@@ -3048,6 +3052,20 @@
    }
  }
  clearBackSqlCache = () => {
    if (!window.backend) return
    Api.cacheInterface({}).then(res => {
      if (!res.status) {
        notification.warning({
          top: 92,
          message: res.message || '缓存清空失败!',
          duration: 5
        })
      }
    })
  }
  triggerNote = (res, ID) => {
    const { btn } = this.props
src/tabviews/zshare/actionList/popupbutton/index.jsx
@@ -184,7 +184,7 @@
      visible: true
    })
    if (window.GLOB.systemType === 'production') { // positecgroup
    if (window.GLOB.systemType === 'production') {
      MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '弹窗(标签)'})
    }
  }
src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -205,7 +205,7 @@
      this.triggerPrint(data)
    }
    if (window.GLOB.systemType === 'production') { // positecgroup
    if (window.GLOB.systemType === 'production') {
      MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '标签打印'})
    }
  }
src/tabviews/zshare/actionList/tabbutton/index.jsx
@@ -213,7 +213,7 @@
      MKEmitter.emit('openNewTab')
    }
    if (window.GLOB.systemType === 'production') { // positecgroup
    if (window.GLOB.systemType === 'production') {
      MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '标签页'})
    }
  }
@@ -300,7 +300,7 @@
      MKEmitter.emit('openNewTab')
    }
    if (window.GLOB.systemType === 'production') { // positecgroup
    if (window.GLOB.systemType === 'production') {
      MKEmitter.emit('queryTrigger', {menuId: btn.uuid, name: '标签页'})
    }
  }
src/utils/utils-custom.js
@@ -3100,8 +3100,14 @@
          item.setting.$name = item.$menuname || ''
          let msg = getDataSource(item, mainSearch)
          let roleId = config.uuid
          if (item.wrap && item.wrap.permission === 'false') {
            roleId = ''
          } else if (item.setting.database === 'sso') {
            roleId = ''
          }
          sqls.push({uuid: item.uuid, roleId: item.wrap && item.wrap.permission === 'false' ? '' : config.uuid, type: 'datasource', ...msg})
          sqls.push({uuid: item.uuid, roleId: roleId, type: 'datasource', ...msg})
        } else if (item.setting && item.setting.useMSearch === 'true') {
          let searches = item.search || []
          if (mainSearch.length > 0) {
@@ -3231,6 +3237,8 @@
      roleId = ''
    } else if (cell.hidden === 'true' || cell.permission === 'false') {
      roleId = ''
    } else if (cell.database === 'sso') {
      roleId = ''
    }
    if (['exec', 'prompt', 'pop', 'form', 'formSubmit'].includes(cell.OpenType)) {
src/views/design/header/editfirstmenu/menuform/index.jsx
@@ -1,5 +1,6 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { fromJS } from 'immutable'
import { Form, Row, Col, Input, Radio } from 'antd'
import Utils from '@/utils/utils.js'
@@ -44,6 +45,14 @@
        initVal: '',
        hidden: true,
        required: true
      },
      {
        type: 'text',
        key: 'linkProUrl',
        label: '正式地址',
        initVal: '',
        hidden: true,
        required: false
      }
    ]
  }
@@ -53,17 +62,17 @@
    if (!menu) {
      this.setState({
        formlist: this.state.defaultMenu
        formlist: fromJS(this.state.defaultMenu).toJS()
      })
    } else {
      this.setState({
        formlist: this.state.defaultMenu.map(item => {
        formlist: fromJS(this.state.defaultMenu).toJS().map(item => {
          if (item.key === 'menuName') {
            item.initVal = menu.MenuName
          } else if (item.key === 'openType') {
            item.initVal = menu.PageParam.OpenType
          } else if (item.key === 'linkUrl') {
            item.initVal = menu.PageParam.linkUrl
          } else if (item.key === 'linkUrl' || item.key === 'linkProUrl') {
            item.initVal = menu.PageParam[item.key] || ''
            if (menu.PageParam.OpenType === 'menu') {
              item.hidden = true
            } else if (menu.PageParam.OpenType === 'outpage') {
@@ -78,21 +87,13 @@
  openTypeChange = (key, value) => {
    if (key === 'openType') {
      let formlist = this.state.formlist
      if (value === 'outpage') {
      let formlist = fromJS(this.state.formlist).toJS()
        formlist.forEach(item => {
          if (item.key === 'linkUrl') {
            item.hidden = false
            item.initVal = ''
        if (item.key === 'linkUrl' || item.key === 'linkProUrl') {
          item.hidden = value !== 'outpage'
          }
        })
      } else {
        formlist.forEach(item => {
          if (item.key === 'linkUrl') {
            item.hidden = true
          }
        })
      }
      this.setState({formlist})
    }
@@ -160,23 +161,28 @@
      this.props.form.validateFieldsAndScroll((err, values) => {
        if (err) return
        let PageParam = {
          OpenType: values.openType
        }
        if (values.openType !== 'menu') {
          PageParam.linkUrl = values.linkUrl || ''
          if (values.linkProUrl) {
            PageParam.linkProUrl = values.linkProUrl
          }
        }
        if (!menu) {
          resolve({
            MenuID: Utils.getuuid(),
            MenuName: values.menuName,
            PageParam: JSON.stringify({
              OpenType: values.openType,
              linkUrl: values.openType !== 'menu' ? values.linkUrl : ''
            })
            PageParam: JSON.stringify(PageParam)
          })
        } else {
          resolve({
            MenuID: menu.MenuID,
            MenuName: values.menuName,
            PageParam: JSON.stringify({
              OpenType: values.openType,
              linkUrl: values.openType !== 'menu' ? values.linkUrl : ''
            })
            PageParam: JSON.stringify(PageParam)
          })
        }
      })
src/views/design/sidemenu/index.jsx
@@ -133,6 +133,7 @@
      let _cell = fromJS(cell).toJS()
      _cell.Template = _cell.PageParam.Template
      _cell.url = _cell.PageParam.url || ''
      _cell.proUrl = _cell.PageParam.proUrl || ''
      _cell.fstMenuId = _cell.FstId
      _cell.supMenuList = this.props.mainMenu.children
@@ -236,6 +237,9 @@
      if (sysMenu.Template === 'NewPage') {
        PageParam.OpenType = 'NewPage'
        PageParam.url = res.url
        if (res.proUrl) {
          PageParam.proUrl = res.proUrl
        }
      }
      let param = {
src/views/design/sidemenu/thdmenuform/index.jsx
@@ -164,6 +164,21 @@
              })(<TextArea rows={3} />)}
            </Form.Item>
          </Col> : null}
          {menu.Template === 'NewPage' ? <Col span={22}>
            <Form.Item label={
              <Tooltip placement="topLeft" title={<div onClick={(e) => e.stopPropagation()}>正式系统接口地址,为空时使用“链接地址”。</div>}><QuestionCircleOutlined className="mk-form-tip" />正式地址</Tooltip>
            }>
              {getFieldDecorator('proUrl', {
                initialValue: menu.proUrl || '',
                rules: [
                  {
                    max: 1024,
                    message: '地址最长为1024个字符!'
                  }
                ]
              })(<TextArea rows={3} />)}
            </Form.Item>
          </Col> : null}
        </Row>
      </Form>
    )