From da64ab0923bf8817fc8599a6e37b953ce38f64c8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 27 八月 2023 18:37:36 +0800 Subject: [PATCH] 2023-08-27 --- src/templates/zshare/modalform/datatable/index.jsx | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/templates/zshare/modalform/datatable/index.jsx b/src/templates/zshare/modalform/datatable/index.jsx index 7492418..8f3e62b 100644 --- a/src/templates/zshare/modalform/datatable/index.jsx +++ b/src/templates/zshare/modalform/datatable/index.jsx @@ -174,6 +174,7 @@ !is(fromJS(this.props.fields), fromJS(nextProps.fields)) || !is(fromJS(this.props.linkSubFields), fromJS(nextProps.linkSubFields)) || this.props.display !== nextProps.display || + (nextProps.multiple && this.props.multiple !== nextProps.multiple) || this.props.type !== nextProps.type ) { this.setState({editingKey: ''}, () => { @@ -185,9 +186,9 @@ } getCloumns = () => { - const { display, fields, linkSubFields, transfield, type } = this.props + const { display, fields, linkSubFields, transfield, type, multiple } = this.props let columns = [] - let keys = ['ParentID'] + let keys = ['ParentID', 'pid'] if (display === 'picture') { columns.push({ @@ -199,6 +200,17 @@ render: (text) => { if (!text) return '' return <span style={{display: 'block', width: '70px', height: '70px'}}><img style={{width: '100%', height: '100%'}} src={text} alt="" /></span> + } + }) + } else if (display === 'color') { + columns.push({ + title: 'Color', + dataIndex: '$color', + inputType: 'text', + editable: true, + render: (text) => { + if (!text) return '' + return <div style={{height: '20px', background: text}}></div> } }) } @@ -229,6 +241,14 @@ dataIndex: '$value', editable: true, }) + + if (multiple === 'dropdown' && display === 'text') { + columns.unshift({ + title: 'pid', + dataIndex: 'pid', + editable: true, + }) + } if (type === 'link') { columns.unshift({ @@ -371,6 +391,8 @@ if (display === 'picture') { item.$url = '' + } else if (display === 'color') { + item.$color = '' } fields.forEach(f => { @@ -418,6 +440,8 @@ } render() { + const { display, fields } = this.props + const components = { body: { row: DragableBodyRow, @@ -443,9 +467,9 @@ }) let addable = false - if (this.props.display === 'picture' || this.props.display === 'color') { + if (display === 'picture' || display === 'color') { addable = true - } else if (this.props.fields && this.props.fields.length > 0) { + } else if (fields && fields.length > 0) { addable = true } -- Gitblit v1.8.0