From f01086dc94827dbb15811760e5d13683977fcec9 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 10 十一月 2022 00:40:12 +0800 Subject: [PATCH] 2022-11-10 --- src/components/tabview/index.jsx | 5 src/components/encrypts/index.jsx | 2 src/menu/components/form/formaction/index.scss | 3 src/components/header/index.jsx | 7 + src/menu/components/form/dragtitle/options.jsx | 4 src/menu/components/card/cardcellcomponent/index.scss | 3 src/menu/components/form/formaction/actionform/index.jsx | 5 src/menu/components/card/cardcellcomponent/dragaction/index.jsx | 8 + src/menu/components/card/cardcellcomponent/elementform/index.jsx | 8 + src/templates/comtableconfig/updatetable/index.jsx | 65 +++++--- src/menu/transfer/index.jsx | 9 src/menu/components/form/simple-form/options.jsx | 14 + src/menu/components/form/simple-form/index.jsx | 9 + src/tabviews/custom/popview/index.jsx | 1 src/views/tabledesign/index.jsx | 5 src/tabviews/basetable/index.jsx | 5 src/menu/components/form/formaction/index.jsx | 17 ++ src/tabviews/custom/components/form/step-form/index.scss | 4 src/api/index.js | 32 +++- src/menu/components/table/normal-table/columns/index.scss | 5 src/tabviews/custom/components/form/simple-form/index.jsx | 15 + src/tabviews/zshare/actionList/normalbutton/index.jsx | 7 src/views/mobdesign/index.jsx | 2 src/views/menudesign/index.jsx | 6 src/menu/components/form/formaction/formconfig.jsx | 17 ++ src/tabviews/custom/components/form/tab-form/index.jsx | 4 src/menu/components/table/base-table/columns/index.scss | 5 src/views/pcdesign/index.jsx | 2 src/tabviews/custom/components/table/normal-table/index.jsx | 1 src/menu/components/table/edit-table/columns/index.scss | 5 src/tabviews/custom/components/form/step-form/index.jsx | 18 ++ src/tabviews/custom/index.jsx | 10 + src/menu/components/table/base-table/columns/index.jsx | 21 ++ src/menu/modalconfig/index.jsx | 3 src/menu/components/table/normal-table/columns/index.jsx | 22 ++ src/views/systemfunc/sidemenu/config.jsx | 14 +- src/menu/components/table/edit-table/columns/index.jsx | 14 + 37 files changed, 279 insertions(+), 98 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 135d64a..3270525 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -398,7 +398,7 @@ CacheUtils.updateWebSqlversion('1.00', curTime) resolve() return - } else if (!msg.createDate || reload) { + } else if (!msg.createDate || reload === true) { param.modifydate = curTime param.menuids = window.btoa(msg.menuids) } else if (msg.menuids) { @@ -423,18 +423,25 @@ list.push(...res.menu_del) } + list = list.map(mid => mid.menuid) + + if (typeof(reload) === 'string' && !list.includes(reload)) { + list.push(reload) + } + if (list.length > 0) { let clear = false list.forEach(mid => { - if (systemMenuKeys.indexOf(mid.menuid) > -1) { + if (systemMenuKeys.indexOf(mid) > -1) { clear = true } }) - let keys = list.map(mid => `'${mid.menuid}'`).join(',') if (clear) { - keys = '' + list = '' + } else { + list = list.map(mid => `'${mid}'`).join(',') } - CacheUtils.delWebSqlConfig(keys) + CacheUtils.delWebSqlConfig(list) } CacheUtils.updateWebSqlversion(res.app_version || '1.00', curTime) @@ -460,7 +467,7 @@ CacheUtils.updateIndexDBversion({version: '1.00', createDate: curTime}) resolve() return - } else if (!msg.createDate || reload) { + } else if (!msg.createDate || reload === true) { param.modifydate = curTime param.menuids = window.btoa(msg.menuids) } else if (msg.menuids) { @@ -485,18 +492,23 @@ list.push(...res.menu_del) } + list = list.map(mid => mid.menuid) + + if (typeof(reload) === 'string' && !list.includes(reload)) { + list.push(reload) + } + if (list.length > 0) { let clear = false list.forEach(mid => { - if (systemMenuKeys.indexOf(mid.menuid) > -1) { + if (systemMenuKeys.indexOf(mid) > -1) { clear = true } }) - let keys = list.map(mid => mid.menuid) if (clear) { - keys = '' + list = '' } - CacheUtils.delIndexDBConfig(keys) + CacheUtils.delIndexDBConfig(list) } CacheUtils.updateIndexDBversion({version: res.app_version || '1.00', createDate: curTime}) diff --git a/src/components/encrypts/index.jsx b/src/components/encrypts/index.jsx index 8d6617d..5a22673 100644 --- a/src/components/encrypts/index.jsx +++ b/src/components/encrypts/index.jsx @@ -44,7 +44,7 @@ return ( <> {eye ? value : this.getValue()} - {eye ? <EyeOutlined className="mk-open-eye" onClick={() => this.setState({eye: false})}/> : <EyeInvisibleOutlined className="mk-close-eye" onClick={() => this.setState({eye: true})}/>} + {eye ? <EyeOutlined className="mk-open-eye" onClick={(e) => {e.stopPropagation();this.setState({eye: false})}}/> : <EyeInvisibleOutlined className="mk-close-eye" onClick={(e) => {e.stopPropagation();this.setState({eye: true})}}/>} </> ) } diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx index 48a84e0..b5f7700 100644 --- a/src/components/header/index.jsx +++ b/src/components/header/index.jsx @@ -495,6 +495,13 @@ window.addEventListener('storage', (e) => { if (e.key === 'getSessionStorage' && e.newValue === window.GLOB.appkey) { localStorage.setItem('sessionStorage', JSON.stringify(sessionStorage)) + } else if (e.key === 'menuUpdate') { + let menuId = e.newValue.split(',')[1] + if (menuId) { + Api.getAppVersion(menuId).then(() => { + MKEmitter.emit('reloadMenuView', menuId) + }) + } } }) } diff --git a/src/components/tabview/index.jsx b/src/components/tabview/index.jsx index 9f65393..ed050db 100644 --- a/src/components/tabview/index.jsx +++ b/src/components/tabview/index.jsx @@ -23,6 +23,7 @@ const Iframe = asyncComponent(() => import('@/tabviews/iframe')) const RoleManage = asyncComponent(() => import('@/tabviews/rolemanage')) const FormTab = asyncComponent(() => import('@/tabviews/formtab')) +const TabManage = asyncComponent(() => import('@/tabviews/tabmanage')) class TabViews extends Component { static propTpyes = { @@ -108,7 +109,7 @@ // 鑾峰彇涓昏彍鍗曞弬鏁� let menudefer = new Promise(resolve => { - Api.getAppVersion().then(() => { + Api.getAppVersion(menu.MenuID).then(() => { resolve() }, () => { resolve() @@ -215,6 +216,8 @@ return (<RoleManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) } else if (view.type === 'FormTab') { return (<FormTab MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) + } else if (view.type === 'TabManage') { + return (<TabManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) } else if (view.type === 'iframe') { return (<Iframe key={view.MenuID} MenuID={view.MenuID} MenuNo={view.MenuNo} title={view.MenuName} MenuName={view.MenuName} url={window.GLOB.baseurl + 'zh-CN/' + view.LinkUrl}/>) } else { diff --git a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx index 683cd5f..d2d89ac 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx @@ -130,6 +130,14 @@ newcard.eleType = item.value newcard.datatype = 'dynamic' newcard.height = 1 + + if (item.value === 'splitline') { + newcard.width = 24 + newcard.color = '#EBE9E9' + } else if (item.value === 'slider') { + newcard.width = 24 + newcard.color = '#1890ff' + } } else { newcard.eleType = 'button' newcard.label = 'button' diff --git a/src/menu/components/card/cardcellcomponent/elementform/index.jsx b/src/menu/components/card/cardcellcomponent/elementform/index.jsx index ab2b5f7..a85f253 100644 --- a/src/menu/components/card/cardcellcomponent/elementform/index.jsx +++ b/src/menu/components/card/cardcellcomponent/elementform/index.jsx @@ -215,6 +215,10 @@ item.initVal = posterType } else if (item.key === 'fixStyle') { item.initVal = fixStyle + } else if (item.key === 'color') { + if (value === 'splitline') { + item.initVal = '#EBE9E9' + } } return item @@ -226,7 +230,9 @@ showType: card.showType || 'line', formlist: _formlist }, () => { - if (value === 'slider') { + if (value === 'splitline') { + this.props.form.setFieldsValue({width: 24, color: '#EBE9E9'}) + } else if (value === 'slider') { this.props.form.setFieldsValue({width: 24, color: '#1890ff'}) } else if (value === 'qrcode') { this.props.form.setFieldsValue({color: '#000000'}) diff --git a/src/menu/components/card/cardcellcomponent/index.scss b/src/menu/components/card/cardcellcomponent/index.scss index e97d0e2..e82bfb9 100644 --- a/src/menu/components/card/cardcellcomponent/index.scss +++ b/src/menu/components/card/cardcellcomponent/index.scss @@ -9,6 +9,9 @@ .card-button-cell { float: left; + button { + box-shadow: none; + } button:not(.ant-switch) { width: 100%; background-size: cover; diff --git a/src/menu/components/form/dragtitle/options.jsx b/src/menu/components/form/dragtitle/options.jsx index b367eab..8f424aa 100644 --- a/src/menu/components/form/dragtitle/options.jsx +++ b/src/menu/components/form/dragtitle/options.jsx @@ -87,7 +87,7 @@ field: 'prevEnable', label: '涓婁竴姝�', initval: group.prevButton ? group.prevButton.enable || 'false' : 'false', - tooltip: '绗竴缁勪笉鏄剧ず銆�', + tooltip: '绗竴缁勪笉鏄剧ず銆傛敞锛氶櫎鍏抽棴鍔熻兘澶栥��', required: false, options: [ {value: 'true', label: '鏄剧ず'}, @@ -111,7 +111,7 @@ field: 'nextEnable', label: '璺宠繃', initval: group.nextButton ? group.nextButton.enable || 'false' : 'false', - tooltip: '鏈�鍚庝竴缁勪笉鏄剧ず銆�', + tooltip: '鏈�鍚庝竴缁勪笉鏄剧ず銆傛敞锛氶櫎鍏抽棴鍔熻兘澶栥��', required: false, options: [ {value: 'true', label: '鏄剧ず'}, diff --git a/src/menu/components/form/formaction/actionform/index.jsx b/src/menu/components/form/formaction/actionform/index.jsx index b67cad8..7f5eae5 100644 --- a/src/menu/components/form/formaction/actionform/index.jsx +++ b/src/menu/components/form/formaction/actionform/index.jsx @@ -54,10 +54,13 @@ const { card } = this.props if (card.type === 'prev') { - return ['type', 'label', 'enable'] + return ['type', 'label', 'enable', 'actionType'] } else if (card.type === 'next') { + return ['type', 'label', 'enable', 'actionType'] + } else if (card.type === 'close') { return ['type', 'label', 'enable'] } + let _options = ['type', 'label', 'intertype', 'Ot', 'execSuccess', 'syncComponent', 'anchors', 'linkmenu', 'enable', 'output', 'reload'] // 閫夐」鍒楄〃 if (_intertype === 'custom') { diff --git a/src/menu/components/form/formaction/formconfig.jsx b/src/menu/components/form/formaction/formconfig.jsx index 87bfb60..163739f 100644 --- a/src/menu/components/form/formaction/formconfig.jsx +++ b/src/menu/components/form/formaction/formconfig.jsx @@ -11,6 +11,8 @@ _type = '涓婁竴姝�' } else if (card.type === 'next') { _type = '涓嬩竴姝�' + } else if (card.type === 'close') { + _type = '鍏抽棴' } let menulist = [] @@ -57,6 +59,21 @@ }, { type: 'radio', + key: 'actionType', + label: '鎵ц鎿嶄綔', + initVal: card.actionType || 'default', + tooltip: '鍏抽棴鍔熻兘锛氱鐞嗙郴缁熶腑浼氬叧闂綋鍓嶆爣绛撅紝瀛愬簲鐢ㄤ腑涓鸿繑鍥炰笂涓�椤点��', + required: true, + options: [{ + value: 'default', + text: '榛樿' + }, { + value: 'close', + text: '鍏抽棴' + }] + }, + { + type: 'radio', key: 'intertype', label: '鎺ュ彛绫诲瀷', initVal: card.intertype || 'system', diff --git a/src/menu/components/form/formaction/index.jsx b/src/menu/components/form/formaction/index.jsx index c76bdcc..57d9865 100644 --- a/src/menu/components/form/formaction/index.jsx +++ b/src/menu/components/form/formaction/index.jsx @@ -136,11 +136,16 @@ let group = fromJS(this.props.group).toJS() if (res.type === 'prev') { + res.enable = group.prevButton.enable || 'true' group.prevButton = res } else if (res.type === 'submit') { group.subButton = res } else if (res.type === 'next') { + res.enable = group.nextButton.enable || 'true' group.nextButton = res + } else if (res.type === 'close') { + res.enable = group.closeButton.enable || 'true' + group.closeButton = res } this.setState({ @@ -196,7 +201,7 @@ return ( <div className="mk-form-action"> - {group.prevButton && group.prevButton.enable !== 'false' && group.sort !== 1 ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ + {group.prevButton && group.prevButton.enable === 'true' ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> <EditOutlined className="edit" title="缂栬緫" onClick={() => this.handleAction(group.prevButton)} /> <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.prevButton)}/> @@ -213,7 +218,15 @@ } trigger="hover"> <Button type="link" className="submit mk-primary" onDoubleClick={this.changeMenu} style={resetStyle(group.subButton.style)}>{group.subButton.label}</Button> </Popover> - {group.nextButton && group.nextButton.enable !== 'false' && group.sort !== config.subcards.length ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ + {group.closeButton && group.closeButton.enable === 'true' ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ + <div className="mk-popover-control"> + <EditOutlined className="edit" title="缂栬緫" onClick={() => this.handleAction(group.closeButton)} /> + <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.closeButton)}/> + </div> + } trigger="hover"> + <Button type="link" style={resetStyle(group.closeButton.style)}>{group.closeButton.label}</Button> + </Popover> : null} + {group.nextButton && group.nextButton.enable === 'true' ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> <EditOutlined className="edit" title="缂栬緫" onClick={() => this.handleAction(group.nextButton)} /> <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.nextButton)}/> diff --git a/src/menu/components/form/formaction/index.scss b/src/menu/components/form/formaction/index.scss index d58f09a..79055ca 100644 --- a/src/menu/components/form/formaction/index.scss +++ b/src/menu/components/form/formaction/index.scss @@ -13,7 +13,8 @@ } .skip { color: rgba(0, 0, 0, 0.85); - float: right; + position: absolute; height: auto; + right: 0px; } } diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx index ac0ecf3..30ea2af 100644 --- a/src/menu/components/form/simple-form/index.jsx +++ b/src/menu/components/form/simple-form/index.jsx @@ -584,7 +584,8 @@ } updateWrap = (res) => { - let _card = {...this.state.card, wrap: res} + let _card = fromJS(this.state.card).toJS() + _card.wrap = res if (res.datatype === 'static') { if (res.supModule && res.supModule.length > 0) { @@ -600,6 +601,12 @@ _card.subcards[0].setting.enable = _card.wrap.enable _card.subcards[0].setting.verticalSpace = _card.wrap.verticalSpace + if (_card.wrap.closeEnable === 'true' && !_card.subcards[0].closeButton) { + _card.subcards[0].closeButton = {label: '鍏抽棴', enable: 'true', type: 'close', style: {backgroundColor: '#ffffff', color: 'rgba(0,0,0,0.65)', borderColor: '#d9d9d9', borderWidth: '1px', paddingLeft: '25px', paddingRight: '25px', paddingTop: '5px', paddingBottom: '5px', marginLeft: '10px'}} + } else if (_card.subcards[0].closeButton) { + _card.subcards[0].closeButton.enable = _card.wrap.closeEnable + } + this.updateComponent(_card) } diff --git a/src/menu/components/form/simple-form/options.jsx b/src/menu/components/form/simple-form/options.jsx index c9182cf..e0936b9 100644 --- a/src/menu/components/form/simple-form/options.jsx +++ b/src/menu/components/form/simple-form/options.jsx @@ -135,7 +135,7 @@ }, { type: 'radio', - field: 'subEnable', + field: 'enable', label: '鎻愪氦', initval: wrap.enable || 'true', required: false, @@ -146,6 +146,18 @@ }, { type: 'radio', + field: 'closeEnable', + label: '鍏抽棴', + initval: wrap.closeEnable || 'false', + tooltip: '绠$悊绯荤粺涓細鍏抽棴褰撳墠鏍囩锛屽瓙搴旂敤涓负杩斿洖涓婁竴椤点��', + required: false, + options: [ + {value: 'true', label: '鏄剧ず'}, + {value: 'false', label: '闅愯棌'}, + ] + }, + { + type: 'radio', field: 'goback', label: '绌哄�艰繑鍥�', initval: wrap.goback || 'false', diff --git a/src/menu/components/table/base-table/columns/index.jsx b/src/menu/components/table/base-table/columns/index.jsx index cea83cd..a5f8102 100644 --- a/src/menu/components/table/base-table/columns/index.jsx +++ b/src/menu/components/table/base-table/columns/index.jsx @@ -53,8 +53,14 @@ const { connectDragSource, connectDropTarget, moveCol, addElement, dropCol, updateCol, editColumn, pasteCell, changeStyle, deleteCol, index, column, align, fields, children, ...restProps } = this.props if (index !== undefined) { + let style = {cursor: 'move', textAlign: align} + if (column.Width) { + style.width = column.Width + style.minWidth = column.Width + } + return connectDragSource( - connectDropTarget(<th {...restProps} index={index} style={{ cursor: 'move', textAlign: align }} onDoubleClick={() => column && this.props.editColumn(column)}> + connectDropTarget(<th {...restProps} index={index} style={style} onDoubleClick={() => column && this.props.editColumn(column)}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}> {column && ['custom', 'colspan', 'action'].includes(column.type) ? @@ -72,8 +78,13 @@ </th>), ) } else if (column) { + let style = {textAlign: align} + if (column.Width) { + style.width = column.Width + style.minWidth = column.Width + } return ( - <th {...restProps} key={column.uuid} onDoubleClick={() => this.props.editColumn(column)}> + <th {...restProps} style={style} key={column.uuid} onDoubleClick={() => this.props.editColumn(column)}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}> {column && ['custom', 'colspan'].includes(column.type) ? @@ -150,13 +161,13 @@ if (column && column.type === 'custom') { return ( - <td style={{padding: 0, minWidth: (column.Width || 100) / 2, ...(column.style || {})}} className={className}> + <td style={{padding: 0, ...(column.style || {})}} className={className}> <CardCellComponent cards={config} cardCell={column} elements={column.elements} updateElement={this.updateCard}/> </td> ) } else if (column && column.type === 'action') { return ( - <td style={{padding: '0 5px', textAlign: column.Align, minWidth: (column.Width || 100) / 2}} className={'action-column ' + className}> + <td style={{padding: '0 5px', textAlign: column.Align}} className={'action-column ' + className}> <CardCellComponent cards={config} cardCell={column} elements={column.elements} updateElement={this.updateCard}/> </td> ) @@ -172,7 +183,7 @@ } } return ( - <td style={{...style, minWidth: (column.Width || 100) / 2}} className={className}> + <td style={{...style}} className={className}> {val} {column.Hide === 'true' ? <CloseCircleOutlined style={{marginLeft: '5px', color: 'orange', fontSize: '12px'}}/> : null} {column.marks && column.marks.length ? <AntDesignOutlined className="profile"/> : null} diff --git a/src/menu/components/table/base-table/columns/index.scss b/src/menu/components/table/base-table/columns/index.scss index 8e6ee37..8f8cf70 100644 --- a/src/menu/components/table/base-table/columns/index.scss +++ b/src/menu/components/table/base-table/columns/index.scss @@ -13,6 +13,11 @@ font-size: inherit; font-weight: inherit; } + .ant-table-selection-column { + width: 60px; + min-width: 60px; + max-width: 60px; + } .ant-table-body { overflow-x: auto; tr { diff --git a/src/menu/components/table/edit-table/columns/index.jsx b/src/menu/components/table/edit-table/columns/index.jsx index bbe4bf2..25bd842 100644 --- a/src/menu/components/table/edit-table/columns/index.jsx +++ b/src/menu/components/table/edit-table/columns/index.jsx @@ -59,8 +59,14 @@ </th> ) + let style = {cursor: 'move', textAlign: align} + if (column.Width) { + style.width = column.Width + style.minWidth = column.Width + } + return connectDragSource( - connectDropTarget(<th {...restProps} index={index} style={{ cursor: 'move', textAlign: align }} onDoubleClick={() => this.props.editColumn(column)}> + connectDropTarget(<th {...restProps} index={index} style={style} onDoubleClick={() => this.props.editColumn(column)}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}> {['custom', 'action'].includes(column.type) ? @@ -136,13 +142,13 @@ if (column && column.type === 'custom') { return ( - <td style={{padding: 0, minWidth: column.Width || 100, ...(column.style || {})}} className={className}> + <td style={{padding: 0, ...(column.style || {})}} className={className}> <CardCellComponent cards={config} cardCell={column} elements={column.elements} updateElement={this.updateCard}/> </td> ) } else if (column && column.type === 'action') { return ( - <td style={{padding: '0 5px', textAlign: column.Align, minWidth: column.Width || 100}} className={'action-column ' + className}> + <td style={{padding: '0 5px', textAlign: column.Align}} className={'action-column ' + className}> <CardCellComponent cards={config} cardCell={column} elements={column.elements} updateElement={this.updateCard}/> </td> ) @@ -158,7 +164,7 @@ } } return ( - <td style={{...style, minWidth: column.Width || 100}} className={className}> + <td style={style} className={className}> {column.field ? <Paragraph className="col-copy" copyable={{ text: column.field }}>{val}</Paragraph> : val} {column.marks && column.marks.length ? <AntDesignOutlined className="profile"/> : null} {column.Hide === 'true' ? <CloseCircleOutlined className="close-col"/> : null} diff --git a/src/menu/components/table/edit-table/columns/index.scss b/src/menu/components/table/edit-table/columns/index.scss index 6ca33c7..699ad86 100644 --- a/src/menu/components/table/edit-table/columns/index.scss +++ b/src/menu/components/table/edit-table/columns/index.scss @@ -9,6 +9,11 @@ color: inherit; font-size: inherit; } + .ant-table-selection-column { + width: 60px; + min-width: 60px; + max-width: 60px; + } .submit-btn { min-height: 24px; height: auto; diff --git a/src/menu/components/table/normal-table/columns/index.jsx b/src/menu/components/table/normal-table/columns/index.jsx index cd313c3..e976c72 100644 --- a/src/menu/components/table/normal-table/columns/index.jsx +++ b/src/menu/components/table/normal-table/columns/index.jsx @@ -54,8 +54,14 @@ const { connectDragSource, connectDropTarget, moveCol, dropCol, addElement, updateCol, editColumn, pasteCell, changeStyle, deleteCol, index, column, align, fields, children, ...restProps } = this.props if (index !== undefined) { + let style = {cursor: 'move', textAlign: align} + if (column.Width) { + style.width = column.Width + style.minWidth = column.Width + } + return connectDragSource( - connectDropTarget(<th {...restProps} index={index} style={{ cursor: 'move', textAlign: align }} onDoubleClick={() => column && this.props.editColumn(column)}> + connectDropTarget(<th {...restProps} index={index} style={style} onDoubleClick={() => column && this.props.editColumn(column)}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}> {column && ['custom', 'colspan', 'action'].includes(column.type) ? @@ -74,8 +80,14 @@ </th>), ) } else if (column) { + let style = {textAlign: align} + if (column.Width) { + style.width = column.Width + style.minWidth = column.Width + } + return ( - <th {...restProps} key={column.uuid} onDoubleClick={() => this.props.editColumn(column)}> + <th {...restProps} style={style} key={column.uuid} onDoubleClick={() => this.props.editColumn(column)}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}> {column && ['custom', 'colspan'].includes(column.type) ? @@ -152,13 +164,13 @@ if (column && column.type === 'custom') { return ( - <td style={{padding: 0, minWidth: column.Width || 100, ...(column.style || {})}} className={className}> + <td style={{padding: 0, ...(column.style || {})}} className={className}> <CardCellComponent cards={config} cardCell={column} elements={column.elements} updateElement={this.updateCard}/> </td> ) } else if (column && column.type === 'action') { return ( - <td style={{padding: '0 5px', textAlign: column.Align, minWidth: column.Width || 100}} className={'action-column ' + className}> + <td style={{padding: '0 5px', textAlign: column.Align}} className={'action-column ' + className}> <CardCellComponent cards={config} cardCell={column} elements={column.elements} updateElement={this.updateCard}/> </td> ) @@ -174,7 +186,7 @@ } } return ( - <td style={{...style, minWidth: column.Width || 100}} className={className}> + <td style={{...style}} className={className}> {column.field ? <Paragraph className="col-copy" copyable={{ text: column.field }}>{val}</Paragraph> : val} {column.marks && column.marks.length ? <AntDesignOutlined className="profile"/> : null} {column.Hide === 'true' ? <CloseCircleOutlined className="close-col"/> : null} diff --git a/src/menu/components/table/normal-table/columns/index.scss b/src/menu/components/table/normal-table/columns/index.scss index db07412..7c8baaa 100644 --- a/src/menu/components/table/normal-table/columns/index.scss +++ b/src/menu/components/table/normal-table/columns/index.scss @@ -10,6 +10,11 @@ font-size: inherit; font-weight: inherit; } + .ant-table-selection-column { + width: 60px; + min-width: 60px; + max-width: 60px; + } .ant-table-body { overflow-x: auto; tr { diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx index f834236..916fe45 100644 --- a/src/menu/modalconfig/index.jsx +++ b/src/menu/modalconfig/index.jsx @@ -479,6 +479,7 @@ } render () { + const { btn } = this.props const { config, saving } = this.state return ( @@ -508,7 +509,7 @@ <SettingOutlined onClick={this.changeSetting} /> <div className="ant-modal-content" style={{width: config.setting.width > 100 ? config.setting.width : config.setting.width + '%'}}> <div className="ant-modal-header"> - <div className="ant-modal-title">{config.setting.title}</div> + <div className="ant-modal-title">{btn.label}</div> <Button className="mk-cols-change" onClick={() => this.changecols(1)}>1鍒�</Button> <Button className="mk-cols-change" onClick={() => this.changecols(2)}>2鍒�</Button> <Button className="mk-cols-change" onClick={() => this.changecols(3)}>3鍒�</Button> diff --git a/src/menu/transfer/index.jsx b/src/menu/transfer/index.jsx index b766970..15b6805 100644 --- a/src/menu/transfer/index.jsx +++ b/src/menu/transfer/index.jsx @@ -225,15 +225,14 @@ Api.getSystemConfig(param).then(res => { _resolve() if (!res.status) { - notification.warning({ - top: 92, - message: res.message, - duration: 5 + Modal.warning({ + title: res.message, + okText: '鐭ラ亾浜�' }) return } - localStorage.setItem('menuUpdate', new Date().getTime()) + localStorage.setItem('menuUpdate', new Date().getTime() + ',' + _config.uuid) notification.success({ top: 92, message: '鍒囨崲鎴愬姛銆�', diff --git a/src/tabviews/basetable/index.jsx b/src/tabviews/basetable/index.jsx index 7ec750a..09c2024 100644 --- a/src/tabviews/basetable/index.jsx +++ b/src/tabviews/basetable/index.jsx @@ -564,6 +564,11 @@ } reloadview = () => { + window.GLOB.CacheData.delete(this.props.MenuID) + if (this.state.config) { + this.deleteCache(this.state.config.components) + } + this.setState({ BID: '', // 椤甸潰璺宠浆鏃舵惡甯D loadingview: true, // 椤甸潰鍔犺浇涓� diff --git a/src/tabviews/custom/components/form/simple-form/index.jsx b/src/tabviews/custom/components/form/simple-form/index.jsx index 31331d5..cecadd1 100644 --- a/src/tabviews/custom/components/form/simple-form/index.jsx +++ b/src/tabviews/custom/components/form/simple-form/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { Spin, notification, Modal } from 'antd' +import { Spin, notification, Modal, Button } from 'antd' import Api from '@/api' import UtilsDM from '@/utils/utils-datamanage.js' @@ -57,8 +57,8 @@ if (config.wrap.datatype !== 'static') { _sync = config.setting.sync === 'true' - if (_sync && data && data[config.dataName]) { - _data = data[config.dataName] + if (_sync && data) { + _data = data[config.dataName] || {$$empty: true} if (Array.isArray(_data)) { _data = _data[0] || {$$empty: true} } @@ -70,7 +70,7 @@ let _group = config.subcards[0] - if (_group.subButton.enable === 'false') { + if (_group.subButton.enable === 'false' && (!_group.closeButton || _group.closeButton.enable !== 'true')) { _group.subButton.style.display = 'none' _group.$button = 'no-button' } @@ -283,6 +283,12 @@ }) } + closeTab = () => { + const { group } = this.state + + MKEmitter.emit('closeTabView', group.subButton.$MenuID) + } + render() { const { config, loading, BID, BData, data, group, dict } = this.state @@ -312,6 +318,7 @@ columns={config.columns} selectedData={data.$$empty ? [] : [data]} /> + {group.closeButton && group.closeButton.enable === 'true' ? <Button type="link" onClick={this.closeTab} style={group.closeButton.style}>{group.closeButton.label}</Button> : null} </div> : null} </div> ) diff --git a/src/tabviews/custom/components/form/step-form/index.jsx b/src/tabviews/custom/components/form/step-form/index.jsx index 7287b76..c9c0773 100644 --- a/src/tabviews/custom/components/form/step-form/index.jsx +++ b/src/tabviews/custom/components/form/step-form/index.jsx @@ -56,8 +56,8 @@ if (config.wrap.datatype !== 'static') { _sync = config.setting.sync === 'true' - if (_sync && data && data[config.dataName]) { - _data = data[config.dataName] + if (_sync && data) { + _data = data[config.dataName] || {$$empty: true} if (Array.isArray(_data)) { _data = _data[0] || {$$empty: true} } @@ -77,10 +77,10 @@ config.subcards = config.subcards.map((group, i) => { group.sort = i + 1 - if (i === 0) { + if (i === 0 && group.prevButton.actionType !== 'close') { group.prevButton.enable = 'false' } - if (i + 1 === config.subcards.length) { + if (i + 1 === config.subcards.length && group.nextButton.actionType !== 'close') { group.nextButton.enable = 'false' } @@ -354,6 +354,11 @@ prevStep = () => { const { config, group } = this.state + if (group.prevButton.actionType === 'close') { + MKEmitter.emit('closeTabView', group.subButton.$MenuID) + return + } + let _group = config.subcards.filter(item => item.sort === (group.sort - 1))[0] this.setState({group: null, step: group.sort - 2}, () => { @@ -364,6 +369,11 @@ nextStep = () => { const { config, group } = this.state + if (group.nextButton.actionType === 'close') { + MKEmitter.emit('closeTabView', group.subButton.$MenuID) + return + } + let _group = config.subcards.filter(item => item.sort === (group.sort + 1))[0] this.setState({group: null, step: group.sort}, () => { diff --git a/src/tabviews/custom/components/form/step-form/index.scss b/src/tabviews/custom/components/form/step-form/index.scss index 77767fb..06b56f4 100644 --- a/src/tabviews/custom/components/form/step-form/index.scss +++ b/src/tabviews/custom/components/form/step-form/index.scss @@ -71,8 +71,10 @@ border: none; } .skip { - float: right; + color: rgba(0, 0, 0, 0.85); + position: absolute; height: auto; + right: 0px; } } .mk-form-action.no-button { diff --git a/src/tabviews/custom/components/form/tab-form/index.jsx b/src/tabviews/custom/components/form/tab-form/index.jsx index 013e6ad..18716aa 100644 --- a/src/tabviews/custom/components/form/tab-form/index.jsx +++ b/src/tabviews/custom/components/form/tab-form/index.jsx @@ -55,8 +55,8 @@ if (config.wrap.datatype !== 'static') { _sync = config.setting.sync === 'true' - if (_sync && data && data[config.dataName]) { - _data = data[config.dataName] + if (_sync && data) { + _data = data[config.dataName] || {$$empty: true} if (Array.isArray(_data)) { _data = _data[0] || {$$empty: true} } diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx index 1c9b88a..d95478b 100644 --- a/src/tabviews/custom/components/table/normal-table/index.jsx +++ b/src/tabviews/custom/components/table/normal-table/index.jsx @@ -561,6 +561,7 @@ const { setting } = this.state if (!setting.supModule || setting.supModule !== MenuID) return + if (id !== this.state.BID || id !== '') { this.setState({ pageIndex: 1, diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index 0e4ec35..1d68ce3 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -707,6 +707,7 @@ item.subcards = item.subcards.map(group => { group.subButton.uuid = group.uuid group.subButton.$menuId = group.uuid + group.subButton.$MenuID = this.props.MenuID // group.subButton.$forbid = true // 涓嶅0鏄庢暟鎹簮鍙橀噺 group.subButton.OpenType = 'formSubmit' group.subButton.execError = 'never' @@ -1080,6 +1081,15 @@ } reloadview = () => { + window.GLOB.CacheData.delete(this.props.MenuID) + + if (this.state.config) { + this.deleteCache(this.state.config.components) + this.state.config.interfaces.forEach(m => { + window.GLOB.CacheData.delete(m.uuid) + }) + } + this.setState({ BID: '', // 椤甸潰璺宠浆鏃舵惡甯D loadingview: true, // 椤甸潰鍔犺浇涓� diff --git a/src/tabviews/custom/popview/index.jsx b/src/tabviews/custom/popview/index.jsx index 04863e0..4a0a7e9 100644 --- a/src/tabviews/custom/popview/index.jsx +++ b/src/tabviews/custom/popview/index.jsx @@ -534,6 +534,7 @@ item.subcards = item.subcards.map(group => { group.subButton.uuid = group.uuid group.subButton.$menuId = group.uuid + group.subButton.$MenuID = Tab.$MenuID group.subButton.OpenType = 'formSubmit' group.subButton.execError = 'never' group.subButton.logLabel = item.$menuname + '-' + group.subButton.label diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index b1d4898..f95e1ef 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -1913,15 +1913,14 @@ MenuID: btn.MenuID, MenuName: btn.MenuName, MenuNo: btn.MenuNo, - type: btn.tabType, - param: { - $BID: id - } + type: btn.tabType } } else if (!newtab) { return } + newtab = {...newtab, param: { $BID: id }} + if (['linkage_navigation', 'linkage', 'menu_board'].includes(window.GLOB.navBar)) { MKEmitter.emit('modifyTabs', newtab, 'replace') } else { diff --git a/src/templates/comtableconfig/updatetable/index.jsx b/src/templates/comtableconfig/updatetable/index.jsx index 39b7c6c..54e8072 100644 --- a/src/templates/comtableconfig/updatetable/index.jsx +++ b/src/templates/comtableconfig/updatetable/index.jsx @@ -77,24 +77,22 @@ style: { backgroundColor: '#ffffff', paddingTop: '16px', paddingBottom: '80px', paddingLeft: '16px', paddingRight: '16px'}, } - let uuids = {} let formActions = [] let popActions = [] let errors = [] - let mainTb = {name: '涓昏〃', uuid: Utils.getuuid(), useMSearch: 'false'} + let mainTb = {name: '涓昏〃', uuid: Utils.getuuid(), useMSearch: 'false', isMain: true} let oldtabs = { mainTable: mainTb.uuid } - let tbl = this.getTable(config, mainTb, uuids, errors, formActions, popActions, oldtabs) + let tbl = this.getTable(config, mainTb, errors, formActions, popActions, oldtabs) - if (config.autoMatic && config.autoMatic.enable === 'true' && uuids[config.autoMatic.action]) { - _config.autoMatic = {...config.autoMatic} - _config.autoMatic.action = uuids[config.autoMatic.action] - - if (tbl.action.filter(item => item.uuid === _config.autoMatic.action && (['pop', 'prompt', 'exec'].includes(item.OpenType) || (item.OpenType === 'funcbutton' && item.funcType === 'print'))).length === 0) { + if (config.autoMatic && config.autoMatic.enable === 'true') { + if (tbl.action.filter(item => item.uuid === config.autoMatic.action && (['pop', 'prompt', 'exec'].includes(item.OpenType) || (item.OpenType === 'funcbutton' && item.funcType === 'print'))).length === 0) { _config.autoMatic = {enable: 'false'} + } else { + _config.autoMatic = {...config.autoMatic} } } else { _config.autoMatic = {enable: 'false'} @@ -185,7 +183,7 @@ _config.components = _config.components.map(item => { if (item.type === 'tabs') { item.subtabs = item.subtabs.map(tab => { - tab.components[0] = this.getTable(menus[tab.components[0].linkTab], tab.components[0], uuids, errors, formActions, popActions, oldtabs) + tab.components[0] = this.getTable(menus[tab.components[0].linkTab], tab.components[0], errors, formActions, popActions, oldtabs) return tab }) @@ -262,7 +260,7 @@ MenuName: btn.label, tables: _config.tables || [], Template: 'BaseTable', - components: [this.getTable(menus[btn.uuid], mainTb, {}, errors, formActions)], + components: [this.getTable(menus[btn.uuid], mainTb, errors, formActions)], viewType: 'popview', style: { backgroundColor: '#ffffff', backgroundImage: '', paddingTop: '16px', paddingBottom: '40px', paddingLeft: '16px', paddingRight: '16px' } } @@ -286,7 +284,7 @@ MenuName: btn.label, tables: _config.tables || [], Template: 'BaseTable', - components: [this.getTable(menus[btn.uuid], mainTb, {}, errors, formActions)], + components: [this.getTable(menus[btn.uuid], mainTb, errors, formActions)], viewType: 'popview', style: { backgroundColor: '#ffffff', backgroundImage: '', paddingTop: '16px', paddingBottom: '40px', paddingLeft: '16px', paddingRight: '16px' } } @@ -311,7 +309,7 @@ MenuName: btn.label, tables: _config.tables || [], Template: 'BaseTable', - components: [this.getTable(menus[btn.uuid], mainTb, {}, errors, formActions)], + components: [this.getTable(menus[btn.uuid], mainTb, errors, formActions)], viewType: 'popview', style: { backgroundColor: '#ffffff', backgroundImage: '', paddingTop: '16px', paddingBottom: '40px', paddingLeft: '16px', paddingRight: '16px' } } @@ -335,7 +333,7 @@ MenuName: btn.label, tables: _config.tables || [], Template: 'BaseTable', - components: [this.getTable(menus[btn.uuid], mainTb, {}, errors, formActions)], + components: [this.getTable(menus[btn.uuid], mainTb, errors, formActions)], viewType: 'popview', style: { backgroundColor: '#ffffff', backgroundImage: '', paddingTop: '16px', paddingBottom: '40px', paddingLeft: '16px', paddingRight: '16px' } } @@ -682,6 +680,8 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) + let save = false + new Promise(resolve => { Api.getSystemConfig(param).then(res => { resolve(res) @@ -689,10 +689,14 @@ }).then(res => { // 鍒犻櫎鍘熻彍鍗� if (!res || !res.status) return res + save = true + localStorage.setItem('menuUpdate', new Date().getTime() + ',' + config.uuid) + if (this.delButtons.length === 0) return res return Api.getSystemConfig({ func: 'sPC_MainMenu_Del', + up_type: 'Y', MenuID: this.delButtons.join(',') }) }).then(res => { @@ -701,8 +705,6 @@ _resolve() if (res.status) { - localStorage.setItem('menuUpdate', new Date().getTime()) - notification.success({ top: 92, message: '鍗囩骇鎴愬姛', @@ -719,16 +721,28 @@ window.location.reload() }, 2000) } else { - notification.warning({ - top: 92, - message: res.message, - duration: 5 + Modal.warning({ + title: res.message, + okText: '鐭ラ亾浜�', + onOk: () => { + if (save) { + delete urlparam.type + delete urlparam.MenuType + + let _param = window.btoa(window.encodeURIComponent(JSON.stringify(urlparam))) + + window.history.replaceState(null, null, window.location.href.split('#')[0] + `#/tabledesign/${_param}`) + window.location.reload() + } else { + window.location.reload() + } + } }) } }) } - getTable = (config, newCon, uuids, errors, formActions, popActions, oldtabs) => { + getTable = (config, newCon, errors, formActions, popActions, oldtabs) => { let _card = { uuid: newCon.uuid, type: 'table', @@ -961,11 +975,12 @@ let colbtns = [] let colors = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#666666', default: 'rgba(0, 0, 0, 0.65)' } + let uuids = {} config.action.forEach(btn => { let _c = btn.class ? btn.class.replace('border-', '') : '' let color = colors[_c] || '#1890ff' let _btn = fromJS(btn).toJS() - _btn.uuid = Utils.getuuid() + // _btn.uuid = Utils.getuuid() delete _btn.position delete _btn.linkTab @@ -1001,8 +1016,6 @@ _btn.popClose = 'mainline' } - uuids[btn.uuid] = _btn.uuid - if (btn.OpenType === 'pop' || (btn.OpenType === 'funcbutton' && btn.funcType === 'print' && btn.execMode === 'pop')) { formActions.push({origin: btn.uuid, uuid: _btn.uuid, name: newCon.name, label: btn.label}) @@ -1017,6 +1030,8 @@ return } } + + uuids[btn.uuid] = true if (_btn.tabType === 'CommonTable' || _btn.tabType === 'SubTable') { _btn.tabType = 'BaseTable' @@ -1075,9 +1090,7 @@ } }) - if (config.setting.doubleClick && uuids[config.setting.doubleClick]) { - _card.wrap.doubleClick = uuids[config.setting.doubleClick] - } else { + if (config.setting.doubleClick && !uuids[config.setting.doubleClick]) { _card.wrap.doubleClick = '' } diff --git a/src/views/menudesign/index.jsx b/src/views/menudesign/index.jsx index 56b75f7..314bb5d 100644 --- a/src/views/menudesign/index.jsx +++ b/src/views/menudesign/index.jsx @@ -847,7 +847,6 @@ btnParam.LText = Utils.formatOptions(btnParam.LText) btnParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') btnParam.secretkey = Utils.encrypt(btnParam.LText, btnParam.timestamp) - new Promise(resolve => { if (MenuType === 'billPrint') { // 鎵撳嵃鐢熸垚椤甸潰鏁堟灉鍥� @@ -889,10 +888,7 @@ if (!res || !res.status) return res if (MenuType !== 'billPrint') { // 鍩烘湰淇℃伅鏀瑰彉鏃讹紝閫氱煡鑿滃崟鍒楄〃鏇存柊 - let ori = this.state.oriConfig - if (config.MenuName !== ori.MenuName || config.MenuNo !== ori.MenuNo || config.parentId !== ori.parentId) { - localStorage.setItem('menuUpdate', new Date().getTime()) - } + localStorage.setItem('menuUpdate', new Date().getTime() + ',' + config.uuid) } config.open_edition = res.open_edition || '' this.setState({ diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx index 811a739..1eed346 100644 --- a/src/views/mobdesign/index.jsx +++ b/src/views/mobdesign/index.jsx @@ -1474,6 +1474,8 @@ needUpdate: false }) + localStorage.setItem('mobUpdate', new Date().getTime() + ',' + config.uuid) + notification.success({ top: 92, message: '淇濆瓨鎴愬姛', diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx index c1ad96f..fa764b8 100644 --- a/src/views/pcdesign/index.jsx +++ b/src/views/pcdesign/index.jsx @@ -1399,6 +1399,8 @@ needUpdate: false }) + localStorage.setItem('pcUpdate', new Date().getTime() + ',' + config.uuid) + notification.success({ top: 92, message: '淇濆瓨鎴愬姛', diff --git a/src/views/systemfunc/sidemenu/config.jsx b/src/views/systemfunc/sidemenu/config.jsx index 437e65b..f98e20f 100644 --- a/src/views/systemfunc/sidemenu/config.jsx +++ b/src/views/systemfunc/sidemenu/config.jsx @@ -32,13 +32,13 @@ MenuID: '1583979633842550imkchl4qt4qppsiv', MenuNo: 'sVersionMUpgrade', MenuName: '鐗堟湰鍗囩骇', - // }, { - // src: '', - // PageParam: {OpenType: 'newtab', Template: 'TabManage'}, - // type: 'TabManage', - // MenuID: 'TabManageView', - // MenuNo: 'TabManage', - // MenuName: '鏍囩椤电鐞�', + }, { + src: '', + PageParam: {OpenType: 'newtab', Template: 'TabManage'}, + type: 'TabManage', + MenuID: 'TabManageView', + MenuNo: 'TabManage', + MenuName: '鏍囩椤电鐞�', }, { src: '', PageParam: {OpenType: 'newtab', Template: 'CommonTable'}, diff --git a/src/views/tabledesign/index.jsx b/src/views/tabledesign/index.jsx index b68db34..d368f6b 100644 --- a/src/views/tabledesign/index.jsx +++ b/src/views/tabledesign/index.jsx @@ -585,10 +585,7 @@ }).then(res => { if (!res || !res.status) return res - let ori = this.state.oriConfig - if (config.MenuName !== ori.MenuName || config.MenuNo !== ori.MenuNo || config.parentId !== ori.parentId) { - localStorage.setItem('menuUpdate', new Date().getTime()) - } + localStorage.setItem('menuUpdate', new Date().getTime() + ',' + config.uuid) config.open_edition = res.open_edition || '' this.setState({ -- Gitblit v1.8.0