|
@@ -101,6 +101,11 @@ const defaultApprovalState = {
|
|
|
rowHasChanged: (row1, row2) => row1 !== row2,
|
|
|
}),//变更处理人列表
|
|
|
selectModel: {},//被选中的item
|
|
|
+
|
|
|
+ changeRollBackOpen: false,//指定回退弹框是否显示
|
|
|
+ changeRollBaceDataSource: new ListView.DataSource({
|
|
|
+ rowHasChanged: (row1, row2) => row1 !== row2,
|
|
|
+ }),//指定回退数据源
|
|
|
}
|
|
|
|
|
|
class Approval extends Component {
|
|
@@ -218,6 +223,9 @@ class Approval extends Component {
|
|
|
changeModalOpen,//变更处理人弹框是否显示
|
|
|
changeDataSource,//变更处理人列表
|
|
|
selectModel,
|
|
|
+
|
|
|
+ changeRollBackOpen,//指定回退弹框是否显示
|
|
|
+ changeRollBaceDataSource//指定回退数据源
|
|
|
} = this.state
|
|
|
|
|
|
//审批常用语
|
|
@@ -457,7 +465,7 @@ class Approval extends Component {
|
|
|
}}></div>
|
|
|
|
|
|
<div className={disagreeAble ? 'menuItem' : 'displayNone'}
|
|
|
- onClick={this.approvalDisagree}>不同意
|
|
|
+ onClick={this.getRollBackNode}>不同意
|
|
|
</div>
|
|
|
<div className={disagreeAble ? '' : 'displayNone'}
|
|
|
style={{
|
|
@@ -523,6 +531,8 @@ class Approval extends Component {
|
|
|
}
|
|
|
{/*变更处理人、放大镜弹出框*/}
|
|
|
{this.getChangeModal()}
|
|
|
+ {/* 不同意时选择回退节点 */}
|
|
|
+ {this.getRollBackModal()}
|
|
|
</div>
|
|
|
</div>
|
|
|
}
|
|
@@ -648,6 +658,41 @@ class Approval extends Component {
|
|
|
</Modal>
|
|
|
}
|
|
|
|
|
|
+ // 不同意时选择回退节点
|
|
|
+ getRollBackModal() {
|
|
|
+ const {
|
|
|
+ changeRollBackOpen
|
|
|
+ } = this.state
|
|
|
+ return <Modal visible={changeRollBackOpen}
|
|
|
+ animationType={'slide-up'}
|
|
|
+ onClose={() => {
|
|
|
+ this.setState({
|
|
|
+ changeRollBackOpen: false
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ title={'指定回退节点'}
|
|
|
+ popup
|
|
|
+ >
|
|
|
+ <ListView
|
|
|
+ dataSource={this.state.changeRollBaceDataSource}
|
|
|
+ initialListSize={30}
|
|
|
+ renderRow={(rowData, sectionID, rowID) => {
|
|
|
+ return <List.Item
|
|
|
+ key={rowID}
|
|
|
+ wrap
|
|
|
+ onClick={this.approvalDisagree.bind(this,
|
|
|
+ rowData)}
|
|
|
+ >{rowData.JP_NODENAME}</List.Item>
|
|
|
+ }}
|
|
|
+ style={{
|
|
|
+ height: '50vh',
|
|
|
+ overflow: 'auto',
|
|
|
+ }}
|
|
|
+ pageSize={20}
|
|
|
+ />
|
|
|
+ </Modal>
|
|
|
+ }
|
|
|
+
|
|
|
initPageState = () => {
|
|
|
this.initData()
|
|
|
this.setState(defaultApprovalState)
|
|
@@ -2140,11 +2185,61 @@ class Approval extends Component {
|
|
|
this.loadProcessUpdate()
|
|
|
}
|
|
|
|
|
|
+ //点击不同意获取以往节点
|
|
|
+ getRollBackNode = () => {
|
|
|
+ const {
|
|
|
+ changeRollBaceDataSource
|
|
|
+ } = this.state
|
|
|
+ let originNode = [{
|
|
|
+ JP_NODENAME:'制单人',
|
|
|
+ backTaskName:'RECORDER'
|
|
|
+ }]
|
|
|
+ this.setState({
|
|
|
+ changeRollBackOpen: true
|
|
|
+ })
|
|
|
+ fetchPost(mBaseUrl + '/common/getCurrentJnodes.action', {
|
|
|
+ 'caller': mApprovalRecord.caller,
|
|
|
+ 'keyValue':mApprovalRecord.id,
|
|
|
+ '_noc': 1,
|
|
|
+ }, {
|
|
|
+ // 'Cookie': 'JSESSIONID=' + mSessionId
|
|
|
+ }).then(response => {
|
|
|
+ let data = response.data;
|
|
|
+ let nodeData = [];
|
|
|
+ let currentNode = mApprovalRecord.nodeName;
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
+ if(data[i].JP_NODENAME != currentNode){
|
|
|
+ nodeData.push(data[i])
|
|
|
+ }else{
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.setState({
|
|
|
+ changeRollBaceDataSource: changeRollBaceDataSource.cloneWithRows(
|
|
|
+ originNode.concat(nodeData))
|
|
|
+ })
|
|
|
+ }).catch(error => {
|
|
|
+ if (typeof error === 'string') {
|
|
|
+ message.error(error)
|
|
|
+ } else {
|
|
|
+ message.error('请求异常')
|
|
|
+ }
|
|
|
+ this.setState({
|
|
|
+ changeRollBaceDataSource: changeRollBaceDataSource.cloneWithRows(
|
|
|
+ originNode)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
//不同意审批
|
|
|
- approvalDisagree = () => {
|
|
|
- // this.setState({
|
|
|
- // loading: true,
|
|
|
- // })
|
|
|
+ approvalDisagree = (rowData) => {
|
|
|
+ let backTaskName = rowData.JP_NODENAME;
|
|
|
+ if(backTaskName == '制单人'){
|
|
|
+ backTaskName = 'RECORDER'
|
|
|
+ }
|
|
|
+ this.setState({
|
|
|
+ changeRollBackOpen: false,
|
|
|
+ loading: true
|
|
|
+ })
|
|
|
Toast.loading('正在审批...', 0)
|
|
|
fetchPost(mBaseUrl + '/common/review.action', {
|
|
|
'taskId': mNodeId,
|
|
@@ -2152,7 +2247,7 @@ class Approval extends Component {
|
|
|
'nodeLog': this.state.approvalContent,
|
|
|
'master': mMaster,
|
|
|
'result': false,
|
|
|
- 'backTaskName': 'RECORDER',
|
|
|
+ 'backTaskName': backTaskName,
|
|
|
'attachs': '',
|
|
|
'_noc': 1,
|
|
|
'holdtime': 4311,
|