king
2020-12-04 d441fa1e1cc80f4ea462a750a42a2b25c1f2b202
2020-12-04
36个文件已修改
654 ■■■■■ 已修改文件
src/components/header/index.jsx 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/tabview/index.jsx 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/index.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/action-type.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/action.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/reducer.js 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/calendar/index.jsx 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/commontable/index.jsx 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/data-card/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/prop-card/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/table-card/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-bar-line/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/chart/antv-pie/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/search/main-search/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/share/searchLine/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/share/tabtransfer/index.jsx 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/table/normal-table/index.jsx 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/tabs/antv-tabs/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/index.jsx 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/tools/simpleSearch/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/formtab/index.jsx 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/subtable/index.jsx 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/subtabtable/index.jsx 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/treepage/index.jsx 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/excelInbutton/index.jsx 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/exceloutbutton/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/newpagebutton/index.jsx 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/normalbutton/index.jsx 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/actionList/printbutton/index.jsx 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/normalTable/index.jsx 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/settingcomponent/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/topSearch/index.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/zshare/verifycard/index.jsx 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils-datamanage.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/billprint/index.jsx 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/main/index.jsx 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/header/index.jsx
@@ -15,7 +15,6 @@
  resetState,
  resetEditState,
  resetEditLevel,
  modifyDataManager,
  initActionPermission,
  initMenuPermission,
  logout
