From 6dea6877f825d8b69bd1f0a9e127c8a03ec374be Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 29 三月 2024 23:15:06 +0800 Subject: [PATCH] 2024-03-29 --- src/index.js | 6 +- src/tabviews/custom/popview/index.jsx | 4 - src/tabviews/custom/index.jsx | 4 - src/tabviews/custom/components/share/tabtransfer/index.jsx | 4 - src/tabviews/custom/components/group/normal-group/index.jsx | 30 ++++++++++----- src/menu/components/group/normal-group/options.jsx | 12 ++++++ src/tabviews/custom/components/group/normal-group/index.scss | 55 +++++++++++++++++++++++++++ 7 files changed, 93 insertions(+), 22 deletions(-) diff --git a/src/index.js b/src/index.js index deb6444..378e09d 100644 --- a/src/index.js +++ b/src/index.js @@ -78,6 +78,9 @@ if (config.probation && /^20\d{2}-\d{2}-\d{2}$/.test(config.probation) && new Date(config.probation).getTime() > new Date().getTime()) { GLOB.probation = true } + if (config.forcedUpdate && /^20\d{2}-\d{2}-\d{2}$/.test(config.forcedUpdate) && new Date(config.forcedUpdate).getTime() > new Date().getTime()) { + GLOB.forcedUpdate = true + } // 鍙湁涓氬姟绯荤粺鎵嶅彲浠ヨ缃负姝e紡绯荤粺 if (GLOB.sysType === 'local' && (config.systemType === 'official' || config.systemType === 'production')) { @@ -93,9 +96,6 @@ } GLOB.systemType = 'production' - if (config.forcedUpdate && /^20\d{2}-\d{2}-\d{2}$/.test(config.forcedUpdate) && new Date(config.forcedUpdate).getTime() > new Date().getTime()) { - GLOB.forcedUpdate = true - } } else if (GLOB.sysType === 'local') { GLOB.probation = true GLOB.debugger = true diff --git a/src/menu/components/group/normal-group/options.jsx b/src/menu/components/group/normal-group/options.jsx index 8b4c290..9829b7f 100644 --- a/src/menu/components/group/normal-group/options.jsx +++ b/src/menu/components/group/normal-group/options.jsx @@ -122,6 +122,18 @@ ] }, { + type: 'radio', + field: 'mergeAble', + label: '灞曞紑/鏀惰捣', + initval: setting.mergeAble || 'false', + required: false, + options: [ + {value: 'true', label: '鍚敤'}, + {value: 'false', label: '绂佺敤'}, + ], + forbid: appType === 'mob' + }, + { type: 'multiselect', field: 'blacklist', label: '榛戝悕鍗�', diff --git a/src/tabviews/custom/components/group/normal-group/index.jsx b/src/tabviews/custom/components/group/normal-group/index.jsx index 5a87122..512b48e 100644 --- a/src/tabviews/custom/components/group/normal-group/index.jsx +++ b/src/tabviews/custom/components/group/normal-group/index.jsx @@ -1,5 +1,6 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' +import { DoubleLeftOutlined, DoubleRightOutlined } from '@ant-design/icons' import asyncComponent from '@/utils/asyncComponent' import './index.scss' @@ -8,23 +9,32 @@ class NormalGroup extends Component { static propTpyes = { - config: PropTypes.object, // 缁勪欢閰嶇疆淇℃伅 + config: PropTypes.object } - state = {} + state = { + visible: true, + mergeAble: this.props.config.setting.mergeAble === 'true' + } render() { - const { config } = this.props + const { config, style } = this.props + const { visible, mergeAble } = this.state - if (config.components.length === 0) return (<div style={config.style}></div>) + if (config.components.length === 0) return (<div className={'ant-col ant-col-' + config.width} style={style}><div style={config.style}></div></div>) return ( - <div className={'normal-group-wrap ' + (config.setting.layout || '')} id={'anchor' + config.uuid} style={config.style}> - {config.setting && config.setting.title ? <div className="group-header" style={config.headerStyle}> - <span className="title">{config.setting.title}</span> - </div> : null} - <TabTransfer config={config}/> - {/* <Row className="component-wrap">{this.getComponents()}</Row> */} + <div className={'ant-col ant-col-' + config.width + (mergeAble ? ' mk-merge-able' : '') + (visible ? '' : ' close')} style={style}> + <div className={'normal-group-wrap ' + (config.setting.layout || '')} id={'anchor' + config.uuid} style={config.style}> + <div className="mk-control"> + <DoubleLeftOutlined onClick={() => this.setState({visible: false})}/> + <DoubleRightOutlined onClick={() => this.setState({visible: true})}/> + </div> + {config.setting && config.setting.title ? <div className="group-header" style={config.headerStyle}> + <span className="title">{config.setting.title}</span> + </div> : null} + <TabTransfer config={config}/> + </div> </div> ) } diff --git a/src/tabviews/custom/components/group/normal-group/index.scss b/src/tabviews/custom/components/group/normal-group/index.scss index 3869386..0d6c035 100644 --- a/src/tabviews/custom/components/group/normal-group/index.scss +++ b/src/tabviews/custom/components/group/normal-group/index.scss @@ -20,6 +20,21 @@ z-index: 1; } } + + .mk-control { + display: none; + position: absolute; + top: 0px; + right: -24px; + z-index: 2; + background: #ffffff; + box-shadow: 0px 0px 2px #d8d8d8; + + .anticon { + padding: 5px; + cursor: pointer; + } + } } .normal-group-wrap::after { @@ -37,4 +52,44 @@ width: 5%; } } +} + +.mk-merge-able { + transition: all 0.2s; + + .normal-group-wrap { + position: relative; + } + .mk-control { + display: inline-block; + + .anticon-double-left { + display: inline-block; + } + .anticon-double-right { + display: none; + } + } +} +.mk-merge-able + .ant-col { + transition: all 0.2s; +} +.mk-merge-able.close { + width: 0px; + .normal-group-wrap { + margin: 0!important; + } + .mk-control { + display: inline-block; + + .anticon-double-left { + display: none; + } + .anticon-double-right { + display: inline-block; + } + } +} +.mk-merge-able.close + .ant-col { + width: 100%; } \ No newline at end of file diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx index 2523935..34289a8 100644 --- a/src/tabviews/custom/components/share/tabtransfer/index.jsx +++ b/src/tabviews/custom/components/share/tabtransfer/index.jsx @@ -294,9 +294,7 @@ ) } else if (item.type === 'group' && item.subtype === 'normalgroup') { return ( - <Col span={item.width} style={style} key={item.uuid}> - <NormalGroup config={item}/> - </Col> + <NormalGroup config={item} style={style} key={item.uuid}/> ) } else if (item.type === 'form' && item.subtype === 'simpleform') { return ( diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index 400b562..4122cd7 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -1642,9 +1642,7 @@ ) } else if (item.type === 'group' && item.subtype === 'normalgroup') { return ( - <Col span={item.width} style={style} key={item.uuid}> - <NormalGroup config={item}/> - </Col> + <NormalGroup config={item} style={style} key={item.uuid}/> ) } else if (item.type === 'editor') { return ( diff --git a/src/tabviews/custom/popview/index.jsx b/src/tabviews/custom/popview/index.jsx index a75db00..83c7cdf 100644 --- a/src/tabviews/custom/popview/index.jsx +++ b/src/tabviews/custom/popview/index.jsx @@ -1120,9 +1120,7 @@ ) } else if (item.type === 'group' && item.subtype === 'normalgroup') { return ( - <Col span={item.width} style={style} key={item.uuid}> - <NormalGroup config={item}/> - </Col> + <NormalGroup config={item} style={style} key={item.uuid}/> ) } else if (item.type === 'editor') { return ( -- Gitblit v1.8.0