From d38dc481492878c04ddf2d6bc2e9bf7d44c57fd7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 23 十二月 2019 18:29:38 +0800 Subject: [PATCH] 2019-12-23 --- src/templates/comtableconfig/tabform/index.jsx | 91 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 70 insertions(+), 21 deletions(-) diff --git a/src/templates/comtableconfig/tabform/index.jsx b/src/templates/comtableconfig/tabform/index.jsx index e6b8254..d338f64 100644 --- a/src/templates/comtableconfig/tabform/index.jsx +++ b/src/templates/comtableconfig/tabform/index.jsx @@ -7,6 +7,7 @@ class MainTab extends Component { static propTpyes = { + tabs: PropTypes.array, // 绫诲瀷 type: PropTypes.string, // 绫诲瀷 dict: PropTypes.object, // 瀛楀吀椤� formlist: PropTypes.any, // 琛ㄥ崟 @@ -14,7 +15,7 @@ } state = { - formlist: null // 琛ㄥ崟 + formlist: null // 琛ㄥ崟 } /** @@ -22,11 +23,30 @@ */ UNSAFE_componentWillMount () { const { formlist } = this.props + let type = formlist.filter(cell => cell.key === 'type')[0].initVal - console.log(type) - + let _initval = formlist.filter(cell => cell.key === 'linkTab')[0].initVal + + let _tabs = this.props.tabs.filter(tab => tab.type === type) + let initTab = _tabs.filter(tab => tab.uuid === _initval)[0] + console.log(_tabs) this.setState({ - formlist: formlist + formlist: formlist.map(item => { + if (item.key === 'linkTab') { + item.options = [ + { + value: '', + text: '鏂板缓' + }, + ..._tabs + ] + if (!initTab) { + item.initVal = '' + } + } + + return item + }) }) } @@ -34,22 +54,51 @@ * @description 鏍囩椤电被鍨嬪垏鎹� */ openTypeChange = (key, value) => { - console.log(value) - // if (key === 'type') { - // console.log(value) + const { formlist } = this.state - // this.setState({ - // formlist: this.state.formlist.map(form => { - // return form - // }) - // }, () => { - // this.setState({ - // formlist: this.state.formlist.map(form => { - // return form - // }) - // }) - // }) - // } + if (key === 'type') { + let _tabs = this.props.tabs.filter(tab => tab.type === value) + + this.setState({ + formlist: formlist.map(item => { + if (item.key === 'linkTab') { + item.options = [ + { + value: '', + text: '鏂板缓' + }, + ..._tabs + ] + item.initVal = '' + item.hidden = true + } + return item + }) + }, () => { + this.setState({ + formlist: this.state.formlist.map(item => { + if (item.key === 'linkTab') { + item.hidden = false + } + return item + }) + }) + }) + + console.log(value) + + this.setState({ + formlist: this.state.formlist.map(form => { + return form + }) + }, () => { + this.setState({ + formlist: this.state.formlist.map(form => { + return form + }) + }) + }) + } } getFields() { @@ -94,7 +143,7 @@ onChange={(value) => {this.openTypeChange(item.key, value)}} > {item.options.map((option, i) => - <Select.Option id={`${i}`} title={option.text} key={`${i}`} value={option.value}> + <Select.Option id={'mk' + i} title={option.text} key={'mk' + i} value={option.value}> {item.key === 'icon' && i !== 0 ? <Icon type={option.text} /> : option.text} </Select.Option> )} @@ -118,7 +167,7 @@ values.uuid = this.props.card.uuid if (!values.linkTab) { // 娌℃湁鍏宠仈鏍囩锛堟柊寤烘椂锛夛紝鍒涘缓鏂版爣绛綢d - values.linkId = Utils.getuuid() + values.linkTab = Utils.getuuid() } resolve({ -- Gitblit v1.8.0