liting2017 7 years ago
parent
commit
87ff3f3f95
25 changed files with 2449 additions and 2323 deletions
  1. 112 113
      js/component/manageCenter/order/departmentOrder/servicesOrder/addService.jsx
  2. 9 25
      js/component/manageCenter/order/departmentOrder/servicesOrder/serviceManage.jsx
  3. 1 1
      js/component/manageCenter/order/flowSettlement/billManage/myBill.jsx
  4. 1 1
      js/component/manageCenter/order/flowSettlement/billManagement/myBill.jsx
  5. 1 1
      js/component/manageCenter/order/flowSettlement/billQuery/myBill.jsx
  6. 1 1
      js/component/manageCenter/order/flowSettlement/myBill/myBill.jsx
  7. 113 67
      js/component/manageCenter/order/myOrder/servicesOrder/addService.jsx
  8. 8 25
      js/component/manageCenter/order/myOrder/servicesOrder/myService.jsx
  9. 147 97
      js/component/manageCenter/order/orderManagement/approveOrder/approveOrder.jsx
  10. 388 254
      js/component/manageCenter/order/orderManagement/approveOrder/approveOrderDetaile.jsx
  11. 124 96
      js/component/manageCenter/order/orderManagement/publicOrder/publicOrder.jsx
  12. 155 29
      js/component/manageCenter/order/orderManagement/publicOrder/publicOrderDetaile.jsx
  13. 2 2
      js/component/manageCenter/order/settlementOrder/mySettlement/mySettlement.jsx
  14. 62 82
      js/component/manageCenter/order/settlementOrder/mySettlement/mySettlementDetaile.jsx
  15. 109 111
      js/component/manageCenter/order/settlementOrder/settlementManage/managementDetaile.jsx
  16. 5 5
      js/component/manageCenter/order/settlementOrder/settlementManage/settlementManagement.jsx
  17. 3 0
      js/component/manageCenter/servicesManage/projectOrder/content.jsx
  18. 295 249
      js/component/manageCenter/servicesManage/projectOrder/myTask/projectManage.jsx
  19. 33 969
      js/component/manageCenter/servicesManage/projectOrder/myTask/projectManageDetaile.jsx
  20. 1 1
      js/component/manageCenter/servicesManage/projectOrder/orderOrder/projectOrder.jsx
  21. 112 114
      js/component/manageCenter/servicesManage/projectOrder/orderOrder/projectOrderDetaile.jsx
  22. 2 1
      js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManage.jsx
  23. 51 79
      js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManageDetaile.jsx
  24. 571 0
      js/component/manageCenter/servicesManage/projectOrder/taskManagement/projectManage.jsx
  25. 143 0
      js/component/manageCenter/servicesManage/projectOrder/taskManagement/projectManageDetaile.jsx

+ 112 - 113
js/component/manageCenter/order/departmentOrder/servicesOrder/addService.jsx

@@ -4,7 +4,7 @@ import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import '../../userMangagement.less';
 import {orderType} from '../../../../dataDic.js';  
-import {splitUrl,getOrderType,getOrderStage,getOrderState,getPaymentState,getOrderChannel,getApprovedState,getLock,getPaymentMethod,getTransactionChannel} from '../../../../tools.js';
+import {splitUrl,getOrderType,getOrderStage,getOrderState,getTransactionProject,getPaymentState,getOrderChannel,getApprovedState,getLock,getPaymentMethod,getTransactionChannel} from '../../../../tools.js';
 const Option = AutoComplete.Option;
 
 //图片组件
@@ -117,6 +117,7 @@ const NewService = Form.create()(React.createClass({
 			orgCodeUrl:[],
 			lookState:false,
 			checkedKeys: [],
+			lookflowList:[],
 			editFw:[],
 			signBillVisible:false,
 			commod:'',
@@ -168,95 +169,62 @@ const NewService = Form.create()(React.createClass({
 							}
                 },
 			],
-			projectList:[
+			flowList:[
 				{
-                    title: '项目名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
-                }, {
-                    title: '项目类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
                     render:(text)=>{
-                    	return (getOrderType(text))
+                    	return text&&text.substr(0,9)+'…'
                     }
+                }, {
+                    title: '平台流水时间',
+                    dataIndex: 'createTime',
+                    key: 'createTime'
+                }, {
+                    title: '流水金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
                 },{
-                    title: '项目数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
+                    title: '付款人名称',
+                    dataIndex: 'payerName',
+                    key: 'payerName'
+                }, {
+                    title: '收款人名称',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName'
                 },
-			],
-			flowList:[
-				{
-                    title: '流水名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
+                {
+                    title: '流水科目',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{return getTransactionProject(text) }
                 }, {
-                    title: '流水类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
-                    render:(text)=>{
-                    	return (getOrderType(text))
-                    }
+                    title: '流水渠道',
+                    dataIndex: 'transactionChannel',
+                    key: 'transactionChannel',
+                    render:(text)=>{return getTransactionChannel(text) }
                 },{
-                    title: '流水数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
-                },
+                    title: '财务流水号',
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo',
+                }, {
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTime',
+                    key: 'financialPayTime',
+                }, {
+                    title: '流水确认',
+                    dataIndex: 'confirmSign',
+                    key: 'confirmSign',
+                    render:(text)=>{return text?'已确认':'待确认' }
+                },{
+                    title: '确认时间',
+                    dataIndex: 'confirmTime',
+                    key: 'confirmTime',
+                }
 			]
 		};
 	},
-	 //查看流失。项目列表
-    lookSee(state) {
-    	this.state.lookSource=[];
-        this.setState({
-            loading: true
-        });
-        let api=state?'/api/xiangmu':'/api/liushui'
-        $.ajax({
-            method: "get",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + api,
-            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++) {
-                        let thisdata = data.data[i];
-                        theArr.push({
-                             key: i,
-                             id:thisdata.id,
-                             orderNo:thisdata.orderNo,
-                             commodityName:thisdata.commodityName,
-                             commodityType:thisdata.commodityType,
-                             commodityMode:thisdata.commodityMode,
-                             commodityQuantity:thisdata.commodityQuantity,
-                             commodityPrice:thisdata.commodityPrice,
-                             discountPrice:thisdata.discountPrice,
-                             commodityFirstPayment:thisdata.commodityFirstPayment,
-                             createTimes:thisdata.createTimes,
-                             discountFirstPayment:thisdata.discountFirstPayment,
-                             remarks:thisdata.remarks,
-                        });
-                    };
-                   }
-                this.setState({
-                    lookSource: theArr,
-                });
-            }.bind(this),
-        }).always(function () {
-            this.setState({
-                loading: false
-            });
-        }.bind(this));
-    },
 	//新建订单、编辑订单保存
 	handleSubmit(e) {
 		e.preventDefault();
@@ -456,22 +424,22 @@ const NewService = Form.create()(React.createClass({
     //取消订单
     cancelOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'cancelOrder')
+    	this.props.operation(idArr,3)
     },
     //作废订单
     scrapOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'scrapOrder')
+    	this.props.operation(idArr,2)
     },
     //锁定订单
     lockOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'lockOrder')
+    	this.props.operation(idArr,0)
     },
     //解锁订单
     unlockOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'unlockOrder')
+    	this.props.operation(idArr,1)
     },
     //签单
     signBitt(){
@@ -745,20 +713,62 @@ const NewService = Form.create()(React.createClass({
 			}
 		}.bind(this));
 	},
