From 137fb8ea6af2789b3238b22bac31d80bced41dfe Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 28 七月 2021 11:39:39 +0800 Subject: [PATCH] 2021-07-28 --- src/menu/components/table/normal-table/columns/editColumn/index.jsx | 63 ++++++++++++++++++------------- 1 files changed, 37 insertions(+), 26 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 43c63ac..d5450d3 100644 --- a/src/menu/components/table/normal-table/columns/editColumn/index.jsx +++ b/src/menu/components/table/normal-table/columns/editColumn/index.jsx @@ -16,7 +16,8 @@ picture: ['label', 'field', 'type', 'Align', 'Hide', 'IsSort', 'Width', 'blacklist', 'scale', 'lenWidRadio', 'picSort'], colspan: ['label', 'type', 'Align', 'Hide', 'blacklist'], custom: ['label', 'type', 'Align', 'Hide', 'Width', 'blacklist'], - action: ['label', 'type', 'Align', 'Width'] + action: ['label', 'type', 'Align', 'Width'], + index: ['label', 'type', 'Align', 'Width'] } class MainSearch extends Component { @@ -41,24 +42,13 @@ } editColumn = (column) => { - let menulist = sessionStorage.getItem('fstMenuList') - if (menulist) { - try { - menulist = JSON.parse(menulist) - } catch { - menulist = [] - } - } else { - menulist = [] - } - - let formlist = getColumnForm(column, menulist, this.props.fields) + let formlist = getColumnForm(column, this.props.fields) let _options = fromJS(columnTypeOptions[column.type]).toJS() if (column.type === 'text' || column.type === 'number') { if (column.perspective === 'linkmenu') { - _options.push('linkmenu', 'linkfields') + _options.push('linkmenu', 'linkfields', 'open') } else if (column.perspective === 'linkurl') { - _options.push('linkurl', 'linkfields') + _options.push('linkurl', 'linkfields', 'open') } } @@ -103,13 +93,34 @@ } }) } else if (key === 'field') { - this.props.form.setFieldsValue({label: option.props.children}) - if (this.state.type === 'number') { + let values = {label: option.props.children} + if (/Decimal|int/ig.test(option.props.datatype)) { let decimal = 0 if (/Decimal/ig.test(option.props.datatype)) { decimal = +option.props.datatype.replace(/Decimal\(18,/ig, '').replace(')', '') } - this.props.form.setFieldsValue({decimal}) + values.type = 'number' + values.decimal = decimal + } else if (/nvarchar/ig.test(option.props.datatype)) { + values.type = 'text' + } + + if (values.type !== this.state.type) { + values.perspective = '' + let _options = fromJS(columnTypeOptions[values.type]).toJS() + + this.setState({ + type: values.type, + formlist: this.state.formlist.map(item => { + item.hidden = !_options.includes(item.key) + + return item + }) + }, () => { + this.props.form.setFieldsValue(values) + }) + } else { + this.props.form.setFieldsValue(values) } } else if (key === 'format' && value === 'percent') { this.props.form.setFieldsValue({postfix: '%'}) @@ -121,9 +132,9 @@ let _options = fromJS(columnTypeOptions[this.state.type]).toJS() if (value === 'linkmenu') { - _options.push('linkmenu', 'linkfields') + _options.push('linkmenu', 'linkfields', 'open') } else if (value === 'linkurl') { - _options.push('linkurl', 'linkfields') + _options.push('linkurl', 'linkfields', 'open') } this.setState({ @@ -157,7 +168,7 @@ fields.push( <Col span={12} key={index}> <Form.Item label={item.tooltip ? - <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}> + <Tooltip placement="topLeft" title={item.tooltip}> <Icon type="question-circle" /> {item.label} </Tooltip> : item.label @@ -179,7 +190,7 @@ fields.push( <Col span={12} key={index}> <Form.Item label={item.tooltip ? - <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}> + <Tooltip placement="topLeft" title={item.tooltip}> <Icon type="question-circle" /> {item.label} </Tooltip> : item.label @@ -197,7 +208,7 @@ </Form.Item> </Col> ) - } else if (item.type === 'select') { // 涓嬫媺鎼滅储 + } else if (item.type === 'select') { fields.push( <Col span={12} key={index}> <Form.Item label={item.label}> @@ -217,8 +228,8 @@ getPopupContainer={() => document.getElementById('columnwinter')} > {item.options.map((option, index) => - <Select.Option key={`${option.value || option.field}${index}`} datatype={option.datatype || ''} value={option.value || option.field}> - {option.text || option.label} + <Select.Option key={index} datatype={option.datatype || ''} value={(option.value || option.field || option.MenuID)}> + {(option.text || option.label || option.MenuName)} </Select.Option> )} </Select> @@ -230,7 +241,7 @@ fields.push( <Col span={12} key={index}> <Form.Item label={item.tooltip ? - <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}> + <Tooltip placement="topLeft" title={item.tooltip}> <Icon type="question-circle" /> {item.label} </Tooltip> : item.label -- Gitblit v1.8.0