king
2024-06-28 c8804ceb1fe2dea76f9949c5ea04423876ee2c81
src/views/design/header/index.jsx
@@ -16,6 +16,8 @@
const VersionsUp = asyncComponent(() => import('./versions'))
const ThawMenu = asyncComponent(() => import('@/components/thawmenu'))
const MenuForm = asyncComponent(() => import('./editfirstmenu/menuform'))
const TransMenu = asyncComponent(() => import('./transmenu'))
const { confirm } = Modal
class Header extends Component {
@@ -23,6 +25,8 @@
    menulist: null, // 一级菜单
    userName: sessionStorage.getItem('CloudUserName'),
    avatar: Utils.getrealurl(sessionStorage.getItem('CloudAvatar')),
    logo: sessionStorage.getItem('CloudLogo') || MainLogo,
    subLang: sessionStorage.getItem('subLangList') !== null,
    visible: false,
    loading: false
  }
@@ -36,6 +40,7 @@
      onOk() {
        sessionStorage.clear()
        _this.props.history.replace('/login')
        window.location.reload()
      },
      onCancel() {}
    })
@@ -298,17 +303,18 @@
        inner join (select openid from sapp where id='${window.GLOB.appkey}') b 
        on a.openid=b.openid`
  
      _sql = Utils.formatOptions(_sql)
      _sql = Utils.formatOptions(_sql, 'x')
  
      let param = {
        func: 'sPC_Get_SelectedList',
        LText: _sql,
        obj_name: 'data',
        arr_field: 'ID,TemplateCode,SignName'
        arr_field: 'ID,TemplateCode,SignName',
        exec_type: 'x'
      }
      
      param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
      param.secretkey = Utils.encrypt(param.LText, param.timestamp)
      param.secretkey = Utils.encrypt('', param.timestamp)
      param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) // 云端数据验证
      
      Api.getCloudConfig(param).then(res => {
@@ -338,10 +344,6 @@
    window.addEventListener('storage', (e) => {
      if (e.key === 'menuUpdate') {
        this.reload()
      } else if (e.key === 'wxTemplates') {
        if (e.newValue) {
          sessionStorage.setItem('wxTemplates', e.newValue)
        }
      }
    })
    MKEmitter.addListener('mkUpdateMenuList', this.reload)
@@ -407,11 +409,11 @@
  render () {
    const { mainMenu, editLevel } = this.props
    const { menulist, visible, loading } = this.state
    const { menulist, visible, loading, logo, subLang } = this.state
    return (
      <header className={'sys-header-container ant-menu-dark ' + (['level2', 'level3'].includes(editLevel) ? 'mask' : '')} id="main-header-container">
        <div className="header-logo"><img src={MainLogo} alt=""/></div>
        <div className="header-logo"><img src={logo} alt=""/></div>
        <div className="header-collapse">
          <MenuFoldOutlined/>
        </div>
@@ -491,6 +493,12 @@
              编辑
            </Button>
          </div> : null}
          {window.GLOB.systemType !== 'production' && subLang ? <div className="entrance">
            <div className="icon"><PlusOutlined /></div>
            <div className="title">菜单转换</div>
            <div className="detail">可选择母语系统的菜单,快速转换到当前语言。打印模板请在HS下复制后,在此处选择指定模板进行语言转换。</div>
            <TransMenu reload={this.reload} menulist={menulist}/>
          </div> : null}
        </div>
        {/* 编辑菜单 */}
        {editLevel === 'level1' ? <EditMenu menulist={this.state.menulist} reload={this.reload} exitEdit={this.exitEdit}/> : null}