@@ -52,7 +51,8 @@
    searchkey: '',
    thdMenuList: [],
    oriVersion: '',
    newVersion: ''
    newVersion: '',
    debug: sessionStorage.getItem('debug') === 'true'
  }
  handleCollapse = () => {
@@ -418,7 +418,8 @@
      })
    } else {
      sessionStorage.setItem('isEditState', 'true')
      this.props.modifyDataManager(sessionStorage.getItem('cloudDataM') === 'true')
      sessionStorage.setItem('role_id', sessionStorage.getItem('cloudRole_id'))
      sessionStorage.setItem('dataM', sessionStorage.getItem('cloudDataM'))
      if (window.GLOB.systemType === 'production') {
        this.props.resetEditLevel('HS')
@@ -489,13 +490,16 @@
          sessionStorage.setItem('CloudUserName', res.UserName)
          sessionStorage.setItem('CloudFullName', res.FullName)
          sessionStorage.setItem('CloudAvatar', res.icon)
          sessionStorage.setItem('cloudDataM', res.dataM ? 'true' : '')
          sessionStorage.setItem('isEditState', 'true')
          if (res.dataM) {
            this.props.modifyDataManager(true)
          }
          sessionStorage.setItem('cloudDataM', res.dataM ? 'true' : '')
          sessionStorage.setItem('localDataM', sessionStorage.setItem('dataM') || '')
          sessionStorage.setItem('cloudRole_id', res.role_id || '')
          sessionStorage.setItem('localRole_id', sessionStorage.getItem('role_id') || '')
          sessionStorage.setItem('role_id', res.role_id || '')
          sessionStorage.setItem('dataM', res.dataM ? 'true' : '')
          sessionStorage.setItem('isEditState', 'true')
          if (window.GLOB.systemType === 'production') {
            this.props.resetEditLevel('HS')
@@ -698,11 +702,11 @@
  render () {
    const { mainMenu, collapse } = this.props
    const { thdMenuList, searchkey, oriVersion, newVersion } = this.state
    const { thdMenuList, searchkey, oriVersion, newVersion, debug } = this.state
    const menu = (
      <Menu className="header-dropdown">
        {this.props.debug && <Menu.Item key="switch">
        {debug && <Menu.Item key="switch">
          {this.state.dict['main.edit']}
          <Switch size="small" className="edit-switch" disabled={!!this.props.editLevel} checked={this.props.editState} onChange={this.changeEditState} />
        </Menu.Item>}
@@ -836,7 +840,6 @@
    collapse: state.collapse,
    menuTree: state.menuTree,
    mainMenu: state.mainMenu,
    debug: state.debug,
    editState: state.editState,
    editLevel: state.editLevel,
    permAction: state.permAction,
@@ -854,7 +857,6 @@
    resetEditLevel: (level) => dispatch(resetEditLevel(level)),
    initActionPermission: (permAction) => dispatch(initActionPermission(permAction)),
    initMenuPermission: (permMenus) => dispatch(initMenuPermission(permMenus)),
    modifyDataManager: (dataManager) => dispatch(modifyDataManager(dataManager)),
    resetState: () => dispatch(resetState()),
    logout: () => dispatch(logout())
  }
src/components/tabview/index.jsx
@@ -46,7 +46,8 @@
    activeId: '',
    tabviews: null, // 标签集
    iFrameHeight: 0,
    dict: localStorage.getItem('lang') !== 'en-US' ? mzhCN : menUS
    dict: localStorage.getItem('lang') !== 'en-US' ? mzhCN : menUS,
    debug: sessionStorage.getItem('debug') === 'true'
  }
  handleTabview = (e, menu) => {
@@ -224,7 +225,7 @@
  render () {
    const { menuType } = this.props
    const { tabviews, activeId } = this.state
    const { tabviews, activeId, debug } = this.state
    return (
      <section className={'flex-container content-box' + (this.props.collapse ? ' collapsed' : '')}>
@@ -250,7 +251,7 @@
                    key={view.MenuID}
                  >
                    {this.selectcomponent(view)}
                    {options.sysType !== 'cloud' && menuType !== 'HS' && !['CommonTable', 'TreePage', 'ManageTable', 'CalendarPage', 'Home'].includes(view.type) ?
                    {debug && options.sysType !== 'cloud' && menuType !== 'HS' && !['CommonTable', 'TreePage', 'ManageTable', 'CalendarPage', 'Home'].includes(view.type) ?
                      <Button
                        icon="copy"
                        shape="circle"
src/index.js
@@ -53,6 +53,8 @@
}
sessionStorage.removeItem('isEditState')
sessionStorage.removeItem('loginError')
sessionStorage.setItem('role_id', sessionStorage.getItem('localRole_id') || '')
sessionStorage.setItem('dataM', sessionStorage.getItem('localDataM') || '')
fetch(`./options.json`)
  .then(response => response.json())
src/store/action-type.js
@@ -16,9 +16,6 @@
// 退出系统时参数重置
export const RESET_STATE = 'RESET_STATE'
// 修改编辑模式
export const RESET_DEBUG = 'RESET_DEBUG'
// 刷新tab页面
export const REFRESH_TABVIEW = 'REFRESH_TABVIEW'
@@ -28,9 +25,6 @@
// 重置编辑级别
export const RESET_EDITLEVEL = 'RESET_EDITLEVEL'
// 初始化角色权限
export const INIT_ROLESPERMISSION = 'INIT_ROLESPERMISSION'
// 初始化按钮权限
export const INIT_ACTIONPERMISSION = 'INIT_ACTIONPERMISSION'
@@ -39,9 +33,6 @@
// 修改会员等级
export const MODIFY_MEMBERLEVEL = 'MODIFY_MEMBERLEVEL'
// 修改数据权限
export const MODIFY_DATAMANAGER = 'MODIFY_DATAMANAGER'
// 修改自定义菜单
export const MODIFY_CUSTOMMENU = 'MODIFY_CUSTOMMENU'
src/store/action.js
@@ -47,13 +47,6 @@
  }
}
// 退出系统时参数重置
export const resetDebug = () => {
  return {
    type: user.RESET_DEBUG
  }
}
// 重置编辑状态
export const resetEditState = (editState) => {
  return {
@@ -67,14 +60,6 @@
  return {
    type: user.RESET_EDITLEVEL,
    editLevel
  }
}
// 初始化按钮权限
export const initRolesPermission = (permRoles) => {
  return {
    type: user.INIT_ROLESPERMISSION,
    permRoles: permRoles
  }
}
@@ -99,14 +84,6 @@
  return {
    type: user.MODIFY_MEMBERLEVEL,
    memberLevel: memberLevel
  }
}
// 初始数据权限
export const modifyDataManager = (dataManager) => {
  return {
    type: user.MODIFY_DATAMANAGER,
    dataManager: dataManager
  }
}
src/store/reducer.js
@@ -22,13 +22,10 @@
  tabviews: [],         // 导航栏
  collapse: _collapse,  // 是否收起侧边栏导航
  isiframe: false,      // 是否为iframe窗口
  debug: false,         // 知否可以复制菜单参数, 是否可进入编辑模式
  editState: false,     // 是否为编辑状态,值为false、true
  editLevel: null,      // 编辑菜单级别,值为level1、level2、level3、HS
  permRoles: [],        // 用户角色列表
  permAction: {},       // 用户按钮权限
  permMenus: [],        // 用户三级菜单列表
  dataManager: false,   // 数据管理员
  memberLevel: _level,  // 会员等级
  customMenu: null      // 编辑中的菜单(自定义页面)
}
@@ -77,12 +74,6 @@
          isiframe: false
        }
      }
    case Type.RESET_DEBUG:
    // 切换debug状态
      return {
        ...state,
        debug: true
      }
    case Type.RESET_EDITSTATE:
    // 重置编辑状态
      return {
@@ -97,12 +88,6 @@
        ...state,
        editState: true,
        editLevel: action.editLevel
      }
    case Type.INIT_ROLESPERMISSION:
    // 初始化按钮权限
      return {
        ...state,
        permRoles: action.permRoles
      }
    case Type.INIT_ACTIONPERMISSION:
    // 初始化按钮权限
@@ -122,12 +107,6 @@
        ...state,
        memberLevel: action.memberLevel
      }
    case Type.MODIFY_DATAMANAGER:
      // 修改数据权限
      return {
        ...state,
        dataManager: action.dataManager
      }
    case Type.MODIFY_CUSTOMMENU:
      // 修改自定义菜单信息
      return {
@@ -141,7 +120,6 @@
        tabviews: [],
        collapse: localStorage.getItem('collapse') === 'true',
        isiframe: false,
        debug: false,
        editState: false,
        editLevel: null,
        permAction: {},
src/tabviews/calendar/index.jsx
@@ -50,7 +50,8 @@
    visible: false,       // 标签页控制
    triggerTime: '',      // 点击时间
    treevisible: false,   // 菜单结构树弹框显示隐藏控制
    calendarYear: moment().format('YYYY') // 日历年份
    calendarYear: moment().format('YYYY'), // 日历年份
    debug: sessionStorage.getItem('debug') === 'true'
  }
  /**
@@ -121,6 +122,7 @@
      // 字段权限黑名单、必填、字段透视
      let valid = true
      let roleId = sessionStorage.getItem('role_id') || ''
      config.search = config.search.map(item => {
        item.oriInitval = item.initval
        if (['text', 'select', 'link'].includes(item.type) && param) {
@@ -138,12 +140,7 @@
        }
        if (!item.blacklist || item.blacklist.length === 0) return item
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
        if (item.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          item.Hide = 'true'
        }
@@ -170,7 +167,7 @@
          config.setting.dataresource = '(' + config.setting.dataresource + ') tb'
        }
    
        if (this.props.dataManager) { // 数据权限
        if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
          config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*')
          config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/')
          _customScript = _customScript.replace(/\$@/ig, '/*')
@@ -244,7 +241,7 @@
      param.BID = BID
    }
    // 数据管理权限
    if (this.props.dataManager) {
    if (sessionStorage.getItem('dataM') === 'true') {
      param.dataM = 'Y'
    }
@@ -584,7 +581,7 @@
  render() {
    const { menuType } = this.props
    const { BID, searchlist, loadingview, viewlost, config, loading, data, triggerTime } = this.state
    const { debug, BID, searchlist, loadingview, viewlost, config, loading, data, triggerTime } = this.state
    return (
      <div className="calendar-page" id={this.state.ContainerId}>
@@ -595,12 +592,11 @@
            dict={this.state.dict}
            searchlist={searchlist}
            menuType={menuType}
            dataManager={this.props.dataManager}
            refreshdata={this.refreshbysearch}
          /> : null
        }
        {config && config.calendar ? <CalendarComponent calendar={config.calendar} loading={loading} data={data} triggerDate={this.triggerDate} changeDate={this.changeDate}/> : null}
        {options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
        {debug && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
          icon="copy"
          shape="circle"
          className="common-table-copy"
@@ -656,9 +652,7 @@
const mapStateToProps = (state) => {
  return {
    menuType: state.editLevel,
    permAction: state.permAction,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    permAction: state.permAction
  }
}
src/tabviews/commontable/index.jsx
@@ -68,7 +68,8 @@
    tabActive: null,      // 标签页展开控制
    chartId: '',          // 展开图表ID
    statFields: [],       // 合计字段
    statFValue: []        // 合计值
    statFValue: [],       // 合计值
    debug: sessionStorage.getItem('debug') === 'true'
  }
  /**
@@ -138,20 +139,12 @@
      // 去除空行标签
      config.tabgroups = config.tabgroups.filter(group => group.sublist.length > 0)
      let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
      // 视图权限
      config.charts = config.charts.filter(item => {
        if (item.Hide === 'true') return false
        if (!item.blacklist || item.blacklist.length === 0) return true
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0 || item.Hide === 'true') {
          return false
        } else {
          return true
        }
        return item.blacklist.filter(v => roleId.indexOf(v) > -1).length === 0
      })
      if (config.charts.length <= 1) {
@@ -173,12 +166,7 @@
        }
        if (!item.blacklist || item.blacklist.length === 0) return item
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
        if (item.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          item.Hide = 'true'
        }
@@ -186,13 +174,8 @@
      })
      config.columns = config.columns.map(col => {
        if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return col
        let _black = col.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
        if (!col.field || !col.blacklist || col.blacklist.length === 0) return col
        if (col.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          col.Hide = 'true'
        }
@@ -228,7 +211,7 @@
          config.setting.dataresource = '(' + config.setting.dataresource + ') tb'
        }
  
        if (this.props.dataManager) { // 数据权限
        if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
          config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*')
          config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/')
          config.setting.customScript = config.setting.customScript.replace(/\$@/ig, '/*')
@@ -512,7 +495,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.MenuName || ''
@@ -552,7 +535,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType, this.props.dataManager, id)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType, id)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.MenuName || ''
@@ -608,7 +591,7 @@
    }
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, search, _orderBy, BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, search, _orderBy, BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.MenuName || ''
@@ -930,7 +913,7 @@
  render() {
    const { menuType, MenuName } = this.props
    const { BID, setting, searchlist, pageSize, actions, columns, loadingview, viewlost, pickup, config, userConfig, tabActive, chartId, search, selectedData } = this.state
    const { debug, BID, setting, searchlist, pageSize, actions, columns, loadingview, viewlost, pickup, config, userConfig, tabActive, chartId, search, selectedData } = this.state
    return (
      <div className="commontable" id={this.state.ContainerId}>
@@ -941,7 +924,6 @@
            dict={this.state.dict}
            searchlist={searchlist}
            menuType={this.props.menuType}
            dataManager={this.props.dataManager}
            refreshdata={this.refreshbysearch}
          /> : null
        }
@@ -982,7 +964,6 @@
                      dict={this.state.dict}
                      MenuID={this.props.MenuID}
                      permAction={this.props.permAction}
                      permRoles={this.props.permRoles}
                      userConfig={this.state.userConfig}
                      reloadview={this.reloadview}
                    /> : null}
@@ -1079,7 +1060,7 @@
            </Tabs>)
          )
        }
        {options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
        {debug && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
          icon="copy"
          shape="circle"
          className="common-table-copy"
@@ -1116,9 +1097,7 @@
    menuType: state.editLevel,
    tabviews: state.tabviews,
    permAction: state.permAction,
    permMenus: state.permMenus,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    permMenus: state.permMenus
  }
}
src/tabviews/custom/components/card/data-card/index.jsx
@@ -20,7 +20,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
@@ -128,7 +127,7 @@
  }
  async loadData () {
    const { mainSearch, BID, menuType, dataManager } = this.props
    const { mainSearch, BID, menuType } = this.props
    const { config, arr_field, pageIndex } = this.state
    let searches = []
@@ -146,7 +145,7 @@
    })
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, menuType, dataManager)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, menuType)
    let result = await Api.genericInterface(param)
    if (result.status) {
src/tabviews/custom/components/card/prop-card/index.jsx
@@ -18,7 +18,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
@@ -136,7 +135,7 @@
  }
  async loadData () {
    const { mainSearch, BID, menuType, dataManager } = this.props
    const { mainSearch, BID, menuType } = this.props
    const { config, arr_field } = this.state
    let searches = []
@@ -162,7 +161,7 @@
    }
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, 1, 1, BID, menuType, dataManager)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, 1, 1, BID, menuType)
    let result = await Api.genericInterface(param)
    if (result.status) {
src/tabviews/custom/components/card/table-card/index.jsx
@@ -18,7 +18,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
@@ -141,7 +140,7 @@
  }
  async loadData () {
    const { mainSearch, BID, menuType, dataManager } = this.props
    const { mainSearch, BID, menuType } = this.props
    const { config, arr_field, pageIndex } = this.state
    let searches = []
@@ -159,7 +158,7 @@
    })
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, menuType, dataManager)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, pageIndex, config.setting.pageSize, BID, menuType)
    let result = await Api.genericInterface(param)
    if (result.status) {
src/tabviews/custom/components/chart/antv-bar-line/index.jsx
@@ -25,7 +25,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
@@ -263,7 +262,7 @@
  }
  async loadData () {
    const { mainSearch, BID, menuType, dataManager } = this.props
    const { mainSearch, BID, menuType } = this.props
    const { config, arr_field, search } = this.state
    let searches = fromJS(search).toJS()
@@ -281,7 +280,7 @@
    })
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, '', '', BID, menuType, dataManager)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, '', '', BID, menuType)
    let result = await Api.genericInterface(param)
    if (result.status) {
src/tabviews/custom/components/chart/antv-pie/index.jsx
@@ -21,7 +21,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
@@ -137,7 +136,7 @@
  }
  async loadData () {
    const { mainSearch, menuType, dataManager } = this.props
    const { mainSearch, menuType } = this.props
    const { config, arr_field, search, BID } = this.state
    let searches = fromJS(search).toJS()
@@ -155,7 +154,7 @@
    })
    let _orderBy = config.setting.order || ''
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, '', '', BID, menuType, dataManager)
    let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, '', '', BID, menuType)
    let result = await Api.genericInterface(param)
    if (result.status) {
src/tabviews/custom/components/search/main-search/index.jsx
@@ -20,7 +20,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
    refreshdata: PropTypes.func      // 刷新数据
  }
@@ -71,7 +70,7 @@
        if (item.resourceType === '1' && item.dataSource) {
          let _option = Utils.getSelectQueryOptions(item)
          if (this.props.dataManager) { // 数据权限
          if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
            _option.sql = _option.sql.replace(/\$@/ig, '/*')
            _option.sql = _option.sql.replace(/@\$/ig, '*/')
          } else {
src/tabviews/custom/components/share/searchLine/index.jsx
@@ -15,7 +15,6 @@
class MainSearch extends Component {
  static propTpyes = {
    BID: PropTypes.any,          // 父级Id,用于查询下拉选择项
    dataManager: PropTypes.any,  // 数据权限
    menuType: PropTypes.any,     // 菜单权限,是否为HS
    searchlist: PropTypes.array, // 搜索条件列表
    dict: PropTypes.object       // 字典项
@@ -67,7 +66,7 @@
        if (item.resourceType === '1' && item.dataSource) {
          let _option = Utils.getSelectQueryOptions(item)
          if (this.props.dataManager) { // 数据权限
          if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
            _option.sql = _option.sql.replace(/\$@/ig, '/*')
            _option.sql = _option.sql.replace(/@\$/ig, '*/')
          } else {
src/tabviews/custom/components/share/tabtransfer/index.jsx
@@ -27,7 +27,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 全局搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
@@ -45,22 +44,6 @@
    config.components.forEach(component => {
      if (component.type === 'search') {
        self = true
        component.search = component.search.map(item => {
          item.oriInitval = item.initval
          if (!item.blacklist || item.blacklist.length === 0) return item
          let _black = item.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
          })
          if (_black.length > 0) {
            item.Hide = 'true'
          }
          return item
        })
        _mainSearch = Utils.initMainSearch(component.search)
      }
    })
@@ -250,7 +233,7 @@
  }
  getComponents = () => {
    const { menuType, dataManager, BID, config } = this.props
    const { menuType, BID, config } = this.props
    const { mainSearch, data } = this.state
    if (!config || !config.components || config.components.length === 0) return (<Empty description={false} />)
@@ -259,43 +242,43 @@
      if (item.type === 'bar' || item.type === 'line') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvBarAndLine data={data} config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <AntvBarAndLine data={data} config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'pie') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvPie data={data} config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <AntvPie data={data} config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'search') {
        return (
          <Col span={item.width} key={item.uuid}>
            <MainSearch config={item} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} refreshdata={this.resetSearch} />
            <MainSearch config={item} mainSearch={mainSearch} menuType={menuType} refreshdata={this.resetSearch} />
          </Col>
        )
      } else if (item.type === 'tabs') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvTabs config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <AntvTabs config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'card' && item.subtype === 'datacard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'card' && item.subtype === 'propcard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'table' && item.subtype === 'tablecard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else {
@@ -313,10 +296,7 @@
const mapStateToProps = (state) => {
  return {
    menuType: state.editLevel,
    permAction: state.permAction,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    menuType: state.editLevel
  }
}
src/tabviews/custom/components/table/normal-table/index.jsx
@@ -142,7 +142,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.MenuName || ''
@@ -182,7 +182,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType, this.props.dataManager, id)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, search, _orderBy, pageIndex, pageSize, BID, this.props.menuType, id)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.MenuName || ''
@@ -238,7 +238,7 @@
    }
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, search, _orderBy, BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, search, _orderBy, BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.MenuName || ''
@@ -468,7 +468,6 @@
            dict={this.state.dict}
            searchlist={searchlist}
            menuType={this.props.menuType}
            dataManager={this.props.dataManager}
            refreshdata={this.refreshbysearch}
          /> : null
        }
