From 08cce3334a2dc81d690b518136b0aaea64e48b0b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 14 六月 2023 09:55:50 +0800 Subject: [PATCH] 2023-06-14 --- src/menu/modalconfig/index.jsx | 67 ++++++++++++--------------------- 1 files changed, 24 insertions(+), 43 deletions(-) diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx index c0da35b..a6741f2 100644 --- a/src/menu/modalconfig/index.jsx +++ b/src/menu/modalconfig/index.jsx @@ -20,8 +20,9 @@ const { Panel } = Collapse const { confirm } = Modal +const TableComponent = asyncComponent(() => import('./tablecomponent')) const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform')) -const EditComponent = asyncComponent(() => import('@/templates/zshare/editcomponent')) +const PasteForms = asyncComponent(() => import('@/menu/components/share/pasteforms')) const DragElement = asyncComponent(() => import('@/templates/modalconfig/dragelement')) const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent')) @@ -137,7 +138,7 @@ }) } - if (item.type === 'switch') { + if (item.type === 'switch' || item.type === 'check') { _linksupFields.push({ field: item.field, label: item.label @@ -238,6 +239,8 @@ fieldrepet = true } + delete item.focus + if (item.uuid === res.uuid) { if (item.style) { res.style = item.style @@ -256,6 +259,8 @@ }) return } + + window.GLOB.formId = res.uuid if (['select', 'multiselect', 'link', 'checkbox', 'radio', 'checkcard'].includes(res.type) && res.resourceType === '1' && /\s/.test(res.dataSource)) { this.setState({ @@ -456,44 +461,8 @@ }) } - plusFields = (items, type) => { + plusFields = (items) => { let _config = fromJS(this.state.config).toJS() - - if (type === 'forms') { - if (_config.fields.length > 0) { - let that = this - _config.fields = items.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - confirm({ - title: '纭畾鏇挎崲琛ㄥ崟鍚楋紵', - content: '鍘熻〃鍗曞皢鍒犻櫎銆�', - onOk() { - that.setState({ - config: _config - }) - }, - onCancel() {} - }) - } else { - _config.fields = items.fields.map(item => { - item.uuid = Utils.getuuid() - return item - }) - - this.setState({ - config: _config - }) - notification.success({ - top: 92, - message: '绮樿创鎴愬姛锛�', - duration: 2 - }) - } - return - } _config.fields.push(...items) @@ -503,6 +472,15 @@ if (items.length === 1 && items[0].focus) { this.handleForm(items[0]) } + }) + } + + pasteFields = (items) => { + let _config = fromJS(this.state.config).toJS() + _config.fields = items + + this.setState({ + config: _config }) } @@ -541,13 +519,16 @@ render () { const { btn } = this.props - const { config, saving } = this.state + const { config, saving, card } = this.state return ( <div className="modal-form-board"> <DndProvider backend={HTML5Backend}> <div className="tools"> <Collapse accordion defaultActiveKey="1" bordered={false}> + <Panel header="鍩烘湰淇℃伅" key="0"> + <TableComponent /> + </Panel> <Panel header="琛ㄥ崟" key="1"> <div className="search-element"> {SearchItems.map((item, index) => { @@ -562,7 +543,7 @@ <Card title="琛ㄥ崟閰嶇疆" bordered={false} extra={ <div> <Button type="danger" onClick={this.clearConfig}>娓呯┖</Button> - <EditComponent options={['form', 'forms']} type="formboard" config={this.state.config} plusFields={this.plusFields}/> + <PasteForms type="toolbar" config={config} update={this.pasteFields}/> <Button type="primary" id="save-modal-config" loading={saving} onClick={this.submitConfig}>淇濆瓨</Button> <Button onClick={this.cancelConfig}>杩斿洖</Button> </div> @@ -606,7 +587,7 @@ </div> </DndProvider> <Modal - title="缂栬緫" + title={card && card.$copy ? '澶嶅埗' : '缂栬緫'} visible={this.state.visible} width={950} maskClosable={false} @@ -616,7 +597,7 @@ destroyOnClose > <ModalForm - card={this.state.card} + card={card} formlist={this.state.formlist} inputSubmit={this.handleSubmit} standardform={this.state.standardform} -- Gitblit v1.8.0