From f0524f158d89a91ac0dfb758405afa302149442a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 30 四月 2024 01:57:40 +0800 Subject: [PATCH] 2024-04-30 --- src/menu/components/table/normal-table/columns/editColumn/index.jsx | 46 +++++++++++++++++++++++++++++++++------------- 1 files changed, 33 insertions(+), 13 deletions(-) diff --git a/src/menu/components/table/normal-table/columns/editColumn/index.jsx b/src/menu/components/table/normal-table/columns/editColumn/index.jsx index df3913f..afa1f03 100644 --- a/src/menu/components/table/normal-table/columns/editColumn/index.jsx +++ b/src/menu/components/table/normal-table/columns/editColumn/index.jsx @@ -14,12 +14,13 @@ number: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'decimal', 'format', 'prefix', 'postfix', 'blacklist', 'perspective', 'sum', 'rowspan'], link: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'joint', 'Width', 'blacklist', 'nameField'], textarea: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'prefix', 'postfix', 'blacklist'], - picture: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'blacklist', 'scale', 'lenWidRadio', 'backgroundSize', 'span'], + picture: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'blacklist', 'scale', 'lenWidRadio', 'backgroundSize', 'span', 'lostTip'], video: ['label', 'field', 'type', 'Align', 'Hide', 'startTime', 'Width', 'blacklist', 'aspectRatio'], colspan: ['label', 'type', 'Align', 'Hide', 'blacklist'], - custom: ['label', 'type', 'Align', 'Width', 'blacklist'], + custom: ['label', 'type', 'Align', 'Width', 'blacklist', 'IsSort'], action: ['label', 'type', 'Align', 'Width'], formula: ['label', 'type', 'Align', 'Hide', 'Width', 'prefix', 'postfix', 'eval', 'formula', 'blacklist'], + extend: ['label', 'field', 'type', 'Align', 'Width', 'colUnit', 'shift', 'quota', 'supField'], index: ['label', 'type', 'Align', 'Width'] } @@ -89,14 +90,28 @@ if (this.record.type === 'text' || this.record.type === 'number') { if (this.record.perspective === 'linkmenu') { - _options.push('linkmenu', 'linkfields', 'open') + _options.push('linkmenu', 'open') } else if (this.record.perspective === 'linkurl') { _options.push('linkurl', 'linkfields', 'open') } - } - - if (this.record.type === 'formula' && this.record.eval === 'true') { + } else if (this.record.type === 'formula' && this.record.eval === 'true') { _options.push('decimal') + } else if (this.record.type === 'custom' && this.record.IsSort === 'true') { + _options.push('sortField') + } else if (this.record.type === 'extend') { + if (this.record.colUnit === 'day') { + _options.push('dayFormat') + } else { + _options.push('hourFormat') + } + } + + if (this.record.Hide !== 'true') { + if (['number', 'formula'].includes(this.record.type)) { + _options.push('noValue') + } else if (this.record.type === 'text' && ['YYYY-MM-DD', 'YYYY-MM-DD HH:mm:ss'].includes(this.record.textFormat)) { + _options.push('noValue') + } } return _options @@ -106,6 +121,10 @@ this.record[key] = value if (key === 'type') { + if (['link', 'textarea', 'picture', 'custom'].includes(value)) { + this.record.IsSort = 'false' + } + let _options = this.getOptions() let _field = '' @@ -125,7 +144,7 @@ return item }) }, () => { - if (value === 'link' || value === 'textarea' || value === 'picture') { + if (['link', 'textarea', 'picture', 'custom'].includes(value)) { this.props.form.setFieldsValue({IsSort: 'false'}) } else if (value === 'text' || value === 'number') { this.props.form.setFieldsValue({perspective: ''}) @@ -174,7 +193,7 @@ } } else if (key === 'format' && value === 'percent') { this.props.form.setFieldsValue({postfix: '%'}) - } else if (['perspective', 'eval'].includes(key)) { + } else if (['perspective', 'eval', 'IsSort', 'textFormat', 'colUnit'].includes(key)) { let _options = this.getOptions() this.setState({ @@ -199,12 +218,12 @@ if (item.hidden || item.forbid) return if (item.type === 'text') { - let rules = [] + let rules = item.rules || [] if (item.key !== 'linkurl') { - rules = [{ + rules.push({ max: formRule.input.max, message: formRule.input.message - }] + }) } fields.push( <Col span={12} key={index}> @@ -344,7 +363,7 @@ </Form.Item> </Col> ) - } else if (item.type === 'cascader') { // 澶氶�� + } else if (item.type === 'cascader') { fields.push( <Col span={12} key={index}> <Form.Item label={item.label}> @@ -424,7 +443,7 @@ this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { // eslint-disable-next-line - if (values.type === 'formula' && values.eval !== 'false' && /^[\u4E00-\u9FA50-9a-zA-Z_\s@\+\-\*\/]*$/ig.test(values.formula) && /[\+\-\*\/]/ig.test(values.formula)) { + if (values.type === 'formula' && values.eval === 'true' && /^[\u4E00-\u9FA50-9a-zA-Z_\s@\+\-\*\/]*$/ig.test(values.formula) && /[\+\-\*\/]/ig.test(values.formula)) { let cols = [] fields.forEach(col => { if (/^(Int|Decimal)/ig.test(col.datatype)) { @@ -465,6 +484,7 @@ <div style={{display: 'inline-block'}}> <Modal title="鏄剧ず鍒楃紪杈�" + wrapClassName="mk-scroll-modal" visible={visible} width={850} maskClosable={false} -- Gitblit v1.8.0