liting2017 7 years ago
parent
commit
04a574f1a2

+ 178 - 49
js/component/manageCenter/order/settlementOrder/mySettlement/mySettlement.jsx

@@ -199,12 +199,49 @@ const MySettlement=Form.create()(React.createClass({
                     key: 'salesmanName',
                 },
                 {
-                	title: '测试用操作',
+                	title: '操作',
                     dataIndex: 'zhifu',
                     key: 'zhifu',
                     render:(text,record)=>{
-						return 	<Button onClick={(e) =>{ e.stopPropagation(),this.paymentMoney(record)}} type="primary">支付</Button>            
-                    	
+						return 	<div>
+									<Button onClick={(e) =>{ e.stopPropagation(),this.paymentMoney(record)}} type="primary">支付</Button>
+							    	<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} type="primary">转交</Button>               
+								</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.orderNot+'】 转交给【'+record.departmentName+'-'+record.name+'】进行业务跟进?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
+							    <Button style={{marginRight:'5px'}} type="primary">转交</Button>                 
+							</Popconfirm>
+							)
                     }
                 }
             ],
@@ -258,47 +295,6 @@ const MySettlement=Form.create()(React.createClass({
             };
         }.bind(this));
     },
-    //操作分配
-    confirmDelet(index){
-    	this.setState({
-    		userDetaile:false,
-    	});
-    	this.contactList(1,index.id)
-    },
-    //驳回
-    reject(record){
-    	let api ='api/bohui'
-    	this.confirmSelect(api,record)
-    },
-    //确认
-    confirm(record){
-    	let api='api/quren'
-    	this.confirmSelect(api,record)
-    },
-    confirmSelect(api,record){
-    	this.setState({
-            loading: true
-        });
-        $.ajax({
-            method: "POST",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context + api,
-            data: {
-            	id:record.id,
-            }
-        }).done(function (data) {
-            if (!data.error.length) {
-                message.success('操作成功');
-                this.setState({
-                    loading: false,
-                });
-            } else {
-                message.warning(data.error[0].message);
-            };
-            this.loadData();
-        }.bind(this));
-    },
     componentWillMount() {
         this.departmentList();
     },
