提交 fbf8b038 authored 作者: 徐立's avatar 徐立

新增提交按钮

上级 239e7f0e
/**
* 徐立
* 2019年9月19日
* 事务发起提交多次弹框
*/
import React, { Component } from 'react'
import { Modal, Button } from 'antd';
export default class AddModal extends Component {
render() {
let { visible,handleCancel,handleOk,loading } = this.props
return (
<Modal
title="提交申请"
visible={ visible }
onOk={handleOk}
confirmLoading={loading}
onCancel={handleCancel}
width={400}
>
<p style={{width:'100%',textAlign:'center',fontSize:14,color:'#666666'}}>确定要提交申请吗?</p>
</Modal>
)
}
}
/**
* 提交按钮封装
* 需要传入以下参数
* form控件
* appId 事务Id
* draftId 草稿Id 可不传
* callback 保存成功后执行函数
*/
import React, { Component } from 'react';
import { Button } from 'antd';
import AddModel from './AddModal';
import {preHandle} from '../../utils/myutils';
import { connect } from 'dva';
import { openToast } from '../../location/Notification';
@connect()
export default class idnex extends Component {
constructor(props){
super(props)
this.state = {
visible: false,
isLoading: false
}
}
showModal = () => {
this.props.form.validateFields((err, values) => {
if (!err) {
this.setState({
visible: true,
});
}
});
}
handleOk = () => {
let {dispatch} = this.props;
this.props.form.validateFields((err, values) => {
if (!err) {
preHandle(values); // 引入 import preHandle from '@/webPublic/one_stop_public/utils/myutils.js'
console.log(values)
this.setState({
isLoading: true,
},() => {
dispatch({
type: 'affair/startProcess',
payload: {
content: JSON.stringify(values), // 表单数据
appId: this.props.appId, // 这里应该由上级路由跳转传入 事务Id
id: !!this.props.draftId ? this.props.draftId : null // 确认是否存在草稿表单Id存在即传入
},
callback: val => {
if (val) {
if(this.props?.callback){
this.props.callback()
}
} else {
openToast('error', '保存失败', '请尝试');
}
},
}).then(()=>{
this.setState({
isLoading: false,
visible: false,
})
})
})
} else {
openToast('error', '提交失败', '请填写必填项');
}
});
}
handleCancel = () => {
this.setState({
visible: false
})
}
render() {
const {
text
} = this.props
const {
visible,
isLoading,
} = this.state
return (
<>
<Button
onClick={this.showModal}
isLoading={isLoading}
type='primary'
>
{
text??'提交'
}
</Button>
<AddModel
visible={visible}
handleOk={this.handleOk}
isLoading={isLoading}
handleCancel={this.handleCancel}
/>
</>
)
}
}
## 提交按钮使用文档
## 引入
```js
import SumbitButton from '@/webPublic/one_stop_public/AffairButton/SumbitButton'
```
## 使用
```js
<SumbitButton
form={this.props.form} // form 控件
appId = {'事务ID'} // 事务ID
text = '提交' // 按钮文本
draftId = {'草稿Id'} // 可不传 不传为发起全新 传后修改草稿
/>
```
......@@ -19,6 +19,7 @@ xlsx-oc
react-native-uuid
path-to-regexp
prop-types
react-signature-canvas
```
##抽离注意
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论