From e2afee71874538e31ed57032e3ad1bba1188ab4b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 20 十月 2022 15:31:41 +0800 Subject: [PATCH] 2022-10-20 --- src/menu/stylecombcontrolbutton/index.scss | 2 src/menu/components/timeline/normal-timeline/index.jsx | 2 src/menu/components/card/table-card/index.jsx | 10 src/mob/components/tabs/antv-tabs/index.jsx | 125 -- src/tabviews/zshare/actionList/popupbutton/index.jsx | 5 src/tabviews/zshare/normalTable/index.jsx | 2 src/utils/utils-custom.js | 41 src/tabviews/zshare/actionList/excelInbutton/index.jsx | 5 src/menu/components/share/actioncomponent/dragaction/index.jsx | 40 src/menu/components/module/voucher/index.jsx | 2 src/views/tabledesign/source.jsx | 45 src/menu/components/chart/antv-scatter/index.jsx | 11 src/menu/components/tabs/tabcomponents/index.jsx | 12 src/menu/components/table/base-table/index.scss | 18 src/mob/components/official/index.jsx | 2 src/menu/components/tree/antd-tree/index.jsx | 10 src/tabviews/zshare/actionList/newpagebutton/index.jsx | 7 src/menu/stylecombcontroller/index.jsx | 10 src/menu/tableshell/card.jsx | 2 src/tabviews/zshare/actionList/normalbutton/index.jsx | 33 src/views/mobdesign/index.jsx | 36 src/views/interface/history/index.jsx | 8 src/views/menudesign/index.jsx | 24 src/tabviews/custom/components/card/cardcellList/index.jsx | 2 src/tabviews/zshare/actionList/funczip/index.jsx | 4 src/menu/tableshell/index.jsx | 10 src/menu/components/card/cardcellcomponent/index.jsx | 4 src/menu/components/form/tab-form/index.jsx | 32 src/menu/components/share/actioncomponent/formconfig.jsx | 676 ++++++++++++++ src/mob/components/menubar/normal-menubar/index.jsx | 10 src/menu/components/carousel/prop-card/index.jsx | 32 src/tabviews/zshare/actionList/funcMegvii/index.jsx | 4 src/menu/pastecontroller/index.jsx | 7 src/menu/components/card/data-card/index.jsx | 10 src/menu/components/chart/antv-pie/index.jsx | 11 src/views/popdesign/index.jsx | 24 src/menu/components/chart/antv-dashboard/index.jsx | 11 src/menu/components/tabs/table-tabs/dragabletabs.jsx | 19 src/menu/components/table/base-table/columns/index.jsx | 18 src/mob/components/menubar/common-menubar/index.jsx | 10 src/menu/components/card/prop-card/index.jsx | 29 src/menu/components/table/normal-table/index.jsx | 10 src/menu/components/table/normal-table/columns/index.jsx | 6 src/menu/components/tabs/antv-tabs/index.jsx | 125 -- src/tabviews/zshare/cardcomponent/index.jsx | 16 src/menu/components/group/normal-group/index.jsx | 53 - src/menu/components/tabs/paste/index.jsx | 18 src/mob/components/tabs/antv-tabs/dragabletabs.jsx | 2 src/menu/components/table/edit-table/columns/index.jsx | 4 src/pc/components/navbar/normal-navbar/index.jsx | 9 src/menu/components/group/groupcomponents/index.jsx | 2 src/menu/components/tabs/table-tabs/options.jsx | 219 ---- src/menu/components/share/actioncomponent/dragaction/card.jsx | 2 src/tabviews/zshare/chartcomponent/index.jsx | 5 src/menu/components/chart/chart-custom/index.jsx | 11 src/menu/components/table/base-table/columns/editColumn/formconfig.jsx | 49 src/menu/components/tabs/table-tabs/index.jsx | 182 --- src/tabviews/zshare/actionList/exceloutbutton/index.jsx | 5 src/menu/components/card/cardcellcomponent/dragaction/card.jsx | 2 src/menu/components/form/simple-form/index.jsx | 32 src/menu/components/tabs/antv-tabs/dragabletabs.jsx | 2 src/menu/components/chart/antv-bar/index.jsx | 11 src/menu/components/code/sandbox/index.jsx | 10 src/views/tabledesign/index.jsx | 4 src/mob/components/tabs/tabcomponents/index.jsx | 22 src/tabviews/zshare/actionList/index.jsx | 12 src/tabviews/subtable/index.jsx | 6 src/menu/components/table/edit-table/index.jsx | 10 src/menu/components/carousel/data-card/index.jsx | 10 src/utils/utils.js | 5 src/mob/components/search/single-search/index.jsx | 10 src/menu/components/card/balcony/index.jsx | 2 src/tabviews/zshare/actionList/tabbutton/index.jsx | 9 src/menu/components/form/step-form/index.jsx | 32 src/views/pcdesign/index.jsx | 26 src/menu/components/table/base-table/options.jsx | 153 -- src/menu/components/tabs/table-tabs/index.scss | 111 -- src/menu/components/share/actioncomponent/index.jsx | 38 src/tabviews/zshare/actionList/printbutton/index.jsx | 5 src/menu/components/search/main-search/index.jsx | 10 src/pc/components/login/normal-login/index.jsx | 10 src/mob/components/topbar/normal-navbar/index.jsx | 9 src/menu/components/editor/braft-editor/index.jsx | 10 src/menu/stylecombcontrolbutton/index.jsx | 163 +- src/menu/components/table/base-table/index.jsx | 2 85 files changed, 1,234 insertions(+), 1,565 deletions(-) diff --git a/src/menu/components/card/balcony/index.jsx b/src/menu/components/card/balcony/index.jsx index 114c9ba..31c5004 100644 --- a/src/menu/components/card/balcony/index.jsx +++ b/src/menu/components/card/balcony/index.jsx @@ -39,8 +39,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� diff --git a/src/menu/components/card/cardcellcomponent/dragaction/card.jsx b/src/menu/components/card/cardcellcomponent/dragaction/card.jsx index e0c82a5..0410a0b 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/card.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/card.jsx @@ -181,7 +181,7 @@ const clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'cardcell') { e.stopPropagation() - MKEmitter.emit('clickComponent', card, parent, 'cardcell') + MKEmitter.emit('clickComponent', card.uuid, parent.uuid) } } diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx index 2cb20e5..8ab612e 100644 --- a/src/menu/components/card/cardcellcomponent/index.jsx +++ b/src/menu/components/card/cardcellcomponent/index.jsx @@ -99,9 +99,7 @@ if (cardCell.uuid !== parentId) return - const { elements } = this.state - - let _elements = elements.map(item => { + let _elements = this.state.elements.map(item => { if (keys.includes(item.uuid)) { return this.resetCardStyle(item, {...item.style, ...style}) } diff --git a/src/menu/components/card/data-card/index.jsx b/src/menu/components/card/data-card/index.jsx index 74ab7e1..7e33108 100644 --- a/src/menu/components/card/data-card/index.jsx +++ b/src/menu/components/card/data-card/index.jsx @@ -46,8 +46,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: true, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: true, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -661,7 +659,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/card/prop-card/index.jsx b/src/menu/components/card/prop-card/index.jsx index d379bfc..0bec608 100644 --- a/src/menu/components/card/prop-card/index.jsx +++ b/src/menu/components/card/prop-card/index.jsx @@ -44,8 +44,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: true, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -107,7 +105,6 @@ componentDidMount () { MKEmitter.addListener('mkUpdateInter', this.mkUpdateInter) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) } shouldComponentUpdate (nextProps, nextState) { @@ -122,24 +119,6 @@ return } MKEmitter.removeListener('mkUpdateInter', this.mkUpdateInter) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { card } = this.state - - if (card.uuid !== parentId) return - - let subcards = card.subcards.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({card: {...card, subcards: []}}, () => { - this.updateComponent({...card, subcards: subcards}) - }) } mkUpdateInter = (inter, split) => { @@ -540,7 +519,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/card/table-card/index.jsx b/src/menu/components/card/table-card/index.jsx index 6f24dab..91e11b6 100644 --- a/src/menu/components/card/table-card/index.jsx +++ b/src/menu/components/card/table-card/index.jsx @@ -45,8 +45,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: true, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -499,7 +497,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/carousel/data-card/index.jsx b/src/menu/components/carousel/data-card/index.jsx index d4af996..820ee56 100644 --- a/src/menu/components/carousel/data-card/index.jsx +++ b/src/menu/components/carousel/data-card/index.jsx @@ -41,8 +41,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -235,7 +233,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/carousel/prop-card/index.jsx b/src/menu/components/carousel/prop-card/index.jsx index bb43d43..30a541e 100644 --- a/src/menu/components/carousel/prop-card/index.jsx +++ b/src/menu/components/carousel/prop-card/index.jsx @@ -42,8 +42,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -92,10 +90,6 @@ } } - componentDidMount () { - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) } @@ -107,24 +101,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { card } = this.state - - if (card.uuid !== parentId) return - - let subcards = card.subcards.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({card: {...card, subcards: []}}, () => { - this.updateComponent({...card, subcards: subcards}) - }) } /** @@ -322,7 +298,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/chart/antv-bar/index.jsx b/src/menu/components/chart/antv-bar/index.jsx index 51de3eb..319cd3f 100644 --- a/src/menu/components/chart/antv-bar/index.jsx +++ b/src/menu/components/chart/antv-bar/index.jsx @@ -67,8 +67,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: card.type === 'bar' ? true : false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -143,7 +141,7 @@ handleTabsChange = (parentId) => { const { card } = this.state - if (parentId === card.parentId || parentId === 'all') { + if (parentId.indexOf(card.uuid) > -1 || parentId === 'all') { let _element = document.getElementById(card.uuid + 'canvas') if (_element) { _element.innerHTML = '' @@ -1345,7 +1343,12 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.updateComponent(_card) + }) } } diff --git a/src/menu/components/chart/antv-dashboard/index.jsx b/src/menu/components/chart/antv-dashboard/index.jsx index b05efaa..22f6b8e 100644 --- a/src/menu/components/chart/antv-dashboard/index.jsx +++ b/src/menu/components/chart/antv-dashboard/index.jsx @@ -110,8 +110,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: card.subtype === 'ratioboard' ? 'array' : 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -177,7 +175,7 @@ handleTabsChange = (parentId) => { const { card } = this.state - if (parentId === card.parentId || parentId === 'all') { + if (parentId.indexOf(card.uuid) > -1 || parentId === 'all') { let _element = document.getElementById(card.uuid + 'dashboard') if (_element) { _element.innerHTML = '' @@ -522,7 +520,12 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.updateComponent(_card) + }) } } diff --git a/src/menu/components/chart/antv-pie/index.jsx b/src/menu/components/chart/antv-pie/index.jsx index d8aa2b3..9009ffd 100644 --- a/src/menu/components/chart/antv-pie/index.jsx +++ b/src/menu/components/chart/antv-pie/index.jsx @@ -60,8 +60,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -134,7 +132,7 @@ handleTabsChange = (parentId) => { const { card } = this.state - if (parentId === card.parentId || parentId === 'all') { + if (parentId.indexOf(card.uuid) > -1 || parentId === 'all') { let _element = document.getElementById(card.uuid + 'canvas') if (_element) { _element.innerHTML = '' @@ -679,7 +677,12 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.updateComponent(_card) + }) } } diff --git a/src/menu/components/chart/antv-scatter/index.jsx b/src/menu/components/chart/antv-scatter/index.jsx index bfc607a..2180026 100644 --- a/src/menu/components/chart/antv-scatter/index.jsx +++ b/src/menu/components/chart/antv-scatter/index.jsx @@ -54,8 +54,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -131,7 +129,7 @@ handleTabsChange = (parentId) => { const { card } = this.state - if (parentId === card.parentId || parentId === 'all') { + if (parentId.indexOf(card.uuid) > -1 || parentId === 'all') { let _element = document.getElementById(card.uuid + 'canvas') if (_element) { _element.innerHTML = '' @@ -364,7 +362,12 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.updateComponent(_card) + }) } } diff --git a/src/menu/components/chart/chart-custom/index.jsx b/src/menu/components/chart/chart-custom/index.jsx index 4a1590c..d5ea198 100644 --- a/src/menu/components/chart/chart-custom/index.jsx +++ b/src/menu/components/chart/chart-custom/index.jsx @@ -47,8 +47,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -118,7 +116,7 @@ handleTabsChange = (parentId) => { const { card } = this.state - if (parentId === card.parentId || parentId === 'all') { + if (parentId.indexOf(card.uuid) > -1 || parentId === 'all') { let _element = document.getElementById(card.uuid + 'canvas') if (_element) { _element.innerHTML = '' @@ -245,7 +243,12 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.updateComponent(_card) + }) } } diff --git a/src/menu/components/code/sandbox/index.jsx b/src/menu/components/code/sandbox/index.jsx index 4f4d644..635e948 100644 --- a/src/menu/components/code/sandbox/index.jsx +++ b/src/menu/components/code/sandbox/index.jsx @@ -38,8 +38,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -149,7 +147,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/editor/braft-editor/index.jsx b/src/menu/components/editor/braft-editor/index.jsx index bcb095f..a8d23f8 100644 --- a/src/menu/components/editor/braft-editor/index.jsx +++ b/src/menu/components/editor/braft-editor/index.jsx @@ -39,8 +39,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -152,7 +150,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx index 20e3704..3b87f6c 100644 --- a/src/menu/components/form/simple-form/index.jsx +++ b/src/menu/components/form/simple-form/index.jsx @@ -55,8 +55,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -107,10 +105,6 @@ } } - componentDidMount () { - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) } @@ -122,24 +116,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { card } = this.state - - if (card.uuid !== parentId) return - - let subcards = card.subcards.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({card: {...card, subcards: []}}, () => { - this.updateComponent({...card, subcards: subcards}) - }) } /** @@ -644,7 +620,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/form/step-form/index.jsx b/src/menu/components/form/step-form/index.jsx index 83e0c76..a28b55f 100644 --- a/src/menu/components/form/step-form/index.jsx +++ b/src/menu/components/form/step-form/index.jsx @@ -56,8 +56,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -114,10 +112,6 @@ } } - componentDidMount () { - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) } @@ -129,24 +123,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { card } = this.state - - if (card.uuid !== parentId) return - - let subcards = card.subcards.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({card: {...card, subcards: []}}, () => { - this.updateComponent({...card, subcards: subcards}) - }) } /** @@ -727,7 +703,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx index bcc0621..b5ccead 100644 --- a/src/menu/components/form/tab-form/index.jsx +++ b/src/menu/components/form/tab-form/index.jsx @@ -56,8 +56,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -126,10 +124,6 @@ } } - componentDidMount () { - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) } @@ -141,24 +135,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { card } = this.state - - if (card.uuid !== parentId) return - - let subcards = card.subcards.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({card: {...card, subcards: []}}, () => { - this.updateComponent({...card, subcards: subcards}) - }) } /** @@ -753,7 +729,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/group/groupcomponents/index.jsx b/src/menu/components/group/groupcomponents/index.jsx index 63e02b1..b126069 100644 --- a/src/menu/components/group/groupcomponents/index.jsx +++ b/src/menu/components/group/groupcomponents/index.jsx @@ -98,8 +98,6 @@ let newcard = { uuid: Utils.getuuid(), - tabId: config.uuid, - parentId: config.parentId, type: item.component, subtype: item.subtype, config: item.config, diff --git a/src/menu/components/group/normal-group/index.jsx b/src/menu/components/group/normal-group/index.jsx index 08229ed..3d5ec2f 100644 --- a/src/menu/components/group/normal-group/index.jsx +++ b/src/menu/components/group/normal-group/index.jsx @@ -35,8 +35,6 @@ let _group = { uuid: group.uuid, type: group.type, - tabId: group.tabId || '', - parentId: group.parentId || '', subtype: group.subtype, width: 24, name: group.name, @@ -59,11 +57,6 @@ return !is(fromJS(this.state), fromJS(nextState)) } - componentDidMount () { - MKEmitter.addListener('tabsChange', this.handleTabsChange) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - /** * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊锛屾竻闄ゅ揩鎹烽敭璁剧疆 */ @@ -71,27 +64,6 @@ this.setState = () => { return } - MKEmitter.removeListener('tabsChange', this.handleTabsChange) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { group } = this.state - - if (group.uuid !== parentId) return - - let components = group.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({ - group: {...group, components: []} - }, () => { - this.updateComponent({...group, components: components}) - }) } changeStyle = () => { @@ -110,20 +82,16 @@ this.props.updateConfig(_card) } - handleTabsChange = (parentId) => { - const { group } = this.state - - if (parentId === group.parentId) { - MKEmitter.emit('tabsChange', group.uuid) - } - } - updateComponent = (component) => { const { group } = this.state if (!is(fromJS(group.setting), fromJS(component.setting)) || !is(fromJS(group.style), fromJS(component.style))) { // 娉ㄥ唽浜嬩欢-鏍囩鍙樺寲锛岄�氱煡缁勫唴鍏冪礌 - MKEmitter.emit('tabsChange', group.uuid) + let ids = [] + group.components.forEach(item => { + ids.push(item.uuid) + }) + MKEmitter.emit('tabsChange', ids.join(',')) } component.width = component.setting.width @@ -137,8 +105,6 @@ insert = (item) => { let group = fromJS(this.state.group).toJS() - - item.parentId = group.parentId group.components.push(item) @@ -156,13 +122,6 @@ this.updateComponent({...this.state.group, setting: res}) } - clickComponent = (e) => { - if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { - e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.group) - } - } - render() { const { group } = this.state let _style = resetStyle(group.style) @@ -173,7 +132,7 @@ } return ( - <div className={'menu-group-edit-box ' + (paddingTop ? 'padding ' : '') + (group.setting.layout || '')} style={_style} onClick={this.clickComponent} id={group.uuid}> + <div className={'menu-group-edit-box ' + (paddingTop ? 'padding ' : '') + (group.setting.layout || '')} style={_style} id={group.uuid}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> <NormalForm title="鍒嗙粍璁剧疆" width={700} update={this.updateWrap} getForms={this.getWrapForms}> diff --git a/src/menu/components/module/voucher/index.jsx b/src/menu/components/module/voucher/index.jsx index 7f230bd..329d64d 100644 --- a/src/menu/components/module/voucher/index.jsx +++ b/src/menu/components/module/voucher/index.jsx @@ -33,8 +33,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� diff --git a/src/menu/components/search/main-search/index.jsx b/src/menu/components/search/main-search/index.jsx index d6250e4..3595d12 100644 --- a/src/menu/components/search/main-search/index.jsx +++ b/src/menu/components/search/main-search/index.jsx @@ -50,8 +50,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', width: 24, name: card.name, subtype: card.subtype, @@ -397,7 +395,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/share/actioncomponent/dragaction/card.jsx b/src/menu/components/share/actioncomponent/dragaction/card.jsx index 5518861..78a372c 100644 --- a/src/menu/components/share/actioncomponent/dragaction/card.jsx +++ b/src/menu/components/share/actioncomponent/dragaction/card.jsx @@ -94,7 +94,7 @@ <EditOutlined className="edit" onClick={() => editCard(id)} /> <CopyOutlined className="copy" onClick={() => copyCard(id)} /> <CloseOutlined className="close" onClick={() => delCard(id)} /> - {type !== 'datacard' ? <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => changeStyle(id)}/> : ''} + {type !== 'datacard' && type !== 'basetable' ? <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => changeStyle(id)}/> : ''} {hasProfile ? <ProfileOutlined className="profile" title="楠岃瘉" onClick={() => profileCard(id)} /> : null} </div> } trigger="hover"> diff --git a/src/menu/components/share/actioncomponent/dragaction/index.jsx b/src/menu/components/share/actioncomponent/dragaction/index.jsx index d52c80d..b4f4a65 100644 --- a/src/menu/components/share/actioncomponent/dragaction/index.jsx +++ b/src/menu/components/share/actioncomponent/dragaction/index.jsx @@ -105,31 +105,29 @@ accept: 'action', drop(item) { if (item.$init) { // 鎷栨嫿娣诲姞 - let newcard = {} - newcard.uuid = Utils.getuuid() - newcard.focus = true - if (item.class === 'element') { delete item.overIndex return - } else { - newcard.label = 'button' - newcard.verify = null - newcard.show = 'link' - newcard.Ot = 'requiredSgl' - newcard.OpenType = item.value - newcard.class = 'primary' - newcard.style = { marginRight: '15px' } + } + let newcard = {} + newcard.uuid = Utils.getuuid() + newcard.focus = true + newcard.label = 'button' + newcard.verify = null + newcard.show = 'link' + newcard.Ot = 'requiredSgl' + newcard.OpenType = item.value + newcard.class = 'primary' + newcard.style = { marginRight: '15px' } - if (newcard.OpenType === 'excelIn') { - newcard.label = item.text - newcard.class = 'dgreen' - newcard.Ot = 'notRequired' - } else if (item.subType === 'excelOut') { - newcard.label = item.text - newcard.execSuccess = 'never' - newcard.class = 'dgreen' - } + if (newcard.OpenType === 'excelIn') { + newcard.label = item.text + newcard.class = 'dgreen' + newcard.Ot = 'notRequired' + } else if (newcard.OpenType === 'excelOut') { + newcard.label = item.text + newcard.execSuccess = 'never' + newcard.class = 'dgreen' } if (item.overIndex) { diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx index 5c1870c..22eae11 100644 --- a/src/menu/components/share/actioncomponent/formconfig.jsx +++ b/src/menu/components/share/actioncomponent/formconfig.jsx @@ -1,4 +1,4 @@ -import { btnCustomClasses } from '@/utils/option.js' +import { btnCustomClasses, btnClasses } from '@/utils/option.js' /** @@ -1021,3 +1021,677 @@ return forms } + +/** + * @description 鑾峰彇鎸夐挳琛ㄥ崟閰嶇疆淇℃伅 + * @param {*} card 缂栬緫鎸夐挳 + * @param {*} functip 鐢熸垚瀛樺偍杩囩▼鎻愮ず + * @param {*} setting 缁勪欢閰嶇疆 + * @param {*} usefulFields 瀛樺偍杩囩▼鍙敤鐨勫紑濮嬪瓧娈� + */ +export function getBaseTableActionForm (card, functip, config, usefulFields) { + let viewType = sessionStorage.getItem('editMenuType') // 寮圭獥 popview + let printTemps = sessionStorage.getItem('printTemps') + printTemps = printTemps ? JSON.parse(printTemps) : [] + let setting = config.setting || {} + let columns = config.columns || [] + let modules = [] + + let opentypes = [ + { + value: 'pop', + text: '寮圭獥锛堣〃鍗曪級' + }, { + value: 'prompt', + text: '鎻愮ず妗�' + }, { + value: 'exec', + text: '鐩存帴鎵ц' + }, { + value: 'excelIn', + text: '瀵煎叆Excel' + }, { + value: 'excelOut', + text: '瀵煎嚭Excel' + }, { + value: 'popview', + text: '寮圭獥锛堟爣绛撅級' + }, { + value: 'tab', + text: '鏍囩椤�' + }, { + value: 'innerpage', + text: '鏂伴〉闈�' + }, { + value: 'funcbutton', + text: '鍔熻兘鎸夐挳' + } + ] + + let pageTemps = [ + { value: 'billprint', text: '鍗曟嵁鎵撳嵃' }, + { value: 'pay', text: '鏀粯' }, + { value: 'custom', text: '鑷畾涔�' } + ] + + let funTypes = [ + { value: 'print', text: '鏍囩鎵撳嵃' }, + { value: 'refund', text: '閫�娆�' }, + { value: 'closetab', text: '鏍囩鍏抽棴' }, + { value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' }, + { value: 'megvii', text: '鏃疯闈㈡澘鏈�' }, + { value: 'filezip', text: '鏂囦欢鍘嬬缉鍖�' }, + ] + + let menulist = sessionStorage.getItem('fstMenuList') + if (menulist) { + try { + menulist = JSON.parse(menulist) + } catch (e) { + menulist = [] + } + } else { + menulist = [] + } + + let refresh = [] + if (viewType === 'popview') { // 寮圭獥鏍囩 + opentypes = opentypes.filter(item => item.value !== 'popview' && item.value !== 'funcbutton') + refresh.push({ + value: 'closepoptab', // 鍏抽棴寮圭獥鏍囩 + text: '鍏抽棴寮圭獥' + }) + } + + if (card.OpenType === 'form') { // 鎷栨嫿娣诲姞绫诲瀷杞崲 + card.OpenType = 'pop' + } + + let forms = [ + { + type: 'select', + key: 'OpenType', + label: '鎵撳紑鏂瑰紡', + initVal: card.OpenType, + required: true, + options: opentypes + }, + { + type: 'text', + key: 'label', + label: '鎸夐挳鍚嶇О', + initVal: card.label, + required: true, + }, + { + type: 'select', + key: 'funcType', + label: '鍔熻兘绫诲瀷', + initVal: card.funcType || '', + required: true, + options: funTypes + }, + { + type: 'radio', + key: 'subFunc', + label: '鎺ュ彛鍚嶇О', + initVal: card.subFunc || 'addUser', + required: true, + options: [ + { value: 'addUser', text: '娣诲姞鐢ㄦ埛' }, + ] + }, + { + type: 'select', + key: 'execMode', + label: '鎵ц鏂瑰紡', + initVal: card.execMode || 'exec', + required: true, + options: [{ + value: 'exec', + text: '鐩存帴鎵ц' + }, { + value: 'prompt', + text: '鎻愮ず妗�' + }, { + value: 'pop', + text: '寮圭獥锛堣〃鍗曪級' + }] + }, + { + type: 'radio', + key: 'intertype', + label: '鎺ュ彛绫诲瀷', + initVal: card.intertype || 'system', + required: true, + options: [] + }, + { + type: 'checkbox', + key: 'payType', + label: '鏀粯鏂瑰紡', + initVal: card.payType || [], + required: true, + options: [{ + value: 'wxpay', + text: '寰俊' + // }, { + // value: 'alipay', + // text: '鏀粯瀹�' + }] + }, + { + type: 'radio', + key: 'procMode', + label: '鍙傛暟澶勭悊', + initVal: card.procMode || (card.innerFunc ? 'inner' : 'system'), + required: true, + options: [{ + value: 'system', + text: '绯荤粺鍑芥暟' + }, { + value: 'inner', + text: '鍐呴儴鍑芥暟' + }, { + value: 'none', + text: '鏃�' + }] + }, + { + type: 'radio', + key: 'sqlType', + label: '鎿嶄綔绫诲瀷', + initVal: card.sqlType || '', + required: true, + options: [] + }, + { + type: 'text', + key: 'sql', + label: '琛ㄥ悕', + initVal: card.sql || setting.tableName || '', + required: true + }, + { + type: 'text', + key: 'innerFunc', + label: '鍐呴儴鍑芥暟', + initVal: card.innerFunc || '', + tooltip: functip, + fields: usefulFields, + required: false, + }, + { + type: 'text', + key: 'urlkey', + label: '鍦板潃瀛楁', + initVal: card.urlkey || '', + tooltip: '鍥剧墖锛堟枃浠讹級閾炬帴鐨勫瓧娈靛悕銆�', + required: false, + readonly: false + }, + { + type: 'select', + key: 'pageTemplate', + label: '椤甸潰绫诲瀷', + initVal: card.pageTemplate || '', + required: true, + options: pageTemps + }, + { + type: 'select', + key: 'printTemp', + label: '鎵撳嵃妯℃澘', + initVal: card.printTemp || '', + required: true, + options: printTemps + }, + { + type: 'cascader', + key: 'linkmenu', + label: '鍏宠仈鑿滃崟', + initVal: card.linkmenu || [], + required: true, + extendName: 'MenuNo', + options: menulist + }, + { + type: 'textarea', + key: 'url', + label: '椤甸潰鍦板潃', + initVal: card.url || '', + required: true + }, + { + type: 'radio', + key: 'sysInterface', + label: '绯荤粺鎺ュ彛', + initVal: card.sysInterface || 'false', + required: true, + options: [{ + value: 'true', + text: '鏄�' + }, { + value: 'false', + text: '鍚�' + }] + }, + { + type: 'text', + key: 'outerFunc', + label: '澶栭儴鍑芥暟', + initVal: card.outerFunc || '', + required: false, + }, + { + type: 'textarea', + key: 'interface', + label: '娴嬭瘯鍦板潃', + initVal: card.sysInterface === 'true' ? (window.GLOB.mainSystemApi || '') : (card.interface || ''), + required: true, + readonly: card.sysInterface === 'true' + }, + { + type: 'textarea', + key: 'proInterface', + label: '姝e紡鍦板潃', + initVal: card.proInterface || '', + tooltip: '姝e紡绯荤粺鎵�浣跨敤鐨勬帴鍙e湴鍧�銆�', + required: false + }, + { + type: 'radio', + key: 'method', + label: '璇锋眰鏂瑰紡', + initVal: card.method || 'post', + required: true, + options: [{ + value: 'get', + text: 'GET' + }, { + value: 'post', + text: 'POST' + }] + }, + { + type: 'radio', + key: 'cross', + label: '璺ㄥ煙璇锋眰', + initVal: card.cross || 'true', + tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�', + required: false, + options: [{ + value: 'true', + text: '鏀寔' + }, { + value: 'false', + text: '涓嶆敮鎸�' + }] + }, + { + type: 'radio', + key: 'callbackType', + label: '鍥炶皟鏂瑰紡', + initVal: card.callbackType || (card.callbackFunc ? 'func' : 'none'), + tooltip: '浣跨敤鍚庡彴鑴氭湰鎵ц鏃讹紝闇�瑕侀厤鍚堣鍒掍换鍔°��', + required: true, + options: [{ + value: 'script', + text: '鑷畾涔夎剼鏈�' + }, { + value: 'default', + text: '鍚庡彴鑴氭湰' + }, { + value: 'func', + text: '鍥炶皟鍑芥暟' + }, { + value: 'none', + text: '鏃�' + }] + }, + { + type: 'text', + key: 'cbTable', + label: '鍥炶皟琛ㄥ悕', + initVal: card.cbTable || '', + required: true + }, + { + type: 'text', + key: 'callbackFunc', + label: '鍥炶皟鍑芥暟', + initVal: card.callbackFunc || '', + required: true + }, + { + type: 'select', + key: 'Ot', + label: '琛岃缃�', + initVal: card.Ot || (card.sqlType === 'insert' ? 'notRequired' : 'requiredSgl'), + required: true, + options: [] + }, + { + type: 'select', + key: 'execSuccess', + label: '鎴愬姛鍚�', + initVal: card.execSuccess || 'grid', + tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻��' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂拌〃鏍笺�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆�', + required: true, + options: [{ + value: 'never', + text: '涓嶅埛鏂�' + }, { + value: 'line', + text: '鍒锋柊琛�' + }, { + value: 'grid', + text: '鍒锋柊褰撳墠缁勪欢' + }, { + value: 'mainline', + text: '鍒锋柊涓婄骇缁勪欢 - 琛�' + }, + ...refresh] + }, + { + type: 'select', + key: 'execError', + label: '澶辫触鍚�', + initVal: card.execError || 'never', + tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻��' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂拌〃鏍硷紝娉細涓婄骇缁勪欢鍦ㄦ暟鎹簮涓坊鍔犮��', + required: true, + options: [{ + value: 'never', + text: '涓嶅埛鏂�' + }, { + value: 'line', + text: '鍒锋柊琛�' + }, { + value: 'grid', + text: '鍒锋柊褰撳墠缁勪欢' + }, { + value: 'mainline', + text: '鍒锋柊涓婄骇缁勪欢 - 琛�' + }, + ...refresh] + }, + { + type: 'select', + key: 'popClose', + label: '鍏抽棴鍚�', + initVal: card.popClose || 'never', + required: true, + options: [{ + value: 'never', + text: '涓嶅埛鏂�' + }, { + value: 'grid', + text: '鍒锋柊褰撳墠缁勪欢' + }, { + value: 'mainline', + text: '鍒锋柊涓婄骇缁勪欢 - 琛�' + }] + }, + { + type: 'radio', + key: 'resetPageIndex', + label: '鍒锋柊鏃�', + initVal: card.resetPageIndex || 'true', + required: false, + options: [{ + value: 'true', + text: '閲嶇疆椤电爜' + }, { + value: 'false', + text: '涓嶉噸缃�' + }] + }, + { + type: 'icon', + key: 'icon', + label: '鍥炬爣', + initVal: card.icon, + required: false, + options: [] + }, + { + type: 'select', + key: 'class', + label: '棰滆壊', + initVal: card.class, + required: false, + options: btnClasses + }, + { + type: 'radio', + key: 'joint', + label: '鎷兼帴鍙傛暟', + initVal: card.joint || 'true', + required: false, + options: [{ + value: 'true', + text: '鏄�' + }, { + value: 'false', + text: '鍚�' + }] + }, + { + type: 'text', + key: 'sheet', + label: '琛ㄥ悕', + initVal: card.sheet || setting.tableName || '', + required: true + }, + { + type: 'radio', + key: 'pagination', + label: '鍒嗛〉', + initVal: card.pagination || 'false', + required: false, + options: [{ + value: 'true', + text: '鏄�' + }, { + value: 'false', + text: '鍚�' + }] + }, + { + type: 'radio', + key: 'search', + label: '鎼滅储鏉′欢', + initVal: card.search || 'false', + required: false, + options: [{ + value: 'true', + text: '蹇呭~' + }, { + value: 'false', + text: '闈炲繀濉�' + }] + }, + { + type: 'cascader', + key: 'syncComponent', + label: '鍒锋柊缁勪欢', + initVal: card.syncComponent || [], + tooltip: '鎵ц鎴愬姛鍚庯紙鎴栧脊绐楁爣绛惧叧闂椂锛夛紝闇�瑕佸悓姝ュ埛鏂扮殑缁勪欢銆傛敞锛氶�夋嫨褰撳墠缁勪欢鐨勪笂绾х粍浠舵棤鏁堬紝鍒锋柊涓婄骇缁勪欢璇烽�夋嫨鎴愬姛鍚庘�滃埛鏂颁笂绾х粍浠� - 琛屸�濄��', + required: false, + options: modules + }, + { + type: 'cascader', + key: 'refreshTab', + label: '鍒锋柊鑿滃崟', + initVal: card.refreshTab || [], + tooltip: '鎵ц鎴愬姛鍚庯紙鎴栧姛鑳芥寜閽腑鏍囩鍏抽棴绫诲瀷锛夛紝闇�瑕佸悓姝ュ埛鏂扮殑鑿滃崟', + required: false, + forbid: viewType === 'popview', + options: menulist + }, + { + type: 'cascader', + key: 'openmenu', + label: '鎵撳紑鑿滃崟', + tooltip: '鎵ц鎴愬姛鍚庨渶瑕佹墦寮�鐨勮彍鍗曘��', + initVal: card.openmenu || [], + extendName: 'MenuNo', + required: false, + allowClear: true, + options: menulist, + forbid: viewType === 'popview' + }, + { + type: 'text', + key: 'output', + label: '杩斿洖鍊�', + tooltip: '鎵ц鎴愬姛鍚庣殑杩斿洖鍊笺�傜郴缁熷嚱鏁板彲鎸囧畾杩斿洖鐨勫彉閲忥紙浠绗﹀紑澶达紝杩斿洖id鏃跺彲浣跨敤@id@锛夛紱鑷畾涔夊嚱鏁板彲鎸囧畾杩斿洖瀛楁锛堝id锛夈��', + initVal: card.output || '', + required: false, + forbid: viewType === 'popview' + }, + { + type: 'text', + key: 'tipTitle', + label: '纭鎻愮ず', + initVal: card.tipTitle || '', + tooltip: '娉細寮圭獥锛堣〃鍗曪級鍦ㄦ樉绀轰负鏄惁妗嗘椂鏈夋晥銆�', + required: false + }, + { + type: 'radio', + key: 'display', + label: '鏄剧ず鏂瑰紡', + initVal: card.display || 'modal', + required: true, + options: [{ + value: 'modal', + text: '妯℃�佹' + }, { + value: 'drawer', + text: '鎶藉眽' + }] + }, + { + type: 'number', + key: 'ratio', + min: 1, + max: 3000, + precision: 0, + label: '姣斾緥', + initVal: card.ratio || 85, + tooltip: '妯℃�佹鎴栨娊灞夌殑瀹藉害锛屽皬浜�100涓虹獥鍙e搴︼紙鎴栭珮搴︼級鐧惧垎姣旓紝澶т簬100涓哄儚绱犲�笺��', + required: true + }, + { + type: 'radio', + key: 'placement', + label: '鎶藉眽鏂瑰悜', + initVal: card.placement || 'right', + required: false, + options: [{ + value: 'right', + text: '鍙充晶' + }, { + value: 'left', + text: '宸︿晶' + }, { + value: 'top', + text: '涓婁晶' + }, { + value: 'bottom', + text: '涓嬩晶' + }] + }, + { + type: 'radio', + key: 'clickouter', + label: '鐐瑰嚮钂欏眰', + initVal: card.clickouter || 'unclose', + required: false, + options: [{ + value: 'unclose', + text: '涓嶅叧闂�' + }, { + value: 'close', + text: '鍏抽棴' + }] + }, + { + type: 'radio', + key: 'control', + label: '鎸夐挳鎺у埗', + initVal: card.control || (card.controlField ? 'disabled' : ''), + tooltip: '褰撻�夋嫨绂佺敤鎴栭殣钘忥紝涓斿瓧娈靛�间笌鎺у埗鍊肩浉绛夋椂锛屾寜閽細闅愯棌鎴栫鐢ㄣ�傚綋閫夋嫨涓婄骇锛屼富琛ㄥ瓧娈靛�间笌鎺у埗鍊肩浉绛夋垨涓昏〃瀛楁鍊间笉瀛樺湪鏃讹紝鎸夐挳浼氶殣钘忋�傛敞锛氬涓�肩敤閫楀彿鍒嗛殧', + required: false, + options: [{ + value: '', + text: '鏃�' + }, { + value: 'disabled', + text: '绂佺敤' + }, { + value: 'hidden', + text: '闅愯棌' + }, { + value: 'parent', + text: '涓婄骇' + }] + }, + { + type: 'select', + key: 'controlField', + label: '鎺у埗瀛楁', + initVal: card.controlField || '', + required: true, + allowClear: true, + options: columns + }, + { + type: 'text', + key: 'controlVal', + label: '鎺у埗鍊�', + initVal: card.controlVal || '', + required: false + }, + { + type: 'text', + key: 'reason', + label: '绂佺敤鍘熷洜', + initVal: card.reason || '', + required: false + }, + { + type: 'radio', + key: 'hidden', + label: '闅愯棌', + initVal: card.hidden || 'false', + tooltip: '闅愯棌鍚庢寜閽湪椤甸潰涓笉鏄剧ず锛屼笖涓嶅弬涓庢潈闄愬垎閰嶃��', + required: false, + options: [{ + value: 'false', + text: '鍚�' + }, { + value: 'true', + text: '鏄�' + }] + }, + { + type: 'radio', + key: 'progress', + label: '杩涘害鎻愮ず', + initVal: card.progress || 'number', + required: false, + options: [{ + value: 'number', + text: '鍓╀綑鏁�' + }, { + value: 'progressbar', + text: '杩涘害鏉�' + }] + } + ] + + return forms +} diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index cbddcc2..4a6ebd9 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -4,7 +4,7 @@ import { Modal, notification, Button } from 'antd' import Utils, { FuncUtils } from '@/utils/utils.js' -import { getActionForm } from './formconfig' +import { getActionForm, getBaseTableActionForm } from './formconfig' import asyncSpinComponent from '@/utils/asyncSpinComponent' import MKEmitter from '@/utils/events.js' @@ -169,6 +169,15 @@ functip = '' } + if (config.subtype === 'basetable') { + this.setState({ + visible: true, + card: card, + formlist: getBaseTableActionForm(card, functip, config, usefulFields) + }) + return + } + let supId = '' if (config.setting && config.setting.supModule) { let pid = config.setting.supModule[config.setting.supModule.length - 1] @@ -218,7 +227,7 @@ */ handleSubmit = () => { const { config } = this.props - let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#666666' } + let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#666666', default: '#333333' } let _actionlist = fromJS(this.state.actionlist).toJS() this.actionFormRef.handleConfirm().then(btn => { @@ -231,14 +240,23 @@ } if (item.uuid === btn.uuid) { - btn.style = item.style || {} - if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) { - if (btn.show === 'icon') { - btn.style.color = color[btn.class] - btn.style.backgroundColor = 'transparent' + if (config.subtype === 'basetable') { + let _c = btn.class.replace('border-', '') + if (btn.class.indexOf('border') > -1 || btn.class === 'default') { + btn.style = {color: color[_c], backgroundColor: '#fff', borderColor: color[_c]} } else { - btn.style.color = '#ffffff' - btn.style.backgroundColor = color[btn.class] + btn.style = {color: '#fff', backgroundColor: color[_c], borderColor: color[_c]} + } + } else { + btn.style = item.style || {} + if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) { + if (btn.show === 'icon') { + btn.style.color = color[btn.class] + btn.style.backgroundColor = 'transparent' + } else { + btn.style.color = '#ffffff' + btn.style.backgroundColor = color[btn.class] + } } } return btn @@ -491,7 +509,7 @@ <div className={'model-menu-action-list length' + actionlist.length}> <DragElement list={actionlist} - type={appType === 'mob' ? config.subtype : ''} + type={appType === 'mob' || config.subtype === 'basetable' ? config.subtype : ''} handleList={this.handleList} dropButton={this.dropButton} handleMenu={this.handleAction} diff --git a/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx b/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx index 7630d36..8938741 100644 --- a/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx +++ b/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx @@ -3,7 +3,6 @@ * @param {object} card // 鎼滅储鏉′欢瀵硅薄 */ export function getColumnForm (card, fields = []) { - let appType = sessionStorage.getItem('appType') let roleList = sessionStorage.getItem('sysRoles') if (roleList) { try { @@ -15,13 +14,7 @@ roleList = [] } - let menulist = [] - - if (appType === 'pc') { - menulist = sessionStorage.getItem('appMenus') - } else if (!appType) { - menulist = sessionStorage.getItem('fstMenuList') - } + let menulist = sessionStorage.getItem('fstMenuList') if (menulist) { try { @@ -69,10 +62,6 @@ }) } - if (!card.linkurl && (!card.linkmenu || card.linkmenu.length === 0)) { - card.perspective = '' - } - return [ { type: 'text', @@ -90,20 +79,19 @@ options: options }, { - type: 'select', + type: card.isSub ? 'select' : 'text', key: 'field', label: '瀛楁', initVal: card.field, required: true, - options: fields + options: card.isSub ? fields : [] }, { - type: 'select', + type: 'text', key: 'nameField', label: '鍚嶇О瀛楁', initVal: card.nameField || '', - required: false, - options: [{uuid: 'empty', field: '', label: '绌�'}, ...fields] + required: false }, { type: 'number', @@ -335,24 +323,21 @@ value: 'linkurl', text: '閾炬帴' }], - forbidden: appType === 'mob' }, { - type: appType === 'pc' ? 'select' : 'cascader', + type: 'cascader', key: 'linkmenu', label: '鑿滃崟', - initVal: card.linkmenu || (appType === 'pc' ? '' : []), + initVal: card.linkmenu || [], required: true, - options: menulist, - forbidden: appType === 'mob' + options: menulist }, { type: 'textarea', key: 'linkurl', label: '閾炬帴鍦板潃', initVal: card.linkurl || '', - required: true, - forbidden: appType === 'mob' + required: true }, { type: 'multiselect', @@ -361,19 +346,6 @@ initVal: card.linkfields || [], required: false, options: fields, - forbidden: appType === 'mob' - }, - { - type: 'radio', - key: 'open', - label: '鎵撳紑鏂瑰紡', - initVal: card.open || 'blank', - required: false, - forbid: appType !== 'pc', - options: [ - { value: 'blank', text: '鏂扮獥鍙�' }, - { value: 'self', text: '褰撳墠绐楀彛' } - ] }, { type: 'radio', @@ -402,8 +374,7 @@ label: '榛戝悕鍗�', initVal: card.blacklist || [], required: false, - options: roleList, - forbidden: appType === 'mob' + options: roleList } ] } diff --git a/src/menu/components/table/base-table/columns/index.jsx b/src/menu/components/table/base-table/columns/index.jsx index a928fa8..5292b18 100644 --- a/src/menu/components/table/base-table/columns/index.jsx +++ b/src/menu/components/table/base-table/columns/index.jsx @@ -15,7 +15,6 @@ const EditColumn = asyncIconComponent(() => import('./editColumn')) const MarkColumn = asyncIconComponent(() => import('@/menu/components/share/markcomponent')) const CardCellComponent = asyncComponent(() => import('@/menu/components/card/cardcellcomponent')) -const MobPagination = asyncIconComponent(() => import('@/menu/components/share/mobPagination')) const PasteComponent = asyncIconComponent(() => import('@/components/paste')) class HeaderCol extends Component { @@ -138,8 +137,7 @@ return !is(fromJS(column), fromJS(nextProps.column)) || !is(fromJS(config.columns), fromJS(nextProps.config.columns)) || - !is(fromJS(config.action), fromJS(nextProps.config.action)) || - !is(fromJS(config.search), fromJS(nextProps.config.search)) + !is(fromJS(config.action), fromJS(nextProps.config.action)) } render() { @@ -192,7 +190,6 @@ } state = { - appType: sessionStorage.getItem('appType'), tableId: '', data: [{uuid: Utils.getuuid()}], refresh: false, // 寮哄埗鍒锋柊 @@ -252,7 +249,6 @@ return !is(fromJS(this.state), fromJS(nextState)) || !is(fromJS(config.wrap), fromJS(nextProps.config.wrap)) || - !is(fromJS(config.search), fromJS(nextProps.config.search)) || !is(fromJS(config.action), fromJS(nextProps.config.action)) || config.setting.laypage !== nextProps.config.setting.laypage } @@ -404,7 +400,6 @@ } deleteCol = (col) => { - const { appType } = this.state let _columns = fromJS(this.state.columns).toJS() _columns = this.loopDelCol(_columns, col) @@ -415,11 +410,11 @@ this.props.updatecolumn({...this.props.config, cols: _columns}) }) - if (col.type !== 'action' || appType === 'mob') return + if (col.type !== 'action') return let uuids = [] col.elements && col.elements.forEach(c => { - if (appType === 'pc' && c.OpenType !== 'popview') return + if (c.OpenType !== 'popview') return uuids.push(c.uuid) }) @@ -509,7 +504,7 @@ render() { const { config } = this.props - const { fields, card, lineMarks, tableId, appType } = this.state + const { fields, card, lineMarks, tableId } = this.state const components = { header: { cell: DragableHeaderCol @@ -537,16 +532,15 @@ dataSource={this.state.data} rowSelection={config.wrap.tableType ? { type: 'radio' } : null} columns={columns} - pagination={appType !== 'mob' ? { + pagination={{ current: 1, pageSize: 10, pageSizeOptions: ['10', '25', '50', '100', '500', '1000'], showSizeChanger: true, total: 58, showTotal: (total, range) => `${range[0]}-${range[1]} 鍏� ${total} 鏉 - } : false} + }} /> - {appType === 'mob' && config.setting.laypage !== 'fasle' ? <MobPagination /> : null} </DndProvider> <EditColumn column={card} fields={fields} submitCol={this.submitCol} cancelCol={this.cancelCol}/> </div> diff --git a/src/menu/components/table/base-table/index.jsx b/src/menu/components/table/base-table/index.jsx index 4979704..9620ec9 100644 --- a/src/menu/components/table/base-table/index.jsx +++ b/src/menu/components/table/base-table/index.jsx @@ -38,8 +38,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: true, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: true, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� diff --git a/src/menu/components/table/base-table/index.scss b/src/menu/components/table/base-table/index.scss index a58b3c1..a5c6fd6 100644 --- a/src/menu/components/table/base-table/index.scss +++ b/src/menu/components/table/base-table/index.scss @@ -30,24 +30,6 @@ } } } - .model-table-search-list.length0 { - min-height: 10px; - border-bottom: 0; - >.quickly-add { - right: unset; - left: -8px; - bottom: 0; - } - >.ant-row { - display: none; - } - >.ant-switch { - display: none; - } - } - .model-table-search-list.length0 + .length0 { - margin-top: -25px; - } .anticon-tool { position: absolute; z-index: 2; diff --git a/src/menu/components/table/base-table/options.jsx b/src/menu/components/table/base-table/options.jsx index 6bf71d0..3af1d39 100644 --- a/src/menu/components/table/base-table/options.jsx +++ b/src/menu/components/table/base-table/options.jsx @@ -2,58 +2,7 @@ * @description Wrap琛ㄥ崟閰嶇疆淇℃伅 */ export default function (wrap, action = [], columns = []) { - let roleList = sessionStorage.getItem('sysRoles') - let appType = sessionStorage.getItem('appType') - - if (roleList) { - try { - roleList = JSON.parse(roleList) - } catch (e) { - roleList = [] - } - } else { - roleList = [] - } - const wrapForm = [ - // { - // type: 'text', - // field: 'title', - // label: '鏍囬', - // initval: wrap.title || '', - // required: false - // }, - // { - // type: 'text', - // field: 'name', - // label: '缁勪欢鍚嶇О', - // initval: wrap.name || '', - // tooltip: '鐢ㄤ簬缁勪欢闂寸殑鍖哄垎銆�', - // required: true - // }, - // { - // type: 'number', - // field: 'width', - // label: '瀹藉害', - // initval: wrap.width || 24, - // tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', - // min: 1, - // max: 24, - // precision: 0, - // required: true - // }, - { - type: 'number', - field: 'height', - label: '琛ㄦ牸楂樺害', - initval: wrap.height || '', - tooltip: '琛ㄦ牸楂樺害锛岀┖鍊兼椂楂樺害鑷�傚簲銆�', - min: 10, - max: 3000, - precision: 0, - required: false, - forbid: appType === 'mob' - }, { type: 'radio', field: 'tableType', @@ -82,26 +31,14 @@ }, { type: 'radio', - field: 'tableHeader', - label: '琛ㄥご', - initval: wrap.tableHeader || 'show', - required: false, - options: [ - {value: 'show', label: '鏄剧ず'}, - {value: 'hidden', label: '闅愯棌'}, - ] - }, - { - type: 'radio', - field: 'collapse', - label: '鍙敹璧�', - initval: wrap.collapse || 'false', + field: 'actionfixed', + label: '鎸夐挳鍥哄畾', + initval: wrap.actionfixed || 'false', required: false, options: [ {value: 'true', label: '鏄�'}, {value: 'false', label: '鍚�'}, - ], - forbid: appType === 'mob' || appType === 'pc' + ] }, { type: 'radio', @@ -119,17 +56,6 @@ }, { type: 'radio', - field: 'mode', - label: '妯″紡', - initval: wrap.mode || 'default', - required: false, - options: [ - {value: 'default', label: '甯歌'}, - {value: 'ghost', label: '閫忔槑'}, - ] - }, - { - type: 'radio', field: 'selected', label: '棣栬閫変腑', initval: wrap.selected || 'false', @@ -139,6 +65,18 @@ {value: 'false', label: '鏃�'}, {value: 'init', label: '鍒濆鍖�'}, {value: 'always', label: '鏁版嵁鍔犺浇'}, + ] + }, + { + type: 'radio', + field: 'tableMode', + label: '鍔犺浇妯″紡', + initval: wrap.tableMode || 'compatible', + tooltip: '浣跨敤鎬ラ�熸ā寮忔椂锛岃〃鏍间腑鐨勬爣璁般�佸弻鍑讳簨浠躲�佹牸寮忓寲銆佽鍚堝苟銆佸墠缂�銆佸悗缂�銆佸瓧娈甸�忚绛夋晥鏋滃皢鏃犳晥锛屼笖鏁版嵁閮戒細浠ユ枃鏈牸寮忔樉绀恒��', + required: false, + options: [ + {value: 'compatible', label: '鍏煎'}, + {value: 'fast', label: '鎬ラ��'}, ] }, { @@ -162,6 +100,17 @@ required: false }, { + type: 'number', + field: 'height', + label: '琛ㄦ牸楂樺害', + initval: wrap.height || '', + tooltip: '琛ㄦ牸楂樺害锛岀┖鍊兼椂楂樺害鑷�傚簲銆�', + min: 10, + max: 3000, + precision: 0, + required: false, + }, + { type: 'select', field: 'doubleClick', label: '鍙屽嚮浜嬩欢', @@ -170,7 +119,6 @@ required: false, allowClear: true, options: action.map(item => ({value: item.uuid, label: item.label})), - forbid: appType === 'mob' }, { type: 'select', @@ -192,52 +140,7 @@ initval: wrap.controlVal || '', tooltip: '褰撳瓧娈靛�间笌绂佺敤鍊肩浉绛夋椂锛岃鏁版嵁浼氱鐢紝澶氫釜鍊肩敤閫楀彿鍒嗛殧銆�', required: false - }, - { - type: 'radio', - field: 'empty', - label: '绌哄�奸殣钘�', - initval: wrap.empty || 'show', - tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岄殣钘忚缁勪欢銆�', - required: false, - options: [ - {value: 'show', label: '鍚�'}, - {value: 'hidden', label: '鏄�'}, - ], - }, - { - type: 'radio', - field: 'supKey', - label: '涓婄骇涓婚敭', - initval: wrap.supKey || 'true', - tooltip: '褰撹缃笂绾х粍浠舵椂锛屼笂绾т富閿�间负绌烘槸鍚﹁繘琛屾暟鎹煡璇€��', - required: false, - options: [ - {value: 'true', label: '楠岃瘉'}, - {value: 'false', label: '蹇界暐'}, - ], - }, - { - 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: '榛戝悕鍗�', - initval: wrap.blacklist || [], - required: false, - options: roleList, - forbid: !!appType - }, + } ] return wrapForm diff --git a/src/menu/components/table/edit-table/columns/index.jsx b/src/menu/components/table/edit-table/columns/index.jsx index 09ab9f2..e7a7c56 100644 --- a/src/menu/components/table/edit-table/columns/index.jsx +++ b/src/menu/components/table/edit-table/columns/index.jsx @@ -128,8 +128,7 @@ return !is(fromJS(column), fromJS(nextProps.column)) || !is(fromJS(config.columns), fromJS(nextProps.config.columns)) || - !is(fromJS(config.action), fromJS(nextProps.config.action)) || - !is(fromJS(config.search), fromJS(nextProps.config.search)) + !is(fromJS(config.action), fromJS(nextProps.config.action)) } render() { @@ -243,7 +242,6 @@ return !is(fromJS(this.state), fromJS(nextState)) || !is(fromJS(config.wrap), fromJS(nextProps.config.wrap)) || !is(fromJS(config.submit), fromJS(nextProps.config.submit)) || - !is(fromJS(config.search), fromJS(nextProps.config.search)) || !is(fromJS(config.action), fromJS(nextProps.config.action)) || config.setting.laypage !== nextProps.config.setting.laypage } diff --git a/src/menu/components/table/edit-table/index.jsx b/src/menu/components/table/edit-table/index.jsx index 029fcd2..d95042e 100644 --- a/src/menu/components/table/edit-table/index.jsx +++ b/src/menu/components/table/edit-table/index.jsx @@ -43,8 +43,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: true, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -370,7 +368,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/table/normal-table/columns/index.jsx b/src/menu/components/table/normal-table/columns/index.jsx index f2ef11f..d6097f3 100644 --- a/src/menu/components/table/normal-table/columns/index.jsx +++ b/src/menu/components/table/normal-table/columns/index.jsx @@ -12,7 +12,7 @@ import './index.scss' const { confirm } = Modal -const { Paragraph } = Typography +const { Paragraph } = Typography const EditColumn = asyncIconComponent(() => import('./editColumn')) const MarkColumn = asyncIconComponent(() => import('@/menu/components/share/markcomponent')) const CardCellComponent = asyncComponent(() => import('@/menu/components/card/cardcellcomponent')) @@ -144,8 +144,7 @@ return !is(fromJS(column), fromJS(nextProps.column)) || !is(fromJS(config.columns), fromJS(nextProps.config.columns)) || - !is(fromJS(config.action), fromJS(nextProps.config.action)) || - !is(fromJS(config.search), fromJS(nextProps.config.search)) + !is(fromJS(config.action), fromJS(nextProps.config.action)) } render() { @@ -258,7 +257,6 @@ return !is(fromJS(this.state), fromJS(nextState)) || !is(fromJS(config.wrap), fromJS(nextProps.config.wrap)) || - !is(fromJS(config.search), fromJS(nextProps.config.search)) || !is(fromJS(config.action), fromJS(nextProps.config.action)) || config.setting.laypage !== nextProps.config.setting.laypage } diff --git a/src/menu/components/table/normal-table/index.jsx b/src/menu/components/table/normal-table/index.jsx index 4092f00..4b65160 100644 --- a/src/menu/components/table/normal-table/index.jsx +++ b/src/menu/components/table/normal-table/index.jsx @@ -45,8 +45,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: true, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: true, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -424,7 +422,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/components/tabs/antv-tabs/dragabletabs.jsx b/src/menu/components/tabs/antv-tabs/dragabletabs.jsx index fbb97de..71b5bdb 100644 --- a/src/menu/components/tabs/antv-tabs/dragabletabs.jsx +++ b/src/menu/components/tabs/antv-tabs/dragabletabs.jsx @@ -62,6 +62,8 @@ const dragIndex = newOrder.indexOf(dragKey) const hoverIndex = newOrder.indexOf(hoverKey) + if (dragIndex === -1) return + newOrder.splice(dragIndex, 1) newOrder.splice(hoverIndex, 0, dragKey) diff --git a/src/menu/components/tabs/antv-tabs/index.jsx b/src/menu/components/tabs/antv-tabs/index.jsx index a272815..80cd4c0 100644 --- a/src/menu/components/tabs/antv-tabs/index.jsx +++ b/src/menu/components/tabs/antv-tabs/index.jsx @@ -44,17 +44,15 @@ let _tabs = { uuid: tabs.uuid, type: tabs.type, - tabId: tabs.tabId || '', - parentId: tabs.parentId || '', subtype: tabs.subtype, width: 24, name: tabs.name, setting: {width: 24, position: 'top', tabStyle: 'line', name: tabs.name}, style: { marginLeft: '8px', marginRight: '8px', marginTop: '8px', marginBottom: '8px' }, subtabs: [ - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 1', icon: '', components: [] }, - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 2', icon: '', components: [] }, - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 3', icon: '', components: [] } + { uuid: Utils.getuuid(), label: 'Tab 1', icon: '', components: [] }, + { uuid: Utils.getuuid(), label: 'Tab 2', icon: '', components: [] }, + { uuid: Utils.getuuid(), label: 'Tab 3', icon: '', components: [] } ] } this.setState({ @@ -74,12 +72,6 @@ return !is(fromJS(this.state), fromJS(nextState)) } - componentDidMount () { - MKEmitter.addListener('submitSearch', this.getSearch) - MKEmitter.addListener('tabsChange', this.handleTabsChange) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - /** * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊锛屾竻闄ゅ揩鎹烽敭璁剧疆 */ @@ -87,42 +79,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitSearch', this.getSearch) - MKEmitter.removeListener('tabsChange', this.handleTabsChange) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { tabs } = this.state - - if (tabs.subtabs.findIndex(tab => tab.uuid === parentId) === -1) return - - let _tabs = fromJS(tabs).toJS() - let _tabs_ = fromJS(tabs).toJS() - - let components = [] - _tabs.subtabs.forEach(tab => { - if (tab.uuid === parentId) { - components = tab.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - tab.components = [] - } - }) - - _tabs_.subtabs = _tabs_.subtabs.map(tab => { - if (tab.uuid === parentId) { - tab.components = components - } - return tab - }) - - this.setState({tabs: _tabs}, () => { - this.updateComponent(_tabs_) - }) } changeStyle = () => { @@ -141,12 +97,18 @@ this.props.updateConfig(_card) } - handleTabsChange = (parentId) => { - const { tabs } = this.state - - if (parentId === tabs.parentId) { - MKEmitter.emit('tabsChange', tabs.uuid) - } + getSubIds = (components, ids) => { + components.forEach(item => { + if (item.type === 'tabs') { + item.subtabs.forEach(tab => { + this.getSubIds(tab.components, ids) + }) + } else if (item.type === 'group') { + this.getSubIds(item.components, ids) + } else { + ids.push(item.uuid) + } + }) } updateComponent = (component) => { @@ -154,7 +116,11 @@ if (!is(fromJS(tabs.setting), fromJS(component.setting)) || !is(fromJS(tabs.style), fromJS(component.style))) { // 娉ㄥ唽浜嬩欢-鏍囩鍙樺寲锛岄�氱煡鏍囩鍐呭厓绱� - MKEmitter.emit('tabsChange', tabs.uuid) + let ids = [] + tabs.subtabs.forEach(tab => { + this.getSubIds(tab.components, ids) + }) + MKEmitter.emit('tabsChange', ids.join(',')) } component.width = component.setting.width @@ -236,59 +202,12 @@ this.props.updateConfig(tabs) } - getSearch = (config) => { - const { tabs } = this.state - - if (tabs.uuid !== config.uuid) return - - let _tabs = fromJS(tabs).toJS() - - _tabs.subtabs = _tabs.subtabs.map(t => { - if (t.uuid === config.tabId) { - t.search = config.search - } - return t - }) - - this.setState({ - tabs: _tabs - }) - this.props.updateConfig(_tabs) - } - - setSearch = (tab) => { - const { tabs } = this.state - let card = { - uuid: tabs.uuid, - tabId: tab.uuid, - search: tab.search - } - - if (!card.search) { - card.search = { - floor: 1, - setting: { type: 'title', field: '', title: '', focus: 'true', btn: 'hidden' }, - groups: [], - fields: [] - } - } - MKEmitter.emit('changeSearch', card) - } - - clickComponent = (e) => { - if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { - e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.tabs) - } - } - getTabForms = (tab) => { const { tabs } = this.state if (!tab) { tab = { uuid: '', - parentId: tabs.uuid, label: '', icon: '', components: [] @@ -356,7 +275,7 @@ let _style = resetStyle(tabs.style) return ( - <div className={'menu-tabs-edit-box ' + (tabs.setting.display || '')} style={_style} onClick={this.clickComponent} id={tabs.uuid}> + <div className={'menu-tabs-edit-box ' + (tabs.setting.display || '')} style={_style} id={tabs.uuid}> <DraggableTabs defaultActiveKey={defaultActiveKey} tabBarStyle={{background: tabs.setting.backgroundColor || 'transparent'}} tabPosition={tabs.setting.position} type={tabs.setting.tabStyle} tabsMove={this.moveSwitch} onChange={this.onChange}> {tabs.subtabs.map(tab => ( <TabPane tab={ @@ -372,8 +291,6 @@ <span style={{textDecoration: tab.hide === 'true' ? 'line-through' : 'none'}}>{tab.icon ? <MkIcon type={tab.icon} /> : null}{tab.label}</span> </Popover> } key={tab.uuid} style={{backgroundColor: tab.backgroundColor || 'transparent'}}> - {/* {appType === 'mob' && tabs.setting.position === 'top' && tabs.setting.display === 'inline-block' && tab.hasSearch === 'icon' ? - <SearchOutlined className="search-icon" onDoubleClick={() => this.setSearch(tab)}/> : null} */} <TabComponents config={tab} handleList={this.updateTabComponent} deleteCard={this.deleteCard} /> </TabPane> ))} diff --git a/src/menu/components/tabs/paste/index.jsx b/src/menu/components/tabs/paste/index.jsx index 0f6fb9a..5fadf9c 100644 --- a/src/menu/components/tabs/paste/index.jsx +++ b/src/menu/components/tabs/paste/index.jsx @@ -24,10 +24,7 @@ this.setState({visible: true}) } - resetconfig = (item, Tab, copyBtns, uuids = {}, floor) => { - item.tabId = Tab.uuid - item.parentId = Tab.parentId - + resetconfig = (item, copyBtns, uuids = {}) => { if (item.type === 'tabs') { uuids[item.uuid] = MenuUtils.getuuid() item.uuid = uuids[item.uuid] @@ -37,14 +34,9 @@ item.subtabs.forEach(tab => { uuids[tab.uuid] = MenuUtils.getuuid() tab.uuid = uuids[tab.uuid] - tab.parentId = item.uuid - - if (floor >= 3) { - tab.components = tab.components.filter(cell => cell.type !== 'tabs') - } tab.components = tab.components.map(cell => { - cell = this.resetconfig(cell, tab, copyBtns, uuids, floor + 1) + cell = this.resetconfig(cell, copyBtns, uuids) return cell }) }) @@ -55,9 +47,6 @@ item.name = item.setting.name item.components = item.components.map(cell => { - cell.tabId = Tab.uuid - cell.parentId = Tab.parentId - cell = MenuUtils.resetComponentConfig(cell, copyBtns, uuids) return cell @@ -100,9 +89,8 @@ } let copyBtns = new Map() - let floor = MenuUtils.getFloor(Tab.parentId) - res = this.resetconfig(res, Tab, copyBtns, {}, floor) + res = this.resetconfig(res, copyBtns, {}) delete res.copyType diff --git a/src/menu/components/tabs/tabcomponents/index.jsx b/src/menu/components/tabs/tabcomponents/index.jsx index d6bf416..ccecb5f 100644 --- a/src/menu/components/tabs/tabcomponents/index.jsx +++ b/src/menu/components/tabs/tabcomponents/index.jsx @@ -84,16 +84,6 @@ }) return } - } else if (item.component === 'tabs') { - let floor = MenuUtils.getFloor(config.parentId) - if (floor >= 3 ) { - notification.warning({ - top: 92, - message: '鏍囩椤垫渶澶氫负涓夐噸缁撴瀯锛�', - duration: 5 - }) - return - } } let name = '' @@ -129,8 +119,6 @@ let newcard = { uuid: Utils.getuuid(), - tabId: config.uuid, - parentId: config.parentId, type: item.component, subtype: item.subtype, config: item.config, diff --git a/src/menu/components/tabs/table-tabs/dragabletabs.jsx b/src/menu/components/tabs/table-tabs/dragabletabs.jsx index fbb97de..fe563ff 100644 --- a/src/menu/components/tabs/table-tabs/dragabletabs.jsx +++ b/src/menu/components/tabs/table-tabs/dragabletabs.jsx @@ -19,6 +19,9 @@ if (dragKey === hoverKey) { return; + } else if (!dragKey) { + monitor.getItem().added = true + props.tabsDrop(hoverKey) } props.moveTabNode(dragKey, hoverKey) @@ -35,10 +38,10 @@ } } -const WrapTabNode = DropTarget('DND_NODE', cardTarget, connect => ({ +const WrapTabNode = DropTarget('menu', cardTarget, connect => ({ connectDropTarget: connect.dropTarget(), }))( - DragSource('DND_NODE', cardSource, (connect, monitor) => ({ + DragSource('menu', cardSource, (connect, monitor) => ({ connectDragSource: connect.dragSource(), isDragging: monitor.isDragging(), }))(TabNode) @@ -62,6 +65,11 @@ const dragIndex = newOrder.indexOf(dragKey) const hoverIndex = newOrder.indexOf(hoverKey) + if (dragIndex === -1) { + this.props.tabsDrop(hoverKey, dragKey) + return + } + newOrder.splice(dragIndex, 1) newOrder.splice(hoverIndex, 0, dragKey) @@ -74,7 +82,7 @@ renderTabBar = (props, DefaultTabBar) => ( <DefaultTabBar {...props}> {node => ( - <WrapTabNode key={node.key} index={node.key} moveTabNode={this.moveTabNode}> + <WrapTabNode key={node.key} index={node.key} moveTabNode={this.moveTabNode} tabsDrop={this.props.tabsDrop}> {node} </WrapTabNode> )} @@ -82,10 +90,7 @@ ) shouldComponentUpdate (nextProps, nextState) { - return !is(fromJS(this.state), fromJS(nextState)) || - !is(fromJS(nextProps.children), fromJS(this.props.children)) || - nextProps.tabPosition !== this.props.tabPosition || - nextProps.type !== this.props.type + return !is(fromJS(this.state), fromJS(nextState)) || !is(fromJS(nextProps.children), fromJS(this.props.children)) } render() { diff --git a/src/menu/components/tabs/table-tabs/index.jsx b/src/menu/components/tabs/table-tabs/index.jsx index a272815..d5cfa87 100644 --- a/src/menu/components/tabs/table-tabs/index.jsx +++ b/src/menu/components/tabs/table-tabs/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' import { Tabs, Popover, Modal } from 'antd' -import { PlusOutlined, CloseOutlined, EditOutlined, DeleteOutlined, FontColorsOutlined, ToolOutlined } from '@ant-design/icons' +import { PlusOutlined, CloseOutlined, EditOutlined, DeleteOutlined, ToolOutlined } from '@ant-design/icons' import MKEmitter from '@/utils/events.js' import asyncComponent from '@/utils/asyncComponent' @@ -12,13 +12,13 @@ import { resetStyle } from '@/utils/utils-custom.js' import MenuUtils from '@/utils/utils-custom.js' import Utils from '@/utils/utils.js' -import { getTabForm, getTabsSetForm } from './options' +import { getTabForm } from './options' import './index.scss' const NormalForm = asyncIconComponent(() => import('@/components/normalform')) -const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) +// const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) const PasteComponent = asyncIconComponent(() => import('../paste')) -const TabComponents = asyncComponent(() => import('../tabcomponents')) +const BaseTable = asyncComponent(() => import('@/menu/components/table/base-table')) const { TabPane } = Tabs const { confirm } = Modal @@ -31,10 +31,8 @@ } state = { - appType: sessionStorage.getItem('appType'), tabs: null, - editab: null, - defaultActiveKey: '' + editab: null } UNSAFE_componentWillMount () { @@ -44,27 +42,21 @@ let _tabs = { uuid: tabs.uuid, type: tabs.type, - tabId: tabs.tabId || '', - parentId: tabs.parentId || '', subtype: tabs.subtype, width: 24, name: tabs.name, - setting: {width: 24, position: 'top', tabStyle: 'line', name: tabs.name}, + setting: {}, style: { marginLeft: '8px', marginRight: '8px', marginTop: '8px', marginBottom: '8px' }, subtabs: [ - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 1', icon: '', components: [] }, - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 2', icon: '', components: [] }, - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 3', icon: '', components: [] } + { uuid: Utils.getuuid(), label: '瀛愯〃1', icon: '', components: [{uuid: Utils.getuuid(), type: 'table', subtype: 'basetable', isNew: true}] }, ] } this.setState({ - defaultActiveKey: _tabs.subtabs[0].uuid, tabs: _tabs }) this.props.updateConfig(_tabs) } else { this.setState({ - defaultActiveKey: window.GLOB.TabsMap.get(tabs.uuid) || '', tabs: fromJS(tabs).toJS() }) } @@ -74,11 +66,7 @@ return !is(fromJS(this.state), fromJS(nextState)) } - componentDidMount () { - MKEmitter.addListener('submitSearch', this.getSearch) - MKEmitter.addListener('tabsChange', this.handleTabsChange) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } + componentDidMount () {} /** * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊锛屾竻闄ゅ揩鎹烽敭璁剧疆 @@ -87,42 +75,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitSearch', this.getSearch) - MKEmitter.removeListener('tabsChange', this.handleTabsChange) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { tabs } = this.state - - if (tabs.subtabs.findIndex(tab => tab.uuid === parentId) === -1) return - - let _tabs = fromJS(tabs).toJS() - let _tabs_ = fromJS(tabs).toJS() - - let components = [] - _tabs.subtabs.forEach(tab => { - if (tab.uuid === parentId) { - components = tab.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - tab.components = [] - } - }) - - _tabs_.subtabs = _tabs_.subtabs.map(tab => { - if (tab.uuid === parentId) { - tab.components = components - } - return tab - }) - - this.setState({tabs: _tabs}, () => { - this.updateComponent(_tabs_) - }) } changeStyle = () => { @@ -141,22 +93,7 @@ this.props.updateConfig(_card) } - handleTabsChange = (parentId) => { - const { tabs } = this.state - - if (parentId === tabs.parentId) { - MKEmitter.emit('tabsChange', tabs.uuid) - } - } - updateComponent = (component) => { - const { tabs } = this.state - - if (!is(fromJS(tabs.setting), fromJS(component.setting)) || !is(fromJS(tabs.style), fromJS(component.style))) { - // 娉ㄥ唽浜嬩欢-鏍囩鍙樺寲锛岄�氱煡鏍囩鍐呭厓绱� - MKEmitter.emit('tabsChange', tabs.uuid) - } - component.width = component.setting.width component.name = component.setting.name @@ -223,6 +160,25 @@ this.props.updateConfig(tabs) } + dropTable = (hoverKey, dragKey) => { + // let tabs = fromJS(this.state.tabs).toJS() + // let subtab = {} + // tabs.subtabs.forEach(item => { + // subtab[item.uuid] = item + // }) + + // tabs.subtabs = [] + + // order.forEach(item => { + // if (subtab[item]) { + // tabs.subtabs.push(subtab[item]) + // } + // }) + + // this.setState({tabs}) + // this.props.updateConfig(tabs) + } + insert = (item, tab) => { let tabs = fromJS(this.state.tabs).toJS() @@ -236,59 +192,12 @@ this.props.updateConfig(tabs) } - getSearch = (config) => { - const { tabs } = this.state - - if (tabs.uuid !== config.uuid) return - - let _tabs = fromJS(tabs).toJS() - - _tabs.subtabs = _tabs.subtabs.map(t => { - if (t.uuid === config.tabId) { - t.search = config.search - } - return t - }) - - this.setState({ - tabs: _tabs - }) - this.props.updateConfig(_tabs) - } - - setSearch = (tab) => { - const { tabs } = this.state - let card = { - uuid: tabs.uuid, - tabId: tab.uuid, - search: tab.search - } - - if (!card.search) { - card.search = { - floor: 1, - setting: { type: 'title', field: '', title: '', focus: 'true', btn: 'hidden' }, - groups: [], - fields: [] - } - } - MKEmitter.emit('changeSearch', card) - } - - clickComponent = (e) => { - if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { - e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.tabs) - } - } - getTabForms = (tab) => { const { tabs } = this.state if (!tab) { tab = { uuid: '', - parentId: tabs.uuid, label: '', icon: '', components: [] @@ -308,7 +217,6 @@ editab.label = res.label editab.icon = res.icon - // editab.hasSearch = res.hasSearch || '' editab.hide = res.hide || 'false' editab.backgroundColor = res.backgroundColor editab.controlVal = res.controlVal || '' @@ -336,28 +244,17 @@ this.props.updateConfig(tabs) } - getTabsForms = () => { - const { tabs } = this.state + updateConfig = () => { - return getTabsSetForm(tabs.setting, tabs.uuid) - } - - updateTabs = (res) => { - this.updateComponent({...this.state.tabs, setting: res}) - } - - onChange = (key) => { - const { tabs } = this.state - window.GLOB.TabsMap.set(tabs.uuid, key) } render() { - const { tabs, defaultActiveKey } = this.state + const { tabs } = this.state let _style = resetStyle(tabs.style) return ( - <div className={'menu-tabs-edit-box ' + (tabs.setting.display || '')} style={_style} onClick={this.clickComponent} id={tabs.uuid}> - <DraggableTabs defaultActiveKey={defaultActiveKey} tabBarStyle={{background: tabs.setting.backgroundColor || 'transparent'}} tabPosition={tabs.setting.position} type={tabs.setting.tabStyle} tabsMove={this.moveSwitch} onChange={this.onChange}> + <div className={'menu-tabs-edit-box ' + (tabs.setting.display || '')} style={_style} id={tabs.uuid}> + <DraggableTabs tabsMove={this.moveSwitch} tabsDrop={this.dropTable}> {tabs.subtabs.map(tab => ( <TabPane tab={ <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ @@ -365,29 +262,20 @@ <NormalForm title="鏍囩缂栬緫" width={800} update={this.updateTab} getForms={() => this.getTabForms(tab)}> <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> </NormalForm> - <PasteComponent Tab={tab} insert={this.insert} /> <CloseOutlined className="close" onClick={() => this.delTab(tab)} /> </div> } trigger="hover"> <span style={{textDecoration: tab.hide === 'true' ? 'line-through' : 'none'}}>{tab.icon ? <MkIcon type={tab.icon} /> : null}{tab.label}</span> </Popover> - } key={tab.uuid} style={{backgroundColor: tab.backgroundColor || 'transparent'}}> - {/* {appType === 'mob' && tabs.setting.position === 'top' && tabs.setting.display === 'inline-block' && tab.hasSearch === 'icon' ? - <SearchOutlined className="search-icon" onDoubleClick={() => this.setSearch(tab)}/> : null} */} - <TabComponents config={tab} handleList={this.updateTabComponent} deleteCard={this.deleteCard} /> + } key={tab.uuid}> + <BaseTable card={tab.components[0]} updateConfig={this.updateConfig} /> </TabPane> ))} </DraggableTabs> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> - <NormalForm title="娣诲姞鏍囩" width={800} update={this.updateTab} getForms={() => this.getTabForms()}> - <PlusOutlined className="plus" title="娣诲姞鏍囩"/> - </NormalForm> - <NormalForm title="鏍囩椤佃缃�" width={800} update={this.updateTabs} getForms={this.getTabsForms}> - <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/> - </NormalForm> - <CopyComponent type="tabs" card={tabs}/> - <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/> + <PlusOutlined className="plus" title="娣诲姞瀛愯〃"/> + <PasteComponent insert={this.insert} /> <DeleteOutlined className="close" onClick={() => this.props.deletecomponent(tabs.uuid)} /> </div> } trigger="hover"> diff --git a/src/menu/components/tabs/table-tabs/index.scss b/src/menu/components/tabs/table-tabs/index.scss index e45bad8..9f77d18 100644 --- a/src/menu/components/tabs/table-tabs/index.scss +++ b/src/menu/components/tabs/table-tabs/index.scss @@ -14,15 +14,6 @@ padding-top: 15px; } } - .ant-tabs-left-content { - padding-left: 0; - } - .ant-tabs-right-content { - padding-right: 0; - } - .ant-tabs-bottom-bar { - margin-top: 0; - } >.anticon-tool { position: absolute; @@ -35,12 +26,6 @@ background: rgba(255, 255, 255, 0.55); } - .ant-tabs.ant-tabs-left, .ant-tabs.ant-tabs-bottom { - .tab-shell-inner { - padding-top: 25px; - } - } - .ant-tabs-tabpane-active { min-height: 200px; } @@ -48,30 +33,6 @@ min-height: 100%; } - .ant-tabs .ant-tabs-top-bar > .ant-tabs-nav-container { - min-height: 40px; - >.ant-tabs-tab-next:not(.ant-tabs-tab-arrow-show) + .ant-tabs-nav-wrap > .ant-tabs-nav-scroll > .ant-tabs-nav { - width: 100%; - > div > .ant-tabs-tab-disabled { - float: right; - } - } - } - - .ant-tabs .ant-tabs-left-bar .ant-tabs-tab { - text-align: right; - > span { - display: inline-block; - padding: 8px 24px; - } - } - .ant-tabs .ant-tabs-right-bar .ant-tabs-tab { - text-align: left; - > span { - display: inline-block; - padding: 8px 24px; - } - } .ant-tabs-tab { padding: 0px!important; text-align: center; @@ -80,65 +41,23 @@ padding: 12px 16px; } } - .ant-tabs-bottom .ant-tabs-bottom-bar .ant-tabs-ink-bar { - top: 0px; - } - .ant-tabs-card { - .ant-tabs-left-bar, .ant-tabs-right-bar { - .ant-tabs-tab { - > span { - padding: 0px 16px; - } - } - .ant-tabs-tab-active { - padding-left: 0px!important; - padding-right: 0px!important; - } - } - - .ant-tabs-card-bar { - .ant-tabs-tab { - > span { - display: inline-block; - padding: 0px 16px; - } - } + .ant-tabs-nav-container-scrolling { + padding-left: 0px; + padding-right: 0px; + .ant-tabs-tab-arrow-show { + display: none; } } - .search-icon { + .ant-tabs-nav { + transform: none!important; + } + .ant-tabs-tab:last-child::after { + content: ' '; + display: inline-block; position: absolute; - top: 10px; - right: 40px; - font-size: 18px; - cursor: pointer; - padding: 3px; - } -} -.menu-tabs-edit-box:hover { - z-index: 1; - box-shadow: 0px 0px 4px #1890ff; -} - -.mob-shell { - .menu-tabs-edit-box.flex { - >.ant-tabs.ant-tabs-top, >.ant-tabs.ant-tabs-bottom { - >.ant-tabs-bar { - >.ant-tabs-nav-container { - >.ant-tabs-nav-wrap { - >.ant-tabs-nav-scroll { - >.ant-tabs-nav { - display: block; - >div { - display: flex; - >.ant-tabs-tab { - flex: 1; - } - } - } - } - } - } - } - } + left: 100%; + height: 45px; + width: 100vw; + cursor: default; } } diff --git a/src/menu/components/tabs/table-tabs/options.jsx b/src/menu/components/tabs/table-tabs/options.jsx index bc2db9d..3793f20 100644 --- a/src/menu/components/tabs/table-tabs/options.jsx +++ b/src/menu/components/tabs/table-tabs/options.jsx @@ -1,10 +1,7 @@ -import MenuUtils from '@/utils/utils-custom.js' - /** * @description tab琛ㄥ崟閰嶇疆淇℃伅 */ -export function getTabForm(tab, setting) { - let appType = sessionStorage.getItem('appType') +export function getTabForm(tab) { let roleList = sessionStorage.getItem('sysRoles') if (roleList) { @@ -24,7 +21,7 @@ label: '鍚嶇О', initval: tab.label || '', required: true, - focus: true, + focus: true }, { type: 'mkicon', @@ -32,43 +29,7 @@ label: '鍥炬爣', initval: tab.icon || '', required: false, - allowClear: true, - }, - // { - // type: 'radio', - // field: 'hasSearch', - // label: '鎼滅储', - // initval: tab.hasSearch || 'false', - // required: false, - // options: [ - // {value: 'false', label: '鏃�'}, - // {value: 'icon', label: '鏈�'}, - // ], - // forbid: appType !== 'mob' || setting.position !== 'top' || setting.display !== 'inline-block', - // span: 22 - // }, - { - type: 'text', - field: 'controlVal', - label: '闅愯棌鏍囪', - initval: tab.controlVal || '', - tooltip: '褰撶鐢ㄥ瓧娈靛�间笌闅愯棌鏍囪鐩哥瓑鏃讹紝鏍囩椤典細闅愯棌銆傛敞锛氬涓�艰鐢ㄩ�楀彿鍒嗛殧銆�', - required: false, - }, - { - type: 'text', - field: 'selectVal', - label: '閫変腑鏍囪', - initval: tab.selectVal || '', - tooltip: '褰撻�変腑瀛楁鍊间笌閫変腑鏍囪鐩哥瓑鏃讹紝鏍囩椤甸粯璁ら�変腑銆�', - required: false - }, - { - type: 'color', - field: 'backgroundColor', - label: '鑳屾櫙(鍐呭鍖�)', - initval: tab.backgroundColor || 'transparent', - required: false, + allowClear: true }, { type: 'radio', @@ -87,181 +48,9 @@ label: '榛戝悕鍗�', initval: tab.blacklist || [], required: false, - options: roleList, - forbid: !!appType, + options: roleList }, ] return tabForm } - -/** - * @description tabs琛ㄥ崟閰嶇疆淇℃伅 - */ -export function getTabsSetForm(setting, uuid) { - let appType = sessionStorage.getItem('appType') - let roleList = sessionStorage.getItem('sysRoles') - - let modules = MenuUtils.getSupModules(window.GLOB.customMenu.components, uuid) || [] - modules.push({ - value: 'preview', - label: '涓婁竴椤碉紙url鍙傛暟锛�' - }) - - if (roleList) { - try { - roleList = JSON.parse(roleList) - } catch (e) { - roleList = [] - } - } else { - roleList = [] - } - - const tabForm = [ - { - type: 'text', - field: 'name', - label: '缁勪欢鍚嶇О', - initval: setting.name || '', - tooltip: '鐢ㄤ簬缁勪欢闂寸殑鍖哄垎銆�', - required: true - }, - { - type: 'number', - field: 'width', - label: '瀹藉害', - initval: setting.width || 24, - tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', - min: 1, - max: 24, - precision: 0, - required: true - }, - { - type: 'select', - field: 'position', - label: '鏍囩浣嶇疆', - initval: setting.position || 'top', - required: true, - options: [ - {value: 'top', label: 'top'}, - {value: 'bottom', label: 'bottom'}, - {value: 'left', label: 'left'}, - {value: 'right', label: 'right'}, - ], - controlFields: [ - {field: 'display', values: ['top', 'bottom']}, - ] - }, - { - type: 'radio', - field: 'tabStyle', - label: '椤电鏍峰紡', - initval: setting.tabStyle || 'line', - tooltip: '鏍囩浣嶇疆涓簍op鏃舵湁鏁堬紝榛樿鍊间负line銆�', - required: true, - options: [ - {value: 'line', label: 'line'}, - {value: 'card', label: 'card'}, - ], - }, - { - type: 'radio', - field: 'autoSwitch', - label: '鑷姩鍒囨崲', - initval: setting.autoSwitch || 'false', - tooltip: '瀛樺湪涓や釜鍙婁互涓婃爣绛炬椂鏈夋晥銆�', - required: false, - options: [ - {value: 'true', label: '鏄�'}, - {value: 'false', label: '鍚�'}, - ], - controlFields: [ - {field: 'interval', values: ['true']}, - {field: 'tabLabel', values: ['true']}, - ] - }, - { - type: 'number', - field: 'interval', - label: '闂撮殧锛坰锛�', - initval: setting.interval || 5, - min: 1, - max: 1000, - precision: 0, - required: true - }, - { - type: 'radio', - field: 'tabLabel', - label: '鏍囩鏍�', - initval: setting.tabLabel || 'show', - required: false, - options: [ - {value: 'show', label: '鏄剧ず'}, - {value: 'hide', label: '闅愯棌'}, - ] - }, - { - type: 'cascader', - field: 'supModule', - label: '涓婄骇缁勪欢', - initval: setting.supModule || [], - tooltip: '鏍囩缁勫彲浠ラ�夋嫨涓婄骇缁勪欢锛屽~鍏ョ鐢ㄥ瓧娈碉紝鐢ㄤ簬鎺у埗鏍囩闅愯棌銆�', - help: '鐢ㄤ簬鎺у埗鏍囩椤甸殣钘忋��', - required: false, - allowClear: true, - options: modules, - controlFields: [ - {field: 'controlField', notNull: true}, - ], - }, - { - type: 'text', - field: 'controlField', - label: '绂佺敤瀛楁', - initval: setting.controlField || '', - tooltip: '鐢ㄤ簬鎺у埗鏍囩闅愯棌鐨勫瓧娈碉紝鍦ㄦ爣绛句腑濉叆闅愯棌鏍囪銆�', - required: true, - }, - { - type: 'text', - field: 'selectField', - label: '閫変腑瀛楁', - initval: setting.selectField || '', - tooltip: '鐢ㄤ簬鎺у埗鏍囩椤靛垵濮嬪寲閫変腑锛屽湪鏍囩涓~鍏ラ�変腑鏍囪锛屾敞锛氭暟鎹簮浜巙rl鍙傛暟銆�', - required: false - }, - { - type: 'color', - field: 'backgroundColor', - 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: '绂佺敤'}, - ], - forbid: !appType - }, - { - type: 'multiselect', - field: 'blacklist', - label: '榛戝悕鍗�', - initval: setting.blacklist || [], - required: false, - options: roleList, - forbid: !!appType - }, - ] - - return tabForm -} \ No newline at end of file diff --git a/src/menu/components/timeline/normal-timeline/index.jsx b/src/menu/components/timeline/normal-timeline/index.jsx index 547ef31..7dda5d2 100644 --- a/src/menu/components/timeline/normal-timeline/index.jsx +++ b/src/menu/components/timeline/normal-timeline/index.jsx @@ -39,8 +39,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� diff --git a/src/menu/components/tree/antd-tree/index.jsx b/src/menu/components/tree/antd-tree/index.jsx index 8d2ecb6..04211aa 100644 --- a/src/menu/components/tree/antd-tree/index.jsx +++ b/src/menu/components/tree/antd-tree/index.jsx @@ -40,8 +40,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', format: 'array', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: true, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -153,7 +151,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/menu/pastecontroller/index.jsx b/src/menu/pastecontroller/index.jsx index 9d11f70..fbe0827 100644 --- a/src/menu/pastecontroller/index.jsx +++ b/src/menu/pastecontroller/index.jsx @@ -31,16 +31,12 @@ item.subtabs.forEach(tab => { uuids[tab.uuid] = MenuUtils.getuuid() tab.uuid = uuids[tab.uuid] - tab.parentId = item.uuid if (appType !== 'mob') { tab.components = tab.components.filter(cell => cell.type !== 'menubar') } tab.components = tab.components.map(cell => { - cell.tabId = tab.uuid - cell.parentId = tab.parentId - cell = this.resetconfig(cell, copyBtns, uuids) return cell }) @@ -52,9 +48,6 @@ item.name = item.setting.name item.components = item.components.map(cell => { - cell.tabId = item.tabId || '' - cell.parentId = item.parentId || '' - cell = MenuUtils.resetComponentConfig(cell, copyBtns, uuids) return cell }) diff --git a/src/menu/stylecombcontrolbutton/index.jsx b/src/menu/stylecombcontrolbutton/index.jsx index 1df5924..e83fd2d 100644 --- a/src/menu/stylecombcontrolbutton/index.jsx +++ b/src/menu/stylecombcontrolbutton/index.jsx @@ -1,6 +1,5 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { fromJS } from 'immutable' import { Button } from 'antd' import { FontColorsOutlined } from '@ant-design/icons' @@ -18,6 +17,10 @@ type: '', components: [] } + + type = null + + components = {} componentDidMount () { sessionStorage.setItem('style-control', 'false') @@ -37,90 +40,76 @@ } submitCombineStyle = (style) => { - const { components, parent } = this.state - - let keys = components.map(item => item.uuid) - - MKEmitter.emit('submitComponentStyle', parent.uuid, keys, style) - - setTimeout(() => { - keys.forEach(key => { - document.getElementById(key).classList.add('selected-control-element') - }) - }, 100) - } - - clickComponent = (card, _p, _type) => { - const { menu } = this.props - const { parent, type } = this.state - let components = fromJS(this.state.components).toJS() - - if (!parent) { - let _parent = null - - if (_type === 'cardcell') { - _parent = _p - MKEmitter.emit('switchMultiStyle', 'open') - } else { - let getParents = (box) => { - box.components.forEach(item => { - if (item.type === 'tabs') { - item.subtabs.forEach(tab => { - if (tab.components.findIndex(cell => cell.uuid === card.uuid) > -1) { - _parent = tab - } else { - getParents(tab) - } - }) - } else if (item.type === 'group') { - if (item.components.findIndex(cell => cell.uuid === card.uuid) > -1) { - _parent = item - } - } - }) - } - - if (menu.components.findIndex(cell => cell.uuid === card.uuid) > -1) { - _parent = menu - } else { - getParents(menu) - } - - MKEmitter.emit('switchMultiStyle', 'open') - } - - document.getElementById(card.uuid).classList.add('selected-control-element') - - sessionStorage.setItem('style-control', (_type ? _type : 'component')) - - this.setState({ - type: _type ? _type : 'component', - parent: _parent, - components: [card] + if (this.type === 'component') { + Object.keys(this.components).forEach((key, i) => { + setTimeout(() => { + this.components[key](style) + }, i * 10) }) } else { - if (components.findIndex(cell => cell.uuid === card.uuid) > -1) { - components = components.filter(cell => cell.uuid !== card.uuid) - document.getElementById(card.uuid).classList.remove('selected-control-element') - } else if (type === 'cardcell' && parent.elements.findIndex(cell => cell.uuid === card.uuid) > -1) { - components.push(card) - document.getElementById(card.uuid).classList.add('selected-control-element') - } - - if (components.length === 0) { - MKEmitter.emit('switchMultiStyle', 'close') - sessionStorage.setItem('style-control', 'true') - } - - this.setState({ - components: components, - parent: components.length ? parent : null + Object.keys(this.components).forEach((key, i) => { + setTimeout(() => { + MKEmitter.emit('submitComponentStyle', key, this.components[key], style) + }, i * 10) }) } } + clickComponent = (id, pid, callback) => { + if (!this.type) { + if (pid) { + this.type = 'cardcell' + } else { + this.type = 'component' + } + } else if ((this.type === 'cardcell' && !pid) || (this.type === 'component' && pid)) { + return + } + + let plus = true + if (this.type === 'cardcell') { + if (this.components[pid]) { + if (this.components[pid].includes(id)) { + this.components[pid] = this.components[pid].filter(item => item !== id) + if (this.components[pid].length === 0) { + delete this.components[pid] + } + plus = false + } else { + this.components[pid].push(id) + } + } else { + this.components[pid] = [id] + } + } else { + if (this.components[id]) { + delete this.components[id] + plus = false + } else { + this.components[id] = callback + } + } + + if (plus) { + document.getElementById(id).classList.add('selected-control-element') + MKEmitter.emit('switchMultiStyle', 'open', this.type) + } else { + document.getElementById(id).classList.remove('selected-control-element') + } + + let length = Object.keys(this.components).length + + if (length === 0) { + MKEmitter.emit('switchMultiStyle', 'close') + sessionStorage.setItem('style-control', 'true') + this.type = null + } else { + sessionStorage.setItem('style-control', this.type) + } + } + triggerStyleChange = () => { - const { label, components } = this.state + const { label } = this.state if (label === '鎵归噺璋冩暣') { document.body.className = 'style-control' @@ -130,13 +119,23 @@ document.body.className = '' sessionStorage.setItem('style-control', 'false') - components.forEach(item => { - document.getElementById(item.uuid).classList.remove('selected-control-element') - }) + if (this.type === 'cardcell') { + Object.keys(this.components).forEach(key => { + this.components[key].forEach(id => { + document.getElementById(id).classList.remove('selected-control-element') + }) + }) + } else { + Object.keys(this.components).forEach(key => { + document.getElementById(key).classList.remove('selected-control-element') + }) + } MKEmitter.emit('switchMultiStyle', 'close') + this.components = {} + this.type = null - this.setState({label: '鎵归噺璋冩暣', parent: null, components: []}) + this.setState({label: '鎵归噺璋冩暣'}) } } diff --git a/src/menu/stylecombcontrolbutton/index.scss b/src/menu/stylecombcontrolbutton/index.scss index 003e577..d6b8667 100644 --- a/src/menu/stylecombcontrolbutton/index.scss +++ b/src/menu/stylecombcontrolbutton/index.scss @@ -7,7 +7,7 @@ background: #ffffff; } body.style-control { - .pc-menu-view::before { + .pc-menu-view::before, .menu-control::before { content: ' '; position: absolute; left: 0; diff --git a/src/menu/stylecombcontroller/index.jsx b/src/menu/stylecombcontroller/index.jsx index 4e06d4f..e47bdd3 100644 --- a/src/menu/stylecombcontroller/index.jsx +++ b/src/menu/stylecombcontroller/index.jsx @@ -44,6 +44,7 @@ state = { style: {}, + type: '', borposition: 'outer' } @@ -65,11 +66,12 @@ MKEmitter.removeListener('switchMultiStyle', this.switchMultiStyle) } - switchMultiStyle = (type) => { - if (type === 'open') { + switchMultiStyle = (swit, type) => { + if (swit === 'open') { this.setState({ visible: true, style: {}, + type: type, borposition: 'outer' }) } else { @@ -269,7 +271,7 @@ <div className="menu-combine-style-controller"> <Form {...formItemLayout}> <Collapse expandIconPosition="right" destroyInactivePanel={true} defaultActiveKey="margin"> - <Panel header="瀛椾綋" key="font"> + {this.state.type === 'cardcell' ? <Panel header="瀛椾綋" key="font"> <Col span={12}> <Form.Item colon={false} label={<FontSizeOutlined title="瀛椾綋澶у皬"/>}> <InputNumber defaultValue={''} min={12} max={100} precision={0} onChange={this.changeFontSize} /> @@ -353,7 +355,7 @@ </Radio.Group> </Form.Item> </Col> - </Panel> + </Panel> : null} <Panel header="鑳屾櫙" key="background"> <Col span={24}> <Form.Item diff --git a/src/menu/tableshell/card.jsx b/src/menu/tableshell/card.jsx index 0015811..55926ea 100644 --- a/src/menu/tableshell/card.jsx +++ b/src/menu/tableshell/card.jsx @@ -4,7 +4,7 @@ import asyncComponent from '@/utils/asyncComponent' import './index.scss' -const AntvTabs = asyncComponent(() => import('@/menu/components/tabs/antv-tabs')) +const AntvTabs = asyncComponent(() => import('@/menu/components/tabs/table-tabs')) const BaseTable = asyncComponent(() => import('@/menu/components/table/base-table')) const Card = ({ id, card, delCard, updateConfig }) => { diff --git a/src/menu/tableshell/index.jsx b/src/menu/tableshell/index.jsx index 999d732..63fefeb 100644 --- a/src/menu/tableshell/index.jsx +++ b/src/menu/tableshell/index.jsx @@ -57,18 +57,16 @@ const [, drop] = useDrop({ accept: 'menu', drop(item) { - if (item.hasOwnProperty('originalIndex') || item.added) { + if (item.added) { delete item.added // 鍒犻櫎缁勪欢娣诲姞鏍囪 return } let newcard = { uuid: Utils.getuuid(), - type: item.component, - subtype: item.subtype, - config: item.config, - width: item.width || 24, - isNew: true // 鏂版坊鍔犳爣蹇楋紝鐢ㄤ簬鍒濆鍖� + type: 'tabs', + subtype: 'tabs', + isNew: true } let targetId = '' diff --git a/src/mob/components/menubar/common-menubar/index.jsx b/src/mob/components/menubar/common-menubar/index.jsx index 09e5410..37c24c3 100644 --- a/src/mob/components/menubar/common-menubar/index.jsx +++ b/src/mob/components/menubar/common-menubar/index.jsx @@ -36,8 +36,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: '', - parentId: '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -135,7 +133,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/mob/components/menubar/normal-menubar/index.jsx b/src/mob/components/menubar/normal-menubar/index.jsx index 3ccf007..a3ca2dc 100644 --- a/src/mob/components/menubar/normal-menubar/index.jsx +++ b/src/mob/components/menubar/normal-menubar/index.jsx @@ -41,8 +41,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: '', - parentId: '', format: 'object', // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡 pageable: false, // 缁勪欢灞炴�� - 鏄惁鍙垎椤� switchable: false, // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹� @@ -273,7 +271,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/mob/components/official/index.jsx b/src/mob/components/official/index.jsx index dc25062..7a1c6d0 100644 --- a/src/mob/components/official/index.jsx +++ b/src/mob/components/official/index.jsx @@ -32,8 +32,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', width: 24, name: card.name, subtype: card.subtype, diff --git a/src/mob/components/search/single-search/index.jsx b/src/mob/components/search/single-search/index.jsx index 95feec1..b733a7c 100644 --- a/src/mob/components/search/single-search/index.jsx +++ b/src/mob/components/search/single-search/index.jsx @@ -31,8 +31,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', width: 24, name: card.name, subtype: card.subtype, @@ -109,7 +107,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/mob/components/tabs/antv-tabs/dragabletabs.jsx b/src/mob/components/tabs/antv-tabs/dragabletabs.jsx index fbb97de..71b5bdb 100644 --- a/src/mob/components/tabs/antv-tabs/dragabletabs.jsx +++ b/src/mob/components/tabs/antv-tabs/dragabletabs.jsx @@ -62,6 +62,8 @@ const dragIndex = newOrder.indexOf(dragKey) const hoverIndex = newOrder.indexOf(hoverKey) + if (dragIndex === -1) return + newOrder.splice(dragIndex, 1) newOrder.splice(hoverIndex, 0, dragKey) diff --git a/src/mob/components/tabs/antv-tabs/index.jsx b/src/mob/components/tabs/antv-tabs/index.jsx index 3800c62..dc73a22 100644 --- a/src/mob/components/tabs/antv-tabs/index.jsx +++ b/src/mob/components/tabs/antv-tabs/index.jsx @@ -44,17 +44,15 @@ let _tabs = { uuid: tabs.uuid, type: tabs.type, - tabId: tabs.tabId || '', - parentId: tabs.parentId || '', subtype: tabs.subtype, width: 24, name: tabs.name, setting: {width: 24, position: 'top', tabStyle: 'line', name: tabs.name}, style: { marginLeft: '8px', marginRight: '8px', marginTop: '8px', marginBottom: '8px' }, subtabs: [ - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 1', icon: '', components: [] }, - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 2', icon: '', components: [] }, - { uuid: Utils.getuuid(), parentId: tabs.uuid, label: 'Tab 3', icon: '', components: [] } + { uuid: Utils.getuuid(), label: 'Tab 1', icon: '', components: [] }, + { uuid: Utils.getuuid(), label: 'Tab 2', icon: '', components: [] }, + { uuid: Utils.getuuid(), label: 'Tab 3', icon: '', components: [] } ] } @@ -79,12 +77,6 @@ return !is(fromJS(this.state), fromJS(nextState)) } - componentDidMount () { - MKEmitter.addListener('submitSearch', this.getSearch) - MKEmitter.addListener('tabsChange', this.handleTabsChange) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) - } - /** * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊锛屾竻闄ゅ揩鎹烽敭璁剧疆 */ @@ -92,42 +84,6 @@ this.setState = () => { return } - MKEmitter.removeListener('submitSearch', this.getSearch) - MKEmitter.removeListener('tabsChange', this.handleTabsChange) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) - } - - updateComponentStyle = (parentId, keys, style) => { - const { tabs } = this.state - - if (tabs.subtabs.findIndex(tab => tab.uuid === parentId) === -1) return - - let _tabs = fromJS(tabs).toJS() - let _tabs_ = fromJS(tabs).toJS() - - let components = [] - _tabs.subtabs.forEach(tab => { - if (tab.uuid === parentId) { - components = tab.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - tab.components = [] - } - }) - - _tabs_.subtabs = _tabs_.subtabs.map(tab => { - if (tab.uuid === parentId) { - tab.components = components - } - return tab - }) - - this.setState({tabs: _tabs}, () => { - this.updateComponent(_tabs_) - }) } changeStyle = () => { @@ -162,12 +118,18 @@ this.props.updateConfig(_card) } - handleTabsChange = (parentId) => { - const { tabs } = this.state - - if (parentId === tabs.parentId) { - MKEmitter.emit('tabsChange', tabs.uuid) - } + getSubIds = (components, ids) => { + components.forEach(item => { + if (item.type === 'tabs') { + item.subtabs.forEach(tab => { + this.getSubIds(tab.components, ids) + }) + } else if (item.type === 'group') { + this.getSubIds(item.components, ids) + } else { + ids.push(item.uuid) + } + }) } updateComponent = (component) => { @@ -175,7 +137,11 @@ if (!is(fromJS(tabs.setting), fromJS(component.setting)) || !is(fromJS(tabs.style), fromJS(component.style))) { // 娉ㄥ唽浜嬩欢-鏍囩鍙樺寲锛岄�氱煡鏍囩鍐呭厓绱� - MKEmitter.emit('tabsChange', tabs.uuid) + let ids = [] + tabs.subtabs.forEach(tab => { + this.getSubIds(tab.components, ids) + }) + MKEmitter.emit('tabsChange', ids.join(',')) } component.width = component.setting.width @@ -266,52 +232,12 @@ this.props.updateConfig(tabs) } - getSearch = (config) => { - const { tabs } = this.state - - if (tabs.uuid !== config.uuid) return - - let _tabs = fromJS(tabs).toJS() - - _tabs.subtabs = _tabs.subtabs.map(t => { - if (t.uuid === config.tabId) { - t.search = config.search - } - return t - }) - - this.setState({ - tabs: _tabs - }) - this.props.updateConfig(_tabs) - } - - setSearch = (tab) => { - const { tabs } = this.state - let card = { - uuid: tabs.uuid, - tabId: tab.uuid, - search: tab.search - } - - if (!card.search) { - card.search = { - floor: 1, - setting: { type: 'title', field: '', title: '', focus: 'true', btn: 'hidden' }, - groups: [], - fields: [] - } - } - MKEmitter.emit('changeSearch', card) - } - getTabForms = (tab) => { const { tabs } = this.state if (!tab) { tab = { uuid: '', - parentId: tabs.uuid, label: '', icon: '', components: [] @@ -374,20 +300,13 @@ window.GLOB.TabsMap.set(tabs.uuid, key) } - clickComponent = (e) => { - if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { - e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.tabs) - } - } - render() { const { tabs, defaultActiveKey } = this.state let _style = resetStyle(tabs.style) let _tabStyle = resetStyle(tabs.tabStyle) return ( - <div className={'mob-tabs-edit-box ' + tabs.setting.display} style={_style} onClick={this.clickComponent} id={tabs.uuid}> + <div className={'mob-tabs-edit-box ' + tabs.setting.display} style={_style} id={tabs.uuid}> <DraggableTabs defaultActiveKey={defaultActiveKey} tabBarStyle={{background: tabs.setting.backgroundColor || 'transparent'}} tabPosition={'top'} type={tabs.setting.tabStyle} tabsMove={this.moveSwitch} onChange={this.onChange}> {tabs.subtabs.map(tab => ( <TabPane tab={ @@ -404,8 +323,6 @@ <span style={{..._tabStyle, textDecoration: tab.hide === 'true' ? 'line-through' : 'none'}}>{tab.icon ? <MkIcon type={tab.icon} /> : null}{tab.label}</span> </Popover> } key={tab.uuid} style={{backgroundColor: tab.backgroundColor || 'transparent'}}> - {/* {appType === 'mob' && tabs.setting.display === 'inline-block' && tab.hasSearch === 'icon' ? - <SearchOutlined className="search-icon" onDoubleClick={() => this.setSearch(tab)}/> : null} */} <TabComponents config={tab} handleList={this.updateTabComponent} deleteCard={this.deleteCard} /> </TabPane> ))} diff --git a/src/mob/components/tabs/tabcomponents/index.jsx b/src/mob/components/tabs/tabcomponents/index.jsx index 8cd28e1..474cd2c 100644 --- a/src/mob/components/tabs/tabcomponents/index.jsx +++ b/src/mob/components/tabs/tabcomponents/index.jsx @@ -2,7 +2,7 @@ import { useDrop } from 'react-dnd' import { is, fromJS } from 'immutable' import update from 'immutability-helper' -import { Empty, notification, Modal } from 'antd' +import { Empty, Modal } from 'antd' import Utils from '@/utils/utils.js' import MKEmitter from '@/utils/events.js' @@ -76,26 +76,8 @@ item.added = true if (item.component === 'search') { // 绉诲姩绔爣绛鹃〉涓笉鍙坊鍔犳悳绱� - // if (cards.filter(card => card.type === 'search').length > 0) { - // notification.warning({ - // top: 92, - // message: '鎼滅储鏉′欢涓嶅彲閲嶅娣诲姞锛�', - // duration: 5 - // }) - // return - // } item.added = false return - } else if (item.component === 'tabs') { - let floor = MenuUtils.getFloor(config.parentId) - if (floor >= 3 ) { - notification.warning({ - top: 92, - message: '鏍囩椤垫渶澶氫负涓夐噸缁撴瀯锛�', - duration: 5 - }) - return - } } let name = '' @@ -131,8 +113,6 @@ let newcard = { uuid: Utils.getuuid(), - tabId: config.uuid, - parentId: config.parentId, type: item.component, subtype: item.subtype, config: item.config, diff --git a/src/mob/components/topbar/normal-navbar/index.jsx b/src/mob/components/topbar/normal-navbar/index.jsx index 123fa23..d711391 100644 --- a/src/mob/components/topbar/normal-navbar/index.jsx +++ b/src/mob/components/topbar/normal-navbar/index.jsx @@ -140,13 +140,6 @@ MKEmitter.emit('changeStyle', ['font', 'background', 'border'], card.searchStyle || {}, this.getSearchStyle) } - clickComponent = (e) => { - if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { - e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) - } - } - getSearch = (config) => { const { card } = this.state @@ -223,7 +216,7 @@ } return ( - <div className="normal-topbar-edit-box" style={card.style} onClick={this.clickComponent} id={card.uuid}> + <div className="normal-topbar-edit-box" style={card.style} id={card.uuid}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> <NormalForm title="瀵艰埅鏍忚缃�" width={900} update={this.updateWrap} getForms={this.getWrapForms}> diff --git a/src/pc/components/login/normal-login/index.jsx b/src/pc/components/login/normal-login/index.jsx index 683d9dc..a35605f 100644 --- a/src/pc/components/login/normal-login/index.jsx +++ b/src/pc/components/login/normal-login/index.jsx @@ -36,8 +36,6 @@ let _card = { uuid: card.uuid, type: card.type, - tabId: card.tabId || '', - parentId: card.parentId || '', width: card.width || 24, name: card.name, subtype: card.subtype, @@ -128,7 +126,13 @@ clickComponent = (e) => { if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) + MKEmitter.emit('clickComponent', this.state.card.uuid, null, (style) => { + let _card = {...this.state.card} + _card.style = {..._card.style, ...style} + + this.setState({ card: _card }) + this.props.updateConfig(_card) + }) } } diff --git a/src/pc/components/navbar/normal-navbar/index.jsx b/src/pc/components/navbar/normal-navbar/index.jsx index 474c8f1..f14e91b 100644 --- a/src/pc/components/navbar/normal-navbar/index.jsx +++ b/src/pc/components/navbar/normal-navbar/index.jsx @@ -120,13 +120,6 @@ MKEmitter.emit('changeStyle', ['width', 'margin'], card.logoStyle, this.getLogoStyle) } - clickComponent = (e) => { - if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') { - e.stopPropagation() - MKEmitter.emit('clickComponent', this.state.card) - } - } - changeMenu = (menu) => { if (menu.property === 'link') { window.open(menu.link) @@ -168,7 +161,7 @@ const { card } = this.state return ( - <div className="normal-navbar-edit-box" style={card.style} onClick={this.clickComponent} id={card.uuid}> + <div className="normal-navbar-edit-box" style={card.style} id={card.uuid}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> <MenuComponent config={card} updateConfig={this.updateComponent} /> diff --git a/src/tabviews/custom/components/card/cardcellList/index.jsx b/src/tabviews/custom/components/card/cardcellList/index.jsx index dca2e78..2d6260e 100644 --- a/src/tabviews/custom/components/card/cardcellList/index.jsx +++ b/src/tabviews/custom/components/card/cardcellList/index.jsx @@ -835,7 +835,6 @@ btn={card} BData={data.$$BData || ''} disabled={_disabled} - setting={cards.setting} selectedData={_data} /> </Col> @@ -847,7 +846,6 @@ btn={card} BData={data.$$BData || ''} disabled={_disabled} - setting={cards.setting} selectedData={_data} /> </Col> diff --git a/src/tabviews/subtable/index.jsx b/src/tabviews/subtable/index.jsx index 7725c16..278430f 100644 --- a/src/tabviews/subtable/index.jsx +++ b/src/tabviews/subtable/index.jsx @@ -97,6 +97,8 @@ config = JSON.parse(window.decodeURIComponent(window.atob(result.LongParam))) config.setting.MenuName = Tab.label config.setting.$name = Tab.label + config.setting.foreignKey = Tab.foreignKey || '' + config.setting.supModule = Tab.supMenu || '' } catch (e) { console.warn('Parse Failure') config = '' @@ -1021,7 +1023,6 @@ setting={setting} actions={actions} columns={columns} - Tab={this.props.Tab} MenuID={this.props.MenuID} selectedData={selectedData} ContainerId={this.props.ContainerId} @@ -1060,7 +1061,6 @@ BData={BData} config={config} columns={columns} - Tab={this.props.Tab} data={this.state.data} MenuID={this.props.MenuID} loading={this.state.loading} @@ -1076,7 +1076,6 @@ BID={BID} plot={item} config={config} - Tab={this.props.Tab} data={this.state.data} loading={this.state.loading} /> @@ -1093,7 +1092,6 @@ setting={setting} actions={actions} columns={columns} - Tab={this.props.Tab} MenuID={this.props.MenuID} selectedData={selectedData} ContainerId={this.props.ContainerId} diff --git a/src/tabviews/zshare/actionList/excelInbutton/index.jsx b/src/tabviews/zshare/actionList/excelInbutton/index.jsx index 0388670..0c497ea 100644 --- a/src/tabviews/zshare/actionList/excelInbutton/index.jsx +++ b/src/tabviews/zshare/actionList/excelInbutton/index.jsx @@ -19,7 +19,6 @@ BID: PropTypes.string, // 涓昏〃ID BData: PropTypes.any, // 涓昏〃鏁版嵁 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� btn: PropTypes.object, // 鎸夐挳 setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 disabled: PropTypes.any, // 琛屾寜閽鐢� @@ -117,13 +116,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { setting, Tab, BID, btn, selectedData } = this.props + const { setting, BID, btn, selectedData } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx index 0450dce..80a9e9d 100644 --- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx +++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx @@ -18,7 +18,6 @@ static propTpyes = { BID: PropTypes.string, // 涓昏〃ID BData: PropTypes.any, // 涓昏〃鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� btn: PropTypes.object, // 鎸夐挳 setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 updateStatus: PropTypes.func, // 鎸夐挳鐘舵�佹洿鏂� @@ -113,13 +112,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { setting, Tab, BID, btn } = this.props + const { setting, BID, btn } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/funcMegvii/index.jsx b/src/tabviews/zshare/actionList/funcMegvii/index.jsx index 246c2b5..7ff8bf6 100644 --- a/src/tabviews/zshare/actionList/funcMegvii/index.jsx +++ b/src/tabviews/zshare/actionList/funcMegvii/index.jsx @@ -94,13 +94,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { Tab, BID, btn, selectedData, setting } = this.props + const { BID, btn, selectedData, setting } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/funczip/index.jsx b/src/tabviews/zshare/actionList/funczip/index.jsx index 2b4316f..9a5aed2 100644 --- a/src/tabviews/zshare/actionList/funczip/index.jsx +++ b/src/tabviews/zshare/actionList/funczip/index.jsx @@ -88,13 +88,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { Tab, BID, btn, selectedData, setting } = this.props + const { BID, btn, selectedData, setting } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/index.jsx b/src/tabviews/zshare/actionList/index.jsx index addbbd0..6760ac3 100644 --- a/src/tabviews/zshare/actionList/index.jsx +++ b/src/tabviews/zshare/actionList/index.jsx @@ -23,7 +23,6 @@ lock: PropTypes.any, // 鍙紪杈戣〃涓寜閽攣瀹� BData: PropTypes.any, // 涓昏〃鏁版嵁 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� MenuID: PropTypes.string, // 鑿滃崟ID actions: PropTypes.array, // 鎸夐挳缁� columns: PropTypes.array, // 鏄剧ず鍒� @@ -38,7 +37,7 @@ } getButtonList = (actions) => { - const { BID, BData, MenuID, Tab, columns, setting, ContainerId, selectedData, lock } = this.props + const { BID, BData, MenuID, columns, setting, ContainerId, selectedData, lock } = this.props return actions.map(item => { if (['exec', 'prompt', 'pop'].includes(item.OpenType)) { return ( @@ -47,7 +46,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -63,7 +61,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -77,7 +74,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -90,7 +86,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -106,7 +101,6 @@ btn={item} BData={BData} MenuID={MenuID} - setting={setting} selectedData={selectedData} /> ) @@ -118,7 +112,6 @@ disabled={lock || false} btn={item} BData={BData} - setting={setting} selectedData={selectedData} /> ) @@ -144,7 +137,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -159,7 +151,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} setting={setting} selectedData={selectedData} @@ -172,7 +163,6 @@ show={item.show || 'actionList'} disabled={lock || false} BID={BID} - Tab={Tab} btn={item} setting={setting} selectedData={selectedData} diff --git a/src/tabviews/zshare/actionList/newpagebutton/index.jsx b/src/tabviews/zshare/actionList/newpagebutton/index.jsx index 1237a91..2ca6b55 100644 --- a/src/tabviews/zshare/actionList/newpagebutton/index.jsx +++ b/src/tabviews/zshare/actionList/newpagebutton/index.jsx @@ -16,7 +16,6 @@ BData: PropTypes.any, // 涓昏〃鏁版嵁 btn: PropTypes.object, // 鎸夐挳 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 disabled: PropTypes.any, // 琛屾寜閽鐢� } @@ -110,7 +109,7 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { setting, btn, selectedData } = this.props + const { btn, selectedData } = this.props const { disabled } = this.state if (disabled) return @@ -152,7 +151,7 @@ let MenuNo = '' let Remark = '' if (btn.Ot === 'requiredSgl' && data[0]) { - Id = setting.primaryKey ? (data[0][setting.primaryKey] || '') : '' + Id = data[0].$$uuid || '' name = data[0].PrintTempName || '' MenuNo = data[0].PrintTempNO || '' Remark = data[0].Remark || '' @@ -164,7 +163,7 @@ _name = '鍗曟嵁鎵撳嵃' if (btn.Ot === 'required' && data && data.length > 0) { data.forEach((item, i) => { - let _id = setting.primaryKey ? (item[setting.primaryKey] || '') : '' + let _id = item.$$uuid || '' let url = '#/billprint/' + window.btoa(window.encodeURIComponent(JSON.stringify({ id: _id, tempId: btn.printTemp, dataM: sessionStorage.getItem('dataM') }))) window.open(url) }) diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index a4a4f03..ff1ef81 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -24,7 +24,6 @@ BData: PropTypes.any, // 涓昏〃鏁版嵁 style: PropTypes.any, // 鎸夐挳鏍峰紡 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� btn: PropTypes.object, // 鎸夐挳 columns: PropTypes.any, // 瀛楁鍒� setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 @@ -217,13 +216,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { Tab, BID, btn, selectedData, setting } = this.props + const { BID, btn, selectedData, setting } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', @@ -422,11 +421,11 @@ param.ID = primaryId if (retmsg) { - const { sql, callbacksql } = getSysDefaultSql(btn, setting, '', param, data[0], columns, this.props.Tab, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + const { sql, callbacksql } = getSysDefaultSql(btn, setting, '', param, data[0], columns, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� param.LText = sql param.$callbacksql = callbacksql } else { - param.LText = getSysDefaultSql(btn, setting, '', param, data[0], columns, this.props.Tab, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + param.LText = getSysDefaultSql(btn, setting, '', param, data[0], columns, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� if (btn.output) { param.key_back_type = 'Y' } @@ -467,11 +466,11 @@ param.ID = primaryId || Utils.getguid() if (retmsg) { - const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� param.LText = sql param.$callbacksql = callbacksql } else { - param.LText = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + param.LText = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� if (btn.output) { param.key_back_type = 'Y' } @@ -502,11 +501,11 @@ param.ID = primaryId if (retmsg) { - const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� param.LText = sql param.$callbacksql = callbacksql } else { - param.LText = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, this.props.Tab, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + param.LText = getSysDefaultSql(btn, setting, formdata, param, data[0], columns, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� if (btn.output) { param.key_back_type = 'Y' } @@ -575,11 +574,11 @@ param.ID = primaryId if (retmsg) { - const { sql, callbacksql } = getSysDefaultSql(btn, setting, '', param, cell, columns, this.props.Tab, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + const { sql, callbacksql } = getSysDefaultSql(btn, setting, '', param, cell, columns, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� param.LText = sql param.$callbacksql = callbacksql } else { - param.LText = getSysDefaultSql(btn, setting, '', param, cell, columns, this.props.Tab, false, this.moduleParams, Utils.getAllSearchOptions, Utils.getAllSearchOptions) // 鏁版嵁婧� + param.LText = getSysDefaultSql(btn, setting, '', param, cell, columns, false, this.moduleParams, Utils.getAllSearchOptions, Utils.getAllSearchOptions) // 鏁版嵁婧� if (btn.output) { param.key_back_type = 'Y' } @@ -615,11 +614,11 @@ param.ID = Utils.getguid() if (retmsg) { - const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, cell, columns, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� param.LText = sql param.$callbacksql = callbacksql } else { - param.LText = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + param.LText = getSysDefaultSql(btn, setting, formdata, param, cell, columns, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� if (btn.output) { param.key_back_type = 'Y' } @@ -641,11 +640,11 @@ param.ID = primaryId if (retmsg) { - const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + const { sql, callbacksql } = getSysDefaultSql(btn, setting, formdata, param, cell, columns, retmsg, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� param.LText = sql param.$callbacksql = callbacksql } else { - param.LText = getSysDefaultSql(btn, setting, formdata, param, cell, columns, this.props.Tab, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� + param.LText = getSysDefaultSql(btn, setting, formdata, param, cell, columns, false, this.moduleParams, Utils.getAllSearchOptions) // 鏁版嵁婧� if (btn.output) { param.key_back_type = 'Y' } @@ -976,9 +975,9 @@ } execRealSubmit = (data, _resolve, formdata) => { - const { setting, btn, Tab, BID } = this.props + const { setting, btn, BID } = this.props - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/popupbutton/index.jsx b/src/tabviews/zshare/actionList/popupbutton/index.jsx index 7a2ef97..6456eb3 100644 --- a/src/tabviews/zshare/actionList/popupbutton/index.jsx +++ b/src/tabviews/zshare/actionList/popupbutton/index.jsx @@ -18,7 +18,6 @@ BID: PropTypes.string, // 涓昏〃ID BData: PropTypes.any, // 涓昏〃鏁版嵁 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� MenuID: PropTypes.string, // 鑿滃崟ID btn: PropTypes.object, // 鎸夐挳 setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 @@ -152,13 +151,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { setting, Tab, BID, btn, selectedData } = this.props + const { setting, BID, btn, selectedData } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/printbutton/index.jsx b/src/tabviews/zshare/actionList/printbutton/index.jsx index 776ede5..f9fc037 100644 --- a/src/tabviews/zshare/actionList/printbutton/index.jsx +++ b/src/tabviews/zshare/actionList/printbutton/index.jsx @@ -24,7 +24,6 @@ BID: PropTypes.string, // 涓昏〃ID BData: PropTypes.any, // 涓昏〃鏁版嵁 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� MenuID: PropTypes.string, // 鑿滃崟ID btn: PropTypes.object, // 鎸夐挳 setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 @@ -143,13 +142,13 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { Tab, BID, btn, selectedData, setting } = this.props + const { BID, btn, selectedData, setting } = this.props const { loading, disabled } = this.state if (loading || disabled) return if (triggerId && btn.uuid !== triggerId) return - if (((Tab && Tab.supMenu) || setting.supModule) && !BID) { + if (setting.supModule && !BID) { notification.warning({ top: 92, message: '闇�瑕佷笂绾т富閿�硷紒', diff --git a/src/tabviews/zshare/actionList/tabbutton/index.jsx b/src/tabviews/zshare/actionList/tabbutton/index.jsx index 6158165..ba8c96a 100644 --- a/src/tabviews/zshare/actionList/tabbutton/index.jsx +++ b/src/tabviews/zshare/actionList/tabbutton/index.jsx @@ -15,7 +15,6 @@ MenuID: PropTypes.string, // 鑿滃崟ID btn: PropTypes.object, // 鎸夐挳 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 - setting: PropTypes.any, // 椤甸潰閫氱敤璁剧疆 disabled: PropTypes.any, // 琛屾寜閽鐢� } @@ -109,7 +108,7 @@ * @description 瑙﹀彂鎸夐挳鎿嶄綔 */ actionTrigger = (triggerId, record, type) => { - const { setting, btn, selectedData } = this.props + const { btn, selectedData } = this.props const { disabled } = this.state if (disabled) return @@ -133,8 +132,10 @@ let primaryId = '' - if (btn.Ot === 'requiredSgl' && setting.primaryKey) { - primaryId = data[0][setting.primaryKey] || '' + if (btn.Ot === 'requiredSgl') { + primaryId = data[0].$$uuid || '' + } else if (btn.Ot === 'notRequired' && data[0]) { + primaryId = data[0].$$BID || '' } let newtab = {} diff --git a/src/tabviews/zshare/cardcomponent/index.jsx b/src/tabviews/zshare/cardcomponent/index.jsx index f9eac6c..5fd8517 100644 --- a/src/tabviews/zshare/cardcomponent/index.jsx +++ b/src/tabviews/zshare/cardcomponent/index.jsx @@ -24,7 +24,6 @@ type: PropTypes.any, // 鍗$墖绫诲瀷锛屾坊鍔犳寜閽负 insert BID: PropTypes.any, // 涓昏〃ID BData: PropTypes.any, // 涓昏〃鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� MenuID: PropTypes.string, // 鑿滃崟ID setting: PropTypes.object, // 椤甸潰璁惧畾 columns: PropTypes.array, // 鏄剧ず鍒� @@ -147,7 +146,7 @@ * @description 鑾峰彇鎸夐挳鍏冪礌 */ getActionList = (actions) => { - const { BData, Tab, setting, columns, ContainerId, data, MenuID } = this.props + const { BData, setting, columns, ContainerId, data, MenuID } = this.props return actions.map(item => { if (['exec', 'prompt', 'pop'].includes(item.OpenType)) { @@ -155,7 +154,6 @@ <NormalButton key={item.uuid} BID={data.$$BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -169,7 +167,6 @@ <PopupButton key={item.uuid} BID={data.$$BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -182,7 +179,6 @@ key={item.uuid} btn={item} MenuID={MenuID} - setting={setting} selectedData={[data]} /> ) @@ -191,7 +187,6 @@ <NewPageButton key={item.uuid} btn={item} - setting={setting} selectedData={[data]} /> ) @@ -211,7 +206,6 @@ <PrintButton key={item.uuid} BID={data.$$BID} - Tab={Tab} btn={item} BData={BData} setting={setting} @@ -498,7 +492,6 @@ <div className="mk-card-insert"> <NormalButton BID={this.props.BID} - Tab={this.props.Tab} btn={{...card.insertAction, style}} BData={this.props.BData} setting={this.props.setting} @@ -517,7 +510,6 @@ static propTpyes = { BID: PropTypes.any, // 涓昏〃ID BData: PropTypes.any, // 涓昏〃鏁版嵁 - Tab: PropTypes.any, // 濡傛灉褰撳墠鍏冪礌涓烘爣绛炬椂锛宼ab涓烘爣绛句俊鎭� MenuID: PropTypes.string, // 鑿滃崟ID config: PropTypes.object, // 椤甸潰閰嶇疆淇℃伅 columns: PropTypes.array, // 鏄剧ず鍒� @@ -757,7 +749,7 @@ } render() { - const { plot, data, loading, BID, BData, Tab, MenuID, config, columns, ContainerId } = this.props + const { plot, data, loading, BID, BData, MenuID, config, columns, ContainerId } = this.props const { card, colMap, selectKey, actionList } = this.state return ( @@ -777,7 +769,6 @@ <ExcelInButton key={action.uuid} BID={BID} - Tab={Tab} btn={action} setting={config.setting} /> @@ -787,7 +778,6 @@ <ExcelOutButton key={action.uuid} BID={BID} - Tab={Tab} btn={action} setting={config.setting} /> @@ -802,7 +792,6 @@ <CardCell key={i} BID={BID} - Tab={Tab} card={card} data={item} BData={BData} @@ -821,7 +810,6 @@ key="insert" type="insert" BID={BID} - Tab={Tab} card={card} data={{key: 'insert'}} BData={BData} diff --git a/src/tabviews/zshare/chartcomponent/index.jsx b/src/tabviews/zshare/chartcomponent/index.jsx index 058b831..8f2791a 100644 --- a/src/tabviews/zshare/chartcomponent/index.jsx +++ b/src/tabviews/zshare/chartcomponent/index.jsx @@ -15,7 +15,6 @@ class LineChart extends Component { static propTpyes = { BID: PropTypes.any, // 鐖剁骇Id - Tab: PropTypes.any, // 鏍囩淇℃伅 plot: PropTypes.object, // 鍥炬爣璁剧疆淇℃伅 data: PropTypes.array, // 鍥捐〃浼犲叆鏁版嵁 loading: PropTypes.bool, // 鏁版嵁鍔犺浇涓� @@ -1053,7 +1052,7 @@ } render() { - const { plot, loading, config, BID, Tab } = this.props + const { plot, loading, config, BID } = this.props const { empty, chartFields, selectFields, actions } = this.state return ( @@ -1084,7 +1083,6 @@ <ExcelOutButton key={item.uuid} BID={BID} - Tab={Tab} btn={item} show="icon" setting={config.setting} @@ -1095,7 +1093,6 @@ <ExcelInButton key={item.uuid} BID={BID} - Tab={Tab} btn={item} show="icon" setting={config.setting} diff --git a/src/tabviews/zshare/normalTable/index.jsx b/src/tabviews/zshare/normalTable/index.jsx index c3147cc..e01df0a 100644 --- a/src/tabviews/zshare/normalTable/index.jsx +++ b/src/tabviews/zshare/normalTable/index.jsx @@ -782,7 +782,6 @@ selectedData={[record]} BData={this.props.BData} MenuID={this.props.MenuID} - setting={this.props.setting} /> ) } else if (btn.OpenType === 'innerpage' || btn.OpenType === 'outerpage') { @@ -793,7 +792,6 @@ disabled={record.$disabled} selectedData={[record]} BData={this.props.BData} - setting={this.props.setting} /> ) } diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index e667b47..cbd1923 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -438,20 +438,10 @@ item.subtabs.forEach(tab => { uuids[tab.uuid] = this.getuuid() tab.uuid = uuids[tab.uuid] - tab.parentId = item.uuid - - tab.components = tab.components.map(cell => { - cell.tabId = tab.uuid - cell.parentId = item.uuid - return cell - }) + tab.components = this.resetConfig(tab.components, uuids, clear) }) } else if (item.type === 'group') { - item.components = item.components.map(cell => { - cell.parentId = item.uuid - return cell - }) item.components = this.resetConfig(item.components, uuids, clear) } else if (item.type === 'menubar') { item.subMenus = item.subMenus.map(cell => { @@ -668,35 +658,6 @@ return item }) - } - - /** - * @description 閲嶇疆鑿滃崟閰嶇疆锛岄〉闈㈡暣浣撳鍒� - * @return {String} components 閰嶇疆淇℃伅 - */ - static getFloor = (id) => { - let floor = 1 - let finish = false - - let reCheck = (components, f) => { - components.forEach(item => { - if (finish) return - if (item.type === 'tabs') { - if (item.uuid === id) { - floor = f - finish = true - } else { - item.subtabs.forEach(tab => { - reCheck(tab.components, f + 1) - }) - } - } - }) - } - - reCheck(window.GLOB.customMenu.components, 1) - - return floor } /** diff --git a/src/utils/utils.js b/src/utils/utils.js index 208c78a..293b254 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -1369,17 +1369,16 @@ * @return {Object} param 璇锋眰鍙傛暟 * @return {Array} data 鍒楄〃琛屾暟鎹� * @return {Array} columns 鏄剧ず鍒� - * @return {Object} tab 鏍囩淇℃伅 * @return {Boolean} retmsg 鏄惁闇�瑕佹暟鎹繑鍥� */ -export function getSysDefaultSql (btn, setting, formdata, param, data, columns, tab, retmsg = false, moduleParams, getOptions) { +export function getSysDefaultSql (btn, setting, formdata, param, data, columns, retmsg = false, moduleParams, getOptions) { let primaryId = param.ID let BID = param.BID || '' let verify = btn.verify || {} let datavars = {} // 澹版槑鐨勫彉閲忥紝琛ㄥ崟鍙婃樉绀哄垪 let _actionType = null let _callbacksql = '' - let foreignKey = tab && tab.foreignKey ? tab.foreignKey.toLowerCase() : '' + let foreignKey = setting.foreignKey ? setting.foreignKey.toLowerCase() : '' if (verify.default !== 'false') { // 鍒ゆ柇鏄惁浣跨敤榛樿sql _actionType = btn.sqlType diff --git a/src/views/interface/history/index.jsx b/src/views/interface/history/index.jsx index 5e882c2..a35551f 100644 --- a/src/views/interface/history/index.jsx +++ b/src/views/interface/history/index.jsx @@ -200,11 +200,15 @@ createDate: '', formData: [], headers: [], - interface: window.GLOB.baseurl + 'webapi/logon', + interface: window.GLOB.baseurl + 'webapi/dologon', method: 'POST', params: [], raw: "{\n \"UserName\":\"******\",\n \"Password\":\"******\",\n \"systemType\":\"local\",\n \"Type\":\"鍏挜\",\n \"privatekey\":\"绉侀挜\",\n \"timestamp\":\"" + moment().format('YYYY-MM-DD HH:mm:ss') + "\",\n \"appkey\":\"" + window.GLOB.appkey + "\"\n}", uuid: 'dologon' + } + + if (window.GLOB.mainSystemApi) { + m.raw = "{\n \"UserName\":\"******\",\n \"Password\":\"******\",\n \"systemType\":\"local\",\n \"Type\":\"鍏挜\",\n \"privatekey\":\"绉侀挜\",\n \"timestamp\":\"" + moment().format('YYYY-MM-DD HH:mm:ss') + "\",\n \"appkey\":\"" + window.GLOB.appkey + "\",\n \"rduri\":\"" + window.GLOB.mainSystemApi.replace(/\/webapi(.*)/, '/webapi/dologon') + "\"\n}" } MKEmitter.emit('useInterface', m) } @@ -269,7 +273,7 @@ <div className="line-title">绀轰緥</div> <div className="line-item" key="dologon"> <div className="method">POST</div> - <div className="inter" style={{lineHeight: '40px'}}>logon</div> + <div className="inter" style={{lineHeight: '40px'}}>dologon</div> <div className="action" style={{paddingLeft: '40px'}}> <RightOutlined onClick={this.uselogon} /> </div> diff --git a/src/views/menudesign/index.jsx b/src/views/menudesign/index.jsx index 7e761fe..510bace 100644 --- a/src/views/menudesign/index.jsx +++ b/src/views/menudesign/index.jsx @@ -110,7 +110,6 @@ MKEmitter.addListener('copyButtons', this.copyButtons) MKEmitter.addListener('changePopview', this.initPopview) MKEmitter.addListener('triggerMenuSave', this.triggerMenuSave) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.addListener('updateCustomComponent', this.updateCustomComponent) setTimeout(() => { if (sessionStorage.getItem('app_custom_components')) { @@ -180,7 +179,6 @@ MKEmitter.removeListener('copyButtons', this.copyButtons) MKEmitter.removeListener('changePopview', this.initPopview) MKEmitter.removeListener('triggerMenuSave', this.triggerMenuSave) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.removeListener('updateCustomComponent', this.updateCustomComponent) } @@ -321,28 +319,6 @@ }) }) this.setState({customComponents: coms}) - } - - updateComponentStyle = (parentId, keys, style) => { - const { config } = this.state - - if (config.uuid !== parentId) return - - let components = config.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({ - config: {...config, components}, - comloading: true - }, () => { - this.setState({ - comloading: false - }) - }) } delButtons = (items) => { diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx index 384ca4e..bbd3cdb 100644 --- a/src/views/mobdesign/index.jsx +++ b/src/views/mobdesign/index.jsx @@ -152,7 +152,6 @@ MKEmitter.addListener('modalStatus', this.modalStatus) MKEmitter.addListener('triggerMenuSave', this.submitConfig) MKEmitter.addListener('changeEditMenu', this.changeEditMenu) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.addListener('updateCustomComponent', this.updateCustomComponent) setTimeout(() => { if (sessionStorage.getItem('app_custom_components')) { @@ -220,7 +219,6 @@ MKEmitter.removeListener('modalStatus', this.modalStatus) MKEmitter.removeListener('triggerMenuSave', this.submitConfig) MKEmitter.removeListener('changeEditMenu', this.changeEditMenu) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.removeListener('updateCustomComponent', this.updateCustomComponent) } @@ -457,28 +455,6 @@ this.setState({customComponents: coms}) } - updateComponentStyle = (parentId, keys, style) => { - const { config } = this.state - - if (config.uuid !== parentId) return - - let components = config.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({ - config: {...config, components}, - comloading: true - }, () => { - this.setState({ - comloading: false - }) - }) - } - closeView = () => { const { oriConfig, config } = this.state @@ -656,18 +632,16 @@ backElements: [] } ], - headerStyle: {}, parentId: '', width: 24, scripts: [], pageable: false, + headerStyle: {}, width: 24, scripts: [], pageable: false, wrap: {name: 'logo', width: 24, datatype: 'static', cardType: '', blacklist: []}, name: 'logo', floor: 1, switchable: true, - setting:{interType: 'system'}, tabId: '', style:{paddingTop: '8vh', paddingBottom: '10vh'}, format: 'object', subtype: 'propcard', type: 'card', uuid: Utils.getuuid(), columns: [] + setting:{interType: 'system'}, style:{paddingTop: '8vh', paddingBottom: '10vh'}, format: 'object', subtype: 'propcard', type: 'card', uuid: Utils.getuuid(), columns: [] }) config.components.push({ uuid: Utils.getuuid(), type: 'login', floor: 1, - tabId: '', - parentId: '', width: 24, name: '鐢ㄦ埛缁戝畾', subtype: 'bindlogin', @@ -687,10 +661,10 @@ backElements: [] } ], - headerStyle: {}, parentId: '', width: 24, scripts: [], pageable: false, + headerStyle: {}, width: 24, scripts: [], pageable: false, wrap: {name: 'Power', width: 24, datatype: 'static', cardType: '', blacklist: []}, name: 'Power', floor: 1, switchable: true, - setting:{interType: 'system'}, tabId: '', style:{}, format: 'object', subtype: 'propcard', type: 'card', uuid: Utils.getuuid(), columns: [] + setting:{interType: 'system'}, style:{}, format: 'object', subtype: 'propcard', type: 'card', uuid: Utils.getuuid(), columns: [] }) } @@ -2030,12 +2004,12 @@ <SysInterface config={config} updateConfig={this.updateConfig}/> <PictureController/> <Quotecomponent config={config} updateConfig={this.updateConfig}/> + <StyleCombControlButton menu={config} /> <Button className="mk-border-green set-home" onClick={this.setHomeView}><HomeOutlined /> 璁句负棣栭〉</Button> <Button className="mk-border-purple set-login" onClick={this.setLoginView}><LoginOutlined /> 璁句负鐧诲綍椤�</Button> <ReplaceField type="custom" config={config} updateConfig={this.resetConfig}/> <Transfer MenuID={MenuId} /> <Versions MenuId={MenuId} open_edition={config ? config.open_edition : ''}/> - <StyleCombControlButton menu={config} /> <Button className="mk-border-danger" onClick={this.refreshView}><RedoOutlined /> 寮哄埗鍒锋柊</Button> <Button type="default" onClick={this.closeView}>鍏抽棴</Button> </div> diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx index 06059cb..f3a98e3 100644 --- a/src/views/pcdesign/index.jsx +++ b/src/views/pcdesign/index.jsx @@ -132,7 +132,6 @@ MKEmitter.addListener('changePopview', this.initPopview) MKEmitter.addListener('changeEditMenu', this.changeEditMenu) MKEmitter.addListener('triggerMenuSave', this.triggerMenuSave) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.addListener('updateCustomComponent', this.updateCustomComponent) setTimeout(() => { if (sessionStorage.getItem('app_custom_components')) { @@ -206,7 +205,6 @@ MKEmitter.removeListener('changePopview', this.initPopview) MKEmitter.removeListener('changeEditMenu', this.changeEditMenu) MKEmitter.removeListener('triggerMenuSave', this.triggerMenuSave) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.removeListener('updateCustomComponent', this.updateCustomComponent) } @@ -500,28 +498,6 @@ }) }) this.setState({customComponents: coms}) - } - - updateComponentStyle = (parentId, keys, style) => { - const { config } = this.state - - if (config.uuid !== parentId) return - - let components = config.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({ - config: {...config, components}, - comloading: true - }, () => { - this.setState({ - comloading: false - }) - }) } delButtons = (items) => { @@ -1937,12 +1913,12 @@ <SysInterface config={config} updateConfig={this.updateConfig}/> <PictureController/> <Quotecomponent config={config} updateConfig={this.updateConfig}/> + <StyleCombControlButton menu={config} /> <Button className="mk-border-green" onClick={this.setHomeView}><HomeOutlined /> 璁句负棣栭〉</Button> <Button className="mk-border-purple" onClick={this.setLoginView}><LoginOutlined/> 璁句负鐧诲綍椤�</Button> <ReplaceField type="custom" config={config} updateConfig={this.resetConfig}/> <Transfer MenuID={MenuId} /> <Versions MenuId={MenuId} open_edition={config ? config.open_edition : ''}/> - <StyleCombControlButton menu={config} /> <Button className="mk-border-danger" onClick={this.refreshView}><RedoOutlined /> 寮哄埗鍒锋柊</Button> <Button type="default" onClick={this.closeView}>鍏抽棴</Button> </div> diff --git a/src/views/popdesign/index.jsx b/src/views/popdesign/index.jsx index d804815..ee36fc4 100644 --- a/src/views/popdesign/index.jsx +++ b/src/views/popdesign/index.jsx @@ -83,7 +83,6 @@ componentDidMount () { MKEmitter.addListener('delButtons', this.delButtons) MKEmitter.addListener('triggerMenuSave', this.submitConfig) - MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.addListener('updateCustomComponent', this.updateCustomComponent) setTimeout(() => { if (sessionStorage.getItem('app_custom_components')) { @@ -151,7 +150,6 @@ } MKEmitter.removeListener('delButtons', this.delButtons) MKEmitter.removeListener('triggerMenuSave', this.submitConfig) - MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.removeListener('updateCustomComponent', this.updateCustomComponent) } @@ -201,28 +199,6 @@ }) }) this.setState({customComponents: coms}) - } - - updateComponentStyle = (parentId, keys, style) => { - const { config } = this.state - - if (config.uuid !== parentId) return - - let components = config.components.map(item => { - if (keys.includes(item.uuid)) { - item.style = {...item.style, ...style} - } - return item - }) - - this.setState({ - config: {...config, components}, - comloading: true - }, () => { - this.setState({ - comloading: false - }) - }) } delButtons = (items) => { diff --git a/src/views/tabledesign/index.jsx b/src/views/tabledesign/index.jsx index 19d5c67..3ebbafb 100644 --- a/src/views/tabledesign/index.jsx +++ b/src/views/tabledesign/index.jsx @@ -721,10 +721,6 @@ changeSetting = () => { this.setState({settingshow: !this.state.settingshow}) - - setTimeout(() => { - MKEmitter.emit('tabsChange', 'all') - }, 400) } render () { diff --git a/src/views/tabledesign/source.jsx b/src/views/tabledesign/source.jsx index 248418f..8d9b629 100644 --- a/src/views/tabledesign/source.jsx +++ b/src/views/tabledesign/source.jsx @@ -67,56 +67,65 @@ { type: 'action', label: '寮圭獥锛堣〃鍗曪級', - subType: 'pop', - url: '' + text: '寮圭獥锛堣〃鍗曪級', + value: 'pop', + $init: true }, { type: 'action', label: '鎻愮ず妗�', - subType: 'prompt', - url: '' + text: '鎻愮ず妗�', + value: 'prompt', + $init: true }, { type: 'action', label: '鐩存帴鎵ц', - subType: 'exec', - url: '' + text: '鐩存帴鎵ц', + value: 'exec', + $init: true }, { type: 'action', label: '瀵煎叆Excel', - subType: 'excelIn', - url: '' + text: '瀵煎叆Excel', + value: 'excelIn', + $init: true }, { type: 'action', label: '瀵煎嚭Excel', - subType: 'excelOut', - url: '' + text: '瀵煎嚭Excel', + value: 'excelOut', + $init: true }, { type: 'action', label: '寮圭獥锛堟爣绛撅級', - subType: 'popview', - url: '' + text: '寮圭獥锛堟爣绛撅級', + value: 'popview', + $init: true }, { type: 'action', label: '鏍囩椤�', - subType: 'tab', - url: '' + text: '鏍囩椤�', + value: 'tab', + $init: true }, { type: 'action', label: '鏂伴〉闈�', - subType: 'innerpage', - url: '' + text: '鏂伴〉闈�', + value: 'innerpage', + $init: true }, { type: 'action', label: '鍔熻兘鎸夐挳', - subType: 'funcbutton', - url: '' + text: '鍔熻兘鎸夐挳', + value: 'funcbutton', + $init: true } ], columnItems: [ -- Gitblit v1.8.0