king
2022-04-15 21d92eff0e23974d76e3e5a79ba50e3fc1c0b879
2022-04-15
30个文件已修改
457 ■■■■■ 已修改文件
src/components/header/index.jsx 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/header/index.scss 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/balcony/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/card/data-card/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/carousel/data-card/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/chart/antv-bar/chartcompile/formconfig.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/chart/antv-dashboard/chartcompile/formconfig.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/chart/antv-scatter/chartcompile/formconfig.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/chart/chart-custom/chartcompile/formconfig.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/code/sandbox/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/editor/braft-editor/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/form/normal-form/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/group/normal-group/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/search/main-search/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/edit-table/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/table/normal-table/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/tabs/antv-tabs/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/timeline/normal-timeline/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/components/tree/antd-tree/options.jsx 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/components/menubar/normal-menubar/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/components/menubar/normal-menubar/options.jsx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/components/navbar/normal-navbar/options.jsx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/components/search/single-search/options.jsx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mob/components/tabs/antv-tabs/options.jsx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pc/components/navbar/normal-navbar/options.jsx 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/formtab/index.jsx 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mobdesign/index.jsx 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/pcdesign/index.jsx 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/rolemanage/index.jsx 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/header/index.jsx
@@ -38,7 +38,8 @@
    visible: false, // 修改密码模态框
    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
    confirmLoading: false,
    userName: sessionStorage.getItem('User_Name'),
    userName: '',
    fullName: '',
    logourl: window.GLOB.mainlogo,
    appVersion: window.GLOB.appVersion,
    loginVisible: false,
@@ -609,6 +610,15 @@
  UNSAFE_componentWillMount () {
    // 组件加载时,获取菜单数据
    this.getRolesMenu()
    let fullName = sessionStorage.getItem('Full_Name') || ''
    let userName = sessionStorage.getItem('User_Name') || ''
    if (fullName.toLowerCase() === userName.toLowerCase()) {
      userName = ''
    }
    this.setState({fullName, userName})
  }
  componentDidMount () {
@@ -838,7 +848,7 @@
          <div>
            <img src={this.state.avatar || avatar} alt=""/>
            <span>
              <span className="username">{this.state.userName}</span> <DownOutlined />
              <span className="username"><span>{this.state.fullName}</span>{this.state.userName ? <span>{this.state.userName}</span> : null}</span> <DownOutlined />
            </span>
          </div>
        </Dropdown>
src/components/header/index.scss
@@ -97,12 +97,21 @@
      color: #ffffff;
      font-size: 0.95rem;
      .username {
        vertical-align: middle;
        display: inline-block;
        height: 30px;
        max-width: 95px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        span {
          display: block;
          line-height: 15px;
          padding: 0 3px;
          font-size: 0.95rem;
          max-width: 100px;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
        span + span {
          font-size: 12px;
        }
      }
    }
  }
