From e6a10ced1ed8db39486dc0a1795191c701ef3224 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 20 十二月 2021 18:11:35 +0800 Subject: [PATCH] 2021-12-20 --- src/menu/components/share/markcomponent/index.jsx | 97 +++++++++++++++++++++++++++++------------------- 1 files changed, 58 insertions(+), 39 deletions(-) diff --git a/src/menu/components/share/markcomponent/index.jsx b/src/menu/components/share/markcomponent/index.jsx index 03dd41d..fa36e99 100644 --- a/src/menu/components/share/markcomponent/index.jsx +++ b/src/menu/components/share/markcomponent/index.jsx @@ -13,6 +13,7 @@ import '@/assets/css/table.scss' const EditTable = asyncComponent(() => import('@/templates/zshare/editTable')) +const { confirm } = Modal class MarkColumn extends Component { static propTpyes = { @@ -22,7 +23,7 @@ } state = { - dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, + dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, marks: null, columns: null, visible: false, @@ -81,15 +82,17 @@ 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> ) } } @@ -128,8 +131,11 @@ 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, @@ -142,7 +148,7 @@ { value: 'dynamic', label: '鍔ㄦ�佸��', - children: columns.map(cell => { + children: _columns.map(cell => { return { value: cell.field, label: cell.label @@ -195,16 +201,6 @@ }) }, { - value: 'trademark', - label: '鍝佺墝鍜屾爣璇�', - children: minkeIconSystem.trademark.map(cell => { - return { - value: cell, - label: (<Icon type={cell} />) - } - }) - }, - { value: 'normal', label: '缃戠珯閫氱敤鍥炬爣', children: minkeIconSystem.normal.map(cell => { @@ -218,7 +214,7 @@ let signs = [ { value: 'font', - label: '鏂囧瓧棰滆壊' + label: '鏂囧瓧' }, { value: 'background', @@ -233,24 +229,18 @@ 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 => { @@ -260,9 +250,17 @@ 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 @@ -278,9 +276,13 @@ } 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') { @@ -291,14 +293,32 @@ } 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() { @@ -313,7 +333,6 @@ visible={visible} width={'75vw'} maskClosable={false} - style={{minWidth: '900px', maxWidth: '1200px'}} okText={dict['model.submit']} onOk={this.markSubmit} onCancel={() => { this.setState({ visible: false }) }} -- Gitblit v1.8.0