@@ -330,7 +326,102 @@ const MySettlement=Form.create()(React.createClass({
     },
     //分配时重置
     resetOrder() {
-        this.contactList();
+    	this.setState({
+    		departmenttList:undefined,
+    		financeNameSearch:''
+    	})
+    },
+    //操作分配
+    confirmDelet(index){
+    	this.setState({
+    		orderNot:index.orderNo,
+    		userDetaile:false,
+    		distributionVisible:true
+    	});
+    },
+    distributionCancel(){
+    	this.setState({
+    		distributionVisible:false
+    	})
+    },
+    distributionOk(){
+    	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/order/transferOrder",
+            data: {
+            	orderNo:this.state.orderNot,
+            	aid:record.id,
+            	targetType:1
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('转交成功!');
+                this.setState({
+                    loading: false,
+                });
+                this.distributionOk();
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.loadData(this.state.pageNo);
+        }.bind(this));
     },
     reset() {
     	this.state.buyerNameSearch='';
@@ -434,7 +525,7 @@ const MySettlement=Form.create()(React.createClass({
 	            </div >
 	            <Modal maskClosable={false} visible={this.state.paymentVisible}
                         onOk={this.paymentCancel} onCancel={this.paymentCancel}
-                        width='550px'
+                        width='600px'
                         title='支付详情'                     
                         footer=''
                         className="admin-desc-content">
@@ -442,16 +533,54 @@ const MySettlement=Form.create()(React.createClass({
 			                <Spin spinning={this.state.loading}>
 		                        <div className="clearfix">
 	                        	    <Form.Item className="half-middle"
+	                        	    	labelCol={{ span: 8 }}
+										wrapperCol={{ span: 14 }}
 			                            label="支付金额(万元)" >
-		                    			<Input value={this.state.payment} onChange={(e)=>{this.setState({payment:e.target.value})}} style={{width:'220px'}} />
+		                    			<Input value={this.state.payment} onChange={(e)=>{this.setState({payment:e.target.value})}} style={{width:'150px'}} />
 		                    			<span className="mandatory">*</span>
 			                    	</Form.Item>
-			                    	<Button type="primary" onClick={this.payment} style={{marginTop:'35px',marginRight:'10px'}}>支付</Button>
+			                    	<Button type="primary" onClick={this.payment} style={{marginRight:'20px',marginLeft:'210px'}}>支付</Button>
 			                    	<Button onClick={this.paymentCancel}>取消</Button>
 		                        </div>
 			                </Spin>
 			            </Form >
-			        </Modal>
+			    </Modal>
+			    <Modal maskClosable={false} visible={this.state.distributionVisible}
+                        onOk={this.distributionOk} 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>
         );
     }

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

@@ -35,7 +35,9 @@ const Content = React.createClass({
                             case 'myProject':
                                 return <ProjectOrder />;
                             case 'projectManage':
-                                return <ProjectManage />;
+                                return <ProjectManage queryProject={0}/>;
+                            case 'projectQuery': 
+                            	return <ProjectManage queryProject={1}/>;
                             case 'myTask':
                                 return <MyTask />;
                             case 'taskManagement':

+ 80 - 7
js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManage.jsx

@@ -33,6 +33,7 @@ const ProjectOrder=Form.create()(React.createClass({
                 financeLeaderSearch:this.state.financeLeaderSearch,//财务负责人
                 orderNo:this.state.orderNoSearch,//订单编号
                 deleteSign:this.state.deleteSignSearch,//锁定激活
+                serialNumber:this.state.serialNumberSearch //项目编号
             },
             success: function (data) {
                 let theArr = [];
@@ -57,6 +58,8 @@ const ProjectOrder=Form.create()(React.createClass({
 	                         orderStatus:thisdata.orderStatus,
 	                         liquidationStatus:thisdata.liquidationStatus,
 	                         approval:thisdata.approval,
+	                         buyerType:thisdata.buyerType,
+	                         salesmanName:thisdata.salesmanName
                         });
                     };
                     this.state.pagination.current = data.data.pageNo;
@@ -108,7 +111,7 @@ const ProjectOrder=Form.create()(React.createClass({
                 }
             },
             columns: [
-                {
+               {
                     title: '项目编号',
                     dataIndex: 'serialNumber',
                     key: 'serialNumber'
@@ -120,8 +123,12 @@ const ProjectOrder=Form.create()(React.createClass({
                     title: '客户名称',
                     dataIndex: 'buyerName',
                     key: 'buyerName'
-                },
-                {
+                },{
+                    title: '客户类型',
+                    dataIndex: 'buyerProvince',
+                    key: 'buyerProvince',
+                    render:(text)=>{return text?'单位客户':'个人客户'}
+                },{
                     title: '项目类型',
                     dataIndex: 'projectType',
                     key: 'projectType',
@@ -131,7 +138,7 @@ const ProjectOrder=Form.create()(React.createClass({
                     dataIndex: 'projectStatus',
                     key: 'projectStatus',
                     render:(text)=>{return getProjectState(text) }
-                }, {
+                },{
                     title: '订单编号',
                     dataIndex: 'orderNo',
                     key: 'orderNo',
@@ -145,6 +152,10 @@ const ProjectOrder=Form.create()(React.createClass({
                     key: 'orderStatus',
                     render:(text)=>{return getOrderState(text) }
                 },{
+                    title: '订单负责人',
+                    dataIndex: 'salesmanName',
+                    key: 'salesmanName',
+                },{
                     title: '结算状态',
                     dataIndex: 'liquidationStatus',
                     key: 'liquidationStatus',
@@ -171,6 +182,63 @@ const ProjectOrder=Form.create()(React.createClass({
                     }
                 }
             ],
+            queryColumns: [
+                {
+                    title: '项目编号',
+                    dataIndex: 'serialNumber',
+                    key: 'serialNumber'
+                },{
+                    title: '立项时间',
+                    dataIndex: 'signDate',
+                    key: 'signDate'
+                },{
+                    title: '客户名称',
+                    dataIndex: 'buyerName',
+                    key: 'buyerName'
+                },{
+                    title: '客户类型',
+                    dataIndex: 'buyerType',
+                    key: 'buyerType',
+                    render:(text)=>{return text?'单位客户':'个人客户'}
+                },{
+                    title: '项目类型',
+                    dataIndex: 'projectType',
+                    key: 'projectType',
+                    render:(text)=>{return getOrderType(text) }
+                },{
+                    title: '项目状态',
+                    dataIndex: 'projectStatus',
+                    key: 'projectStatus',
+                    render:(text)=>{return getProjectState(text) }
+                },{
+                    title: '订单编号',
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',
+                },{
+                    title: '下单时间',
+                    dataIndex: 'orderTime',
+                    key: 'orderTime',
+                },{
+                    title: '订单状态',
+                    dataIndex: 'orderStatus',
+                    key: 'orderStatus',
+                    render:(text)=>{return getOrderState(text) }
+                },{
+                    title: '订单负责人',
+                    dataIndex: 'salesmanName',
+                    key: 'salesmanName',
+                },{
+                    title: '结算状态',
+                    dataIndex: 'liquidationStatus',
+                    key: 'liquidationStatus',
+                    render:(text)=>{return getPaymentState(text) }
+                },{
+                    title: '是否特批',
+                    dataIndex: 'approval',
+                    key: 'approval',
+                     render:(text)=>{return getApprovedState(text) }
+                }
+            ],
             dataSource: [],
         };
     },
@@ -339,6 +407,7 @@ const ProjectOrder=Form.create()(React.createClass({
     },
     reset() {
     	this.state.buyerNameSearch='';
+    	this.state.serialNumberSearch='';
     	this.state.releaseDate[0] = undefined;
 		this.state.releaseDate[1] = undefined;
 		this.state.releaseDateOrder[0] = undefined;
@@ -376,7 +445,7 @@ const ProjectOrder=Form.create()(React.createClass({
         return (
             <div className="user-content" >
                 <div className="content-title">
-                	<span style={{fontSize:'16px'}}>项目管理</span>	
+                	<span style={{fontSize:'16px'}}>{this.props.queryProject?'项目查询':'项目管理'}</span>	
 	                <div className="user-search">
 	                    <Input placeholder="客户名称" style={{width:'150px'}}
 	                        value={this.state.buyerNameSearch}
@@ -389,13 +458,16 @@ const ProjectOrder=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>
+	                	{this.props.queryProject?'':<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' } : {}}> 
 	                        <Input placeholder="订单编号" style={{width:'150px',marginRight:'10px'}}
 		                        value={this.state.orderNoSearch}
 		                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
+		                    <Input placeholder="项目编号" style={{width:'150px',marginRight:'10px'}}
+		                        value={this.state.serialNumberSearch}
+		                        onChange={(e) => { this.setState({ serialNumberSearch: e.target.value }); }} />    
 	                        <Select placeholder="选择部门" style={{width:'150px'}}
 	                            value={this.state.departmentt}
 	                            onChange={(e) => { this.setState({ departmentt: e }) }}>
@@ -417,7 +489,7 @@ const ProjectOrder=Form.create()(React.createClass({
 	                </div>
 	                <div className="patent-table">
 	                    <Spin spinning={this.state.loading}>
-	                        <Table columns={this.state.columns}
+	                        <Table columns={this.props.queryProject?this.state.queryColumns:this.state.columns}
 	                            dataSource={this.state.dataSource}
 	                            rowSelection={rowSelection}
 	                            pagination={this.state.pagination}
@@ -426,6 +498,7 @@ const ProjectOrder=Form.create()(React.createClass({
 	                    </Spin>
 	                </div>
 	                <MySettlementDetaile
+	                    queryProject={this.props.queryProject}
 	                    departmentArr={this.state.departmentArr}
 	                	projectState={this.state.projectState}
 	                    newProject={this.state.newProject}

+ 8 - 2
js/component/manageCenter/servicesManage/projectOrder/projectManagement/projectManageDetaile.jsx

@@ -258,7 +258,8 @@ const MySettlementDetaile = Form.create()(React.createClass({
 			crossDomain: false,
 			url: globalConfig.context + '/api/admin/techproject/getProjectDetail',
             data: {
-              contractId: record.id
+              contractId: record.id,
+              buyerType:record.buyerType
             },
             success: function (data) {
                 let thisData = data.data;                
@@ -799,6 +800,11 @@ const MySettlementDetaile = Form.create()(React.createClass({
 		                    		</FormItem>
 		                    		<FormItem className="half-item"
 			                            {...formItemLayout}
+			                            label="客户省份" >  
+			                            <span>{orderDetaiel.buyerProvince}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
 			                            label="项目类型" >  
 			                            <span>{getOrderType(orderDetaiel.projectType)}</span>
 		                    		</FormItem>
@@ -855,7 +861,7 @@ const MySettlementDetaile = Form.create()(React.createClass({
 	                    		</div>
 				                <div>
 				                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目任务</span>
-				                	{orderDetaiel.projectStatus<3?<Button type='primary' onClick={this.addTask} style={{float:'right',marginRight:'100px'}}>添加任务</Button>:''}
+				                	{orderDetaiel.projectStatus<3&&!this.props.queryProject?<Button type='primary' onClick={this.addTask} style={{float:'right',marginRight:'100px'}}>添加任务</Button>:''}
 				                </div>
 				                <div className="patent-table">
 				                    <Spin spinning={this.state.loading}>