-	//查看项目、查看流水
-	lookProject(){
-		this.setState({
-			lookState:true,
-			lookVisible:true,
-		})
-		this.lookSee(true)
-	},
 	lookflow(){
 		this.setState({
-			lookState:false,
+			loading: true,
 			lookVisible:true,
 		})
-		this.lookSee(false)
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	},
 	lookCancel(){
 		this.setState({
@@ -1019,7 +1029,6 @@ const NewService = Form.create()(React.createClass({
 							                            {...formItemLayout}
 							                            label="项目负责人" >  
 							                            <span>{orderDetaiel.technicianName}</span>
-							                            <Button onClick={this.lookProject} style={{float:'right'}}>查看项目</Button>
 						                    		</FormItem>
 						                    		<FormItem className="half-item"
 							                            {...formItemLayout}
@@ -1028,7 +1037,7 @@ const NewService = Form.create()(React.createClass({
 						                    		</FormItem>
 					                    		</div>
 					                    		<div>
-								                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
+								                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
 								                	{this.props.datauser.active.applySign?<Button type='primary' onClick={this.addDetailed} style={{float:'right',marginRight:'50px',marginBottom:'15px',display:true?'block':'none'}}>添加明细</Button>:''}
 								                </div>
 								                <div className="patent-table">
@@ -1070,7 +1079,7 @@ const NewService = Form.create()(React.createClass({
 			        <Modal maskClosable={false} visible={this.state.addnextVisible}
                         onOk={this.nextCancel} onCancel={this.nextCancel}
                         width='800px'
-                        title={this.state.addState?'添加订单明细服务':'查看订单明细服务'}                     
+                        title={this.state.addState?'添加服务':'查看服务'}                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form">
@@ -1306,27 +1315,17 @@ const NewService = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='550px'
-                        title= {this.state.lookState?'查看项目':'查看流水'}                    
+                        width='1000px'
+                        title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
-	                        	   {this.state.lookState?
-	                        	   		<div>
-	                        	   			<Table columns={this.state.projectList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		
-	                        	   		</div>:
-	                        	   		<div>
-	                        	   			<Table columns={this.state.flowList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		</div>}
+                        	   			<Table columns={this.state.flowList}
+					                           dataSource={this.state.lookflowList}
+					                           pagination={false}
+			                             />
 		                        </div>
 			                </Spin>
 			            </Form >

+ 9 - 25
js/component/manageCenter/order/departmentOrder/servicesOrder/serviceManage.jsx

@@ -204,7 +204,7 @@ const ServiceManage=Form.create()(React.createClass({
                     title: '是否特批',
                     dataIndex: 'approval',
                     key: 'approval',
-                    render:text=>{return text?'已特批':'未特批'}
+                    render:text=>{return text==2?'已特批':'未特批'}
                 },{
                     title: '订单渠道',
                     dataIndex: 'orderChannel',
@@ -299,19 +299,19 @@ const ServiceManage=Form.create()(React.createClass({
     },
     //取消订单
     cancelOrder(e){
-    	this.operation(e,'cancelOrder')
+    	this.operation(e,3)
     },
     //作废订单
     scrapOrder(e){
-    	this.operation(e,'scrapOrder')
+    	this.operation(e,2)
     },
     //锁定订单
     lockOrder(e){
-    	this.operation(e,'lockOrder')
+    	this.operation(e,0)
     },
     //解锁订单
     unlockOrder(e){
-    	this.operation(e,'unlockOrder')
+    	this.operation(e,1)
     },
     //签单
     signBill(ids){
@@ -334,37 +334,21 @@ const ServiceManage=Form.create()(React.createClass({
     },
     
     //列表各种骚操作
+    //列表各种骚操作
     operation(record,index) {
-    	let api;
-        switch(index){
-        	case 'cancelOrder':  //取消订单
-        		api='/api/quxiaodingdan';
-        		break;
-        	case 'scrapOrder':   //作废订单
-        		api='/api/zuofeidingdan';
-        		break;
-        	case 'lockOrder':    //锁定订单
-        		api='/api/suodingdingdan';
-        		break;
-        	case 'unlockOrder':  //解锁订单
-        		api='/api/jiesuodingdan';
-        		break;
-        	default:
-        	return false;
-        }
         this.setState({
             selectedRowKeys: [],
             loading: true,
             showDesc:false
         });
         $.ajax({
-            method: "POST",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + api,
+            url: globalConfig.context + '/api/admin/order/lockOrRevokeOrder',
             data: {
             	orderNo:record.orderNo,
-            	confirm:''
+            	operatorType:index
             }
         }).done(function (data) {
             if (!data.error.length) {

+ 1 - 1
js/component/manageCenter/order/flowSettlement/billManage/myBill.jsx

@@ -203,7 +203,7 @@ const MyBill=Form.create()(React.createClass({
                     title: '是否有效',
                     dataIndex: 'deleteSign',
                     key: 'deleteSign',
-                    render:(text)=>{return text?'有效':'作废' }
+                    render:(text)=>{return !text?'有效':'锁定/作废' }
                 },
             ],
             dataSource: [],

+ 1 - 1
js/component/manageCenter/order/flowSettlement/billManagement/myBill.jsx

@@ -203,7 +203,7 @@ const MyBill=Form.create()(React.createClass({
                     title: '是否有效',
                     dataIndex: 'deleteSign',
                     key: 'deleteSign',
-                    render:(text)=>{return text?'有效':'作废' }
+                    render:(text)=>{return !text?'有效':'锁定/作废' }
                 },
                 {
                     title: '操作',

+ 1 - 1
js/component/manageCenter/order/flowSettlement/billQuery/myBill.jsx

@@ -203,7 +203,7 @@ const MyBill=Form.create()(React.createClass({
                     title: '是否有效',
                     dataIndex: 'deleteSign',
                     key: 'deleteSign',
-                    render:(text)=>{return text?'有效':'作废' }
+                    render:(text)=>{return !text?'有效':'锁定/作废' }
                 },
             ],
             dataSource: [],

+ 1 - 1
js/component/manageCenter/order/flowSettlement/myBill/myBill.jsx

@@ -206,7 +206,7 @@ const MyBill=Form.create()(React.createClass({
                     title: '是否有效',
                     dataIndex: 'deleteSign',
                     key: 'deleteSign',
-                    render:(text)=>{return text?'有效':'作废' }
+                    render:(text)=>{return !text?'有效':'锁定/作废' }
                 },
                 {
                     title: '操作',

+ 113 - 67
js/component/manageCenter/order/myOrder/servicesOrder/addService.jsx

@@ -4,7 +4,7 @@ import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import '../../userMangagement.less';
 import {orderType} from '../../../../dataDic.js';  
-import {splitUrl,getOrderType,getOrderStage,getOrderState,getPaymentState,getOrderChannel,getApprovedState,getLock,getPaymentMethod,getTransactionChannel} from '../../../../tools.js';
+import {splitUrl,getOrderType,getOrderStage,getOrderState,getTransactionProject,getPaymentState,getOrderChannel,getApprovedState,getLock,getPaymentMethod,getTransactionChannel} from '../../../../tools.js';
 const Option = AutoComplete.Option;
 
 //图片组件
@@ -110,13 +110,13 @@ const NewService = Form.create()(React.createClass({
             });
         }.bind(this));
     },
-    
 	getInitialState() {
 		return {
 			loading: false,
 			visible: false,
 			orgCodeUrl:[],
 			checkedKeys: [],
+			lookflowList:[],
 			editFw:[],
 			lookState:false,
 			signBillVisible:false,
@@ -169,41 +169,59 @@ const NewService = Form.create()(React.createClass({
 							}
                 },
 			],
-			projectList:[
+			flowList:[
 				{
-                    title: '项目名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
-                }, {
-                    title: '项目类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
                     render:(text)=>{
-                    	return (getOrderType(text))
+                    	return text&&text.substr(0,9)+'…'
                     }
+                }, {
+                    title: '平台流水时间',
+                    dataIndex: 'createTime',
+                    key: 'createTime'
+                }, {
+                    title: '流水金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
                 },{
-                    title: '项目数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
+                    title: '付款人名称',
+                    dataIndex: 'payerName',
+                    key: 'payerName'
+                }, {
+                    title: '收款人名称',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName'
                 },
-			],
-			flowList:[
-				{
-                    title: '流水名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
+                {
+                    title: '流水科目',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{return getTransactionProject(text) }
                 }, {
-                    title: '流水类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
-                    render:(text)=>{
-                    	return (getOrderType(text))
-                    }
+                    title: '流水渠道',
+                    dataIndex: 'transactionChannel',
+                    key: 'transactionChannel',
+                    render:(text)=>{return getTransactionChannel(text) }
                 },{
-                    title: '流水数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
-                },
+                    title: '财务流水号',
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo',
+                }, {
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTime',
+                    key: 'financialPayTime',
+                }, {
+                    title: '流水确认',
+                    dataIndex: 'confirmSign',
+                    key: 'confirmSign',
+                    render:(text)=>{return text?'已确认':'待确认' }
+                },{
+                    title: '确认时间',
+                    dataIndex: 'confirmTime',
+                    key: 'confirmTime',
+                }
 			]
 		};
 	},
@@ -257,8 +275,6 @@ const NewService = Form.create()(React.createClass({
 						orderType:this.state.orderType
 					}:{
 						orderNo:this.props.datauser.orderNo,
-//						firstPayment:this.state.firstPayment,
-//						orderAmount:this.state.orderAmount,
 						signTotalAmount:this.state.signTotalAmount,
 						signFirstPayment:this.state.signFirstPayment,
 						orderRemarks:this.state.orderRemarks,
@@ -406,22 +422,22 @@ const NewService = Form.create()(React.createClass({
     //取消订单
     cancelOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'cancelOrder')
+    	this.props.operation(idArr,3)
     },
     //作废订单
     scrapOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'scrapOrder')
+    	this.props.operation(idArr,2)
     },
     //锁定订单
     lockOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'lockOrder')
+    	this.props.operation(idArr,0)
     },
     //解锁订单
     unlockOrder(){
     	let idArr=this.props.datauser;
-    	this.props.operation(idArr,'unlockOrder')
+    	this.props.operation(idArr,1)
     },
     //签单
     signBitt(){
@@ -695,20 +711,62 @@ const NewService = Form.create()(React.createClass({
 			}
 		}.bind(this));
 	},
-	//查看项目、查看流水
-	lookProject(){
-		this.setState({
-			lookState:true,
-			lookVisible:true,
-		});
-		this.lookSee(true);
-	},
 	lookflow(){
 		this.setState({
-			lookState:false,
+			loading: true,
 			lookVisible:true,
-		});
-		this.lookSee(false);
+		})
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	},
 	lookCancel(){
 		this.setState({
@@ -1020,7 +1078,6 @@ const NewService = Form.create()(React.createClass({
 							                            {...formItemLayout}
 							                            label="项目负责人" >  
 							                            <span>{orderDetaiel.technicianName}</span>
-							                            <Button onClick={this.lookProject} style={{float:'right'}}>查看项目</Button>
 						                    		</FormItem>
 						                    		<FormItem className="half-item"
 							                            {...formItemLayout}
@@ -1029,7 +1086,7 @@ const NewService = Form.create()(React.createClass({
 						                    		</FormItem>
 					                    		</div>
 					                    		<div>
-								                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
+								                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
 								                	{this.props.datauser.active.applySign?<Button type='primary' onClick={this.addDetailed} style={{float:'right',marginRight:'50px',marginBottom:'15px',display:true?'block':'none'}}>添加明细</Button>:''}
 								                </div>
 								                <div className="patent-table">
@@ -1071,7 +1128,7 @@ const NewService = Form.create()(React.createClass({
 			        <Modal maskClosable={false} visible={this.state.addnextVisible}
                         onOk={this.nextCancel} onCancel={this.nextCancel}
                         width='800px'
-                        title={this.state.addState?'添加订单明细服务':'查看订单明细服务'}                     
+                        title={this.state.addState?'添加服务':'查看服务'}                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form">
@@ -1269,7 +1326,6 @@ const NewService = Form.create()(React.createClass({
 								        </div>
 				                    </div>
 			                    <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle">
-			                       {/*<Button className="submitSave" type="primary" onClick={this.temporary}>暂存信息</Button>*/} 
 			                        <Button className="submitSave" type="primary" htmlType="submit">确定签单</Button>  
 			                        <Button className="submitSave" type="ghost" onClick={this.signBillOk}>返回</Button>
 			                    </FormItem> 
@@ -1307,27 +1363,17 @@ const NewService = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='550px'
-                        title= {this.state.lookState?'查看项目':'查看流水'}                    
+                        width='1000px'
+                        title= '查看流水'                    
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
-	                        	   {this.state.lookState?
-	                        	   		<div>
-	                        	   			<Table columns={this.state.projectList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		
-	                        	   		</div>:
-	                        	   		<div>
-	                        	   			<Table columns={this.state.flowList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		</div>}
+                        	   			<Table columns={this.state.flowList}
+					                           dataSource={this.state.lookflowList}
+					                           pagination={false}
+			                             />
 		                        </div>
 			                </Spin>
 			            </Form >

+ 8 - 25
js/component/manageCenter/order/myOrder/servicesOrder/myService.jsx

@@ -145,7 +145,7 @@ const MyService=Form.create()(React.createClass({
                     title: '是否特批',
                     dataIndex: 'approval',
                     key: 'approval',
-                    render:text=>{return text?'已特批':'未特批'}
+                    render:text=>{return text==2?'已特批':'未特批'}
                 },{
                     title: '订单渠道',
                     dataIndex: 'orderChannel',
@@ -273,19 +273,19 @@ const MyService=Form.create()(React.createClass({
     },
     //取消订单
     cancelOrder(e){
-    	this.operation(e,'cancelOrder')
+    	this.operation(e,3)
     },
     //作废订单
     scrapOrder(e){
-    	this.operation(e,'scrapOrder')
+    	this.operation(e,2)
     },
     //锁定订单
     lockOrder(e){
-    	this.operation(e,'lockOrder')
+    	this.operation(e,0)
     },
     //解锁订单
     unlockOrder(e){
-    	this.operation(e,'unlockOrder')
+    	this.operation(e,1)
     },
     //签单
     signBill(ids){
@@ -308,36 +308,19 @@ const MyService=Form.create()(React.createClass({
     },
     //列表各种骚操作
     operation(record,index) {
-    	let api;
-        switch(index){
-        	case 'cancelOrder':  //取消订单
-        		api='/api/quxiaodingdan';
-        		break;
-        	case 'scrapOrder':   //作废订单
-        		api='/api/zuofeidingdan';
-        		break;
-        	case 'lockOrder':    //锁定订单
-        		api='/api/suodingdingdan';
-        		break;
-        	case 'unlockOrder':  //解锁订单
-        		api='/api/jiesuodingdan';
-        		break;
-        	default:
-        	return false;
-        }
         this.setState({
             selectedRowKeys: [],
             loading: true,
             showDesc:false
         });
         $.ajax({
-            method: "POST",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + api,
+            url: globalConfig.context + '/api/admin/order/lockOrRevokeOrder',
             data: {
             	orderNo:record.orderNo,
-            	confirm:''
+            	operatorType:index
             }
         }).done(function (data) {
             if (!data.error.length) {

+ 147 - 97
js/component/manageCenter/order/orderManagement/approveOrder/approveOrder.jsx

@@ -6,8 +6,8 @@ import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message,
 import ApproveOrderDetaile from "./approveOrderDetaile.jsx";
 import moment from 'moment';
 import '../../userMangagement.less';
-import {lvl,intentProgress,transactionProgress,contractProgress,projectProgress} from '../../../../dataDic.js';
-import {getIntentProgress,getTransactionProgress,getContractProgress,getProjectProgress} from '../../../../tools.js';
+import {orderState,paymentState,orderChannel} from '../../../../dataDic.js';
+import {getOrderState,getPaymentState,getOrderChannel,getProjectState,getApprovedState,getOrderType } from '../../../../tools.js';
 
 const ApproveOrder=Form.create()(React.createClass({
 	loadData(pageNo) {
@@ -19,21 +19,19 @@ const ApproveOrder=Form.create()(React.createClass({
             method: "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/roles',
+            url: globalConfig.context + '/api/admin/order/listApprovalServiceOrder',
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                customerName:this.state.customerName,
+                buyerName:this.state.customerName,
                 startDate: this.state.releaseDate[0],
 				endDate: this.state.releaseDate[1],
-				transactionProgress:this.state.transactionProgress,
-				contractProgress:this.state.contractProgress,
-				projectProgress:this.state.projectProgress,
-				settlementState:this.state.settlementState,
-				orderStatus:this.state.orderStatus,
-				approved:this.state.approved,
-				orderChannel:this.state.orderChannel,
-				intentOrder:this.state.intentOrder?'1':'0',
+				depIds:this.state.departmentSearch , //部门
+				salesmanName:this.state.orderLeader, //负责人
+				orderStatus:this.state.orderStateSearch , //订单状态
+				liquidationStatus:this.state.paymentStateSearch , //结算状态
+				orderChannel:this.state.orderChannelSearch, //订单渠道
+				approvalHistory:this.state.approvalHistorySearch?1:0    //特批历史
             },
             success: function (data) {
                 let theArr = [];
@@ -45,11 +43,21 @@ const ApproveOrder=Form.create()(React.createClass({
                     for (let i = 0; i < data.data.list.length; i++) {
                         let thisdata = data.data.list[i];
                         theArr.push({
-                             key: i,
-	                         id: thisdata.id,
-	                         roleName: thisdata.roleName,
-	                         creater:thisdata.creater,
-	                         createTime:thisdata.createTimez,
+                            key: i,
+	                        id: thisdata.id,
+	                        orderNo: thisdata.orderNo,
+	                        orderType:thisdata.orderType,
+	                        orderStatus:thisdata.orderStatus,
+	                        liquidationStatus:thisdata.liquidationStatus,
+	                        createTime:thisdata.createTime,
+	                        buyerName:thisdata.buyerName,
+	                        signTotalAmount:thisdata.signTotalAmount,
+	                        projectStage:thisdata.projectStage,
+	                        approval:thisdata.approval,
+	                        salesmanName:thisdata.salesmanName,
+		                    orderChannel:thisdata.orderChannel,
+		                    financeName:thisdata.financeName,
+		                    departmentName:thisdata.departmentName
                         });
                     };
                     this.state.pagination.current = data.data.pageNo;
@@ -60,6 +68,7 @@ const ApproveOrder=Form.create()(React.createClass({
 					this.state.pagination.total=0
 				}
                 this.setState({
+                	pageNo:pageNo,
                     dataSource: theArr,
                     pagination: this.state.pagination,
                     selectedRowKeys:[]
@@ -71,12 +80,53 @@ const ApproveOrder=Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    departmentList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "post",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + "/api/admin/organization/selectSuperId",
+			data: {
+				
+			},
+			success: function(data) {
+				let thedata = data.data;
+				let theArr=[];
+				if(!thedata) {
+					if(data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					};
+					thedata = {};
+				}else{
+					thedata.map(function(item,index){
+						theArr.push({
+							key:index,
+							name:item.name,
+							id:item.id,
+							depNo:item.depNo
+						})
+					})
+				}
+				this.setState({
+					departmentArr:theArr,
+				})
+			}.bind(this),
+			}).always(function() {
+				this.setState({
+					loading: false
+				});
+			}.bind(this));
+	},
     getInitialState() {
         return {
         	datauser:{},
             selectedRowKeys: [],
             releaseDate: [],
             selectedRows: [],
+            approvalHistorySearch:true,
             searchMore: true,
             loading: false,
             distributionVisible:false,
@@ -110,66 +160,78 @@ const ApproveOrder=Form.create()(React.createClass({
             columns: [
                 {
                     title: '订单编号',
-                    dataIndex: 'roleName',
-                    key: 'roleName'
+                    dataIndex: 'orderNo',
+                    key: 'orderNo'
                 }, {
                     title: '订单类型',
-                    dataIndex: 'creater',
-                    key: 'creater'
+                    dataIndex: 'orderType',
+                    key: 'orderType',
+                    render:(text)=>{return getOrderType(text)}
                 }, {
                     title: '下单时间',
-                    dataIndex: 'creater7',
-                    key: 'creater7'
+                    dataIndex: 'createTime',
+                    key: 'createTime'
                 },{
                     title: '订单客户',
-                    dataIndex: 'roleName1',
-                    key: 'roleName1'
-                }, {
-                    title: '订单金额',
-                    dataIndex: 'c',
-                    key: 'c'
+                    dataIndex: 'buyerName',
+                    key: 'buyerName',
+                    render:(text)=>{return (text.length>8)?(text).substr(0,8)+'…':text}
                 },
                 {
                     title: '实际下单金额',
-                    dataIndex: 'creater1',
-                    key: 'creater1'
-                }, {
-                    title: '意向进度',
-                    dataIndex: 'createTime1',
-                    key: 'createTime1',
-                    render:(text)=>{return getIntentProgress(text) }
-                },{
-                    title: '交易进度',
-                    dataIndex: 'roleName2',
-                    key: 'roleName2',
-                    render:(text)=>{return getTransactionProgress(text) }
+                    dataIndex: 'signTotalAmount',
+                    key: 'signTotalAmount'
                 }, {
                     title: '结算状态',
-                    dataIndex: 'creater2',
-                    key: 'creater2',
-                    render:(text)=>{return getContractProgress(text) }
+                    dataIndex: 'liquidationStatus',
+                    key: 'liquidationStatus',
+                    render:(text)=>{return getPaymentState(text) }
                 }, {
                     title: '订单状态',
-                    dataIndex: 'creatu',
-                    key: 'creatu',
-                    render:(text)=>{return getProjectProgress(text) }
+                    dataIndex: 'orderStatus',
+                    key: 'orderStatus',
+                    render:(text)=>{return getOrderState(text) }
+                }, {
+                    title: '项目状态',
+                    dataIndex: 'projectStage',
+                    key: 'projectStage',
+                    render:(text)=>{return getProjectState(text) }
+                },{
+                    title: '是否特批',
+                    dataIndex: 'approval',
+                    key: 'approval',
+                    render:text=>{return text==2?'已特批':'未特批'}
                 },{
                     title: '订单渠道',
-                    dataIndex: 'cre',
-                    key: 'cre',
-                    render:(text)=>{return getProjectProgress(text) }
+                    dataIndex: 'orderChannel',
+                    key: 'orderChannel',
+                    render:(text)=>{return getOrderChannel(text) }
+                },{
+                    title: '部门机构',
+                    dataIndex: 'departmentName',
+                    key: 'departmentName',
+                },{
+                    title: '订单跟进人',
+                    dataIndex: 'salesmanName',
+                    key: 'salesmanName',
+                },{
+                    title: '财务跟进人',
+                    dataIndex: 'financeName',
+                    key: 'financeName',
                 },{
                     title: '操作',
                     dataIndex: 'operation',
                     key: 'operation',
                     render: (text, record, index) => {
 						return <div>
-									<Popconfirm title={'您确认驳回 【'+ record.roleName +'】的特批申请?'} onConfirm={(e)=>{this.reject(record)}} okText="确认" cancelText="取消">
-									    <Button style={{marginRight:'5px'}} type="danger" onClick={(e) =>{ e.stopPropagation()}}>驳回</Button>                 
-									</Popconfirm>
-									<Popconfirm title={'您确定同意 【'+ record.roleName +'】的特批申请?'} onConfirm={(e)=>{this.confirm(record)}} okText="确认" cancelText="取消">
-									    <Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation()}}>同意</Button>                 
-									</Popconfirm>
+									{record.approval==1&&<div>
+										<Popconfirm title={'您确认驳回 【'+ record.salesmanName +'】的特批申请?'} onConfirm={(e)=>{this.reject(record)}} okText="确认" cancelText="取消">
+										    <Button style={{marginRight:'5px'}} type="danger" onClick={(e) =>{ e.stopPropagation()}}>驳回</Button>                 
+										</Popconfirm>
+										<Popconfirm title={'您确定同意 【'+ record.salesmanName +'】的特批申请?'} onConfirm={(e)=>{this.confirm(record)}} okText="确认" cancelText="取消">
+										    <Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation()}}>同意</Button>                 
+										</Popconfirm>
+									</div>}
                         	   </div>
 					}
                 }
@@ -186,25 +248,24 @@ const ApproveOrder=Form.create()(React.createClass({
     },
     //驳回
     reject(record){
-    	let api ='api/bohui'
-    	this.confirmSelect(api,record)
+    	this.confirmSelect(0,record)
     },
     //确认
     confirm(record){
-    	let api='api/quren'
-    	this.confirmSelect(api,record)
+    	this.confirmSelect(1,record)
     },
-    confirmSelect(api,record){
+    confirmSelect(nub,record){
     	this.setState({
             loading: true
         });
         $.ajax({
-            method: "POST",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + api,
+            url: globalConfig.context + '/api/admin/order/approvalServiceOrder',
             data: {
-            	id:record.id,
+            	orderNo:record.orderNo,
+            	confirm:nub
             }
         }).done(function (data) {
             if (!data.error.length) {
@@ -212,14 +273,15 @@ const ApproveOrder=Form.create()(React.createClass({
                 this.setState({
                     loading: false,
                 });
+                 this.loadData();
             } else {
                 message.warning(data.error[0].message);
             };
-            this.loadData();
         }.bind(this));
     },
     componentWillMount() {
         this.loadData();
+        this.departmentList()
     },
     tableRowClick(record, index) {
     	this.state.userDetaile=true;
@@ -232,7 +294,7 @@ const ApproveOrder=Form.create()(React.createClass({
     	this.state.userDetaile=false;
         this.state.showDesc = e;
         if (s) {
-            this.loadData();
+            this.loadData(this.state.pageNo);
         };
     },
     searchSwitch() {
@@ -255,14 +317,11 @@ const ApproveOrder=Form.create()(React.createClass({
     	this.state.customerName='';
     	this.state.releaseDate[0] = undefined;
 		this.state.releaseDate[1] = undefined;
-		this.state.transactionProgress = undefined;
-		this.state.contractProgress = undefined;
-		this.state.projectProgress = undefined;
-		this.state.settlementState = undefined;
-		this.state.orderStatus = undefined;
-		this.state.approved = undefined;
-		this.state.orderChannel = undefined;
-		this.state.intentOrder = undefined;
+		this.state.orderLeader = '';
+		this.state.departmentSearch=undefined;
+		this.state.approvalHistorySearch=true;
+		this.state.orderStateSearch  = undefined;
+		this.state.paymentStateSearch  = undefined;
         this.loadData();       
     },
     render() {
@@ -280,6 +339,7 @@ const ApproveOrder=Form.create()(React.createClass({
 			   })
 			},
         };
+        let departmentArr = this.state.departmentArr || [];
         const hasSelected = this.state.selectedRowKeys.length > 0;
         const { RangePicker } = DatePicker;
         return (
@@ -296,50 +356,40 @@ const ApproveOrder=Form.create()(React.createClass({
 		                        onChange={(data, dataString) => { this.setState({ releaseDate: dataString }); }} /> 
                         <Select placeholder="部门机构"
 	                        style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
-	                        value={this.state.orderStatus}
-	                        onChange={(e) => { this.setState({ orderStatus: e }) }}>
+	                        value={this.state.departmentSearch}
+	                        onChange={(e) => { this.setState({ departmentSearch: e }) }}>
 	                        {
-	                            lvl.map(function (item) {
-	                                    return <Select.Option key={item.value} >{item.key}</Select.Option>
+	                            departmentArr.map(function (item) {
+	                                    return <Select.Option key={item.id} >{item.name}</Select.Option>
 	                            })
 	                        }
                   		</Select>
                   		<Input placeholder="订单负责人" style={{width:'150px'}}
-	                        value={this.state.customerName}
-	                        onChange={(e) => { this.setState({ customerName: e.target.value }); }} />
+	                        value={this.state.orderLeader}
+	                        onChange={(e) => { this.setState({ orderLeader: e.target.value }); }} />
 	                    <Button type="primary" onClick={this.search} style={{marginLeft:'10px'}}>搜索</Button>
 	                    <Button onClick={this.reset}>重置</Button>
 	                    <span style={{marginLeft:'10px',marginRight:'20px'}}>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>    
 	                </div>
 	                <div className='clearfix' style={{marginTop:'5px'}}>
 	                  <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}> 
-	                  		<Checkbox checked={this.state.intentOrder} onChange={(e)=>{this.setState({intentOrder:!this.state.intentOrder})}}>特批历史订单</Checkbox>
+	                  		<Checkbox checked={this.state.approvalHistorySearch} onChange={(e)=>{this.setState({approvalHistorySearch:!this.state.approvalHistorySearch})}}>特批历史订单</Checkbox>
 	                        <Select placeholder="订单状态"
 	                            style={{ width: 150 ,marginRight:'10px'}}
-	                            value={this.state.orderStatus}
-	                            onChange={(e) => { this.setState({ orderStatus: e }) }}>
+	                            value={this.state.orderStateSearch}
+	                            onChange={(e) => { this.setState({ orderStateSearch: e }) }}>
 	                            {
-                                    lvl.map(function (item) {
+                                    orderState.map(function (item) {
                                             return <Select.Option key={item.value} >{item.key}</Select.Option>
                                     })
                                 }
 	                        </Select>
 	                        <Select placeholder="结算状态"
 	                            style={{ width: 150 ,marginRight:'10px'}}
-	                            value={this.state.orderStatus}
-	                            onChange={(e) => { this.setState({ orderStatus: e }) }}>
-	                            {
-                                    lvl.map(function (item) {
-                                            return <Select.Option key={item.value} >{item.key}</Select.Option>
-                                    })
-                                }
-	                        </Select>
-	                        <Select placeholder="订单渠道"
-	                            style={{ width: 150,marginRight:'10px' }}
-	                            value={this.state.orderChannel}
-	                            onChange={(e) => { this.setState({ orderChannel: e }) }}>
+	                            value={this.state.paymentStateSearch}
+	                            onChange={(e) => { this.setState({ paymentStateSearch: e }) }}>
 	                            {
-                                    lvl.map(function (item) {
+                                    paymentState.map(function (item) {
                                             return <Select.Option key={item.value} >{item.key}</Select.Option>
                                     })
                                 }

+ 388 - 254
js/component/manageCenter/order/orderManagement/approveOrder/approveOrderDetaile.jsx

@@ -3,7 +3,7 @@ import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import '../../userMangagement.less';
-import {lvl} from '../../../../dataDic.js';
+import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType,getTransactionChannel ,getTransactionProject } from '../../../../tools.js';
 
 //图片组件
 const PicturesWall = React.createClass({
@@ -59,16 +59,18 @@ const PicturesWall = React.createClass({
 });
 
 const ApproveOrderDetaile = Form.create()(React.createClass({
-	loadData() {
+	loadData(record) {
+        this.state.data = [];
         this.setState({
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/roles',
+            url: globalConfig.context + '/api/admin/order/getOrderCommodity',
             data: {
+            	orderNo:record?record.orderNo:this.props.datauser.orderNo
             },
             success: function (data) {
                 let theArr = [];
@@ -77,16 +79,27 @@ const ApproveOrderDetaile = 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];
+                    for (let i = 0; i < data.data.length; i++) {
+                        let thisdata = data.data[i];
                         theArr.push({
                              key: i,
+                             id:thisdata.id,
+                             orderNo:thisdata.orderNo,
+                             commodityName:thisdata.commodityName,
+                             commodityType:thisdata.commodityType,
+                             commodityMode:thisdata.commodityMode,
+                             commodityQuantity:thisdata.commodityQuantity,
+                             commodityPrice:thisdata.commodityPrice,
+                             discountPrice:thisdata.discountPrice,
+                             commodityFirstPayment:thisdata.commodityFirstPayment,
+                             createTimes:thisdata.createTimes,
+                             discountFirstPayment:thisdata.discountFirstPayment,
+                             remarks:thisdata.remarks,
                         });
                     };
                    }
                 this.setState({
                     dataSource: theArr,
-                    pagination: false,
                 });
             }.bind(this),
         }).always(function () {
@@ -99,38 +112,99 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
 		return {
 			loading: false,
 			visible: false,
-			contractState:false,
+			lookState:true,
 			orgCodeUrl:[],
+			lookflowList:[],
 			checkedKeys: [],
 			columns: [
 				{
                     title: '业务项目名称',
-                    dataIndex: 'roleName',
-                    key: 'roleName'
+                    dataIndex: 'commodityName',
+                    key: 'commodityName'
                 }, {
                     title: '项目类别',
-                    dataIndex: 'creater1',
-                    key: 'creater1'
+                    dataIndex: 'commodityType',
+                    key: 'commodityType',
+                    render:(text)=>{
+                    	return (getOrderType(text))
+                    }
                 },{
                     title: '项目数量',
-                    dataIndex: 'roleName2',
-                    key: 'roleName2'
+                    dataIndex: 'commodityQuantity',
+                    key: 'commodityQuantity'
                 }, {
                     title: '服务市价',
-                    dataIndex: 'creater2',
-                    key: 'creater2'
+                    dataIndex: 'commodityPrice',
+                    key: 'commodityPrice'
                 }, {
                     title: '实签价格',
-                    dataIndex: 'roleName3',
-                    key: 'roleName3'
+                    dataIndex: 'discountPrice',
+                    key: 'discountPrice'
                 }, {
                     title: '下单时间',
-                    dataIndex: 'creater4',
-                    key: 'creater4'
+                    dataIndex: 'createTimes',
+                    key: 'createTimes'
                 }, {
                     title: '项目说明',
-                    dataIndex: 'roleName5',
-                    key: 'roleName5'
+                    dataIndex: 'remarks',
+                    key: 'remarks',
+					render:(text)=>{
+						return (text&&text.length>8?text.substr(0,8)+'…':text)
+					}
+                }
+			],
+			flowList:[
+				{
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
+                    render:(text)=>{
+                    	return text&&text.substr(0,9)+'…'
+                    }
+                }, {
+                    title: '平台流水时间',
+                    dataIndex: 'createTime',
+                    key: 'createTime'
+                }, {
+                    title: '流水金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
+                },{
+                    title: '付款人名称',
+                    dataIndex: 'payerName',
+                    key: 'payerName'
+                }, {
+                    title: '收款人名称',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName'
+                },
+                {
+                    title: '流水科目',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{return getTransactionProject(text) }
+                }, {
+                    title: '流水渠道',
+                    dataIndex: 'transactionChannel',
+                    key: 'transactionChannel',
+                    render:(text)=>{return getTransactionChannel(text) }
+                },{
+                    title: '财务流水号',
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo',
+                }, {
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTime',
+                    key: 'financialPayTime',
+                }, {
+                    title: '流水确认',
+                    dataIndex: 'confirmSign',
+                    key: 'confirmSign',
+                    render:(text)=>{return text?'已确认':'待确认' }
+                },{
+                    title: '确认时间',
+                    dataIndex: 'confirmTime',
+                    key: 'confirmTime',
                 }
 			]
 		};
@@ -138,13 +212,14 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
 	//查看基本详情基本信息
     loaduser(record){
     	if(record){
+    	this.state.orderList=[]
     	$.ajax({
-            method: "post",
+            method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context + '/api/admin/role/rolePermission',
+			url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
             data: {
-              id: record.id
+              orderNo: record.orderNo
             },
             success: function (data) {
                 let thisData = data.data;                
@@ -154,17 +229,20 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
                     };
                     thisData = {};
                 };
-                let idList=[];
-                thisData.map(function(item){
-                	idList.push(
-                		item.pid
-                	)
-                })
                 this.setState({
-					ids:record.id,
-                	roleName:thisData[0].rname,
-                	checkedKeys:idList,	
-                });                  
+					id:thisData.id,
+					orderList:thisData,
+					orderAmount:thisData.orderAmount,
+					firstPayment:thisData.firstPayment,
+					signTotalAmount:thisData.signTotalAmount,
+					signFirstPayment:thisData.signFirstPayment,
+					approval:thisData.approval==0?thisData.approval.toString():thisData.approval,
+					orderRemarks:thisData.orderRemarks,
+                    orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],
+               		//签单
+               		orderNo:thisData.orderNo,//订单编号
+               		buyerName:thisData.buyerName,
+                });
             }.bind(this),
        }).always(function () {
             this.setState({            	
@@ -185,63 +263,87 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
 		});
 		this.props.closeDesc(false);
 	},
-	componentWillMount() {
-		
-	},
 	nextCancel() {
 		this.setState({
 			addnextVisible: false
 		})
 	},
-	//查看订单明细
-	orderDetails(record){
-		if(record){
-	    	$.ajax({
-	            method: "post",
-				dataType: "json",
-				crossDomain: false,
-				url: globalConfig.context + '/api/admin/role/rolePermission',
-	            data: {
-	              id: record.id
-	            },
-	            success: function (data) {
-	                let thisData = data.data;                
-	                if (!thisData) {
-	                    if (data.error && data.error.length) {
-	                        message.warning(data.error[0].message);
-	                    };
-	                    thisData = {};
-	                };
-	                let idList=[];
-	                thisData.map(function(item){
-	                	idList.push(
-	                		item.pid
-	                	)
-	                })
-	                this.setState({
-						ids:record.id,
-	                });                  
-	            }.bind(this),
-	       }).always(function () {
-	            this.setState({            	
-	                loading: false
-	            });
-	        }.bind(this));  
-	    }
+	lookflow(){
+		this.setState({
+			loading: true,
+			lookVisible:true,
+		})
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+	},
+	lookCancel(){
+		this.setState({
+			lookVisible:false
+		})
 	},
 	tableRowClick(record, index) {
-        this.setState({
+       this.setState({
+        	editFw:record,
         	addnextVisible:true,
         });
-        this.orderDetails(record)
     },
+	componentWillMount() {
+		
+	},
 	componentWillReceiveProps(nextProps) { //props改变时触发
 		this.state.visible = nextProps.showDesc;
 		if(nextProps.userDetaile && nextProps.showDesc ) {
-			if(nextProps.datauser && nextProps.datauser.id ) {
-				this.loaduser(nextProps.datauser);
-				this.loadData();
-			}
+			this.loaduser(nextProps.datauser);
+			this.loadData(nextProps.datauser);
 		}
 	},
 	render() {
@@ -250,206 +352,238 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
 			labelCol: { span: 8 },
 			wrapperCol: { span: 14 },
 		};
+		const editFws=this.state.editFw || [];
 		const orderDetaiel=this.state.orderList || [];
 		return(
 			<div>
             <Modal maskClosable={false} visible={this.state.visible}
-                    onOk={this.handleOk} onCancel={this.handleCancel}
-                    width='1000px'
-                    title='编辑订单'                     
-                    footer=''
-                    className="admin-desc-content">
-		            <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} >
-		                <Spin spinning={this.state.loading}>
-	                        <div className="clearfix">
-	                            <div className="clearfix">
-		                       		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="订单编号" >
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="下单时间" >  
-			                            <span>{orderDetaiel.createTimez}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="客户名称" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="订单类型" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="订单渠道" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="订单状态" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="已收款项" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="结算状态" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="市价订单金额" >    
-		                            	<span>{orderDetaiel.roleName}</span>
-				                    </FormItem>
-				                    <FormItem className="half-item"
-			                            {...formItemLayout}
-			                            label="市价首款金额" >   
-			                            <span>{orderDetaiel.roleName}</span>
-				                    </FormItem>
-				                    <div className='clearfix'>
-							        	<FormItem className="half-item"
+                        onOk={this.handleOk} onCancel={this.handleCancel}
+                        width='1000px'
+                        title='订单详情'                     
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}}  >
+			                <Spin spinning={this.state.loading}>
+		                        <div className="clearfix">
+		                            <div className="clearfix">
+			                       		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="订单编号" >
+				                            <span>{orderDetaiel.orderNo}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="下单时间" >  
+				                            <span>{orderDetaiel.createTime}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="客户名称" >  
+				                            <span>{orderDetaiel.buyerName}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
-				                            label="实签订单金额" >   
-				                            <span>{orderDetaiel.roleName}</span>
+				                            label="订单类型" >  
+				                            <span>{getOrderType(orderDetaiel.orderType)}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
-				                            label="实签首款金额" >   
-				                            <span>{orderDetaiel.roleName}</span>
+				                            label="订单渠道" >  
+				                            <span>{getOrderChannel(orderDetaiel.orderChannel)}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
-				                            label="特批立项" >   
-				                            <span>{orderDetaiel.roleName}</span>
+				                            label="订单状态" >  
+				                            <span>{getOrderState(orderDetaiel.orderStatus)}</span>
 			                    		</FormItem>
-										<div className="clearfix">
-											<FormItem
-						                        labelCol={{ span: 4 }}
-						                        wrapperCol={{ span: 18 }}
-						                        label="合同扫描件" >
-					                            <Upload className="demandDetailShow-upload"
-					                                listType="customer_sys_file"
-					                                fileList={this.state.orgCodeUrl}
-					                                onPreview={(file) => {
-					                                    this.setState({
-					                                        previewImage: file.url || file.thumbUrl,
-					                                        previewVisible: true,
-					                                    });
-					                                }} >
-					                            </Upload>
-					                            <Modal maskClosable={false} footer={null}
-					                                visible={this.state.previewVisible}
-					                                onCancel={() => { this.setState({ previewVisible: false }) }}>
-					                                <img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
-					                            </Modal>
-					                        </FormItem>    
-				                        </div>
-				                        <div className='clearfix'>
-								        	<FormItem
-									            labelCol={{ span: 4 }}
-									            wrapperCol={{ span: 16 }}
-									            label="订单留言" >
-								        		<span>{orderDetaiel.roleName}</span>
-									        </FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="已收款项" >  
+				                            <span>{orderDetaiel.actuallyTotalAmount}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="结算状态" >  
+				                            <span>{getPaymentState(orderDetaiel.liquidationStatus)}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="市价订单金额" >    
+			                            	<span>{orderDetaiel.orderAmount}</span>
+					                    </FormItem>
+					                    <FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="市价首款金额" >   
+				                            <span>{orderDetaiel.firstPayment}</span>
+					                    </FormItem>
+					                    <div className='clearfix'>
+								        	<FormItem className="half-item"
+					                            {...formItemLayout}
+					                            label="实签订单金额" >   
+					                            <span>{orderDetaiel.signTotalAmount}</span>
+				                    		</FormItem>
+				                    		<FormItem className="half-item"
+					                            {...formItemLayout}
+					                            label="实签首款金额" >   
+					                            <span>{orderDetaiel.signFirstPayment}</span>
+				                    		</FormItem>
+				                    		<FormItem className="half-item"
+					                            {...formItemLayout}
+					                            label="特批立项" >   
+					                            <span>{getApprovedState(orderDetaiel.approval)}</span>
+				                    		</FormItem>
+											<div className="clearfix">
+												<FormItem
+							                        labelCol={{ span: 4 }}
+							                        wrapperCol={{ span: 18 }}
+							                        label="合同扫描件" >
+						                            <Upload className="demandDetailShow-upload"
+						                                listType="customer_sys_file"
+						                                fileList={this.state.orgCodeUrl}
+						                                onPreview={(file) => {
+						                                    this.setState({
+						                                        previewImage: file.url || file.thumbUrl,
+						                                        previewVisible: true,
+						                                    });
+						                                }} >
+						                            </Upload>
+						                            <Modal maskClosable={false} footer={null}
+						                                visible={this.state.previewVisible}
+						                                onCancel={() => { this.setState({ previewVisible: false }) }}>
+						                                <img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
+						                            </Modal>
+						                        </FormItem>    
+					                        </div>
+					                        <div className='clearfix'>
+									        	<FormItem
+										            labelCol={{ span: 4 }}
+										            wrapperCol={{ span: 16 }}
+										            label="订单留言" >
+									        		<span>{orderDetaiel.orderRemarks}</span>
+										        </FormItem>
+									        </div>
 								        </div>
-							        </div>
-		                        </div>
-		                        <div className='clearfix'>
-		                    		<FormItem className="half-item"
+			                        </div>
+			                        <div className='clearfix'>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="订单负责人" >  
+				                            <span>{orderDetaiel.salesmanName}</span>
+			                    		</FormItem>
+			                    	</div>
+			                    	<div className='clearfix'>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="意向时间" >  
+				                            <span>{orderDetaiel.createTime}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="签单时间" >  
+				                            <span>{orderDetaiel.signTime}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="财务负责人" >  
+						                    <span>{orderDetaiel.financeName}</span>
+						                    <Button onClick={this.lookflow} style={{float:'right'}}>查看流水</Button>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="项目负责人" >  
+				                            <span>{orderDetaiel.technicianName}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="立项时间" >  
+				                            <span>{orderDetaiel.setUpTime}</span>
+			                    		</FormItem>
+		                    		</div>
+					                <div>
+					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>业务项目</span>
+					                </div>
+					                <div className="patent-table">
+					                    <Spin spinning={this.state.loading}>
+					                        <Table columns={this.state.columns}
+					                            dataSource={this.state.dataSource}
+					                            pagination={false}
+					                            onRowClick={this.tableRowClick} 
+					                            />
+					                    </Spin>
+						            </div>
+			                    </div>
+			                </Spin>
+			            </Form >
+			        </Modal> 
+			        <Modal maskClosable={false} visible={this.state.addnextVisible}
+                        onOk={this.nextCancel} onCancel={this.nextCancel}
+                        width='550px'
+                        title='查看项目详细'                     
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" id="demand-form">
+			                <Spin spinning={this.state.loading}>
+		                        <div className="clearfix">
+	                        	   <FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="订单负责人" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    	</div>
-		                    	<div className='clearfix'>
-		                    		<FormItem className="half-item"
+			                            label="业务项目名称" >
+		                    			<span>{editFws.commodityName}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="意向时间" >  
-			                            <span>{orderDetaiel.createTimez}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
+			                            label="服务市价" >
+		                    			<span>{editFws.commodityPrice}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="签单时间" >  
-			                            <span>{orderDetaiel.createTimez}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
+			                            label="实签价格" >
+		                    			<span>{editFws.discountPrice}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="财务负责人" >  
-			                            <span>{orderDetaiel.createTimez}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
+			                            label="服务数量" >
+		                    			<span>{editFws.commodityQuantity}</span>
+			                    	</FormItem>
+			                    	 <FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="首付时间" >  
-			                            <span>{orderDetaiel.createTimez}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
+			                            label="商品规格" >   
+		                                <span>{editFws.commodityMode}</span>    
+				                    </FormItem>
+				                    <FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="项目负责人" >  
-			                            <span>{orderDetaiel.roleName}</span>
-		                    		</FormItem>
-		                    		<FormItem className="half-item"
+			                            label="市场首付金额" >   
+		                                <span>{editFws.commodityFirstPayment}</span>    
+				                    </FormItem>
+				                    <FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="立项时间" >  
-			                            <span>{orderDetaiel.createTimez}</span>
-		                    		</FormItem>
-	                    		</div>
-				                <div>
-				                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
-				                </div>
-				                <div className="patent-table">
-				                    <Spin spinning={this.state.loading}>
-				                        <Table columns={this.state.columns}
-				                            dataSource={this.state.dataSource}
-				                            pagination={this.state.pagination}
-				                            onRowClick={this.tableRowClick} 
-				                            />
-				                    </Spin>
-					            </div>
-		                    </div>
-		                </Spin>
-		            </Form >
-		        </Modal>
-		        <Modal maskClosable={false} visible={this.state.addnextVisible}
-                        onOk={this.nextCancel} onCancel={this.nextCancel}
-                        width='550px'
-                        title='查看订单明细服务'                     
+			                            label="签单首付金额" >   
+		                                <span>{editFws.discountFirstPayment}</span>    
+				                    </FormItem>
+				                    <div className='clearfix'>
+				                    	<FormItem 
+				                            labelCol={{ span: 4 }}
+								            wrapperCol={{ span: 16 }}
+				                            label="项目说明" >
+			                    			<span>{editFws.remarks}</span>
+				                    	</FormItem>
+			                    	</div>
+		                        </div>
+			                </Spin>
+			            </Form >
+			        </Modal>
+			        <Modal maskClosable={false} visible={this.state.lookVisible}
+                        onOk={this.lookCancel} onCancel={this.lookCancel}
+                        width='1000px'
+                        title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
-	                        	    <FormItem className="half-middle"
-				                            {...formItemLayout}
-				                            label="服务名称" >
-			                    			<span>{this.state.aaa}</span>
-			                    	</FormItem>
-			                    	<FormItem className="half-middle"
-				                            {...formItemLayout}
-				                            label="市场价格" >
-			                    			<span>{this.state.aaa}</span>
-			                    	</FormItem>
-			                    	<FormItem className="half-middle"
-				                            {...formItemLayout}
-				                            label="实签价格" >
-			                    			<span>{this.state.aaa}</span>
-			                    	</FormItem>
-			                    	<FormItem className="half-middle"
-				                            {...formItemLayout}
-				                            label="服务数量" >
-			                    			<span>{this.state.aaa}</span>
-			                    	</FormItem>
-			                    	<FormItem className="half-middle"
-				                            {...formItemLayout}
-				                            label="服务说明" >
-			                    			<span>{this.state.aaa}</span>
-			                    	</FormItem>
+                        	   			<Table columns={this.state.flowList}
+					                           dataSource={this.state.lookflowList}
+					                           pagination={false}
+			                             />
 		                        </div>
 			                </Spin>
 			            </Form >

+ 124 - 96
js/component/manageCenter/order/orderManagement/publicOrder/publicOrder.jsx

@@ -6,8 +6,8 @@ import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message,
 import PublicOrderDetaile from "./publicOrderDetaile.jsx";
 import moment from 'moment';
 import '../../userMangagement.less';
-import {lvl,intentProgress,transactionProgress,contractProgress,projectProgress,orderState,orderChannel,orderType} from '../../../../dataDic.js';
-import {getIntentProgress,getTransactionProgress,getContractProgress,getProjectProgress,getOrderState,getOrderChannel} from '../../../../tools.js';
+import {orderState,orderChannel,orderType} from '../../../../dataDic.js';
+import {getOrderState,getOrderChannel,getPaymentState,getOrderType} from '../../../../tools.js';
 const PublicOrder=Form.create()(React.createClass({
 	loadData(pageNo) {
         this.state.data = [];
@@ -18,21 +18,18 @@ const PublicOrder=Form.create()(React.createClass({
             method: "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/roles',
+            url: globalConfig.context + '/api/admin/order/listPublicOrder',
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                customerName:this.state.customerNameSearch,
+                buyerName:this.state.customerNameSearch, //名称
                 startDate: this.state.releaseDate[0],
 				endDate: this.state.releaseDate[1],
-				transactionProgress:this.state.transactionProgressSearch,
-				contractProgress:this.state.contractProgressSearch,
-				projectProgress:this.state.projectProgressSearch,
+				orderStatus:this.state.orderStatusSearch, //状态
+				orderChannel:this.state.orderChannelSearch, //渠道
+				orderType:this.state.orderTypeSearch,  //类型
 				settlementState:this.state.settlementState,
-				orderStatus:this.state.orderStatusSearch,
-				approved:this.state.approvedSearch,
-				orderChannel:this.state.orderChannelSearch,
-				orderType:this.state.orderTypeSearch
+				approved:this.state.approvedSearch,  //特批
             },
             success: function (data) {
                 let theArr = [];
@@ -44,16 +41,19 @@ const PublicOrder=Form.create()(React.createClass({
                     for (let i = 0; i < data.data.list.length; i++) {
                         let thisdata = data.data.list[i];
                         theArr.push({
-                             key: i,
-	                         id: thisdata.id,
-	                         orderNo: thisdata.orderNo,
-	                         orderType:thisdata.orderType,
-	                         createTime:thisdata.createTime,
-	                         buyerName: thisdata.buyerName,
-	                         signTotalAmount:thisdata.signTotalAmount,
-	                         orderChannel: thisdata.orderChannel,
-	                         orderStatus:thisdata.orderStatus,
-	                         liquidationStatus:thisdata.liquidationStatus,
+                            key: i,
+	                        id: thisdata.id,
+		                    orderNo: thisdata.orderNo,
+		                    orderType:thisdata.orderType,
+		                    orderStatus:thisdata.orderStatus,
+		                    liquidationStatus:thisdata.liquidationStatus,
+		                    createTime:thisdata.createTime,
+		                    buyerName:thisdata.buyerName,
+		                    signTotalAmount:thisdata.signTotalAmount,
+		                    projectStage:thisdata.projectStage,
+		                    approval:thisdata.approval,
+		                    orderChannel:thisdata.orderChannel,
+		                    salesmanName:thisdata.salesmanName,
                         });
                     };
                     this.state.pagination.current = data.data.pageNo;
@@ -76,6 +76,45 @@ const PublicOrder=Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    departmentList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "post",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + "/api/admin/organization/selectSuperId",
+			data: {
+				
+			},
+			success: function(data) {
+				let thedata = data.data;
+				let theArr=[];
+				if(!thedata) {
+					if(data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					};
+					thedata = {};
+				}else{
+					thedata.map(function(item,index){
+						theArr.push({
+							key:index,
+							name:item.name,
+							id:item.id,
+						})
+					})
+				}
+				this.setState({
+					departmentArr:theArr,
+				})
+			}.bind(this),
+			}).always(function() {
+				this.setState({
+					loading: false
+				});
+			}.bind(this));
+	},
     getInitialState() {
         return {
         	datauser:{},
@@ -119,7 +158,8 @@ const PublicOrder=Form.create()(React.createClass({
                 }, {
                     title: '订单类型',
                     dataIndex: 'orderType',
-                    key: 'orderType'
+                    key: 'orderType',
+                    render:(text)=>{return getOrderType(text) }
                 }, {
                     title: '下单时间',
                     dataIndex: 'createTime',
@@ -128,30 +168,16 @@ const PublicOrder=Form.create()(React.createClass({
                     title: '订单客户',
                     dataIndex: 'buyerName',
                     key: 'buyerName'
-                }, {
-                    title: '订单金额',
-                    dataIndex: 'c',
-                    key: 'c'
-                },
+                }, 
                 {
-                    title: '实际下单金额',
+                    title: '订单金额',
                     dataIndex: 'signTotalAmount',
                     key: 'signTotalAmount'
                 }, {
-                    title: '意向进度',
-                    dataIndex: 'createTime1',
-                    key: 'createTime1',
-                    render:(text)=>{return getIntentProgress(text) }
-                },{
-                    title: '交易进度',
-                    dataIndex: 'roleName2',
-                    key: 'roleName2',
-                    render:(text)=>{return getTransactionProgress(text) }
-                }, {
                     title: '结算状态',
                     dataIndex: 'liquidationStatus',
                     key: 'liquidationStatus',
-                    render:(text)=>{return getContractProgress(text) }
+                    render:(text)=>{return getPaymentState(text) }
                 }, {
                     title: '订单状态',
                     dataIndex: 'orderStatus',
@@ -159,7 +185,7 @@ const PublicOrder=Form.create()(React.createClass({
                     render:(text)=>{return getOrderState(text) }
                 },{
                     title: '订单渠道',
-                    dataIndex: 'corderChannelre',
+                    dataIndex: 'orderChannel',
                     key: 'orderChannel',
                     render:(text)=>{return getOrderChannel(text) }
                 },{
@@ -168,7 +194,7 @@ const PublicOrder=Form.create()(React.createClass({
                     key: 'operation',
                     render: (text, record, index) => {
 						return <div>
-							    	<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} type="primary">派单</Button>                 
+							    	<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} type="primary">派单</Button>               
                         	   </div>
 					}
                 }
@@ -176,31 +202,31 @@ const PublicOrder=Form.create()(React.createClass({
             userList:[
             	{
                     title: '用户编号',
-                    dataIndex: 'roleName',
-                    key: 'roleName'
+                    dataIndex: 'userNo',
+                    key: 'userNo'
                 }, {
                     title: '用户姓名',
-                    dataIndex: 'creater',
-                    key: 'creater'
+                    dataIndex: 'name',
+                    key: 'name'
                 },{
                     title: '部门机构',
-                    dataIndex: 'roleName1',
-                    key: 'roleName1'
+                    dataIndex: 'departmentName',
+                    key: 'departmentName'
                 }, {
                     title: '职务',
-                    dataIndex: 'creater1',
-                    key: 'creater1'
+                    dataIndex: 'position',
+                    key: 'position'
                 },{
                     title: '联系手机',
-                    dataIndex: 'roleName2',
-                    key: 'roleName2'
+                    dataIndex: 'mobile',
+                    key: 'mobile'
                 }, {
                     title: '操作',
                     dataIndex: 'abc',
                     key: 'abc',
                     render:(text,record,index)=>{
                     	return (
-                    	    <Popconfirm title={'您确认将此订单 【'+ record.roleName+'】 分配给【'+record.roleName+'-'+record.roleName+'】进行业务跟进?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
+                    	    <Popconfirm title={'您确认将订单 【'+this.state.orderNos+'】 分配给【'+record.departmentName+'-'+record.name+'】?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
 							    <Button style={{marginRight:'5px'}} type="primary">选定</Button>                 
 							</Popconfirm>
 							)
@@ -213,31 +239,29 @@ const PublicOrder=Form.create()(React.createClass({
     //操作分配
     confirmDelet(index){
     	this.setState({
+    		orderNos:index.orderNo,
     		userDetaile:false,
     		distributionVisible:true
     	});
-    	this.contactList(1,index.id)
+    	this.departmentList()
     },
     distributionCancel(){
     	this.setState({
     		distributionVisible:false
     	})
     },
-    distributionOk(){
-    	this.setState({
-    		distributionVisible:false
-    	})
-    },
     //分配对象列表
-    contactList(pageNo,orderId){
+    contactList(){
         $.ajax({
-            method: "post",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/roles',
+            url: globalConfig.context + '/api/admin/superviser/adminList',
             data: {
-                pageNo: pageNo || 1,
-                pageSize: this.state.distributionPagination.pageSize,
+                pageNo: 1,
+                pageSize: 99,
+                departmentId:this.state.departmenttList,
+                name:this.state.financeNameSearch,
             },
             success: function (data) {
                 let theArr = [];
@@ -251,22 +275,17 @@ const PublicOrder=Form.create()(React.createClass({
                         theArr.push({
                              key: i,
 	                         id: thisdata.id,
-	                         roleName: thisdata.roleName,
-	                         creater:thisdata.creater,
-	                         createTime:thisdata.createTimez,
-	                         uid:orderId,
+	                         userNo: thisdata.userNo,
+	                         name:thisdata.name,
+	                         departmentName:thisdata.departmentName,
+	                         departmentId:thisdata.departmentId,
+	                         position:thisdata.position,
+	                         mobile:thisdata.mobile,
                         });
                     };
-                    this.state.distributionPagination.current = data.data.pageNo;
-                    this.state.distributionPagination.total = data.data.totalCount;
                 };
-                if(!data.data.list.length){
-					this.state.distributionPagination.current=0
-					this.state.distributionPagination.total=0
-				}
                 this.setState({
                     distributionList: theArr,
-                    pagination: this.state.distributionPagination,
                 });
             }.bind(this),
         }).always(function () {
@@ -281,21 +300,21 @@ const PublicOrder=Form.create()(React.createClass({
             loading: true
         });
         $.ajax({
-            method: "POST",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "",
+            url: globalConfig.context + "/api/admin/order/appointSalesman",
             data: {
-            	id:record.id,
-            	uid:record.uid
+            	orderNo:this.state.orderNos,
+            	salesmanId:record.id
             }
         }).done(function (data) {
             if (!data.error.length) {
-                message.success('分配成功');
+                message.success('派单成功');
                 this.setState({
                     loading: false,
                 });
-                this.distributionOk();
+                this.distributionCancel();
             } else {
                 message.warning(data.error[0].message);
             };
@@ -327,19 +346,20 @@ const PublicOrder=Form.create()(React.createClass({
     search() {
         this.loadData();
     },
-    //分配时搜索
-    searchOrder() {
-        this.contactList();
+    searchOrder(){
+    	this.contactList();
     },
-    //分配时重置
-    resetOrder() {
-        this.contactList();
+    resetOrder(){
+    	this.state.departmenttList=undefined;
+    	this.state.financeNameSearch='';
+    	this.setState({
+    		distributionList:[]
+    	});
     },
     reset() {
     	this.state.customerNameSearch='';
     	this.state.releaseDate[0] = undefined;
 		this.state.releaseDate[1] = undefined;
-		this.state.transactionProgressSearch = undefined;
 		this.state.contractProgressSearch = undefined;
 		this.state.projectProgressSearch = undefined;
 		this.state.settlementStateSearch = undefined;
@@ -364,6 +384,7 @@ const PublicOrder=Form.create()(React.createClass({
 			   })
 			},
         };
+        let departmentArr = this.state.departmentArr || [];
         const hasSelected = this.state.selectedRowKeys.length > 0;
         const { RangePicker } = DatePicker;
         return (
@@ -433,20 +454,27 @@ const PublicOrder=Form.create()(React.createClass({
 	                    closeDesc={this.closeDesc} />
 	            </div >
 	            <Modal maskClosable={false} visible={this.state.distributionVisible}
-                        onOk={this.distributionOk} onCancel={this.distributionCancel}
+                        onOk={this.distributionCancel} onCancel={this.distributionCancel}
                         width='800px'
-                        title='单'                     
+                        title='派单'                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
 			                <Spin spinning={this.state.loading}>
 			                	<div>
-			                		<Input placeholder="部门名称" style={{width:'150px'}}
-				                        value={this.state.customerName}
-				                        onChange={(e) => { this.setState({ customerName: e.target.value }); }} />
-				                    <Input placeholder="订单负责人" style={{width:'150px',marginLeft:'10px'}}
-				                        value={this.state.customerName}
-				                        onChange={(e) => { this.setState({ customerName: e.target.value }); }} />  
+			                		<Select placeholder="订单部门"
+				                            style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
+				                            value={this.state.departmenttList}
+				                            onChange={(e) => { this.setState({ departmenttList: e }) }}>
+				                            {
+			                                    departmentArr.map(function (item) {
+			                                            return <Select.Option key={item.id} >{item.name}</Select.Option>
+			                                    })
+			                                }
+				                    </Select>
+				                    <Input placeholder="任务负责人" style={{width:'150px',marginLeft:'10px'}}
+				                        value={this.state.financeNameSearch}
+				                        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>
@@ -454,7 +482,7 @@ const PublicOrder=Form.create()(React.createClass({
 				                    <Spin spinning={this.state.loading}>
 				                        <Table columns={this.state.userList}
 				                            dataSource={this.state.distributionList}
-				                            pagination={this.state.distributionPagination}
+				                            pagination={false}
 				                             />
 				                    </Spin>
 				                </div>

+ 155 - 29
js/component/manageCenter/order/orderManagement/publicOrder/publicOrderDetaile.jsx

@@ -3,8 +3,7 @@ import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import '../../userMangagement.less';
-import {lvl} from '../../../../dataDic.js';
-
+import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType,getTransactionProject,getTransactionChannel} from '../../../../tools.js';
 //图片组件
 const PicturesWall = React.createClass({
     getInitialState() {
@@ -100,7 +99,6 @@ const ApproveDetaile = Form.create()(React.createClass({
                    }
                 this.setState({
                     dataSource: theArr,
-                    pagination: false,
                 });
             }.bind(this),
         }).always(function () {
@@ -113,8 +111,9 @@ const ApproveDetaile = Form.create()(React.createClass({
 		return {
 			loading: false,
 			visible: false,
-			contractState:false,
+			lookState:true,
 			orgCodeUrl:[],
+			lookflowList:[],
 			checkedKeys: [],
 			columns: [
 				{
@@ -152,6 +151,60 @@ const ApproveDetaile = Form.create()(React.createClass({
 						return (text&&text.length>8?text.substr(0,8)+'…':text)
 					}
                 }
+			],
+			flowList:[
+				{
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
+                    render:(text)=>{
+                    	return text&&text.substr(0,9)+'…'
+                    }
+                }, {
+                    title: '平台流水时间',
+                    dataIndex: 'createTime',
+                    key: 'createTime'
+                }, {
+                    title: '流水金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
+                },{
+                    title: '付款人名称',
+                    dataIndex: 'payerName',
+                    key: 'payerName'
+                }, {
+                    title: '收款人名称',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName'
+                },
+                {
+                    title: '流水科目',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{return getTransactionProject(text) }
+                }, {
+                    title: '流水渠道',
+                    dataIndex: 'transactionChannel',
+                    key: 'transactionChannel',
+                    render:(text)=>{return getTransactionChannel(text) }
+                },{
+                    title: '财务流水号',
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo',
+                }, {
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTime',
+                    key: 'financialPayTime',
+                }, {
+                    title: '流水确认',
+                    dataIndex: 'confirmSign',
+                    key: 'confirmSign',
+                    render:(text)=>{return text?'已确认':'待确认' }
+                },{
+                    title: '确认时间',
+                    dataIndex: 'confirmTime',
+                    key: 'confirmTime',
+                }
 			]
 		};
 	},
@@ -214,6 +267,68 @@ const ApproveDetaile = Form.create()(React.createClass({
 			addnextVisible: false
 		})
 	},
+	lookflow(){
+		this.setState({
+			loading: true,
+			lookVisible:true,
+		})
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+	},
+	lookCancel(){
+		this.setState({
+			lookVisible:false
+		})
+	},
 	tableRowClick(record, index) {
        this.setState({
         	editFw:record,
@@ -226,10 +341,8 @@ const ApproveDetaile = Form.create()(React.createClass({
 	componentWillReceiveProps(nextProps) { //props改变时触发
 		this.state.visible = nextProps.showDesc;
 		if(nextProps.userDetaile && nextProps.showDesc ) {
-			if(nextProps.datauser && nextProps.datauser.id ) {
-				this.loaduser(nextProps.datauser);
-				this.loadData(nextProps.datauser);
-			}
+			this.loaduser(nextProps.datauser);
+			this.loadData(nextProps.datauser);
 		}
 	},
 	render() {
@@ -238,17 +351,17 @@ const ApproveDetaile = Form.create()(React.createClass({
 			labelCol: { span: 8 },
 			wrapperCol: { span: 14 },
 		};
-		const editFws=this.state.editFw||[];
+		const editFws=this.state.editFw || [];
 		const orderDetaiel=this.state.orderList || [];
 		return(
 			<div>
             <Modal maskClosable={false} visible={this.state.visible}
                         onOk={this.handleOk} onCancel={this.handleCancel}
                         width='1000px'
-                        title='查看订单详情'                     
+                        title='订单详情'                     
                         footer=''
                         className="admin-desc-content">
-			            <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} >
+			            <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}}  >
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
 		                            <div className="clearfix">
@@ -260,7 +373,7 @@ const ApproveDetaile = Form.create()(React.createClass({
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="下单时间" >  
-				                            <span>{orderDetaiel.createTimez}</span>
+				                            <span>{orderDetaiel.createTime}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -270,17 +383,17 @@ const ApproveDetaile = Form.create()(React.createClass({
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="订单类型" >  
-				                            <span>{orderDetaiel.orderType}</span>
+				                            <span>{getOrderType(orderDetaiel.orderType)}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="订单渠道" >  
-				                            <span>{orderDetaiel.orderChannel}</span>
+				                            <span>{getOrderChannel(orderDetaiel.orderChannel)}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="订单状态" >  
-				                            <span>{orderDetaiel.orderType}</span>
+				                            <span>{getOrderState(orderDetaiel.orderStatus)}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -290,7 +403,7 @@ const ApproveDetaile = Form.create()(React.createClass({
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="结算状态" >  
-				                            <span>{orderDetaiel.liquidationStatus}</span>
+				                            <span>{getPaymentState(orderDetaiel.liquidationStatus)}</span>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -316,7 +429,7 @@ const ApproveDetaile = Form.create()(React.createClass({
 				                    		<FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="特批立项" >   
-					                            <span>{orderDetaiel.approval}</span>
+					                            <span>{getApprovedState(orderDetaiel.approval)}</span>
 				                    		</FormItem>
 											<div className="clearfix">
 												<FormItem
@@ -371,12 +484,8 @@ const ApproveDetaile = Form.create()(React.createClass({
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
 				                            label="财务负责人" >  
-				                            <span>{orderDetaiel.financeName}</span>
-			                    		</FormItem>
-			                    		<FormItem className="half-item"
-				                            {...formItemLayout}
-				                            label="首付时间" >  
-				                            <span>{orderDetaiel.createTimez}</span>
+						                    <span>{orderDetaiel.financeName}</span>
+						                    <Button onClick={this.lookflow} style={{float:'right'}}>查看流水</Button>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -390,13 +499,13 @@ const ApproveDetaile = Form.create()(React.createClass({
 			                    		</FormItem>
 		                    		</div>
 					                <div>
-					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
+					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>业务项目</span>
 					                </div>
 					                <div className="patent-table">
 					                    <Spin spinning={this.state.loading}>
 					                        <Table columns={this.state.columns}
 					                            dataSource={this.state.dataSource}
-					                            pagination={this.state.pagination}
+					                            pagination={false}
 					                            onRowClick={this.tableRowClick} 
 					                            />
 					                    </Spin>
@@ -408,7 +517,7 @@ const ApproveDetaile = Form.create()(React.createClass({
 			        <Modal maskClosable={false} visible={this.state.addnextVisible}
                         onOk={this.nextCancel} onCancel={this.nextCancel}
                         width='550px'
-                        title='查看订单明细服务'                     
+                        title='查看项目详细'                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
@@ -416,12 +525,12 @@ const ApproveDetaile = Form.create()(React.createClass({
 		                        <div className="clearfix">
 	                        	   <FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="服务名称" >
+			                            label="业务项目名称" >
 		                    			<span>{editFws.commodityName}</span>
 			                    	</FormItem>
 			                    	<FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="市" >
+			                            label="服务市价" >
 		                    			<span>{editFws.commodityPrice}</span>
 			                    	</FormItem>
 			                    	<FormItem className="half-item"
@@ -453,7 +562,7 @@ const ApproveDetaile = Form.create()(React.createClass({
 				                    	<FormItem 
 				                            labelCol={{ span: 4 }}
 								            wrapperCol={{ span: 16 }}
-				                            label="服务说明" >
+				                            label="项目说明" >
 			                    			<span>{editFws.remarks}</span>
 				                    	</FormItem>
 			                    	</div>
@@ -461,6 +570,23 @@ const ApproveDetaile = Form.create()(React.createClass({
 			                </Spin>
 			            </Form >
 			        </Modal>
+			        <Modal maskClosable={false} visible={this.state.lookVisible}
+                        onOk={this.lookCancel} onCancel={this.lookCancel}
+                        width='1000px'
+                        title= '查看流水'                   
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" id="demand-form">
+			                <Spin spinning={this.state.loading}>
+		                        <div className="clearfix">
+                    	   			<Table columns={this.state.flowList}
+				                           dataSource={this.state.lookflowList}
+				                           pagination={false}
+		                             />
+		                        </div>
+			                </Spin>
+			            </Form >
+			        </Modal>
     	    </div>
 		)
 	}

+ 2 - 2
js/component/manageCenter/order/settlementOrder/mySettlement/mySettlement.jsx

@@ -189,9 +189,9 @@ const MySettlement=Form.create()(React.createClass({
                     render:text=>{return getPaymentState(text)}
                 },{
                     title: '是否特批',
-                   dataIndex: 'approval',
+                    dataIndex: 'approval',
                     key: 'approval',
-                    render:text=>{return text?'已特批':'未特批'}
+                    render:text=>{return text==2?'已特批':'未特批'}
                 },{
                     title: '订单负责人',
                     dataIndex: 'salesmanName',

+ 62 - 82
js/component/manageCenter/order/settlementOrder/mySettlement/mySettlementDetaile.jsx

@@ -99,58 +99,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
                    }
                 this.setState({
                     dataSource: theArr,
-                    pagination: false,
-                });
-            }.bind(this),
-        }).always(function () {
-            this.setState({
-                loading: false
-            });
-        }.bind(this));
-    },
-    //查看流失。项目列表
-    lookSee(state) {
-    	this.state.lookSource=[];
-        this.setState({
-            loading: true
-        });
-        let api=state?'/api/xiangmu':'/api/liushui'
-        $.ajax({
-            method: "get",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + api,
-            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++) {
-                        let thisdata = data.data[i];
-                        theArr.push({
-                             key: i,
-                             id:thisdata.id,
-                             orderNo:thisdata.orderNo,
-                             commodityName:thisdata.commodityName,
-                             commodityType:thisdata.commodityType,
-                             commodityMode:thisdata.commodityMode,
-                             commodityQuantity:thisdata.commodityQuantity,
-                             commodityPrice:thisdata.commodityPrice,
-                             discountPrice:thisdata.discountPrice,
-                             commodityFirstPayment:thisdata.commodityFirstPayment,
-                             createTimes:thisdata.createTimes,
-                             discountFirstPayment:thisdata.discountFirstPayment,
-                             remarks:thisdata.remarks,
-                        });
-                    };
-                   }
-                this.setState({
-                    lookSource: theArr,
                 });
             }.bind(this),
         }).always(function () {
@@ -165,6 +113,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			visible: false,
 			contractState:false,
 			orgCodeUrl:[],
+			lookflowList:[],
 			checkedKeys: [],
 			columns: [
 				{
@@ -303,20 +252,62 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			addnextVisible: false
 		})
 	},
-	//查看项目、查看流水
-	lookProject(){
-		this.setState({
-			lookState:true,
-			lookVisible:true,
-		})
-		this.lookSee(true)
-	},
 	lookflow(){
 		this.setState({
-			lookState:false,
+			loading: true,
 			lookVisible:true,
 		})
-		this.lookSee(false)
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	},
 	lookCancel(){
 		this.setState({
@@ -487,7 +478,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
 				                            {...formItemLayout}
 				                            label="项目负责人" >  
 				                            <span>{orderDetaiel.technicianName}</span>
-				                            <Button onClick={this.lookProject} style={{float:'right'}}>查看项目</Button>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -496,13 +486,13 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			                    		</FormItem>
 		                    		</div>
 					                <div>
-					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
+					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
 					                </div>
 					                <div className="patent-table">
 					                    <Spin spinning={this.state.loading}>
 					                        <Table columns={this.state.columns}
 					                            dataSource={this.state.dataSource}
-					                            pagination={this.state.pagination}
+					                            pagination={false}
 					                            onRowClick={this.tableRowClick} 
 					                            />
 					                    </Spin>
@@ -514,7 +504,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			        <Modal maskClosable={false} visible={this.state.addnextVisible}
                         onOk={this.nextCancel} onCancel={this.nextCancel}
                         width='550px'
-                        title='查看订单明细服务'                     
+                        title='查看明细服务'                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
@@ -569,27 +559,17 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			        </Modal>
 			         <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='550px'
-                        title= {this.state.lookState?'查看项目':'查看流水'}                    
+                        width='1000px'
+                        title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
-	                        	   {this.state.lookState?
-	                        	   		<div>
-	                        	   			<Table columns={this.state.projectList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		
-	                        	   		</div>:
-	                        	   		<div>
-	                        	   			<Table columns={this.state.flowList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		</div>}
+                        	   			<Table columns={this.state.flowList}
+					                           dataSource={this.state.lookflowList}
+					                           pagination={false}
+			                             />
 		                        </div>
 			                </Spin>
 			            </Form >

+ 109 - 111
js/component/manageCenter/order/settlementOrder/settlementManage/managementDetaile.jsx

@@ -3,7 +3,7 @@ import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import '../../userMangagement.less';
-import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType} from '../../../../tools.js';
+import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType,getTransactionProject,getTransactionChannel} from '../../../../tools.js';
 
 //图片组件
 const PicturesWall = React.createClass({
@@ -100,58 +100,6 @@ const ManagementDetaile = Form.create()(React.createClass({
                    }
                 this.setState({
                     dataSource: theArr,
-                    pagination: false,
-                });
-            }.bind(this),
-        }).always(function () {
-            this.setState({
-                loading: false
-            });
-        }.bind(this));
-    },
-    //查看流失。项目列表
-    lookSee(state) {
-    	this.state.lookSource=[];
-        this.setState({
-            loading: true
-        });
-        let api=state?'/api/xiangmu':'/api/liushui'
-        $.ajax({
-            method: "get",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + api,
-            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++) {
-                        let thisdata = data.data[i];
-                        theArr.push({
-                             key: i,
-                             id:thisdata.id,
-                             orderNo:thisdata.orderNo,
-                             commodityName:thisdata.commodityName,
-                             commodityType:thisdata.commodityType,
-                             commodityMode:thisdata.commodityMode,
-                             commodityQuantity:thisdata.commodityQuantity,
-                             commodityPrice:thisdata.commodityPrice,
-                             discountPrice:thisdata.discountPrice,
-                             commodityFirstPayment:thisdata.commodityFirstPayment,
-                             createTimes:thisdata.createTimes,
-                             discountFirstPayment:thisdata.discountFirstPayment,
-                             remarks:thisdata.remarks,
-                        });
-                    };
-                   }
-                this.setState({
-                    lookSource: theArr,
                 });
             }.bind(this),
         }).always(function () {
@@ -167,6 +115,7 @@ const ManagementDetaile = Form.create()(React.createClass({
 			lookState:true,
 			orgCodeUrl:[],
 			checkedKeys: [],
+			lookflowList:[],
 			columns: [
 				{
                     title: '业务项目名称',
@@ -204,41 +153,59 @@ const ManagementDetaile = Form.create()(React.createClass({
 					}
                 }
 			],
-			projectList:[
+			flowList:[
 				{
-                    title: '项目名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
-                }, {
-                    title: '项目类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
                     render:(text)=>{
-                    	return (getOrderType(text))
+                    	return text&&text.substr(0,9)+'…'
                     }
+                }, {
+                    title: '平台流水时间',
+                    dataIndex: 'createTime',
+                    key: 'createTime'
+                }, {
+                    title: '流水金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
                 },{
-                    title: '项目数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
+                    title: '付款人名称',
+                    dataIndex: 'payerName',
+                    key: 'payerName'
+                }, {
+                    title: '收款人名称',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName'
                 },
-			],
-			flowList:[
-				{
-                    title: '流水名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
+                {
+                    title: '流水科目',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{return getTransactionProject(text) }
                 }, {
-                    title: '流水类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
-                    render:(text)=>{
-                    	return (getOrderType(text))
-                    }
+                    title: '流水渠道',
+                    dataIndex: 'transactionChannel',
+                    key: 'transactionChannel',
+                    render:(text)=>{return getTransactionChannel(text) }
                 },{
-                    title: '流水数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
-                },
+                    title: '财务流水号',
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo',
+                }, {
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTime',
+                    key: 'financialPayTime',
+                }, {
+                    title: '流水确认',
+                    dataIndex: 'confirmSign',
+                    key: 'confirmSign',
+                    render:(text)=>{return text?'已确认':'待确认' }
+                },{
+                    title: '确认时间',
+                    dataIndex: 'confirmTime',
+                    key: 'confirmTime',
+                }
 			]
 		};
 	},
@@ -301,20 +268,62 @@ const ManagementDetaile = Form.create()(React.createClass({
 			addnextVisible: false
 		})
 	},
-	//查看项目、查看流水
-	lookProject(){
-		this.setState({
-			lookState:true,
-			lookVisible:true,
-		})
-		this.lookSee(true)
-	},
 	lookflow(){
 		this.setState({
-			lookState:false,
+			loading: true,
 			lookVisible:true,
 		})
-		this.lookSee(false)
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	},
 	lookCancel(){
 		this.setState({
@@ -483,7 +492,6 @@ const ManagementDetaile = Form.create()(React.createClass({
 				                            {...formItemLayout}
 				                            label="项目负责人" >  
 				                            <span>{orderDetaiel.technicianName}</span>
-				                            <Button onClick={this.lookProject} style={{float:'right'}}>查看项目</Button>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -492,13 +500,13 @@ const ManagementDetaile = Form.create()(React.createClass({
 			                    		</FormItem>
 		                    		</div>
 					                <div>
-					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
+					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
 					                </div>
 					                <div className="patent-table">
 					                    <Spin spinning={this.state.loading}>
 					                        <Table columns={this.state.columns}
 					                            dataSource={this.state.dataSource}
-					                            pagination={this.state.pagination}
+					                            pagination={false}
 					                            onRowClick={this.tableRowClick} 
 					                            />
 					                    </Spin>
@@ -510,7 +518,7 @@ const ManagementDetaile = Form.create()(React.createClass({
 			        <Modal maskClosable={false} visible={this.state.addnextVisible}
                         onOk={this.nextCancel} onCancel={this.nextCancel}
                         width='550px'
-                        title='查看订单明细服务'                     
+                        title='查看明细服务'                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
@@ -565,27 +573,17 @@ const ManagementDetaile = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='550px'
-                        title= {this.state.lookState?'查看项目':'查看流水'}                    
+                        width='1000px'
+                        title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
-	                        	   {this.state.lookState?
-	                        	   		<div>
-	                        	   			<Table columns={this.state.projectList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		
-	                        	   		</div>:
-	                        	   		<div>
-	                        	   			<Table columns={this.state.flowList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		</div>}
+                        	   			<Table columns={this.state.flowList}
+					                           dataSource={this.state.lookflowList}
+					                           pagination={false}
+			                             />
 		                        </div>
 			                </Spin>
 			            </Form >

+ 5 - 5
js/component/manageCenter/order/settlementOrder/settlementManage/settlementManagement.jsx

@@ -40,7 +40,7 @@ const SettlementManage=Form.create()(React.createClass({
 				liquidationStatus:this.state.liquidationStatusSearch, //结算
 				orderStatus:this.state.orderStatusSearch,
 				orderChannel:this.state.orderChannelSearch,
-				financeName:this.state.financeNameSearch,
+				financeName:this.state.financeNameSearchs,
 				orderType:this.state.orderTypeSearch
             },
             success: function (data) {
@@ -203,7 +203,7 @@ const SettlementManage=Form.create()(React.createClass({
                     title: '是否特批',
                    dataIndex: 'approval',
                     key: 'approval',
-                    render:text=>{return text?'已特批':'未特批'}
+                    render:text=>{return text==2?'已特批':'未特批'}
                 },{
                     title: '订单部门',
                     dataIndex: 'departmentName',
@@ -397,7 +397,7 @@ const SettlementManage=Form.create()(React.createClass({
     },
     reset() {
     	this.state.buyerNameSearch='';
-    	this.state.financeNameSearch='';
+    	this.state.financeNameSearchs='';
     	this.state.releaseDate[0] = undefined;
 		this.state.releaseDate[1] = undefined;
 		this.state.orderChannelSearch = undefined;
@@ -454,8 +454,8 @@ const SettlementManage=Form.create()(React.createClass({
 	                        value={this.state.salesmanNameSearch}
 	                        onChange={(e) => { this.setState({ salesmanNameSearch: e.target.value }); }} />
 	                    <Input placeholder="财务负责人" style={{width:'150px'}}
-	                        value={this.state.financeNameSearch}
-	                        onChange={(e) => { this.setState({ financeNameSearch: e.target.value }); }} />  
+	                        value={this.state.financeNameSearchs}
+	                        onChange={(e) => { this.setState({ financeNameSearchs: e.target.value }); }} />  
 	                    <Button type="primary" onClick={this.search} style={{marginLeft:'10px'}}>搜索</Button>
 	                    <Button onClick={this.reset}>重置</Button>
 	                    <span style={{marginLeft:'10px',marginRight:'20px'}}>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>    

+ 3 - 0
js/component/manageCenter/servicesManage/projectOrder/content.jsx

@@ -4,6 +4,7 @@ import LeftTab from '../leftTab.jsx';
 import ProjectOrder from './orderOrder/projectOrder.jsx';
 import ProjectManage from './projectManagement/projectManage.jsx';
 import MyTask from './myTask/projectManage.jsx';
+import TaskManagement from './taskManagement/projectManage.jsx';
 import Module from '../../module.jsx';
 
 const Content = React.createClass({
@@ -37,6 +38,8 @@ const Content = React.createClass({
                                 return <ProjectManage />;
                             case 'myTask':
                                 return <MyTask />;
+                            case 'taskManagement':
+                                return <TaskManagement />;
                             default:
                                 return <Module />;  
                         };

+ 295 - 249
js/component/manageCenter/servicesManage/projectOrder/myTask/projectManage.jsx

@@ -6,8 +6,8 @@ import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message,
 import MySettlementDetaile from "./projectManageDetaile.jsx";
 import moment from 'moment';
 import '../userMangagement.less';
-import {projectState} from '../../../../dataDic.js';
-import {getProjectState,getOrderState,getOrderType,getPaymentState} from '../../../../tools.js';
+import {projectState,taskStatus} from '../../../../dataDic.js';
+import {getProjectState,getOrderState,getOrderType,getPaymentState,getTaskStatus} from '../../../../tools.js';
 
 const MyTask=Form.create()(React.createClass({
 	loadData(pageNo) {
@@ -18,21 +18,18 @@ const MyTask=Form.create()(React.createClass({
             method: "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/techproject/listProject',
+            url: globalConfig.context + '/api/admin/techproject/listMyTask',
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                setUpStartDate: this.state.releaseDate[0],
-				setUpEndDate: this.state.releaseDate[1],
-				depId:this.state.departmentt,
-				orderStartTime: this.state.releaseDateOrder[0],
-				orderEndTime: this.state.releaseDateOrder[1],
+                startDate: this.state.releaseDate[0],
+				endDate: this.state.releaseDate[1],
                 buyerName:this.state.buyerNameSearch,//客户名称
-                orderStatus:this.state.orderStatusSearch, //订单状态
-                salesmanName:this.state.salesmanNameSearch,//订单负责人
-                financeLeaderSearch:this.state.financeLeaderSearch,//财务负责人
-                orderNo:this.state.orderNoSearch,//订单编号
+                taskStatus:this.state.orderStatusSearch, //订单状态
+                projectNo:this.state.orderNoSearch,//订单编号
                 deleteSign:this.state.deleteSignSearch,//锁定激活
+                categoryId:this.state.categoryIdSearch,
+                taskReceiverName:this.state.salesmanNameSearch
             },
             success: function (data) {
                 let theArr = [];
@@ -45,18 +42,16 @@ const MyTask=Form.create()(React.createClass({
                         let thisdata = data.data.list[i];
                         theArr.push({
                              key: i,
-	                         id: thisdata.id,
-	                         serialNumber: thisdata.serialNumber,
-	                         signDate:thisdata.signDate,
+	                         taskId: thisdata.taskId,
+	                         taskNo: thisdata.taskNo,
+	                         commodityName:thisdata.commodityName,
+	                         categoryName:thisdata.categoryName,
 	                         buyerName:thisdata.buyerName,
-	                         projectType:thisdata.projectType,
-	                         projectStatus:thisdata.projectStatus,
+	                         taskDistributionTimes:thisdata.taskDistributionTimes,
 	                         deleteSign:thisdata.deleteSign,
-	                         orderNo:thisdata.orderNo,
-	                         orderTime:thisdata.orderTime,
-	                         orderStatus:thisdata.orderStatus,
-	                         liquidationStatus:thisdata.liquidationStatus,
-	                         approval:thisdata.approval,
+	                         taskStatus:thisdata.taskStatus,
+	                         taskReceiverName:thisdata.taskReceiverName,
+	                         projectNo:thisdata.projectNo
                         });
                     };
                     this.state.pagination.current = data.data.pageNo;
@@ -68,7 +63,6 @@ const MyTask=Form.create()(React.createClass({
 				}
                 this.setState({
                 	pageNo:pageNo,
-                	newProject:false,
                     dataSource: theArr,
                     pagination: this.state.pagination,
                     selectedRowKeys:[]
@@ -80,6 +74,46 @@ const MyTask=Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    //部门
+	departmentList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "post",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + "/api/admin/organization/selectSuperId",
+			data: {
+				
+			},
+			success: function(data) {
+				let thedata = data.data;
+				let theArr=[];
+				if(!thedata) {
+					if(data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					};
+					thedata = {};
+				}else{
+					thedata.map(function(item,index){
+						theArr.push({
+							key:index,
+							name:item.name,
+							id:item.id,
+						})
+					})
+				}
+				this.setState({
+					departmentArr:theArr,
+				})
+			}.bind(this),
+			}).always(function() {
+				this.setState({
+					loading: false
+				});
+			}.bind(this));
+	},
     getInitialState() {
         return {
         	datauser:{},
@@ -87,12 +121,7 @@ const MyTask=Form.create()(React.createClass({
             selectedRows: [],
             searchMore: true,
             releaseDate: [],
-            releaseDateOrder:[],
-            projectState:false,
-            newProject:false,
             loading: false,
-            KnotState:true,
-            distributionVisible:false,
             visible:false,
             showDesc:false,
             pagination: {
@@ -109,61 +138,46 @@ const MyTask=Form.create()(React.createClass({
             },
             columns: [
                 {
-                    title: '项目编号',
-                    dataIndex: 'serialNumber',
-                    key: 'serialNumber'
+                    title: '任务编号',
+                    dataIndex: 'taskNo',
+                    key: 'taskNo'
                 },{
-                    title: '立项时间',
-                    dataIndex: 'signDate',
-                    key: 'signDate'
+                    title: '项目编号',
+                    dataIndex: 'projectNo',
+                    key: 'projectNo'
                 },{
-                    title: '客户名称',
-                    dataIndex: 'buyerName',
-                    key: 'buyerName'
+                    title: '任务名称',
+                    dataIndex: 'commodityName',
+                    key: 'commodityName'
                 },
                 {
-                    title: '项目类型',
-                    dataIndex: 'projectType',
-                    key: 'projectType',
-                    render:(text)=>{return getOrderType(text) }
+                    title: '业务类别',
+                    dataIndex: 'categoryName',
+                    key: 'categoryName',
                 },{
-                    title: '项目状态',
-                    dataIndex: 'projectStatus',
-                    key: 'projectStatus',
-                    render:(text)=>{return getProjectState(text) }
+                    title: '客户名称',
+                    dataIndex: 'buyerName',
+                    key: 'buyerName',
                 }, {
-                    title: '锁定/作废',
+                    title: '任务负责人',
+                    dataIndex: 'taskReceiverName',
+                    key: 'taskReceiverName',
+                },{
+                    title: '任务状态',
+                    dataIndex: 'taskStatus',
+                    key: 'taskStatus',
+                    render:(text)=>{return getTaskStatus(text) }
+                },{
+                    title: '是否锁定',
                     dataIndex: 'deleteSign',
                     key: 'deleteSign',
                     render:(text)=>{
-                    	return
-                    	   {text==0&&<span>正常</span>}
-                    	   {text==1&&<span>作废</span>}
-                    	   {text==2&&<span>锁定</span>}
+                    	return text==2?'锁定':'未锁定'
                     }
                 },{
-                    title: '订单编号',
-                    dataIndex: 'orderNo',
-                    key: 'orderNo',
-                },{
-                    title: '下单时间',
-                    dataIndex: 'orderTime',
-                    key: 'orderTime',
-                },{
-                    title: '订单状态',
-                    dataIndex: 'orderStatus',
-                    key: 'orderStatus',
-                    render:(text)=>{return getOrderState(text) }
-                },{
-                    title: '结算状态',
-                    dataIndex: 'liquidationStatus',
-                    key: 'liquidationStatus',
-                    render:(text)=>{return getPaymentState(text) }
-                },{
-                    title: '是否特批',
-                    dataIndex: 'approval',
-                    key: 'approval',
-                     render:(text)=>{return (text)?'已特批':'未特批' }
+                    title: '任务创建时间',
+                    dataIndex: 'taskDistributionTimes',
+                    key: 'taskDistributionTimes',
                 },{
                 	title: '操作',
                     dataIndex: 'rr',
@@ -171,28 +185,152 @@ const MyTask=Form.create()(React.createClass({
                     render:(text,record,index)=>{
                     	return (
                     		<div>
-								{record.projectStatus==2||record.projectStatus==5?<Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation(),this.Knot(record)}}>项目管理</Button>:''}                
-								{record.projectStatus==1||record.projectStatus==5?<Popconfirm title={'您将作废项目【'+record.roleName+'】,系统将自动同步作废项目任务及项目资料单,请确认'} onConfirm={(e)=>{this.scrapOrder(record)}} okText="确认" cancelText="取消">
-							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">作废</Button>                 
+								{record.taskStatus<=1?<Popconfirm title={'请确认是否启动【'+record.commodityName+'】任务?'} onConfirm={(e)=>{this.startUp(record)}} okText="确认" cancelText="取消">
+							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="primary">启动资料</Button>                 
+								</Popconfirm>:''}
+							    <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} >转交</Button>                 
+								{record.taskStatus==2?<Popconfirm title={'请确认是否完成【'+record.commodityName+'】任务?'} onConfirm={(e)=>{this.endUp(record)}} okText="确认" cancelText="取消">
+							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} >完成</Button>                 
 								</Popconfirm>:''}
 							</div>
 							)
                     }
                 }
             ],
+            userList:[
+            	{
+                    title: '用户编号',
+                    dataIndex: 'userNo',
+                    key: 'userNo'
+                }, {
+                    title: '用户姓名',
+                    dataIndex: 'name',
+                    key: 'name'
+                },{
+                    title: '部门机构',
+                    dataIndex: 'departmentName',
+                    key: 'departmentName'
+                }, {
+                    title: '职务',
+                    dataIndex: 'position',
+                    key: 'position'
+                },{
+                    title: '联系手机',
+                    dataIndex: 'mobile',
+                    key: 'mobile'
+                }, {
+                    title: '操作',
+                    dataIndex: 'abc',
+                    key: 'abc',
+                    render:(text,record,index)=>{
+                    	return (
+                    	    <Popconfirm title={'您确认将任务【'+ this.state.commodity+'】 转交给【'+record.departmentName+'-'+record.name+'】?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
+							    <Button style={{marginRight:'5px'}} type="primary">选定</Button>                 
+							</Popconfirm>
+							)
+                    }
+                }
+            ],
             dataSource: [],
         };
     },
-    //部门
-	departmentList() {
+    //转交
+    confirmDelet(index){
+    	this.setState({
+    		commodity:index.commodityName,
+    		showDesc:false,
+    		uid:index.taskId,
+    		distributionVisible:true
+    	});
+    	this.departmentList()
+    },
+    distributionCancel(){
+    	this.setState({
+    		distributionVisible:false
+    	})
+    },
+    //分配对象列表
+    contactList(){
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/superviser/adminList',
+            data: {
+                pageNo: 1,
+                pageSize: 99,
+                departmentId:this.state.departmenttList,
+                name:this.state.financeNameSearch,
+            },
+            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.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,
+                        });
+                    };
+                  
+                };
+                this.setState({
+                    distributionList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    //选定对象
+    confirmSelect(record){
+    	this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/techproject/transferTask",
+            data: {
+            	taskId:this.state.uid,
+            	taskReceiverId:record.id
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('转交成功!');
+                this.setState({
+                    loading: false,
+                });
+                this.distributionCancel();
+                this.loadData(this.state.pageNo);
+            } else {
+                message.warning(data.error[0].message);
+            };
+        }.bind(this));
+    },
+    //业务类型
+	businessList() {
 		this.setState({
 			loading: true
 		});
 		$.ajax({
-			method: "post",
+			method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context + "/api/admin/organization/selectSuperId",
+			url: globalConfig.context + "/api/admin/order/getBusinessProjectCatalog",
 			data: {
 				
 			},
@@ -208,14 +346,13 @@ const MyTask=Form.create()(React.createClass({
 					thedata.map(function(item,index){
 						theArr.push({
 							key:index,
-							name:item.name,
+							name:item.cname,
 							id:item.id,
-							depNo:item.depNo
 						})
 					})
 				}
 				this.setState({
-					departmentArr:theArr,
+					businessArr:theArr,
 				})
 			}.bind(this),
 			}).always(function() {
@@ -224,106 +361,30 @@ const MyTask=Form.create()(React.createClass({
 				});
 			}.bind(this));
 	},
-	//作废项目
-	scrapOrder(record){
-		this.setState({
-			loading: true
-		});
-		$.ajax({
-			method: "POST",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context +'/api/zuofei',
-			data: {
-				id:record.id,
-			}
-		}).done(function(data) {
-			this.setState({
-				loading: false
-			});
-			if(!data.error.length) {
-				message.success('操作成功!');
-				this.loadData(this.state.pageNo);			
-			} else {
-				message.warning(data.error[0].message);
-			}
-		}.bind(this));
-	},
-	//创建项目
-	addClick() {
-        this.setState({
-        	newProject:true,
-        	signBillVisible:false,
-            showDesc: false
-        });
-    },
     componentWillMount() {
         this.loadData();
-        this.departmentList()
-    },
-    //立项
-    edit(record) {
-    	this.setState({
-    		newProject:false,
-    		Kid:record.id,
-    		signBillVisible:true
-    	})
-    	this.editData(record)
-    },
-    //项目管理
-    Knot(record){
-    	this.state.userDetaile=true;
-        this.state.datauser = record;
-        this.setState({
-        	projectState:true,
-        	newProject:false,
-            showDesc: true
-        });
-    },
-    noProject(){
-    	this.setState({
-    		signBillVisible:false
-    	})
-    },
-    //立项。结项前数据获取
-    editData(xhr){
-    	$.ajax({
-			method: "POST",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + 'api/lixiang-shuju',
-			data: {
-				id:xhr.id,
-			},
-			success: function (data) {
-                if (!data.data) {
-                    if (data.error && data.error.length) {
-                        message.warning(data.error[0].message);
-                    };
-                } else {
-                   
-                };
-			}.bind(this)},
-    	).always(function () {
-            this.setState({
-                loading: false
-            });
-        }.bind(this));
+        this.businessList()
     },
-    //立项、结项保存操作
-	projectSubmit(e){
-		e.preventDefault();
+    //启动
+  	startUp(record){
+  		this.removeList(true,record)
+  	},
+  	//完成
+  	endUp(record){
+  		this.removeList(false,record)
+  	},
+    removeList(state,record){
 		this.setState({
 			loading: true
 		});
-		let api=this.state.KnotState?'/api/admin/lixiang':'/api/admin/jiexiang';
+		let api=state?'/api/admin/techproject/startTask':'/api/admin/techproject/completeTask';
 		$.ajax({
-			method: "POST",
+			method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context +api ,
+			url: globalConfig.context + api,
 			data: {
-				id:this.state.Kid,
+				taskId:record.taskId
 			}
 		}).done(function(data) {
 			this.setState({
@@ -331,23 +392,14 @@ const MyTask=Form.create()(React.createClass({
 			});
 			if(!data.error.length) {
 				message.success('操作成功!');
-				this.noProject();
-				this.loadData(this.state.pageNo);			
+				this.loadData(this.state.pageNo)
 			} else {
 				message.warning(data.error[0].message);
 			}
 		}.bind(this));
 	},
-    closeDesc(e, s) {
-    	this.state.userDetaile=false;
-        this.state.showDesc = e;
-        if (s) {
-            this.loadData(this.state.pageNo);
-        };
-    },
     searchSwitch() {
 		this.setState({
-			newProject:false,
 			searchMore: !this.state.searchMore
 		});
 	},
@@ -355,25 +407,31 @@ const MyTask=Form.create()(React.createClass({
         this.loadData();
     },
     tableRowClick(record, index) {
-        this.state.userDetaile=true;
         this.state.datauser = record;
         this.setState({
-        	projectState:false,
-        	newProject:false,
             showDesc: true
         });
     },
+    searchOrder(){
+    	this.contactList();
+    },
+    resetOrder(){
+    	this.state.departmenttList=undefined;
+    	this.state.financeNameSearch='';
+    	this.setState({
+    		distributionList:[]
+    	})
+    },
     reset() {
     	this.state.buyerNameSearch='';
     	this.state.releaseDate[0] = undefined;
 		this.state.releaseDate[1] = undefined;
-		this.state.releaseDateOrder[0] = undefined;
-		this.state.releaseDateOrder[1] = undefined;
 		this.state.departmentt=undefined;
 		this.state.orderStatusSearch = undefined;
 		this.state.salesmanNameSearch = '';
 		this.state.orderNoSearch='';
 		this.state.deleteSignSearch=undefined;
+		this.state.categoryIdSearch=undefined;
         this.loadData();       
     },
     render() {
@@ -399,10 +457,11 @@ const MyTask=Form.create()(React.createClass({
         };
         const hasSelected = this.state.selectedRowKeys.length > 0;
         let departmentArr = this.state.departmentArr || [];
+        let businessArr = this.state.businessArr || []
         return (
             <div className="user-content" >
                 <div className="content-title">
-                	<span style={{fontSize:'16px'}}>项目管理</span>	
+                	<span style={{fontSize:'16px'}}>我的项目任务</span>	
 	                <div className="user-search">
 	                    <Input placeholder="客户名称" style={{width:'150px'}}
 	                        value={this.state.buyerNameSearch}
@@ -414,47 +473,42 @@ const MyTask=Form.create()(React.createClass({
 	                    <Button type="primary" onClick={this.search} style={{marginLeft:'10px'}}>搜索</Button>
 	                    <Button onClick={this.reset}>重置</Button>
 	                    <span style={{marginLeft:'10px',marginRight:'20px'}}>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>    
-	                	<Button type="primary" className="addButton" onClick={this.addClick} >创建项目<Icon type="plus" /></Button>
 	                </div>
 	                <div className='clearfix' style={{marginTop:'5px'}}>
 	                  <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}> 
-	                        <Select placeholder="项目状态"
+	                        <Select placeholder="任务状态"
 	                            style={{ width: 150 ,marginRight:'10px'}}
 	                            value={this.state.orderStatusSearch}
 	                            onChange={(e) => { this.setState({ orderStatusSearch: e }) }}>
 	                            {
-                                    projectState.map(function (item) {
+                                    taskStatus.map(function (item) {
                                             return <Select.Option key={item.value} >{item.key}</Select.Option>
                                     })
                                 }
 	                        </Select>
-	                        <Select placeholder="锁定/作废"
+	                        <Select placeholder="是否锁定"
 	                            style={{ width: 150 ,marginRight:'10px'}}
 	                            value={this.state.deleteSignSearch}
 	                            onChange={(e) => { this.setState({ deleteSignSearch: e }) }}>
-	                            <Select.Option value='0'>正常</Select.Option>
-	                            <Select.Option value='1'>作废</Select.Option>
+	                            <Select.Option value='0'>未锁定</Select.Option>
 	                            <Select.Option value='2'>锁定</Select.Option>
 	                        </Select>
-	                        <Input placeholder="订单编号" style={{width:'150px',margin:'10px'}}
-		                        value={this.state.orderNoSearch}
-		                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
-	                        <Select placeholder="选择部门" style={{width:'150px'}}
-	                            value={this.state.departmentt}
-	                            onChange={(e) => { this.setState({ departmentt: e }) }}>
+	                        <Select placeholder="业务类别"
+	                            style={{ width: 150 ,marginRight:'10px'}}
+	                            value={this.state.categoryIdSearch}
+	                            onChange={(e) => { this.setState({ categoryIdSearch: e }) }}>
 	                            {
-	                                departmentArr.map(function (item) {
-	                                        return <Select.Option key={item.depNo} >{item.name}</Select.Option>
-	                                })
-	                            }
+                                    businessArr.map(function (item) {
+                                            return <Select.Option key={item.id} >{item.name}</Select.Option>
+                                    })
+                                }
 	                        </Select>
-	                        <Input placeholder="订单负责人" style={{width:'150px',margin:'10px'}}
+	                        <Input placeholder="项目编号" style={{width:'150px',margin:'10px'}}
+		                        value={this.state.orderNoSearch}
+		                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
+	                        <Input placeholder="任务名称" style={{width:'150px',margin:'10px'}}
 		                        value={this.state.salesmanNameSearch}
 		                        onChange={(e) => { this.setState({ salesmanNameSearch: e.target.value }); }} />
-	                        <RangePicker
-		                        value={[this.state.releaseDateOrder[0] ? moment(this.state.releaseDateOrder[0]) : null,
-		                        this.state.releaseDateOrder[1] ? moment(this.state.releaseDateOrder[1]) : null]}
-		                        onChange={(data, dataString) => { this.setState({ releaseDateOrder: dataString }); }} /> 
 	                    </div>
 	                </div>
 	                <div className="patent-table">
@@ -468,54 +522,46 @@ const MyTask=Form.create()(React.createClass({
 	                    </Spin>
 	                </div>
 	                <MySettlementDetaile
-	                	projectState={this.state.projectState}
-	                    newProject={this.state.newProject}
-	                    userDetaile={this.state.userDetaile}
 	                    datauser={this.state.datauser}
 	                    showDesc={this.state.showDesc}
-	                    closeDesc={this.closeDesc} />
+	                     />
 	            </div >
-	            <Modal maskClosable={false} visible={this.state.signBillVisible}
-                        onOk={this.noProject} onCancel={this.noProject}
+			        <Modal maskClosable={false} visible={this.state.distributionVisible}
+                        onOk={this.distributionCancel} onCancel={this.distributionCancel}
                         width='800px'
-                        title='项目立项'                  
+                        title='转交'                     
                         footer=''
                         className="admin-desc-content">
-			            <Form layout="horizontal" onSubmit={this.projectSubmit} id="demand-form">
+			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
 			                <Spin spinning={this.state.loading}>
-			                        <div className="clearfix">
-					                    <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label="项目编号" >   
-				                                   <span></span>
-					                    </FormItem>
-					                    <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label="客户名称" >   
-				                                   <span></span>
-					                    </FormItem>
-					                    <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label="立项时间">   
-				                                   <span></span>
-					                    </FormItem>
-						                <div className='clearfix'>
-								        	<FormItem
-									            labelCol={{ span: 4 }}
-									            wrapperCol={{ span: 16 }}
-									            label="立项说明" >
-									                <Input type="textarea" placeholder="请输入备注" rows={4}  value={this.state.introduction} 
-										    				onChange={(e)=>{this.setState({introduction:e.target.value})}}/>			                      
-									        </FormItem>
-								        </div>
-				                    </div>
-			                    <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle">
-			                        <Button className="submitSave" type="primary" htmlType="submit">{this.state.KnotState?"确定立项":'确定结项'}</Button>  
-			                        <Button className="submitSave" type="ghost" onClick={this.noProject}>返回</Button>
-			                    </FormItem> 
+			                	<div>
+			                		<Select placeholder="订单部门"
+				                            style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
+				                            value={this.state.departmenttList}
+				                            onChange={(e) => { this.setState({ departmenttList: e }) }}>
+				                            {
+			                                    departmentArr.map(function (item) {
+			                                            return <Select.Option key={item.id} >{item.name}</Select.Option>
+			                                    })
+			                                }
+				                    </Select>
+				                    <Input placeholder="任务负责人" style={{width:'150px',marginLeft:'10px'}}
+				                        value={this.state.financeNameSearch}
+				                        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>
+			                	 <div className="patent-table" style={{marginTop:'10px'}}>
+				                    <Spin spinning={this.state.loading}>
+				                        <Table columns={this.state.userList}
+				                            dataSource={this.state.distributionList}
+				                            pagination={false}
+				                             />
+				                    </Spin>
+				                </div>
 			                </Spin>
-			            </Form >
-			        </Modal>
+			            </Form>
+			    </Modal>
             </div>
         );
     }

File diff suppressed because it is too large
+ 33 - 969
js/component/manageCenter/servicesManage/projectOrder/myTask/projectManageDetaile.jsx


+ 1 - 1
js/component/manageCenter/servicesManage/projectOrder/orderOrder/projectOrder.jsx

@@ -172,7 +172,7 @@ const ProjectOrder=Form.create()(React.createClass({
                     title: '是否特批',
                     dataIndex: 'approval',
                     key: 'approval',
-                    render:(text)=>{return text?'已特批':'未特批' }
+                    render:(text)=>{return text==2?'已特批':'未特批' }
                 },{
                     title: '订单部门',
                     dataIndex: 'departmentName',

+ 112 - 114
js/component/manageCenter/servicesManage/projectOrder/orderOrder/projectOrderDetaile.jsx

@@ -3,7 +3,7 @@ import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import '../userMangagement.less';
-import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType} from '../../../../tools.js';
+import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType,getTransactionProject,getTransactionChannel} from '../../../../tools.js';
 
 const MySettlementDetaile = Form.create()(React.createClass({
 	loadData(record) {
@@ -47,58 +47,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
                    }
                 this.setState({
                     dataSource: theArr,
-                    pagination: false,
-                });
-            }.bind(this),
-        }).always(function () {
-            this.setState({
-                loading: false
-            });
-        }.bind(this));
-    },
-    //查看流失。项目列表
-    lookSee(state) {
-    	this.state.lookSource=[];
-        this.setState({
-            loading: true
-        });
-        let api=state?'/api/xiangmu':'/api/liushui'
-        $.ajax({
-            method: "get",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + api,
-            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++) {
-                        let thisdata = data.data[i];
-                        theArr.push({
-                             key: i,
-                             id:thisdata.id,
-                             orderNo:thisdata.orderNo,
-                             commodityName:thisdata.commodityName,
-                             commodityType:thisdata.commodityType,
-                             commodityMode:thisdata.commodityMode,
-                             commodityQuantity:thisdata.commodityQuantity,
-                             commodityPrice:thisdata.commodityPrice,
-                             discountPrice:thisdata.discountPrice,
-                             commodityFirstPayment:thisdata.commodityFirstPayment,
-                             createTimes:thisdata.createTimes,
-                             discountFirstPayment:thisdata.discountFirstPayment,
-                             remarks:thisdata.remarks,
-                        });
-                    };
-                   }
-                this.setState({
-                    lookSource: theArr,
                 });
             }.bind(this),
         }).always(function () {
@@ -113,6 +61,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			visible: false,
 			lookState:true,
 			orgCodeUrl:[],
+			lookflowList:[],
 			checkedKeys: [],
 			columns: [
 				{
@@ -151,41 +100,59 @@ const MySettlementDetaile = Form.create()(React.createClass({
 					}
                 }
 			],
-			projectList:[
+			flowList:[
 				{
-                    title: '项目名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
-                }, {
-                    title: '项目类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
                     render:(text)=>{
-                    	return (getOrderType(text))
+                    	return text&&text.substr(0,9)+'…'
                     }
+                }, {
+                    title: '平台流水时间',
+                    dataIndex: 'createTime',
+                    key: 'createTime'
+                }, {
+                    title: '流水金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
                 },{
-                    title: '项目数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
+                    title: '付款人名称',
+                    dataIndex: 'payerName',
+                    key: 'payerName'
+                }, {
+                    title: '收款人名称',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName'
                 },
-			],
-			flowList:[
-				{
-                    title: '流水名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
+                {
+                    title: '流水科目',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{return getTransactionProject(text) }
                 }, {
-                    title: '流水类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
-                    render:(text)=>{
-                    	return (getOrderType(text))
-                    }
+                    title: '流水渠道',
+                    dataIndex: 'transactionChannel',
+                    key: 'transactionChannel',
+                    render:(text)=>{return getTransactionChannel(text) }
                 },{
-                    title: '流水数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
-                },
+                    title: '财务流水号',
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo',
+                }, {
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTime',
+                    key: 'financialPayTime',
+                }, {
+                    title: '流水确认',
+                    dataIndex: 'confirmSign',
+                    key: 'confirmSign',
+                    render:(text)=>{return text?'已确认':'待确认' }
+                },{
+                    title: '确认时间',
+                    dataIndex: 'confirmTime',
+                    key: 'confirmTime',
+                }
 			]
 		};
 	},
@@ -248,20 +215,62 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			addnextVisible: false
 		})
 	},
-	//查看项目、查看流水
-	lookProject(){
-		this.setState({
-			lookState:true,
-			lookVisible:true,
-		})
-		this.lookSee(true)
-	},
 	lookflow(){
 		this.setState({
-			lookState:false,
+			loading: true,
 			lookVisible:true,
 		})
-		this.lookSee(false)
+		this.state.lookSource=[];
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context +'/api/admin/order/queryAllBill',
+            data: {
+            	orderNo:this.props.datauser.orderNo,
+            	pageNo: 1,
+                pageSize: 99,
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         billNo: thisdata.billNo,
+	                         transactionAmount:thisdata.transactionAmount,
+	                         createTime:thisdata.createTime, 
+	                         transactionAmount:thisdata.transactionAmount,
+	                         payerName:thisdata.payerName,
+	                         payeeName:thisdata.payeeName,
+	                         transactionSubject:thisdata.transactionSubject,
+	                         transactionChannel:thisdata.transactionChannel,
+	                         financialPayNo:thisdata.financialPayNo,
+	                         financialPayTime:thisdata.financialPayTime,
+	                         orderNo:thisdata.orderNo,
+	                         departmentName:thisdata.departmentName,
+	                         salesmanName:thisdata.salesmanName,
+	                         financeName:thisdata.financeName,
+	                         confirmSign:thisdata.confirmSign,
+	                         deleteSign:thisdata.deleteSign,
+	                         confirmTime:thisdata.confirmTime
+                        });
+                    };
+                };
+                this.setState({
+                    lookflowList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
 	},
 	lookCancel(){
 		this.setState({
@@ -430,7 +439,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
 				                            {...formItemLayout}
 				                            label="项目负责人" >  
 				                            <span>{orderDetaiel.technicianName}</span>
-				                            <Button onClick={this.lookProject} style={{float:'right'}}>查看项目</Button>
 			                    		</FormItem>
 			                    		<FormItem className="half-item"
 				                            {...formItemLayout}
@@ -439,13 +447,13 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			                    		</FormItem>
 		                    		</div>
 					                <div>
-					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>订单明细</span>
+					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>业务项目</span>
 					                </div>
 					                <div className="patent-table">
 					                    <Spin spinning={this.state.loading}>
 					                        <Table columns={this.state.columns}
 					                            dataSource={this.state.dataSource}
-					                            pagination={this.state.pagination}
+					                            pagination={false}
 					                            onRowClick={this.tableRowClick} 
 					                            />
 					                    </Spin>
@@ -457,7 +465,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			        <Modal maskClosable={false} visible={this.state.addnextVisible}
                         onOk={this.nextCancel} onCancel={this.nextCancel}
                         width='550px'
-                        title='查看订单明细服务'                     
+                        title='查看项目详细'                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
@@ -465,12 +473,12 @@ const MySettlementDetaile = Form.create()(React.createClass({
 		                        <div className="clearfix">
 	                        	   <FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="服务名称" >
+			                            label="业务项目名称" >
 		                    			<span>{editFws.commodityName}</span>
 			                    	</FormItem>
 			                    	<FormItem className="half-item"
 			                            {...formItemLayout}
-			                            label="市" >
+			                            label="服务市价" >
 		                    			<span>{editFws.commodityPrice}</span>
 			                    	</FormItem>
 			                    	<FormItem className="half-item"
@@ -502,7 +510,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 				                    	<FormItem 
 				                            labelCol={{ span: 4 }}
 								            wrapperCol={{ span: 16 }}
-				                            label="服务说明" >
+				                            label="项目说明" >
 			                    			<span>{editFws.remarks}</span>
 				                    	</FormItem>
 			                    	</div>
@@ -512,27 +520,17 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='550px'
-                        title= {this.state.lookState?'查看项目':'查看流水'}                    
+                        width='1000px'
+                        title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" id="demand-form">
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
-	                        	   {this.state.lookState?
-	                        	   		<div>
-	                        	   			<Table columns={this.state.projectList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		
-	                        	   		</div>:
-	                        	   		<div>
-	                        	   			<Table columns={this.state.flowList}
-						                           dataSource={this.state.lookSource}
-						                           pagination={false}
-				                             />
-	                        	   		</div>}
+                        	   			<Table columns={this.state.flowList}
+					                           dataSource={this.state.lookflowList}
+					                           pagination={false}
+			                             />
 		                        </div>
 			                </Spin>
 			            </Form >

+ 2 - 1
js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManage.jsx

@@ -163,7 +163,7 @@ const ProjectOrder=Form.create()(React.createClass({
                     title: '是否特批',
                     dataIndex: 'approval',
                     key: 'approval',
-                     render:(text)=>{return (text)?'已特批':'未特批' }
+                     render:(text)=>{return text==2?'已特批':'未特批' }
                 },{
                 	title: '操作',
                     dataIndex: 'rr',
@@ -468,6 +468,7 @@ const ProjectOrder=Form.create()(React.createClass({
 	                    </Spin>
 	                </div>
 	                <MySettlementDetaile
+	                    departmentArr={this.state.departmentArr}
 	                	projectState={this.state.projectState}
 	                    newProject={this.state.newProject}
 	                    userDetaile={this.state.userDetaile}

+ 51 - 79
js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManageDetaile.jsx

@@ -30,7 +30,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
                         let thisdata = data.data[i];
                         theArr.push({
                              key:i,
-                             id:thisdata.id,
+                             taskId:thisdata.taskId,
                              commodityName:thisdata.commodityName, 
                              commodityQuantity:thisdata.commodityQuantity, 
                              technicianName:thisdata.technicianName, 
@@ -99,16 +99,12 @@ const MySettlementDetaile = Form.create()(React.createClass({
                     dataIndex: 'rrtk',
                     key: 'rrtk',
                     render:(text,record,index)=>{
-                    	console.log(record)
                     	return (
                     		<div>
-								<Popconfirm title={'您将作废项目任务 【'+record.name+'】,系统将自动同步作废项目资料单,请确认!'} onConfirm={(e)=>{this.voidOperation(record)}} okText="确认" cancelText="取消">
-							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">作废</Button>                 
-								</Popconfirm>
+								{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>}
 							   	{record.taskStatus<1&&<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} type="primary">派单</Button>}                 
-								<Popconfirm title={'您将锁定项目任务【'+record.name+'】,系统将自动同步锁定项目资料单,请确认!'} onConfirm={(e)=>{this.lockOperation(record)}} okText="确认" cancelText="取消">
-							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">锁定</Button>                 
-								</Popconfirm>
 							</div>
 							)
                     }
@@ -150,45 +146,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
             ],
 		};
 	},
-	departmentList() {
-		this.setState({
-			loading: true
-		});
-		$.ajax({
-			method: "post",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + "/api/admin/organization/selectSuperId",
-			data: {
-				
-			},
-			success: function(data) {
-				let thedata = data.data;
-				let theArr=[];
-				if(!thedata) {
-					if(data.error && data.error.length) {
-						message.warning(data.error[0].message);
-					};
-					thedata = {};
-				}else{
-					thedata.map(function(item,index){
-						theArr.push({
-							key:index,
-							name:item.name,
-							id:item.id,
-						})
-					})
-				}
-				this.setState({
-					departmentArr:theArr,
-				})
-			}.bind(this),
-			}).always(function() {
-				this.setState({
-					loading: false
-				});
-			}.bind(this));
-	},
 	//查看基本详情基本信息
     loaduser(record){
     	if(record){
@@ -211,7 +168,8 @@ const MySettlementDetaile = Form.create()(React.createClass({
                 this.setState({
 					id:record.id,
 					orderList:thisData,
-					technicianName:thisData.technicianName //项目负责人
+					technicianName:thisData.technicianName, //项目负责人
+					mid:thisData.buyerId
                 });                  
             }.bind(this),
        }).always(function () {
@@ -221,27 +179,18 @@ const MySettlementDetaile = Form.create()(React.createClass({
         }.bind(this));  
        }
     },
-    //作废
-    voidOperation(e){
-    	this.unlock(e,true)
-    },
-    //锁定
-    lockOperation(e){
-    	this.unlock(e,false)
-    },
-    unlock(record,state){
+    //删除
+    voidOperation(record){
     	this.setState({
             loading: true
         });
-        let api=state?'/api/zuofei':'/api/suoding'
         $.ajax({
-            method: "POST",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + api,
+            url: globalConfig.context + '/api/admin/techproject/deleteProjectTask',
             data: {
-            	id:this.props.datauser.id,
-            	uid:record.id
+            	taskId:record.taskId
             }
         }).done(function (data) {
             if (!data.error.length) {
@@ -253,7 +202,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
             } else {
                 message.warning(data.error[0].message);
             };
-            this.loadData();
         }.bind(this));
     },
     //订单编辑保存
@@ -305,7 +253,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 				crossDomain: false,
 				url: globalConfig.context + '/api/admin/techproject/getProjectTaskDetail',
 	            data: {
-	              taskId: record.id
+	              taskId: record.taskId
 	            },
 	            success: function (data) {
 	                let thisData = data.data;                
@@ -374,12 +322,12 @@ const MySettlementDetaile = Form.create()(React.createClass({
 	//派单
 	//操作分配
     confirmDelet(index){
+    	console.log(index)
     	this.setState({
-    		taskIds:index.id,
+    		taskIds:index.taskId,
     		userDetaile:false,
     		distributionVisible:true
     	});
-    	this.contactList()
     },
     distributionCancel(){
     	this.setState({
@@ -472,6 +420,16 @@ const MySettlementDetaile = Form.create()(React.createClass({
             };
         }.bind(this));
     },
+    searchOrder(){
+    	this.contactList();
+    },
+    resetOrder(){
+    	this.state.departmenttList=undefined;
+    	this.state.financeNameSearch='';
+    	this.setState({
+    		distributionList:[]
+    	})
+    },
     //添加任务
     addTask(){
     	this.setState({
@@ -488,12 +446,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
     //客户名称自动补全
     //加载(自动补全)
 	supervisor(e,state){ //客户名称与服务名称自动补全
-//		if(!state){
-//			if(!this.state.commodityId){
-//				message.warning('请先选择服务项目分类!')
-//				return false;
-//			}
-//		}
 		let api=state?'/api/admin/customer/findCustomerByName':'/api/admin/order/getBusinessProjectByName';
 		$.ajax({
             method: "get",
@@ -688,7 +640,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
 				this.loadData(nextProps.datauser);
 			}
 		}else{
-			this.departmentList()
 			this.setState({
 				customerName:'',
 				autoId:'',
@@ -719,8 +670,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			},
         };
         //
-        let departmentArr = this.state.departmentArr || [];
-        //const SuperArrMent = this.state.SuperArr || [];
+        let departmentArr = this.props.departmentArr || [];
         const hasSelected = this.state.selectedRowKey.length > 0;
 		const orderDetaiel=this.state.orderList || [];
 		const dataSources=this.state.customerArr || [];
@@ -756,7 +706,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			                            {...formItemLayout}
 			                            label="客户名称" >  
 			                            <span>{orderDetaiel.buyerName}</span>
-			                            <Button  onClick={this.seeOrder} style={{float:'right',fontSize:'12px'}}>查看联系人</Button>
+			                            <Button  onClick={this.seeContract} style={{float:'right',fontSize:'12px'}}>查看联系人</Button>
 		                    		</FormItem>
 		                    		<FormItem className="half-item"
 			                            {...formItemLayout}
@@ -827,9 +777,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 				                            />
 				                    </Spin>
 					            </div>
-					            {!this.props.projectState?<div style={{marginTop:'30px',paddingLeft:'100px'}}>
-						            <Button className="setSave" type="primary" htmlType="submit" style={{marginRight:'50px'}}>保存</Button>  
-						            <Button className="cancel" type="ghost" onClick={this.handleCancel}>返回</Button>
+					            {!this.props.projectState?<div>
 					            </div>:
 					            <div style={{marginTop:'30px',paddingLeft:'100px'}}>
 					            	<Button type="primary" onClick={this.removeItem}>撤项</Button>  
@@ -1071,6 +1019,30 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			                </Spin>
 			            </Form>
 			    </Modal>
+			    {/*<Modal maskClosable={false} visible={this.state.distributionVisible}
+                        onOk={this.distributionOk} onCancel={this.distributionCancel}
+                        width='800px'
+                        title={this.state.seeState?'查看订单':'查看联系人'}                     
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal"  id="demand-form" style={{paddingBottom:'40px'}} >
+			                <Spin spinning={this.state.loading}>
+			                	 <div className="patent-table" style={{marginTop:'10px'}}>
+				                    <Spin spinning={this.state.loading}>
+				                        {this.state.seeState?<Table columns={this.state. }
+				                            dataSource={this.state.seeOrderArr}
+				                            pagination={false}
+				                             />:
+				                             <Table columns={this.state.contractList}
+				                            dataSource={this.state.contractArr}
+				                            pagination={false}
+				                             />}
+				                    </Spin>
+				                </div>
+			                </Spin>
+			            </Form>
+			    </Modal>
+			    */}
     	    </div>
 		)
 	}

+ 571 - 0
js/component/manageCenter/servicesManage/projectOrder/taskManagement/projectManage.jsx

@@ -0,0 +1,571 @@
+import React from 'react';
+import ReactDom from 'react-dom';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, Modal, Upload ,Popconfirm,DatePicker} from 'antd';
+import MySettlementDetaile from "./projectManageDetaile.jsx";
+import moment from 'moment';
+import '../userMangagement.less';
+import {projectState,taskStatus} from '../../../../dataDic.js';
+import {getProjectState,getOrderState,getOrderType,getPaymentState,getTaskStatus} from '../../../../tools.js';
+
+const TaskManagement=Form.create()(React.createClass({
+	loadData(pageNo) {
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/techproject/listTask',
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                startDate: this.state.releaseDate[0],
+				endDate: this.state.releaseDate[1],
+                buyerName:this.state.buyerNameSearch,//客户名称
+                taskStatus:this.state.orderStatusSearch, //订单状态
+                projectNo:this.state.orderNoSearch,//订单编号
+                deleteSign:this.state.deleteSignSearch,//锁定激活
+                categoryId:this.state.categoryIdSearch,
+                taskReceiverName:this.state.salesmanNameSearch
+            },
+            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.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        theArr.push({
+                             key: i,
+	                         taskId: thisdata.taskId,
+	                         taskNo: thisdata.taskNo,
+	                         commodityName:thisdata.commodityName,
+	                         categoryName:thisdata.categoryName,
+	                         buyerName:thisdata.buyerName,
+	                         taskDistributionTimes:thisdata.taskDistributionTimes,
+	                         deleteSign:thisdata.deleteSign,
+	                         taskStatus:thisdata.taskStatus,
+	                         taskReceiverName:thisdata.taskReceiverName,
+	                         projectNo:thisdata.projectNo,
+                        });
+                    };
+                    this.state.pagination.current = data.data.pageNo;
+                    this.state.pagination.total = data.data.totalCount;
+                };
+                if(!data.data.list.length){
+					this.state.pagination.current=0
+					this.state.pagination.total=0
+				}
+                this.setState({
+                	pageNo:pageNo,
+                    dataSource: theArr,
+                    pagination: this.state.pagination,
+                    selectedRowKeys:[]
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    //部门
+	departmentList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "post",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + "/api/admin/organization/selectSuperId",
+			data: {
+				
+			},
+			success: function(data) {
+				let thedata = data.data;
+				let theArr=[];
+				if(!thedata) {
+					if(data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					};
+					thedata = {};
+				}else{
+					thedata.map(function(item,index){
+						theArr.push({
+							key:index,
+							name:item.name,
+							id:item.id,
+						})
+					})
+				}
+				this.setState({
+					departmentArr:theArr,
+				})
+			}.bind(this),
+			}).always(function() {
+				this.setState({
+					loading: false
+				});
+			}.bind(this));
+	},
+    getInitialState() {
+        return {
+        	datauser:{},
+            selectedRowKeys: [],
+            selectedRows: [],
+            searchMore: true,
+            releaseDate: [],
+            loading: false,
+            visible:false,
+            showDesc:false,
+            pagination: {
+                defaultCurrent: 1,
+                defaultPageSize: 10,
+                showQuickJumper: true,
+                pageSize: 10,
+                onChange: function (page) {
+                    this.loadData(page);
+                }.bind(this),
+                showTotal: function (total) {
+                    return '共' + total + '条数据';
+                }
+            },
+            columns: [
+                {
+                    title: '任务编号',
+                    dataIndex: 'taskNo',
+                    key: 'taskNo'
+                },{
+                    title: '项目编号',
+                    dataIndex: 'projectNo',
+                    key: 'projectNo'
+                },{
+                    title: '任务名称',
+                    dataIndex: 'commodityName',
+                    key: 'commodityName'
+                },
+                {
+                    title: '业务类别',
+                    dataIndex: 'categoryName',
+                    key: 'categoryName',
+                },{
+                    title: '客户名称',
+                    dataIndex: 'buyerName',
+                    key: 'buyerName',
+                }, {
+                    title: '任务负责人',
+                    dataIndex: 'taskReceiverName',
+                    key: 'taskReceiverName',
+                },{
+                    title: '任务状态',
+                    dataIndex: 'taskStatus',
+                    key: 'taskStatus',
+                    render:(text)=>{return getTaskStatus(text) }
+                },{
+                    title: '是否锁定',
+                    dataIndex: 'deleteSign',
+                    key: 'deleteSign',
+                    render:(text)=>{
+                    	return text==2?'锁定':'未锁定'
+                    }
+                },{
+                    title: '任务创建时间',
+                    dataIndex: 'taskDistributionTimes',
+                    key: 'taskDistributionTimes',
+                },{
+                	title: '操作',
+                    dataIndex: 'rr',
+                    key: 'rr',
+                    render:(text,record,index)=>{
+                    	return (
+                    		<div>
+								{record.taskStatus<=1?<Popconfirm title={'请确认是否作废【'+record.commodityName+'】任务?'} onConfirm={(e)=>{this.startUp(record)}} okText="确认" cancelText="取消">
+							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">作废</Button>                 
+								</Popconfirm>:''}
+							    {record.taskStatus<1&&<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} type="primary">派单</Button>}                
+								{record.deleteSign!=2?<Popconfirm title={'请确认是否锁定【'+record.commodityName+'】任务?'} onConfirm={(e)=>{this.endUp(record)}} okText="确认" cancelText="取消">
+							   	   <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">锁定</Button>                 
+								</Popconfirm>:''}
+							</div>
+							)
+                    }
+                }
+            ],
+            userList:[
+            	{
+                    title: '用户编号',
+                    dataIndex: 'userNo',
+                    key: 'userNo'
+                }, {
+                    title: '用户姓名',
+                    dataIndex: 'name',
+                    key: 'name'
+                },{
+                    title: '部门机构',
+                    dataIndex: 'departmentName',
+                    key: 'departmentName'
+                }, {
+                    title: '职务',
+                    dataIndex: 'position',
+                    key: 'position'
+                },{
+                    title: '联系手机',
+                    dataIndex: 'mobile',
+                    key: 'mobile'
+                }, {
+                    title: '操作',
+                    dataIndex: 'abc',
+                    key: 'abc',
+                    render:(text,record,index)=>{
+                    	return (
+                    	    <Popconfirm title={'您确认将订单 【'+this.state.uname+'】 分配给【'+record.departmentName+'-'+record.name+'】?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
+							    <Button style={{marginRight:'5px'}} type="primary">选定</Button>                 
+							</Popconfirm>
+							)
+                    }
+                }
+            ],
+            dataSource: [],
+        };
+    },
+    //转交
+    confirmDelet(index){
+    	this.setState({
+    		showDesc:false,
+    		taskIds:index.taskId,
+    		uname:index.commodityName,
+    		distributionVisible:true
+    	});
+    	this.departmentList()
+    },
+    distributionCancel(){
+    	this.setState({
+    		distributionVisible:false
+    	})
+    },
+    //分配对象列表
+    contactList(){
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/superviser/adminList',
+            data: {
+                pageNo: 1,
+                pageSize: 99,
+                departmentId:this.state.departmenttList,
+                name:this.state.financeNameSearch,
+            },
+            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.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,
+                        });
+                    };
+                  
+                };
+                this.setState({
+                    distributionList: theArr,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    //选定对象
+    confirmSelect(record){
+    	this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/techproject/distributionTask",
+            data: {
+            	taskId:this.state.taskIds,
+            	taskReceiverId:record.id
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('分派成功!');
+                this.setState({
+                    loading: false,
+                });
+                this.distributionCancel();
+                this.loadData(this.state.pageNo);
+            } else {
+                message.warning(data.error[0].message);
+            };
+        }.bind(this));
+    },
+    //业务类型
+	businessList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + "/api/admin/order/getBusinessProjectCatalog",
+			data: {
+				
+			},
+			success: function(data) {
+				let thedata = data.data;
+				let theArr=[];
+				if(!thedata) {
+					if(data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					};
+					thedata = {};
+				}else{
+					thedata.map(function(item,index){
+						theArr.push({
+							key:index,
+							name:item.cname,
+							id:item.id,
+						})
+					})
+				}
+				this.setState({
+					businessArr:theArr,
+				})
+			}.bind(this),
+			}).always(function() {
+				this.setState({
+					loading: false
+				});
+			}.bind(this));
+	},
+    componentWillMount() {
+        this.loadData();
+        this.businessList()
+    },
+    //启动
+  	startUp(record){
+  		this.removeList(true,record)
+  	},
+  	//完成
+  	endUp(){
+  		this.removeList(false,record)
+  	},
+    removeList(state,record){
+		this.setState({
+			loading: true
+		});
+		let api=state?'/api/admin/techproject/startTask':'/api/admin/techproject//completeTask';
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + api,
+			data: {
+				taskId:record.taskId
+			}
+		}).done(function(data) {
+			this.setState({
+				loading: false
+			});
+			if(!data.error.length) {
+				message.success('操作成功!');
+				this.loadData(this.state.pageNo)
+			} else {
+				message.warning(data.error[0].message);
+			}
+		}.bind(this));
+	},
+    searchSwitch() {
+		this.setState({
+			searchMore: !this.state.searchMore
+		});
+	},
+    search() {
+        this.loadData();
+    },
+    tableRowClick(record, index) {
+        this.state.datauser = record;
+        this.setState({
+            showDesc: true
+        });
+    },
+    searchOrder(){
+    	this.contactList();
+    },
+    resetOrder(){
+    	this.state.departmenttList=undefined;
+    	this.state.financeNameSearch='';
+    	this.setState({
+    		distributionList:[]
+    	});
+    },
+    reset() {
+    	this.state.buyerNameSearch='';
+    	this.state.releaseDate[0] = undefined;
+		this.state.releaseDate[1] = undefined;
+		this.state.departmentt=undefined;
+		this.state.orderStatusSearch = undefined;
+		this.state.salesmanNameSearch = '';
+		this.state.orderNoSearch='';
+		this.state.deleteSignSearch=undefined;
+		this.state.categoryIdSearch=undefined;
+        this.loadData();       
+    },
+    render() {
+    	const FormItem = Form.Item;
+    	const formItemLayout = {
+			labelCol: { span: 8 },
+			wrapperCol: { span: 14 },
+		};
+		const { RangePicker } = DatePicker;
+        const rowSelection = {
+            selectedRowKeys: this.state.selectedRowKeys,
+            onChange: (selectedRowKeys, selectedRows) => {
+	                this.setState({
+	                    selectedRows: selectedRows.slice(-1),
+	                    selectedRowKeys: selectedRowKeys.slice(-1)
+	                }); 
+            },
+            onSelectAll: (selected, selectedRows, changeRows) => {
+			   this.setState({
+			   		selectedRowKeys:[]
+			   })
+			},
+        };
+        const hasSelected = this.state.selectedRowKeys.length > 0;
+        let departmentArr = this.state.departmentArr || [];
+        let businessArr = this.state.businessArr || []
+        return (
+            <div className="user-content" >
+                <div className="content-title">
+                	<span style={{fontSize:'16px'}}>项目任务管理</span>	
+	                <div className="user-search">
+	                    <Input placeholder="客户名称" style={{width:'150px'}}
+	                        value={this.state.buyerNameSearch}
+	                        onChange={(e) => { this.setState({ buyerNameSearch: e.target.value }); }} />
+	                    <RangePicker
+		                        value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
+		                        this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null]}
+		                        onChange={(data, dataString) => { this.setState({ releaseDate: dataString }); }} /> 
+	                    <Button type="primary" onClick={this.search} style={{marginLeft:'10px'}}>搜索</Button>
+	                    <Button onClick={this.reset}>重置</Button>
+	                    <span style={{marginLeft:'10px',marginRight:'20px'}}>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>    
+	                </div>
+	                <div className='clearfix' style={{marginTop:'5px'}}>
+	                  <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}> 
+	                        <Select placeholder="任务状态"
+	                            style={{ width: 150 ,marginRight:'10px'}}
+	                            value={this.state.orderStatusSearch}
+	                            onChange={(e) => { this.setState({ orderStatusSearch: e }) }}>
+	                            {
+                                    taskStatus.map(function (item) {
+                                            return <Select.Option key={item.value} >{item.key}</Select.Option>
+                                    })
+                                }
+	                        </Select>
+	                        <Select placeholder="是否锁定"
+	                            style={{ width: 150 ,marginRight:'10px'}}
+	                            value={this.state.deleteSignSearch}
+	                            onChange={(e) => { this.setState({ deleteSignSearch: e }) }}>
+	                            <Select.Option value='0'>未锁定</Select.Option>
+	                            <Select.Option value='2'>锁定</Select.Option>
+	                        </Select>
+	                        <Select placeholder="业务类别"
+	                            style={{ width: 150 ,marginRight:'10px'}}
+	                            value={this.state.categoryIdSearch}
+	                            onChange={(e) => { this.setState({ categoryIdSearch: e }) }}>
+	                            {
+                                    businessArr.map(function (item) {
+                                            return <Select.Option key={item.id} >{item.name}</Select.Option>
+                                    })
+                                }
+	                        </Select>
+	                        <Input placeholder="项目编号" style={{width:'150px',margin:'10px'}}
+		                        value={this.state.orderNoSearch}
+		                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
+	                        <Input placeholder="任务名称" style={{width:'150px',margin:'10px'}}
+		                        value={this.state.salesmanNameSearch}
+		                        onChange={(e) => { this.setState({ salesmanNameSearch: e.target.value }); }} />
+	                    </div>
+	                </div>
+	                <div className="patent-table">
+	                    <Spin spinning={this.state.loading}>
+	                        <Table columns={this.state.columns}
+	                            dataSource={this.state.dataSource}
+	                            rowSelection={rowSelection}
+	                            pagination={this.state.pagination}
+	                            onRowClick={this.tableRowClick}
+	                            />
+	                    </Spin>
+	                </div>
+	                <MySettlementDetaile
+	                    datauser={this.state.datauser}
+	                    showDesc={this.state.showDesc}
+	                     />
+	            </div >
+			        <Modal maskClosable={false} visible={this.state.distributionVisible}
+                        onOk={this.distributionCancel} onCancel={this.distributionCancel}
+                        width='800px'
+                        title='派单'                     
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
+			                <Spin spinning={this.state.loading}>
+			                	<div>
+			                		<Select placeholder="订单部门"
+				                            style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
+				                            value={this.state.departmenttList}
+				                            onChange={(e) => { this.setState({ departmenttList: e }) }}>
+				                            {
+			                                    departmentArr.map(function (item) {
+			                                            return <Select.Option key={item.id} >{item.name}</Select.Option>
+			                                    })
+			                                }
+				                    </Select>
+				                    <Input placeholder="任务负责人" style={{width:'150px',marginLeft:'10px'}}
+				                        value={this.state.financeNameSearch}
+				                        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>
+			                	 <div className="patent-table" style={{marginTop:'10px'}}>
+				                    <Spin spinning={this.state.loading}>
+				                        <Table columns={this.state.userList}
+				                            dataSource={this.state.distributionList}
+				                            pagination={false}
+				                             />
+				                    </Spin>
+				                </div>
+			                </Spin>
+			            </Form>
+			    </Modal>
+            </div>
+        );
+    }
+}));
+
+export default TaskManagement;
+

+ 143 - 0
js/component/manageCenter/servicesManage/projectOrder/taskManagement/projectManageDetaile.jsx

@@ -0,0 +1,143 @@
+import React from 'react';
+import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,Popconfirm,AutoComplete} 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} from '../../../../tools.js';
+
+const MySettlementDetaile = Form.create()(React.createClass({
+	getInitialState() {
+		return {
+			loading: false,
+			visible: false,
+            //派单
+		};
+	},
+	//查看基本详情基本信息
+    loaduser(record){
+    	if(record){
+	    	$.ajax({
+	            method: "get",
+				dataType: "json",
+				crossDomain: false,
+				url: globalConfig.context + '/api/admin/techproject/getProjectTaskDetail',
+	            data: {
+	              taskId: record.taskId
+	            },
+	            success: function (data) {
+	                let thisData = data.data;                
+	                if (!thisData) {
+	                    if (data.error && data.error.length) {
+	                        message.warning(data.error[0].message);
+	                    };
+	                    thisData = {};
+	                };
+	                this.setState({
+						orderList:thisData,
+	                });                  
+	            }.bind(this),
+	       }).always(function () {
+	            this.setState({            	
+	                loading: false
+	            });
+	        }.bind(this));  
+	    }
+    },
+	componentWillMount() {
+		
+	},
+	componentWillReceiveProps(nextProps) { //props改变时触发
+		this.state.visible = nextProps.showDesc;
+		if(nextProps.showDesc) {
+				this.loaduser(nextProps.datauser);
+		}
+	},
+	handleCancel(){
+		this.setState({
+			visible:false
+		})
+	},
+	render() {
+		const FormItem = Form.Item
+		const formItemLayout = {
+			labelCol: { span: 8 },
+			wrapperCol: { span: 14 },
+		};
+		const orderDetaiel=this.state.orderList || [];
+		return(
+			<div>
+            <Modal maskClosable={false} visible={this.state.visible}
+                    onOk={this.handleCancel} onCancel={this.handleCancel}
+                    width='1000px'
+                    title='查看任务'                   
+                    footer=''
+                    className="admin-desc-content">
+		            <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} >
+		                <Spin spinning={this.state.loading}>
+		                    <div className="clearfix">
+		                   			 <FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="客户名称" >
+			                    			<span>{orderDetaiel.buyerName}</span>
+			                    	</FormItem>
+		                        	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="项目编号" >
+			                    			<span>{orderDetaiel.projectNo}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="任务编号" >
+			                    			<span>{orderDetaiel.taskNo}</span>
+			                    	</FormItem>
+			                    	
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="服务项目名称" >
+			                    			<span>{orderDetaiel.commodityName}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="任务状态" >
+					                    	<span>{getTaskStatus(orderDetaiel.taskStatus)}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="是否锁定" >
+					                    	<span>{orderDetaiel.deletedSign==2?'锁定':'未锁定'}</span>
+			                    	</FormItem>
+			                    	<div className='clearfix'>
+								        <FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="任务说明" >
+					                    	<span>{orderDetaiel.taskComment}</span>
+				                    	</FormItem>
+							        </div>
+							        <div className='clearfix'>
+							        	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="派单人" >
+					                    	<span>{orderDetaiel.taskAllocatorName}</span>
+				                    	</FormItem>
+				                    	<FormItem className="half-item"
+					                            {...formItemLayout}
+					                            label="派单时间" >
+						                    	<span>{orderDetaiel.taskDistributionTime}</span>
+				                    	</FormItem>
+				                    	<FormItem className="half-item"
+					                            {...formItemLayout}
+					                            label="资料负责人" >
+						                    	<span>{orderDetaiel.taskReceiverName}</span>
+				                    	</FormItem>
+							        </div>
+		                        </div>
+		                </Spin>
+		            </Form >
+		        </Modal>
+    	    </div>
+		)
+	}
+}));
+
+export default MySettlementDetaile;