| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { fromJS } from 'immutable' |
| | | import { Modal, Col } from 'antd' |
| | | import { Modal, Col, notification } from 'antd' |
| | | import { AntDesignOutlined } from '@ant-design/icons' |
| | | |
| | | import Utils from '@/utils/utils.js' |
| | |
| | | dataIndex: 'field', |
| | | width: '16%', |
| | | editable: true, |
| | | unique: true, |
| | | uniqueFunc: (data, item) => { |
| | | let index = data.findIndex(mark => mark.uuid !== item.uuid && mark.contrastValue === item.contrastValue && mark.match === item.match && mark.field.join('') === item.field.join('')) |
| | | |
| | | if (index > -1) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '此标记已存在!', |
| | | duration: 5 |
| | | }) |
| | | return false |
| | | } |
| | | return true |
| | | }, |
| | | inputType: 'cascader', |
| | | options: [], |
| | | rules: [{ |
| | |
| | | markChange = (values) => { |
| | | let _marks = fromJS(this.state.marks).toJS() |
| | | |
| | | if (values.uuid) { |
| | | _marks = _marks.map(item => { |
| | | if (item.uuid === values.uuid) { |
| | | return values |
| | | } else { |
| | | return item |
| | | let has = false |
| | | _marks.forEach(mark => { |
| | | if (mark.contrastValue === values.contrastValue && mark.match === values.match && mark.field.join('') === values.field.join('')) { |
| | | has = true |
| | | } |
| | | }) |
| | | } else { |
| | | |
| | | if (has) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '此标记已存在!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | values.uuid = Utils.getuuid() |
| | | _marks.push(values) |
| | | } |
| | | |
| | | this.setState({ |
| | | marks: _marks |
| | |
| | | item.fontColor = '' |
| | | } |
| | | } |
| | | |
| | | if (item.contrastValue) { |
| | | item.contrastValue = item.contrastValue.replace(/\t+|\v+|\s+/g, '') |
| | | } |
| | | |
| | | if (val && item.contrastValue === val) { |
| | | save = true |
| | | } |