From fbf25a99e0bc643be89b0f9dd0efed7867f1490e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 27 七月 2022 18:08:02 +0800 Subject: [PATCH] 2022-07-27 --- src/views/design/sidemenu/editthdmenu/index.jsx | 725 ++++++++++--------------------------------------------- 1 files changed, 134 insertions(+), 591 deletions(-) diff --git a/src/views/design/sidemenu/editthdmenu/index.jsx b/src/views/design/sidemenu/editthdmenu/index.jsx index ae97e33..5a6d731 100644 --- a/src/views/design/sidemenu/editthdmenu/index.jsx +++ b/src/views/design/sidemenu/editthdmenu/index.jsx @@ -5,34 +5,21 @@ import { DndProvider } from 'react-dnd' import { withRouter } from 'react-router-dom' import HTML5Backend from 'react-dnd-html5-backend' -import { notification, Modal, Button, Spin, Col, Card, Tabs, Row, Input } from 'antd' -import { PlusOutlined } from '@ant-design/icons' +import { notification, Modal, Button } from 'antd' import moment from 'moment' import Api from '@/api' -import { sysTemps } from '@/utils/option.js' +import MKEmitter from '@/utils/events.js' import zhCN from '@/locales/zh-CN/model.js' import enUS from '@/locales/en-US/model.js' -import mainsubtable from '@/assets/img/mainsubtable.jpg' -import treepage from '@/assets/img/treepage.jpg' -import calendar from '@/assets/img/calendar.jpg' -import customImg from '@/assets/img/custom.jpg' import MkIcon from '@/components/mk-icon' -import Preview from './preview' -import MenuForm from './menuform' -import TransferForm from '@/templates/zshare/basetransferform' import Utils from '@/utils/utils.js' import MenuUtils from '@/utils/utils-custom.js' import DragElement from '../menuelement' import asyncLoadComponent from '@/utils/asyncLoadComponent' import './index.scss' -import card1 from '@/assets/img/card-bg2.jpg' -import card2 from '@/assets/img/card-bg5.jpg' -import card3 from '@/assets/img/card-bg8.jpg' -import card4 from '@/assets/img/card-bg7.jpg' -import card5 from '@/assets/img/card-bg6.jpg' - +const MenuForm = asyncLoadComponent(() => import('../thdmenuform')) const ComTableConfig = asyncLoadComponent(() => import('@/templates/comtableconfig')) const TreePageConfig = asyncLoadComponent(() => import('@/templates/treepageconfig')) const CalendarPageConfig = asyncLoadComponent(() => import('@/templates/calendarconfig')) @@ -41,12 +28,9 @@ const SubTable = asyncLoadComponent(() => import('@/templates/subtableconfig')) const { confirm } = Modal -const { TabPane } = Tabs -const { Search } = Input class EditMenu extends Component { static propTpyes = { - reload: PropTypes.func, // 鑿滃崟淇敼鍚庡埛鏂� menulist: PropTypes.any, // 涓夌骇鑿滃崟鍒楄〃 exitEdit: PropTypes.func, // 閫�鍑虹紪杈戠姸鎬� supMenu: PropTypes.object, // 瀵瑰簲鐨勪笂绾ц彍鍗� @@ -55,19 +39,10 @@ state = { dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, - thawmenulist: null, // 宸插喕缁撶殑浜岀骇鑿滃崟 - type: '', // 鎿嶄綔绫诲瀷锛屾柊寤烘垨缂栬緫鑿滃崟 - thawMvisible: false, // 瑙i櫎鍐荤粨妯℃�佹 confirmLoading: false, // 鎻愪氦涓�傘�傘�� - selectTemp: '', // 閫夋嫨妯℃澘 - usedTemplates: null, // 宸蹭娇鐢ㄦā鏉垮垪琛� - tempSearchKey: '', // 鑿滃崟鍚嶇О杩囨护鍊� loading: false, // 缂栬緫鑿滃崟鎴栦娇鐢ㄥ凡浣跨敤妯℃澘鏃讹紝鑾峰彇閰嶇疆淇℃伅 - preview: null, // 鍥剧墖棰勮url - pretemplate: null, // 棰勮妯℃澘 btnParam: null, // 缂栬緫鎸夐挳鐨勯厤缃俊鎭� menulist: null, // 缂栬緫涓殑鑿滃崟 - sysTemplates: sysTemps, // 绯荤粺妯℃澘 tabview: '', // 閫夋嫨妯℃澘绐楀彛锛坱emplate锛夈�佸熀纭�琛ㄦ牸閰嶇疆锛圕ommonTable锛夈�佽〃鍗曪紙Modal锛夈�佸瓙琛紙SubTable锛� editMenu: null, // 缂栬緫鑿滃崟 editAction: null, // 缂栬緫鎸夐挳 @@ -79,8 +54,8 @@ btnTab: null, // 鎵撳紑鏂版爣绛炬垨褰撳墠椤甸潰鍒锋柊鐨勬寜閽� btnTabConfig: null, // 鎵撳紑鏂版爣绛炬寜閽厤缃� handleMVisible: false, // 娣诲姞鎴栦慨鏀硅彍鍗曟ā鎬佹锛堣鑹叉潈闄愬垎閰嶇瓑锛� - sysMenu: false, // 娣诲姞鎴栫紪杈戣彍鍗曪紙瑙掕壊鏉冮檺鍒嗛厤绛夛級 - targetKeys: [] // 瑙e喕鑿滃崟鍒楄〃 + sysMenu: null, // 娣诲姞鎴栫紪杈戣彍鍗曪紙瑙掕壊鏉冮檺鍒嗛厤绛夛級 + change: false } /** @@ -97,7 +72,8 @@ */ handlePreviewList = (List) => { this.setState({ - menulist: List + menulist: List, + change: !is(fromJS(List), fromJS(this.props.menulist)) }) } @@ -108,15 +84,16 @@ * 3銆佽彍鍗曠紪杈戯紝鏌ヨ鑿滃崟閰嶇疆淇℃伅锛屼俊鎭纭紝杩涘叆瀵瑰簲缂栬緫椤甸潰 */ handleMenu = (menu) => { - const _this = this - - if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { + if (this.state.change) { notification.warning({ top: 92, message: this.state.dict['model.menu.presave'], duration: 5 }) - } else if (menu.type === 'close') { + return + } + + if (menu.type === 'close') { confirm({ title: `纭畾鍒犻櫎鑿滃崟銆�${menu.card.MenuName}銆嬪悧锛焋, content: '', @@ -127,7 +104,7 @@ } return Api.getSystemConfig(param).then(res => { if (res.status) { - _this.props.reload() + MKEmitter.emit('mkUpdateMenuList') } else { notification.warning({ top: 92, @@ -142,9 +119,9 @@ } else if (menu.type === 'edit') { let _menu = fromJS(menu.card).toJS() - if (_menu.PageParam && (_menu.PageParam.Template === 'RolePermission' || _menu.PageParam.Template === 'NewPage')) { // 鍗曢〉闈慨鏀� + if (['RolePermission', 'NewPage'].includes(_menu.PageParam.Template)) { // 鍗曢〉闈慨鏀� _menu.Template = _menu.PageParam.Template - _menu.url = _menu.PageParam.url + _menu.url = _menu.PageParam.url || '' _menu.fstMenuId = _menu.FstId _menu.supMenuList = this.props.supMenuList @@ -158,181 +135,103 @@ return } + // let _param = '' + // if (card.type === 'CustomPage') { + // _param = { + // MenuType: 'custom', + // MenuId: card.MenuID, + // ParentId: card.ParentId, + // MenuName: card.MenuName, + // MenuNo: card.MenuNo + // } + // _param = window.btoa(window.encodeURIComponent(JSON.stringify(_param))) + // } + // window.open(`#/menudesign/${_param}`)} - let param = { - func: 'sPC_Get_LongParam', - MenuID: _menu.MenuID - } + // let param = { + // func: 'sPC_Get_LongParam', + // MenuID: _menu.MenuID + // } - this.setState({ - loading: true - }) + // this.setState({ + // loading: true + // }) - Api.getSystemConfig(param).then(res => { - if (res.status) { - let _LongParam = '' - if (res.LongParam) { - try { - _LongParam = JSON.parse(window.decodeURIComponent(window.atob(res.LongParam))) - } catch (e) { - console.warn('Parse Failure') - _LongParam = '' - } - } + // Api.getSystemConfig(param).then(res => { + // if (res.status) { + // let _LongParam = '' + // if (res.LongParam) { + // try { + // _LongParam = JSON.parse(window.decodeURIComponent(window.atob(res.LongParam))) + // } catch (e) { + // console.warn('Parse Failure') + // _LongParam = '' + // } + // } - _menu.LongParam = _LongParam - _menu.fstMenuId = _menu.FstId - _menu.supMenuList = this.props.supMenuList - _menu.fstMenuList = this.props.menuTree - _menu.open_edition = res.open_edition || '' + // _menu.LongParam = _LongParam + // _menu.fstMenuId = _menu.FstId + // _menu.supMenuList = this.props.supMenuList + // _menu.fstMenuList = this.props.menuTree + // _menu.open_edition = res.open_edition || '' - // 妫�娴嬫ā鏉挎槸鍚﹀瓨鍦� - let _Template = this.state.sysTemplates.filter(temp => temp.type === _menu.PageParam.Template) - - // 妯℃澘涓嶅瓨鍦ㄦ椂閿欒鎻愮ず - if (_Template.length === 0) { - notification.warning({ - top: 92, - message: '鑿滃崟妯℃澘涓㈠け锛岃閲嶆柊閫夋嫨妯℃澘锛�', - duration: 5 - }) - - this.setState({ - type: 'edit', - editMenu: _menu, - loading: false, - tabview: 'template' - }, () => { - document.getElementById('root').style.overflowY = 'hidden' - }) - } else { - this.setState({ - type: 'edit', - editMenu: _menu, - loading: false, - tabview: _menu.PageParam.Template - }, () => { - document.getElementById('root').style.overflowY = 'hidden' - }) - } - } else { - this.setState({ - loading: false - }) - notification.warning({ - top: 92, - message: res.message, - duration: 5 - }) - } - }) + + // this.setState({ + // editMenu: _menu, + // loading: false, + // tabview: _menu.PageParam.Template + // }, () => { + // document.getElementById('root').style.overflowY = 'hidden' + // }) + // } else { + // this.setState({ + // loading: false + // }) + // notification.warning({ + // top: 92, + // message: res.message, + // duration: 5 + // }) + // } + // }) } } handleSubBtn = (type) => { // 鎿嶄綔鎸夐挳锛氭坊鍔犮�佽В闄ゅ喕缁撱�佺‘璁ゅ強鍏抽棴 - if (type === 'add') { // 鐐瑰嚮娣诲姞鏃讹紝灞曞紑妯℃澘 - if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { - notification.warning({ - top: 92, - message: this.state.dict['model.menu.presave'], - duration: 5 + if (type === 'confirm') { + let param = { + func: 'sPC_Menu_SortUpt', + LText: this.state.menulist.map((item, index) => { + return 'select \'' + item.MenuID + '\' as Menuid,' + (index + 1) * 10 + ' as sort' }) - return } - this.setState({ - tabview: 'template', - editMenu: { - MenuID: Utils.getuuid(), - MenuName: '', - MenuNo: '', - type: '', - PageParam: '', - LongParam: '', - isSubtable: '', // 鏄惁涓轰富瀛愯〃 - ParentId: this.props.supMenu.MenuID, - supMenuList: this.props.supMenuList, - fstMenuId: this.props.mainMenu.MenuID, - fstMenuList: this.props.menuTree, - menuSort: (this.props.menulist.length + 1) * 10 // 鏂板缓鑿滃崟璁剧疆鎺掑簭 - } - }, () => { - document.getElementById('root').style.overflowY = 'hidden' - }) - } else if (type === 'thaw') { - if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { - notification.warning({ - top: 92, - message: this.state.dict['model.menu.presave'], - duration: 5 - }) - return - } - this.setState({ - thawMvisible: true, - targetKeys: [] - }) - Api.getSystemConfig({ - func: 'sPC_Get_FrozenMenu', - ParentID: this.props.supMenu.MenuID, - TYPE: 30 - }).then(res => { - if (res.status) { - this.setState({ - thawmenulist: res.data.map(menu => { - return { - key: menu.MenuID, - title: menu.MenuName - } - }) - }) - } else { - notification.warning({ - top: 92, - message: res.message, - duration: 5 - }) - } - }) - } else if (type === 'confirm') { - if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { - let _this = this - let param = { - func: 'sPC_Menu_SortUpt', - LText: this.state.menulist.map((item, index) => { - return 'select \'' + item.MenuID + '\' as Menuid,' + (index + 1) * 10 + ' as sort' - }) - } + param.LText = param.LText.join(' union ') // sql鎷兼帴 + param.LText = Utils.formatOptions(param.LText) // 鍏抽敭瀛楃鏇挎崲锛宐ase64鍔犲瘑 + param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') // 鏃堕棿鎴� + param.secretkey = Utils.encrypt(param.LText, param.timestamp) // md5瀵嗛挜 - param.LText = param.LText.join(' union ') // sql鎷兼帴 - param.LText = Utils.formatOptions(param.LText) // 鍏抽敭瀛楃鏇挎崲锛宐ase64鍔犲瘑 - param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') // 鏃堕棿鎴� - param.secretkey = Utils.encrypt(param.LText, param.timestamp) // md5瀵嗛挜 - - confirm({ - title: this.state.dict['model.menu.resetorder'], - content: '', - onOk() { - return Api.getSystemConfig(param).then(res => { - if (res.status) { - _this.props.reload() - } else { - notification.warning({ - top: 92, - message: res.message, - duration: 5 - }) - } - }) - }, - onCancel() {} - }) - } else { - this.props.exitEdit() - } + confirm({ + title: '纭璋冩暣鑿滃崟椤哄簭鍚楋紵', + content: '', + onOk() { + return Api.getSystemConfig(param).then(res => { + if (res.status) { + MKEmitter.emit('mkUpdateMenuList') + } else { + notification.warning({ + top: 92, + message: res.message, + duration: 5 + }) + } + }) + }, + onCancel() {} + }) } else if (type === 'close') { - if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { + if (this.state.change) { let _this = this confirm({ @@ -347,248 +246,6 @@ this.props.exitEdit() } } - } - - thawMemuSubmit = () => { - const { targetKeys } = this.state - // 涓夌骇鑿滃崟瑙i櫎鍐荤粨 - if (targetKeys.length === 0) { - notification.warning({ - top: 92, - message: this.state.dict['form.required.select'] + this.state.dict['model.menu'], - duration: 5 - }) - } else { - this.setState({ - confirmLoading: true - }) - let defers = targetKeys.map(item => { - return new Promise((resolve) => { - Api.getSystemConfig({ - func: 'sPC_MainMenu_ReDel', - MenuID: item - }).then(res => { - if (res.status) { - resolve('') - } else { - resolve(res.message) - } - }) - }) - }) - Promise.all(defers).then(res => { - let msg = res.filter(Boolean)[0] - if (msg) { - notification.error({ - top: 92, - message: msg, - duration: 10 - }) - } else { - this.setState({ - confirmLoading: false, - thawMvisible: false, - targetKeys: [], - thawmenulist: null - }) - this.props.reload() - } - }) - } - } - - thawMemuCancel = () => { - // 瑙i櫎鍐荤粨-鍙栨秷 - this.setState({ - thawMvisible: false, - thawmenulist: null, - targetKeys: [] - }) - } - - previewPicture = (template) => { - if (template.disabled) return - // 鍥剧墖棰勮 - this.setState({ - preview: template.url, - pretemplate: template - }) - } - - cancelPrePicture = () => { - // 鍏抽棴鍥剧墖棰勮 - this.setState({ - preview: null - }) - } - - /** - * @description 浣跨敤妯℃澘 - * 1銆佷娇鐢ㄧ郴缁熸ā鏉挎椂锛屼娇鐢ㄧ郴缁熼厤缃� - * 2銆佷娇鐢ㄥ凡鏈夎彍鍗曟ā鏉挎椂锛岃幏鍙栬彍鍗曢厤缃俊鎭紝鏍囪涓簎ser锛堝鍒惰彍鍗曟寜閽級 - */ - useTemplate = (template, useType) => { - let editMenu = fromJS(this.state.editMenu).toJS() - - editMenu.fstMenuId = this.props.mainMenu.MenuID - editMenu.fstMenuList = this.props.menuTree - - if (useType === 'sys' && (template.type === 'RolePermission' || template.type === 'NewPage')) { // 鐙珛椤甸潰 - let _menu = { - ...editMenu, - MenuID: Utils.getuuid(), - MenuName: template.title, - Template: template.type, - ParentId: this.props.supMenu.MenuID, - menuSort: (this.props.menulist.length + 1) * 10, - isSystem: true - } - - this.setState({ - handleMVisible: true, - sysMenu: _menu - }) - return - } else if (template.type === 'CustomPage') { - let _menu = { - ...editMenu, - MenuID: Utils.getuuid(), - MenuName: template.title, - Template: template.type, - ParentId: this.props.supMenu.MenuID, - OriginMenuId: template.uuid || '', - menuSort: (this.props.menulist.length + 1) * 10, - isSystem: true - } - - this.setState({ - handleMVisible: true, - sysMenu: _menu - }) - return - } - - new Promise(resolve => { - if (useType === 'sys') { - resolve(true) - } else { - let param = { - func: 'sPC_Get_LongParam', - MenuID: template.uuid - } - this.setState({ - loading: true - }) - - Api.getSystemConfig(param).then(result => { - if (!result.status) { - notification.warning({ - top: 92, - message: result.message, - duration: 5 - }) - resolve(false) - } else { - let _config = '' - if (result.LongParam) { - try { - _config = JSON.parse(window.decodeURIComponent(window.atob(result.LongParam))) - _config.type = 'user' - } catch (e) { - console.warn('Parse Failure') - _config = '' - } - } - - if (_config) { - template.baseconfig = _config - resolve(true) - } else { - notification.warning({ - top: 92, - message: '妯℃澘淇℃伅鑾峰彇澶辫触锛�', - duration: 5 - }) - resolve(false) - } - } - }) - } - }).then(res => { - if (!res) { // 閿欒鏃讹紝閲嶇疆鐘舵�� - this.setState({ - loading: false - }) - return - } - - // 閫夋嫨妯℃澘锛氭坊鍔犺彍鍗曟椂(涓嶅瓨鍦╩enuId) - let _PageParam = { - OpenType: editMenu.PageParam ? editMenu.PageParam.OpenType : 'newtab', - Template: template.type - } - - this.setState({ - loading: false, - tabview: template.type, - editMenu: { - ...editMenu, - type: template.type, - PageParam: _PageParam, - LongParam: template.baseconfig, - isSubtable: template.isSubtable - } - }) - - document.getElementById('root').style.overflowY = 'hidden' - }) - } - - getUsedTemplate = () => { - let { sysTemplates } = this.state - let memberLevel = Utils.getMemberLevel() - const illust = { // 妯℃澘鍥剧墖锛岀敤浜庡凡浣跨敤妯℃澘 - CommonTable: mainsubtable, - TreePage: treepage, - CalendarPage: calendar, - CustomPage: customImg - } - - Api.getSystemConfig({func: 'sPC_Get_UserTemp', TypeCharTwo: 'menu'}).then(res => { - let _templates = [] - - res.UserTemp.forEach(temp => { - if (temp.Template === 'NewPage' || temp.Template === 'RolePermission') { - return - } else if (temp.Template === 'CustomPage' && memberLevel < 20) { - temp.disabled = true - temp.disTitle = '浼氬憳绛夌骇涓嶅锛屾棤寮�鍙戞潈闄愩��' - } - - _templates.push({ - uuid: temp.MenuID, - title: temp.MenuName, - type: temp.Template, - url: illust[temp.Template], - disabled: temp.disabled || false, - disTitle: temp.disTitle || '' - }) - }) - - sysTemplates = sysTemplates.map(temp => { - if (temp.type === 'CustomPage' && memberLevel < 20) { - temp.disabled = true - temp.disTitle = '浼氬憳绛夌骇涓嶅锛屾棤寮�鍙戞潈闄愩��' - } - - return temp - }) - - this.setState({ - usedTemplates: _templates, - sysTemplates: sysTemplates - }) - }) } exittabview = () => { @@ -616,17 +273,6 @@ const { sysMenu } = this.state let sysTemplates = fromJS(this.state.sysTemplates).toJS() - // 瑙掕壊鏉冮檺鍒嗛厤妯℃澘锛屽彧鍙互娣诲姞涓�娆� - // if (sysMenu.isSystem && (sysMenu.Template === 'RolePermission')) { - // sysTemplates = sysTemplates.map(temp => { - // if (temp.type === sysMenu.type) { - // temp.hidden = true - // } - - // return temp - // }) - // } - this.menuFormRef.handleConfirm().then(res => { let PageParam = { Template: sysMenu.Template, @@ -653,10 +299,6 @@ LTexttb: '' } - if (sysMenu.menuSort) { // 鑿滃崟鏂板缓鏃惰缃帓搴� - param.Sort = sysMenu.menuSort - } - param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) @@ -664,33 +306,29 @@ confirmLoading: true }) - if (sysMenu.Template === 'CustomPage' && sysMenu.OriginMenuId) { - this.copyMenu(param, sysMenu.OriginMenuId) - } else { - Api.getSystemConfig(param).then(response => { - if (response.status) { - this.setState({ - sysTemplates: sysTemplates, - confirmLoading: false, - handleMVisible: false, - sysMenu: '', - tabview: '' - }) - - this.props.reload() - document.getElementById('root').style.overflowY = 'unset' - } else { - this.setState({ - confirmLoading: false - }) - notification.warning({ - top: 92, - message: response.message, - duration: 5 - }) - } - }) - } + Api.getSystemConfig(param).then(response => { + if (response.status) { + this.setState({ + sysTemplates: sysTemplates, + confirmLoading: false, + handleMVisible: false, + sysMenu: '', + tabview: '' + }) + + MKEmitter.emit('mkUpdateMenuList') + document.getElementById('root').style.overflowY = 'unset' + } else { + this.setState({ + confirmLoading: false + }) + notification.warning({ + top: 92, + message: response.message, + duration: 5 + }) + } + }) }) } @@ -731,7 +369,7 @@ tabview: '' }) - this.props.reload() + MKEmitter.emit('mkUpdateMenuList') document.getElementById('root').style.overflowY = 'unset' } else { this.setState({ @@ -758,8 +396,6 @@ } UNSAFE_componentWillMount () { - this.getUsedTemplate() - this.setState({ menulist: this.props.menulist }) @@ -768,37 +404,17 @@ UNSAFE_componentWillReceiveProps (nextProps) { if (!is(fromJS(this.props.menulist), fromJS(nextProps.menulist))) { this.setState({ - menulist: nextProps.menulist + menulist: nextProps.menulist, + change: false }) } } render () { - const { dict } = this.state + const { change } = this.state + return ( <div className="third-edit-box"> - {!this.state.tabview ? - <div className="mask"> - <div className="tipcard card1" style={{backgroundImage: 'url(' + card1 + ')'}}> - 鎷栧姩涓夌骇鑿滃崟鍙皟鏁撮『搴忥紝椤哄簭璋冩暣鍚庯紝璇风偣鍑荤‘瀹氭寜閽繚瀛樸�� - </div> - <div className="tipcard card2" style={{backgroundImage: 'url(' + card2 + ')'}}> - 鐐瑰嚮缂栬緫鍥炬爣浼氭牴鎹彍鍗曟ā鏉匡紝杩涘叆鐩稿簲鐨勬ā鏉跨紪杈戦〉闈紝鐐瑰嚮鍒犻櫎鍥炬爣鍙垹闄よ彍鍗曘�� - </div> - <div className="tipcard card3" style={{backgroundImage: 'url(' + card3 + ')'}}> - 鐐瑰嚮瑙i櫎鍐荤粨鎸夐挳锛屽彲杩樺師宸插垹闄ょ殑涓夌骇鑿滃崟銆� - </div> - <div className="tipcard card4" style={{backgroundImage: 'url(' + card4 + ')'}}> - 鐐瑰嚮娣诲姞鍥炬爣锛屼細鏄剧ず绯荤粺妯℃澘鍜屽凡浣跨敤妯℃澘锛岄�夋嫨宸蹭娇鐢ㄦā鏉挎椂锛屼細澶嶅埗宸叉坊鍔犺彍鍗曠殑閰嶇疆淇℃伅銆� - </div> - <div className="tipcard card5" style={{backgroundImage: 'url(' + card5 + ')'}}> - <p>缂栬緫鐘舵�佷腑锛岃彍鍗曚箣澶栧尯鍩熶細閿佸畾锛屾煡鐪嬬郴缁熸暟鎹鐐瑰嚮銆�</p> - <div> - <span className="new-view" onClick={() => {window.open('#/main')}} >鏂伴〉闈�</span> - </div> - </div> - </div> : null - } <div className="cus-submenu-title"> <MkIcon type={this.props.supMenu.PageParam.Icon} /> <span>{this.props.supMenu.MenuName}</span> @@ -810,86 +426,29 @@ handleMenu={this.handleMenu} /> </DndProvider> - <div className="menu-add" onClick={() => {this.handleSubBtn('add')}}> - <PlusOutlined /> - </div> <div className="menu-btn"> - <Button type="primary" onClick={() => {this.handleSubBtn('thaw')}}>{dict['model.thaw'] + dict['model.menu']}</Button> - <Button type="primary" onClick={() => {this.handleSubBtn('confirm')}}>{dict['model.confirm']}</Button> - <Button onClick={() => {this.handleSubBtn('close')}}>{dict['model.close']}</Button> + <Button type="primary" className="mk-save-menu" disabled={!change} onClick={() => {this.handleSubBtn('confirm')}}>淇濆瓨</Button> + <Button onClick={() => {this.handleSubBtn('close')}}>鍏抽棴</Button> </div> - {this.state.tabview === 'template' ? - <div className="editboard"> - <div className="workplace"> - <Button className="top-btn mk-yellow" onClick={this.exittabview}>{dict['model.cancel']}</Button> - {this.state.tabview === 'template' && <Tabs defaultActiveKey="1"> - <TabPane tab="绯荤粺妯℃澘" key="1"> - <Row> - {this.state.sysTemplates.map((template, index) => { - // if (template.hidden) return null - - return ( - <Col key={`${index}`} className={template.disabled ? 'disabled' : ''} title={template.disTitle || ''} span={8}> - <Card - title={template.title}> - <img onClick={() => {this.previewPicture(template)}} src={template.url} alt=""/> - <div className="card-operation"> - <Button type="primary" onClick={() => {this.useTemplate(template, 'sys')}}>浣跨敤妯℃澘</Button> - </div> - </Card> - </Col> - ) - })} - </Row> - </TabPane> - <TabPane tab="宸蹭娇鐢ㄦā鏉�" key="2"> - <Row> - <Col span={8}> - <Search placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" defaultValue={this.state.tempSearchKey} onSearch={value => {this.setState({tempSearchKey: value})}} enterButton /> - </Col> - </Row> - <Row> - {this.state.usedTemplates && this.state.usedTemplates.map((template, index) => { - if (template.title.toLowerCase().indexOf(this.state.tempSearchKey.toLowerCase()) >= 0) { - return ( - <Col key={template.type + index} className={template.disabled ? 'disabled' : ''} title={template.disTitle || ''} span={6}> - <Card - title={template.title}> - <img onClick={() => {this.previewPicture(template)}} src={template.url} alt=""/> - <div className="card-operation"> - <Button type="primary" onClick={() => {this.useTemplate(template, 'user')}}>浣跨敤妯℃澘</Button> - </div> - </Card> - </Col> - ) - } else { - return '' - } - })} - </Row> - </TabPane> - </Tabs>} - </div> - </div> : null - } + {this.state.tabview === 'TreePage' ? <TreePageConfig menu={this.state.editMenu} - reloadmenu={() => {this.props.reload()}} + reloadmenu={() => {MKEmitter.emit('mkUpdateMenuList')}} handleView={this.handleView} /> : null } {this.state.tabview === 'CalendarPage' ? <CalendarPageConfig menu={this.state.editMenu} - reloadmenu={() => {this.props.reload()}} + reloadmenu={() => {MKEmitter.emit('mkUpdateMenuList')}} handleView={this.handleView} /> : null } {this.state.tabview === 'CommonTable' ? <ComTableConfig menu={this.state.editMenu} - reloadmenu={() => {this.props.reload()}} + reloadmenu={() => {MKEmitter.emit('mkUpdateMenuList')}} handleView={this.handleView} /> : null } @@ -927,38 +486,22 @@ handleView={this.handleView} /> : null } - {/* 鍥剧墖棰勮 */} - <Preview cancel={this.cancelPrePicture} preview={this.state.preview} template={this.state.pretemplate} confirm={this.useTemplate}/> - {/* 瑙e喕鑿滃崟妯℃�佹 */} - <Modal - title={dict['model.thaw'] + dict['model.menu']} - width={600} - visible={this.state.thawMvisible} - onOk={this.thawMemuSubmit} - confirmLoading={this.state.confirmLoading} - onCancel={this.thawMemuCancel} - destroyOnClose - > - {!this.state.thawmenulist && <Spin style={{marginLeft: 'calc(50% - 22px)', marginTop: '70px', marginBottom: '70px'}} size="large" />} - {this.state.thawmenulist && <TransferForm onChange={(vals) => this.setState({targetKeys: vals})} menulist={this.state.thawmenulist}/>} - </Modal> {/* 娣诲姞绯荤粺鑿滃崟 */} <Modal - title={this.state.sysMenu && this.state.sysMenu.isSystem ? dict['model.add'] + dict['model.menu'] : dict['model.update'] + dict['model.menu']} + title="淇敼鑿滃崟" visible={this.state.handleMVisible} + width={600} onOk={this.memuSubmit} - confirmLoading={this.state.confirmLoading} + confirmLoading={this.state.loading} onCancel={() => {this.setState({handleMVisible: false})}} destroyOnClose > <MenuForm menu={this.state.sysMenu} - dict={dict} inputSubmit={this.memuSubmit} wrappedComponentRef={(inst) => this.menuFormRef = inst} /> </Modal> - {this.state.loading && <Spin className="loading-thdmenu" size="large" />} </div> ) } -- Gitblit v1.8.0