Browse Source

完成派单与结算

liting2017 6 years ago
parent
commit
7c2613506c

+ 10 - 1
js/component/dataDic.js

@@ -2514,6 +2514,15 @@ module.exports = {
            key: "退款"
        }
    ],
-    
+   //项目类型
+   newOrderType:[
+        {
+            value: "0",
+            key: "认证项目"
+        }, {
+            value: "1",
+            key: "科技项目"
+        }
+   ]
 
 };

+ 235 - 0
js/component/manageCenter/financialManage/distribute/examine.jsx

@@ -0,0 +1,235 @@
+import React from 'react';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch,InputNumber, message, DatePicker, Modal, Upload ,Popconfirm} from 'antd';
+import {transactionProject,transactionChannel} from '@/dataDic.js';
+import {getOrderState,getOrderChannel,getPaymentState,getOrderType,getNewOrderStatus,getLiquidationStatus} from '@/tools.js';
+import Picture from '@/manageCenter/publicComponent/picture';
+
+const Examine=React.createClass({
+    loadData(record) {
+        this.state.data = [];
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/order/getOrderCommodity',
+            data: {
+            	orderNo:record?record.orderNo:this.props.data.orderNo
+            },
+            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.length; i++) {
+                        let thisdata = data.data[i];
+                        theArr.push({
+                             key: i,
+                             id:thisdata.id,
+                             data:thisdata,
+                             orderNo:thisdata.orderNo,
+                             commodityName:thisdata.commodityName,
+                             commodityType:thisdata.commodityType,
+                             commodityMode:thisdata.commodityMode,
+                        });
+                    };
+                   }
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    getInitialState() {
+        return {
+        	datauser:{},
+            loading: false,
+            visible:false,
+            showDesc:false,
+            pictureUrls:[],
+            pictureUrl:[]
+        };
+    },
+    //保存
+    handleSubmit(e){
+        e.preventDefault();
+        if(!this.state.settlementAmount){
+                message.warning('请填写金额');
+                return false;
+        }
+        if(!this.state.transactionProject){
+            message.warning('请选择流水科目');
+            return false;
+        }
+        if(!this.state.transactionChannel){
+            message.warning('请选择交易渠道');
+            return false;
+        }
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            async:true,
+            url:  globalConfig.context + '/api/user/demand/apply',
+            data: {
+                id: this.props.data.id,
+                settlementAmount: this.state.settlementAmount,
+                transactionProject: this.state.transactionProject,
+                transactionChannel: this.state.transactionChannel,
+                remarks:this.state.remarks
+            }
+        }).done(function (data) {
+            this.setState({
+                loading: false
+            });
+            if (!data.error.length) {
+                message.success('操作成功!');
+                this.onShow();
+            } else {
+                message.warning(data.error[0].message);
+            }
+        }.bind(this));
+    },
+    onCancel(){
+    	this.setState({
+    		visible:false
+        })
+        this.props.closeDesc(false,false);
+    },
+    onShow() {
+		this.setState({
+			visible: false,
+		});
+		this.props.closeDesc(false, true);
+	},
+    componentWillMount() {
+        this.loadData();
+        this.setState({
+            pictureUrl:[],
+            pictureUrls:[],
+            remark:'',
+            remarks:''
+        })
+    },
+    componentWillReceiveProps(nextProps) {
+        this.loadData(nextProps.data);
+        this.state.visible=nextProps.showDesc;
+        this.setState({
+            pictureUrl:[],
+            pictureUrls:[],
+            remark:'',
+            remarks:''
+        })
+    },
+    render() {
+        const theData = this.state.data || {};
+        const { getFieldDecorator,getFieldsValue } = this.props.form;
+        const FormItem = Form.Item;
+        const formItemLayout = {
+            labelCol: { span: 10 },
+            wrapperCol: { span: 12 },
+		};
+        return (
+            <div className="user-content" >
+	            <Modal maskClosable={false} visible={this.state.visible}
+                        onOk={this.onShow} onCancel={this.onCancel}
+                        width='800px'
+                        title='审核'                     
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" onSubmit={this.handleSubmit} >
+			                <Spin spinning={this.state.loading}>
+                                <div className="clearfix">
+                                    <FormItem className="half-item" {...formItemLayout} label="退单编号">
+                                        <span>{theData.name}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="退单时间">
+							            <span>{theData.releaseDate?(new Date(theData.releaseDate)).toLocaleString():''}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="订单编号">
+                                        <span>{theData.orderNo}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="订单状态">
+                                        <span>{getNewOrderStatus(theData.orderState)}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="结算状态">
+                                        <span>{getLiquidationStatus(theData.liquidationStatus)}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="付款方">
+                                        <span>{theData.name}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="收款方">
+                                        <span>{theData.name}</span>
+                                    </FormItem>
+                                    
+                                    <FormItem className="half-item" {...formItemLayout} label="订单编号">
+                                        <span>{theData.orderNo}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="财务流水编号">
+                                        <span>{theData.orderNo}</span>
+                                    </FormItem>
+                                    <div className="clearfix">
+                                        <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 18 }} label="终止合同">
+                                            <Picture
+                                                fileList={(e)=>{this.setState({pictureUrl:e})}}
+                                                pictureUrl={this.state.pictureUrl}
+                                                visible={this.props.visible}
+                                                data={{'sign':'achievement_cover_picture',url:'/api/admin/achievement/uploadPicture',number:3}}
+                                            />
+                                        </FormItem>
+                                    </div>
+                                    <div className="clearfix">
+                                        <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 18 }} label="终止合同">
+                                            <Picture
+                                                fileList={(e)=>{this.setState({pictureUrls:e})}}
+                                                pictureUrl={this.state.pictureUrls}
+                                                visible={this.props.visible}
+                                                data={{'sign':'achievement_cover_picture',url:'/api/admin/achievement/uploadPicture',number:3}}
+                                            />
+                                        </FormItem>   
+                                    </div>
+                                    <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label="退单原因">
+                                        <Input
+                                            type="textarea"
+                                            rows={4}
+                                            placeholder="请输入退单原因"
+                                            value={this.state.remark}
+                                            onChange={(e) => {
+                                                this.setState({ remark: e.target.value });
+                                            }}
+                                        />
+                                    </FormItem>
+                                    <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label="审批意见">
+                                        <Input
+                                            type="textarea"
+                                            rows={4}
+                                            placeholder="请输入审批意见"
+                                            value={this.state.remarks}
+                                            onChange={(e) => {
+                                                this.setState({ remarks: e.target.value });
+                                            }}
+                                        />
+                                    </FormItem>
+                                    <FormItem wrapperCol={{ span: 12, offset:5 }}>  
+                                        <Button type="primary" htmlType="submit"  style={{marginRight:20}}>确认</Button>
+                                        <Button type="default" onClick={()=>{this.onCancel()}}>取消</Button>
+                                    </FormItem>  
+                                </div>
+			                </Spin>
+			            </Form>
+			    </Modal>
+            </div>
+        );
+    }
+});
+
+export default Form.create()(Examine);