src/menu/components/card/balcony/options.jsx
@@ -203,6 +203,18 @@
      ]
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/card/data-card/options.jsx
@@ -408,6 +408,18 @@
      ]
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/carousel/data-card/options.jsx
@@ -136,6 +136,18 @@
      ],
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/chart/antv-bar/chartcompile/formconfig.jsx
@@ -58,6 +58,18 @@
      required: true
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'false',
      required: false,
      options: [
        {value: 'true', text: '启用'},
        {value: 'false', text: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'select',
      key: 'blacklist',
      label: '黑名单',
src/menu/components/chart/antv-dashboard/chartcompile/formconfig.jsx
@@ -58,6 +58,18 @@
      required: true
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'false',
      required: false,
      options: [
        {value: 'true', text: '启用'},
        {value: 'false', text: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'select',
      key: 'blacklist',
      label: '黑名单',
src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx
@@ -111,6 +111,18 @@
      ]
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'false',
      required: false,
      options: [
        {value: 'true', text: '启用'},
        {value: 'false', text: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'select',
      key: 'blacklist',
      label: '黑名单',
src/menu/components/chart/antv-scatter/chartcompile/formconfig.jsx
@@ -53,6 +53,18 @@
      required: true
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'false',
      required: false,
      options: [
        {value: 'true', text: '启用'},
        {value: 'false', text: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'select',
      key: 'blacklist',
      label: '黑名单',
src/menu/components/chart/chart-custom/chartcompile/formconfig.jsx
@@ -64,6 +64,18 @@
      required: true
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'false',
      required: false,
      options: [
        {value: 'true', text: '启用'},
        {value: 'false', text: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'select',
      key: 'blacklist',
      label: '黑名单',
src/menu/components/code/sandbox/options.jsx
@@ -48,6 +48,18 @@
      ]
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/editor/braft-editor/options.jsx
@@ -90,6 +90,18 @@
      required: false
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/form/normal-form/options.jsx
@@ -92,6 +92,18 @@
      forbid: config.subtype === 'tabform'
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/group/normal-group/options.jsx
@@ -93,6 +93,18 @@
      forbid: appType === 'mob'
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: setting.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/search/main-search/options.jsx
@@ -70,6 +70,18 @@
      ]
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/table/edit-table/options.jsx
@@ -255,6 +255,18 @@
      required: false
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/table/normal-table/options.jsx
@@ -247,6 +247,18 @@
      ],
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/tabs/antv-tabs/options.jsx
@@ -223,6 +223,18 @@
      required: false
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: setting.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/timeline/normal-timeline/options.jsx
@@ -104,6 +104,18 @@
      options: columns
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/menu/components/tree/antd-tree/options.jsx
@@ -122,6 +122,18 @@
      ]
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
src/mob/components/menubar/normal-menubar/index.jsx
@@ -51,7 +51,7 @@
        name: card.name,
        subtype: card.subtype,
        setting: { interType: 'system' },
        wrap: { name: card.name, width: card.width || 24, title: '' },
        wrap: { name: card.name, width: card.width || 24, title: '', permission: 'true' },
        style: { marginLeft: '0px', marginRight: '0px', marginTop: '8px', marginBottom: '8px' },
        headerStyle: { fontSize: '16px', borderBottomWidth: '1px', borderBottomColor: '#e8e8e8' },
        subMenus: [{
src/mob/components/menubar/normal-menubar/options.jsx
@@ -63,7 +63,18 @@
        {value: 'true', label: '可添加'},
        {value: 'false', label: '不可添加'},
      ]
    }
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ]
    },
  ]
  return menuWrapForm
src/mob/components/navbar/normal-navbar/options.jsx
@@ -38,7 +38,18 @@
      max: 200,
      precision: 0,
      required: true
    }
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ]
    },
  ]
  return wrapForm
src/mob/components/search/single-search/options.jsx
@@ -120,7 +120,18 @@
      precision: 0,
      initval: wrap.height || 32,
      required: false
    }
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ]
    },
  ]
  return wrapForm
src/mob/components/tabs/antv-tabs/options.jsx
@@ -167,7 +167,18 @@
      label: '背景(标题栏)',
      initval: setting.backgroundColor || 'transparent',
      required: false
    }
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: setting.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ]
    },
  ]
  return tabForm
src/pc/components/navbar/normal-navbar/options.jsx
@@ -111,7 +111,18 @@
        {value: 'false', label: '不启用'},
        {value: 'true', label: '启用'},
      ]
    }
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ]
    },
  ]
  return wrapForm
src/tabviews/formtab/index.jsx
@@ -113,6 +113,15 @@
            return permAction[tab.linkTab]
          })
        })
      } else {
        config.tabgroups.forEach(group => {
          group.sublist = group.sublist.filter(tab => {
            if (tab.supMenu === 'mainTable') {
              tab.supMenu = MenuID
            }
            return true
          })
        })
      }
      // 按钮类型兼容
