dengzhiguo пре 6 година
родитељ
комит
8f72f29080

+ 3 - 0
js/component/dataDic.js

@@ -2384,6 +2384,9 @@ module.exports = {
 	        key: "已驳回"
 	    },{
 	        value: "6",
+	        key: "退单中"
+	    },{
+	        value: "7",
 	        key: "已退单"
 	    }    
     ],

+ 1 - 1
js/component/manageCenter/project/project/projectAssignment.jsx

@@ -495,7 +495,7 @@ const PaiDan = React.createClass({
                     closeDesc={this.closeAssign.bind(this)}
                     fenpaiData={8}
                     specially={1}
-                    roleName={'咨询师管理员'}
+                    roleName={'咨询师经理'}
                 />
                 <Modal	
 				      className="customeDetails"

+ 568 - 7
js/component/manageCenter/project/task/myTask.jsx

@@ -1,12 +1,573 @@
 import React,{Component} from 'react';
-class Task extends React.Component {
-    constructor(props) {
-        super(props);
-        this.state = {  }
-    }
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import moment from 'moment';
+import Picture from '@/manageCenter/publicComponent/picture';
+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,getjiedian} from '@/tools';
+import {projectState,taskStatus } from '@/dataDic.js';
+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/orderTaskList",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                specially:0,//个人
+                name: this.state.nameSearch,//客户名称
+                orderNo:this.state.orderNoSearch,//订单编号
+                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,//分配时间
+                            userName:thisdata.userName,//用户名
+                        });
+                    };
+                }
+                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:'',
+            boHuivisible:false,
+            selectedRowKeys: [],
+            selectedRows: [],
+            attachmentUrl:[],
+            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 getProjectState(text)}
+                },
+                {
+                    title: '分配时间',
+                    dataIndex: 'taskDate',
+                    key: 'taskDate'
+                },
+                {
+                    title:'操作',
+                    dataIndex: 'caozuo',
+                    key: 'caouzo',
+                    render:(text,record)=>{
+                        return <div>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,'咨询师经理')}}>转交</Button>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,'咨询师')}}>分配任务</Button>
+                        </div>
+                    }
+                }
+            ],
+            dataSource: [],
+            searchTime: [],
+        }
+    },
+    /* 分派 */
+    evaluate(record,nub){
+        this.state.assignData=record;
+        this.setState({
+        	nub,
+            assignVisible:true
+        })
+    },
+   
+    componentWillMount() {
+        this.loadData();
+    },
+    tableRowClick(record, index) {
+        this.state.RowData = record;
+        this.setState({
+            visible: true,
+        });
+        this.xiangqing(record.id);
+    },
+    //点击确认退单
+	tijiaoOk(){
+		let attachmentUrls = [];
+        if (this.state.attachmentUrl.length) {
+            let picArr = [];
+            this.state.attachmentUrl.map(function (item) {
+				if ( item.response && item.response.data && item.response.data.length ){
+					picArr.push(item.response.data);
+				}
+            });
+            attachmentUrls = picArr.join(",");
+        };
+         
+		$.ajax({
+			method: "POST",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context +'/api/admin/orderProject/updateOrderTask' ,
+			data: {
+				id:this.state.id,//任务编号
+				orderNo:this.state.orderNo,//订单编号
+				projectStatus:this.state.projectStatus,//项目状态
+				taskStatus:this.state.taskStatus,//任务状态
+				taskComment:this.state.taskComment,//说明
+				startDate:this.state.startDate,//启动日期
+				endDate:this.state.endDate,//结束日期
+				acceptDate:this.state.acceptDate,//受理日期
+				reviewDate:this.state.reviewDate,//评审日期
+				publicityDate:this.state.publicityDate,//公示日期
+				licenceDate:this.state.licenceDate,//发证日期
+				attachmentUrl:attachmentUrls.length?attachmentUrls:'',//附件
+				contacts:this.state.contacts,//联系人
+				contactMobile:this.state.contactMobile,//联系人电话
+				legalPerson:this.state.legalPerson,//法人
+				legalPersonTel:this.state.legalPersonTel,//法人电话
+			}
+		}).done(function(data) {
+			this.setState({
+				loading: false
+			});
+			if(!data.error.length) {
+				message.success('保存成功!');
+				this.visitCancel();
+				this.handleCancel();
+			} else {
+				message.warning(data.error[0].message);
+			}
+		}.bind(this));
+	},
+     //订单详情
+	xiangqing(id) {
+		$.ajax({
+			method: "get",
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context +"/api/admin/orderProject/orderTaskDetail",
+			data: {
+				id:id
+			},
+			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({
+						 id: thisdata.id,//ID
+						 orderNo: thisdata.orderNo,//订单编号
+						 userName:thisdata.userName,//客户名称
+						 taskName: thisdata.taskName,//任务名称
+						 cname:thisdata.cname,//项目品类
+						 projectStatus:thisdata.projectStatus.toString(),//项目状态
+						 taskStatus:thisdata.taskStatus.toString(),//任务状态
+						 taskDate:thisdata.taskDate,//分配时间
+	                     taskComment:thisdata.taskComment,//说明
+	                     attachmentUrl: thisdata.attachmentUrl ? splitUrl(thisdata.attachmentUrl, ',', globalConfig.avatarHost + '/upload') : [],//图片地址
+	                     salesmanName:thisdata.salesmanName,//订单负责人
+	                     startDate:thisdata.startDate,//启动日期
+	                     endDate:thisdata.endDate,//结束日期
+	                     acceptDate:thisdata.acceptDate,//受理日期
+	                     reviewDate:thisdata.reviewDate,//评审日期
+	                     publicityDate:thisdata.publicityDate,//公示日期
+	                     licenceDate:thisdata.licenceDate,//发证日期
+	                     contacts:thisdata.contacts,//联系人
+	                     contactMobile:thisdata.contactMobile,//联系人电话
+	                     legalPerson:thisdata.legalPerson,//法人
+	                     legalPersonTel:thisdata.legalPersonTel,//法人电话
+					})
+				};
+				
+			}.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);
+        };
+    },
+    search() {
+        this.loadData();
+    },
+    reset() {
+    	this.state.id='';//任务编号
+		this.state.orderNo='';//订单编号
+		this.state.projectStatus=undefined;//项目状态
+		this.state.taskStatus=undefined;//任务状态
+		this.state.taskComment='';//说明
+		this.state.startDate='';//启动日期
+		this.state.endDate='';//结束日期
+		this.state.acceptDate='';//受理日期
+		this.state.reviewDate='';//评审日期
+		this.state.publicityDate='';//公示日期
+		this.state.licenceDate='';//发证日期
+		attachmentUrl:[];//附件
+		this.state.contacts='';//联系人
+		this.state.contactMobile='';//联系人电话
+		this.state.legalPerson='';//法人
+		this.state.legalPersonTel='';//法人电话
+        this.state.nameSearch = '';
+        this.state.releaseDate = [];
+        this.state.orderNoSearch='';
+        this.state.taskNoSearch='';
+        this.state.distribution=undefined;
+        this.loadData();
+    },
+    searchSwitch() {
+        this.setState({
+            searchMore: !this.state.searchMore
+        });
+    },
     render() { 
-        return (<div>我的任务</div>  );
+        const rowSelection = {
+            selectedRowKeys: this.state.selectedRowKeys,
+            onChange: (selectedRowKeys, selectedRows) => {
+                this.setState({
+                    selectedRows: selectedRows.slice(-1),
+                    selectedRowKeys: selectedRowKeys.slice(-1)
+                });
+            }
+        };
+        const formItemLayout = {
+            labelCol: { span: 6 },
+            wrapperCol: { span: 12 },
+        };
+        const hasSelected = this.state.selectedRowKeys.length > 0;
+        const { RangePicker } = DatePicker;
+        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 }); }} />
+                    <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:'00px'}} >
+				            <Spin spinning={this.state.loading}>
+				                <div className="clearfix">
+				                	<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="任务编号" >
+			                            <span>{this.state.id}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="任务名称" >  
+			                            <span>{this.state.taskName}</span>
+				                    </FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="订单编号" >  
+			                            <span>{this.state.orderNo}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="业务类别" >   
+			                            <span>{this.state.cname}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="客户名称" >   
+			                            <span>{this.state.userName}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="订单负责人" >   
+			                            <span>{this.state.salesmanName}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="客户联系人" >   
+		                                    <Input placeholder="请输入联系人名称" value={this.state.contacts} style={{width:'200px'}}
+		                                    onChange={(e)=>{this.setState({contacts:e.target.value})}} ref="commodityQuantity"/>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="联系人电话" >   
+		                                    <Input placeholder="请输入联系人电话" value={this.state.contactMobile} style={{width:'200px'}}
+		                                    onChange={(e)=>{this.setState({contactMobile:e.target.value})}} ref="commodityQuantity"/>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="企业法人" >   
+		                                    <Input placeholder="请输入法人名称" value={this.state.legalPerson} style={{width:'200px'}}
+		                                    onChange={(e)=>{this.setState({legalPerson:e.target.value})}} ref="commodityQuantity"/>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="法人电话" >   
+		                                    <Input placeholder="请输入法人电话" value={this.state.legalPersonTel} style={{width:'200px'}}
+		                                    onChange={(e)=>{this.setState({legalPersonTel:e.target.value})}} ref="commodityQuantity"/>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="任务状态" >  
+			                            <Select placeholder="选择任务状态"
+				                            style={{ width:'200px'}}
+				                            value={this.state.taskStatus}
+				                            onChange={(e)=>{this.setState({taskStatus:e})}}>
+				                            {
+			                                    taskStatus.map(function (item) {
+			                                        return <Select.Option key={item.value} >{item.key}</Select.Option>
+			                                    })
+			                                }
+				                    	 </Select>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="项目状态" >  
+			                            <Select placeholder="选择项目状态"
+				                            style={{ width:'200px'}}
+				                            value={this.state.projectStatus}
+				                            onChange={(e)=>{this.setState({projectStatus:e})}}>
+				                            {
+			                                    projectState.map(function (item) {
+			                                        return <Select.Option key={item.value} >{item.key}</Select.Option>
+			                                    })
+			                                }
+				                    	 </Select>
+		                    		</FormItem>
+		                    		<FormItem className="half-item" {...formItemLayout} label="启动时间">
+                                        <DatePicker 
+                                        	style={{marginTop:"2px",width: '200px',height:"32px" }}
+                                            showTime
+                                            format="YYYY-MM-DD"
+                                            onOk={(e)=>{}}
+                                            value={this.state.startDate ? moment(this.state.startDate) : null}
+                                            onChange={(data, dataString) => { this.setState({ startDate: dataString }); }} />
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="完成时间">
+                                        <DatePicker 
+                                        	style={{marginTop:"2px",width: '200px',height:"32px" }}
+                                            showTime
+                                            format="YYYY-MM-DD"
+                                            onOk={(e)=>{}}
+                                            value={this.state.endDate ? moment(this.state.endDate) : null}
+                                            onChange={(data, dataString) => { this.setState({ endDate: dataString }); }} />
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="受理时间">
+                                        <DatePicker 
+                                        	style={{marginTop:"2px",width: '200px',height:"32px" }}
+                                            showTime
+                                            format="YYYY-MM-DD"
+                                            onOk={(e)=>{}}
+                                            value={this.state.acceptDate ? moment(this.state.acceptDate) : null}
+                                            onChange={(data, dataString) => { this.setState({ acceptDate: dataString }); }} />
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="评审时间">
+                                        <DatePicker 
+                                        	style={{marginTop:"2px",width: '200px',height:"32px" }}
+                                            showTime
+                                            format="YYYY-MM-DD"
+                                            onOk={(e)=>{}}
+                                            value={this.state.reviewDate ? moment(this.state.reviewDate) : null}
+                                            onChange={(data, dataString) => { this.setState({ reviewDate: dataString }); }} />
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="公示时间">
+                                        <DatePicker 
+                                        	style={{marginTop:"2px",width: '200px',height:"32px" }}
+                                            showTime
+                                            format="YYYY-MM-DD"
+                                            onOk={(e)=>{}}
+                                            value={this.state.publicityDate ? moment(this.state.publicityDate) : null}
+                                            onChange={(data, dataString) => { this.setState({ publicityDate: dataString }); }} />
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="发证时间">
+                                        <DatePicker 
+                                        	style={{marginTop:"2px",width: '200px',height:"32px" }}
+                                            showTime
+                                            format="YYYY-MM-DD"
+                                            onOk={(e)=>{}}
+                                            value={this.state.licenceDate ? moment(this.state.licenceDate) : null}
+                                            onChange={(data, dataString) => { this.setState({ licenceDate: dataString }); }} />
+                                    </FormItem>
+                                    <div className='clearfix'>
+			                			<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 16 }} label="附件">
+									        <Picture
+								              fileList={(e)=>{this.setState({attachmentUrl:e})}}
+								              pictureUrl={this.state.attachmentUrl}
+								              visible={this.props.visible}
+								              data={{'sign':'order_task_file',url:'/api/admin/orderProject/uploadOrderTaskFile',number:8}}
+								           />
+									    </FormItem>
+									</div>
+									<div className='clearfix'>
+				                    	<FormItem
+								            labelCol={{ span: 3 }}
+								            wrapperCol={{ span: 16 }}
+								            label="备注" >
+								                <Input type="textarea" placeholder="请输入备注" rows={4}  value={this.state.taskComment} 
+									    				onChange={(e)=>{this.setState({taskComment:e.target.value})}}/>	
+								        </FormItem>
+				                    </div>	
+				                    <div className='clearfix'>
+						                   <Button className="cancel" type="primary" onClick={this.tijiaoOk} style={{marginLeft:"200px"}} htmlType="submit">保存</Button>
+			                               <Button className="cancel" type="ghost" onClick={this.visitCancel} style={{marginLeft:"50px"}}>取消</Button>
+	                            	</div>
+				                </div>
+				            </Spin>
+				        </Form>
+			        </Modal>
+        </div> )
     }
