| | |
| | | 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 { |
| | |
| | | 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 |
| | | } |
| | |
| | | onOk() { |
| | | sessionStorage.clear() |
| | | _this.props.history.replace('/login') |
| | | window.location.reload() |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | |
| | | }, () => {}) |
| | | } |
| | | |
| | | setSystemFuncs = () => { |
| | | if (!window.GLOB.IndexDB) { |
| | | return |
| | | } |
| | | this.getfuncTime().then(res => { |
| | | Api.getSystemFuncs(res.createDate).then(result => { |
| | | if (!result.status) { |
| | | notification.error({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 10 |
| | | }) |
| | | } else if (result.func_detail && result.func_detail.length > 0) { |
| | | this.writeFuncs(result.func_detail) |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | // setSystemFuncs = () => { |
| | | // if (!window.GLOB.IndexDB) { |
| | | // return |
| | | // } |
| | | // this.getfuncTime().then(res => { |
| | | // Api.getSystemFuncs(res.createDate).then(result => { |
| | | // if (!result.status) { |
| | | // notification.error({ |
| | | // top: 92, |
| | | // message: result.message, |
| | | // duration: 10 |
| | | // }) |
| | | // } else if (result.func_detail && result.func_detail.length > 0) { |
| | | // this.writeFuncs(result.func_detail) |
| | | // } |
| | | // }) |
| | | // }) |
| | | // } |
| | | |
| | | writeFuncs = (funcs) => { |
| | | let shim = +sessionStorage.getItem('sys_time_shim') |
| | | let timestamp = moment().add(shim, 'seconds').format('YYYY-MM-DD HH:mm:ss') |
| | | // writeFuncs = (funcs) => { |
| | | // let shim = +sessionStorage.getItem('sys_time_shim') |
| | | // let timestamp = moment().add(shim, 'seconds').format('YYYY-MM-DD HH:mm:ss') |
| | | |
| | | let objectStore = window.GLOB.IndexDB.transaction(['funcs'], 'readwrite').objectStore('funcs') |
| | | // let objectStore = window.GLOB.IndexDB.transaction(['funcs'], 'readwrite').objectStore('funcs') |
| | | |
| | | objectStore.clear() |
| | | // objectStore.clear() |
| | | |
| | | funcs.forEach(item => { |
| | | if (!item.key_sql) return |
| | | item.id = item.func_code |
| | | objectStore.add(item) |
| | | }) |
| | | // funcs.forEach(item => { |
| | | // if (!item.key_sql) return |
| | | // item.id = item.func_code |
| | | // objectStore.add(item) |
| | | // }) |
| | | |
| | | let funcStore = window.GLOB.IndexDB.transaction(['version'], 'readwrite').objectStore('version') |
| | | funcStore.put({id: 'funcs', version: '1.0', createDate: timestamp}) |
| | | } |
| | | // let funcStore = window.GLOB.IndexDB.transaction(['version'], 'readwrite').objectStore('version') |
| | | // funcStore.put({id: 'funcs', version: '1.0', createDate: timestamp}) |
| | | // } |
| | | |
| | | getfuncTime = () => { |
| | | return new Promise((resolve, reject) => { |
| | | let objectStore = window.GLOB.IndexDB.transaction(['version'], 'readwrite').objectStore('version') |
| | | let request = objectStore.get('funcs') |
| | | // getfuncTime = () => { |
| | | // return new Promise((resolve, reject) => { |
| | | // let objectStore = window.GLOB.IndexDB.transaction(['version'], 'readwrite').objectStore('version') |
| | | // let request = objectStore.get('funcs') |
| | | |
| | | request.onerror = (event) => { |
| | | console.warn(event) |
| | | reject() |
| | | } |
| | | // request.onerror = (event) => { |
| | | // console.warn(event) |
| | | // reject() |
| | | // } |
| | | |
| | | request.onsuccess = () => { |
| | | if (request.result) { |
| | | resolve(request.result) |
| | | } else { |
| | | let add = objectStore.add({id: 'funcs', version: '1.0', createDate: '1970-01-01 14:59:09.000'}) |
| | | // request.onsuccess = () => { |
| | | // if (request.result) { |
| | | // resolve(request.result) |
| | | // } else { |
| | | // let add = objectStore.add({id: 'funcs', version: '1.0', createDate: '1970-01-01 14:59:09.000'}) |
| | | |
| | | add.onerror = () => { |
| | | reject() |
| | | } |
| | | add.onsuccess = () => { |
| | | resolve({id: 'funcs', version: '1.0', createDate: '1970-01-01 14:59:09.000'}) |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | // add.onerror = () => { |
| | | // reject() |
| | | // } |
| | | // add.onsuccess = () => { |
| | | // resolve({id: 'funcs', version: '1.0', createDate: '1970-01-01 14:59:09.000'}) |
| | | // } |
| | | // } |
| | | // } |
| | | // }) |
| | | // } |
| | | |
| | | getSmStemp = () => { |
| | | if (!sessionStorage.getItem('msgTemplate')) { |
| | |
| | | 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 => { |
| | |
| | | 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) |
| | |
| | | }, 100) |
| | | |
| | | setTimeout(() => { |
| | | this.setSystemFuncs() |
| | | // this.setSystemFuncs() |
| | | this.getSmStemp() |
| | | }, 500) |
| | | } |
| | |
| | | |
| | | 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> |
| | |
| | | 编辑 |
| | | </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} |