dengzhiguo 6 years ago
parent
commit
2e3a9e11bb

+ 2 - 2
js/component/dataDic.js

@@ -2447,10 +2447,10 @@ module.exports = {
 	        key: "项目评审"
 	    },{
 	        value: "3",
-	        key: "项目立项"
+	        key: "项目立项(科技项目等)"
 	    },{
 	        value: "4",
-	        key: "项目公示"
+	        key: "项目公示(高新项目等)"
         },{
 	        value: "5",
 	        key: "项目抽查"

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

@@ -6,7 +6,7 @@ import '../userMangagement.less';
 import moment from 'moment';
 import Picture from '@/manageCenter/publicComponent/picture';
 import {orderTypes,customerType,jiedian,tepi,boutique} from '../../../dataDic.js';  
-import {splitUrl,beforeUploadFile,getProcessStatus,getLiquidationStatus,getboutique,getApprovedState,getjiedian,getCuikuan} from '../../../tools.js';
+import {splitUrl,beforeUploadFile,getProcessStatus,getLiquidationStatus,getboutique,getApprovedState,getjiedian,getCuikuan,getProjectStatus} from '../../../tools.js';
 const Option = AutoComplete.Option;
 //图片组件
 const PicturesWall = React.createClass({
@@ -103,6 +103,7 @@ const NewService = Form.create()(React.createClass({
                              taskComment:thisdata.taskComment,//任务说明
                              contacts:thisdata.contacts,//联系人
                              contactsMobile:thisdata.contactsMobile,//联系人电话
+                             projectStatus:thisdata.projectStatus,//项目状态
                         });
                     };
                    }
@@ -202,6 +203,12 @@ const NewService = Form.create()(React.createClass({
                     dataIndex: 'contactsMobile',
                     key: 'contactsMobile'
                 }, {
+                	title:'项目状态',
+                	dataIndex:'projectStatus',
+                	key: 'projectStatus',
+                	render:text=>{return getProjectStatus(text)}
+                	
+                },{
                     title: '主要项目',
                     dataIndex: 'main',
                     key: 'main',

+ 9 - 4
js/component/manageCenter/order/orderNew/examine.jsx

@@ -5,7 +5,7 @@ import $ from 'jquery/src/ajax';
 import Jquery from 'jquery/dist/jquery.js';
 import moment from 'moment';
 import {boutique } from '@/dataDic.js';
-import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique} from '@/tools.js';
+import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique,getCuikuan,getProjectStatus} from '@/tools.js';
 import './customer.less';
 const TabPane = Tabs.TabPane;
 const Dragger = Upload.Dragger;
@@ -235,6 +235,12 @@ const IntentionCustomer = Form.create()(React.createClass({
                     dataIndex: 'contactsMobile',
                     key: 'contactsMobile'
                 }, {
+                	title:'项目状态',
+                	dataIndex:'projectStatus',
+                	key: 'projectStatus',
+                	render:text=>{return getProjectStatus(text)}
+                	
+                }, {
                     title: '主要项目',
                     dataIndex: 'main',
                     key: 'main',
@@ -264,9 +270,7 @@ const IntentionCustomer = Form.create()(React.createClass({
 					title: '催款状态',
 					dataIndex: 'dunStatus',
 					key: 'dunStatus',
-					render: (text) => {
-						return text?'已完成':'催款中'
-					}
+					render:text=>{return getCuikuan(text)}
 				},
 			],
 		}
@@ -387,6 +391,7 @@ const IntentionCustomer = Form.create()(React.createClass({
                              taskComment:thisdata.taskComment,//任务说明
                              contacts:thisdata.contacts,//联系人
                              contactsMobile:thisdata.contactsMobile,//联系人电话
+                             projectStatus:thisdata.projectStatus,//项目状态
                         });
                     };
 				};

+ 8 - 1
js/component/manageCenter/order/orderNew/inquiry.jsx

@@ -5,7 +5,7 @@ import $ from 'jquery/src/ajax';
 import Jquery from 'jquery/dist/jquery.js';
 import moment from 'moment';
 import {boutique } from '@/dataDic.js';
-import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique,getCuikuan} from '@/tools.js';
+import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique,getCuikuan,getProjectStatus} from '@/tools.js';
 import './customer.less';
 const TabPane = Tabs.TabPane;
 const Dragger = Upload.Dragger;
@@ -234,6 +234,12 @@ const IntentionCustomer = Form.create()(React.createClass({
                     dataIndex: 'contactsMobile',
                     key: 'contactsMobile'
                 }, {
+                	title:'项目状态',
+                	dataIndex:'projectStatus',
+                	key: 'projectStatus',
+                	render:text=>{return getProjectStatus(text)}
+                	
+                }, {
                     title: '主要项目',
                     dataIndex: 'main',
                     key: 'main',
@@ -384,6 +390,7 @@ const IntentionCustomer = Form.create()(React.createClass({
                              taskComment:thisdata.taskComment,//任务说明
                              contacts:thisdata.contacts,//联系人
                              contactsMobile:thisdata.contactsMobile,//联系人电话
+                             projectStatus:thisdata.projectStatus,//项目状态
                         });
                     };
 				};

+ 10 - 0
js/component/manageCenter/order/orderNew/press.jsx

@@ -108,6 +108,8 @@ const IntentionCustomer = Form.create()(React.createClass({
 							 orderNo: thisdata.orderNo,//订单编号
 	                         totalAmount:thisdata.totalAmount,//签单金额
 	                         settlementAmount:thisdata.settlementAmount,//已收款
+	                         accountsReceivable:thisdata.accountsReceivable,//应收款
+	                         uncollectedAmount:thisdata.uncollectedAmount,//应收款
 	                         orderStatus:thisdata.orderStatus,//订单状态
 	                         projectStatus:thisdata.projectStatus,//项目状态
 	                         liquidationStatus:thisdata.liquidationStatus,//结算状态
@@ -233,9 +235,17 @@ const IntentionCustomer = Form.create()(React.createClass({
                     key: 'liquidationStatus',
                     render:text=>{return getLiquidationStatus(text)}
                 }, {
+                    title: '应收款(万)',
+                    dataIndex: 'accountsReceivable',
+                    key: 'accountsReceivable'
+                }, {
                     title: '已收款(万)',
                     dataIndex: 'settlementAmount',
                     key: 'settlementAmount'
+                }, {
+                    title: '未收款(万)',
+                    dataIndex: 'uncollectedAmount',
+                    key: 'uncollectedAmount'
                 },{
                     title: '订单负责人',
                     dataIndex: 'salesmanName',

+ 187 - 0
js/component/manageCenter/project/task/myTask.jsx

@@ -151,6 +151,61 @@ const Task = React.createClass({
             ],
             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)
+					}
+                },
+                {
+                    title:'操作',
+                    dataIndex: 'caozuo',
+                    key: 'caouzo',
+                    render:(text,record)=>{
+                        return <div>
+                        	{record.taskStatus==0?
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(record)}}>分配任务</Button>
+                        	:''}
+                        </div>
+                    }
+                }
+			],
+			dataSourceX: [],
         }
     },
     /* 分派 */
@@ -171,6 +226,8 @@ const Task = React.createClass({
             visible: true,
         });
         this.xiangqing(record.id);
+        this.xiangqings(record.orderNo);
+        this.xiangmu(record.orderNo);
     },
     //点击修改任务详情
 	tijiaoOk(){
@@ -299,6 +356,46 @@ const Task = React.createClass({
 	                     contactMobile:thisdata.contactMobile,//联系人电话
 	                     legalPerson:thisdata.legalPerson,//法人
 	                     legalPersonTel:thisdata.legalPersonTel,//法人电话
+	                     
+	                     
+					})
+				};
+				
+			}.bind(this),
+		}).always(function() {
+			this.setState({
+				loading: false
+			});
+		}.bind(this));
+	},
+	//订单详情
+	xiangqings(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({
+						 processStatus:thisdata.processStatus,//流程状态
+	                     liquidationStatus:thisdata.liquidationStatus,//结算状态
+	                     approval:thisdata.approval,//特批状态
+	                     orderRemarks:thisdata.orderRemarks,//订单留言
+	                     salesmanName:thisdata.salesmanName,//营销员名称
+	                     salesmanMobile:thisdata.salesmanMobile,//营销员电话
+	                     financeName:thisdata.financeName,//财务名称
+	                     financeMobile:thisdata.financeMobile,//财务电话
 					})
 				};
 				