-}
+})
  
 export default Task;

+ 302 - 13
js/component/manageCenter/project/task/taskAssignment.jsx

@@ -3,10 +3,11 @@ 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, Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
+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,getProjectState} from '@/tools';
+import {getProcessStatus,getApproval,getTaskStatus,getLiquidationStatus,getApprovedState,getProjectState,splitUrl} from '@/tools';
+const FormItem =Form.Item;
 
 const Task = React.createClass({
     loadData(pageNo) {
@@ -76,9 +77,11 @@ const Task = React.createClass({
             searchMore: true,
             assignVisible:false,
             releaseDate: [],
+            roleName:'',
             boHuivisible:false,
             selectedRowKeys: [],
             selectedRows: [],
+            paginations:false,
             loading: false,
             pagination: {
                 defaultCurrent: 1,
@@ -144,21 +147,64 @@ const Task = React.createClass({
                     key: 'caouzo',
                     render:(text,record)=>{
                         return <div>
-                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,0)}}>转交</Button>
-                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,1)}}>分配任务</Button>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,'咨询师经理')}}>转交</Button>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record,'咨询师')}}>分配任务</Button>
                         </div>
                     }
                 }
             ],
             dataSource: [],
-            searchTime: [,]
+            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,
+        	nub,
             assignVisible:true
         })
     },
