From 26ae5c1358c51f3213362d7ad1fb0054cbf2790e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 19 八月 2023 23:36:33 +0800 Subject: [PATCH] 2023-08-19 --- src/tabviews/zshare/mutilform/mkRadio/index.jsx | 20 ++++-- src/tabviews/zshare/mutilform/mkSelect/index.jsx | 27 +++----- src/tabviews/custom/components/module/voucher/index.jsx | 2 src/templates/zshare/modalform/modaleditable/index.jsx | 95 ++----------------------------- 4 files changed, 31 insertions(+), 113 deletions(-) diff --git a/src/tabviews/custom/components/module/voucher/index.jsx b/src/tabviews/custom/components/module/voucher/index.jsx index e42bad6..8142461 100644 --- a/src/tabviews/custom/components/module/voucher/index.jsx +++ b/src/tabviews/custom/components/module/voucher/index.jsx @@ -362,7 +362,7 @@ attachments: res.attachments_int, title: res.voucher_text || '', remark: res.remark || '', - status: 'saved' + status: res.copy_type === 'true' ? 'copy' : 'saved' }) } else { this.setState({ diff --git a/src/tabviews/zshare/mutilform/mkRadio/index.jsx b/src/tabviews/zshare/mutilform/mkRadio/index.jsx index a541852..ac79bbf 100644 --- a/src/tabviews/zshare/mutilform/mkRadio/index.jsx +++ b/src/tabviews/zshare/mutilform/mkRadio/index.jsx @@ -20,15 +20,11 @@ UNSAFE_componentWillMount () { const { config } = this.props let value = config.initval + let option = config.oriOptions[0] - if (value) { - let option = null - option= config.oriOptions[0] - if (typeof(value) === 'string' && option && typeof(option.value) === 'number') { + if (value && option && typeof(option.value) !== typeof(value)) { + if (typeof(option.value) === 'number' && !isNaN(value)) { value = +value - if (isNaN(value)) { - value = config.initval - } } } @@ -44,7 +40,7 @@ } UNSAFE_componentWillReceiveProps (nextProps) { - const { config } = this.state + const { config, value } = this.state if (!is(fromJS(config.oriOptions), fromJS(nextProps.config.oriOptions))) { this.setState({ @@ -52,10 +48,18 @@ options: fromJS(nextProps.config.options).toJS() }) + let option = nextProps.config.oriOptions[0] + if (config.$first) { this.setState({ value: nextProps.config.initval, }) + } else if (option && typeof(option.value) !== typeof(value)) { + if (typeof(option.value) === 'number' && !isNaN(value)) { + this.setState({ + value: +value + }) + } } } } diff --git a/src/tabviews/zshare/mutilform/mkSelect/index.jsx b/src/tabviews/zshare/mutilform/mkSelect/index.jsx index c46e4ed..c8af8d3 100644 --- a/src/tabviews/zshare/mutilform/mkSelect/index.jsx +++ b/src/tabviews/zshare/mutilform/mkSelect/index.jsx @@ -18,12 +18,11 @@ value = [] } } else if (value) { - let option = null - option= config.oriOptions[0] - if (typeof(value) === 'string' && option && typeof(option.value) === 'number') { - value = +value - if (isNaN(value)) { - value = config.initval + let option = config.oriOptions[0] + + if (option && typeof(option.value) !== typeof(value)) { + if (typeof(option.value) === 'number' && !isNaN(value)) { + value = +value } } } @@ -57,20 +56,16 @@ options: fromJS(nextProps.config.options).toJS() }) + let option = nextProps.config.oriOptions[0] if (config.$first) { this.setState({ value: nextProps.config.initval, }) - } else { - let option = null - option= nextProps.config.oriOptions[0] - if (option && typeof(option.value) === 'number') { - let val = +value - if (!isNaN(val)) { - this.setState({ - value: val - }) - } + } else if (option && typeof(option.value) !== typeof(value)) { + if (typeof(option.value) === 'number' && !isNaN(value)) { + this.setState({ + value: +value + }) } } } diff --git a/src/templates/zshare/modalform/modaleditable/index.jsx b/src/templates/zshare/modalform/modaleditable/index.jsx index 053e370..b8ca161 100644 --- a/src/templates/zshare/modalform/modaleditable/index.jsx +++ b/src/templates/zshare/modalform/modaleditable/index.jsx @@ -4,7 +4,6 @@ import { Table, Input, Popconfirm, Form, message } from 'antd' import { ArrowUpOutlined, ArrowDownOutlined, DeleteOutlined, PlusOutlined, SwapOutlined } from '@ant-design/icons' -import { formRule } from '@/utils/option.js' import Utils from '@/utils/utils.js' import './index.scss' @@ -35,16 +34,8 @@ } save = e => { - const { record, handleSave, datatype } = this.props + const { record, handleSave } = this.props this.form.validateFields((error, values) => { - if (datatype === 'number') { - Object.keys(values).forEach(key => { - values[key] = parseFloat(values[key]) - if (isNaN(values[key])) { - values[key] = 0 - } - }) - } handleSave({ ...record, ...values }) if (error && error[e.currentTarget.id]) { return @@ -55,16 +46,8 @@ renderCell = form => { this.form = form - const { children, dataIndex, record, datatype } = this.props + const { children, dataIndex, record } = this.props const { editing } = this.state - - let rules = [] - if (datatype === 'number') { - rules.push({ - pattern: /^(-?\d+)(\.\d+)?$/, - message: formRule.input.numbermsg - }) - } return editing ? ( <Form.Item style={{ margin: '0 -5px 0 -5px' }}> @@ -73,8 +56,7 @@ { required: dataIndex === 'Text', message: '涓嶅彲涓虹┖.', - }, - ...rules + } ], initialValue: record[dataIndex] })(<Input ref={node => (this.input = node)} autoComplete="off" onPressEnter={this.save} onBlur={this.save} />)} @@ -139,52 +121,6 @@ count: data.length }) } - - // changeDatatype = (column) => { - // const { columns, dataSource } = this.state - // let value = column.datatype !== 'number' ? 'number' : 'string' - // let _data = dataSource.map(item => { - // let val = item[column.dataIndex] - // if (value === 'number') { - // val = parseFloat(val) - // if (isNaN(val)) { - // val = 0 - // } - // } else { - // val = '' + val - // } - - // item[column.dataIndex] = val - - // return item - // }) - - // this.setState({ - // dataSource: _data, - // columns: columns.map(col => { - // if (col.dataIndex === column.dataIndex) { - // col.datatype = value - // } - - // if (col.dataIndex !== 'operation') { - // col.title = <div> - // {col.$title} - // {/* <Popconfirm - // title={`纭畾鍒囨崲涓�${col.datatype === 'number' ? '鏂囨湰' : '鏁板��'}鍚楋紵`} - // overlayClassName="popover-confirm" - // onConfirm={() => this.changeDatatype(col) - // }> - // <SwapOutlined style={{ color: col.datatype === 'number' ? '#1890ff' : ''}} /> - // </Popconfirm> */} - // </div> - // } - - // return col - // }) - // }, () => { - // this.props.onChange(_data) - // }) - // } handleUpDown = (record, direction) => { const { dataSource } = this.state @@ -292,7 +228,6 @@ let _dataSource = fromJS(dataSource).toJS() let fields = [] - let dataItem = '' let subFields = linkSubFields.filter(m => m !== 'Value' && m !== 'Text') if (subFields.length > 0) { @@ -304,19 +239,14 @@ return data }) - dataItem = _dataSource ? _dataSource[0] : '' - fields = subFields.map(field => { return { title: transfield[field] || field, $title: transfield[field] || field, dataIndex: field, editable: true, - datatype: dataItem && typeof(dataItem[field]) === 'number' ? 'number' : 'string' } }) - } else { - dataItem = _dataSource ? _dataSource[0] : '' } let columns = [ @@ -324,15 +254,13 @@ title: 'Value', $title: 'Value', dataIndex: 'Value', - editable: true, - datatype: dataItem && typeof(dataItem.Value) === 'number' ? 'number' : 'string' + editable: true }, { title: 'Text', $title: 'Text', dataIndex: 'Text', - editable: true, - datatype: dataItem && typeof(dataItem.Text) === 'number' ? 'number' : 'string' + editable: true }, ...fields, { @@ -363,8 +291,7 @@ title: 'ParentID', $title: 'ParentID', dataIndex: 'ParentID', - editable: true, - datatype: dataItem && typeof(dataItem.ParentID) === 'number' ? 'number' : 'string' + editable: true }) } @@ -373,13 +300,6 @@ if (col.dataIndex !== 'operation') { col.title = <div> {col.$title} - {/* <Popconfirm - title={`纭畾鍒囨崲涓�${col.datatype === 'number' ? '鏂囨湰' : '鏁板��'}鍚楋紵`} - overlayClassName="popover-confirm" - onConfirm={() => this.changeDatatype(col) - }> - <SwapOutlined style={{ color: col.datatype === 'number' ? '#1890ff' : ''}} /> - </Popconfirm> */} </div> } return col @@ -460,8 +380,7 @@ editable: col.editable, dataIndex: col.dataIndex, title: col.title, - datatype: col.datatype, - handleSave: this.handleSave, + handleSave: this.handleSave }) } }) -- Gitblit v1.8.0