Sfoglia il codice sorgente

Merge branch 'master' of https://git.coding.net/aft/AFT-WEB

dengzhiguo 7 anni fa
parent
commit
c7d6ff3b7c

+ 1 - 4
js/component/dataDic.js

@@ -2059,12 +2059,9 @@ module.exports = {
 	        key: "已立项"
 	    },{
 	        value: "3",
-	        key: "进行中"
-	    },{
-	        value: "4",
 	        key: "已结项"
 	    }, {
-	        value: "5",
+	        value: "4",
 	        key: "已撤项"
 	    }
     ],

+ 13 - 106
js/component/manageCenter/order/departmentOrder/servicesOrder/addService.jsx

@@ -174,9 +174,6 @@ const NewService = Form.create()(React.createClass({
                     title: '平台流水号',
                     dataIndex: 'billNo',
                     key: 'billNo',
-                    render:(text)=>{
-                    	return text&&text.substr(0,9)+'…'
-                    }
                 }, {
                     title: '平台流水时间',
                     dataIndex: 'createTime',
@@ -507,69 +504,26 @@ const NewService = Form.create()(React.createClass({
 		})
 		this.setState({
 			commodityName:value,
+			gid:kid.id,
 			commodityPrice:kid.price==0?kid.price.toString():kid.price,
 			commodityFirstPayment:kid.firstPayment==0?kid.firstPayment.toString():kid.firstPayment
 		})
 	},
-	blurState(value){
-		let kid;
-		let fwList=this.state.customerArr;
-		fwList.map(function(item){
-			if(value==item.bname){
-				kid=item.id
-			}else{
-				kid=''
-			}
-		})
-		this.setState({
-			kid:kid,
-		})
-	},
-	//客户
-	selectAutoCUT(value,options){
-		this.setState({
-			customerName:value,
-		})
-	},
-	blurCutor(value){
-		let autoIds;
-		let fwList=this.state.customerArr;
-		fwList.map(function(item){
-			if(value==item.name){
-				autoIds=item.id
-			}else{
-				autoIds=''
-			}
-		})
-		this.setState({
-			autoId:autoIds
-		})
-	},
 	//服务值改变时请求客户名称
 	httpChange(e){
+		this.state.gid='';
 		if(e.length>=1){
 			this.supervisor(e,false); 
 		}	
 		this.setState({
-			kid:'',
 			commodityName:e
 		})
 	},
-	//客户名称自动补全
-	customerChange(e){
-		if(e.length>=1){
-			this.supervisor(e,true); 
-		}	
-		this.setState({
-			autoId:'',
-			customerName:e
-		})
-	},
 	//新建明细保存
 	nextSubmit(e) {
 		e.preventDefault();
-		if(this.state.kid==undefined||!this.state.kid){
-			message.warning('商品名称不匹配!');
+		if(this.state.gid==undefined||!this.state.gid){
+			message.warning('服务名称不匹配!');
 			return false;
 		};
 		if(!this.state.commodityPrice){
@@ -607,7 +561,7 @@ const NewService = Form.create()(React.createClass({
 			crossDomain: false,
 			url: globalConfig.context +api ,
 			data: {
-				commodityId:this.state.kid,
+				commodityId:this.state.gid,
 				orderNo:this.props.datauser.orderNo,
 				commodityName:this.state.commodityName,//商品名称
 				commodityMode:this.state.commodityMode,//商品规格
@@ -803,9 +757,9 @@ const NewService = Form.create()(React.createClass({
 		const orderDetaiel=this.state.orderList || []
 		const dataSources=this.state.customerArr || [];
         const options = this.state.states?dataSources.map((group,index) =>
-				      <Option key={index} value={group.name}>{group.name}</Option>
+				      <Select.Option key={index} value={group.name}>{group.name}</Select.Option>
 				     ):dataSources.map((group,index) =>
-				      <Option key={group.id} value={group.bname}>{group.bname}</Option>
+				      <Select.Option key={group.id} value={group.bname}>{group.bname}</Select.Option>
 				     )
 		    
 		return(
@@ -819,50 +773,8 @@ const NewService = Form.create()(React.createClass({
 			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
 			                <Spin spinning={this.state.loading}>
 			                        <div className="clearfix">
-			                            {!this.props.userDetaile?
-			                            <div className="clearfix">
+			                            {!this.props.userDetaile?<div></div>:
 			                            	<div className="clearfix">
-						                    	<FormItem 
-							                            {...formItemLayout}
-							                            label="订单类型" > 
-							                            <Select placeholder="请选择订单类型"
-								                            style={{ width:'200px'}}
-								                            value={this.state.orderType}
-								                            onChange={(e) => { this.setState({ orderType: e }) }}>
-								                            {
-							                                    orderType.map(function (item) {
-							                                            return <Select.Option key={item.value} >{item.key}</Select.Option>
-							                                    })
-							                                }
-								                        </Select>
-							                    		<span className="mandatory">*</span>
-							                    </FormItem>
-							                </div>
-							                <div className="clearfix">
-							                    <FormItem 
-							                            {...formItemLayout}
-							                            label="客户名称" >                             
-						                                    <AutoComplete
-													        className="certain-category-search"
-													        dropdownClassName="certain-category-search-dropdown"
-													        dropdownMatchSelectWidth={false}
-													        dropdownStyle={{ width: 200 }}
-													        size="large"
-													        style={{ width: '200px' }}
-													        dataSource={options}
-													        placeholder="输入名称"
-													        value={this.state.customerName}
-													        onChange={this.customerChange}
-													        filterOption={true}
-													        onBlur={this.blurCutor}
-													        onSelect={this.selectAutoCUT}
-													      >
-													        <Input/>
-													      </AutoComplete> 
-													      <span className="mandatory">*</span>
-							                    </FormItem>
-							                </div>    
-						                </div>:<div className="clearfix">
 						                       		<FormItem className="half-item"
 							                            {...formItemLayout}
 							                            label="订单编号" >
@@ -1064,10 +976,10 @@ const NewService = Form.create()(React.createClass({
 													    <Button style={{marginRight:'10px',marginLeft:'200px'}} type="danger">作废</Button>                 
 													</Popconfirm>}
 													{this.props.datauser.active.applyLock&&<Popconfirm title={'请确认您是否锁定客户【'+this.props.datauser.buyerName+'】的服务订单,订单锁定将导致订单暂停!'} onConfirm={(e)=>{this.lockOrder()}} okText="确认" cancelText="取消">
-													    <Button style={{marginRight:'10px'}} type="danger">锁定</Button>                 
+													    <Button style={{marginRight:'10px',marginLeft:'200px'}} type="danger">锁定</Button>                 
 													</Popconfirm>}
 													{this.props.datauser.active.applyUnLock&&<Popconfirm title={'请确认您是否解锁客户【'+this.props.datauser.buyerName+'】的服务订单,订单解锁将导致订单正常!'} onConfirm={(e)=>{this.unlockOrder()}} okText="确认" cancelText="取消">
-													    <Button style={{marginRight:'10px'}} type="primary">解锁</Button>                 
+													    <Button style={{marginRight:'10px',marginLeft:'200px'}} type="primary">解锁</Button>                 
 													</Popconfirm>}	
 				                                </div>:''}
 				                                <Button className="cancel" type="ghost" onClick={this.handleCancel} style={{float:'right',marginRight:'200px'}}>返回</Button>
@@ -1099,7 +1011,6 @@ const NewService = Form.create()(React.createClass({
 										        value={this.state.commodityName}
 										        onChange={this.httpChange}
 										        filterOption={true}
-										        onBlur={this.blurState}
 										        onSelect={this.selectAuto}
 										      >
 										        <Input/>
@@ -1109,9 +1020,7 @@ const NewService = Form.create()(React.createClass({
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="市场价格" >   
-				                                    <Input placeholder="输入市场价格" value={this.state.commodityPrice} style={{width:'200px'}}
-				                                    onChange={(e)=>{this.setState({commodityPrice:e.target.value})}} ref='commodityPrice'/>
-				                                <span className="mandatory">*</span>    
+				                                <span>{this.state.commodityPrice}</span>    
 					                    </FormItem>
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
@@ -1130,9 +1039,7 @@ const NewService = Form.create()(React.createClass({
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="市场首付金额" >   
-				                                    <Input placeholder="请输入市场首付金额" value={this.state.commodityFirstPayment} style={{width:'200px'}}
-				                                    onChange={(e)=>{this.setState({commodityFirstPayment:e.target.value})}} ref='commodityFirstPayment'/>
-				                                <span className="mandatory">*</span>    
+				                                <span>{this.state.commodityFirstPayment}</span>  
 					                    </FormItem>
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
@@ -1315,7 +1222,7 @@ const NewService = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">

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

@@ -276,7 +276,7 @@ const MyBill=Form.create()(React.createClass({
         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.draweeName}

+ 16 - 48
js/component/manageCenter/order/myOrder/servicesOrder/addService.jsx

@@ -174,9 +174,6 @@ const NewService = Form.create()(React.createClass({
                     title: '平台流水号',
                     dataIndex: 'billNo',
                     key: 'billNo',
-                    render:(text)=>{
-                    	return text&&text.substr(0,9)+'…'
-                    }
                 }, {
                     title: '平台流水时间',
                     dataIndex: 'createTime',
@@ -296,7 +293,6 @@ const NewService = Form.create()(React.createClass({
 	},
 	//查看基本详情基本信息
     loaduser(record){
-    	if(record){
     	this.state.orderList=[]
     	$.ajax({
             method: "get",
@@ -304,7 +300,7 @@ const NewService = Form.create()(React.createClass({
 			crossDomain: false,
 			url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
             data: {
-              orderNo: record.orderNo
+              orderNo:record?record.orderNo:this.props.datauser.orderNo
             },
             success: function (data) {
                 let thisData = data.data;                
@@ -334,7 +330,6 @@ const NewService = Form.create()(React.createClass({
                 loading: false
             });
         }.bind(this));  
-       }
     },
 	handleOk(e) {
 		this.setState({
@@ -367,15 +362,17 @@ const NewService = Form.create()(React.createClass({
                 this.setState({
                     loading: false,
                 });
+                this.loaduser()
+            	this.loadData();
             } else {
                 message.warning(data.error[0].message);
             };
-            this.loadData();
         }.bind(this));
     },
 	//添加明细
 	addDetailed(){
 		this.setState({
+			gid:'',
 			customerArr:[],
 			commodityName:'',
 			commodityId:'',
@@ -505,24 +502,11 @@ const NewService = Form.create()(React.createClass({
 		})
 		this.setState({
 			commodityName:value,
+			gid:kid.id,
 			commodityPrice:kid.price==0?kid.price.toString():kid.price,
 			commodityFirstPayment:kid.firstPayment==0?kid.firstPayment.toString():kid.firstPayment
 		})
 	},
-	blurState(value){
-		let kid;
-		let fwList=this.state.customerArr;
-		fwList.map(function(item){
-			if(value==item.bname){
-				kid=item.id
-			}else{
-				kid=''
-			}
-		})
-		this.setState({
-			kid:kid,
-		})
-	},
 	//客户
 	selectAutoCUT(value,options){
 		this.setState({
@@ -545,11 +529,11 @@ const NewService = Form.create()(React.createClass({
 	},
 	//服务值改变时请求客户名称
 	httpChange(e){
+		this.state.gid='';
 		if(e.length>=1){
 			this.supervisor(e,false); 
 		}	
 		this.setState({
-			kid:'',
 			commodityName:e
 		})
 	},
@@ -566,8 +550,8 @@ const NewService = Form.create()(React.createClass({
 	//新建明细保存
 	nextSubmit(e) {
 		e.preventDefault();
-		if(this.state.kid==undefined||!this.state.kid){
-			message.warning('商品名称不匹配!');
+		if(this.state.gid==undefined||!this.state.gid){
+			message.warning('服务名称不匹配!');
 			return false;
 		};
 		if(!this.state.commodityPrice){
@@ -605,7 +589,7 @@ const NewService = Form.create()(React.createClass({
 			crossDomain: false,
 			url: globalConfig.context +api ,
 			data: {
-				commodityId:this.state.kid,
+				commodityId:this.state.gid,
 				orderNo:this.props.datauser.orderNo,
 				commodityName:this.state.commodityName,//商品名称
 				commodityMode:this.state.commodityMode,//商品规格
@@ -852,9 +836,9 @@ const NewService = Form.create()(React.createClass({
 		const orderDetaiel=this.state.orderList || []
 		const dataSources=this.state.customerArr || [];
         const options = this.state.states?dataSources.map((group,index) =>
-				      <Option key={index} value={group.name}>{group.name}</Option>
+				      <Select.Option key={index} value={group.name}>{group.name}</Select.Option>
 				     ):dataSources.map((group,index) =>
-				      <Option key={group.id} value={group.bname}>{group.bname}</Option>
+				      <Select.Option key={group.id} value={group.bname}>{group.bname}</Select.Option>
 				     )
 		    
 		return(
@@ -1113,10 +1097,10 @@ const NewService = Form.create()(React.createClass({
 													    <Button style={{marginRight:'10px',marginLeft:'200px'}} type="danger">作废</Button>                 
 													</Popconfirm>}
 													{this.props.datauser.active.applyLock&&<Popconfirm title={'请确认您是否锁定客户【'+this.props.datauser.buyerName+'】的服务订单,订单锁定将导致订单暂停!'} onConfirm={(e)=>{this.lockOrder()}} okText="确认" cancelText="取消">
-													    <Button style={{marginRight:'10px'}} type="danger">锁定</Button>                 
+													    <Button style={{marginRight:'10px',marginLeft:'200px'}} type="danger">锁定</Button>                 
 													</Popconfirm>}
 													{this.props.datauser.active.applyUnLock&&<Popconfirm title={'请确认您是否解锁客户【'+this.props.datauser.buyerName+'】的服务订单,订单解锁将导致订单正常!'} onConfirm={(e)=>{this.unlockOrder()}} okText="确认" cancelText="取消">
-													    <Button style={{marginRight:'10px'}} type="primary">解锁</Button>                 
+													    <Button style={{marginRight:'10px',marginLeft:'200px'}} type="primary">解锁</Button>                 
 													</Popconfirm>}	
 				                                </div>:''}
 				                                <Button className="cancel" type="ghost" onClick={this.handleCancel} style={{float:'right',marginRight:'200px'}}>返回</Button>
@@ -1148,7 +1132,6 @@ const NewService = Form.create()(React.createClass({
 										        value={this.state.commodityName}
 										        onChange={this.httpChange}
 										        filterOption={true}
-										        onBlur={this.blurState}
 										        onSelect={this.selectAuto}
 										      >
 										        <Input/>
@@ -1158,9 +1141,7 @@ const NewService = Form.create()(React.createClass({
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="市场价格" >   
-				                                    <Input placeholder="输入市场价格" value={this.state.commodityPrice} style={{width:'200px'}}
-				                                    onChange={(e)=>{this.setState({commodityPrice:e.target.value})}} ref='commodityPrice'/>
-				                                <span className="mandatory">*</span>    
+				                                <span>{this.state.commodityPrice}</span>    
 					                    </FormItem>
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
@@ -1179,9 +1160,7 @@ const NewService = Form.create()(React.createClass({
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="市场首付金额" >   
-				                                    <Input placeholder="请输入市场首付金额" value={this.state.commodityFirstPayment} style={{width:'200px'}}
-				                                    onChange={(e)=>{this.setState({commodityFirstPayment:e.target.value})}} ref='commodityFirstPayment'/>
-				                                <span className="mandatory">*</span>    
+				                                <span>{this.state.commodityFirstPayment}</span>    
 					                    </FormItem>
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
@@ -1190,12 +1169,6 @@ const NewService = Form.create()(React.createClass({
 				                                    onChange={(e)=>{this.setState({discountFirstPayment:e.target.value})}} ref='discountFirstPayment'/>
 				                                <span className="mandatory">*</span>    
 					                    </FormItem>
-					                    <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label="商品规格" >   
-				                                    <Input placeholder="请输入实签价格" value={this.state.commodityMode} style={{width:'200px'}}
-				                                    onChange={(e)=>{this.setState({commodityMode:e.target.value})}} />
-					                    </FormItem>
 					                    <div className='clearfix'>
 						                    <FormItem 
 						                            labelCol={{ span: 4 }}
@@ -1231,11 +1204,6 @@ const NewService = Form.create()(React.createClass({
 					                            label="服务数量" >
 				                    			<span>{editFws.commodityQuantity}</span>
 				                    	</FormItem>
-				                    	 <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label="商品规格" >   
-				                                <span>{editFws.commodityMode}</span>    
-					                    </FormItem>
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="市场首付金额" >   
@@ -1363,7 +1331,7 @@ const NewService = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                    
                         footer=''
                         className="admin-desc-content">

+ 1 - 4
js/component/manageCenter/order/orderManagement/approveOrder/approveOrderDetaile.jsx

@@ -158,9 +158,6 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
                     title: '平台流水号',
                     dataIndex: 'billNo',
                     key: 'billNo',
-                    render:(text)=>{
-                    	return text&&text.substr(0,9)+'…'
-                    }
                 }, {
                     title: '平台流水时间',
                     dataIndex: 'createTime',
@@ -573,7 +570,7 @@ const ApproveOrderDetaile = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">

+ 1 - 4
js/component/manageCenter/order/orderManagement/publicOrder/publicOrderDetaile.jsx

@@ -157,9 +157,6 @@ const ApproveDetaile = Form.create()(React.createClass({
                     title: '平台流水号',
                     dataIndex: 'billNo',
                     key: 'billNo',
-                    render:(text)=>{
-                    	return text&&text.substr(0,9)+'…'
-                    }
                 }, {
                     title: '平台流水时间',
                     dataIndex: 'createTime',
@@ -572,7 +569,7 @@ const ApproveDetaile = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">

+ 46 - 31
js/component/manageCenter/order/settlementOrder/mySettlement/mySettlementDetaile.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({
     getInitialState() {
@@ -152,41 +152,56 @@ const MySettlementDetaile = Form.create()(React.createClass({
 					}
                 }
 			],
-			projectList:[
+			flowList:[
 				{
-                    title: '项目名称',
-                    dataIndex: 'commodityName',
-                    key: 'commodityName'
+                    title: '平台流水号',
+                    dataIndex: 'billNo',
+                    key: 'billNo',
                 }, {
-                    title: '项目类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
-                    render:(text)=>{
-                    	return (getOrderType(text))
-                    }
+                    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',
+                }
 			]
 		};
 	},
@@ -559,7 +574,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			        </Modal>
 			         <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">

+ 1 - 4
js/component/manageCenter/order/settlementOrder/settlementManage/managementDetaile.jsx

@@ -158,9 +158,6 @@ const ManagementDetaile = Form.create()(React.createClass({
                     title: '平台流水号',
                     dataIndex: 'billNo',
                     key: 'billNo',
-                    render:(text)=>{
-                    	return text&&text.substr(0,9)+'…'
-                    }
                 }, {
                     title: '平台流水时间',
                     dataIndex: 'createTime',
@@ -573,7 +570,7 @@ const ManagementDetaile = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">

+ 10 - 57
js/component/manageCenter/servicesManage/projectOrder/orderOrder/projectOrder.jsx

@@ -193,7 +193,6 @@ const ProjectOrder=Form.create()(React.createClass({
                     	return (
                     		<div >
 								{record.projectStage<2&&<Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation(),this.edit(record) }}>立项</Button>}                 
-								{record.projectStage>=2&&<Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation(),this.Knot(record)}}>结项</Button>}                 
 							</div>
 							)
                     }
@@ -209,70 +208,29 @@ const ProjectOrder=Form.create()(React.createClass({
     //立项
     edit(record) {
     	this.setState({
-    		KnotState:true,
+    		signComment:'',
+    		orderNo:record.orderNo,
+    		buyerName:record.buyerName,
     		signBillVisible:true
     	})
-    	this.editData(record,1)
-    },
-    //结项
-    Knot(record){
-    	this.setState({
-    		KnotState:false,
-    		signBillVisible:true
-    	})
-    	this.editData(record,0)
     },
+   
     noProject(){
     	this.setState({
     		signBillVisible:false
     	})
     },
-    //立项。结项前数据获取
-    editData(xhr,state){
-    	let api =state?'/api/admin/techproject/toSetUpProject':'api/jiexiang-shuju';
-    	$.ajax({
-			method: "get",
-			dataType: "json",
-			crossDomain: false,
-			url: globalConfig.context + api,
-			data: {
-				orderNo:xhr.orderNo,
-				buyerName:xhr.buyerName
-			},
-			success: function (data) {
-				let theData=data.data;
-                if (!data.data) {
-                    if (data.error && data.error.length) {
-                        message.warning(data.error[0].message);
-                    };
-                } else {
-                   this.setState({
-                   		uid:theData.id,
-                   		orderNo:theData.orderNo,
-                   		buyerName:theData.buyerName,
-                   		signDate:theData.signDate,
-                   		signComment:''
-                   })
-                };
-			}.bind(this)},
-    	).always(function () {
-            this.setState({
-                loading: false
-            });
-        }.bind(this));
-    },
     //立项、结项保存操作
 	projectSubmit(e){
 		e.preventDefault();
 		this.setState({
 			loading: true
 		});
-		let api=this.state.KnotState?'/api/admin/techproject/setUpProject':'/api/admin/jiexiang';
 		$.ajax({
 			method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context +api ,
+			url: globalConfig.context +'/api/admin/techproject/setUpProject' ,
 			data: {
 				orderNo:this.state.orderNo,
 				signDate:this.state.signDate,
@@ -283,7 +241,7 @@ const ProjectOrder=Form.create()(React.createClass({
 				loading: false
 			});
 			if(!data.error.length) {
-				message.success('操作成功!');
+				message.success('立项成功!');
 				this.noProject();
 				this.loadData(this.state.pageNo);			
 			} else {
@@ -402,7 +360,7 @@ const ProjectOrder=Form.create()(React.createClass({
 	            <Modal maskClosable={false} visible={this.state.signBillVisible}
                         onOk={this.noProject} onCancel={this.noProject}
                         width='800px'
-                        title={this.state.KnotState?'项目立项':'项目结项'}                   
+                        title='项目立项'                  
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" onSubmit={this.projectSubmit} id="demand-form">
@@ -410,7 +368,7 @@ const ProjectOrder=Form.create()(React.createClass({
 			                        <div className="clearfix">
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
-					                            label="项目编号" >   
+					                            label="订单编号" >   
 				                                   <span>{this.state.orderNo}</span>
 					                    </FormItem>
 					                    <FormItem className="half-item"
@@ -418,23 +376,18 @@ const ProjectOrder=Form.create()(React.createClass({
 					                            label="客户名称" >   
 				                                   <span>{this.state.buyerName}</span>
 					                    </FormItem>
-					                    <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label={this.state.KnotState?"立项时间":'结项时间'}>   
-				                                   <span>{this.state.signDate}</span>
-					                    </FormItem>
 						                <div className='clearfix'>
 								        	<FormItem
 									            labelCol={{ span: 4 }}
 									            wrapperCol={{ span: 16 }}
-									            label={this.state.KnotState?"立项说明":'结项说明'} >
+									            label="立项说明" >
 									                <Input type="textarea" placeholder="请输入备注" rows={4}  value={this.state.signComment} 
 										    				onChange={(e)=>{this.setState({signComment: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="primary" htmlType="submit">确定立项</Button>  
 			                        <Button className="submitSave" type="ghost" onClick={this.noProject}>返回</Button>
 			                    </FormItem> 
 			                </Spin>

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

@@ -105,9 +105,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
                     title: '平台流水号',
                     dataIndex: 'billNo',
                     key: 'billNo',
-                    render:(text)=>{
-                    	return text&&text.substr(0,9)+'…'
-                    }
                 }, {
                     title: '平台流水时间',
                     dataIndex: 'createTime',
@@ -520,7 +517,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			        </Modal>
 			        <Modal maskClosable={false} visible={this.state.lookVisible}
                         onOk={this.lookCancel} onCancel={this.lookCancel}
-                        width='1000px'
+                        width='1300px'
                         title= '查看流水'                   
                         footer=''
                         className="admin-desc-content">

+ 39 - 70
js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManage.jsx

@@ -132,16 +132,6 @@ const ProjectOrder=Form.create()(React.createClass({
                     key: 'projectStatus',
                     render:(text)=>{return getProjectState(text) }
                 }, {
-                    title: '锁定/作废',
-                    dataIndex: 'deleteSign',
-                    key: 'deleteSign',
-                    render:(text)=>{
-                    	return
-                    	   {text==0&&<span>正常</span>}
-                    	   {text==1&&<span>作废</span>}
-                    	   {text==2&&<span>锁定</span>}
-                    }
-                },{
                     title: '订单编号',
                     dataIndex: 'orderNo',
                     key: 'orderNo',
@@ -172,6 +162,7 @@ const ProjectOrder=Form.create()(React.createClass({
                     	return (
                     		<div>
 								{record.projectStatus==2||record.projectStatus==5?<Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation(),this.Knot(record)}}>项目管理</Button>:''}                
+								{record.projectStatus==2&&<Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation(),this.Knots(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>                 
 								</Popconfirm>:''}
@@ -183,6 +174,17 @@ const ProjectOrder=Form.create()(React.createClass({
             dataSource: [],
         };
     },
+     //结项
+    Knots(record){
+    	this.setState({
+    		contractId:record.id,
+    		serial:record.serialNumber,
+    		buyerName:record.buyerName,
+    		KnotState:false,
+    		signBillVisible:true
+    	})
+    	this.editData(record)
+    },
     //部门
 	departmentList() {
 		this.setState({
@@ -261,15 +263,6 @@ const ProjectOrder=Form.create()(React.createClass({
         this.loadData();
         this.departmentList()
     },
-    //立项
-    edit(record) {
-    	this.setState({
-    		newProject:false,
-    		Kid:record.id,
-    		signBillVisible:true
-    	})
-    	this.editData(record)
-    },
     //项目管理
     Knot(record){
     	this.state.userDetaile=true;
@@ -285,52 +278,40 @@ const ProjectOrder=Form.create()(React.createClass({
     		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));
+    closeDesc(e, s) {
+    	this.state.userDetaile=false;
+        this.state.showDesc = e;
+        if (s) {
+            this.loadData(this.state.pageNo);
+        };
+    },
+    noProject(){
+    	this.setState({
+    		signBillVisible:false
+    	})
     },
-    //立项、结项保存操作
-	projectSubmit(e){
+    //结项
+    projectSubmit(e){
 		e.preventDefault();
 		this.setState({
 			loading: true
 		});
-		let api=this.state.KnotState?'/api/admin/lixiang':'/api/admin/jiexiang';
 		$.ajax({
-			method: "POST",
+			method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context +api ,
+			url: globalConfig.context +'/api/admin/techproject/revokeOrComplete' ,
 			data: {
-				id:this.state.Kid,
+				contractId:this.state.contractId,
+				operatorType:1,
+				completeComment:this.state.signComment,
 			}
 		}).done(function(data) {
 			this.setState({
 				loading: false
 			});
 			if(!data.error.length) {
-				message.success('操作成功!');
+				message.success('结项成功!');
 				this.noProject();
 				this.loadData(this.state.pageNo);			
 			} else {
@@ -338,13 +319,6 @@ const ProjectOrder=Form.create()(React.createClass({
 			}
 		}.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,
@@ -476,10 +450,10 @@ const ProjectOrder=Form.create()(React.createClass({
 	                    showDesc={this.state.showDesc}
 	                    closeDesc={this.closeDesc} />
 	            </div >
-	            <Modal maskClosable={false} visible={this.state.signBillVisible}
+	             <Modal maskClosable={false} visible={this.state.signBillVisible}
                         onOk={this.noProject} onCancel={this.noProject}
                         width='800px'
-                        title='项目项'                  
+                        title='项目项'                  
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" onSubmit={this.projectSubmit} id="demand-form">
@@ -488,30 +462,25 @@ const ProjectOrder=Form.create()(React.createClass({
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="项目编号" >   
-				                                   <span></span>
+				                                   <span>{this.state.serial}</span>
 					                    </FormItem>
 					                    <FormItem className="half-item"
 					                            {...formItemLayout}
 					                            label="客户名称" >   
-				                                   <span></span>
-					                    </FormItem>
-					                    <FormItem className="half-item"
-					                            {...formItemLayout}
-					                            label="立项时间">   
-				                                   <span></span>
+				                                   <span>{this.state.buyerName}</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})}}/>			                      
+									            label="项说明" >
+									                <Input type="textarea" placeholder="请输入备注" rows={4}  value={this.state.signComment} 
+										    				onChange={(e)=>{this.setState({signComment: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="primary" htmlType="submit">确定结项</Button>  
 			                        <Button className="submitSave" type="ghost" onClick={this.noProject}>返回</Button>
 			                    </FormItem> 
 			                </Spin>

+ 15 - 34
js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManageDetaile.jsx

@@ -91,7 +91,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
                     key: 'taskComment',
                     render:(text) => {
                     	return(
-                    		 text?text.substr(0,8)+'...':''
+                    		 text&&text.length>6?text.substr(0,8)+'...':text
                     	)
                     }
                 },{
@@ -398,6 +398,10 @@ const MySettlementDetaile = Form.create()(React.createClass({
        		message.warning('请选择项目负责人');
        		return false;
        };
+       if(this.state.signComment&&this.state.signComment.length>45){
+       		message.warning('项目说明字数不能超过45字');
+       		return false;
+       };
 		this.setState({
 			loading: true
 		});
@@ -426,7 +430,6 @@ const MySettlementDetaile = Form.create()(React.createClass({
 	//派单
 	//操作分配
     confirmDelet(index){
-    	console.log(index)
     	this.setState({
     		taskIds:index.taskId,
     		userDetaile:false,
@@ -676,45 +679,24 @@ const MySettlementDetaile = Form.create()(React.createClass({
 		});
 	},
 	//任务项目各种骚操作
-	unlock(){ //解锁
-		this.removeList('1')
-	},
-	lock(){ //锁定
-		this.removeList('2')
-	},
 	removeItem(){ //撤项
-		this.removeList('3')
+		this.removeList(0)
 	},
 	Knot(){ //结项
-		this.removeList('4')
+		this.removeList(1)
 	},
 	removeList(e){
-		if(!e) return false;
 		this.setState({
 			loading: true
 		});
-		let api='';
-		switch (e){
-			case '1': //解锁
-			  api='/api/jiesuo' 
-			break;
-			case '2': //锁定
-			  api='/api/suoding'
-			break;
-			case '3': //撤项
-			  api='/api/chexiang'
-			break;
-			case '4': //结项
-			  api='/api/jiexiang'
-			break;
-		};
 		$.ajax({
-			method: "POST",
+			method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context + api,
+			url: globalConfig.context + '/api/admin/techproject/revokeOrComplete',
 			data: {
-				id:this.props.datauser.id
+				contractId:this.props.datauser.id,
+				operatorType:e
 			}
 		}).done(function(data) {
 			this.setState({
@@ -745,6 +727,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			}
 		}else{
 			this.setState({
+				customerArr:[],
 				customerName:'',
 				autoId:'',
 				signComment:'',
@@ -780,9 +763,9 @@ const MySettlementDetaile = Form.create()(React.createClass({
 		const dataSources=this.state.customerArr || [];
 		const orderArr=this.state.orderArr ||[];
         const options = this.state.states?dataSources.map((group,index) =>
-				      <Option key={index} value={group.name}>{group.name}</Option>
+				      <Select.Option key={index} value={group.name}>{group.name}</Select.Option>
 				     ):dataSources.map((group,index) =>
-				      <Option key={index} value={group.bname}>{group.bname}</Option>
+				      <Select.Option key={index} value={group.bname}>{group.bname}</Select.Option>
 				     )
 		return(
 			<div>
@@ -885,10 +868,8 @@ const MySettlementDetaile = Form.create()(React.createClass({
 					            {!this.props.projectState?<div>
 					            </div>:
 					            <div style={{marginTop:'30px',paddingLeft:'100px'}}>
-					            	<Button type="primary" onClick={this.removeItem}>撤项</Button>  
+					            	<Button type="danger" onClick={this.removeItem}>撤项</Button>  
 						            <Button type="primary" onClick={this.Knot} style={{margin:'15px'}}>结项</Button>
-						            <Button type="danger" onClick={this.lock}>锁定</Button>
-						            <Button type="primary" onClick={this.unlock} style={{margin:'15px'}}>解锁</Button>
 						            <Button type="ghost" onClick={this.handleCancel}>返回</Button>
 					            </div>}
 		                    </div>