@@ -169,9 +215,121 @@ const Task = React.createClass({
     tableRowClick(record, index) {
         this.state.RowData = record;
         this.setState({
-            showDesc: true,
+            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,//财务电话
+					})
+				};
+				
+			}.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) {
@@ -179,6 +337,7 @@ const Task = React.createClass({
         };
     },
     closeAssign(e, s) {
+    	this.state.roleName='';
         this.state.assignVisible = e;
         if (s) {
             this.loadData(this.state.page);
@@ -210,6 +369,10 @@ const Task = React.createClass({
                 });
             }
         };
+        const formItemLayout = {
+            labelCol: { span: 8 },
+            wrapperCol: { span: 14 },
+        };
         const hasSelected = this.state.selectedRowKeys.length > 0;
         const { RangePicker } = DatePicker;
         return ( <div className="user-content">
@@ -246,11 +409,6 @@ const Task = React.createClass({
                             onRowClick={this.tableRowClick.bind(this)} />
                     </Spin>
                 </div>
-                <OrderDesc
-                    data={this.state.RowData}
-                    showDesc={this.state.showDesc}
-                    closeDesc={this.closeDesc.bind(this)}
-                />
                 <Assign
                     title="任务"
                     selApi={"/api/admin/orderProject/projectDistribution"}
@@ -259,8 +417,139 @@ const Task = React.createClass({
                     closeDesc={this.closeAssign.bind(this)}
                     fenpaiData={8}
                     specially={0}
-                    roleName={'咨询师经理'}
+                    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.firstAmount}</span>
+				                    </FormItem>
+				                    <FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="首付金额(万元)" >                             
+		                                <span>{this.state.totalAmount}</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>
+			                    	</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>
         </div> )
     }
 })

+ 3 - 5
js/component/manageCenter/publicComponent/assign.jsx

@@ -127,7 +127,7 @@ const Assign=React.createClass({
 		this.props.closeDesc(false, true);
 	},
     //分配对象列表
-    contactList(){
+    contactList(item={}){
         this.setState({
             loading:true
         });
@@ -142,7 +142,7 @@ const Assign=React.createClass({
                 pageSize: 99,
                 departmentId:this.state.departmenttList,
                 name:this.state.financeNameSearch,
-                roleName:this.props.roleName?this.props.roleName:''
+                roleName:item.roleName?item.roleName:this.props.roleName
             },
             success: function (data) {
                 let theArr = [];
@@ -181,8 +181,6 @@ const Assign=React.createClass({
     	this.setState({
             loading: true
         });
-        console.log(this.props.data);
-        console.log(record);
         $.ajax({
             method: "post",
             dataType: "json",
@@ -225,7 +223,7 @@ const Assign=React.createClass({
     componentWillReceiveProps(nextProps) {
         this.state.visible=nextProps.showDesc;
         if(nextProps.showDesc){
-            this.contactList();
+            this.contactList(nextProps);
             this.departmentList()
         }
         this.setState({

+ 2 - 2
webpack.config.js

@@ -304,7 +304,7 @@ module.exports = (function () {
     }
 
     //let staticHost = 'http://afts.hnzhiming.com';
-    let staticHost = 'http://192.168.0.188';
+    let staticHost = 'http://192.168.0.190';
     switch (argv.env.deploy) {
         case 'test':
             staticHost = 'http://static.kedexinxi.com';
@@ -343,7 +343,7 @@ module.exports = (function () {
         // }
         devServer: {
             disableHostCheck: true,
-            host: '192.168.0.188',
+            host: '192.168.0.190',
             port: 80,
             allowedHosts: ['127.0.0.1','192.168.0.20','192.168.0.99'],
             headers: {