@@ -522,9 +521,7 @@
    menuType: state.editLevel,
    tabviews: state.tabviews,
    permAction: state.permAction,
    permMenus: state.permMenus,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    permMenus: state.permMenus
  }
}
src/tabviews/custom/components/tabs/antv-tabs/index.jsx
@@ -16,7 +16,6 @@
    config: PropTypes.object,        // 组件配置信息
    mainSearch: PropTypes.any,       // 外层搜索条件
    menuType: PropTypes.any,         // 菜单类型
    dataManager: PropTypes.any,      // 数据权限
  }
  state = {
src/tabviews/custom/index.jsx
@@ -48,6 +48,7 @@
    loading: false,       // 列表数据加载中
    visible: false,       // 标签页控制
    treevisible: false,   // 菜单结构树弹框显示隐藏控制
    debug: sessionStorage.getItem('debug') === 'true'
  }
  /**
@@ -111,10 +112,11 @@
      }
      // 权限过滤
      let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
      if (this.props.menuType !== 'HS') {
        config.components = this.filterComponent(config.components)
        config.components = this.filterComponent(config.components, roleId)
      }
      // 获取主搜索条件
      let mainSearch = []
      config.components.forEach(component => {
@@ -130,16 +132,6 @@
            } else if (param.data && param.data[item.field]) {
              item.initval = param.data[item.field]
            }
          }
          if (!item.blacklist || item.blacklist.length === 0) return item
          let _black = item.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
          })
          if (_black.length > 0) {
            item.Hide = 'true'
          }
          return item
@@ -189,19 +181,18 @@
    }
  }
  filterComponent = (components) => {
  filterComponent = (components, roleId) => {
    return components.filter(item => {
      if (item.type === 'tabs') {
        if (item.setting.blacklist && item.setting.blacklist.length > 0) {
          let _black = item.setting.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
          })
          if (_black.length > 0) return false
        if (
          item.setting.blacklist && item.setting.blacklist.length > 0 &&
          item.setting.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0
        ) {
          return false
        }
        item.subtabs = item.subtabs.map(tab => {
          tab.components = this.filterComponent(tab.components)
          tab.components = this.filterComponent(tab.components, roleId)
          return tab
        })
@@ -217,21 +208,31 @@
        })
        item.parentIds = supIds
      } else if (item.type === 'pie' || item.type === 'bar' || item.type === 'line') {
        if (item.plot.blacklist && item.plot.blacklist.length > 0) {
          let _black = item.plot.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
          })
          if (_black.length > 0) return false
        if (
          item.plot.blacklist && item.plot.blacklist.length > 0 &&
          item.plot.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0
        ) {
          return false
        }
      } else {
        if (item.wrap.blacklist && item.wrap.blacklist.length > 0) {
          let _black = item.wrap.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
          })
          if (_black.length > 0) return false
        if (
          item.wrap.blacklist && item.wrap.blacklist.length > 0 &&
          item.wrap.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0
        ) {
          return false
        }
      }
      if (item.search && item.search.length > 0) {
        item.search = item.search.map(cell => {
          cell.oriInitval = cell.initval
          if (!cell.blacklist || cell.blacklist.length === 0) return cell
          if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
            cell.Hide = 'true'
          }
          return item
        })
      }
      return true
    })
@@ -282,7 +283,7 @@
        component.setting.dataresource = '(' + component.setting.dataresource + ') tb'
      }
  
      if (this.props.dataManager) { // 数据权限
      if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
        component.setting.dataresource = component.setting.dataresource.replace(/\$@/ig, '/*')
        component.setting.dataresource = component.setting.dataresource.replace(/@\$/ig, '*/')
        _customScript = _customScript.replace(/\$@/ig, '/*')
