Browse Source

修改个Bug

dengzhiguo 6 years ago
parent
commit
f3d2bb88f4

+ 18 - 2
js/component/dataDic.js

@@ -2432,7 +2432,10 @@ module.exports = {
 	    },{
 	        value: "6",
 	        key: "全部分配"
-	    }
+	    },{
+			value: "99",
+			key: "未知"
+		}
     ],
     //项目状态
     projectStatus:[
@@ -2444,7 +2447,7 @@ module.exports = {
 	        key: "项目已提交"
 	    },{
 	        value: "2",
-	        key: "项目评审"
+	        key: "项目评审(未通过)"
 	    },{
 	        value: "3",
 	        key: "项目立项(科技项目等)"
@@ -2500,6 +2503,17 @@ module.exports = {
 	        key: "材料已完成"
 	    }
     ],
+	//分配状态
+// 	processStatus:[
+// 		 {
+// 		    value: "3",
+// 		    key: "未分配"
+// 		},{
+// 		    value: "4",
+// 		    key: "已分配"
+// 		}
+// 	],
+	
     //退单状态
     refundStatus:[
         {
@@ -2642,4 +2656,6 @@ module.exports = {
             key: "特批"
         }
     ],
+	
+	
 };

+ 10 - 1
js/component/manageCenter/customer/content.jsx

@@ -175,7 +175,16 @@ class Content extends Component {
 			            component:<AdminCustomerStatistics ApiUrl={''}/>,	                    	                  
 			        });
 			    });
-			    break;	
+			    break;
+			//部门客户管理3
+// 			case 'adminCustomerStatistics3':
+// 				require.ensure([], () => {
+// 				    const AdminCustomerStatistics3 = require('./customerManagement/adminCustomerStatistics3').default;
+// 				    this.setState({
+// 				        component:<AdminCustomerStatistics3 ApiUrl={''}/>,	                    	                  
+// 				    });
+// 				});
+// 				break;
           	//单位客户管理
           	case 'organizationManage':
                 require.ensure([], () => {

+ 491 - 0
js/component/manageCenter/customer/customerManagement/adminCustomerStatistics.2.jsx

@@ -0,0 +1,491 @@
+"use strict";
+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, DatePicker, Modal, Upload, Popconfirm } from 'antd';
+import ManagementDetaile from "../../order/settlementOrder/settlementManage/managementDetaile.2.jsx";
+import moment from 'moment';
+import '../../order/userMangagement.less';
+import { orderState, orderChannel, orderType } from '../../../dataDic.js';
+import { getProjectState, getOrderChannel, getOrderType, getOrderState, getPaymentState, getApprovedState } from '../../../tools.js';
+
+const AdminCustomerStatistics = Form.create()(React.createClass({
+	loadData(pageNo) {
+		this.state.data = [];
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + '/api/admin/customer/selectAdminCustomerStatistics',
+			data: {
+				pageNo: pageNo || 1,
+				pageSize: this.state.pagination.pageSize,
+				buyerName: this.state.buyerNameSearch,
+				depId: this.state.departmenttSearch, //部门
+				salesmanName: this.state.salesmanNameSearch, //负责人
+				startTime: this.state.releaseDate[0],
+				endTime: this.state.releaseDate[1],
+				liquidationStatus: this.state.liquidationStatusSearch, //结算
+				orderStatus: this.state.orderStatusSearch,
+				orderChannel: this.state.orderChannelSearch,
+				financeName: this.state.financeNameSearchs,
+				orderType: this.state.orderTypeSearch,
+				orderNo: this.state.orderNoSearch,
+				isDistributionFinance: this.state.isDistributionFinance
+			},
+			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+1,
+							aid:thisdata.aid,		 
+							aName:thisdata.aName,		
+							depName:thisdata.depName,		
+							userCount:thisdata.userCount,			
+							timeCount:thisdata.timeCount,
+							
+// 							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,
+// 							active: thisdata.active,
+// 							departmentName: thisdata.departmentName,
+// 							salesmanName: thisdata.salesmanName,
+// 							financeName: thisdata.financeName,
+// 							technicianName: thisdata.technicianName,
+						});
+					};
+					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: [],
+					signBillVisible: false
+				});
+			}.bind(this),
+		}).always(function() {
+			this.setState({
+				loading: false
+			});
+		}.bind(this));
+	},
+	//部门
+	departmentList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "get",
+			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: [],
+			releaseDate: [],
+			selectedRows: [],
+			departmentArr: [],
+			searchMore: true,
+			loading: false,
+			distributionVisible: 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: 'id',
+				dataIndex: 'aid',
+				key: 'aid'
+			},{
+				title: '编号',
+				dataIndex: 'key',
+				key: 'key'
+			}, {
+				title: '营销员名称',
+				dataIndex: 'aName',
+				key: 'aName',
+			}, {
+				title: '部门名称',
+				dataIndex: 'depName',
+				key: 'depName',
+			}, {
+				title: '客户数',
+				dataIndex: 'userCount',
+				key: 'userCount',
+			}, {
+				title: '时间内客户数',
+				dataIndex: 'timeCount',
+				key: 'timeCount'
+ 			}],
+			columnsX: [{
+				title: '客户ID',
+				dataIndex: 'id',
+				key: 'id'
+			}, {
+				title: '客户名称',
+				dataIndex: 'name',
+				key: 'name'
+			}, {
+				title: '来源',
+				dataIndex: 'sourceName',
+				key: 'sourceName'
+			}, {
+				title: '联系人',
+				dataIndex: 'contacts',
+				key: 'contacts'
+			}, {
+				title: '联系人电话',
+				dataIndex: 'contactMobile',
+				key: 'contactMobile'
+			}, {
+				title: '创建时间',
+				dataIndex: 'createTime',
+				key: 'createTime',
+			}, {
+				title: '跟进时间',
+				dataIndex: 'followTime',
+				key: 'followTime',
+			}],
+			dataSource: [],
+		};
+	},
+	//操作分配
+	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/distributionOrder",
+			data: {
+				orderNo: this.state.orderNot,
+				financeId: record.id
+			}
+		}).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));
+	},
+	componentWillMount() {
+		this.departmentList();
+		this.loadData();
+	},
+	tableRowClick(record, index) {
+		this.state.RowData = record;
+		this.setState({
+		    visible: true,
+		});
+		this.xiangmu(record.aid);
+	},
+	xiangmu(aids) {
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context +"/api/admin/customer/selectAdminCustomerList",
+			data: {
+				aid:aids
+			},
+			success: function(data) {
+				let theArr = [];
+				
+				if(data.error.length || data.data.list == "") {
+					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,//订单编号
+	                         commodityId:thisdata.commodityId,//项目ID
+	                         commodityName:thisdata.commodityName,//项目名称
+	                         cname:thisdata.cname,//项目类别
+	                         commodityPrice:thisdata.commodityPrice,//项目价格
+	                         commodityQuantity:thisdata.commodityQuantity,//项目数量
+	                         main:thisdata.main,//是否为主要任务
+	                         taskComment:thisdata.taskComment,//任务说明
+	                         contacts:thisdata.contacts,//联系人
+	                         contactsMobile:thisdata.contactsMobile,//联系人电话
+	                         taskStatus:thisdata.taskStatus,//是否分配
+	                    });
+	                };
+				};
+				this.setState({
+	                dataSourceX: theArr,
+	            });
+			}.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);
+		};
+	},
+	searchSwitch() {
+		this.setState({
+			searchMore: !this.state.searchMore
+		});
+	},
+	search() {
+		this.loadData();
+	},
+	//分配时搜索
+	searchOrder() {
+		this.contactList();
+	},
+	//分配时重置
+	resetOrder() {
+		this.setState({
+			departmenttList: undefined,
+			financeNameSearch: ''
+		})
+	},
+	reset() {
+		this.state.buyerNameSearch = '';
+		this.state.financeNameSearchs = '';
+		this.state.orderNoSearch = '';
+		this.state.releaseDate[0] = undefined;
+		this.state.releaseDate[1] = undefined;
+		this.state.orderChannelSearch = undefined;
+		this.state.liquidationStatusSearch = undefined;
+		this.state.orderStatusSearch = undefined;
+		this.state.salesmanNameSearch = undefined;
+		this.state.departmenttSearch = undefined;
+		this.state.approved = undefined;
+		this.state.orderChannelSearch = undefined;
+		this.state.orderTypeSearch = undefined;
+		this.state.isDistributionFinance = undefined;
+		this.loadData();
+	},
+	render() {
+		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: []
+				})
+			},
+		};
+		let departmentArr = this.state.departmentArr || [];
+		const hasSelected = this.state.selectedRowKeys.length > 0;
+		const {
+			RangePicker
+		} = DatePicker;
+		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 }); }} /> 
+		                <Select placeholder="订单部门"
+	                            style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
+	                            value={this.state.departmenttSearch}
+	                            onChange={(e) => { this.setState({ departmenttSearch: e }) }}>
+	                            {
+                                    departmentArr.map(function (item) {
+                                            return <Select.Option key={item.id} >{item.name}</Select.Option>
+                                    })
+                                }
+	                    </Select>
+	                    <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="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>}
+	                {<div>
+						<Modal maskClosable={false} visible={this.state.visible}
+                        onOk={this.handleOk} onCancel={this.handleCancel}
+                        width='1000px'
+                        title='订单详情'                     
+                        footer=''
+                        className="admin-desc-content">
+						<div className="patent-table">
+								<Spin spinning={this.state.loading}>
+									<Table columns={this.state.columnsX}
+									dataSource={this.state.dataSourceX}
+									pagination={this.state.paginations}
+									onRowClick={this.tableRowClickX} />
+								</Spin>
+							</div>
+						</Modal>
+					</div>}
+	            </div >
+            </div>
+		);
+	}
+}));
+
+export default AdminCustomerStatistics;

