| | |
| | | import '@/assets/css/table.scss' |
| | | |
| | | const EditTable = asyncComponent(() => import('@/templates/zshare/editTable')) |
| | | const { confirm } = Modal |
| | | |
| | | class MarkColumn extends Component { |
| | | static propTpyes = { |
| | |
| | | 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> |
| | | ) |
| | | } |
| | | } |
| | |
| | | resetMark = () => { |
| | | const { marks, columns, type } = this.props |
| | | let markColumns = fromJS(this.state.markColumns).toJS() |
| | | let _columns = fromJS(columns).toJS() |
| | | |
| | | let options = columns.map(col => { |
| | | _columns.unshift({field: '$Index', label: '序号'}) |
| | | |
| | | let options = _columns.map(col => { |
| | | return { |
| | | value: col.field, |
| | | label: col.label, |
| | |
| | | { |
| | | value: 'dynamic', |
| | | label: '动态值', |
| | | children: columns.map(cell => { |
| | | children: _columns.map(cell => { |
| | | return { |
| | | value: cell.field, |
| | | label: cell.label |
| | |
| | | }) |
| | | }, |
| | | { |
| | | 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: '内容前', |
| | | children: icons |
| | | }, |
| | | { |
| | | value: 'back', |
| | | label: '内容后', |
| | | children: icons |
| | | } |
| | | ] |
| | | value: 'iconfront', |
| | | label: '图标(前)', |
| | | children: icons |
| | | }, |
| | | { |
| | | value: 'iconback', |
| | | label: '图标(后)', |
| | | children: icons |
| | | } |
| | | ] |
| | | |
| | | if (type === 'line') { |
| | | if (type === 'line' || type === 'sequence') { |
| | | signs.pop() |
| | | } else if (type === 'slider') { |
| | | markColumns = markColumns.filter(col => { |
| | |
| | | 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 |
| | |
| | | } |
| | | |
| | | markSubmit = () => { |
| | | this.setState({ |
| | | visible: false |
| | | }) |
| | | let save = false |
| | | let input = document.getElementById('contrastValue') |
| | | let val = input && input.value ? input.value : '' |
| | | |
| | | if (!val) { |
| | | save = true |
| | | } |
| | | |
| | | let marks = this.state.marks.map(item => { |
| | | if (item.signType && item.signType[0] === 'background') { |
| | |
| | | } else { |
| | | item.fontColor = '' |
| | | } |
| | | } catch { |
| | | } catch (e) { |
| | | item.fontColor = '' |
| | | } |
| | | } |
| | | if (val && item.contrastValue === val) { |
| | | save = true |
| | | } |
| | | return item |
| | | }) |
| | | |
| | | this.props.onSubmit(marks) |
| | | if (save) { |
| | | this.setState({ |
| | | visible: false |
| | | }) |
| | | this.props.onSubmit(marks) |
| | | } else { |
| | | const _this = this |
| | | confirm({ |
| | | title: '存在未保存标记,确定忽略吗?', |
| | | onOk() { |
| | | _this.setState({ visible: false }) |
| | | _this.props.onSubmit(marks) |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } |
| | | } |
| | | |
| | | render() { |