|
@@ -1,10 +1,11 @@
|
|
|
import React from 'react';
|
|
|
-import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,Popconfirm,AutoComplete} from 'antd';
|
|
|
+import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,Popconfirm,AutoComplete,Radio,DatePicker} from 'antd';
|
|
|
import ajax from 'jquery/src/ajax/xhr.js';
|
|
|
import $ from 'jquery/src/ajax';
|
|
|
import '../userMangagement.less';
|
|
|
import {orderType} from '../../../../dataDic.js';
|
|
|
-import {getOrderType,getProjectState,getTaskStatus,getOrderChannel,getOrderState,getPaymentState ,getApprovedState} from '../../../../tools.js';
|
|
|
+import {getOrderType,getProjectState,getTaskStatus,getOrderChannel,getOrderState,getPaymentState ,getChangeState,getApprovedState} from '../../../../tools.js';
|
|
|
+import moment from 'moment';
|
|
|
|
|
|
const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
loadData(record) {
|
|
@@ -60,6 +61,8 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
orderSelect:false,
|
|
|
transferState:false,
|
|
|
orgCodeUrl:[],
|
|
|
+ lvState:true,
|
|
|
+ lvRadio:0,
|
|
|
customerArr:[],
|
|
|
checkedKeys: [],
|
|
|
//派单
|
|
@@ -101,7 +104,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
key: 'rrtk',
|
|
|
render:(text,record,index)=>{
|
|
|
return (
|
|
|
- <div>
|
|
|
+ <div style={{display:!this.props.queryProject?'block':'none'}}>
|
|
|
{record.taskStatus<=1&&<Popconfirm title={'您将删除项目任务 【'+record.commodityName+'】,系统将自动同步作废项目资料单,请确认!'} onConfirm={(e)=>{this.voidOperation(record)}} okText="确认" cancelText="取消">
|
|
|
<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">删除</Button>
|
|
|
</Popconfirm>}
|
|
@@ -186,13 +189,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
],
|
|
|
};
|
|
|
},
|
|
|
- seeOrder(){
|
|
|
- this.seeOrderAjax();
|
|
|
- this.setState({
|
|
|
- seeState:true,
|
|
|
- orderVisible:true
|
|
|
- })
|
|
|
- },
|
|
|
seeContract(){
|
|
|
this.contract();
|
|
|
this.setState({
|
|
@@ -234,14 +230,20 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
}.bind(this));
|
|
|
},
|
|
|
//查看订单
|
|
|
- seeOrderAjax(){
|
|
|
+ seeOrderAjax(data){
|
|
|
+ if(!data.orderNo){
|
|
|
+ return false;
|
|
|
+ };
|
|
|
+ this.setState({
|
|
|
+ loading:true
|
|
|
+ });
|
|
|
$.ajax({
|
|
|
method: "get",
|
|
|
dataType: "json",
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
|
|
|
data: {
|
|
|
- orderNo: this.state.orderNok
|
|
|
+ orderNo:data.orderNo
|
|
|
},
|
|
|
success: function (data) {
|
|
|
let thisData = data.data;
|
|
@@ -261,6 +263,19 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
});
|
|
|
}.bind(this));
|
|
|
},
|
|
|
+ //时间选择
|
|
|
+ selTime(e,index){
|
|
|
+ this.setState({
|
|
|
+ completeDate:e,
|
|
|
+ selTime:index
|
|
|
+ })
|
|
|
+ },
|
|
|
+ setTime(e,index){
|
|
|
+ this.setState({
|
|
|
+ signDate:e,
|
|
|
+ setTime:index
|
|
|
+ })
|
|
|
+ },
|
|
|
//查看详情
|
|
|
loaduser(record){
|
|
|
if(record){
|
|
@@ -282,11 +297,19 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
thisData = {};
|
|
|
};
|
|
|
this.setState({
|
|
|
+ signTime:thisData.signDate,
|
|
|
+ completeTime:thisData.completeDate,
|
|
|
+ signComment:thisData.signComment,
|
|
|
+ completeComment:thisData.completeComment,
|
|
|
+ completeDate:thisData.completeDate?moment(thisData.completeDate,'YYYY-MM-DD HH:mm:ss'):undefined,
|
|
|
+ signDate:thisData.signDate?moment(thisData.signDate,'YYYY-MM-DD HH:mm:ss'):undefined,
|
|
|
buyerId:thisData.uid,
|
|
|
id:record.id,
|
|
|
orderNok:thisData.orderNo,
|
|
|
orderList:thisData,
|
|
|
technicianName:thisData.technicianName, //任务负责人
|
|
|
+ selTime:'',
|
|
|
+ setTime:''
|
|
|
});
|
|
|
}.bind(this),
|
|
|
}).always(function () {
|
|
@@ -316,6 +339,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
loading: false,
|
|
|
});
|
|
|
this.loadData();
|
|
|
+ this.props.closeDesc(true, true);
|
|
|
} else {
|
|
|
message.warning(data.error[0].message);
|
|
|
};
|
|
@@ -454,8 +478,13 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
userDetaile:false,
|
|
|
distributionVisible:true,
|
|
|
transferState:false,
|
|
|
+ lvState:true,
|
|
|
+ distributionList:[]
|
|
|
});
|
|
|
- this.resetOrder();
|
|
|
+ this.state.departmenttList=undefined;
|
|
|
+ this.state.financeNameSearch='';
|
|
|
+ this.state.lvRadio=0;
|
|
|
+ this.contactList();
|
|
|
},
|
|
|
distributionCancel(){
|
|
|
this.setState({
|
|
@@ -469,16 +498,22 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
},
|
|
|
//分配对象列表
|
|
|
contactList(){
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ let api = this.state.lvRadio==2?'/api/admin/superviser/adminList':'/api/admin/superviser/selectAdminByOrg'
|
|
|
$.ajax({
|
|
|
method: "get",
|
|
|
dataType: "json",
|
|
|
crossDomain: false,
|
|
|
- url: globalConfig.context + '/api/admin/superviser/adminList',
|
|
|
- data: {
|
|
|
+ url: globalConfig.context + api,
|
|
|
+ data: this.state.lvRadio==2?{
|
|
|
pageNo: 1,
|
|
|
pageSize: 99,
|
|
|
departmentId:this.state.departmenttList,
|
|
|
name:this.state.financeNameSearch,
|
|
|
+ }:{
|
|
|
+ //subOrSame:!this.state.lvRadio?"SUB":"SAME"
|
|
|
},
|
|
|
success: function (data) {
|
|
|
let theArr = [];
|
|
@@ -487,22 +522,37 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
message.warning(data.error[0].message);
|
|
|
};
|
|
|
} else {
|
|
|
- for (let i = 0; i < data.data.list.length; i++) {
|
|
|
- let thisdata = data.data.list[i];
|
|
|
- theArr.push({
|
|
|
- key: i,
|
|
|
- id: thisdata.id,
|
|
|
- userNo: thisdata.userNo,
|
|
|
- name:thisdata.name,
|
|
|
- departmentName:thisdata.departmentName,
|
|
|
- departmentId:thisdata.departmentId,
|
|
|
- position:thisdata.position,
|
|
|
- mobile:thisdata.mobile,
|
|
|
- });
|
|
|
- };
|
|
|
-
|
|
|
+ if(data.data.list){
|
|
|
+ for (let i = 0; i < data.data.list.length; i++) {
|
|
|
+ let thisdata = data.data.list[i];
|
|
|
+ theArr.push({
|
|
|
+ key: i,
|
|
|
+ id: thisdata.id,
|
|
|
+ userNo: thisdata.userNo,
|
|
|
+ name:thisdata.name,
|
|
|
+ departmentName:thisdata.departmentName,
|
|
|
+ departmentId:thisdata.departmentId,
|
|
|
+ position:thisdata.position,
|
|
|
+ mobile:thisdata.mobile,
|
|
|
+ });
|
|
|
+ };
|
|
|
+ }else{
|
|
|
+ for (let i = 0; i < data.data.length; i++) {
|
|
|
+ let thisdata = data.data[i];
|
|
|
+ theArr.push({
|
|
|
+ key: i,
|
|
|
+ id: thisdata.id,
|
|
|
+ userNo: thisdata.userNo,
|
|
|
+ name:thisdata.name,
|
|
|
+ departmentName:thisdata.departmentName,
|
|
|
+ departmentId:thisdata.departmentId,
|
|
|
+ position:thisdata.position,
|
|
|
+ mobile:thisdata.mobile,
|
|
|
+ });
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
};
|
|
|
-
|
|
|
this.setState({
|
|
|
distributionList: theArr,
|
|
|
});
|
|
@@ -543,6 +593,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
});
|
|
|
this.distributionOk();
|
|
|
this.loadData();
|
|
|
+ this.props.closeDesc(true, true);
|
|
|
} else {
|
|
|
message.warning(data.error[0].message);
|
|
|
};
|
|
@@ -583,9 +634,12 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
resetOrder(){
|
|
|
this.state.departmenttList=undefined;
|
|
|
this.state.financeNameSearch='';
|
|
|
+ this.state.lvRadio=0;
|
|
|
this.setState({
|
|
|
+ lvState:true,
|
|
|
distributionList:[]
|
|
|
})
|
|
|
+ this.contactList();
|
|
|
},
|
|
|
//添加任务
|
|
|
addTask(){
|
|
@@ -721,6 +775,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
message.success('保存成功!');
|
|
|
this.nextCancel();
|
|
|
this.loadData();
|
|
|
+ this.props.closeDesc(true, true);
|
|
|
} else {
|
|
|
message.warning(data.error[0].message);
|
|
|
}
|
|
@@ -760,14 +815,224 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
}
|
|
|
}.bind(this));
|
|
|
},
|
|
|
+ //保存详情
|
|
|
+ knotSave(){
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "post",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + '/api/admin/techproject/updateProject',
|
|
|
+ data: {
|
|
|
+ contractId:this.props.datauser.id,
|
|
|
+ completeComment:this.state.completeComment,
|
|
|
+ signComment:this.state.signComment,
|
|
|
+ signDate:this.state.setTime?this.state.setTime:this.state.signTime,
|
|
|
+ completeDate:this.state.selTime?this.state.selTime:this.state.completeTime
|
|
|
+ }
|
|
|
+ }).done(function(data) {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ if(!data.error.length) {
|
|
|
+ message.success('保存成功!');
|
|
|
+ this.handleOk()
|
|
|
+ } else {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ }
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
//负责人转交
|
|
|
transfer(){
|
|
|
this.setState({
|
|
|
distributionVisible:true,
|
|
|
transferState:true,
|
|
|
+ lvState:true,
|
|
|
+ distributionList:[]
|
|
|
});
|
|
|
- this.resetOrder();
|
|
|
+ this.state.departmenttList=undefined;
|
|
|
+ this.state.financeNameSearch='';
|
|
|
+ this.state.lvRadio=0;
|
|
|
+ this.contactList();
|
|
|
+ },
|
|
|
+ /* -----变更操作开始----- */
|
|
|
+ //新建变更
|
|
|
+ addChange(){
|
|
|
+ this.setState({
|
|
|
+ addChangeState:true,
|
|
|
+ stateAdd:1,
|
|
|
+ changeRemarks:''
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //产看变更记录
|
|
|
+ lookChange(){
|
|
|
+ this.setState({
|
|
|
+ addChangeState:true,
|
|
|
+ stateAdd:0
|
|
|
+ })
|
|
|
+ this.lookChangeData()
|
|
|
+ },
|
|
|
+ //查看变更列表修改变更
|
|
|
+ modifyChangeCancel(){
|
|
|
+ this.setState({
|
|
|
+ modifyChangeState:false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取变更记录
|
|
|
+ lookChangeData(){
|
|
|
+ this.setState({
|
|
|
+ loading:true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context +'/api/admin/order/viewOrderChange',
|
|
|
+ data: {
|
|
|
+ orderNo:this.props.datauser.orderNo,
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ let theArr = [];
|
|
|
+ if (!data.data) {
|
|
|
+ if (data.error && data.error.length) {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ for (let i = 0; i < data.data.length; i++) {
|
|
|
+ theArr = data.data;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ this.setState({
|
|
|
+ changeHtml: theArr,
|
|
|
+ });
|
|
|
+ }.bind(this),
|
|
|
+ }).always(function () {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ //添加变更状态
|
|
|
+ addChangeCancel(){
|
|
|
+ this.setState({
|
|
|
+ addChangeState:false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //新建变更
|
|
|
+ subChangeState(e){
|
|
|
+ e.preventDefault();
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "POST",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context +'/api/admin/order/addOrderChange' ,
|
|
|
+ data: {
|
|
|
+ orderNo:this.props.datauser.orderNo,
|
|
|
+ changeComment:this.state.changeRemarks
|
|
|
+ }
|
|
|
+ }).done(function(data) {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ if(!data.error.length) {
|
|
|
+ message.success('保存成功!');
|
|
|
+ this.addChangeCancel();
|
|
|
+ this.seeOrderAjax(this.props.datauser);
|
|
|
+ } else {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ }
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ //查看修改变更
|
|
|
+ modifyChange(item){
|
|
|
+ this.setState({
|
|
|
+ modifyChangeState:true,
|
|
|
+ changePromoter:item.creater,
|
|
|
+ changeTime:item.createTime,
|
|
|
+ changeState:item.changeStatus,
|
|
|
+ changeRemarks:item.changeComment,
|
|
|
+ idt:item.changeId,
|
|
|
+ orderNot:item.orderNo
|
|
|
+ })
|
|
|
},
|
|
|
+ //删除变更
|
|
|
+ modifyDelete(item){
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context +'/api/admin/order/deleteOrderChange' ,
|
|
|
+ data: {
|
|
|
+ changeId:item.changeId,
|
|
|
+ }
|
|
|
+ }).done(function(data) {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ if(!data.error.length) {
|
|
|
+ message.success('删除成功!');
|
|
|
+ this.lookChangeData();
|
|
|
+ this.seeOrderAjax(this.props.datauser)
|
|
|
+ } else {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ }
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ //修改变更保存
|
|
|
+ changeModify(e){
|
|
|
+ e.preventDefault();
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "POST",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context +'/api/admin/order/updateOrderChange' ,
|
|
|
+ data: {
|
|
|
+ changeId:this.state.idt,
|
|
|
+ changeStatus:this.state.changeState,
|
|
|
+ changeComment:this.state.changeRemarks
|
|
|
+ }
|
|
|
+ }).done(function(data) {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ if(!data.error.length) {
|
|
|
+ message.success('保存成功!');
|
|
|
+ this.modifyChangeCancel();
|
|
|
+ this.lookChangeData();
|
|
|
+ this.seeOrderAjax(this.props.datauser)
|
|
|
+ } else {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ }
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ /*-----变更操作结束----*/
|
|
|
+ //派单阶级操作
|
|
|
+ lvRadioFn(e){
|
|
|
+ if(e.target.value==2){
|
|
|
+ this.setState({
|
|
|
+ lvRadio:e.target.value,
|
|
|
+ lvState:false
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.setState({
|
|
|
+ lvRadio:e.target.value,
|
|
|
+ lvState:true
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
tableRowClick(record, index) {
|
|
|
this.setState({
|
|
|
addTaskState:false,
|
|
@@ -782,6 +1047,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
if(nextProps.datauser && nextProps.datauser.id ) {
|
|
|
this.loaduser(nextProps.datauser);
|
|
|
this.loadData(nextProps.datauser);
|
|
|
+ this.seeOrderAjax(nextProps.datauser);
|
|
|
}
|
|
|
}else{
|
|
|
this.setState({
|
|
@@ -815,6 +1081,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
})
|
|
|
},
|
|
|
};
|
|
|
+ const changeHtml=this.state.changeHtml ||[];
|
|
|
const categoryList=this.props.categoryArr ||[];
|
|
|
let departmentArr = this.props.departmentArr || [];
|
|
|
const hasSelected = this.state.selectedRowKey.length > 0;
|
|
@@ -837,12 +1104,11 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
<Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} onSubmit={this.handleSubmit}>
|
|
|
<Spin spinning={this.state.loading}>
|
|
|
<div className="clearfix">
|
|
|
- <div className="clearfix">
|
|
|
+ <div className="clearfix">
|
|
|
<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
|
label="订单编号" >
|
|
|
<span>{orderDetaiel.orderNo}</span>
|
|
|
- {orderDetaiel.orderNo&&!this.props.queryProject?<Button onClick={this.seeOrder} style={{float:'right',fontSize:'12px'}}>查看订单</Button>:''}
|
|
|
</FormItem>
|
|
|
<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
@@ -855,16 +1121,80 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
<span>{orderDetaiel.buyerName}</span>
|
|
|
{orderDetaiel.buyerName&&<Button onClick={this.seeContract} style={{float:'right',fontSize:'12px'}}>查看联系人</Button>}
|
|
|
</FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="客户省份" >
|
|
|
- <span>{orderDetaiel.buyerProvince}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="项目类型" >
|
|
|
- <span>{getOrderType(orderDetaiel.projectType)}</span>
|
|
|
- </FormItem>
|
|
|
+ {orderDetaiel.orderNo&&<div>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="客户省份" >
|
|
|
+ <span>{orderDetaiel.buyerProvince}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="下单时间" >
|
|
|
+ <span>{orderArr.createTime}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="订单类型" >
|
|
|
+ <span>{getOrderType(orderArr.orderType)}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="订单渠道" >
|
|
|
+ <span>{getOrderChannel(orderArr.orderChannel)}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="订单状态" >
|
|
|
+ <span>{getOrderState(orderArr.orderStatus)}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="已收款项" >
|
|
|
+ <span>{orderArr.actuallyTotalAmount+'万元'}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="结算状态" >
|
|
|
+ <span>{getPaymentState(orderArr.liquidationStatus)}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="市价订单金额" >
|
|
|
+ <span>{orderArr.orderAmount+'万元'}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="市价首款金额" >
|
|
|
+ <span>{orderArr.firstPayment+'万元'}</span>
|
|
|
+ </FormItem>
|
|
|
+ <div className='clearfix'>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="实签订单金额" >
|
|
|
+ <span>{orderArr.signTotalAmount+'万元'}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="实签首款金额" >
|
|
|
+ <span>{orderArr.signFirstPayment+'万元'}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="特批立项" >
|
|
|
+ <span>{getApprovedState(orderArr.approval)}</span>
|
|
|
+ </FormItem>
|
|
|
+ <div className='clearfix'>
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="订单留言" >
|
|
|
+ <span>{orderArr.orderRemarks}</span>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>}
|
|
|
+ </div>
|
|
|
+ <div className="clearfix">
|
|
|
<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
|
label="项目负责人" >
|
|
@@ -884,7 +1214,15 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
|
label="立项时间" >
|
|
|
- <span>{orderDetaiel.signDate}</span>
|
|
|
+ {!this.props.queryProject&&orderDetaiel.projectStatus==2?
|
|
|
+ <DatePicker style={{marginTop:'2px',width:'200px'}}
|
|
|
+ showTime
|
|
|
+ format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ placeholder="选择时间"
|
|
|
+ value={this.state.signDate}
|
|
|
+ onChange={(e,time)=>{this.setTime(e,time)}}
|
|
|
+ />:
|
|
|
+ <span>{orderDetaiel.signDate}</span>}
|
|
|
</FormItem>
|
|
|
<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
@@ -896,15 +1234,24 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
labelCol={{ span: 4 }}
|
|
|
wrapperCol={{ span: 16 }}
|
|
|
label="立项说明" >
|
|
|
- <span>{orderDetaiel.signComment}</span>
|
|
|
+ {!this.props.queryProject&&orderDetaiel.projectStatus==2?<Input type="textarea" placeholder="请输入立项说明" rows={4} value={this.state.signComment}
|
|
|
+ onChange={(e)=>{this.setState({signComment:e.target.value})}}/>:<span>{orderDetaiel.signComment}</span>}
|
|
|
</FormItem>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className='clearfix'>
|
|
|
<FormItem className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="结项日期" >
|
|
|
- <span>{orderDetaiel.completeDate}</span>
|
|
|
+ label="结项日期" >
|
|
|
+ {!this.props.queryProject&&orderDetaiel.projectStatus==3?
|
|
|
+ <DatePicker style={{marginTop:'2px',width:'200px'}}
|
|
|
+ showTime
|
|
|
+ format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ placeholder="选择时间"
|
|
|
+ value={this.state.completeDate}
|
|
|
+ onChange={(e,time)=>{this.selTime(e,time)}}
|
|
|
+ />:
|
|
|
+ <span>{orderDetaiel.completeDate}</span>}
|
|
|
</FormItem>
|
|
|
</div>
|
|
|
<div className='clearfix'>
|
|
@@ -912,7 +1259,10 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
labelCol={{ span: 4 }}
|
|
|
wrapperCol={{ span: 16 }}
|
|
|
label="结项说明" >
|
|
|
- <span>{orderDetaiel.completeComment}</span>
|
|
|
+ {!this.props.queryProject&&orderDetaiel.projectStatus==3?<Input type="textarea" placeholder="请输入立项说明" rows={4} value={this.state.completeComment}
|
|
|
+ onChange={(e)=>{this.setState({completeComment:e.target.value})}}/>:
|
|
|
+ <span>{orderDetaiel.completeComment}</span>
|
|
|
+ }
|
|
|
</FormItem>
|
|
|
</div>
|
|
|
<div className='clearfix'>
|
|
@@ -922,6 +1272,28 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
<span>{orderDetaiel.deleteSign==1?'作废':'未作废'}</span>
|
|
|
</FormItem>
|
|
|
</div>
|
|
|
+ {orderDetaiel.orderNo&&<div className='clearfix'>
|
|
|
+ <div className="changeStatusTxt">
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ style={{color:'red'}}
|
|
|
+ label="变更状态" >
|
|
|
+ <span>{getChangeState(orderArr.changeStatus)}</span>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ <div className="clearfix">
|
|
|
+ {!this.props.queryProject&&<FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更操作" >
|
|
|
+ <Button onClick={this.addChange}>添加变更</Button>
|
|
|
+ </FormItem>}
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更操作" >
|
|
|
+ <Button onClick={this.lookChange}>查看变更纪录</Button>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </div>}
|
|
|
<div>
|
|
|
<span style={{marginLeft:'50px',fontSize:'20px'}}>项目任务</span>
|
|
|
{orderDetaiel.projectStatus<3&&!this.props.queryProject?<Button type='primary' onClick={this.addTask} style={{float:'right',marginRight:'100px'}}>添加任务</Button>:''}
|
|
@@ -935,9 +1307,14 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
/>
|
|
|
</Spin>
|
|
|
</div>
|
|
|
- {!this.props.projectState?<div>
|
|
|
- </div>:
|
|
|
+ {!this.props.projectState?<div style={{marginTop:'30px',paddingLeft:'160px'}}>
|
|
|
+ <div style={{display:orderDetaiel.projectStatus==3||orderDetaiel.projectStatus==2&&!this.props.queryProject?'block':'none'}}>
|
|
|
+ <Button type="primary" onClick={this.knotSave} style={{margin:'15px'}}>保存</Button>
|
|
|
+ <Button type="ghost" onClick={this.handleCancel}>返回</Button>
|
|
|
+ </div>
|
|
|
+ </div>:
|
|
|
<div style={{marginTop:'30px',paddingLeft:'100px'}}>
|
|
|
+ {orderDetaiel.projectStatus==3||orderDetaiel.projectStatus==2?<Button type="primary" onClick={this.knotSave} style={{margin:'15px'}}>保存</Button>:''}
|
|
|
<Button type="danger" onClick={this.removeItem}>撤项</Button>
|
|
|
<Button type="primary" onClick={this.Knot} style={{margin:'15px'}}>结项</Button>
|
|
|
<Button type="ghost" onClick={this.handleCancel}>返回</Button>
|
|
@@ -1165,7 +1542,11 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
<Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} >
|
|
|
<Spin spinning={this.state.loading}>
|
|
|
<div>
|
|
|
- <Select placeholder="部门"
|
|
|
+ <Radio.Group onChange={this.lvRadioFn} value={this.state.lvRadio}>
|
|
|
+ <Radio value={0}>下级</Radio>
|
|
|
+ <Radio value={2}>其他</Radio>
|
|
|
+ </Radio.Group>
|
|
|
+ {!this.state.lvState&&<Select placeholder="部门"
|
|
|
style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
|
|
|
value={this.state.departmenttList}
|
|
|
onChange={(e) => { this.setState({ departmenttList: e }) }}>
|
|
@@ -1174,10 +1555,10 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
return <Select.Option key={item.id} >{item.name}</Select.Option>
|
|
|
})
|
|
|
}
|
|
|
- </Select>
|
|
|
- <Input placeholder={this.state.transferState?"责任人":"咨询师"} style={{width:'150px',marginLeft:'10px'}}
|
|
|
+ </Select>}
|
|
|
+ {!this.state.lvState&&<Input placeholder={this.state.transferState?"责任人":"咨询师"} style={{width:'150px',marginLeft:'10px'}}
|
|
|
value={this.state.financeNameSearch}
|
|
|
- onChange={(e) => { this.setState({ financeNameSearch: e.target.value }); }} />
|
|
|
+ onChange={(e) => { this.setState({ financeNameSearch: e.target.value }); }} />}
|
|
|
<Button type="primary" onClick={this.searchOrder} style={{marginLeft:'10px',marginRight:'10px'}}>搜索</Button>
|
|
|
<Button onClick={this.resetOrder}>重置</Button>
|
|
|
</div>
|
|
@@ -1204,81 +1585,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
<Spin spinning={this.state.loading}>
|
|
|
{this.state.seeState?
|
|
|
<div className="clearfix">
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="订单编号" >
|
|
|
- <span>{orderArr.orderNo}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="下单时间" >
|
|
|
- <span>{orderArr.createTime}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="客户名称" >
|
|
|
- <span>{orderArr.buyerName}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="订单类型" >
|
|
|
- <span>{getOrderType(orderArr.orderType)}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="订单渠道" >
|
|
|
- <span>{getOrderChannel(orderArr.orderChannel)}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="订单状态" >
|
|
|
- <span>{getOrderState(orderArr.orderStatus)}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="已收款项" >
|
|
|
- <span>{orderArr.actuallyTotalAmount+'万元'}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="结算状态" >
|
|
|
- <span>{getPaymentState(orderArr.liquidationStatus)}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="市价订单金额" >
|
|
|
- <span>{orderArr.orderAmount+'万元'}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="市价首款金额" >
|
|
|
- <span>{orderArr.firstPayment+'万元'}</span>
|
|
|
- </FormItem>
|
|
|
- <div className='clearfix'>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="实签订单金额" >
|
|
|
- <span>{orderArr.signTotalAmount+'万元'}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="实签首款金额" >
|
|
|
- <span>{orderArr.signFirstPayment+'万元'}</span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="特批立项" >
|
|
|
- <span>{getApprovedState(orderArr.approval)}</span>
|
|
|
- </FormItem>
|
|
|
- <div className='clearfix'>
|
|
|
- <FormItem
|
|
|
- labelCol={{ span: 4 }}
|
|
|
- wrapperCol={{ span: 16 }}
|
|
|
- label="订单留言" >
|
|
|
- <span>{orderArr.orderRemarks}</span>
|
|
|
- </FormItem>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
</div>:
|
|
|
<Table columns={this.state.contractList}
|
|
|
dataSource={this.state.contractArr}
|
|
@@ -1289,6 +1595,120 @@ const MySettlementDetaile = Form.create()(React.createClass({
|
|
|
</Spin>
|
|
|
</Form>
|
|
|
</Modal>
|
|
|
+ <Modal maskClosable={false} visible={this.state.addChangeState}
|
|
|
+ onOk={this.addChangeCancel} onCancel={this.addChangeCancel}
|
|
|
+ width='800px'
|
|
|
+ title= {this.state.stateAdd?'添加变更':'查看变更记录'}
|
|
|
+ footer=''
|
|
|
+ className="admin-desc-content">
|
|
|
+ <Form layout="horizontal" id="demand-form">
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <div className="clearfix">
|
|
|
+ {this.state.stateAdd?<div className="clearfix">
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="变更说明" >
|
|
|
+ <Input type="textarea" placeholder="请输入变更说明" rows={4} value={this.state.changeRemarks}
|
|
|
+ onChange={(e)=>{this.setState({changeRemarks:e.target.value})}}/>
|
|
|
+ </FormItem>
|
|
|
+ <div className="clearfix">
|
|
|
+ <Button type="primary" onClick={this.subChangeState} style={{margin:"10px 50px 10px 128px"}}>保存</Button>
|
|
|
+ <Button onClick={this.addChangeCancel}>取消</Button>
|
|
|
+ </div>
|
|
|
+ </div>:
|
|
|
+ <div>
|
|
|
+ {
|
|
|
+ changeHtml.length?changeHtml.map(function(item,index){
|
|
|
+ return (<div className="changeBorder" key={index}>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更发起人" >
|
|
|
+ <span>{item.creater}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更申请时间" >
|
|
|
+ <span>{item.createTime}</span>
|
|
|
+ </FormItem>
|
|
|
+ <div className='clearfix'>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更状态" >
|
|
|
+ <span>{getChangeState(item.changeStatus)}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更操作" >
|
|
|
+ <Button onClick={(e)=>{this.modifyChange(item)}}>修改</Button>
|
|
|
+ {/*<Button type="danger" onClick={(e)=>{this.modifyDelete(item)}}>删除</Button>*/}
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ <div className='clearfix changeRemark'>
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="变更说明" >
|
|
|
+ <p>{item.changeComment}</p>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </div>)
|
|
|
+ },this):<p style={{textAlign:"center"}}>暂无变更记录</p>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ </div>
|
|
|
+ </Spin>
|
|
|
+ </Form >
|
|
|
+ </Modal>
|
|
|
+ <Modal maskClosable={false} visible={this.state.modifyChangeState}
|
|
|
+ onOk={this.modifyChangeCancel} onCancel={this.modifyChangeCancel}
|
|
|
+ width='600px'
|
|
|
+ title= "修改变更 "
|
|
|
+ footer=''
|
|
|
+ className="admin-desc-content">
|
|
|
+ <Form layout="horizontal" id="demand-form">
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <div className="clearfix">
|
|
|
+ <div className="clearfix">
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更发起人" >
|
|
|
+ <span>{this.state.changePromoter}</span>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="变更申请时间" >
|
|
|
+ <span>{this.state.changeTime}</span>
|
|
|
+ </FormItem>
|
|
|
+ <div className='clearfix'>
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="变更状态" >
|
|
|
+ <Radio.Group onChange={(e)=>{this.setState({changeState:e.target.value})}} value={this.state.changeState}>
|
|
|
+ <Radio value={1}>变更中</Radio>
|
|
|
+ <Radio value={2}>变更完成</Radio>
|
|
|
+ </Radio.Group>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ <div className='clearfix'>
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="变更说明" >
|
|
|
+ <Input type="textarea" placeholder="请输入变更说明" rows={4} value={this.state.changeRemarks}
|
|
|
+ onChange={(e)=>{this.setState({changeRemarks:e.target.value})}}/>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ <div className="clearfix">
|
|
|
+ <Button type="primary" onClick={this.changeModify} style={{margin:"10px 95px"}}>保存</Button>
|
|
|
+ <Button onClick={this.modifyChangeCancel}>取消</Button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Spin>
|
|
|
+ </Form >
|
|
|
+ </Modal>
|
|
|
</div>
|
|
|
)
|
|
|
}
|