| | |
| | | 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 = { |
| | |
| | | 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 { |
| | |
| | | _style_ = {clear: 'left'} |
| | | } |
| | | |
| | | let className = card.width || '' |
| | | if (card.hidden === 'true') { |
| | | className += ' mk-hidden' |
| | | } |
| | | if (card.checkType) { |
| | | className += ' ' + card.checkType |
| | | } |
| | | |
| | | return ( |
| | | <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ |
| | | <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}> |
| | |
| | | {hasProfile ? <ProfileOutlined className="profile" title="setting" onClick={() => profileCard(id)} /> : null} |
| | | </div> |
| | | } trigger="hover"> |
| | | <div ref={node => drag(drop(node))} style={_style_} className={'ant-col card-button-cell ant-col-' + card.width + (card.hidden === 'true' ? ' mk-hidden' : '')} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> |
| | | <div ref={node => drag(drop(node))} style={_style_} className={'ant-col card-button-cell ant-col-' + className} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> |
| | | <div style={{opacity: isDragging ? 0.3 : 1, ...card.wrapStyle}}> |
| | | {btnElement} |
| | | </div> |
| | |
| | | } |
| | | } |
| | | .ant-checkbox .ant-checkbox-inner { |
| | | border-color: #b8b8b8; |
| | | } |
| | | } |
| | | .card-button-cell:not(.square) { |
| | | .ant-checkbox .ant-checkbox-inner { |
| | | border-radius: 15px; |
| | | } |
| | | .ant-checkbox-checked::after { |
| | | border-radius: 15px; |
| | | } |
| | | } |
| | |
| | | forbid: subtype !== 'propcard' |
| | | }, |
| | | { |
| | | type: 'select', |
| | | field: 'bgField', |
| | | label: '背景图', |
| | | initval: setting.bgField || '', |
| | | tooltip: '动态背景,背景图片由字段值控制。请注意调整背景样式。', |
| | | required: false, |
| | | options: columns |
| | | }, |
| | | { |
| | | type: ops.length === 0 ? 'radio' : 'select', |
| | | field: 'click', |
| | | label: '点击事件', |
| | |
| | | if (this.record.formType === 'switch') { |
| | | shows.push('field', 'size', 'openVal', 'closeVal', 'openText', 'closeText') |
| | | } else if (this.record.formType === 'radio') { |
| | | shows.push('field', 'openVal', 'closeVal') |
| | | shows.push('field', 'checkType', 'openVal', 'closeVal') |
| | | } else { |
| | | shows.push('field') |
| | | } |
| | |
| | | }] |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | key: 'checkType', |
| | | label: '选框样式', |
| | | initVal: card.checkType || 'circle', |
| | | options: [{ |
| | | value: 'circle', |
| | | text: '圆角' |
| | | }, { |
| | | value: 'square', |
| | | text: '方角' |
| | | }] |
| | | }, |
| | | { |
| | | type: 'text', |
| | | key: 'openVal', |
| | | label: '开启值', |
| | |
| | | required: false, |
| | | options: ['px', 'vh', 'vw', '%'] |
| | | }, |
| | | { |
| | | type: 'styleInput', |
| | | field: 'maxWidth', |
| | | label: '最大宽度', |
| | | initval: wrap.maxWidth || '', |
| | | tooltip: '组件占用的最大宽度,用于页面布局。', |
| | | required: false, |
| | | options: ['px', 'vh', 'vw', '%'] |
| | | }, |
| | | // { |
| | | // type: 'styleInput', |
| | | // field: 'maxWidth', |
| | | // label: '最大宽度', |
| | | // initval: wrap.maxWidth || '', |
| | | // tooltip: '组件占用的最大宽度,用于页面布局。', |
| | | // required: false, |
| | | // options: ['px', 'vh', 'vw', '%'] |
| | | // }, |
| | | { |
| | | type: 'radio', |
| | | field: 'topTip', |
| | |
| | | |
| | | render() { |
| | | const { card, data, cards } = this.props |
| | | let style = {...card.style} |
| | | |
| | | if (card.setting.bgField) { |
| | | style.backgroundImage = `url('${data[card.setting.bgField] || ''}')` |
| | | } |
| | | |
| | | return ( |
| | | <div className={'card-item-box ' + (card.setting.btnControl || '')} style={card.style} onClick={this.openView} onDoubleClick={this.doubleClick}> |
| | | <div className={'card-item-box ' + (card.setting.btnControl || '')} style={style} onClick={this.openView} onDoubleClick={this.doubleClick}> |
| | | <CardCellComponent data={data} cards={cards} cardCell={card} elements={card.elements}/> |
| | | {card.setting.type === 'multi' ? <div className={'back-side ' + card.setting.transform} style={card.backStyle}> |
| | | <CardCellComponent data={data} cards={cards} cardCell={card} elements={card.backElements}/> |
| | |
| | | padding: 0; |
| | | overflow: hidden; |
| | | } |
| | | .ant-checkbox-inner, .ant-checkbox-checked::after { |
| | | border-radius: 15px; |
| | | .ant-checkbox-wrapper:not(.square) { |
| | | .ant-checkbox-inner, .ant-checkbox-checked::after { |
| | | border-radius: 15px; |
| | | } |
| | | } |
| | | .ant-checkbox-inner { |
| | | border-color: #b8b8b8; |
| | | } |
| | | } |
| | | .ant-mk-slider { |
| | |
| | | if (btn.formType === 'switch') { |
| | | return <Switch loading={loading} checked={check} disabled={disabled || loading} title={disabled ? (btn.reason || '') : ''} onChange={(val,e) => {e.stopPropagation();this.actionTrigger()}} style={btn.style} className={btn.size === 'large' ? 'ant-switch-large' : ''} size={btn.size} checkedChildren={btn.openText || ''} unCheckedChildren={btn.closeText || ''}/> |
| | | } else if (btn.formType === 'radio') { |
| | | return <Checkbox disabled={disabled || loading} title={disabled ? (btn.reason || '') : ''} checked={check} onChange={(e) => {e.stopPropagation();this.actionTrigger()}} style={btn.style}></Checkbox> |
| | | return <Checkbox className={btn.checkType || ''} disabled={disabled || loading} title={disabled ? (btn.reason || '') : ''} checked={check} onChange={(e) => {e.stopPropagation();this.actionTrigger()}} style={btn.style}></Checkbox> |
| | | } else { |
| | | return <Button type="link" icon="scan" disabled={true} style={btn.style} onClick={(e) => {e.stopPropagation()}}></Button> |
| | | } |
| | |
| | | border: 1px solid rgba(0, 0, 0, 0.07); |
| | | background: rgba(0, 0, 0, 0); |
| | | } |
| | | .card-button-cell { |
| | | .ant-checkbox-inner { |
| | | width: 20px; |
| | | height: 20px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .mk-mob-view.userbind { |
| | |
| | | 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: 'BaseTable'}, |