king
2023-06-14 08cce3334a2dc81d690b518136b0aaea64e48b0b
src/mob/modalconfig/index.jsx
@@ -20,8 +20,9 @@
const { Panel } = Collapse
const { confirm } = Modal
const PasteComponent = asyncComponent(() => import('./pastecomponent'))
const TableComponent = asyncComponent(() => import('@/menu/modalconfig/tablecomponent'))
const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform'))
const PasteForms = asyncComponent(() => import('@/menu/components/share/pasteforms'))
const DragElement = asyncComponent(() => import('@/mob/components/formdragelement'))
const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent'))
@@ -61,6 +62,7 @@
  }
  componentDidMount () {
    window.GLOB.formId = ''
    MKEmitter.addListener('submitStyle', this.getStyle)
    MKEmitter.addListener('completeSave', this.completeSave)
  }
@@ -158,7 +160,7 @@
        })
      }
      if (item.type === 'switch') {
      if (item.type === 'switch' || item.type === 'check') {
        _linksupFields.push({
          field: item.field,
          label: item.label
@@ -234,6 +236,8 @@
          fieldrepet = true
        }
        delete item.focus
        if (item.uuid === res.uuid) {
          if (item.style) {
            res.style = item.style
@@ -252,6 +256,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({
@@ -409,49 +415,12 @@
    })
  }
  insert = (config, type) => {
    if (type === 'forms') {
      let _config = fromJS(this.state.config).toJS()
      if (_config.fields.length > 0) {
        let that = this
        _config.fields = config.fields.map(item => {
          item.uuid = Utils.getuuid()
          return item
        })
        confirm({
          title: '确定替换表单吗?',
          content: '原表单将删除。',
          onOk() {
            that.setState({
              config: _config
            })
          },
          onCancel() {}
        })
      } else {
        _config.fields = config.fields.map(item => {
          item.uuid = Utils.getuuid()
          return item
        })
        this.setState({
          config: _config
        })
        notification.success({
          top: 92,
          message: '粘贴成功!',
          duration: 2
        })
      }
      return
    }
  pasteFields = (items) => {
    let _config = fromJS(this.state.config).toJS()
    _config.fields = items
    this.setState({
      config
    }, () => {
      this.handleForm(config.fields[config.fields.length - 1])
      config: _config
    })
  }
@@ -503,13 +472,16 @@
  render () {
    const { btn } = this.props
    const { config, saving } = this.state
    const { config, saving, card } = this.state
    return (
      <div className="mob-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) => {
@@ -525,7 +497,7 @@
            <Button type="primary" id="save-modal-config" loading={saving} onClick={this.submitConfig}>保存</Button>
            <Button onClick={this.cancelConfig}>返回</Button>
            <Button type="primary" style={{background: '#26C281', border: 'none'}} onClick={this.triggerCopy}>复制</Button>
            <PasteComponent config={config} updateConfig={this.insert} />
            <PasteForms type="toolbar" config={config} update={this.pasteFields}/>
            <Button type="danger" onClick={this.clearConfig}>清空</Button>
            <Switch checkedChildren="开" unCheckedChildren="关" defaultChecked={this.state.showField} onChange={(val) => this.setState({showField: val})} />
          </div>
@@ -552,7 +524,7 @@
          </div>
        </DndProvider>
        <Modal
          title="编辑"
          title={card && card.$copy ? '复制' : '编辑'}
          visible={this.state.visible}
          width={950}
          maskClosable={false}
@@ -562,7 +534,7 @@
          destroyOnClose
        >
          <ModalForm
            card={this.state.card}
            card={card}
            formlist={this.state.formlist}
            inputSubmit={this.handleSubmit}
            standardform={this.state.standardform}