| | |
| | | state = { |
| | | selectIcon: '', |
| | | allowClear: false, |
| | | icons: [...minkeIconSystem.direction, ...minkeIconSystem.edit, ...minkeIconSystem.normal, ...minkeIconSystem.trademark, ...minkeIconSystem.data, ...minkeIconSystem.hint], |
| | | icons: [...minkeIconSystem.direction, ...minkeIconSystem.edit, ...minkeIconSystem.normal, ...minkeIconSystem.data, ...minkeIconSystem.hint], |
| | | visible: false |
| | | } |
| | | |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.elements = _card.elements.map(elem => { |
| | | elem.uuid = Utils.getuuid() |
| | | return elem |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.elements = scard.elements.map(elem => { |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.elements = scard.elements.map(elem => { |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.elements = scard.elements.map(elem => { |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.elements = scard.elements.map(elem => { |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.elements = scard.elements.map(elem => { |
| | |
| | | _card.plot.name = card.name |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.action = config.action.map(col => { |
| | | col.uuid = Utils.getuuid() |
| | |
| | | </Popover> |
| | | <NormalHeader config={card} updateComponent={this.updateComponent}/> |
| | | <div className="canvas" id={card.uuid + 'canvas'} ref={ref => this.wrap = ref}></div> |
| | | {card.plot.download === 'enable' ? <Icon type="download"/> : null} |
| | | {appType !== 'mob' ? <ActionComponent |
| | | type="chart" |
| | | config={card} |
| | |
| | | _card.plot.name = card.name |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | } |
| | | |
| | | this.props.updateConfig(_card) |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.search = config.search.map(col => { |
| | | col.uuid = Utils.getuuid() |
| | | return col |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.action = config.action.map(col => { |
| | | col.uuid = Utils.getuuid() |
| | | return col |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.search = config.search.map(col => { |
| | | col.uuid = Utils.getuuid() |
| | | return col |
| | |
| | | _card.html = config.html |
| | | _card.css = config.css |
| | | _card.js = config.js |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | } |
| | | |
| | | this.setState({ |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | _card.html = config.html |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | } |
| | | |
| | | this.setState({ |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.fields = scard.fields.map(elem => { |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.fields = scard.fields.map(elem => { |
| | |
| | | options: [], |
| | | render: text => { |
| | | let sign = { |
| | | 'font': '文字颜色', |
| | | 'font': '文字', |
| | | 'background': '背景', |
| | | 'underline': '下划线', |
| | | 'line-through': '中划线', |
| | | 'icon': '图标' |
| | | 'icon': '图标', |
| | | 'iconfront': '图标', |
| | | 'iconback': '图标', |
| | | } |
| | | |
| | | return ( |
| | | <div>{sign[text[0]]} {text[3] ? <Icon type={text[3]} /> : null}</div> |
| | | <div>{sign[text[0]]} {text[2] ? <Icon type={text[text.length - 1]} /> : null}</div> |
| | | ) |
| | | } |
| | | } |
| | |
| | | }) |
| | | }, |
| | | { |
| | | value: 'trademark', |
| | | label: '品牌和标识', |
| | | children: minkeIconSystem.trademark.map(cell => { |
| | | return { |
| | | value: cell, |
| | | label: (<Icon type={cell} />) |
| | | } |
| | | }) |
| | | }, |
| | | { |
| | | value: 'normal', |
| | | label: '网站通用图标', |
| | | children: minkeIconSystem.normal.map(cell => { |
| | |
| | | let signs = [ |
| | | { |
| | | value: 'font', |
| | | label: '文字颜色' |
| | | label: '文字' |
| | | }, |
| | | { |
| | | value: 'background', |
| | |
| | | label: '中划线' |
| | | }, |
| | | { |
| | | value: 'icon', |
| | | label: '图标', |
| | | children: [ |
| | | { |
| | | value: 'front', |
| | | label: '内容前', |
| | | value: 'iconfront', |
| | | label: '图标(前)', |
| | | children: icons |
| | | }, |
| | | { |
| | | value: 'back', |
| | | label: '内容后', |
| | | value: 'iconback', |
| | | label: '图标(后)', |
| | | children: icons |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | |
| | |
| | | signs = [] |
| | | } |
| | | |
| | | let _marks = marks ? fromJS(marks).toJS() : [] |
| | | _marks = _marks.map(item => { |
| | | if (item.signType && item.signType[0] === 'icon') { |
| | | item.signType = [item.signType[0] + item.signType[1], item.signType[2], item.signType[3]] |
| | | } |
| | | return item |
| | | }) |
| | | |
| | | this.setState({ |
| | | visible: true, |
| | | marks: marks ? fromJS(marks).toJS() : [], |
| | | marks: _marks, |
| | | markColumns: markColumns.map(col => { |
| | | if (col.dataIndex === 'field') { |
| | | col.options = options |
| | |
| | | } |
| | | ] |
| | | })( |
| | | <Cascader options={columns} placeholder=""/> |
| | | <Cascader className="mark-type" options={columns} placeholder=""/> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | |
| | | } |
| | | ] |
| | | })( |
| | | <Cascader options={signs} placeholder=""/> |
| | | <Cascader popupClassName="mark-type" options={signs} placeholder=""/> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | |
| | | } |
| | | } |
| | | } |
| | | .mark-type { |
| | | .ant-cascader-menu { |
| | | height: 200px; |
| | | } |
| | | } |
| | |
| | | document.getElementsByClassName('menu-view')[0].classList.add('saving') |
| | | this.setState({loading: true}) |
| | | setTimeout(() => { |
| | | let template = this.getUserComponent() |
| | | // let template = this.getUserComponent() |
| | | let template = fromJS(config).toJS() |
| | | html2canvas(document.getElementById(config.uuid)).then(canvas => { |
| | | let param = { |
| | | Base64Img: canvas.toDataURL('image/png') // 获取生成的图片 |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | let oriUids = {} |
| | | _card.action = config.action.map(item => { |
| | | let _uuid = Utils.getuuid() |
| | |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | let oriUids = {} |
| | | _card.action = config.action.map(item => { |
| | | let _uuid = Utils.getuuid() |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | |
| | | _card.subcards = config.subcards.map(scard => { |
| | | scard.uuid = Utils.getuuid() |
| | | scard.elements = scard.elements.map(elem => { |
| | |
| | | _card.wrap.name = card.name |
| | | _card.style = config.style |
| | | _card.headerStyle = config.headerStyle |
| | | |
| | | _card.setting = config.setting |
| | | _card.columns = config.columns |
| | | _card.scripts = config.scripts |
| | | } |
| | | |
| | | this.setState({ |
| | |
| | | } else if (mark.match === 'like') { |
| | | result = originVal.indexOf(contrastVal) > -1 |
| | | } else if (mark.match === '>') { |
| | | try { |
| | | originVal = parseFloat(originVal) |
| | | contrastVal = parseFloat(contrastVal) |
| | | } catch (e) { |
| | | originVal = NaN |
| | | } |
| | | |
| | | if (!isNaN(originVal) && !isNaN(contrastVal) && originVal > contrastVal) { |
| | | result = true |
| | | } |
| | | result = parseFloat(originVal) > parseFloat(contrastVal) |
| | | } else if (mark.match === '<') { |
| | | try { |
| | | originVal = parseFloat(originVal) |
| | | contrastVal = parseFloat(contrastVal) |
| | | } catch (e) { |
| | | originVal = NaN |
| | | } |
| | | |
| | | if (!isNaN(originVal) && !isNaN(contrastVal) && originVal < contrastVal) { |
| | | result = true |
| | | } |
| | | result = parseFloat(originVal) < parseFloat(contrastVal) |
| | | } |
| | | |
| | | if (result) { |
| | |
| | | <div className="main-table-box"> |
| | | {this.state.data && this.state.data.length > 0 ? |
| | | <div className="pickchange"> |
| | | <Switch title="收起" checkedChildren="开" unCheckedChildren="关" defaultChecked={pickup} onChange={this.pickupChange} /> |
| | | <Switch title="收起" checkedChildren="开" unCheckedChildren="关" checked={pickup} onChange={this.pickupChange} /> |
| | | </div> : null |
| | | } |
| | | <MainTable |
| | |
| | | <div className="main-table-box"> |
| | | {this.state.data && this.state.data.length > 0 ? |
| | | <div className="pickchange"> |
| | | <Switch title="收起" checkedChildren="开" unCheckedChildren="关" defaultChecked={pickup} onChange={this.pickupChange} /> |
| | | <Switch title="收起" checkedChildren="开" unCheckedChildren="关" checked={pickup} onChange={this.pickupChange} /> |
| | | </div> : null |
| | | } |
| | | <MainTable |
| | |
| | | <Select.Option value="hint">提示建议性图标</Select.Option> |
| | | <Select.Option value="edit">编辑类图标</Select.Option> |
| | | <Select.Option value="data">数据类图标</Select.Option> |
| | | <Select.Option value="trademark">品牌和标识</Select.Option> |
| | | <Select.Option value="normal">网站通用图标</Select.Option> |
| | | </Select> |
| | | )} |
| | |
| | | 'up', |
| | | 'left', |
| | | 'right', |
| | | // 'caret-up', |
| | | // 'caret-down', |
| | | // 'caret-left', |
| | | // 'caret-right', |
| | | 'step-backward', |
| | | 'step-forward', |
| | | // 'fast-backward', |
| | | // 'fast-forward', |
| | | 'double-right', |
| | | 'double-left', |
| | | // 'forward', |
| | | // 'backward', |
| | | 'rollback', |
| | | 'enter', |
| | | 'retweet', |
| | | 'swap', |
| | | // 'swap-left', |
| | | // 'swap-right', |
| | | 'play-circle', |
| | | 'login', |
| | | 'logout', |
| | |
| | | 'fall', |
| | | 'rise', |
| | | 'stock', |
| | | ], |
| | | trademark: [ |
| | | 'android', |
| | | 'apple', |
| | | 'chrome', |
| | | 'aliwangwang', |
| | | 'dingding', |
| | | 'weibo', |
| | | 'twitter', |
| | | 'wechat', |
| | | 'alipay-circle', |
| | | 'taobao', |
| | | 'qq', |
| | | 'alipay', |
| | | ], |
| | | normal: [ |
| | | 'user', |
| | |
| | | 'poweroff', |
| | | 'shopping-cart', |
| | | 'link', |
| | | 'apple', |
| | | 'dingding', |
| | | 'weibo', |
| | | 'wechat', |
| | | 'taobao', |
| | | 'qq', |
| | | 'alipay', |
| | | ] |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description 获取标记信息 |
| | | */ |
| | | export function getMark (marks, record, style = {}) { |
| | | let icon = null |
| | | let color = null |
| | | let position = null |
| | | |
| | | marks.some(mark => { |
| | | let originVal = record[mark.field[0]] + '' |
| | | let contrastVal = '' |
| | | let result = false |
| | | |
| | | if (mark.field[1] === 'static') { |
| | | contrastVal = mark.contrastValue + '' |
| | | } else { |
| | | contrastVal = record[mark.field[2]] + '' |
| | | } |
| | | |
| | | if (mark.match === '=') { |
| | | result = originVal === contrastVal |
| | | } else if (mark.match === '!=') { |
| | | result = originVal !== contrastVal |
| | | } else if (mark.match === 'like') { |
| | | result = originVal.indexOf(contrastVal) > -1 |
| | | } else if (mark.match === '>') { |
| | | result = parseFloat(originVal) > parseFloat(contrastVal) |
| | | } else if (mark.match === '<') { |
| | | result = parseFloat(originVal) < parseFloat(contrastVal) |
| | | } |
| | | |
| | | if (!result) return false |
| | | |
| | | let type = mark.signType[0] |
| | | |
| | | if (type === 'font') { |
| | | style.color = mark.color |
| | | } else if (type === 'background') { |
| | | style.background = mark.color |
| | | if (mark.fontColor) { |
| | | style.color = mark.fontColor |
| | | } |
| | | } else if (type === 'underline') { |
| | | style.textDecoration = 'underline' |
| | | style.color = mark.color |
| | | } else if (type === 'line-through') { |
| | | style.textDecoration = 'line-through' |
| | | style.color = mark.color |
| | | } else if (type.indexOf('icon') > -1) { |
| | | icon = mark.signType[mark.signType.length - 1] |
| | | color = mark.color |
| | | if (type === 'iconfront' || mark.signType[1] === 'front') { |
| | | position = 'front' |
| | | } else { |
| | | position = 'back' |
| | | } |
| | | } |
| | | |
| | | return true |
| | | }) |
| | | |
| | | return { |
| | | style, |
| | | icon, |
| | | color, |
| | | position |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 生成替换函数列表 |
| | | */ |
| | | export function setGLOBFuncs () { |