+ 6 - 8
js/component/manageCenter/financialManage/distribute/paiDan.jsx

@@ -6,9 +6,10 @@ import './public.less';
 import { Icon, Button,Form, Input, Select, Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
 import OrderDesc from '../orderDetail/orderDesc'
 import Assign from '@/manageCenter/publicComponent/assign';
+import {getProcessStatus,getApproval} from '@/tools';
 const FormItem = Form.Item;
 
-const ShouKuang = React.createClass({
+const PaiDan = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
@@ -72,7 +73,6 @@ const ShouKuang = React.createClass({
         return {
             searchMore: true,
             assignVisible:false,
-            validityPeriodDate: [],
             releaseDate: [],
             boHuivisible:false,
             selectedRowKeys: [],
@@ -113,7 +113,7 @@ const ShouKuang = React.createClass({
                     title: '流程状态',
                     dataIndex: 'processStatus',
                     key: 'processStatus',
-                    render: text => { return text?'精品':'非精品' }
+                    render: text => { return getProcessStatus(text)}
                 },
                 {
                     title: '订单总金额(万)',
@@ -124,7 +124,7 @@ const ShouKuang = React.createClass({
                     title: '是否特批',
                     dataIndex: 'approval',
                     key: 'approval',
-                    render: text => { return text?'已特批':'未特批'}
+                    render: text => { return getApproval(text)}
                 },
                 {
                     title: '订单负责人',
@@ -169,7 +169,6 @@ const ShouKuang = React.createClass({
         this.loadData(this.state.page);
     },
     boHuiCancel(e){
-       
         this.setState({
             boHuiVisible:false
         })
@@ -221,7 +220,7 @@ const ShouKuang = React.createClass({
             url: globalConfig.context + "/api/user/achievement/delete",
             data: {
                 id: this.state.bohuiData.id,
-                content:this.state.content
+                reason:this.state.content
             }
         }).done(function (data) {
             if (!data.error.length) {
@@ -272,7 +271,6 @@ const ShouKuang = React.createClass({
                     <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' } : {}}>
-                        <Input style={{width:140,marginRight:10}} value={this.state.employerNameSearch} onChange={(e)=>{this.setState({employerNameSearch:e.target.value})}} placeholder="客户名称"/>
                         <span>订单时间 :</span>
                         <RangePicker
                             value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
@@ -331,4 +329,4 @@ const ShouKuang = React.createClass({
     }
 })
  
-export default ShouKuang;
+export default PaiDan;

+ 4 - 0
js/component/manageCenter/financialManage/distribute/public.less

@@ -34,6 +34,10 @@ button:focus,button:active{
 .btnRight button{
     margin-right: 10px;
 }
+.half-item{
+    width: 50%;
+    display: inline-block;
+}
 .patent-addNew {
     float: right;
     margin-left: 20px;

+ 232 - 0
js/component/manageCenter/financialManage/distribute/receivable.jsx

@@ -0,0 +1,232 @@
+import React from 'react';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch,InputNumber, message, DatePicker, Modal, Upload ,Popconfirm} from 'antd';
+import {transactionProject,transactionChannel} from '@/dataDic.js';
+import {getOrderState,getOrderChannel,getPaymentState,getOrderType} from '@/tools.js';
+const Receivable=React.createClass({
+    loadData(record) {
+        this.state.data = [];
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/order/getOrderCommodity',
+            data: {
+            	orderNo:record?record.orderNo:this.props.data.orderNo
+            },
+            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.length; i++) {
+                        let thisdata = data.data[i];
+                        theArr.push({
+                             key: i,
+                             id:thisdata.id,
+                             orderNo:thisdata.orderNo,
+                             commodityName:thisdata.commodityName,
+                             commodityType:thisdata.commodityType,
+                             commodityMode:thisdata.commodityMode,
+                             commodityQuantity:thisdata.commodityQuantity,
+                             commodityPrice:thisdata.commodityPrice,
+                             discountPrice:thisdata.discountPrice,
+                             commodityFirstPayment:thisdata.commodityFirstPayment,
+                             createTimes:thisdata.createTimes,
+                             discountFirstPayment:thisdata.discountFirstPayment,
+                             remarks:thisdata.remarks,
+                             commodityId:thisdata.commodityId,
+                        });
+                    };
+                   }
+                this.setState({
+                    dataSource: theArr,
+                    pagination: false,
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    getInitialState() {
+        return {
+        	datauser:{},
+            loading: false,
+            visible:false,
+            showDesc:false,
+        };
+    },
+    //保存
+    handleSubmit(e){
+        e.preventDefault();
+        if(!this.state.settlementAmount){
+                message.warning('请填写金额');
+                return false;
+        }
+        if(!this.state.transactionProject){
+            message.warning('请选择流水科目');
+            return false;
+        }
+        if(!this.state.transactionChannel){
+            message.warning('请选择交易渠道');
+            return false;
+        }
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            async:true,
+            url:  globalConfig.context + '/api/user/demand/apply',
+            data: {
+                id: this.props.data.id,
+                settlementAmount: this.state.settlementAmount,
+                transactionProject: this.state.transactionProject,
+                transactionChannel: this.state.transactionChannel,
+                remarks:this.state.remarks
+            }
+        }).done(function (data) {
+            this.setState({
+                loading: false
+            });
+            if (!data.error.length) {
+                message.success('操作成功!');
+                this.onShow();
+            } else {
+                message.warning(data.error[0].message);
+            }
+        }.bind(this));
+    },
+    onCancel(){
+    	this.setState({
+    		visible:false
+        })
+        this.props.closeDesc(false,false);
+    },
+    onShow() {
+		this.setState({
+			visible: false,
+		});
+		this.props.closeDesc(false, true);
+	},
+    componentWillMount() {
+        this.loadData();
+        this.setState({
+            transactionProject:undefined,
+            settlementAmount:undefined,
+            transactionChannel:undefined,
+            remarks:''
+        })
+    },
+    componentWillReceiveProps(nextProps) {
+        this.loadData(nextProps.data);
+        this.state.visible=nextProps.showDesc;
+        this.setState({
+            transactionProject:undefined,
+            settlementAmount:undefined,
+            transactionChannel:undefined,
+            remarks:''
+        })
+    },
+    render() {
+        const theData = this.state.data || {};
+        const { getFieldDecorator,getFieldsValue } = this.props.form;
+        const FormItem = Form.Item;
+        const formItemLayout = {
+            labelCol: { span: 10 },
+            wrapperCol: { span: 12 },
+		};
+        return (
+            <div className="user-content" >
+	            <Modal maskClosable={false} visible={this.state.visible}
+                        onOk={this.onShow} onCancel={this.onCancel}
+                        width='800px'
+                        title='添加收款记录'                     
+                        footer=''
+                        className="admin-desc-content">
+			            <Form layout="horizontal" onSubmit={this.handleSubmit} >
+			                <Spin spinning={this.state.loading}>
+                                <div className="clearfix">
+                                    <FormItem className="half-item" {...formItemLayout} label="平台流水编号">
+                                        <span>{theData.name}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="平台流水时间">
+							            <span>{theData.releaseDate?(new Date(theData.releaseDate)).toLocaleString():''}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label={<span><strong style={{color:'#f00'}}>*</strong>金额</span>}>
+                                        <InputNumber min={0} max={9999} placeholder="金额" 
+                                            value={this.state.settlementAmount}
+                                            onChange={(e)=>{this.setState({settlementAmount:e})}}
+                                        />
+                                        <span style={{ marginLeft: '5px' }}>万元</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label={<span><strong style={{color:'#f00'}}>*</strong>流水科目</span>}>
+                                        <Select placeholder="流水科目" 
+                                            value={this.state.transactionProject}
+                                            onChange={(e)=>{this.setState({transactionProject:e})}}
+                                            >
+                                            { 
+                                                transactionProject.map(function (item) {
+                                                    return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
+                                                })
+                                            }
+                                        </Select>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="付款方">
+                                        <span>{theData.name}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="收款方">
+                                        <span>{theData.name}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label={<span><strong style={{color:'#f00'}}>*</strong>交易渠道</span>}>
+                                        <Select placeholder="交易渠道" 
+                                            value={this.state.transactionChannel}
+                                            onChange={(e)=>{this.setState({transactionChannel:e})}}
+                                        >
+                                            { 
+                                                transactionChannel.map(function (item) {
+                                                    return	<Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
+                                                })
+                                            }
+                                        </Select>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="订单编号">
+                                        <span>{theData.orderNo}</span>
+                                    </FormItem>
+                                    <FormItem className="half-item" {...formItemLayout} label="财务流水编号">
+                                        <span>{theData.orderNo}</span>
+                                    </FormItem>
+                                    <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label="备注">
+                                        <Input
+                                            type="textarea"
+                                            rows={4}
+                                            placeholder="请输入备注"
+                                            value={this.state.remarks}
+                                            onChange={(e) => {
+                                                this.setState({ remarks: e.target.value });
+                                            }}
+                                        />
+                                    </FormItem>
+                                    <FormItem wrapperCol={{ span: 12, offset:5 }}>  
+                                        <Button type="primary" htmlType="submit"  style={{marginRight:20}}>确认</Button>
+                                        <Button type="default" onClick={()=>{this.onCancel()}}>取消</Button>
+                                    </FormItem>  
+                                </div>
+			                </Spin>
+			            </Form>
+			    </Modal>
+            </div>
+        );
+    }
+});
+
+export default Form.create()(Receivable);

+ 329 - 10
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -1,15 +1,334 @@
-import {Component} from 'react';
+import React,{Component} from 'react';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import moment from 'moment';
+import './public.less';
+import { Icon, Button,Form, Input, Select, Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
+import OrderDesc from '../orderDetail/orderDesc'
+import Receivable from './receivable';
 
-class ShouKuang extends Component {
-    constructor(props) {
-        super(props);
-        this.state = {  }
-    }
+import {getLiquidationStatus,getNewOrderStatus} from '@/tools';
+const FormItem = Form.Item;
+
+const ShouKuang = React.createClass({
+    loadData(pageNo) {
+        this.state.data = [];
+        this.setState({
+            page:pageNo,
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/order/listAllSettlement",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                ownerName: this.state.nameSearch,//客户名称
+                orderNo:this.state.orderNoSearch,
+                startDate: this.state.releaseDate[0],
+                endDate: this.state.releaseDate[1],
+            },
+            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,
+		                    orderType:thisdata.orderType,
+		                    orderStatus:thisdata.orderStatus,
+		                    processStatus:thisdata.processStatus,
+		                    projectStage:thisdata.projectStage,
+		                    approval:thisdata.approval,
+		                    creater:thisdata.creater,
+                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
+                            signTime:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
+                        });
+                    };
+                }
+                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: [],
+            assignData:[],
+            boHuivisible:false,
+            selectedRowKeys: [],
+            selectedRows: [],
+            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: 'createTime',
+                    key: 'createTime',
+                }, 
+                {
+                    title: '订单编号',
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',
+                },
+                {
+                    title: '客户名称',
+                    dataIndex: 'category',
+                    key: 'category',
+                },
+                {
+                    title: '订单状态',
+                    dataIndex: 'orderStatus',
+                    key: 'orderStatus',
+                    render: text => { return getNewOrderStatus(text)}
+                },
+                {
+                    title: '订单负责人',
+                    dataIndex: 'creater',
+                    key: 'creater'
+                },
+                {
+                    title: '结算状态',
+                    dataIndex: 'liquidationStatus',
+                    key: 'liquidationStatus',
+                    render: text => { return getLiquidationStatus(text)}
+                },
+                {
+                    title:'操作',
+                    dataIndex: 'caozuo',
+                    key: 'caouzo',
+                    render:(text,recard)=>{
+                        return <div>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>添加收款记录</Button>
+                            <Button type="danger" onClick={(e)=>{e.stopPropagation(),this.reject(recard)}}>驳回</Button>
+                        </div>
+                    }
+                }
+            ],
+            dataSource: [],
+            searchTime: [,]
+        }
+    },
+    /* 添加收款记录 */
+    evaluate(recard){
+        this.state.assignData=recard;
+        this.setState({
+            assignVisible:true
+        })
+    },
+    /* 驳回 */
+    reject(recard){
+       this.setState({
+           bohuiData:recard,
+           boHuiVisible:true,
+           content:''
+       })
+    },
+    boHuiOk(){
+        this.setState({
+            boHuiVisible:false
+        })
+        this.loadData(this.state.page);
+    },
+    boHuiCancel(e){
+        this.setState({
+            boHuiVisible:false
+        })
+    },
+    componentWillMount() {
+        this.loadData();
+    },
+    tableRowClick(record, index) {
+        this.state.RowData = record;
+        this.setState({
+            showDesc: true,
+        });
+    },
+    closeDesc(e, s) {
+        this.state.showDesc = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    closeAssign(e, s) {
+        this.state.assignVisible = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    search() {
+        this.loadData();
+    },
+    reset() {
+        this.state.nameSearch = '';
+        this.state.orderRefundSearch='';
+        this.state.releaseDate = [];
+        this.state.orderNoSearch='';
+        this.loadData();
+    },
+    //驳回
+    boHuiSubmit(e){
+        e.preventDefault();
+        if(!this.state.content){
+            message.warning('请填写驳回原因');
+            return false;
+        }
+        this.setState({
+            loading:true
+        })
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/user/achievement/delete",
+            data: {
+                id: this.state.bohuiData.id,
+                reason:this.state.content
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('驳回成功!');
+                this.setState({
+                    loading: false
+                });
+                if((this.state.total)%10==1){
+                    this.loadData((this.state.page)-1);
+                }else{
+                    this.loadData(this.state.page);
+                }
+            } else {
+                message.warning(data.error[0].message);
+            };
+        }.bind(this));
+    },
+    searchSwitch() {
+        this.setState({
+            searchMore: !this.state.searchMore
+        });
+    },
     render() { 
-        return ( <div className="admin-content">
-            ShouKuang
-        </div> );
+        const rowSelection = {
+            selectedRowKeys: this.state.selectedRowKeys,
+            onChange: (selectedRowKeys, selectedRows) => {
+                this.setState({
+                    selectedRows: selectedRows.slice(-1),
+                    selectedRowKeys: selectedRowKeys.slice(-1)
+                });
+            }
+        };
+        const hasSelected = this.state.selectedRowKeys.length > 0;
+        const { RangePicker } = DatePicker;
+        const hasSelect = this.state.selectedRowKeys.length;
+        return ( <div className="user-content">
+            <div className="content-title">
+                    <span>收款结算</span>
+                </div>
+                <div className="user-search">
+                    <Input placeholder="退单编号"
+                        value={this.state.orderRefundSearch}
+                        onChange={(e) => { this.setState({ orderRefundSearch: e.target.value }); }} /> 
+                    <Input placeholder="订单编号"
+                        value={this.state.orderNoSearch}
+                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />  
+                    <Input placeholder="客户名称"
+                        value={this.state.nameSearch}
+                        onChange={(e) => { this.setState({ nameSearch: 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>
+                <OrderDesc
+                    data={this.state.RowData}
+                    showDesc={this.state.showDesc}
+                    closeDesc={this.closeDesc.bind(this)}
+                />
+                <Receivable
+                    data={this.state.assignData}
+                    showDesc={this.state.assignVisible}
+                    closeDesc={this.closeAssign.bind(this)}
+                />
+                <Modal visible={this.state.boHuiVisible} 
+                        width="400px" 
+                        title="驳回备注"
+                        footer=''
+                        onOk={this.boHuiOk} 
+                        onCancel={this.boHuiCancel}
+                >
+                    <Form layout="horizontal" onSubmit={this.boHuiSubmit}>
+			                <Spin spinning={this.state.loading}>
+                                <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label={<span><strong style={{color:'#f00'}}>*</strong>驳回原因</span>}>
+									<Input
+										type="textarea"
+										rows={4}
+										placeholder="请输入驳回原因"
+										value={this.state.content}
+										onChange={(e) => {
+											this.setState({ content: e.target.value });
+										}}
+									/>
+								</FormItem>   
+                                <FormItem wrapperCol={{ span: 12, offset:5 }}>  
+                                        <Button type="primary" htmlType="submit"  style={{marginRight:20}}>驳回</Button>
+                                        <Button type="default" onClick={()=>{this.boHuiCancel()}}>取消</Button>
+                                </FormItem>        
+                            </Spin>
+                        </Form>
+                </Modal>
+        </div> )
     }
-}
+})
  
 export default ShouKuang;

+ 302 - 10
js/component/manageCenter/financialManage/distribute/tuiDan.jsx

@@ -1,15 +1,307 @@
-import {Component} from 'react';
+import React,{Component} from 'react';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import moment from 'moment';
+import './public.less';
+import { Icon, Button,Form, Input, Select, Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
+import OrderDesc from '../orderDetail/orderDesc'
+import Receivable from './receivable';
+import Examine from './examine';
+import {getLiquidationStatus,getNewOrderStatus} from '@/tools';
+const FormItem = Form.Item;
 
-class TuiDan extends Component {
-    constructor(props) {
-        super(props);
-        this.state = {  }
-    }
+const TuiDan = React.createClass({
+    loadData(pageNo) {
+        this.state.data = [];
+        this.setState({
+            page:pageNo,
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/order/listAllSettlement",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                ownerName: this.state.nameSearch,//客户名称
+                orderNo:this.state.orderNoSearch,
+                startDate: this.state.releaseDate[0],
+                endDate: this.state.releaseDate[1],
+            },
+            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,
+		                    orderType:thisdata.orderType,
+		                    orderStatus:thisdata.orderStatus,
+		                    processStatus:thisdata.processStatus,
+		                    projectStage:thisdata.projectStage,
+		                    approval:thisdata.approval,
+		                    creater:thisdata.creater,
+                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
+                            signTime:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
+                        });
+                    };
+                }
+                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: [],
+            assignData:[],
+            boHuivisible:false,
+            selectedRowKeys: [],
+            selectedRows: [],
+            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: 'createTime',
+                    key: 'createTime',
+                }, 
+                {
+                    title: '订单编号',
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',
+                },
+                {
+                    title: '客户名称',
+                    dataIndex: 'category',
+                    key: 'category',
+                },
+                {
+                    title: '订单状态',
+                    dataIndex: 'orderStatus',
+                    key: 'orderStatus',
+                    render: text => { return getNewOrderStatus(text)}
+                },
+                {
+                    title: '订单负责人',
+                    dataIndex: 'creater',
+                    key: 'creater'
+                },
+                {
+                    title: '结算状态',
+                    dataIndex: 'liquidationStatus',
+                    key: 'liquidationStatus',
+                    render: text => { return getLiquidationStatus(text)}
+                },
+                {
+                    title:'操作',
+                    dataIndex: 'caozuo',
+                    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.reject(recard)}}>审批</Button>
+                        </div>
+                    }
+                }
+            ],
+            dataSource: [],
+            examineData:{},
+            searchTime: [,]
+        }
+    },
+    /* 添加收款记录 */
+    evaluate(recard){
+        this.state.assignData=recard;
+        this.setState({
+            assignVisible:true
+        })
+    },
+    /* 驳回 */
+    reject(recard){
+       this.setState({
+            examineData:recard,
+            examineVisible:true,
+       })
+    },
+    componentWillMount() {
+        this.loadData();
+    },
+    tableRowClick(record, index) {
+        this.state.RowData = record;
+        this.setState({
+            showDesc: true,
+        });
+    },
+    closeExamine(e, s) {
+        this.state.examineVisible = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    closeDesc(e, s) {
+        this.state.showDesc = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    closeAssign(e, s) {
+        this.state.assignVisible = e;
+        if (s) {
+            this.loadData(this.state.page);
+        };
+    },
+    search() {
+        this.loadData();
+    },
+    reset() {
+        this.state.nameSearch = '';
+        this.state.orderRefundSearch='';
+        this.state.releaseDate = [];
+        this.state.orderNoSearch='';
+        this.loadData();
+    },
+    //驳回
+    boHuiSubmit(e){
+        e.preventDefault();
+        if(!this.state.content){
+            message.warning('请填写驳回原因');
+            return false;
+        }
+        this.setState({
+            loading:true
+        })
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/user/achievement/delete",
+            data: {
+                id: this.state.bohuiData.id,
+                reason:this.state.content
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('驳回成功!');
+                this.setState({
+                    loading: false
+                });
+                if((this.state.total)%10==1){
+                    this.loadData((this.state.page)-1);
+                }else{
+                    this.loadData(this.state.page);
+                }
+            } else {
+                message.warning(data.error[0].message);
+            };
+        }.bind(this));
+    },
+    searchSwitch() {
+        this.setState({
+            searchMore: !this.state.searchMore
+        });
+    },
     render() { 
-        return ( <div className="admin-content">
-            TuiDan
-        </div> );
+        const rowSelection = {
+            selectedRowKeys: this.state.selectedRowKeys,
+            onChange: (selectedRowKeys, selectedRows) => {
+                this.setState({
+                    selectedRows: selectedRows.slice(-1),
+                    selectedRowKeys: selectedRowKeys.slice(-1)
+                });
+            }
+        };
+        const hasSelected = this.state.selectedRowKeys.length > 0;
+        const { RangePicker } = DatePicker;
+        const hasSelect = this.state.selectedRowKeys.length;
+        return ( <div className="user-content">
+            <div className="content-title">
+                <span>退单管理</span>
+                </div>
+                <div className="user-search">
+                    <Input placeholder="退单编号"
+                        value={this.state.orderRefundSearch}
+                        onChange={(e) => { this.setState({ orderRefundSearch: e.target.value }); }} /> 
+                    <Input placeholder="订单编号"
+                        value={this.state.orderNoSearch}
+                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />  
+                    <Input placeholder="客户名称"
+                        value={this.state.nameSearch}
+                        onChange={(e) => { this.setState({ nameSearch: 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}
+                             />
+                    </Spin>
+                </div>
+                {/* <OrderDesc
+                    data={this.state.RowData}
+                    showDesc={this.state.showDesc}
+                    closeDesc={this.closeDesc.bind(this)}
+                /> */}
+                <Receivable
+                    data={this.state.assignData}
+                    showDesc={this.state.assignVisible}
+                    closeDesc={this.closeAssign.bind(this)}
+                />
+                <Examine 
+                    data={this.state.examineData}
+                    showDesc={this.state.examineVisible}
+                    closeDesc={this.closeExamine.bind(this)}
+                />
+        </div> )
     }
-}
+})
  
 export default TuiDan;

+ 30 - 39
js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx

@@ -10,9 +10,8 @@ import {
     Form,
     Table
 } from 'antd';
-import {getOrderType} from '@/tools';
+import {getOrderType,splitUrl,getNewOrderType,getProcessStatus,getApproval,getLiquidationStatus} from '@/tools';
 
-import {  splitUrl } from '@/tools.js';
 const FormItem = Form.Item;
 
 const OrderDetail = Form.create()(React.createClass({
@@ -115,47 +114,39 @@ const OrderDetail = Form.create()(React.createClass({
 			],
         };
     },
-    loadData(id) {
-        this.setState({
-            loading: true
-        });
-        $.ajax({
+    loadData(record){
+    	this.state.orderList=[];
+    	$.ajax({
             method: "get",
-            dataType: "json",
-            crossDomain: false,
-            url: globalConfig.context +  '/api/admin/achievement/achievementDetail' ,
+			dataType: "json",
+			crossDomain: false,
+			url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
             data: {
-                id: id
+              orderNo:record?record.orderNo:this.props.data.orderNo
             },
             success: function (data) {
-                let thisData = data.data;
+                let thisData = data.data;                
                 if (!thisData) {
                     if (data.error && data.error.length) {
                         message.warning(data.error[0].message);
                     };
                     thisData = {};
                 };
-                let publishPagesArr = [];
-                thisData.publishPages.map(item=>{
-					publishPagesArr.push(item.publishPage)
-                })
                 this.setState({
-                    id:thisData.id,
-                    publishPagesArr:publishPagesArr,
-					data: thisData,
-					isHot:thisData.isHot,
-					isUrgent:thisData.isUrgent,
-					status:thisData.status,
-					isHot:thisData.isHot,
-                    pictureUrl: thisData.technicalPictureUrl ? splitUrl(thisData.technicalPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],
-                    pictureUrlMin: thisData.pictureUrlMin ? splitUrl(thisData.pictureUrlMin, ',', globalConfig.avatarHost + '/upload') : []
+					id:thisData.id,
+					orderList:thisData,
+					approval:thisData.approval==0?thisData.approval.toString():thisData.approval,
+					orderRemarks:thisData.orderRemarks,
+                    orgCodeUrl: thisData.contractPictureUrl ? splitUrl(thisData.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],
+               		orderNo:thisData.orderNo,//订单编号
+               		buyerId:thisData.buyerId,
                 });
             }.bind(this),
-        }).always(function () {
-            this.setState({
+       }).always(function () {
+            this.setState({            	
                 loading: false
             });
-        }.bind(this));
+        }.bind(this));  
     },
     getPictureUrl(e) {
         this.setState({ pictureUrl: e });
@@ -237,7 +228,7 @@ const OrderDetail = Form.create()(React.createClass({
         };
     },
     render() {
-        const theData = this.state.data || {};
+        const theData = this.state.orderList || {};
         const { getFieldDecorator } = this.props.form;
         const FormItem = Form.Item
         const formItemLayout = {
@@ -250,35 +241,35 @@ const OrderDetail = Form.create()(React.createClass({
 				<Spin spinning={this.state.loading}>
                     <div className="clearfix">
 						<FormItem className="half-item" {...formItemLayout} label="订单编号">
-							<span>{theData.name}</span>
+							<span>{theData.orderNo}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="签单时间">
-							<span>{theData.name}</span>
+							<span>{theData.releaseDate?(new Date(theData.releaseDate)).toLocaleString():''}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="客户名称">
 							<span>{theData.name}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="流转状态">
-							<span>{theData.name}</span>
+							<span>{getProcessStatus(theData.processStatus)}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="结算状态">
-							<span>{theData.name}</span>
+							<span>{getLiquidationStatus(theData.liquidationStatus)}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="已收款">
-							<span>{theData.name}</span>
+							<span>{theData.settlementAmount}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="订单类型">
-							<span>{theData.name}</span>
+							<span>{getNewOrderType(theData.orderType)}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="是否特批">
-							<span>{theData.name}</span>
+							<span>{getApproval(theData.approval)}</span>
 						</FormItem>
 					</div>
                     <div className="clearfix">
                         <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="合同扫描件">
                             <Upload className="demandDetailShow-upload"
                                 listType="picture-card"
-                                fileList={this.state.pictureUrl}                               
+                                fileList={this.state.orgCodeUrl}                               
                                 onPreview={(file) => {
                                     this.setState({
                                         previewImage: file.url || file.thumbUrl,
@@ -295,12 +286,12 @@ const OrderDetail = Form.create()(React.createClass({
                     </div> 
                     <div className="clearfix">
                         <FormItem className="half-item" {...formItemLayout} label="合同编号">
-							<span>{theData.name}</span>
+							<span>{theData.orderNo}</span>
 						</FormItem>           
                     </div>
                     <div className="clearfix">
 						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="订单留言">
-							<span>{theData.introduction}</span>
+							<span>{theData.orderRemarks}</span>
 						</FormItem>
 					</div>
                     <div className="clearfix">

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

@@ -49,6 +49,7 @@ const Assign=React.createClass({
         	datauser:{},
             selectedRowKeys: [],
             releaseDate: [],
+            contact:0,
             selectedRows: [],
             searchMore: true,
             loading: false,
@@ -90,7 +91,7 @@ const Assign=React.createClass({
                     key: 'abc',
                     render:(text,record,index)=>{
                     	return (
-                    	    <Popconfirm title={'您确认将订单 【'+this.props.data.orderNos+'】 分配给【'+record.departmentName+'-'+record.name+'】?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
+                    	    <Popconfirm title={'您确认将订单 【'+this.props.data.orderNo+'】 分配给【'+record.departmentName+'-'+record.name+'】?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
 							    <Button style={{marginRight:'5px'}} type="primary">选定</Button>                 
 							</Popconfirm>
 							)
@@ -204,6 +205,9 @@ const Assign=React.createClass({
     },
     componentWillReceiveProps(nextProps) {
         this.state.visible=nextProps.showDesc;
+        this.setState({
+            contact:0
+        })
     },
     render() {
         const rowSelection = {
@@ -233,6 +237,11 @@ const Assign=React.createClass({
 			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
 			                <Spin spinning={this.state.loading}>
 			                	<div>
+                                    <span style={{marginRight:5}}>常用联系人:</span>
+                                    <Radio.Group onChange={(e)=>{this.setState({contact:e.target.value})}} value={this.state.contact}>
+                                        <Radio value={0}>否</Radio>
+                                        <Radio value={1}>是</Radio>
+                                    </Radio.Group>
 			                		<Select placeholder="订单部门"
 				                            style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
 				                            value={this.state.departmenttList}

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

@@ -1,5 +1,7 @@
 
 import React from 'react';
+import {Icon,Upload,Modal} from 'antd';
+
 const PicturesWall = React.createClass({
     getInitialState() {
         return {

+ 15 - 2
js/component/tools.js

@@ -78,7 +78,7 @@ import {
     dataGrade,
     level,
     xiangmoState,
-    newOrderStatus,refundStatus,approval,projectStatus,processStatus,liquidationStatus 
+    newOrderStatus,refundStatus,approval,projectStatus,processStatus,liquidationStatus,newOrderType
 
 } from './dataDic.js';
 
@@ -1543,5 +1543,18 @@ module.exports = {
             });
             return theType;
         }
-    },
+    },//
+     //新项目类型  
+	getNewOrderType:function(e){
+        if (e||e==0) {
+            let str=e.toString()
+         let theType = '';
+         newOrderType.map(function (item) {
+                if (item.value == str) {
+                    theType = item.key;
+                };
+            });
+            return theType;
+        }
+    },//newOrderType
 }