@@ -528,7 +529,7 @@
  }
  getComponents = () => {
    const { menuType, dataManager } = this.props
    const { menuType } = this.props
    const { config, BID, data, mainSearch } = this.state
    if (!config || !config.components) return
@@ -537,19 +538,19 @@
      if (item.type === 'bar' || item.type === 'line') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvBarAndLine config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <AntvBarAndLine config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'pie') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvPie config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <AntvPie config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'search') {
        return (
          <Col span={item.width} key={item.uuid}>
            <MainSearch config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} refreshdata={this.resetSearch} />
            <MainSearch config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} refreshdata={this.resetSearch} />
          </Col>
        )
      } else if (item.type === 'tabs') {
@@ -561,25 +562,25 @@
      } else if (item.type === 'card' && item.subtype === 'datacard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'card' && item.subtype === 'propcard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'table' && item.subtype === 'tablecard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else if (item.type === 'table' && item.subtype === 'normaltable') {
        return (
          <Col span={item.width} key={item.uuid}>
            <NormalTable config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
            <NormalTable config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
          </Col>
        )
      } else {
@@ -590,13 +591,13 @@
  render() {
    const { menuType, MenuNo } = this.props
    const { loadingview, viewlost, config, loading } = this.state
    const { debug, loadingview, viewlost, config, loading } = this.state
    return (
      <div className="custom-page-wrap" id={this.state.ContainerId} style={config ? config.style : null}>
        {(loadingview || loading) ? <Spin size="large" /> : null}
        <Row>{this.getComponents()}</Row>
        {MenuNo && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
        {debug && MenuNo && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
          icon="copy"
          shape="circle"
          className="common-table-copy"
@@ -612,9 +613,7 @@
  return {
    menuType: state.editLevel,
    refreshTab: state.refreshTab,
    permAction: state.permAction,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    permAction: state.permAction
  }
}
src/tabviews/custom/tools/simpleSearch/index.jsx
@@ -15,7 +15,6 @@
class MainSearch extends Component {
  static propTpyes = {
    BID: PropTypes.any,          // 父级Id,用于查询下拉选择项
    dataManager: PropTypes.any,  // 数据权限
    menuType: PropTypes.any,     // 菜单权限,是否为HS
    searchlist: PropTypes.array, // 搜索条件列表
    dict: PropTypes.object       // 字典项
@@ -67,7 +66,7 @@
        if (item.resourceType === '1' && item.dataSource) {
          let _option = Utils.getSelectQueryOptions(item)
          if (this.props.dataManager) { // 数据权限
          if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
            _option.sql = _option.sql.replace(/\$@/ig, '/*')
            _option.sql = _option.sql.replace(/@\$/ig, '*/')
          } else {
src/tabviews/formtab/index.jsx
@@ -120,24 +120,15 @@
      })
      let _arrField = [config.setting.primaryKey]     // 字段集 , 默认添加主键
      let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
      config.groups.forEach(group => {
        group.sublist = group.sublist.filter(item => {
          item.field && _arrField.push(item.field)
          if (!item.blacklist || item.blacklist.length === 0) {
            _arrField.push(item.field)
            return true
          }
          let _black = item.blacklist.filter(v => {
            return this.props.permRoles.indexOf(v) !== -1
          })
          if (_black.length > 0) {
            return false
          } else {
            _arrField.push(item.field)
            return true
          }
          return item.blacklist.filter(v => roleId.indexOf(v) > -1).length === 0
        })
      })
      _arrField = _arrField.join(',')
@@ -207,7 +198,7 @@
            arr_field: _option.field
          }
          if (this.props.dataManager) { // 数据权限
          if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
            param.LText = param.LText.replace(/\$@/ig, '/*')
            param.LText = param.LText.replace(/@\$/ig, '*/')
          } else {
@@ -334,7 +325,7 @@
    if (!param) return // 未获取参数时,不发请求
    // 数据管理权限
    if (this.props.dataManager) {
    if (sessionStorage.getItem('dataM') === 'true') {
      param.dataM = 'Y'
    }
@@ -424,7 +415,7 @@
      _dataresource = '(' + _dataresource + ') tb'
    }
    if (this.props.dataManager) { // 数据权限
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      _dataresource = _dataresource.replace(/\$@/ig, '/*')
      _dataresource = _dataresource.replace(/@\$/ig, '*/')
      // param.custom_script = param.custom_script.replace(/\$@/ig, '/*')
@@ -709,9 +700,7 @@
  return {
    menuType: state.editLevel,
    tabviews: state.tabviews,
    permAction: state.permAction,
    dataManager: state.dataManager,
    permRoles: state.permRoles
    permAction: state.permAction
  }
}
src/tabviews/subtable/index.jsx
@@ -144,30 +144,20 @@
        config.action = config.action.filter(item => permAction[item.uuid])
      }
      let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
      // 字段权限黑名单
      config.search = config.search.map(item => {
        item.oriInitval = item.initval
        if (!item.blacklist || item.blacklist.length === 0) return item
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
        if (item.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          item.Hide = 'true'
        }
        return item
      })
      config.columns = config.columns.map(col => {
        if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return col
        let _black = col.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
        if (!col.blacklist || col.blacklist.length === 0) return col
        if (col.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          col.Hide = 'true'
        }
@@ -178,16 +168,7 @@
      config.charts = config.charts.filter(item => {
        if (item.Hide === 'true') return false
        if (!item.blacklist || item.blacklist.length === 0) return true
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0 || item.Hide === 'true') {
          return false
        } else {
          return true
        }
        return item.blacklist.filter(v => roleId.indexOf(v) > -1).length === 0
      })
      if (config.charts.length <= 1) {
@@ -339,7 +320,7 @@
          config.setting.dataresource = '(' + config.setting.dataresource + ') tb'
        }
  
        if (this.props.dataManager) { // 数据权限
        if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
          config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*')
          config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/')
          config.setting.customScript = config.setting.customScript.replace(/\$@/ig, '/*')
@@ -428,7 +409,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, _BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, _BID, this.props.menuType)
    this.handleTableId()
@@ -477,7 +458,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, BID, this.props.menuType, this.props.dataManager, id)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, BID, this.props.menuType, id)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.Tab.label || ''
@@ -551,7 +532,7 @@
    }
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, searches, _orderBy, _BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, searches, _orderBy, _BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.Tab.label || ''
@@ -770,7 +751,6 @@
            dict={this.state.dict}
            searchlist={searchlist}
            menuType={this.props.menuType}
            dataManager={this.props.dataManager}
            refreshdata={this.refreshbysearch}
          /> : null
        }
@@ -883,9 +863,7 @@
    tabviews: state.tabviews,
    menuType: state.editLevel,
    permAction: state.permAction,
    permRoles: state.permRoles,
    permMenus: state.permMenus,
    dataManager: state.dataManager,
  }
}
src/tabviews/subtabtable/index.jsx
@@ -148,30 +148,21 @@
        config.action = config.action.filter(item => permAction[item.uuid])
      }
      let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
      // 字段权限黑名单
      config.search = config.search.filter(item => {
        item.oriInitval = item.initval
        if (!item.blacklist || item.blacklist.length === 0) return item
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
        if (item.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          item.Hide = 'true'
        }
        return item
      })
      config.columns = config.columns.filter(col => {
        if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return col
        let _black = col.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0) {
      config.columns = config.columns.map(col => {
        if (!col.blacklist || col.blacklist.length === 0) return col
        if (col.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
          col.Hide = 'true'
        }
@@ -182,16 +173,7 @@
      config.charts = config.charts.filter(item => {
        if (item.Hide === 'true') return false
        if (!item.blacklist || item.blacklist.length === 0) return true
        let _black = item.blacklist.filter(v => {
          return this.props.permRoles.indexOf(v) !== -1
        })
        if (_black.length > 0 || item.Hide === 'true') {
          return false
        } else {
          return true
        }
        return item.blacklist.filter(v => roleId.indexOf(v) > -1).length === 0
      })
      if (config.charts.length <= 1) {
@@ -294,7 +276,7 @@
          config.setting.dataresource = '(' + config.setting.dataresource + ') tb'
        }
  
        if (this.props.dataManager) { // 数据权限
        if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
          config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*')
          config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/')
          config.setting.customScript = config.setting.customScript.replace(/\$@/ig, '/*')
@@ -368,7 +350,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.Tab.label || ''
@@ -416,7 +398,7 @@
    }
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, searches, _orderBy, BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getStatQueryDataParams(setting, statFields, searches, _orderBy, BID, this.props.menuType)
    if (param.func === 'sPC_Get_TableData') {
      param.menuname = this.props.Tab.label || ''
@@ -587,7 +569,6 @@
            dict={this.state.dict}
            searchlist={searchlist}
            menuType={this.props.menuType}
            dataManager={this.props.dataManager}
            refreshdata={this.refreshbysearch}
          /> : null
        }
@@ -686,8 +667,6 @@
  return {
    menuType: state.editLevel,
    permAction: state.permAction,
    permRoles: state.permRoles,
    dataManager: state.dataManager,
    memberLevel: state.memberLevel
  }
}
src/tabviews/treepage/index.jsx
@@ -54,7 +54,8 @@
    settingVisible: false,// 自定义设置模态框
    tabActive: null,      // 标签页展开控制
    expandedKeys: [],     // 展开的树节点
    selectedKeys: []      // 选中的树节点
    selectedKeys: [],     // 选中的树节点
    debug: sessionStorage.getItem('debug') === 'true'
  }
  /**
@@ -169,7 +170,7 @@
          config.setting.dataresource = '(' + config.setting.dataresource + ') tb'
        }
  
        if (this.props.dataManager) { // 数据权限
        if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
          config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*')
          config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/')
          config.setting.customScript = config.setting.customScript.replace(/\$@/ig, '/*')
@@ -277,7 +278,7 @@
    })
    let arr_field = `${setting.valueField},${setting.labelField},${setting.parentField}`
    let param = UtilsDM.getQueryDataParams(setting, arr_field, [], setting.order, '', '', BID, this.props.menuType, this.props.dataManager)
    let param = UtilsDM.getQueryDataParams(setting, arr_field, [], setting.order, '', '', BID, this.props.menuType)
    let result = await Api.genericInterface(param)
    if (result.status) {
@@ -729,7 +730,7 @@
  render() {
    const { menuType } = this.props
    const { setting, loadingview, viewlost, config, userConfig, tabActive, tabgroups, treeNodes, treedata, expandedKeys, selectedKeys } = this.state
    const { debug, setting, loadingview, viewlost, config, userConfig, tabActive, tabgroups, treeNodes, treedata, expandedKeys, selectedKeys } = this.state
    return (
      <div className="tree-page" id={this.state.ContainerId}>
@@ -794,7 +795,7 @@
            )}
          </Col>
        </Row> : null}
        {options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
        {debug && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button
          icon="copy"
          shape="circle"
          className="tree-page-copy"
@@ -840,7 +841,6 @@
              MenuID={this.props.MenuID}
              MenuName={this.props.MenuName}
              permAction={this.props.permAction}
              permRoles={this.props.permRoles}
              config={this.state.config}
              userConfig={this.state.userConfig}
              columns={[]}
@@ -858,9 +858,7 @@
  return {
    menuType: state.editLevel,
    permAction: state.permAction,
    permRoles: state.permRoles,
    memberLevel: state.memberLevel,
    dataManager: state.dataManager
    memberLevel: state.memberLevel
  }
}
src/tabviews/zshare/actionList/excelInbutton/index.jsx
@@ -256,7 +256,7 @@
    if (btn.intertype === 'system') { // 系统存储过程
      param.func = 'sPC_TableData_InUpDe'
      
      if (this.props.dataManager) { // 数据权限
      if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
        result.sql = result.sql.replace(/\$@/ig, '/*')
        result.sql = result.sql.replace(/@\$/ig, '*/')
        result.bottom = result.bottom.replace(/\$@/ig, '/*')
@@ -422,8 +422,7 @@
const mapStateToProps = (state) => {
  return {
    menuType: state.editLevel,
    dataManager: state.dataManager
    menuType: state.editLevel
  }
}
src/tabviews/zshare/actionList/exceloutbutton/index.jsx
@@ -445,7 +445,7 @@
    const { search } = this.state
    let script = btn.verify.script
    if (this.props.dataManager) { // 数据权限
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      script = script.replace(/\$@/ig, '/*')
      script = script.replace(/@\$/ig, '*/')
    } else {
@@ -509,7 +509,7 @@
    }
    // 数据管理权限
    if (this.props.dataManager) {
    if (sessionStorage.getItem('dataM') === 'true') {
      param.dataM = 'Y'
    }
@@ -545,7 +545,7 @@
    }
    // 数据管理权限
    if (this.props.dataManager) {
    if (sessionStorage.getItem('dataM') === 'true') {
      param.dataM = 'Y'
    }
@@ -745,8 +745,7 @@
const mapStateToProps = (state) => {
  return {
    menuType: state.editLevel,
    dataManager: state.dataManager
    menuType: state.editLevel
  }
}
src/tabviews/zshare/actionList/newpagebutton/index.jsx
@@ -1,6 +1,5 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import { is, fromJS } from 'immutable'
import { Button, notification, Modal } from 'antd'
@@ -48,7 +47,7 @@
   * @description 触发按钮操作
   */
  actionTrigger = (triggerId) => {
    const { setting, btn, selectedData, dataManager } = this.props
    const { setting, btn, selectedData } = this.props
    const _this = this
    if (triggerId && btn.uuid !== triggerId) return
@@ -95,11 +94,11 @@
      if (btn.Ot === 'required' && data && data.length > 0) {
        data.forEach((item, i) => {
          let _id = item[setting.primaryKey] || ''
          let url = '#/billprint/' + window.btoa(window.encodeURIComponent(JSON.stringify({ id: _id, tempId: btn.printTemp, dataManager: dataManager })))
          let url = '#/billprint/' + window.btoa(window.encodeURIComponent(JSON.stringify({ id: _id, tempId: btn.printTemp, dataM: sessionStorage.getItem('dataM') })))
          window.open(url)
        })
      } else {
        window.open('#/billprint/' + window.btoa(window.encodeURIComponent(JSON.stringify({ id: Id, tempId: btn.printTemp, dataManager: dataManager }))))
        window.open('#/billprint/' + window.btoa(window.encodeURIComponent(JSON.stringify({ id: Id, tempId: btn.printTemp, dataM: sessionStorage.getItem('dataM') }))))
      }
    } else if (btn.pageTemplate === 'billprintTemp') {
      let src = '#/menudesign/' + window.btoa(window.encodeURIComponent(JSON.stringify({ MenuType: 'billPrint', MenuId: Id, MenuNo: MenuNo, MenuName: name || '打印', Remark: Remark })))
@@ -170,14 +169,4 @@
  }
}
const mapStateToProps = (state) => {
  return {
    dataManager: state.dataManager
  }
}
const mapDispatchToProps = () => {
  return {}
}
export default connect(mapStateToProps, mapDispatchToProps)(NewPageButton)
export default NewPageButton
src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -226,7 +226,7 @@
            param.ID = primaryId
            param.LText = Utils.getSysDefaultSql(btn, setting, '', param, data[0], columns, this.props.Tab) // 数据源
            if (this.props.dataManager) { // 数据权限
            if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
              param.LText = param.LText.replace(/\$@/ig, '/*')
              param.LText = param.LText.replace(/@\$/ig, '*/')
            } else {
@@ -267,7 +267,7 @@
            param.ID = primaryId || Utils.getguid()
            param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab) // 数据源
            
            if (this.props.dataManager) { // 数据权限
            if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
              param.LText = param.LText.replace(/\$@/ig, '/*')
              param.LText = param.LText.replace(/@\$/ig, '*/')
            } else {
@@ -286,7 +286,7 @@
            param.ID = primaryId
            param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab) // 数据源
            
            if (this.props.dataManager) { // 数据权限
            if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
              param.LText = param.LText.replace(/\$@/ig, '/*')
              param.LText = param.LText.replace(/@\$/ig, '*/')
            } else {
@@ -358,7 +358,7 @@
              param.ID = primaryId
              param.LText = Utils.getSysDefaultSql(btn, setting, '', param, cell, columns, this.props.Tab) // 数据源
              
              if (this.props.dataManager) { // 数据权限
              if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                param.LText = param.LText.replace(/\$@/ig, '/*')
                param.LText = param.LText.replace(/@\$/ig, '*/')
              } else {
@@ -397,7 +397,7 @@
              param.ID = _formPrimaryId || Utils.getguid()
              param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab) // 数据源
              
              if (this.props.dataManager) { // 数据权限
              if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                param.LText = param.LText.replace(/\$@/ig, '/*')
                param.LText = param.LText.replace(/@\$/ig, '*/')
              } else {
@@ -416,7 +416,7 @@
              param.ID = primaryId
              param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab) // 数据源
              
              if (this.props.dataManager) { // 数据权限
              if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                param.LText = param.LText.replace(/\$@/ig, '/*')
                param.LText = param.LText.replace(/@\$/ig, '*/')
              } else {
@@ -950,6 +950,7 @@
          })
          this.updateStatus('over')
        } else {
          let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
          if (_LongParam.groups.length > 0) {
            _LongParam.groups.forEach(group => {
              group.sublist = group.sublist.map(cell => {
@@ -957,7 +958,7 @@
                if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(cell.type) && cell.resourceType === '1') {
                  let _option = Utils.getSelectQueryOptions(cell)
                  if (this.props.dataManager) { // 数据权限
                  if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                    _option.sql = _option.sql.replace(/\$@/ig, '/*')
                    _option.sql = _option.sql.replace(/@\$/ig, '*/')
                  } else {
@@ -975,12 +976,7 @@
                // 字段权限黑名单
                if (!cell.blacklist || cell.blacklist.length === 0) return cell
                let _black = cell.blacklist.filter(v => {
                  return this.props.permRoles.indexOf(v) !== -1
                })
                if (_black.length > 0) {
                if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
                  cell.hidden = 'true'
                }
@@ -993,7 +989,7 @@
              if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(cell.type) && cell.resourceType === '1') {
                let _option = Utils.getSelectQueryOptions(cell)
                if (this.props.dataManager) { // 数据权限
                if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                  _option.sql = _option.sql.replace(/\$@/ig, '/*')
                  _option.sql = _option.sql.replace(/@\$/ig, '*/')
                } else {
@@ -1007,12 +1003,7 @@
              // 字段权限黑名单
              if (!cell.blacklist || cell.blacklist.length === 0) return cell
              let _black = cell.blacklist.filter(v => {
                return this.props.permRoles.indexOf(v) !== -1
              })
              if (_black.length > 0) {
              if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
                cell.hidden = 'true'
              }
@@ -1222,9 +1213,7 @@
const mapStateToProps = (state) => {
  return {
    tabviews: state.tabviews,
    menuType: state.editLevel,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    menuType: state.editLevel
  }
}
src/tabviews/zshare/actionList/printbutton/index.jsx
@@ -1052,6 +1052,7 @@
          })
          this.updateStatus('over')
        } else {
          let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
          if (_LongParam.groups.length > 0) {
            _LongParam.groups.forEach(group => {
              group.sublist = group.sublist.map(cell => {
@@ -1059,7 +1060,7 @@
                if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(cell.type) && cell.resourceType === '1') {
                  let _option = Utils.getSelectQueryOptions(cell)
                  if (this.props.dataManager) { // 数据权限
                  if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                    _option.sql = _option.sql.replace(/\$@/ig, '/*')
                    _option.sql = _option.sql.replace(/@\$/ig, '*/')
                  } else {
@@ -1077,12 +1078,7 @@
                // 字段权限黑名单
                if (!cell.blacklist || cell.blacklist.length === 0) return cell
                let _black = cell.blacklist.filter(v => {
                  return this.props.permRoles.indexOf(v) !== -1
                })
                if (_black.length > 0) {
                if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
                  cell.hidden = 'true'
                }
@@ -1095,7 +1091,7 @@
              if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(cell.type) && cell.resourceType === '1') {
                let _option = Utils.getSelectQueryOptions(cell)
                if (this.props.dataManager) { // 数据权限
                if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
                  _option.sql = _option.sql.replace(/\$@/ig, '/*')
                  _option.sql = _option.sql.replace(/@\$/ig, '*/')
                } else {
@@ -1109,12 +1105,7 @@
              // 字段权限黑名单
              if (!cell.blacklist || cell.blacklist.length === 0) return cell
              let _black = cell.blacklist.filter(v => {
                return this.props.permRoles.indexOf(v) !== -1
              })
              if (_black.length > 0) {
              if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) {
                cell.hidden = 'true'
              }
@@ -1302,9 +1293,7 @@
const mapStateToProps = (state) => {
  return {
    tabviews: state.tabviews,
    menuType: state.editLevel,
    permRoles: state.permRoles,
    dataManager: state.dataManager
    menuType: state.editLevel
  }
}
src/tabviews/zshare/normalTable/index.jsx
@@ -1,9 +1,9 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import md5 from 'md5'
import { connect } from 'react-redux'
import { is, fromJS } from 'immutable'
import {connect} from 'react-redux'
import { Table, message, Affix, Typography, Modal, Icon } from 'antd'
import { Table, Affix, Typography, Modal, Icon } from 'antd'
import Utils from '@/utils/utils.js'
import { modifyTabview } from '@/store/action'
@@ -20,10 +20,6 @@
const NewPageButton = asyncComponent(() => import('@/tabviews/zshare/actionList/newpagebutton'))
class NormalTable extends Component {
  static defaultProps = {
    total: 0
  }
  static propTpyes = {
    tableId: PropTypes.string,       // 列表Id
    statFValue: PropTypes.any,       // 合计字段数据
@@ -863,19 +859,6 @@
    }
  }
  copycontent = (e, content) => {
    // 表格中内容复制
    e.stopPropagation()
    let oInput = document.createElement('input')
    oInput.value = content
    document.body.appendChild(oInput)
    oInput.select()
    document.execCommand('Copy')
    oInput.className = 'oInput'
    oInput.style.display='none'
    message.success(this.props.dict['main.copy.success'])
  }
  /**
   * 
   */
@@ -1050,7 +1033,7 @@
        pageSize: this.state.pageSize,
        pageSizeOptions: ['10', '25', '50', '100', '500', '1000'],
        showSizeChanger: true,
        total: this.props.total,
        total: this.props.total || 0,
        showTotal: (total, range) => `${range[0]}-${range[1]} ${this.props.dict['main.pagination.of']} ${total} ${this.props.dict['main.pagination.items']}`
      }
    }
src/tabviews/zshare/settingcomponent/index.jsx
@@ -146,7 +146,6 @@
              MenuID={this.props.MenuID}
              MenuName={this.props.MenuName}
              permAction={this.props.permAction}
              permRoles={this.props.permRoles}
              config={this.props.config}
              userConfig={this.props.userConfig}
              columns={this.props.columns}
src/tabviews/zshare/topSearch/index.jsx
@@ -15,7 +15,6 @@
class MainSearch extends Component {
  static propTpyes = {
    BID: PropTypes.any,          // 父级Id,用于查询下拉选择项
    dataManager: PropTypes.any,  // 数据权限
    menuType: PropTypes.any,     // 菜单权限,是否为HS
    searchlist: PropTypes.array, // 搜索条件列表
    dict: PropTypes.object       // 字典项
@@ -67,7 +66,7 @@
        if (item.resourceType === '1' && item.dataSource) {
          let _option = Utils.getSelectQueryOptions(item)
          if (this.props.dataManager) { // 数据权限
          if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
            _option.sql = _option.sql.replace(/\$@/ig, '/*')
            _option.sql = _option.sql.replace(/@\$/ig, '*/')
          } else {
src/tabviews/zshare/verifycard/index.jsx
@@ -14,7 +14,6 @@
    MenuID: PropTypes.string,
    MenuName: PropTypes.string,
    permAction: PropTypes.object,
    permRoles: PropTypes.array,
    userConfig: PropTypes.object,
    columns: PropTypes.array,
    config: PropTypes.object,     // 页面配置
@@ -28,7 +27,7 @@
  }
  UNSAFE_componentWillMount () {
    const { MenuID, MenuName, permAction, permRoles, config, userConfig, columns } = this.props
    const { MenuID, MenuName, permAction, config, userConfig, columns } = this.props
    let menuParam = []
    this.setState({
@@ -98,6 +97,7 @@
          return
        }
        let roleId = sessionStorage.getItem('role_id') || '' // 角色ID
        result.forEach(res => {
          if (!res.LongParam) return
@@ -122,16 +122,7 @@
    
          subconfig.columns = subconfig.columns.filter(col => {
            if (!col.field || !col.blacklist || col.blacklist.length === 0) return true
            let _black = col.blacklist.filter(v => {
              return permRoles.indexOf(v) !== -1
            })
            if (_black.length > 0) {
              return false
            } else {
              return true
            }
            return col.blacklist.filter(v => roleId.indexOf(v) > -1).length === 0
          })
          if (subUserConfig) {
src/utils/utils-datamanage.js
@@ -13,10 +13,9 @@
   * @param {Number}   pageSize     每页数量
   * @param {String}   BID          上级ID
   * @param {String}   menuType     菜单类型,普通菜单与HS
   * @param {Boolean}  dataManager  数据权限
   * @return {Object}  param
   */
  static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, menuType, dataManager, id) {
  static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, menuType, id) {
    let param = null
    if (setting.interType === 'system' || (setting.interType === 'inner' && !setting.innerFunc)) {
@@ -29,7 +28,7 @@
      param.BID = BID
    }
    // 数据管理权限
    if (dataManager) {
    if (sessionStorage.getItem('dataM') === 'true') {
      param.dataM = 'Y'
    }
@@ -205,7 +204,7 @@
  /**
   * @description 获取系统存储过程 sPC_Get_TableData 合计值的参数
   */
  static getStatQueryDataParams (setting, statFields, search, orderBy, BID, menuType, dataManager) {
  static getStatQueryDataParams (setting, statFields, search, orderBy, BID, menuType) {
    let param = {
      func: 'sPC_Get_TableData',
      obj_name: 'data',
@@ -305,7 +304,7 @@
    }
    
    // 数据管理权限
    if (dataManager) {
    if (sessionStorage.getItem('dataM') === 'true') {
      param.dataM = 'Y'
    }
src/views/billprint/index.jsx
@@ -24,7 +24,6 @@
  state = {
    dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    loadingview: true,
    dataManager: false,
    pages: null,
    BID: '',
    data: '',
@@ -35,10 +34,11 @@
  UNSAFE_componentWillMount() {
    try {
      let param = JSON.parse(window.decodeURIComponent(window.atob(this.props.match.params.param)))
      sessionStorage.setItem('dataM', param.dataM || '')
      this.setState({
        BID: param.id || '',
        tempId: param.tempId,
        dataManager: param.dataManager
        tempId: param.tempId
      }, () => {
        this.getMenuParam()
      })
@@ -65,7 +65,7 @@
  }
  getMenuParam = () => {
    const { tempId, BID, dataManager } = this.state
    const { tempId, BID } = this.state
    let _param = {
      func: 'sPC_Get_LongParam',
@@ -178,7 +178,7 @@
            component.setting.dataresource = '(' + component.setting.dataresource + ') tb'
          }
      
          if (dataManager) { // 数据权限
          if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
            component.setting.dataresource = component.setting.dataresource.replace(/\$@/ig, '/*')
            component.setting.dataresource = component.setting.dataresource.replace(/@\$/ig, '*/')
            _customScript = _customScript.replace(/\$@/ig, '/*')
@@ -198,7 +198,7 @@
            _pars.push(param)
          } else {
            let arr_field = component.columns.map(col => col.field).join(',')
            let param = UtilsDM.getQueryDataParams(component.setting, arr_field, [], component.setting.order || '', 1, 1000, BID, '', dataManager)
            let param = UtilsDM.getQueryDataParams(component.setting, arr_field, [], component.setting.order || '', 1, 1000, BID, '')
            
            param.componentId = component.uuid
@@ -511,31 +511,29 @@
  }
  getComponents = (components) => {
    const { dataManager } = this.state
    return components.map(item => {
      if (item.type === 'bar' || item.type === 'line') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvBarAndLine config={item} initdata={item.data} mainSearch={[]} menuType="" dataManager={dataManager} />
            <AntvBarAndLine config={item} initdata={item.data} mainSearch={[]} menuType="" />
          </Col>
        )
      } else if (item.type === 'pie') {
        return (
          <Col span={item.width} key={item.uuid}>
            <AntvPie config={item} initdata={item.data} mainSearch={[]} menuType="" dataManager={dataManager} />
            <AntvPie config={item} initdata={item.data} mainSearch={[]} menuType="" />
          </Col>
        )
      } else if (item.type === 'card' && item.subtype === 'datacard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <DataCard config={item} initdata={item.data} mainSearch={[]} menuType="" dataManager={dataManager} />
            <DataCard config={item} initdata={item.data} mainSearch={[]} menuType="" />
          </Col>
        )
      } else if (item.type === 'card' && item.subtype === 'propcard') {
        return (
          <Col span={item.width} key={item.uuid}>
            <PropCard config={item} initdata={item.data} mainSearch={[]} menuType="" dataManager={dataManager} />
            <PropCard config={item} initdata={item.data} mainSearch={[]} menuType="" />
          </Col>
        )
      } else {
src/views/main/index.jsx
@@ -1,33 +1,16 @@
import React, {Component} from 'react'
import { ConfigProvider } from 'antd'
import { connect } from 'react-redux'
import enUS from 'antd/es/locale/en_US'
import zhCN from 'antd/es/locale/zh_CN'
import Header from '@/components/header'
import Sidemenu from '@/components/sidemenu'
import Tabview from '@/components/tabview'
import { resetDebug, modifyDataManager, initRolesPermission } from '@/store/action'
import './index.scss'
const _locale = localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS
class Main extends Component {
  UNSAFE_componentWillMount() {
    if (sessionStorage.getItem('dataM') === 'true') {
      this.props.modifyDataManager(true)
    }
    if (sessionStorage.getItem('debug') === 'true') {
      this.props.resetDebug()
    }
    if (sessionStorage.getItem('role_id')) {
      let roles = sessionStorage.getItem('role_id')
      roles = roles.split(',')
      this.props.initRolesPermission(roles)
    }
  }
  render () {
    return (
      <div className="flex-container">
@@ -41,16 +24,4 @@
  }
}
const mapStateToProps = () => {
  return {}
}
const mapDispatchToProps = (dispatch) => {
  return {
    resetDebug: () => dispatch(resetDebug()),
    initRolesPermission: (roles) => dispatch(initRolesPermission(roles)),
    modifyDataManager: (dataManager) => dispatch(modifyDataManager(dataManager))
  }
}
export default connect(mapStateToProps, mapDispatchToProps)(Main)
export default Main