+ 98 - 195
js/component/manageCenter/customer/customerManagement/adminCustomerStatistics.jsx

@@ -53,25 +53,6 @@ const AdminCustomerStatistics = Form.create()(React.createClass({
 							depName:thisdata.depName,		
 							userCount:thisdata.userCount,			
 							timeCount:thisdata.timeCount,
-							
-// 							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,
-// 							active: thisdata.active,
-// 							departmentName: thisdata.departmentName,
-// 							salesmanName: thisdata.salesmanName,
-// 							financeName: thisdata.financeName,
-// 							technicianName: thisdata.technicianName,
 						});
 					};
 					this.state.pagination.current = data.data.pageNo;
@@ -160,6 +141,10 @@ const AdminCustomerStatistics = Form.create()(React.createClass({
 				}
 			},
 			columns: [{
+				title: 'id',
+				dataIndex: 'aid',
+				key: 'aid'
+			},{
 				title: '编号',
 				dataIndex: 'key',
 				key: 'key'
@@ -167,114 +152,50 @@ const AdminCustomerStatistics = Form.create()(React.createClass({
 				title: '营销员名称',
 				dataIndex: 'aName',
 				key: 'aName',
-// 				render: text => {
-// 					return getOrderType(text)
-// 				}
 			}, {
 				title: '部门名称',
 				dataIndex: 'depName',
 				key: 'depName',
-// 				render: (text) => {
-// 					return(text && text.length > 9 ? text.substr(0, 9) + '...' : text)
-// 				}
 			}, {
 				title: '客户数',
 				dataIndex: 'userCount',
 				key: 'userCount',
-// 				render: (text) => {
-// 					return(text && text.length > 9 ? text.substr(0, 9) + '...' : text)
-// 				}
 			}, {
 				title: '时间内客户数',
 				dataIndex: 'timeCount',
 				key: 'timeCount'
-// 			}, {
-// 				title: '订单状态',
-// 				dataIndex: 'orderStatus',
-// 				key: 'orderStatus',
-// 				render: (text) => {
-// 					return getOrderState(text)
-// 				}
-// 			}, {
-// 				title: '结算状态',
-// 				dataIndex: 'liquidationStatus',
-// 				key: 'liquidationStatus',
-// 				render: text => {
-// 					return getPaymentState(text)
-// 				}
-// 			}, {
-// 				title: '项目状态',
-// 				dataIndex: 'projectStage',
-// 				key: 'projectStage',
-// 				render: text => {
-// 					return getProjectState(text)
-// 				}
-// 			}, {
-// 				title: '是否特批',
-// 				dataIndex: 'approval',
-// 				key: 'approval',
-// 				render: text => {
-// 					return getApprovedState(text)
-// 				}
-// 			}, {
-// 				title: '订单部门',
-// 				dataIndex: 'departmentName',
-// 				key: 'departmentName',
-// 			}, {
-// 				title: '订单负责人',
-// 				dataIndex: 'salesmanName',
-// 				key: 'salesmanName',
-// 			}, {
-// 				title: '财务负责人',
-// 				dataIndex: 'financeName',
-// 				key: 'financeName',
-// 			}, {
-// 				title: '项目负责人',
-// 				dataIndex: 'technicianName',
-// 				key: 'technicianName',
-// 			}, {
-// 				title: '操作',
-// 				dataIndex: 'operation',
-// 				key: 'operation',
-// 				render: (text, record, index) => {
-// 					return <div>
-// 							    	{!record.financeName&&<Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} type="primary">派单</Button>}                
-//                         	 </div>
-// 				}
  			}],
-			userList: [{
-				title: '用户编号',
-				dataIndex: 'userNo',
-				key: 'userNo'
+			dataSource: [],
+			columnsX: [{
+				title: '客户ID',
+				dataIndex: 'id',
+				key: 'id'
 			}, {
-				title: '用户姓名',
+				title: '客户名称',
 				dataIndex: 'name',
 				key: 'name'
 			}, {
-				title: '部门机构',
-				dataIndex: 'departmentName',
-				key: 'departmentName'
+				title: '来源',
+				dataIndex: 'sourceName',
+				key: 'sourceName'
 			}, {
-				title: '职务',
-				dataIndex: 'position',
-				key: 'position'
+				title: '联系人',
+				dataIndex: 'contacts',
+				key: 'contacts'
 			}, {
-				title: '联系手机',
-				dataIndex: 'mobile',
-				key: 'mobile'
+				title: '联系人电话',
+				dataIndex: 'contactMobile',
+				key: 'contactMobile'
 			}, {
-				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>
-					)
-				}
+				title: '创建时间',
+				dataIndex: 'createTime',
+				key: 'createTime',
+			}, {
+				title: '跟进时间',
+				dataIndex: 'followTime',
+				key: 'followTime',
 			}],
-			dataSource: [],
+			dataSourceX: [],
 		};
 	},
 	//操作分配
@@ -373,11 +294,63 @@ const AdminCustomerStatistics = Form.create()(React.createClass({
 		this.loadData();
 	},
 	tableRowClick(record, index) {
-		this.state.userDetaile = true;
-		this.state.datauser = record;
+		 this.state.RowData = record;
 		this.setState({
-			showDesc: true
+		    visible: true,
 		});
+		this.xiangmu(record.aid);
+	},
+	xiangmu(aids) {
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context +"/api/admin/customer/selectAdminCustomerList",
+			data: {
+				aid:aids,
+			},
+			success: function(data) {
+				let theArr = [];
+				
+				if(data.error.length || data.data.list == "") {
+					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,
+	                         name:thisdata.name,//订单编号
+	                         sourceName:thisdata.sourceName,//项目ID
+	                         contacts:thisdata.contacts,//项目名称
+	                         contactMobile:thisdata.contactMobile,//项目类别
+	                         createTime:thisdata.createTime,//项目价格
+	                         followTime:thisdata.followTime,//项目数量
+							 source:thisdata.source
+	                    });
+	                };
+				};
+				this.setState({
+	                dataSourceX: theArr,
+	            });
+			}.bind(this),
+		}).always(function() {
+			this.setState({
+				loading: false
+			});
+		}.bind(this));
+	},
+	visitCancel(e){
+		this.setState({
+			visible:false
+		})
+	},
+	visitOk(e){
+		this.setState({
+			visible:false
+		})
 	},
 	closeDesc(e, s) {
 		this.state.userDetaile = false;
@@ -465,54 +438,13 @@ const AdminCustomerStatistics = Form.create()(React.createClass({
                                     })
                                 }
 	                    </Select>
-	                    {/*<Input placeholder="订单负责人" style={{width:'150px'}}
-	                        value={this.state.salesmanNameSearch}
-	                        onChange={(e) => { this.setState({ salesmanNameSearch: e.target.value }); }} />
-	                    <Input placeholder="财务负责人" style={{width:'150px'}}
-	                        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>
 						*/}    
 	                </div>
-	                {/*<div className='clearfix' style={{marginTop:'5px'}}>
-	                  <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>                    			                  
-	                        <Input placeholder="订单编号" style={{width:'150px'}}
-	                        	value={this.state.orderNoSearch}
-	                        	onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
-	                        <Select placeholder="订单类型"
-	                            style={{ width: 150 }}
-	                            value={this.state.orderTypeSearch}
-	                            onChange={(e) => { this.setState({ orderTypeSearch: e }) }}>
-	                            {
-                                    orderType.map(function (item) {
-                                            return <Select.Option key={item.value} >{item.key}</Select.Option>
-                                    })
-                                }
-	                        </Select>
-	                        
-	                        <Select placeholder="订单状态"
-	                            style={{ width: 150 ,margin:'10px'}}
-	                            value={this.state.orderStatusSearch}
-	                            onChange={(e) => { this.setState({ orderStatusSearch: e }) }}>
-	                            {
-                                    orderState.map(function (item) {
-                                            return <Select.Option key={item.value} >{item.key}</Select.Option>
-                                    })
-                                }
-	                        </Select>
-	                        <Select placeholder="是否分配财务"
-	                            style={{ width: 150 }}
-	                            value={this.state.isDistributionFinance }
-	                            onChange={(e) => { this.setState({ isDistributionFinance: e }) }}>
-	                            <Select.Option value="1">已分配 </Select.Option>
-	                            <Select.Option value="0">未分配 </Select.Option>
-	                        </Select>
-	                    </div>
-	                </div>*/}
-	                {<div className="patent-table">
+	                
+	                <div className="patent-table">
 	                    <Spin spinning={this.state.loading}>
 	                        <Table columns={this.state.columns}
 	                            dataSource={this.state.dataSource}
@@ -520,53 +452,24 @@ const AdminCustomerStatistics = Form.create()(React.createClass({
 	                            pagination={this.state.pagination}
 	                            onRowClick={this.tableRowClick} />
 	                    </Spin>
-	                </div>}
-	                {<ManagementDetaile
-	                	confirmDelet={this.confirmDelet}
-	                    userDetaile={this.state.userDetaile}
-	                    datauser={this.state.datauser} 
-	                    showDesc={this.state.showDesc}
-	                    closeDesc={this.closeDesc} />}
-	            </div >
-	            {/*<Modal maskClosable={false} visible={this.state.distributionVisible}
-                        onOk={this.distributionOk} onCancel={this.distributionCancel}
-                        width='800px'
-                        title='分派财务订单'                     
+	                </div>
+						<Modal maskClosable={false} visible={this.state.visible}
+                        onOk={this.visitOk} onCancel={this.visitCancel}
+                        width='1000px'
+                        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 className="patent-table">
+								<Spin spinning={this.state.loading}>
+									<Table columns={this.state.columnsX}
+									dataSource={this.state.dataSourceX} />
+								</Spin>
+							</div>
+						</Modal>
+	            </div >
             </div>
 		);
 	}
 }));
 
-export default AdminCustomerStatistics;
+export default AdminCustomerStatistics;

+ 11 - 2
js/component/manageCenter/financialManage/distribute/paiDan.jsx

@@ -30,6 +30,7 @@ const PaiDan = React.createClass({
                 orderNo:this.state.orderNoSearch,
                 startTime: this.state.releaseDate[0],
                 endTime: this.state.releaseDate[1],
+				processStatus:this.state.processStatus
             },
             success: function (data) {
                 let theArr = [];
@@ -141,7 +142,7 @@ const PaiDan = React.createClass({
                     key: 'caouzo',
                     render:(text,recard)=>{
                         return <div>
-                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>分派</Button>
+                            <Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>分派</Button>
                         </div>
                     }
                 }
@@ -211,7 +212,8 @@ const PaiDan = React.createClass({
     reset() {
         this.state.nameSearch = '';
         this.state.releaseDate = [];
-        this.state.orderNoSearch=''
+        this.state.orderNoSearch='';
+		this.state.processStatus = [];
         this.loadData();
     },
     searchSwitch() {
@@ -242,6 +244,13 @@ const PaiDan = React.createClass({
                     <Input placeholder="订单编号"
                         value={this.state.orderNoSearch}
                         onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
+					<Select placeholder="流程状态"
+							onChange={(e)=>{this.setState({processStatus:e})}} 
+							style={{width:160,marginRight:5}} 
+							value={this.state.processStatus}>
+						<Option value="2">未分配</Option>
+						<Option value="3">已分配</Option>
+					</Select>
                     <span style={{ marginRight:10}}>下单时间 :</span>
                         <RangePicker
                             value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,

+ 79 - 22
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -6,7 +6,8 @@ import './public.less';
 import { Button,Form, Input, Spin, Table, Select,Switch, message, DatePicker, Modal } from 'antd';
 import OrderDesc from '../orderDetail/orderDesc'
 import Receivable from './receivable';
-import {getLiquidationStatus,getNewOrderStatus} from '@/tools';
+import Assign from '@/manageCenter/publicComponent/assign';
+import {getLiquidationStatus,getNewOrderStatus,getProcessStatus,getApproval} from '@/tools';
 const FormItem = Form.Item;
 
 const ShouKuang = React.createClass({
@@ -66,7 +67,8 @@ const ShouKuang = React.createClass({
                 orderNo:this.state.orderNoSearch,
                 startTime: this.state.releaseDate[0],
                 endTime: this.state.releaseDate[1],
-                departmentId:this.state.departmenttList
+                departmentId:this.state.departmenttList,
+				processStatus:this.state.processStatus
             },
             success: function (data) {
                 let theArr = [];
@@ -83,6 +85,7 @@ const ShouKuang = React.createClass({
 		                    orderType:thisdata.orderType,
 		                    orderStatus:thisdata.orderStatus,
 		                    sellerName:thisdata.sellerName,
+							processStatus:thisdata.processStatus,
 		                    liquidationStatus:thisdata.liquidationStatus,
 		                    approval:thisdata.approval,
 		                    buyerName:thisdata.buyerName,
@@ -118,9 +121,11 @@ const ShouKuang = React.createClass({
     getInitialState() {
         return {
             searchMore: true,
-            assignVisible:false,
+            assignVisibleX:false,
+			assignVisibleY:false,
             releaseDate: [],
-            assignData:[],
+            assignDataX:[],
+			assignDataY:[],
             totalPage:0,
             boHuivisible:false,
             selectedRowKeys: [],
@@ -164,12 +169,29 @@ const ShouKuang = React.createClass({
                     dataIndex: 'buyerName',
                     key: 'buyerName',
                 },
-                {
-                    title: '订单状态',
-                    dataIndex: 'orderStatus',
-                    key: 'orderStatus',
-                    render: text => { return getNewOrderStatus(text)}
-                },
+				{
+					title: '流程状态',
+					dataIndex: 'processStatus',
+					key: 'processStatus',
+					render: text => {return getProcessStatus(text)}
+				},
+				{
+					title: '特批状态',
+					dataIndex: 'approval',
+					key: 'approval',
+					render: text => {return getApproval(text)}
+				},
+				{
+					title: '合同编号',
+					dataIndex: 'contractNo',
+					key: 'contractNo',
+				},
+//                 {
+//                     title: '订单状态',
+//                     dataIndex: 'orderStatus',
+//                     key: 'orderStatus',
+//                     render: text => { return getNewOrderStatus(text)}
+//                 },
                 {
                     title: '订单负责人',
                     dataIndex: 'sellerName',
@@ -187,8 +209,9 @@ const ShouKuang = React.createClass({
                     key: 'caouzo',
                     render:(text,recard)=>{
                         return <div>
-                            {recard.liquidationStatus<2&&<Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>添加收款记录</Button>}
-                            {!(recard.actuallyTotalAmount&&Number(recard.actuallyTotalAmount)>0)&&<Button type="danger" onClick={(e)=>{e.stopPropagation(),this.reject(recard)}}>驳回</Button>}
+                            {recard.liquidationStatus<2&&(recard.approval===1 || recard.approval===2)?<Button  style={{background:'rgb(192,192,192)'}} onClick={(e)=>{e.stopPropagation(),this.evaluateX(recard)}}>收款</Button>:<Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluateX(recard)}}>收款</Button>}
+                            {!(recard.actuallyTotalAmount&&Number(recard.actuallyTotalAmount)>0)&&<Button type="danger" style={{marginLeft:'5px'}} onClick={(e)=>{e.stopPropagation(),this.reject(recard)}}>驳回</Button>}
+							{<Button type="primary" style={{marginLeft:'5px'}} onClick={(e)=>{e.stopPropagation(),this.evaluateY(recard,'财务专员')}}>转交</Button>}
                         </div>
                     }
                 }
@@ -197,11 +220,19 @@ const ShouKuang = React.createClass({
             searchTime: [,]
         }
     },
-    /* 添加收款记录 */
-    evaluate(recard){
-        this.state.assignData=recard;
+	/* 收款 */
+	evaluateX(recard){
+	    this.state.assignDataX=recard;
+	    this.setState({
+	        assignVisibleX:true
+	    })
+	},
+    /* 转交 */
+    evaluateY(recard,nub){
+        this.state.assignDataY=recard;
         this.setState({
-            assignVisible:true
+			nub,
+            assignVisibleY:true
         })
     },
     /* 驳回 */
@@ -243,13 +274,20 @@ const ShouKuang = React.createClass({
             this.loadData(this.state.page);
         };
     },
-    closeAssign(e, s) {
-        this.state.assignData={};
-        this.state.assignVisible = e;
+    closeAssignX(e, s) {
+        this.state.assignDataX={};
+        this.state.assignVisibleX = e;
         if (s) {
             this.loadData(this.state.page);
         };
     },
+	 closeAssignY(e, s) {
+	    this.state.assignDataY={};
+	    this.state.assignVisibleY = e;
+	    if (s) {
+	        this.loadData(this.state.page);
+	    };
+	},
     search() {
         this.loadData();
     },
@@ -258,6 +296,7 @@ const ShouKuang = React.createClass({
         this.state.releaseDate = [];
         this.state.orderNoSearch='';
         this.state.departmenttList=undefined;
+		this.state.processStatus=[];
         this.loadData();
     },
     //驳回
@@ -330,6 +369,13 @@ const ShouKuang = React.createClass({
                             })
                         }
                     </Select>
+					<Select placeholder="流程状态"
+							onChange={(e)=>{this.setState({processStatus:e})}} 
+							style={{width:160,marginRight:5}} 
+							value={this.state.processStatus}>
+						<Option value="3">未分配</Option>
+						<Option value="4">已分配</Option>
+					</Select>
                     <span style={{ marginRight:10}}>下单日期:</span>
                     <RangePicker
                         value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
@@ -347,6 +393,17 @@ const ShouKuang = React.createClass({
                             onRowClick={this.tableRowClick.bind(this)} />
                     </Spin>
                 </div>
+				<Assign
+				    title="任务"
+				    selApi={"/api/admin/newOrder/updateFinance"}
+				    data={this.state.assignDataY}
+				    showDesc={this.state.assignVisibleY}
+				    closeDesc={this.closeAssignY.bind(this)}
+				    fenpaiData={8}
+				    specially={0}
+				    roleName={this.state.nub}
+					requestMethod={"get"}
+				/>
                 <OrderDesc
                     data={this.state.RowData}
                     showDesc={this.state.showDesc}
@@ -355,9 +412,9 @@ const ShouKuang = React.createClass({
                 <Receivable
                     title='收款记录'
                     api='/api/admin/financial/addReceiptsFlow'
-                    data={this.state.assignData}
-                    showDesc={this.state.assignVisible}
-                    closeDesc={this.closeAssign.bind(this)}
+                    data={this.state.assignDataX}
+                    showDesc={this.state.assignVisibleX}
+                    closeDesc={this.closeAssignX.bind(this)}
                 />
                 <Modal visible={this.state.boHuiVisible} 
                         width="400px" 

+ 1 - 0
js/component/manageCenter/order/orderNew/addService.jsx

@@ -479,6 +479,7 @@ const NewService = Form.create()(React.createClass({
     	this.setState({
     		orderNoss:record?record.orderNo:this.props.datauser.orderNo,
     	})
+		
     	$.ajax({
             method: "get",
 			dataType: "json",

+ 4 - 3
js/component/manageCenter/project/task/myTask.jsx

@@ -148,10 +148,10 @@ const Task = React.createClass({
                 {
                     title:'操作',
                     dataIndex: 'caozuo',
-                    key: 'caouzo',
+                    key: 'caozuo',
                     render:(text,record)=>{
                         return <div>
-                        	<Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,'咨询师')}}>转交</Button>
+                        	<Button type="primary" onClick={(e)=>{e.stopPropagation(),this.evaluate(record,'咨询师')}}>转交</Button>
                             <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.okCancel(record)}}>添加工时</Button>
                         </div>
                     }
@@ -667,9 +667,10 @@ const Task = React.createClass({
                     data={this.state.assignData}
                     showDesc={this.state.assignVisible}
                     closeDesc={this.closeAssign.bind(this)}
-                    fenpaiData={8}
+                    // fenpaiData={8}
                     specially={0}
                     roleName={this.state.nub}
+					requestMethod = {"post"}
                 />
                 <Modal	
 				      className="customeDetails"

+ 677 - 0
js/component/manageCenter/project/task/taskQuery.1.jsx

@@ -0,0 +1,677 @@
+import React,{Component} from 'react';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import moment from 'moment';
+import '@/manageCenter/financialManage/distribute/public.less';
+import { Icon, Button,Form, Input, Select, Upload,Col,Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
+import OrderDesc from '@/manageCenter/financialManage/orderDetail/orderDesc'
+import Assign from '@/manageCenter/publicComponent/assign';
+import {getProcessStatus,getApproval,getTaskStatus,getLiquidationStatus,getApprovedState,getProjectState,splitUrl,getProjectStatus,getboutique} from '@/tools';
+const FormItem =Form.Item;
+
+const Task = React.createClass({
+    loadData(pageNo) {
+        this.state.data = [];
+        this.setState({
+            page:pageNo,
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/orderProject/selectTaskList",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                specially:1,//经理
+                name: this.state.nameSearch,//客户名称
+                orderNo:this.state.orderNoSearch,//订单编号
+                depId: this.state.departmenttSearch,//订单部门
+                taskId:this.state.taskId, //任务编号
+                taskStatus:this.state.taskStatus,//任务状态
+                adminName:this.state.adminName,//任务受理人
+            },
+            success: function (data) {
+                let theArr = [];
+                if (!data.data || !data.data.list) {
+                    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,
+                            orderNo: thisdata.orderNo,//订单编号
+                            id:thisdata.id,//任务ID
+		                    taskName:thisdata.taskName,//名称
+		                    cname:thisdata.cname,//项目品类
+                            receiverName:thisdata.receiverName,//受理人
+                            projectStatus:thisdata.projectStatus,//项目状态
+                            taskStatus:thisdata.taskStatus,//任务状态
+                            taskDate:thisdata.taskDate,//分配时间
+                            commodityQuantity:thisdata.commodityQuantity,//数量
+                            userName:thisdata.userName,//用户名
+                            depName:thisdata.depName,//部门名称
+                            receiverName:thisdata.receiverName,//任务责任人
+                        });
+                    };
+                }
+                this.state.pagination.current = data.data.pageNo;
+                this.state.pagination.total = data.data.totalCount;
+                if(data.data&&data.data.list&&!data.data.list.length){
+					this.state.pagination.current=0
+					this.state.pagination.total=0
+				}
+                this.setState({
+                    dataSource: theArr,
+                    pagination: this.state.pagination
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    getInitialState() {
+        return {
+            searchMore: true,
+            assignVisible:false,
+            releaseDate: [],
+            roleName:'',
+            departmentArr: [],
+            boHuivisible:false,
+            selectedRowKeys: [],
+            selectedRows: [],
+            paginations:false,
+            loading: 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: 'id',
+                    key: 'id',
+                }, {
+                    title: '任务名称',
+                    dataIndex: 'taskName',
+                    key: 'taskName',
+                },  {
+                    title: '订单编号',
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',
+                },
+                {
+                    title: '业务类别',
+                    dataIndex: 'cname',
+                    key: 'cname',
+                },
+                {
+                    title: '客户名称',
+                    dataIndex: 'userName',
+                    key: 'userName',
+                },
+                {
+                    title: '任务状态',
+                    dataIndex: 'taskStatus',
+                    key: 'taskStatus',
+                    render: text => { return getTaskStatus(text)}
+                },
+                {
+                    title: '项目状态',
+                    dataIndex: 'projectStatus',
+                    key: 'projectStatus',
+                    render: text => { return getProjectStatus(text)}
+                },
+                {
+                    title: '分配时间',
+                    dataIndex: 'taskDate',
+                    key: 'taskDate'
+                },
+                {
+                    title: '任务数量',
+                    dataIndex: 'commodityQuantity',
+                    key: 'commodityQuantity'
+                },
+                {
+                    title: '任务责任人',
+                    dataIndex: 'receiverName',
+                    key: 'receiverName'
+                },{
+                    title: '订单部门',
+                    dataIndex: 'depName',
+                    key: 'depName'
+                }
+            ],
+            dataSource: [],
+            searchTime: [],
+            columnsX: [
+				{
+                    title: '业务项目名称',
+                    dataIndex: 'commodityName',
+                    key: 'commodityName'
+                }, {
+                    title: '项目类别',
+                    dataIndex: 'cname',
+                    key: 'cname',
+                    
+                },{
+                    title: '项目数量',
+                    dataIndex: 'commodityQuantity',
+                    key: 'commodityQuantity'
+                }, {
+                    title: '金额(万元)',
+                    dataIndex: 'commodityPrice',
+                    key: 'commodityPrice'
+                }, {
+                    title: '负责人',
+                    dataIndex: 'contacts',
+                    key: 'contacts'
+                }, {
+                    title: '负责人电话',
+                    dataIndex: 'contactsMobile',
+                    key: 'contactsMobile'
+                }, {
+                    title: '主要项目',
+                    dataIndex: 'main',
+                    key: 'main',
+                    render:(text)=>{
+                    	return (text?'是':'否')
+                    }
+                }, {
+                    title: '项目说明',
+                    dataIndex: 'taskComment',
+                    key: 'taskComment',
+					render:(text)=>{
+						return (text&&text.length>8?text.substr(0,8)+'…':text)
+					}
+                }
+			],
+			dataSourceX: [],
+        }
+    },
+    /* 分派 */
+    evaluate(record,nub){
+        this.state.assignData=record;
+        this.setState({
+        	nub,
+            assignVisible:true
+        })
+    },
+   
+    componentWillMount() {
+    	this.departmentList();
+        this.loadData();
+    },
+    tableRowClick(record, index) {
+        this.state.RowData = record;
+        this.setState({
+            visible: true,
+        });
+        this.xiangqing(record.orderNo);
+		this.xiangmu(record.orderNo);
+    },
+     //订单详情
+	xiangqing(orderNos) {
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context +"/api/admin/newOrder/getOrderNewDetail",
+			data: {
+				orderNo:orderNos
+			},
+			success: function(data) {
+				let theArr = [];
+				
+				if(data.error.length || data.data.list == "") {
+					if(data.error && data.error.length) {
+						message.warning(data.error[0].message);
+					};
+				} else {
+					let thisdata=data.data;
+					this.setState({
+						 orderNo: thisdata.orderNo,//订单编号
+						 contractNo: thisdata.contractNo,//合同编号
+						 userName:thisdata.userName,//客户名称
+						 signDate:thisdata.signDate,//签单时间
+						 processStatus:thisdata.processStatus,//流程状态
+	                     liquidationStatus:thisdata.liquidationStatus,//结算状态
+	                     contacts:thisdata.contacts,//企业联系人
+	                     contactMobile:thisdata.contactMobile,//联系人电话
+	                     legalPerson:thisdata.legalPerson,//法人
+	                     legalPersonTel:thisdata.legalPersonTel,//法人电话
+	                     firstAmount:thisdata.firstAmount,//签单金额
+	                     totalAmount:thisdata.totalAmount,//首付金额
+	                     approval:thisdata.approval,//特批状态
+	                     settlementAmount:thisdata.settlementAmount,//已收款项
+	                     orderRemarks:thisdata.orderRemarks,//订单留言
+	                     orgCodeUrl: thisdata.contractPictureUrl ? splitUrl(thisdata.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],//图片地址
+	                     salesmanName:thisdata.salesmanName,//营销员名称
+	                     salesmanMobile:thisdata.salesmanMobile,//营销员电话
+	                     financeName:thisdata.financeName,//财务名称
+	                     financeMobile:thisdata.financeMobile,//财务电话
+	                     depName:thisdata.depName,//订单部门
+					})
+				};
+				
+			}.bind(this),
+		}).always(function() {
+			this.setState({
+				loading: false
+			});
+		}.bind(this));
+	},
+	//项目列表
+	xiangmu(orderNos) {
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context +"/api/admin/newOrder/getOrderTask",
+			data: {
+				orderNo:orderNos
+			},
+			success: function(data) {
+				let theArr = [];
+				
+				if(data.error.length || data.data.list == "") {
+					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,//订单编号
+                             commodityId:thisdata.commodityId,//项目ID
+                             commodityName:thisdata.commodityName,//项目名称
+                             cname:thisdata.cname,//项目类别
+                             commodityPrice:thisdata.commodityPrice,//项目价格
+                             commodityQuantity:thisdata.commodityQuantity,//项目数量
+                             main:thisdata.main,//是否为主要任务
+                             taskComment:thisdata.taskComment,//任务说明
+                             contacts:thisdata.contacts,//联系人
+                             contactsMobile:thisdata.contactsMobile,//联系人电话
+                             taskStatus:thisdata.taskStatus,//是否分配
+                        });
+                    };
+				};
+				this.setState({
+                    dataSourceX: theArr,
+                });
+			}.bind(this),
+		}).always(function() {
+			this.setState({
+				loading: false
+			});
+		}.bind(this));
+	},
+	 //关闭详情
+	visitCancel(e){
+		this.setState({
+			visible:false
+		})
+		this.reset();
+	},
+	visitOk(e){
+		this.setState({
+			visible:false
+		})
+		this.reset();
+	},
+    closeDesc(e, s) {
+        this.state.showDesc = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    closeAssign(e, s) {
+    	this.state.roleName='';
+        this.state.assignVisible = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    nextCancel() {
+		this.setState({
+			addnextVisible: false
+		})
+	},
+	//点击打卡项目详情
+	tableRowClickX(record, index) {
+        this.setState({
+        	jid:record.id,//项目ID
+        	kid:record.commodityId,//商品ID
+        	commodityName:record.commodityName,//金额
+        	commodityPrice:record.commodityPrice,//金额
+        	commodityQuantity:record.commodityQuantity,//数量
+        	taskComment:record.taskComment,//备注
+        	main:record.main.toString(),//是否为主要
+        	addnextVisible:true,
+        	addState:0,
+        });
+    },
+    search() {
+        this.loadData();
+    },
+    reset() {
+        this.state.nameSearch = '';
+        this.state.releaseDate = [];
+        this.state.orderNoSearch='';
+        this.state.taskNoSearch='';
+        this.state.departmenttSearch=undefined;
+        this.loadData(this.state.page);
+    },
+    searchSwitch() {
+        this.setState({
+            searchMore: !this.state.searchMore
+        });
+    },
+    //部门
+	departmentList() {
+		this.setState({
+			loading: true
+		});
+		$.ajax({
+			method: "get",
+			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));
+	},
+    render() { 
+        const rowSelection = {
+            selectedRowKeys: this.state.selectedRowKeys,
+            onChange: (selectedRowKeys, selectedRows) => {
+                this.setState({
+                    selectedRows: selectedRows.slice(-1),
+                    selectedRowKeys: selectedRowKeys.slice(-1)
+                });
+            }
+        };
+        const formItemLayout = {
+            labelCol: { span: 8 },
+            wrapperCol: { span: 14 },
+        };
+        const hasSelected = this.state.selectedRowKeys.length > 0;
+        const { RangePicker } = DatePicker;
+        let departmentArr = this.state.departmentArr || [];
+        return ( <div className="user-content">
+            <div className="content-title">
+                    <span>任务查询</span>
+                </div>
+                <div className="user-search">
+                    <Input placeholder="客户名称"
+                        value={this.state.nameSearch}
+                        onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} />
+                    <Input placeholder="订单编号"
+                        value={this.state.orderNoSearch}
+                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
+                    <Input placeholder="任务编号"
+                        value={this.state.taskNoSearch}
+                        onChange={(e) => { this.setState({ taskNoSearch: e.target.value }); }} />
+                    <Select placeholder="选择部门"
+                        style={{ width: 150 ,marginRight:'10px'}}
+                        value={this.state.departmenttSearch}
+                        onChange={(e) => { this.setState({ departmenttSearch: e }) }}>
+                        {
+                            departmentArr.map(function (item) {
+                                    return <Select.Option key={item.id} >{item.name}</Select.Option>
+                            })
+                        }
+               		 </Select> 
+                    <Button type="primary" onClick={this.search}>搜索</Button>
+                    <Button onClick={this.reset}>重置</Button>
+                    {/* <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch.bind(this)} /></span>
+                    <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
+                        <span>订单时间 :</span>
+                        <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 }); }} />
+                    </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.bind(this)} />
+                    </Spin>
+                </div>
+                <Assign
+                    title="任务"
+                    selApi={"/api/admin/orderProject/projectDistribution"}
+                    data={this.state.assignData}
+                    showDesc={this.state.assignVisible}
+                    closeDesc={this.closeAssign.bind(this)}
+                    fenpaiData={8}
+                    specially={0}
+                    roleName={this.state.nub}
+                />
+                <Modal	
+				      className="customeDetails"
+				      footer=''
+			          title="任务详情"
+			          width='900px'
+			          visible={this.state.visible}
+			          onOk={this.visitOk}
+					  onCancel={this.visitCancel}							          							          
+			        >	
+				        <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>{this.state.orderNo}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="合同编号" >  
+			                            <span>{this.state.contractNo}</span>
+				                    </FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="客户名称" >  
+			                            <span>{this.state.userName}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="合同签订时间" >   
+			                            <span>{this.state.signDate}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="流程状态" >  
+			                            <span>{getProcessStatus(this.state.processStatus)}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="结算状态" >  
+			                            <span>{getLiquidationStatus(this.state.liquidationStatus)}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="企业联系人" >                             
+		                                <span>{this.state.contacts}</span>
+				                    </FormItem>
+				                     <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="联系人电话" >                             
+		                                <span>{this.state.contactMobile}</span>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="企业法人" >                             
+		                                <span>{this.state.legalPerson}</span>
+		                            </FormItem>
+				                     <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="法人电话" >  
+			                             <span>{this.state.legalPersonTel}</span>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="签单金额(万元)" >                             
+		                                 <span>{this.state.totalAmount}</span>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="首付金额(万元)" >                             
+		                                <span>{this.state.firstAmount}</span>
+				                    </FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="特批立项" >  
+			                            <span>{getApprovedState(this.state.approval)}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="已收款项(万元)" >  
+			                            <span>{this.state.settlementAmount}</span>
+		                    		</FormItem>
+				                    <div className='clearfix'>
+							        	<FormItem
+								            labelCol={{ span: 4 }}
+								            wrapperCol={{ span: 16 }}
+								            label="订单留言" >
+							        	 <span>{this.state.orderRemarks}</span>
+								        </FormItem>
+							        </div>
+							        <div className='clearfix'>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="订单负责人" >  
+				                            <span>{this.state.salesmanName}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="订单负责人电话" >  
+                            				<span>{this.state.salesmanMobile}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="订单部门" >  
+				                            <span>{this.state.depName}</span>
+			                    		</FormItem>
+			                    	</div>
+			                    	<div className='clearfix'>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="财务负责人" >  
+				                            <span>{this.state.financeName}</span>
+			                    		</FormItem>
+			                    		<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="财务负责人电话" >  
+                            				<span>{this.state.financeMobile}</span>
+			                    		</FormItem>
+			                    	</div>
+						            <div>
+					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
+					                	{this.state.processStatus==0?<Button type='primary' onClick={this.addDetailed} style={{float:'right',marginRight:'50px',marginBottom:'15px'}}>添加项目明细</Button>:""}
+					                </div>
+					                <div className="patent-table">
+					                    <Spin spinning={this.state.loading}>
+					                        <Table columns={this.state.columnsX}
+					                            dataSource={this.state.dataSourceX}
+					                            pagination={this.state.paginations}
+					                            onRowClick={this.tableRowClickX} 
+					                            />
+					                    </Spin>
+						            </div>
+				                </div>
+				            </Spin>
+				        </Form>
+			        </Modal>
+			        <Modal maskClosable={false} visible={this.state.addnextVisible}
+                        onOk={this.nextCancel} onCancel={this.nextCancel}
+                        width='800px'
+                        title='项目任务详情'                    
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form">
+			                <Spin spinning={this.state.loading}>
+				                <div className='clearfix'>
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="项目名称" >
+			                    			<span>{this.state.commodityName}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="项目数量" >
+			                    			<span>{this.state.commodityQuantity}</span>
+			                    	</FormItem>
+			                    	<FormItem className="half-item"
+				                            {...formItemLayout}
+				                            label="金额(万元)" >
+			                    			<span>{this.state.commodityPrice}</span>
+			                    	</FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="主要项目" >  
+			                            <span>{getboutique(this.state.main)}</span>
+		                    		</FormItem>
+				                    <div className='clearfix'>
+				                    	<FormItem 
+				                            labelCol={{ span: 4 }}
+								            wrapperCol={{ span: 16 }}
+				                            label="服务说明" >
+			                    			<span>{this.state.taskComment}</span>
+				                    	</FormItem>
+			                    	</div>
+			                    </div>	
+			                </Spin>
+			            </Form >
+			        </Modal>
+        </div> )
+    }
+})
+ 
+export default Task;

+ 20 - 10
js/component/manageCenter/publicComponent/assign.jsx

@@ -181,19 +181,29 @@ const Assign=React.createClass({
         });
         console.log(this.state.contact);
         $.ajax({
-            method: "post",
+            method: this.props.reqrequestMethod,
             dataType: "json",
             crossDomain: false,
             url: globalConfig.context +this.props.selApi,
-            data: this.props.fenpaiData==8?{
-            	taskId:this.props.data.id,//任务ID
-            	taskReceiverId:this.state.contact?record.id:record.contactId,//分配人物ID
-            	specially:this.props.specially//是否是咨询师管理员
-            }:{
-            	orderNo:this.state.orderNo,
-                financeId: this.state.contact?record.id:record.contactId,    //分配人物id
-                approval:this.props.data.approval   //是否特批
-            }
+			data:{
+				taskId:this.props.data.id,//任务ID
+				taskReceiverId:this.state.contact?record.id:record.contactId,//分配人物ID
+				specially:this.props.specially,//是否是咨询师管理员
+				orderNo:this.state.orderNo,
+				financeId: this.state.contact?record.id:record.contactId,    //分配人物id
+				approval:this.props.data.approval,   //是否特批
+				newFinance:this.state.contact?record.id:record.contactId
+				
+			}
+//             data: this.props.fenpaiData==8?{
+//             	taskId:this.props.data.id,//任务ID
+//             	taskReceiverId:this.state.contact?record.id:record.contactId,//分配人物ID
+//             	specially:this.props.specially//是否是咨询师管理员
+//             }:{
+//             	orderNo:this.state.orderNo,
+//                 financeId: this.state.contact?record.id:record.contactId,    //分配人物id
+//                 approval:this.props.data.approval   //是否特批
+//             }
         }).done(function (data) {
             if (!data.error.length) {
                 message.success('派单成功');

+ 13 - 0
js/component/tools.js

@@ -1484,6 +1484,19 @@ module.exports = {
          return theType;
         }
     },
+	//分配状态
+// 	getAllotStatus:function (e) {
+// 		if (e||e==0) {
+// 		    let str=e.toString()
+// 		 let theType = '';
+// 		 processStatus.map(function (item) {
+// 		     if (item.value == str) {
+// 		         theType = item.key;
+// 		     };
+// 		 });
+// 		 return theType;
+// 		}
+// 	},
      //退单状态 
 	getRefundStatus:function(e){
         if (e||e==0) {