src/views/mobdesign/index.jsx
@@ -857,7 +857,8 @@
    const { config } = this.state
    
    let traversal = (components) => {
      let list = components.map(item => {
      let list = []
      components.forEach(item => {
        let m = {
          key: item.uuid,
          title: item.name,
@@ -868,23 +869,46 @@
          return null
        } else if (item.type === 'tabs') {
          let tabs = []
          let mm = []
          item.subtabs.forEach(tab => {
            let s = traversal(tab.components)
            if (s.length === 0) return
            tabs.push({
              key: tab.uuid,
              title: tab.label,
              children: s
            })
            mm.push(...s)
          })
          if (tabs.length > 0) {
            m.children = tabs
          }
          if (item.setting.permission === 'true') {
            list.push(m)
          } else if (mm.length) {
            list.push(...mm)
          }
          return null
        } else if (item.type === 'group') {
          m.children = traversal(item.components)
          if (item.setting.permission === 'true') {
            list.push(m)
          } else if (m.children.length) {
            list.push(...m.children)
          }
          return null
        } if (item.plot && item.plot.permission !== 'true') {
          return null
        } if (item.wrap && item.wrap.permission !== 'true') {
          return null
        } else if (item.type === 'card' || (item.type === 'table' && item.subtype === 'tablecard')) {
          item.action && item.action.forEach(btn => {
            this.checkBtn(btn)
@@ -961,10 +985,8 @@
          })
        }
        return m
        list.push(m)
      })
      list = list.filter(Boolean)
      return list
    }
@@ -1101,14 +1123,20 @@
        config.enabled = false
      }
      let roleParam = {type: 'view', key: config.uuid, title: config.MenuName, children: []}
      let roleParam = {type: 'view', version: '1.0', key: config.uuid, title: config.MenuName, children: []}
      roleParam.children = this.getMenuMessage()
      config.loginview = false
      config.tabview = false
      if (config.permission !== 'true') {
        roleParam.pass = true
        roleParam.children = []
      }
      config.components.forEach(item => {
        if (item.type === 'login') {
          roleParam.login = true
          roleParam.children = []
          config.loginview = true
        } else if (item.type === 'navbar') {
          config.tabview = true
@@ -1172,17 +1200,22 @@
              let roles = {
                type: 'navbar',
                version: '1.0',
                key: item.uuid,
                title: item.name,
                children: []
              }
      
              roles.children = item.menus.map(menu => {
                return {
                  key: menu.MenuID,
                  title: menu.name
                }
              })
              if (item.wrap.permission === 'true') {
                roles.children = item.menus.map(menu => {
                  return {
                    key: menu.MenuID,
                    title: menu.name
                  }
                })
              } else {
                roles.pass = true
              }
              let _param = {
                func: 'sPC_TrdMenu_AddUpt',
src/views/pcdesign/index.jsx
@@ -854,11 +854,12 @@
  getMenuMessage = () => {
    const { config } = this.state
    let nodes = {type: 'view', key: config.uuid, title: config.MenuName, children: []}
    let nodes = {type: 'view', version: '1.0', key: config.uuid, title: config.MenuName, children: []}
    let popviews = []
    let traversal = (components) => {
      let list = components.map(item => {
      let list = []
      components.forEach(item => {
        let m = {
          key: item.uuid,
          title: item.name,
@@ -868,6 +869,7 @@
          return null
        } else if (item.type === 'tabs') {
          let tabs = []
          let mm = []
          item.subtabs.forEach(tab => {
            let s = traversal(tab.components)
@@ -878,13 +880,35 @@
              title: tab.label,
              children: s
            })
            mm.push(...s)
          })
          if (tabs.length > 0) {
            m.children = tabs
          }
          if (item.setting.permission === 'true') {
            list.push(m)
          } else if (mm.length) {
            list.push(...mm)
          }
          return null
        } else if (item.type === 'group') {
          m.children = traversal(item.components)
          if (item.setting.permission === 'true') {
            list.push(m)
          } else if (m.children.length) {
            list.push(...m.children)
          }
          return null
        } if (item.plot && item.plot.permission !== 'true') {
          return null
        } if (item.wrap && item.wrap.permission !== 'true') {
          return null
        } else if (item.type === 'card' || (item.type === 'table' && item.subtype === 'tablecard')) {
          item.action && item.action.forEach(btn => {
            this.checkBtn(btn)
@@ -990,10 +1014,8 @@
          })
        }
        return m
        list.push(m)
      })
      list = list.filter(Boolean)
      return list
    }
@@ -1005,6 +1027,11 @@
    if (config.components.findIndex(item => item.type === 'login') > -1) {
      nodes.login = true
      nodes.children = []
    }
    if (config.permission !== 'true') {
      nodes.pass = true
      nodes.children = []
    }
    return nodes
@@ -1112,6 +1139,7 @@
              let roles = {
                type: 'navbar',
                version: '1.0',
                key: item.uuid,
                title: item.name,
                children: []
src/views/rolemanage/index.jsx
@@ -101,7 +101,7 @@
    })
  }
  getMenuList = (reset) => {
  getMenuList = (reset, resolve) => {
    const { app } = this.state
    let param = {
      func: 's_get_app_menus',
@@ -114,9 +114,11 @@
    param.secretkey = Utils.encrypt(param.LText, param.timestamp)
    this.setState({
      loading: true
    })
    if (!resolve) {
      this.setState({
        loading: true
      })
    }
    Api.getCloudConfig(param).then(result => {
      if (result.status) {
@@ -130,7 +132,10 @@
            try {
              let pageParam = JSON.parse(window.decodeURIComponent(window.atob(item.menus_rolelist)))
              item.nodes = pageParam
              if (pageParam.login) {
              if (pageParam.version !== '1.0') {
                item.nodes = ''
              } else if (pageParam.login || pageParam.pass) {
                item.nodes = ''
              } else if (pageParam.type === 'navbar') {
                item.type = 'navbar'
@@ -141,6 +146,8 @@
            } catch (e) {
              item.nodes = ''
            }
            delete item.menus_rolelist
          }
          if (!ub && app.userbind === item.MenuID) {
@@ -163,7 +170,9 @@
        this.setState({
          menulist: menus
        }, () => {
          if (reset && (!this.oriTrees || this.oriTrees.length === 0)) {
          if (resolve) {
            this.initMenutree(resolve)
          } else if (reset && (!this.oriTrees || this.oriTrees.length === 0)) {
            this.initMenutree()
          } else if (!reset && this.oriTrees && this.oriTrees.length === 0) {
            this.initMenutree()
@@ -503,14 +512,22 @@
                  try {
                    let pageParam = JSON.parse(window.decodeURIComponent(window.atob(item.menus_rolelist)))
                    item.nodes = pageParam
                    if (pageParam.login) {
                    if (pageParam.version !== '1.0') {
                      item.nodes = ''
                    } else if (pageParam.login || pageParam.pass) {
                      item.nodes = ''
                    } else if (pageParam.type === 'navbar') {
                      item.type = 'navbar'
                    } else if (pageParam.type === 'im') {
                      item.type = 'im'
                      item.nodes = ''
                    }
                  } catch (e) {
                    item.nodes = ''
                  }
                  delete item.menus_rolelist
                }
                if (targetKeys.includes(item.MenuID) && item.nodes && item.nodes.popviews && item.nodes.popviews.length > 0) {
@@ -645,10 +662,10 @@
  initTree = () => {
    const _this = this
    confirm({
      content: '初始化会根据菜单重置权限树,确定执行吗?',
      content: '权限树会重新生成,确定执行吗?',
      onOk() {
        return new Promise(resolve => {
          _this.initMenutree(resolve)
          _this.getMenuList(true, resolve)
        })
      },
      onCancel() {}
@@ -889,7 +906,7 @@
            </div>
            <div className="right-view">
              <div className="app-action">
                <Button className="mk-primary" onClick={this.initTree}>同步</Button>
                <Button className="mk-primary" onClick={this.initTree}>重置</Button>
                {/* <Button className="mk-purple" onClick={this.syncTree}>同步</Button> */}
                <Button className="mk-green save" onClick={this.saveTree}>保存</Button>
              </div>