| | |
| | | } |
| | | } |
| | | |
| | | .ant-modal.popview-modal { |
| | | top: 70px; |
| | | .ant-modal-body { |
| | | min-height: 200px; |
| | | max-height: calc(100vh - 210px); |
| | | overflow-y: auto; |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar { |
| | | width: 7px; |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | // .ant-modal.popview-modal { |
| | | // top: 70px; |
| | | // .ant-modal-body { |
| | | // min-height: 200px; |
| | | // max-height: calc(100vh - 210px); |
| | | // overflow-y: auto; |
| | | // } |
| | | // .ant-modal-body::-webkit-scrollbar { |
| | | // width: 7px; |
| | | // } |
| | | // .ant-modal-body::-webkit-scrollbar-thumb { |
| | | // border-radius: 5px; |
| | | // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | // background: rgba(0, 0, 0, 0.13); |
| | | // } |
| | | // .ant-modal-body::-webkit-scrollbar-track { |
| | | // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | // border-radius: 3px; |
| | | // border: 1px solid rgba(0, 0, 0, 0.07); |
| | | // background: rgba(0, 0, 0, 0); |
| | | // } |
| | | // } |
| | | .ant-modal-wrap.popview-modal { |
| | | .ant-modal { |
| | | top: 70px; |
| | |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | |
| | | .ant-modal-wrap.mk-pop-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | } |
| | | .ant-modal-body { |
| | | padding: 0; |
| | | |
| | | .mk-com-name { |
| | | position: absolute; |
| | | top: 38px; |
| | | left: 10px; |
| | | color: rgba(0, 0, 0, 0.85); |
| | | font-size: 15px; |
| | | } |
| | | .ant-tabs { |
| | | .ant-tabs-nav-wrap { |
| | | text-align: center; |
| | | } |
| | | .ant-tabs-bar { |
| | | padding-top: 15px; |
| | | .ant-tabs-nav-container { |
| | | font-size: 15px; |
| | | } |
| | | } |
| | | .ant-tabs-content { |
| | | min-height: 50vh; |
| | | max-height: calc(100vh - 210px); |
| | | |
| | | .ant-tabs-tabpane { |
| | | position: relative; |
| | | overflow-x: hidden; |
| | | overflow-y: auto; |
| | | padding: 0 24px 24px; |
| | | } |
| | | |
| | | .ant-tabs-tabpane::-webkit-scrollbar { |
| | | width: 7px; |
| | | } |
| | | .ant-tabs-tabpane::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .ant-tabs-tabpane::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 设置模态框样式,规定最大最小高度,重置滚动条 |
| | | .action-modal { |
| | | .ant-modal { |
| | |
| | | |
| | | if (!card) return null |
| | | |
| | | if (['pop', 'prompt', 'exec'].includes(card.OpenType)) { |
| | | if (['pop', 'prompt', 'exec', 'form'].includes(card.OpenType)) { |
| | | return <VerifyCard |
| | | card={card} |
| | | dict={dict} |
| | |
| | | </Modal> |
| | | {/* 按钮使用系统存储过程时,验证信息模态框 */} |
| | | <Modal |
| | | wrapClassName="model-table-action-verify-modal" |
| | | title={(card && card.label ? card.label + ' - ' : '') + '验证信息'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={profVisible} |
| | | width={'90vw'} |
| | | maskClosable={false} |
| | |
| | | .card-cell:hover, .card-button-cell:hover { |
| | | box-shadow: 0px 0px 2px #1890ff; |
| | | } |
| | | } |
| | | .model-table-action-verify-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | padding-bottom: 5px; |
| | | .ant-modal-body { |
| | | max-height: calc(100vh - 190px); |
| | | min-height: calc(100vh - 300px); |
| | | overflow-y: auto; |
| | | .ant-empty { |
| | | margin: 5vh 8px; |
| | | } |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar { |
| | | width: 7px; |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | } |
| | |
| | | <div className="line-chart-drawer-form"> |
| | | <EditOutlined title="编辑" onClick={this.showDrawer}/> |
| | | <Modal |
| | | wrapClassName="popview-modal menu-chart-edit-modal" |
| | | title={config.type === 'bar' ? '柱状图编辑' : '折线图编辑'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={visible} |
| | | width={1000} |
| | | maskClosable={false} |
| | |
| | | onCancel={() => { this.setState({ visible: false }) }} |
| | | destroyOnClose |
| | | > |
| | | {config.name ? <div className="mk-com-name">{config.name} - 编辑</div> : null} |
| | | <Tabs activeKey={view} className="menu-chart-edit-box" onChange={this.changeTab}> |
| | | <TabPane tab="组件设置" key="base"> |
| | | <NormalForm dict={this.props.dict} formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | .menu-chart-edit-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | .ant-modal-body { |
| | | max-height: calc(100vh - 190px); |
| | | min-height: 50vh; |
| | | padding-top: 10px; |
| | | .menu-chart-edit-box { |
| | | .ant-radio-wrapper { |
| | | margin-right: 5px; |
| | | } |
| | | .ant-tabs-nav-wrap { |
| | | text-align: center; |
| | | } |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | .ant-table-column-title { |
| | | white-space: nowrap; |
| | | } |
| | | } |
| | | } |
| | | .menu-chart-edit-box { |
| | | .ant-radio-wrapper { |
| | | margin-right: 5px; |
| | | } |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | .ant-table-column-title { |
| | | white-space: nowrap; |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | <div className="line-chart-drawer-form"> |
| | | <EditOutlined title="编辑" onClick={this.showDrawer} /> |
| | | <Modal |
| | | wrapClassName="popview-modal menu-chart-edit-modal" |
| | | title={config.subtype === 'ratioboard' ? '占比图编辑' : '仪表盘编辑'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={visible} |
| | | width={850} |
| | | maskClosable={false} |
| | |
| | | onCancel={() => { this.setState({ visible: false }) }} |
| | | destroyOnClose |
| | | > |
| | | {config.name ? <div className="mk-com-name">{config.name} - 编辑</div> : null} |
| | | <Tabs activeKey={view} className="menu-chart-edit-box" onChange={this.changeTab}> |
| | | <TabPane tab="组件设置" key="base"> |
| | | <NormalForm dict={this.props.dict} formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | .menu-chart-edit-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | .ant-modal-body { |
| | | min-height: 50vh; |
| | | max-height: calc(100vh - 190px); |
| | | padding-top: 10px; |
| | | .ant-tabs-nav-wrap { |
| | | text-align: center; |
| | | } |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | .color-col { |
| | | .ant-form-item-control { |
| | | height: 40px; |
| | | } |
| | | } |
| | | .menu-chart-edit-box { |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | .color-col { |
| | | .ant-form-item-control { |
| | | height: 40px; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { config } = this.props |
| | | const { visible, plot, colorColumns, view, baseFormlist } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | |
| | | <div className="line-chart-drawer-form"> |
| | | <EditOutlined title="编辑" onClick={this.showDrawer} /> |
| | | <Modal |
| | | wrapClassName="popview-modal menu-chart-edit-modal" |
| | | title="饼图编辑" |
| | | wrapClassName="mk-pop-modal" |
| | | visible={visible} |
| | | width={850} |
| | | maskClosable={false} |
| | |
| | | onCancel={() => { this.setState({ visible: false }) }} |
| | | destroyOnClose |
| | | > |
| | | {config.name ? <div className="mk-com-name">{config.name} - 编辑</div> : null} |
| | | <Tabs activeKey={view} className="menu-chart-edit-box" onChange={this.changeTab}> |
| | | <TabPane tab="组件设置" key="base"> |
| | | <NormalForm dict={this.props.dict} formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | .menu-chart-edit-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | .ant-modal-body { |
| | | min-height: 50vh; |
| | | max-height: calc(100vh - 190px); |
| | | padding-top: 10px; |
| | | .ant-tabs-nav-wrap { |
| | | text-align: center; |
| | | } |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | .menu-chart-edit-box { |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { config } = this.props |
| | | const { view, visible, baseFormlist } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | |
| | | <div className="line-chart-drawer-form"> |
| | | <EditOutlined title="编辑" onClick={this.showDrawer} /> |
| | | <Modal |
| | | wrapClassName="popview-modal menu-chart-edit-modal" |
| | | title="散点图编辑" |
| | | wrapClassName="mk-pop-modal" |
| | | visible={visible} |
| | | width={850} |
| | | maskClosable={false} |
| | |
| | | onCancel={() => { this.setState({ visible: false }) }} |
| | | destroyOnClose |
| | | > |
| | | {config.name ? <div className="mk-com-name">{config.name} - 编辑</div> : null} |
| | | <Tabs activeKey={view} className="menu-chart-edit-box" onChange={this.changeTab}> |
| | | <TabPane tab="组件设置" key="base"> |
| | | <NormalForm dict={this.props.dict} formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | .menu-chart-edit-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | .ant-modal-body { |
| | | max-height: calc(100vh - 190px); |
| | | min-height: 50vh; |
| | | padding-top: 10px; |
| | | .menu-chart-edit-box { |
| | | .ant-tabs-nav-wrap { |
| | | text-align: center; |
| | | } |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | } |
| | | .menu-chart-edit-box { |
| | | .color-sketch-block { |
| | | position: relative; |
| | | top: 5px; |
| | | width: 240px; |
| | | } |
| | | .color-add { |
| | | float: right; |
| | | margin-bottom: 10px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | import { getBaseForm } from './formconfig' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import './index.scss' |
| | | // import './index.scss' |
| | | |
| | | const { TabPane } = Tabs |
| | | const NormalForm = asyncComponent(() => import('@/menu/components/share/normalform')) |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { config } = this.props |
| | | const { view, visible, baseFormlist, plot } = this.state |
| | | |
| | | return ( |
| | | <> |
| | | <EditOutlined style={{color: '#1890ff'}} title="编辑" onClick={this.showDrawer} /> |
| | | <Modal |
| | | wrapClassName="popview-modal custom-chart-edit-modal" |
| | | title="自定义图表编辑" |
| | | wrapClassName="mk-pop-modal" |
| | | visible={visible} |
| | | width={950} |
| | | maskClosable={false} |
| | |
| | | onCancel={() => { this.setState({ visible: false }) }} |
| | | destroyOnClose |
| | | > |
| | | {config.name ? <div className="mk-com-name">{config.name} - 编辑</div> : null} |
| | | <Tabs activeKey={view} onChange={this.changeTab}> |
| | | <TabPane tab="组件设置" key="base"> |
| | | <NormalForm dict={this.props.dict} formlist={baseFormlist} inputSubmit={this.onSubmit} wrappedComponentRef={(inst) => this.baseRef = inst}/> |
| | |
| | | .custom-chart-edit-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | .ant-modal-body { |
| | | max-height: calc(100vh - 190px); |
| | | min-height: 50vh; |
| | | padding-top: 10px; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | </Modal> |
| | | {/* 按钮使用系统存储过程时,验证信息模态框 */} |
| | | <Modal |
| | | wrapClassName="model-table-action-verify-modal" |
| | | title={'验证信息'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={profVisible} |
| | | width={'90vw'} |
| | | maskClosable={false} |
| | |
| | | </Modal> |
| | | {/* 按钮使用系统存储过程时,验证信息模态框 */} |
| | | <Modal |
| | | wrapClassName="model-table-action-verify-modal" |
| | | title={(card && card.label ? card.label + ' - ' : '') + '验证信息'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={profVisible} |
| | | width={'90vw'} |
| | | maskClosable={false} |
| | |
| | | background-color: #cccccc; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .model-table-action-verify-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | padding-bottom: 5px; |
| | | .ant-modal-body { |
| | | max-height: calc(100vh - 190px); |
| | | min-height: calc(100vh - 300px); |
| | | overflow-y: auto; |
| | | .ant-empty { |
| | | margin: 5vh 8px; |
| | | } |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar { |
| | | width: 7px; |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | } |
| | |
| | | const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) |
| | | const UserComponent = asyncIconComponent(() => import('@/menu/components/share/usercomponent')) |
| | | const PasteComponent = asyncIconComponent(() => import('@/menu/components/share/pastecomponent')) |
| | | // const LogComponent = asyncIconComponent(() => import('@/menu/components/share/logcomponent')) |
| | | const ColumnComponent = asyncComponent(() => import('./columns')) |
| | | |
| | | class TableCardEditComponent extends Component { |
| | |
| | | } |
| | | |
| | | state = { |
| | | appType: sessionStorage.getItem('appType'), |
| | | card: null, |
| | | back: false |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | const { card } = this.props |
| | | const { appType } = this.state |
| | | |
| | | if (card.isNew) { |
| | | let _card = { |
| | |
| | | } |
| | | } |
| | | |
| | | if (appType === 'mob') { |
| | | _card.search = [] |
| | | _card.action = _card.action.filter(a => !a.origin) |
| | | } |
| | | |
| | | this.updateComponent(_card) |
| | | } else { |
| | | let _card = fromJS(card).toJS() |
| | | if (appType === 'mob') { |
| | | _card.search = [] |
| | | } |
| | | |
| | | this.setState({ |
| | | card: _card |
| | |
| | | |
| | | componentDidMount () { |
| | | MKEmitter.addListener('submitModal', this.handleSave) |
| | | // MKEmitter.addListener('logButton', this.logButton) |
| | | MKEmitter.addListener('completeSave', this.completeSave) |
| | | } |
| | | |
| | |
| | | return |
| | | } |
| | | MKEmitter.removeListener('submitModal', this.handleSave) |
| | | // MKEmitter.removeListener('logButton', this.logButton) |
| | | MKEmitter.removeListener('completeSave', this.completeSave) |
| | | } |
| | | |
| | |
| | | this.props.updateConfig(_card) |
| | | } |
| | | |
| | | // logButton = (id, item) => { |
| | | // const { card } = this.state |
| | | |
| | | // if (id !== card.uuid) return |
| | | |
| | | // let btnlog = card.btnlog || [] |
| | | // btnlog.push(item) |
| | | |
| | | // this.updateComponent({...card, btnlog}) |
| | | // } |
| | | |
| | | changeStyle = () => { |
| | | const { card } = this.state |
| | | |
| | |
| | | } |
| | | |
| | | setSubConfig = (item) => { |
| | | const { card, appType } = this.state |
| | | const { card } = this.state |
| | | let btn = fromJS(item).toJS() |
| | | |
| | | if (btn.OpenType === 'pop' || btn.execMode === 'pop') { |
| | | if (!btn.modal) { |
| | | btn.modal = { |
| | | setting: { title: btn.label, width: appType === 'mob' ? 100 : 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' }, |
| | | setting: { title: btn.label, width: 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' }, |
| | | tables: [], |
| | | groups: [], |
| | | fields: [] |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { card, appType } = this.state |
| | | const { card } = this.state |
| | | let options = ['action', 'search', 'form', 'cols'] |
| | | let _style = resetStyle(card.style) |
| | | |
| | | if (appType === 'mob') { |
| | | options = ['action', 'cols'] |
| | | } |
| | | |
| | | return ( |
| | | <div className="menu-normal-table-edit-box" style={_style} onClick={this.clickComponent} id={card.uuid}> |
| | |
| | | <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ |
| | | <div className="mk-popover-control"> |
| | | <PlusOutlined className="plus" title="添加列" onClick={this.addColumns}/> |
| | | {appType !== 'mob' ? <PlusCircleOutlined className="plus" title="添加搜索" onClick={this.addSearch}/> : null} |
| | | <PlusCircleOutlined className="plus" title="添加搜索" onClick={this.addSearch}/> |
| | | <PlusSquareOutlined className="plus" title="添加按钮" onClick={this.addButton}/> |
| | | <NormalForm title="表格设置" width={800} update={this.updateWrap} getForms={this.getWrapForms}> |
| | | <EditOutlined style={{color: '#1890ff'}} title="编辑"/> |
| | |
| | | <div className="model-datasource"> |
| | | <SettingOutlined title="数据源" onClick={() => this.editDataSource()} /> |
| | | <Modal |
| | | wrapClassName="popview-modal" |
| | | title="数据源配置" |
| | | wrapClassName="mk-pop-modal" |
| | | title="" |
| | | visible={visible} |
| | | width={'75vw'} |
| | | maskClosable={false} |
| | |
| | | handleEdit = (record) => { |
| | | this.scriptsForm.edit(record) |
| | | |
| | | let node = document.getElementById('model-data-source-wrap').parentNode |
| | | // let node = document.getElementById('mk-scripts-tabpane').parentNode |
| | | let node = document.getElementById('mk-scripts-tabpane') |
| | | |
| | | if (node && node.scrollTop) { |
| | | let inter = Math.ceil(node.scrollTop / 10) |
| | |
| | | const { columns, setting, scripts, colColumns, scriptsColumns, activeKey, loading, searches, defaultsql, visible, script, scriptValue } = this.state |
| | | |
| | | return ( |
| | | <div id="model-data-source-wrap"> |
| | | <div className="model-data-source-wrap"> |
| | | {config.name ? <div className="mk-com-name">{config.name} - 数据源</div> : null} |
| | | {loading && <Spin size="large" />} |
| | | <Tabs activeKey={activeKey} className="data-source-card-box" onChange={this.changeTab}> |
| | | <TabPane tab="数据源" key="setting"> |
| | |
| | | 自定义脚本 |
| | | {scripts.length ? <span className="count-tip">{scripts.length}</span> : null} |
| | | </span> |
| | | } key="scripts"> |
| | | <BorderOutlined className="full-scripts" onClick={() => { |
| | | } key="scripts" id="mk-scripts-tabpane"> |
| | | {scripts.length ? <BorderOutlined className="full-scripts" onClick={() => { |
| | | if (this.scriptsForm && (this.scriptsForm.state.editItem || (this.scriptsForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.scriptsForm.props.form.getFieldValue('sql'))))) { |
| | | notification.warning({ |
| | | top: 92, |
| | |
| | | return |
| | | } |
| | | this.setState({visible: true, script: null, scriptValue: ''}) |
| | | }}/> |
| | | }}/> : null} |
| | | <CustomScriptsForm |
| | | setting={setting} |
| | | searches={searches} |
| | |
| | | #model-data-source-wrap { |
| | | .model-data-source-wrap { |
| | | .ant-spin { |
| | | position: absolute; |
| | | left: calc(50% - 16px); |
| | | top: 220px; |
| | | z-index: 1; |
| | | } |
| | | .ant-tabs-tabpane { |
| | | position: relative; |
| | | } |
| | | .data-source-card-box { |
| | | .ant-tabs-nav-scroll { |
| | |
| | | color: #1890ff; |
| | | font-size: 12px; |
| | | } |
| | | .ant-tabs-content { |
| | | min-height: 40vh; |
| | | } |
| | | table tr td { |
| | | word-wrap: break-word; |
| | | word-break: break-word; |
| | |
| | | .quickly-add { |
| | | position: absolute; |
| | | width: 100px; |
| | | right: 10px; |
| | | right: 24px; |
| | | top: 5px; |
| | | z-index: 2; |
| | | } |
| | |
| | | } |
| | | .full-scripts { |
| | | position: absolute; |
| | | right: 0px; |
| | | top: -40px; |
| | | font-size: 18px; |
| | | right: 24px; |
| | | top: 0px; |
| | | font-size: 16px; |
| | | color: #1890ff; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | .model-custom-view-scripts-modal { |
| | |
| | | import MKEmitter from '@/utils/events.js' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import StyleInput from './styleInput' |
| | | import MainLogo from '@/assets/img/main-logo.png' |
| | | import './index.scss' |
| | | |
| | | const { Panel } = Collapse |
| | |
| | | <Drawer |
| | | title={ |
| | | <div className="header-logo"> |
| | | <img src={window.GLOB.mainlogo} alt=""/> |
| | | <img src={MainLogo} alt=""/> |
| | | </div> |
| | | } |
| | | placement="left" |
| | |
| | | </Modal> |
| | | {/* 按钮使用系统存储过程时,验证信息模态框 */} |
| | | <Modal |
| | | wrapClassName="common-table-fields-modal" |
| | | title={'验证信息'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={this.state.profileVisible} |
| | | width={'90vw'} |
| | | maskClosable={false} |
| | |
| | | </Modal> |
| | | {/* 按钮使用系统存储过程时,验证信息模态框 */} |
| | | <Modal |
| | | wrapClassName="model-table-action-verify-modal" |
| | | title={(card && card.label ? card.label + ' - ' : '') + '验证信息'} |
| | | wrapClassName="mk-pop-modal" |
| | | visible={profVisible} |
| | | width={'90vw'} |
| | | maskClosable={false} |
| | |
| | | top: 60px; |
| | | padding-bottom: 5px; |
| | | } |
| | | } |
| | | .model-table-action-verify-modal { |
| | | .ant-modal { |
| | | top: 50px; |
| | | padding-bottom: 5px; |
| | | .ant-modal-body { |
| | | max-height: calc(100vh - 190px); |
| | | min-height: calc(100vh - 300px); |
| | | overflow-y: auto; |
| | | .ant-empty { |
| | | margin: 5vh 8px; |
| | | } |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar { |
| | | width: 7px; |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-thumb { |
| | | border-radius: 5px; |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); |
| | | background: rgba(0, 0, 0, 0.13); |
| | | } |
| | | .ant-modal-body::-webkit-scrollbar-track { |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); |
| | | border-radius: 3px; |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | handleEdit = (record, type) => { |
| | | let node = null |
| | | |
| | | if (type === 'scripts') { |
| | | this.scriptsForm.edit(record) |
| | | node = document.getElementById('mk-exin-script') |
| | | } |
| | | |
| | | let node = document.getElementById('verify-excel-box-tab').parentNode |
| | | |
| | | if (node && node.scrollTop) { |
| | | let inter = Math.ceil(node.scrollTop / 10) |
| | |
| | | } |
| | | |
| | | return ( |
| | | <div id="verify-excel-box-tab"> |
| | | <div> |
| | | {card.label ? <div className="mk-com-name">{card.label} - 验证信息</div> : null} |
| | | <Tabs activeKey={activeKey} className="excelin-verify-card-box" onChange={this.tabchange}> |
| | | <TabPane tab="基础验证" key="basemsg"> |
| | | <Form {...formItemLayout}> |
| | |
| | | 自定义脚本 |
| | | {verify.scripts.length ? <span className="count-tip">{verify.scripts.length}</span> : null} |
| | | </span> |
| | | } key="scripts"> |
| | | } key="scripts" id="mk-exin-script"> |
| | | <CustomScript |
| | | btn={this.props.card} |
| | | usefulfields={verify.columns} |
| | |
| | | } |
| | | |
| | | handleEdit = (record, type) => { |
| | | let node = null |
| | | |
| | | if (type === 'scripts') { |
| | | this.scriptsForm.edit(record) |
| | | node = document.getElementById('mk-exout-script') |
| | | } |
| | | |
| | | let node = document.getElementById('verify-excelout-box-tab').parentNode |
| | | |
| | | if (node && node.scrollTop) { |
| | | let inter = Math.ceil(node.scrollTop / 10) |
| | |
| | | } |
| | | |
| | | return ( |
| | | <div id="verify-excelout-box-tab"> |
| | | <div className="verify-excelout-box-tab"> |
| | | {card.label ? <div className="mk-com-name">{card.label} - 验证信息</div> : null} |
| | | {loading && <Spin size="large" />} |
| | | <Tabs activeKey={activeKey} className="excelout-verify-card-box" onChange={this.tabchange}> |
| | | {card.intertype === 'system' ? <TabPane tab="基础验证" key="setting"> |
| | |
| | | 自定义脚本 |
| | | {verify.scripts.length ? <span className="count-tip">{verify.scripts.length}</span> : null} |
| | | </span> |
| | | } key="scripts" disabled={verify.dataType !== 'custom'}> |
| | | } key="scripts" disabled={verify.dataType !== 'custom'} id="mk-exout-script"> |
| | | <CustomScript |
| | | btn={card} |
| | | sheet={verify.tableName} |
| | |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | #verify-excelout-box-tab { |
| | | .verify-excelout-box-tab { |
| | | >.ant-spin { |
| | | position: absolute; |
| | | top: calc(50% - 16px); |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { card } = this.props |
| | | const { getFieldDecorator } = this.props.form |
| | | |
| | | const { verify, linkType, printMode, printFunc } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | |
| | | } |
| | | |
| | | return ( |
| | | <div id="verify-card-box-tab"> |
| | | <div> |
| | | {card.label ? <div className="mk-com-name">{card.label} - 验证信息</div> : null} |
| | | <Tabs defaultActiveKey="1" className="verify-card-print-box" onChange={this.tabchange}> |
| | | <TabPane tab="打印验证" key="1"> |
| | | <Form {...formItemLayout}> |
| | |
| | | } |
| | | |
| | | handleEdit = (record, type) => { |
| | | let node = null |
| | | |
| | | if (type === 'customverify') { |
| | | this.customForm.edit(record) |
| | | node = document.getElementById('mk-custom-script') |
| | | } else if (type === 'ordercode') { |
| | | this.orderForm.edit(record) |
| | | } else if (type === 'scripts') { |
| | | this.scriptsForm.edit(record) |
| | | node = document.getElementById('mk-normal-script') |
| | | } else if (type === 'cbscripts') { |
| | | this.cbscriptsForm.edit(record) |
| | | node = document.getElementById('mk-callback-script') |
| | | } |
| | | |
| | | let node = document.getElementById('verify-card-box-tab').parentNode |
| | | // let node = document.getElementById('verify-card-box-tab').parentNode |
| | | |
| | | if (node && node.scrollTop) { |
| | | let inter = Math.ceil(node.scrollTop / 10) |
| | |
| | | } |
| | | |
| | | return ( |
| | | <div id="verify-card-box-tab"> |
| | | <div> |
| | | {card.label ? <div className="mk-com-name">{card.label} - 验证信息</div> : null} |
| | | <Tabs activeKey={activeKey} className="verify-card-box" onChange={this.changeTab}> |
| | | {verifyInter === 'system' || card.intertype === 'inner' ? <TabPane tab={ |
| | | <span> |
| | |
| | | 自定义验证 |
| | | {verify.customverifys.length ? <span className="count-tip">{verify.customverifys.length}</span> : null} |
| | | </span> |
| | | } key="customverifys"> |
| | | } key="customverifys" id="mk-custom-script"> |
| | | <CustomForm |
| | | dict={this.props.dict} |
| | | btn={this.props.card} |
| | |
| | | 自定义脚本 |
| | | {verify.scripts.length ? <span className="count-tip">{verify.scripts.length}</span> : null} |
| | | </span> |
| | | } key="scripts"> |
| | | } key="scripts" id="mk-normal-script"> |
| | | <BorderOutlined className="full-scripts" onClick={() => { |
| | | if (this.scriptsForm && (this.scriptsForm.state.editItem || (this.scriptsForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.scriptsForm.props.form.getFieldValue('sql'))))) { |
| | | notification.warning({ |
| | |
| | | 回调脚本 |
| | | {verify.cbScripts.length ? <span className="count-tip">{verify.cbScripts.length}</span> : null} |
| | | </span> |
| | | } key="cbScripts"> |
| | | } key="cbScripts" id="mk-callback-script"> |
| | | <CallBackCustomScript |
| | | btn={this.props.card} |
| | | dict={this.props.dict} |
| | |
| | | } |
| | | .full-scripts { |
| | | position: absolute; |
| | | right: 0px; |
| | | top: 18px; |
| | | font-size: 18px; |
| | | right: 24px; |
| | | top: 0px; |
| | | font-size: 16px; |
| | | color: #1890ff; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | .model-custom-scripts-modal { |