@@ -309,6 +406,53 @@ const Task = React.createClass({
 			});
 		}.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({
@@ -485,11 +629,41 @@ const Task = React.createClass({
 		                    		</FormItem>
 		                    		<FormItem className="half-item"
 			                            {...formItemLayout}
+			                            label="特批立项" >  
+			                            <span>{getApprovedState(this.state.approval)}</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.salesmanName}</span>
 		                    		</FormItem>
 		                    		<FormItem className="half-item"
 			                            {...formItemLayout}
+			                            label="订单负责人电话" >  
+                        				<span>{this.state.salesmanMobile}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="财务负责人" >  
+			                            <span>{this.state.financeName}</span>
+		                    		</FormItem>
+		                    		<FormItem className="half-item"
+			                            {...formItemLayout}
+			                            label="财务负责人电话" >  
+                        				<span>{this.state.financeMobile}</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"/>
@@ -613,6 +787,19 @@ const Task = React.createClass({
 									    				onChange={(e)=>{this.setState({taskComment:e.target.value})}}/>	
 								        </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 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>

+ 5 - 0
js/component/manageCenter/project/task/taskCount.jsx

@@ -109,6 +109,7 @@ const IntentionCustomer = Form.create()(React.createClass({
 	                         taskStatus:thisdata.taskStatus,//任务状态
 	                         receiverName:thisdata.receiverName,//负责人
 	                         hours:thisdata.hours,//任务工时
+	                         depName:thisdata.depName,//派单公司
 						});
 					};
 				    this.state.pagination.total = data.data.totalCount;
@@ -178,6 +179,10 @@ const IntentionCustomer = Form.create()(React.createClass({
                     dataIndex: 'receiverName',
                     key: 'receiverName'
                 },{
+                    title: '派单公司',
+                    dataIndex: 'depName',
+                    key: 'depName'
+                },{
                     title: '任务状态',
                     dataIndex: 'taskStatus',
                     key: 'taskStatus',

+ 2 - 0
js/component/manageCenter/publicComponent/assign.jsx

@@ -218,9 +218,11 @@ const Assign=React.createClass({
     		distributionList:[]
     	});
     },
+    //初始加载组件,和主页面一起加载
     componentWillMount() {
         
     },
+    //组件调用初始加载函数,可用条件控制,在调用组件时可以拿到参数
     componentWillReceiveProps(nextProps) {
         this.state.visible=nextProps.showDesc;
         if(nextProps.showDesc){

+ 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: {