| | |
| | | password: { uuid: Utils.getuuid(), eleType: 'input', content: '密码', style: {}}, |
| | | login: { uuid: Utils.getuuid(), eleType: 'button', content: '登录', style: {fontSize: '16px', color: '#ffffff', textAlign: 'center', lineHeight: 2.4, backgroundColor: '#44a8f2'}}, |
| | | phone: { uuid: Utils.getuuid(), eleType: 'button', content: '手机短信登录', style: {fontSize: '16px', color: '#44a8f2', textAlign: 'center', lineHeight: 2.4, border: '1px solid #44a8f2'}}, |
| | | register: { uuid: Utils.getuuid(), eleType: 'text', content: '注册', style: {fontSize: '12px', color: '#44a8f2', textAlign: 'left'}}, |
| | | register: { uuid: Utils.getuuid(), eleType: 'text', content: '注册', style: {fontSize: '14px', color: '#44a8f2', textAlign: 'left'}}, |
| | | lose: { uuid: Utils.getuuid(), eleType: 'text', content: '忘记密码?', style: {fontSize: '12px', color: '#44a8f2', textAlign: 'right', textDecoration: 'underline'}}, |
| | | auth: { uuid: Utils.getuuid(), eleType: 'text', subItems: [ |
| | | {type: 'qq', icon: 'qq', label: 'QQ'}, |
| | | {type: 'wechat', icon: 'wechat', label: '微信'}, |
| | | ], content: '其他登录方式', style: {fontSize: '14px', color: '#bcbcbc', textAlign: 'center', marginTop: '30px', marginBottom: '20px'}}, |
| | | auth: { |
| | | uuid: Utils.getuuid(), eleType: 'text', |
| | | subItems: [ |
| | | {type: 'qq', icon: 'qq', label: 'QQ'}, |
| | | {type: 'wechat', icon: 'wechat', label: '微信'}, |
| | | ], |
| | | content: '其他登录方式', style: {fontSize: '14px', color: '#bcbcbc', textAlign: 'center', marginTop: '30px', marginBottom: '20px'} |
| | | }, |
| | | copyright: { uuid: Utils.getuuid(), eleType: 'textarea', content: 'Copyright©2017 所有相关版权归 北京明科普华信息技术有限公司', style: {fontSize: '12px', textAlign: 'center'} }, |
| | | links: { uuid: Utils.getuuid(), eleType: 'link', substyle: false, subItems: [ |
| | | {eleType: 'link', content: '隐私政策', url: '', uuid: Utils.getuuid()}, |
| | | {eleType: 'link', content: '使用条款', url: '', uuid: Utils.getuuid()}, |
| | | ], style: {fontSize: '12px', textAlign: 'center', color: '#44a8f2', textDecoration: 'underline'} } |
| | | links: { |
| | | uuid: Utils.getuuid(), eleType: 'link', substyle: false, |
| | | subItems: [ |
| | | {eleType: 'link', content: '隐私政策', url: '', uuid: Utils.getuuid()}, |
| | | {eleType: 'link', content: '使用条款', url: '', uuid: Utils.getuuid()}, |
| | | ], |
| | | style: {fontSize: '12px', textAlign: 'center', color: '#44a8f2', textDecoration: 'underline'} |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (view === 'account') return ( |
| | | <div className="mob-login-2" onClick={this.editBox} style={card.box.style}> |
| | | <div className="mob-login-body"> |
| | | {card.title ? <div className={'plat-name ' + (editId === card.title.uuid ? 'editing' : '')} style={titleStyle} onClick={this.editTitle}> |
| | | <ContentUpdate element={card.title} updateContent={(ele) => this.updateContent({...card, title: ele})}/> |
| | | {card.title.content} |
| | | </div> : null} |
| | | |
| | | <div className={`mk-login-input ${editId === card.user.uuid ? 'editing' : ''}`} onClick={(e) => this.editPlaceholder(e, 'user')}> |
| | | <ContentUpdate element={card.user} deletable={false} updateContent={(ele) => this.updateContent({...card, user: ele})}/> |
| | | <InputItem placeholder={card.user.content}></InputItem> |
| | | </div> |
| | | <div className={`mk-login-input ${editId === card.password.uuid ? 'editing' : ''}`} onClick={(e) => this.editPlaceholder(e, 'password')}> |
| | | <ContentUpdate element={card.password} deletable={false} updateContent={(ele) => this.updateContent({...card, password: ele})}/> |
| | | <InputItem placeholder={card.password.content}></InputItem> |
| | | </div> |
| | | <Button |
| | | className={'login ' + (editId === card.login.uuid ? 'editing' : '')} |
| | | onDoubleClick={() => this.props.doubleClickCard(card.login)} |
| | | style={card.login.style} |
| | | onClick={(e) => this.editLogin(e, 'login')} |
| | | > |
| | | <ContentUpdate element={card.login} deletable={false} updateContent={(ele) => this.updateContent({...card, login: ele})}/> |
| | | {card.login.content} |
| | | </Button> |
| | | <Button |
| | | className={'login ' + (editId === card.phone.uuid ? 'editing' : '')} |
| | | onDoubleClick={() => this.props.doubleClickCard(card.phone)} |
| | | style={card.phone.style} |
| | | onClick={(e) => this.editLogin(e, 'phone')} |
| | | > |
| | | <ContentUpdate element={card.phone} updateContent={(ele) => this.updateContent({...card, phone: ele})}/> |
| | | {card.phone.content} |
| | | </Button> |
| | | <div className="row-box"> |
| | | {card.register ? <div className={'col-item ' + (editId === card.register.uuid ? 'editing' : '')} style={card.register.style} onClick={this.editRegister}> |
| | | <ContentUpdate element={card.register} updateContent={(ele) => this.updateContent({...card, register: ele})}/> |
| | | {card.register.content} |
| | | </div> : null} |
| | | {card.lose ? <div className={'col-item right ' + (editId === card.lose.uuid ? 'editing' : '')} style={card.lose.style} onClick={this.editLose}> |
| | | <ContentUpdate element={card.lose} updateContent={(ele) => this.updateContent({...card, lose: ele})}/> |
| | | {card.lose.content} |
| | | </div> : null} |
| | | <div style={{clear: 'both'}}></div> |
| | | </div> |
| | | {card.auth ? <div className={'plat-name ' + (editId === card.auth.uuid ? 'editing' : '')} style={card.auth.style} onClick={this.editAuth}> |
| | | <ContentUpdate element={card.auth} updateContent={(ele) => this.updateContent({...card, auth: ele})}/> |
| | | {card.auth.content} |
| | | </div> : null} |
| | | {card.auth ? <div className="other-auth"> |
| | | {card.auth.subItems.map(cell => ( |
| | | <span key={cell.type}> |
| | | <Icon type={cell.icon} /> |
| | | <p>{cell.label}</p> |
| | | </span> |
| | | ))} |
| | | </div> : null} |
| | | {card.title ? <div className={'plat-name ' + (editId === card.title.uuid ? 'editing' : '')} style={titleStyle} onClick={this.editTitle}> |
| | | <ContentUpdate element={card.title} updateContent={(ele) => this.updateContent({...card, title: ele})}/> |
| | | {card.title.content} |
| | | </div> : null} |
| | | |
| | | <div className={`mk-login-input ${editId === card.user.uuid ? 'editing' : ''}`} onClick={(e) => this.editPlaceholder(e, 'user')}> |
| | | <ContentUpdate element={card.user} deletable={false} updateContent={(ele) => this.updateContent({...card, user: ele})}/> |
| | | <InputItem placeholder={card.user.content}></InputItem> |
| | | </div> |
| | | <div className={`mk-login-input ${editId === card.password.uuid ? 'editing' : ''}`} onClick={(e) => this.editPlaceholder(e, 'password')}> |
| | | <ContentUpdate element={card.password} deletable={false} updateContent={(ele) => this.updateContent({...card, password: ele})}/> |
| | | <InputItem placeholder={card.password.content}></InputItem> |
| | | </div> |
| | | <Button |
| | | className={'login ' + (editId === card.login.uuid ? 'editing' : '')} |
| | | onDoubleClick={() => this.props.doubleClickCard(card.login)} |
| | | style={card.login.style} |
| | | onClick={(e) => this.editLogin(e, 'login')} |
| | | > |
| | | <ContentUpdate element={card.login} deletable={false} updateContent={(ele) => this.updateContent({...card, login: ele})}/> |
| | | {card.login.content} |
| | | </Button> |
| | | <Button |
| | | className={'login ' + (editId === card.phone.uuid ? 'editing' : '')} |
| | | onDoubleClick={() => this.props.doubleClickCard(card.phone)} |
| | | style={card.phone.style} |
| | | onClick={(e) => this.editLogin(e, 'phone')} |
| | | > |
| | | <ContentUpdate element={card.phone} updateContent={(ele) => this.updateContent({...card, phone: ele})}/> |
| | | {card.phone.content} |
| | | </Button> |
| | | <div className="row-box"> |
| | | {card.register ? <div className={'col-item ' + (editId === card.register.uuid ? 'editing' : '')} style={card.register.style} onClick={this.editRegister}> |
| | | <ContentUpdate element={card.register} updateContent={(ele) => this.updateContent({...card, register: ele})}/> |
| | | {card.register.content} |
| | | </div> : null} |
| | | {card.lose ? <div className={'col-item right ' + (editId === card.lose.uuid ? 'editing' : '')} style={card.lose.style} onClick={this.editLose}> |
| | | <ContentUpdate element={card.lose} updateContent={(ele) => this.updateContent({...card, lose: ele})}/> |
| | | {card.lose.content} |
| | | </div> : null} |
| | | <div style={{clear: 'both'}}></div> |
| | | </div> |
| | | {card.auth ? <div className={'plat-name ' + (editId === card.auth.uuid ? 'editing' : '')} style={card.auth.style} onClick={this.editAuth}> |
| | | <ContentUpdate element={card.auth} updateContent={(ele) => this.updateContent({...card, auth: ele})}/> |
| | | {card.auth.content} |
| | | </div> : null} |
| | | {card.auth ? <div className="other-auth"> |
| | | {card.auth.subItems.map(cell => ( |
| | | <span key={cell.type}> |
| | | <Icon type={cell.icon} /> |
| | | <p>{cell.label}</p> |
| | | </span> |
| | | ))} |
| | | </div> : null} |
| | | {card.copyright ? <div className={'company-msg ' + (editId === card.copyright.uuid ? 'editing' : '')} style={card.copyright.style} onClick={this.editMsg}> |
| | | <ContentUpdate element={card.copyright} updateContent={(ele) => this.updateContent({...card, copyright: ele})}/> |
| | | {card.copyright.content} |
| | |
| | | background-size: cover; |
| | | background-position: center center; |
| | | |
| | | .mob-login-body { |
| | | min-height: calc((80 / 100) * 615px); |
| | | border-top: 1px solid transparent; |
| | | border-bottom: 1px solid transparent; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .plat-name { |
| | | position: relative; |
| | | max-width: 280px; |
| | |
| | | const proxy = require('http-proxy-middleware') |
| | | const host = 'http://qingqiumarket.cn' |
| | | const service = 'mkwms/' |
| | | // const host = 'http://cloud.mk9h.cn' |
| | | // const service = '' |
| | | |
| | | module.exports = function(app) { |
| | | app.use(proxy('/webapi', { |
| | |
| | | duration: 5 |
| | | }) |
| | | } else { |
| | | item.options = item.oriOptions.filter(option => option.parentId === supItem.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supItem.initval) |
| | | } |
| | | } |
| | | return item |
| | |
| | | groups = groups.map(group => { |
| | | group.sublist = group.sublist.map(item => { |
| | | if (item.type === 'link' && item.linkField === supfield.field) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === supfield.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supfield.initval) |
| | | item.initval = item.options[0] ? item.options[0].Value : '' |
| | | |
| | | fieldsvalue[item.field] = item.initval |
| | |
| | | groups = groups.map(group => { |
| | | group.sublist = group.sublist.map(item => { |
| | | if (item.type === 'link' && item.linkField === _field.field) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === value) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === value) |
| | | item.initval = item.options[0] ? item.options[0].Value : '' |
| | | |
| | | fieldsvalue[item.field] = item.initval |
| | |
| | | } |
| | | |
| | | if (res.search.type === 'link') { |
| | | _item.parentId = cell[res.search.linkField] |
| | | _item.ParentID = cell[res.search.linkField] |
| | | } else if (res.search.type === 'select' && res.search.linkSubField && res.search.linkSubField.length > 0) { |
| | | res.search.linkSubField.forEach(_field => { |
| | | _item[_field] = (cell[_field] || cell[_field] === 0) ? cell[_field] : '' |
| | |
| | | .ant-tabs-bar { |
| | | position: relative; |
| | | z-index: 1; |
| | | top: -10px; |
| | | top: 0px; |
| | | margin: 0; |
| | | border: 0; |
| | | .ant-tabs-nav-scroll { |
| | |
| | | } |
| | | } else if (btn.intertype === 'outer') { |
| | | // 接口地址不存在时报错 |
| | | if (!btn.interface) { |
| | | if (!btn.interface && btn.sysInterface !== 'true') { |
| | | this.actionSettingError() |
| | | return |
| | | } |
| | |
| | | {show === 'icon' ? <Button className="action-cell" icon={btn.icon || 'dash'} loading={loading} onClick={() => {this.actionTrigger()}}></Button> : null} |
| | | {show === 'text' ? <Button className="action-cell" loading={loading} onClick={() => {this.actionTrigger()}}>{btn.label}</Button> : null} |
| | | {show === 'all' ? <Button className="action-cell" icon={btn.icon || ''} loading={loading} onClick={() => {this.actionTrigger()}}>{btn.label}</Button> : null} |
| | | {show && show.indexOf('plus') > -1 ? <Button className="action-cell" style={{fontSize: show.substring(4) + 'px'}} icon="plus" loading={loading} onClick={() => {this.actionTrigger()}}></Button> : null} |
| | | {show && show.indexOf('plus') > -1 ? <Button className="action-cell" style={{fontSize: show.substring(4) + 'px'}} icon={btn.icon || 'plus'} loading={loading} onClick={() => {this.actionTrigger()}}></Button> : null} |
| | | {this.getModels()} |
| | | </div> |
| | | ) |
| | |
| | | actions.forEach(item => { |
| | | if ((item.Ot && item.Ot !== 'notRequired' && !['excelIn', 'excelOut'].includes(item.OpenType)) || item.funcType === 'changeuser') { |
| | | actionMap.set(item.uuid, item) |
| | | } else if (plot.insert === 'true' && !insertAction && item.OpenType === 'pop' && item.sqlType === 'insert' && item.Ot === 'notRequired') { |
| | | } else if (plot.extraAction && plot.extraAction === item.uuid && ['pop', 'prompt', 'exec'].includes(item.OpenType) && item.Ot === 'notRequired') { |
| | | insertAction = item |
| | | } else if (plot.actions && plot.actions.length > 0 && plot.actions.includes(item.uuid) && (item.OpenType === 'excelOut' || (item.OpenType === 'excelIn' && item.Ot === 'notRequired'))) { |
| | | actionList.push(item) |
| | |
| | | border: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | color: rgb(38, 194, 129); |
| | | color: #d9d9d9; |
| | | transition: color 0.3s linear; |
| | | } |
| | | } |
| | | } |
| | | .mk-card-insert:hover { |
| | | .mk-btn-wrap { |
| | | .ant-btn { |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | } |
| | |
| | | item.supInitVal = '' |
| | | } else { |
| | | item.supInitVal = supItem.initval |
| | | item.options = item.oriOptions.filter(option => option.parentId === supItem.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supItem.initval) |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if (res.$search.type === 'link') { |
| | | item.parentId = cell[res.$search.linkField] |
| | | item.ParentID = cell[res.$search.linkField] |
| | | } else if (res.$search.type === 'select' && res.$search.linkSubField && res.$search.linkSubField.length > 0) { |
| | | res.$search.linkSubField.forEach(_field => { |
| | | item[_field] = (cell[_field] || cell[_field] === 0) ? cell[_field] : '' |
| | |
| | | _formlist = _formlist.map(item => { |
| | | if (item.type === 'link') { |
| | | if (item.supInitVal) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === item.supInitVal) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === item.supInitVal) |
| | | } else { |
| | | item.options = item.oriOptions |
| | | } |
| | |
| | | formlist = formlist.map(item => { |
| | | if (item.type === 'link' && item.linkField === supfield.field) { |
| | | |
| | | item.options = item.oriOptions.filter(option => option.parentId === supfield.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supfield.initval) |
| | | item.initval = item.options[0] ? item.options[0].Value : '' |
| | | |
| | | if (this.props.form.getFieldValue(item.field) !== undefined) { |
| | |
| | | let _record = {} |
| | | formlist = formlist.map(item => { |
| | | if (item.type === 'link' && item.linkField === _field.field) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === value) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === value) |
| | | item.initval = item.options[0] ? item.options[0].Value : '' |
| | | |
| | | if (this.props.form.getFieldValue(item.field) !== undefined) { |
| | |
| | | duration: 5 |
| | | }) |
| | | } else { |
| | | item.options = item.oriOptions.filter(option => option.parentId === supItem.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supItem.initval) |
| | | } |
| | | } else if (item.type === 'group' && item.Hide !== 'true') { |
| | | _groups.push(fromJS(item).toJS()) |
| | |
| | | } |
| | | |
| | | if (res.search.type === 'link') { |
| | | _item.parentId = cell[res.search.linkField] |
| | | _item.ParentID = cell[res.search.linkField] |
| | | } |
| | | |
| | | item.options.push(_item) |
| | |
| | | let supItem = _list.filter(form => form.field === item.linkField)[0] |
| | | |
| | | if (supItem) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === supItem.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supItem.initval) |
| | | } |
| | | } |
| | | |
| | |
| | | supfields.forEach(supfield => { |
| | | formlist = formlist.map(item => { |
| | | if (item.type === 'link' && item.linkField === supfield.field) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === supfield.initval) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === supfield.initval) |
| | | item.initval = item.options[0] ? item.options[0].Value : '' |
| | | |
| | | if (this.props.form.getFieldValue(item.field) !== undefined) { |
| | |
| | | let fieldsvalue = {} |
| | | formlist = formlist.map(item => { |
| | | if (item.type === 'link' && item.linkField === _field.field) { |
| | | item.options = item.oriOptions.filter(option => option.parentId === value) |
| | | item.options = item.oriOptions.filter(option => option.ParentID === value) |
| | | item.initval = item.options[0] ? item.options[0].Value : '' |
| | | |
| | | if (this.props.form.getFieldValue(item.field) !== undefined) { |
| | |
| | | UNSAFE_componentWillReceiveProps (nextProps) { |
| | | if (!is(fromJS(this.props.card), fromJS(nextProps.card))) { |
| | | setTimeout(() => { |
| | | if (nextProps.card.insert === 'true' && this.cardRef) { |
| | | if (nextProps.card.extraAction && this.cardRef) { |
| | | if (this.cardRef.offsetWidth !== this.state.cardwidth || this.cardRef.offsetHeight !== this.state.cardheight) { |
| | | this.setState({ |
| | | cardwidth: this.cardRef.offsetWidth, |
| | |
| | | componentDidMount() { |
| | | const { card } = this.props |
| | | |
| | | if (card.insert === 'true' && this.cardRef) { |
| | | if (card.extraAction && this.cardRef) { |
| | | this.setState({ |
| | | cardwidth: this.cardRef.offsetWidth, |
| | | cardheight: this.cardRef.offsetHeight |
| | |
| | | componentDidUpdate() { |
| | | const { card } = this.props |
| | | |
| | | if (card.insert === 'true' && this.cardRef) { |
| | | if (card.extraAction && this.cardRef) { |
| | | if (this.cardRef.offsetWidth !== this.state.cardwidth || this.cardRef.offsetHeight !== this.state.cardheight) { |
| | | this.setState({ |
| | | cardwidth: this.cardRef.offsetWidth, |
| | |
| | | </ul> : null |
| | | } |
| | | </div> |
| | | {card.insert === 'true' ? |
| | | {card.extraAction ? |
| | | <div className={'ant-card chart-card chart-card-insert' + outclass} style={{ width: cardwidth, height: cardheight }} > |
| | | <Icon type="plus" style={cardwidth > cardheight ? {fontSize: cardheight / 2 + 'px', lineHeight: cardheight + 'px'} : {fontSize: cardwidth / 2 + 'px', lineHeight: cardheight + 'px'}} /> |
| | | </div> : null |
| | |
| | | .chart-card-insert { |
| | | text-align: center; |
| | | i { |
| | | color: #26C281; |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | |
| | |
| | | item.hidden = false |
| | | } else if (item.key === 'switch' && _type === 'card') { |
| | | item.hidden = false |
| | | } else if (item.key === 'insert') { |
| | | } else if (item.key === 'extraAction') { |
| | | item.hidden = _type !== 'card' |
| | | } else if (item.key === 'bgfield') { |
| | | item.hidden = _type !== 'card' |
| | |
| | | item.hidden = false |
| | | } else if (item.key === 'switch' && value === 'card') { |
| | | item.hidden = false |
| | | } else if (item.key === 'insert') { |
| | | } else if (item.key === 'extraAction') { |
| | | item.hidden = value !== 'card' |
| | | } else if (item.key === 'bgfield') { |
| | | item.hidden = value !== 'card' |
| | |
| | | } else if (item.type === 'select') { // 下拉搜索 |
| | | fields.push( |
| | | <Col span={12} key={index}> |
| | | <Form.Item label={item.label}> |
| | | <Form.Item label={item.tooltip ? |
| | | <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}> |
| | | <Icon type="question-circle" /> |
| | | {item.label} |
| | | </Tooltip> : item.label |
| | | }> |
| | | {getFieldDecorator(item.key, { |
| | | initialValue: item.initVal || '', |
| | | rules: [ |
| | |
| | | } else if (item.type === 'multiselect') { // 多选 |
| | | fields.push( |
| | | <Col span={12} key={index}> |
| | | <Form.Item label={item.label}> |
| | | <Form.Item label={item.tooltip ? |
| | | <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}> |
| | | <Icon type="question-circle" /> |
| | | {item.label} |
| | | </Tooltip> : item.label |
| | | }> |
| | | {getFieldDecorator(item.key, { |
| | | initialValue: item.initVal || [] |
| | | })( |
| | |
| | | item.actions = item.actions.filter(cell => keys.includes(cell)) |
| | | } |
| | | |
| | | let extraActions = config.action.filter(item => ['pop', 'prompt', 'exec'].includes(item.OpenType) && item.Ot === 'notRequired') |
| | | extraActions = extraActions.map(cell => ({value: cell.uuid, text: cell.label})) |
| | | |
| | | if (item.extraAction && extraActions.filter(cell => cell.uuid === item.extraAction).length === 0) { |
| | | item.extraAction = '' |
| | | } |
| | | |
| | | this.setState({ |
| | | card: item, |
| | | modaltype: _type, |
| | | formlist: getChartViewForm(item, this.props.sysRoles, _columns, actions) |
| | | formlist: getChartViewForm(item, this.props.sysRoles, _columns, actions, extraActions) |
| | | }) |
| | | } |
| | | |
| | |
| | | |
| | | /** |
| | | * @description 获取图表视图外部配置表单 |
| | | * @param {object} card // 搜索条件对象 |
| | | * @param {Array} roleList // 角色列表-黑名单 |
| | | * @param {Array} columns // 显示列 |
| | | * @param {Array} actions // 按钮组 |
| | | * @param {object} card // 搜索条件对象 |
| | | * @param {Array} roleList // 角色列表-黑名单 |
| | | * @param {Array} columns // 显示列 |
| | | * @param {Array} actions // 按钮组excel |
| | | * @param {Array} extraActions // 常规按钮 |
| | | */ |
| | | export function getChartViewForm (card, roleList = [], _columns, actions) { |
| | | export function getChartViewForm (card, roleList = [], _columns, actions, extraActions) { |
| | | let _charts = [{ |
| | | value: 'line', |
| | | text: '折线图' |
| | |
| | | }] |
| | | }, |
| | | { |
| | | type: 'radio', |
| | | key: 'insert', |
| | | label: '添加卡片', |
| | | initVal: card.insert || 'false', |
| | | tooltip: '选择显示添加卡片,且存在操作类型为添加的按钮时,卡片尾部会增加添加功能卡片(只显示第一个添加按钮)', |
| | | type: 'select', |
| | | key: 'extraAction', |
| | | label: '扩展卡片', |
| | | initVal: card.extraAction || '', |
| | | tooltip: '绑定不选行的按钮,卡片尾部会增加功能卡片', |
| | | required: false, |
| | | options: [{ |
| | | value: 'true', |
| | | text: '显示' |
| | | }, { |
| | | value: 'false', |
| | | text: '隐藏' |
| | | }] |
| | | options: extraActions |
| | | }, |
| | | { |
| | | type: 'multiselect', |
| | |
| | | { |
| | | type: 'multiselect', |
| | | key: 'actions', |
| | | label: '按钮组', |
| | | label: '扩展按钮', |
| | | initVal: card.actions || [], |
| | | tooltip: '可绑定已有的excel导入、导出按钮', |
| | | required: false, |
| | | options: actions |
| | | } |