From 2245384d97d69e36d09cd6baa877e50a81d9aff9 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 29 十二月 2021 21:59:09 +0800 Subject: [PATCH] 2021-12-29 --- src/templates/zshare/modalform/datatable/index.jsx | 60 ++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 46 insertions(+), 14 deletions(-) diff --git a/src/templates/zshare/modalform/datatable/index.jsx b/src/templates/zshare/modalform/datatable/index.jsx index b7c094e..2a361f8 100644 --- a/src/templates/zshare/modalform/datatable/index.jsx +++ b/src/templates/zshare/modalform/datatable/index.jsx @@ -144,8 +144,11 @@ class EdiDataTable extends Component { static propTpyes = { dict: PropTypes.object, // 瀛楀吀椤� - type: PropTypes.object, // 鏁版嵁绫诲瀷锛屾枃鏈�佸浘鐗� + transfield: PropTypes.object, // 瀛楁鍚嶇О + type: PropTypes.string, // 鏄惁涓哄叧鑱旇〃鍗� + display: PropTypes.string, // 鏁版嵁绫诲瀷锛屾枃鏈�佸浘鐗� fields: PropTypes.array, // 瀛楁闆� + linkSubFields: PropTypes.array, // 濉厖瀛楁 onChange: PropTypes.func // 鏁版嵁鍙樺寲 } @@ -165,7 +168,12 @@ } UNSAFE_componentWillReceiveProps (nextProps) { - if (!is(fromJS(this.props.fields), fromJS(nextProps.fields)) || !is(fromJS(this.props.type), fromJS(nextProps.type))) { + if ( + !is(fromJS(this.props.fields), fromJS(nextProps.fields)) || + !is(fromJS(this.props.linkSubFields), fromJS(nextProps.linkSubFields)) || + this.props.display !== nextProps.display || + this.props.type !== nextProps.type + ) { this.setState({editingKey: ''}, () => { this.setState({ columns: this.getCloumns() @@ -175,15 +183,16 @@ } getCloumns = () => { - const { type, fields } = this.props + const { display, fields, linkSubFields, transfield, type } = this.props let columns = [] + let keys = ['ParentID'] - if (type === 'picture') { + if (display === 'picture') { columns.push({ title: 'url', dataIndex: '$url', inputType: 'file', - width: '40%', + // width: '40%', editable: true, render: (text) => { if (!text) return '' @@ -191,11 +200,26 @@ } }) } else { - columns = fields.map(item => ({ - title: item.field, - dataIndex: item.field, - editable: true, - })) + columns = fields.map(item => { + keys.push(item.field) + return { + title: item.field, + dataIndex: item.field, + editable: true, + } + }) + } + + if (linkSubFields.length > 0) { + linkSubFields.forEach(m => { + if (keys.includes(m)) return + + columns.push({ + title: transfield[m] || m, + dataIndex: m, + editable: true, + }) + }) } columns.unshift({ @@ -203,6 +227,14 @@ dataIndex: '$value', editable: true, }) + + if (type === 'link') { + columns.unshift({ + title: 'ParentID', + dataIndex: 'ParentID', + editable: true, + }) + } columns.push({ title: '鎿嶄綔', @@ -297,7 +329,7 @@ } handleAdd = () => { - const { fields, type } = this.props + const { fields, display } = this.props if (this.state.data.length >= 100) { notification.warning({ top: 92, @@ -307,9 +339,9 @@ return } - let item = { key: Utils.getuuid(), $value: `${this.state.data.length + 1}` } + let item = { key: Utils.getuuid(), $value: `${this.state.data.length + 1}`, ParentID: '' } - if (type === 'picture') { + if (display === 'picture') { item.$url = '' } else { fields.forEach(f => { @@ -369,7 +401,7 @@ }) let addable = false - if (this.props.type === 'picture') { + if (this.props.display === 'picture') { addable = true } else if (this.props.fields && this.props.fields.length > 0) { addable = true -- Gitblit v1.8.0