Преглед на файлове

订单详情接口联调完成

liting2017 преди 6 години
родител
ревизия
74aab587c8

+ 13 - 0
js/component/dataDic.js

@@ -2551,5 +2551,18 @@ module.exports = {
             value: "2",
             key: "结项奖"
         }
+    ],
+    //奖金发放状态
+    bonusState:[
+        {
+            value: "0",
+            key: "未发放"
+        }, {
+            value: "1",
+            key: "部分发放"
+        }, {
+            value: "2",
+            key: "全部发放"
+        }
     ]
 };

+ 4 - 4
js/component/manageCenter/financialManage/bonus/bonusDetail.jsx

@@ -54,16 +54,16 @@ const BonusDetail=React.createClass({
                                         <span>{theData.orderNo}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="签单时间">
-							            <span>{theData.releaseDate?(new Date(theData.releaseDate)).toLocaleString():''}</span>
+							            <span>{theData.signTime?(new Date(theData.signTime)).toLocaleString():''}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="订单负责人">
-                                        <span>{theData.orderNo}</span>
+                                        <span>{theData.sellerName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="客户名称">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.buyerName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="签单金额">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.transactionAmount}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="首付款">
                                         <span>{theData.name}</span>

+ 18 - 7
js/component/manageCenter/financialManage/bonus/jsBonus.jsx

@@ -4,7 +4,7 @@ import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import '../distribute/public.less';
 import {  Button, Input, Spin, Table,Select, Switch, message, DatePicker,Modal ,Form } from 'antd';
-import {getProjectStatus,getPaymentType} from '@/tools';
+import {getProjectStatus,getPaymentType,getBonusState,getLiquidationStatus,getJsyPaymentType} from '@/tools';
 import JsBonuseDetail from './jsBonusDetail';
 const FormItem= Form.Item;
 
@@ -53,6 +53,8 @@ const JsBonus = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
@@ -139,8 +141,8 @@ const JsBonus = React.createClass({
                 },
                 {
                     title: '订单编号',
-                    dataIndex: 'createTime',
-                    key: 'createTime',
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',
                 }, 
                 {
                     title: '任务负责人',
@@ -192,17 +194,26 @@ const JsBonus = React.createClass({
                     key: 'creater225'
                 },{
                     title: '订单结算状态',
-                    dataIndex: 'creater335',
-                    key: 'creater335'
+                    dataIndex: 'liquidationStatus',
+                    key: 'liquidationStatus',
+                    render:text=>{
+                        return getLiquidationStatus(text)
+                    }
                 },
                 {
                     title: '发放类型',
                     dataIndex: 'creater22',
-                    key: 'creater22'
+                    key: 'creater22',
+                    render:text=>{
+                        return getJsyPaymentType(text)
+                    }
                 },{
                     title: '发放状态',
                     dataIndex: 'creater33',
-                    key: 'creater33'
+                    key: 'creater33',
+                    render:text=>{
+                        return getBonusState(text)
+                    }
                 },
                 {
                     title: '操作',

+ 27 - 24
js/component/manageCenter/financialManage/bonus/yxBonus.jsx

@@ -4,7 +4,7 @@ import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import '../distribute/public.less';
 import {  Button, Input, Spin, Table,Select, Switch, message, DatePicker,Modal ,Form } from 'antd';
-import {getNewOrderStatus,getProjectStatus,getPaymentType} from '@/tools';
+import {getNewOrderStatus,getProjectStatus,getPaymentType,getTransactionProject,getBonusState} from '@/tools';
 import BonuseDetail from './bonusDetail';
 const FormItem= Form.Item;
 
@@ -53,6 +53,8 @@ const YxBonus = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
@@ -88,7 +90,7 @@ const YxBonus = React.createClass({
 		                    approval:thisdata.approval,
 		                    creater:thisdata.creater,
                             createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
-                            signTime:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
+                            signTime:thisdata.signTime?(new Date(thisdata.signTime)).toLocaleString():''
                         });
                     };
                 }
@@ -134,49 +136,52 @@ const YxBonus = React.createClass({
             columns: [
                 {
                     title: '订单编号',
-                    dataIndex: 'id',
-                    key: 'id',   
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',   
                 },
                 {
                     title: '订单负责人',
-                    dataIndex: 'createTime',
-                    key: 'createTime',
+                    dataIndex: 'sellerName',
+                    key: 'sellerName',
                 }, 
                 {
                     title: '签单日期',
-                    dataIndex: 'orderNo',
-                    key: 'orderNo',
+                    dataIndex: 'signTime',
+                    key: 'signTime',
                 },
                 {
                     title: '客户名称',
-                    dataIndex: 'category',
-                    key: 'category',
+                    dataIndex: 'buyerName',
+                    key: 'buyerName',
                     render:text=>{
                         return text&&text>8?text.substr(0,8)+'...':text
                     }
                 },
                 {
                     title: '订单金额',
-                    dataIndex: 'orderStatus',
-                    key: 'orderStatus'
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount'
                 },
                 {
                     title: '流水科目',
-                    dataIndex: 'creater',
-                    key: 'creater'
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render:(text)=>{
+                        return getTransactionProject(text)
+                    }
                 },
                 {
                     title: '订单状态',
-                    dataIndex: 'creater111',
-                    key: 'creater111',
+                    dataIndex: 'orderStatus',
+                    key: 'orderStatus',
                     render:(text)=>{
                         return getNewOrderStatus(text)
                     }
                 },
                 {
                     title: '项目状态',
-                    dataIndex: 'creater1112',
-                    key: 'creater1112',
+                    dataIndex: 'projectStatus',
+                    key: 'projectStatus',
                     render:(text)=>{
                         return getProjectStatus(text)
                     }
@@ -184,7 +189,10 @@ const YxBonus = React.createClass({
                  {
                     title: '发放状态',
                     dataIndex: 'creater11',
-                    key: 'creater11'
+                    key: 'creater11',
+                    render:(text)=>{
+                        return getBonusState(text)
+                    }
                 },
                 {
                     title: '发放类型',
@@ -204,11 +212,6 @@ const YxBonus = React.createClass({
                     key: 'creater33'
                 },
                 {
-                    title: '发放状态',
-                    dataIndex: 'creater333',
-                    key: 'creater333'
-                },
-                {
                     title: '操作',
                     dataIndex: 'state11',
                     key: 'state11',

+ 13 - 18
js/component/manageCenter/financialManage/distribute/examine.jsx

@@ -54,7 +54,7 @@ const Examine=React.createClass({
     //保存
     handleSubmit(e,index){
         e.preventDefault();
-        if(index&&!this.state.remark){
+        if(index=='2'&&!this.state.remark){
             message.warning('请填写拒绝退单的原因');
             return false;
         }
@@ -65,12 +65,11 @@ const Examine=React.createClass({
             method: "post",
             dataType: "json",
             async:true,
-            url:  globalConfig.context + '/api/user/demand/apply',
+            url:  globalConfig.context + '/api/admin/financial/changeRefund',
             data: {
                 id: this.props.data.id,
-                states:index,
-                orderNo:this.state.orderNo,
-                remarks:index?this.state.remarks:''
+                refundStatus:index,
+                remarks:index=='2'?this.state.remarks:''
             }
         }).done(function (data) {
             this.setState({
@@ -112,7 +111,6 @@ const Examine=React.createClass({
     },
     render() {
         const theData = this.state.data || {};
-        const { getFieldDecorator,getFieldsValue } = this.props.form;
         const FormItem = Form.Item;
         const formItemLayout = {
             labelCol: { span: 10 },
@@ -126,35 +124,32 @@ const Examine=React.createClass({
                         title='退单审核'                     
                         footer=''
                         className="admin-desc-content">
-			            <Form layout="horizontal" onSubmit={(e)=>{this.handleSubmit(e,0)}} >
+			            <Form layout="horizontal" onSubmit={(e)=>{this.handleSubmit(e,1)}} >
 			                <Spin spinning={this.state.loading}>
                                 <div className="clearfix">
                                     <FormItem className="half-item" {...formItemLayout} label="退单编号">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.id}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="退单时间">
-							            <span>{theData.releaseDate?(new Date(theData.releaseDate)).toLocaleString():''}</span>
+							            <span>{theData.createTime?(new Date(theData.createTime)).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>
+                                        <span>{getNewOrderStatus(theData.orderStatus)}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="结算状态">
                                         <span>{getLiquidationStatus(theData.liquidationStatus)}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="付款方">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.payerName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="收款方">
-                                        <span>{theData.name}</span>
-                                    </FormItem>
-                                    <FormItem className="half-item" {...formItemLayout} label="订单编号">
-                                        <span>{theData.orderNo}</span>
+                                        <span>{theData.payeeName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="财务流水编号">
-                                        <span>{theData.orderNo}</span>
+                                        <span>{theData.billNo}</span>
                                     </FormItem>
                                     <div className="clearfix">
                                         <FormItem labelCol={{ span:5 }} wrapperCol={{ span: 17 }} label="终止合同">
@@ -195,7 +190,7 @@ const Examine=React.createClass({
                                         </FormItem>  
                                     </div>
                                     <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label="退单原因">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.reason}</span>
                                     </FormItem>
                                     <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label="拒绝原因">
                                         <Input
@@ -210,7 +205,7 @@ const Examine=React.createClass({
                                     </FormItem>
                                     <FormItem wrapperCol={{ span: 12, offset:5 }}>  
                                         <Button type="primary" htmlType="submit"  style={{marginRight:20}}>同意退单</Button>
-                                        <Button type="primary" onClick={(e)=>{this.handleSubmit(e,1)}}  style={{marginRight:20}}>拒绝退单</Button>
+                                        <Button type="primary" onClick={(e)=>{this.handleSubmit(e,2)}}  style={{marginRight:20}}>拒绝退单</Button>
                                         <Button type="default" onClick={()=>{this.onCancel()}}>取消</Button>
                                     </FormItem>  
                                 </div>

+ 5 - 3
js/component/manageCenter/financialManage/distribute/paiDan.jsx

@@ -4,7 +4,7 @@ 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 OrderDesc from '@/manageCenter/financialManage/orderDetail/orderDesc';
 import Assign from '@/manageCenter/publicComponent/assign';
 import {getProcessStatus,getApproval} from '@/tools';
 const FormItem = Form.Item;
@@ -13,6 +13,8 @@ const PaiDan = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
@@ -47,8 +49,8 @@ const PaiDan = React.createClass({
                             signTotalAmount:thisdata.signTotalAmount,
                             buyerName:thisdata.buyerName,
                             sellerName:thisdata.sellerName,
-                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
-                            signTime:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
+                            createTime:thisdata.createTime,
+                            signTime:thisdata.signTime
                         });
                     };
                 }

+ 23 - 23
js/component/manageCenter/financialManage/distribute/receivable.jsx

@@ -7,7 +7,7 @@ import moment from 'moment';
 
 const Receivable=React.createClass({
     loadData(record) {
-        this.state.data = {};
+        this.state.data = [];
         this.setState({
             loading: true
         });
@@ -15,24 +15,21 @@ const Receivable=React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/order/getOrderCommodity',
+            url: globalConfig.context + '/api/admin/financial/selectOneOrderAllRefundFlow',
             data: {
             	orderNo:record?record.orderNo:this.props.data.orderNo
             },
             success: function (data) {
-                let thisData = data.data;
-                if (!thisData) {
+                let thisdata = data.data;
+                if (!thisdata.length) {
                     if (data.error && data.error.length) {
                         message.warning(data.error[0].message);
                     };
-                    thisData = {};
-                };
-                this.setState({
-                    orderNo:thisData.orderNo,
-                    payeeId:thisData.payeeId,
-                    payerId:thisData.payerId,
-                    data: thisData,
-                });
+                } else {
+                    this.setState({
+                        data:thisdata,
+                    });
+                }
             }.bind(this),
         }).always(function () {
             this.setState({
@@ -45,6 +42,7 @@ const Receivable=React.createClass({
             loading: false,
             visible:false,
             showDesc:false,
+            data:{}
         };
     },
     //保存
@@ -69,11 +67,11 @@ const Receivable=React.createClass({
             method: "post",
             dataType: "json",
             async:true,
-            url:  globalConfig.context + '/api/user/demand/apply',
+            url:  globalConfig.context + this.props.api,
             data: {
-                orderNo: this.props.data.orderNo,
-                payeeId:this.state.payeeId,
-                payerId:this.state.payerId,
+                orderNo: this.state.data.orderNo,
+                payeeId:this.state.data.payeeId,
+                payerId:this.state.data.payerId,
                 transactionAmount: this.state.settlementAmount,
                 transactionSubject: this.state.transactionProject,
                 transactionChannel: this.state.transactionChannel,
@@ -116,10 +114,10 @@ const Receivable=React.createClass({
         })
     },
     componentWillReceiveProps(nextProps) {
+        this.state.visible=nextProps.showDesc;
         if(nextProps.data.orderNo){
             this.loadData(nextProps.data);
         }
-        this.state.visible=nextProps.showDesc;
         this.setState({
             transactionProject:undefined,
             settlementAmount:undefined,
@@ -131,28 +129,27 @@ const Receivable=React.createClass({
     },
     render() {
         const theData = this.state.data || {};
-        const { getFieldDecorator,getFieldsValue } = this.props.form;
         const FormItem = Form.Item;
         const formItemLayout = {
             labelCol: { span: 8 },
             wrapperCol: { span: 12 },
-		};
+        };
         return (
             <div className="user-content" >
 	            <Modal maskClosable={false} visible={this.state.visible}
                         onOk={this.onShow} onCancel={this.onCancel}
                         width='800px'
-                        title='添加收款记录'                     
+                        title={this.props.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>
+                                        <span>{theData.payerName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="收款方">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.payeeName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label={<span><strong style={{color:'#f00'}}>*</strong>金额</span>}>
                                         <InputNumber min={0} max={9999} placeholder="金额" 
@@ -195,7 +192,10 @@ const Receivable=React.createClass({
                                                         
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="财务流水时间">
-                                        <DatePicker
+                                        <DatePicker 
+                                            showTime
+                                            format="YYYY-MM-DD HH:mm:ss"
+                                            onOk={(e)=>{console.log(e)}}
                                             value={this.state.financialPayTimes ? moment(this.state.financialPayTimes) : null}
                                             onChange={(data, dataString) => { this.setState({ financialPayTimes: dataString }); }} />
                                     </FormItem>

+ 9 - 5
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -13,14 +13,16 @@ const ShouKuang = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: "get",
             dataType: "json",
-            crossDomain: false,     ///api/admin/financial/financeList
-            url: globalConfig.context + "/api/admin/order/listAllSettlement", 
+            crossDomain: false,     
+            url: globalConfig.context + "/api/admin/financial/financeList", 
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
@@ -216,9 +218,9 @@ const ShouKuang = React.createClass({
             method: "POST",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/user/achievement/delete",
+            url: globalConfig.context + "/api/admin/financial/reject",
             data: {
-                id: this.state.bohuiData.id,
+                orderNo: this.state.bohuiData.orderNo,
                 reason:this.state.content
             }
         }).done(function (data) {
@@ -292,6 +294,8 @@ const ShouKuang = React.createClass({
                     closeDesc={this.closeDesc.bind(this)}
                 />
                 <Receivable
+                    title='收款记录'
+                    api='/api/admin/financial/addReceiptsFlow'
                     data={this.state.assignData}
                     showDesc={this.state.assignVisible}
                     closeDesc={this.closeAssign.bind(this)}

+ 39 - 54
js/component/manageCenter/financialManage/distribute/tuiDan.jsx

@@ -3,30 +3,34 @@ import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import './public.less';
-import {  Button,Form, Input,  Spin, Table, Switch, message, DatePicker } from 'antd';
+import {  Button,Form,Select , Input,  Spin, Table, Switch, message, DatePicker } from 'antd';
 import Receivable from './receivable';
 import Examine from './examine';
-import {getLiquidationStatus,getNewOrderStatus} from '@/tools';
+import {getLiquidationStatus,getNewOrderStatus,getRefundStatus} from '@/tools';
 
 const TuiDan = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/order/listAllSettlement",
+            url: globalConfig.context + "/api/admin/financial/getRefundList",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                ownerName: this.state.nameSearch,//客户名称
+                id:this.state.orderRefundSearch,
+                buyName: this.state.nameSearch,//客户名称
                 orderNo:this.state.orderNoSearch,
-                startDate: this.state.releaseDate[0],
-                endDate: this.state.releaseDate[1],
+                refundStatus:this.state.refundStatus||0,
+                startTime: this.state.releaseDate[0],
+                endTime: this.state.releaseDate[1],
             },
             success: function (data) {
                 let theArr = [];
@@ -39,15 +43,14 @@ const TuiDan = React.createClass({
                         let thisdata = data.data.list[i];
                         theArr.push({
                             key: i,
+                            id:thisdata.id,
 		                    orderNo: thisdata.orderNo,
 		                    orderType:thisdata.orderType,
 		                    orderStatus:thisdata.orderStatus,
-		                    processStatus:thisdata.processStatus,
-		                    projectStage:thisdata.projectStage,
-		                    approval:thisdata.approval,
-		                    creater:thisdata.creater,
+		                    liquidationStatus:thisdata.liquidationStatus,
+                            refundStatus:thisdata.refundStatus,
+		                    saleName:thisdata.saleName,
                             createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
-                            signTime:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
                         });
                     };
                 }
@@ -108,8 +111,8 @@ const TuiDan = React.createClass({
                 },
                 {
                     title: '客户名称',
-                    dataIndex: 'category',
-                    key: 'category',
+                    dataIndex: 'buyName',
+                    key: 'buyName',
                 },
                 {
                     title: '订单状态',
@@ -119,8 +122,8 @@ const TuiDan = React.createClass({
                 },
                 {
                     title: '订单负责人',
-                    dataIndex: 'creater',
-                    key: 'creater'
+                    dataIndex: 'saleName',
+                    key: 'saleName'
                 },
                 {
                     title: '结算状态',
@@ -129,13 +132,19 @@ const TuiDan = React.createClass({
                     render: text => { return getLiquidationStatus(text)}
                 },
                 {
+                    title: '审批状态',
+                    dataIndex: 'refundStatus',
+                    key: 'refundStatus',
+                    render: text => { return getRefundStatus(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>
+                            {recard.refundStatus==1&&<Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(recard)}}>添加退款记录</Button>}
+                            {recard.refundStatus==0&&<Button type="primary" onClick={(e)=>{e.stopPropagation(),this.reject(recard)}}>审批</Button>}
                         </div>
                     }
                 }
@@ -196,43 +205,9 @@ const TuiDan = React.createClass({
         this.state.orderRefundSearch='';
         this.state.releaseDate = [];
         this.state.orderNoSearch='';
+        this.state.refundStatus=undefined;
         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
@@ -250,7 +225,6 @@ const TuiDan = React.createClass({
         };
         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>
@@ -265,6 +239,15 @@ const TuiDan = React.createClass({
                     <Input placeholder="客户名称"
                         value={this.state.nameSearch}
                         onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} />
+                    <Select 
+                        onChange={(e)=>{this.setState({refundStatus:e})}} 
+                        style={{width:160,marginRight:5}} 
+                        placeholder="审核状态"
+                        value={this.state.refundStatus}>
+                        <Option value="0">未审核</Option>
+                        <Option value="1">审核通过</Option>
+                        <Option value="2">审核拒绝</Option>
+                    </Select>   
                     <Button type="primary" onClick={this.search}>搜索</Button>
                     <Button onClick={this.reset}>重置</Button>
                     <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch.bind(this)} /></span>
@@ -286,6 +269,8 @@ const TuiDan = React.createClass({
                     </Spin>
                 </div>
                 <Receivable
+                    title='退款记录'
+                    api='xxx'
                     data={this.state.assignData}
                     showDesc={this.state.assignVisible}
                     closeDesc={this.closeAssign.bind(this)}

+ 54 - 68
js/component/manageCenter/financialManage/flowWater/departWater.jsx

@@ -4,7 +4,7 @@ import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import '../distribute/public.less';
 import {  Button, Input, Spin, Table,Select, Switch, message, DatePicker } from 'antd';
-import {getLiquidationStatus} from '@/tools';
+import {getTransactionProject } from '@/tools';
 import WaterDesc from './waterDetail';
 
 const MyWater = React.createClass({
@@ -13,17 +13,13 @@ const MyWater = React.createClass({
 			loading: true
 		});
 		$.ajax({
-			method: "post",
+			method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context + "/api/admin/organization/listOrganizationManagement",
-			data: {
-                pageNo:1,
-                pageSize:999,
-                type:1
-            },
+			url: globalConfig.context + "/api/admin/organization/selectSuperId",
+			data: {},
 			success: function(data) {
-                let thedata = data.data.list;
+                let thedata = data.data;
 				let theArr=[];
 				if(!thedata) {
 					if(data.error && data.error.length) {
@@ -52,6 +48,8 @@ const MyWater = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
@@ -63,10 +61,11 @@ const MyWater = React.createClass({
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                ownerName: this.state.nameSearch,//客户名称
-                departmentId:this.state.departmenttList,
-                startDate: this.state.releaseDate[0],
-                endDate: this.state.releaseDate[1],
+                departmentId:this.state.departmentId,
+                payeeName: this.state.payeeNameSearch,
+                payerName:this.state.payerNameSearch,
+                startTime: this.state.releaseDate[0],
+                endTime: this.state.releaseDate[1],
             },
             success: function (data) {
                 let theArr = [];
@@ -80,14 +79,16 @@ const MyWater = React.createClass({
                         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():''
+		                    billNo:thisdata.billNo,
+		                    transactionAmount:thisdata.transactionAmount,
+		                    payeeName:thisdata.payeeName,
+		                    payerName:thisdata.payerName,
+		                    transactionSubject:thisdata.transactionSubject,
+		                    transactionChannel:thisdata.transactionChannel,
+                            financialPayTimes:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
+                            financialPayNo:thisdata.financialPayNo,
+		                    createrName:thisdata.createrName,
+		                    saleName:thisdata.saleName,
                         });
                     };
                 }
@@ -131,62 +132,47 @@ const MyWater = React.createClass({
             columns: [
                 {
                     title: '平台流水号',
-                    dataIndex: 'id',
-                    key: 'id',   
+                    dataIndex: 'billNo',
+                    key: 'billNo',   
                 },
                 {
-                    title: '平台流水时间',
-                    dataIndex: 'createTime',
-                    key: 'createTime',
-                }, 
-                {
                     title: '金额',
-                    dataIndex: 'orderNo',
-                    key: 'orderNo',
-                },
-                {
-                    title: '付款方',
-                    dataIndex: 'category',
-                    key: 'category',
-                    render:text=>{
-                        return text&&text>8?text.substr(0,8)+'...':text
-                    }
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount',
                 },
                 {
                     title: '收款方',
-                    dataIndex: 'orderStatus',
-                    key: 'orderStatus',
-                    render:text=>{
-                        return text&&text>8?text.substr(0,8)+'...':text
-                    }
+                    dataIndex: 'payeeName',
+                    key: 'payeeName',
+                }, 
+                {
+                    title: '付款方',
+                    dataIndex: 'payerName',
+                    key: 'payerName',
                 },
                 {
                     title: '流水科目',
-                    dataIndex: 'creater',
-                    key: 'creater'
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
+                    render: text => { return getTransactionProject(text)}
                 },
                 {
-                    title: '交易渠道',
-                    dataIndex: 'liquidationStatus',
-                    key: 'liquidationStatus',
-                    render: text => { return getLiquidationStatus(text)}
-                },{
-                    title: '交易时间',
-                    dataIndex: 'liquidationStatus1',
-                    key: 'liquidationStatus1',
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTimes',
+                    key: 'financialPayTimes',
                 }, {
                     title: '财务流水号',
-                    dataIndex: 'creater1',
-                    key: 'creater1'
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo'
                 },
                 {
                     title: '订单编号',
-                    dataIndex: 'creater2',
-                    key: 'creater2'
+                    dataIndex: 'orderNo',
+                    key: 'orderNo'
                 },{
                     title: '订单负责人',
-                    dataIndex: 'creater3',
-                    key: 'creater3'
+                    dataIndex: 'saleName',
+                    key: 'saleName'
                 },
             ],
             dataSource: [],
@@ -213,10 +199,10 @@ const MyWater = React.createClass({
         this.loadData();
     },
     reset() {
-        this.state.orderRefundSearch='';
+        this.state.payeeNameSearch='';
         this.state.releaseDate = [];
-        this.state.departmenttList=undefined;
-        this.state.orderNoSearch='';
+        this.state.payerNameSearch='';
+        this.state.departmentId=undefined;
         this.loadData();
     },
     searchSwitch() {
@@ -244,8 +230,8 @@ const MyWater = React.createClass({
                 <div className="user-search">
                     <Select placeholder="订单部门"
                         style={{ width: 150 ,marginRight:10}}
-                        value={this.state.departmenttList}
-                        onChange={(e) => { this.setState({ departmenttList: e }) }}>
+                        value={this.state.departmentId}
+                        onChange={(e) => { this.setState({ departmentId: e }) }}>
                         {
                             departmentArr.map(function (item) {
                                     return <Select.Option key={item.id} >{item.name}</Select.Option>
@@ -253,11 +239,11 @@ const MyWater = React.createClass({
                         }
                     </Select>
                     <Input placeholder="收款方"
-                        value={this.state.orderRefundSearch}
-                        onChange={(e) => { this.setState({ orderRefundSearch: e.target.value }); }} /> 
+                        value={this.state.payeeNameSearch}
+                        onChange={(e) => { this.setState({ payeeNameSearch: e.target.value }); }} /> 
                     <Input placeholder="付款方"
-                        value={this.state.orderNoSearch}
-                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />  
+                        value={this.state.payerNameSearch}
+                        onChange={(e) => { this.setState({ payerNameSearch: 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>

+ 46 - 37
js/component/manageCenter/financialManage/flowWater/myWater.jsx

@@ -11,21 +11,23 @@ const MyWater = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/order/listAllSettlement",
+            url: globalConfig.context + "/api/admin/financial/myBillList",
             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],
+                payeeName: this.state.payeeNameSearch,
+                payerName:this.state.payerNameSearch,
+                startTime: this.state.releaseDate[0],
+                endTime: this.state.releaseDate[1],
             },
             success: function (data) {
                 let theArr = [];
@@ -39,14 +41,16 @@ const MyWater = React.createClass({
                         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():''
+		                    billNo:thisdata.billNo,
+		                    transactionAmount:thisdata.transactionAmount,
+		                    payeeName:thisdata.payeeName,
+		                    payerName:thisdata.payerName,
+		                    transactionSubject:thisdata.transactionSubject,
+		                    transactionChannel:thisdata.transactionChannel,
+                            financialPayTimes:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
+                            financialPayNo:thisdata.financialPayNo,
+		                    createrName:thisdata.createrName,
+		                    saleName:thisdata.saleName,
                         });
                     };
                 }
@@ -90,33 +94,38 @@ const MyWater = React.createClass({
             columns: [
                 {
                     title: '平台流水号',
-                    dataIndex: 'id',
-                    key: 'id',   
+                    dataIndex: 'billNo',
+                    key: 'billNo',   
                 },
                 {
-                    title: '平台流水时间',
-                    dataIndex: 'createTime',
-                    key: 'createTime',
+                    title: '金额',
+                    dataIndex: 'transactionAmount',
+                    key: 'transactionAmount',
+                },
+                {
+                    title: '收款方',
+                    dataIndex: 'payeeName',
+                    key: 'payeeName',
                 }, 
                 {
-                    title: '金额',
-                    dataIndex: 'orderNo1',
-                    key: 'orderNo1',
+                    title: '付款方',
+                    dataIndex: 'payerName',
+                    key: 'payerName',
                 },
                 {
                     title: '流水科目',
-                    dataIndex: 'creater',
-                    key: 'creater',
+                    dataIndex: 'transactionSubject',
+                    key: 'transactionSubject',
                     render: text => { return getTransactionProject(text)}
                 },
                 {
-                    title: '交易时间',
-                    dataIndex: 'liquidationStatus1',
-                    key: 'liquidationStatus1',
+                    title: '财务流水时间',
+                    dataIndex: 'financialPayTimes',
+                    key: 'financialPayTimes',
                 }, {
                     title: '财务流水号',
-                    dataIndex: 'creater1',
-                    key: 'creater1'
+                    dataIndex: 'financialPayNo',
+                    key: 'financialPayNo'
                 },
                 {
                     title: '订单编号',
@@ -124,8 +133,8 @@ const MyWater = React.createClass({
                     key: 'orderNo'
                 },{
                     title: '订单负责人',
-                    dataIndex: 'creater3',
-                    key: 'creater3'
+                    dataIndex: 'saleName',
+                    key: 'saleName'
                 },
             ],
             dataSource: [],
@@ -152,9 +161,9 @@ const MyWater = React.createClass({
         this.loadData();
     },
     reset() {
-        this.state.orderRefundSearch='';
+        this.state.payeeNameSearch='';
         this.state.releaseDate = [];
-        this.state.orderNoSearch='';
+        this.state.payerNameSearch='';
         this.loadData();
     },
     searchSwitch() {
@@ -180,11 +189,11 @@ const MyWater = React.createClass({
                 </div>
                 <div className="user-search">
                     <Input placeholder="收款方"
-                        value={this.state.orderRefundSearch}
-                        onChange={(e) => { this.setState({ orderRefundSearch: e.target.value }); }} /> 
+                        value={this.state.payeeNameSearch}
+                        onChange={(e) => { this.setState({ payeeNameSearch: e.target.value }); }} /> 
                     <Input placeholder="付款方"
-                        value={this.state.orderNoSearch}
-                        onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />  
+                        value={this.state.payerNameSearch}
+                        onChange={(e) => { this.setState({ payerNameSearch: 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>

+ 13 - 16
js/component/manageCenter/financialManage/flowWater/waterDetail.jsx

@@ -14,9 +14,9 @@ const WaterDetail=React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/order/getOrderCommodity',
+            url: globalConfig.context + '/api/admin/financial/selectOneRefundFlow',
             data: {
-            	orderNo:record?record.orderNo:this.props.data.orderNo
+            	billNo:record?record.billNo:this.props.data.billNo
             },
             success: function (data) {
                 let theArr = [];
@@ -29,11 +29,8 @@ const WaterDetail=React.createClass({
                         let thisdata = data.data[i];
                         theArr.push({
                              key: i,
-                             id:thisdata.id,
                              data:thisdata,
                              orderNo:thisdata.orderNo,
-                             orgCodeUrl: thisdata.contractPictureUrl ? splitUrl(thisdata.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],
-                             orgCodeUrlNo: thisdata.contractPictureUrl ? splitUrl(thisdata.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],
                         });
                     };
                    }
@@ -66,7 +63,7 @@ const WaterDetail=React.createClass({
     componentWillMount() {
     },
     componentWillReceiveProps(nextProps) {
-        if(nextProps.data.orderNo){
+        if(nextProps.data.billNo){
             this.loadData(nextProps.data);
         }
         this.state.visible=nextProps.showDesc;
@@ -90,34 +87,34 @@ const WaterDetail=React.createClass({
 			                <Spin spinning={this.state.loading}>
                                 <div className="clearfix">
                                     <FormItem className="half-item" {...formItemLayout} label="平台流水编号">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.billNo}</span>
                                     </FormItem>
-                                    <FormItem className="half-item" {...formItemLayout} label="平台流水时间">
-							            <span>{theData.releaseDate?(new Date(theData.releaseDate)).toLocaleString():''}</span>
+                                    <FormItem className="half-item" {...formItemLayout} label="财务流水时间">
+							            <span>{theData.financialPayTimes?(new Date(theData.financialPayTimes)).toLocaleString():''}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="金额">
-                                        <span>{theData.orderNo}</span>
+                                        <span>{theData.transactionAmount}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="流水科目">
-                                        <span>{getTransactionProject(theData.orderState)}</span>
+                                        <span>{getTransactionProject(theData.transactionSubject)}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="付款方">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.payerName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="收款方">
-                                        <span>{theData.name}</span>
+                                        <span>{theData.payeeName}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="交易渠道">
-                                        <span>{getTransactionChannel(theData.liquidationStatus)}</span>
+                                        <span>{getTransactionChannel(theData.transactionChannel)}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="订单编号">
                                         <span>{theData.orderNo}</span>
                                     </FormItem>
                                     <FormItem className="half-item" {...formItemLayout} label="财务流水编号">
-                                        <span>{theData.orderNo}</span>
+                                        <span>{theData.financialPayNo}</span>
                                     </FormItem>
                                     <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 16 }} label="备注">
-                                        <span>{theData.remark}</span>
+                                        <span>{theData.remarks}</span>
                                     </FormItem>
                                 </div>
 			                </Spin>

+ 44 - 89
js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx

@@ -10,7 +10,7 @@ import {
     Form,
     Table
 } from 'antd';
-import {getOrderType,splitUrl,getNewOrderType,getProcessStatus,getApproval,getLiquidationStatus} from '@/tools';
+import {getOrderType,splitUrl,getNewOrderType,getProcessStatus,getApproval,getLiquidationStatus,getProjectStatus} from '@/tools';
 
 const FormItem = Form.Item;
 
@@ -24,7 +24,7 @@ const OrderDetail = Form.create()(React.createClass({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/order/getOrderCommodity',
+            url: globalConfig.context + '/open/api/admin/newOrder/getOrderTask',
             data: {
             	orderNo:record?record.orderNo:this.props.data.orderNo
             },
@@ -42,16 +42,14 @@ const OrderDetail = Form.create()(React.createClass({
                              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,
+                             commodityQuantity:thisdata.commodityQuantity,
+                             taskStatus:thisdata.taskStatus,
+                             taskComment:thisdata.taskComment,
+                             main:thisdata.main,
+                             contacts:thisdata.contacts,
+                             contactsMobile:thisdata.contactsMobile,
+                             cname:thisdata.cname,
                         });
                     };
                    }
@@ -80,37 +78,48 @@ const OrderDetail = Form.create()(React.createClass({
 				{
                     title: '业务项目名称',
                     dataIndex: 'commodityName',
-                    key: 'commodityName'
+                    key: 'commodityName',
+                    render:text=>{
+                        return text&&text.length>6?<span title={text}>{text.substr(0,8)}...</span>:text
+                    }
                 }, {
                     title: '项目类别',
-                    dataIndex: 'commodityType',
-                    key: 'commodityType',
-                    render:(text)=>{
-                    	return (getOrderType(text))
-                    }
-                },{
-                    title: '项目数量',
-                    dataIndex: 'commodityQuantity',
-                    key: 'commodityQuantity'
+                    dataIndex: 'cname',
+                    key: 'cname'
                 }, {
                     title: '服务市价(万元)',
                     dataIndex: 'commodityPrice',
                     key: 'commodityPrice'
                 }, {
-                    title: '实签价格(万元)',
-                    dataIndex: 'discountPrice',
-                    key: 'discountPrice'
-                }, {
-                    title: '下单时间',
-                    dataIndex: 'createTimes',
-                    key: 'createTimes'
+                    title: '项目状态',
+                    dataIndex: 'taskStatus',
+                    key: 'taskStatus',
+                    render:text=>{
+                        return getProjectStatus(text);
+                    }
+                },{
+                    title: '项目负责人',
+                    dataIndex: 'contacts',
+                    key: 'contacts'
+                }, 
+                {
+                    title: '联系方式',
+                    dataIndex: 'contactsMobile',
+                    key: 'contactsMobile'
                 }, {
+                    title: '是否主要联系人',
+                    dataIndex: 'main',
+                    key: 'main',
+                    render:text=>{
+                        return text?'是':'否'
+                    }
+                },{
                     title: '项目说明',
-                    dataIndex: 'remarks',
-                    key: 'remarks',
-					render:(text)=>{
-						return (text&&text.length>8?text.substr(0,8)+'…':text)
-					}
+                    dataIndex: 'taskComment',
+                    key: 'taskComment',
+					render:text=>{
+                        return text&&text.length>8?<span title={text}>{text.substr(0,8)}...</span>:text
+                    }
                 }
 			],
         };
@@ -121,7 +130,7 @@ const OrderDetail = Form.create()(React.createClass({
             method: "get",
 			dataType: "json",
 			crossDomain: false,
-			url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
+			url: globalConfig.context + '/open/api/admin/newOrder/getOrderNewDetail',
             data: {
               orderNo:record?record.orderNo:this.props.data.orderNo
             },
@@ -181,59 +190,6 @@ const OrderDetail = Form.create()(React.createClass({
     getPictureUrl(e) {
         this.setState({ pictureUrl: e });
     },
-	cancelFun(){
-		this.props.closeDesc();
-    },
-    //审核通过/拒绝
-    updateFun(index){
-        this.setState({
-            loading:true
-        })
-        $.ajax({
-            method: "post",
-            dataType: "JSON",
-            crossDomain: false,
-            url: globalConfig.context +  '/api/admin/achievement/audit',
-            data: {
-                id: this.state.id,
-                auditResult:index,
-                auditInfo:this.state.refuseValue
-            }
-        }).done(function (data) {
-            if (!data.error.length) {
-                message.success('操作成功!');
-                this.setState({
-                    loading: false,
-                });
-                this.props.handOk()
-            } else {
-                message.warning(data.error[0].message);
-            };
-        }.bind(this));
-    },
-    //审核拒绝
-    refuse(){
-        this.setState({
-            refuseValue:'',
-            refuseVisible:true
-        })
-    },
-    refuseOk(){
-        if(!this.state.refuseValue){
-            message.warning('请填写拒绝原因。')
-            return;
-        }
-        this.setState({
-            refuseVisible:false
-        })
-        this.updateFun(0)
-    },
-    refuseCancel(){
-        this.setState({
-            refuseValue:'',
-            refuseVisible:false
-        })
-    },
     componentWillMount() {
         if (this.props.data.orderNo) {
             this.loadData();
@@ -261,7 +217,6 @@ const OrderDetail = Form.create()(React.createClass({
     },
     render() {
         const theData = this.state.orderList || {};
-        const { getFieldDecorator } = this.props.form;
         const FormItem = Form.Item
         const formItemLayout = {
             labelCol: { span: 6 },
@@ -277,7 +232,7 @@ const OrderDetail = Form.create()(React.createClass({
 							<span>{theData.orderNo}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="签单时间">
-							<span>{theData.signDate?(new Date(theData.signDate)).toLocaleString():''}</span>
+							<span>{theData.signDate}</span>
 						</FormItem>
                         <FormItem className="half-item" {...formItemLayout} label="客户名称">
 							<span>{theData.userName}</span>

+ 2 - 0
js/component/manageCenter/index/contacts/index.jsx

@@ -49,6 +49,8 @@ const Contact = React.createClass({
     loadData(pageNo) {
         this.state.data = [];
         this.setState({
+            selectedRowKeys:[],
+            selectedRowKey:[],
             page:pageNo,
             loading: true
         });

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

@@ -16,10 +16,10 @@ const PaiDan = React.createClass({
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/order/listAllSettlement",
+            url: globalConfig.context + "/open/api/admin/newOrder/orderNewList",
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
@@ -45,10 +45,10 @@ const PaiDan = React.createClass({
 		                    orderType:thisdata.orderType,
 		                    processStatus:thisdata.processStatus,
                             signTotalAmount:thisdata.signTotalAmount,
-                            buyerName:thisdata.buyerName,
+                            userName:thisdata.userName,
+                            salesmanName:thisdata.salesmanName,
                             sellerName:thisdata.sellerName,
-                            createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():'',
-                            signTime:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():''
+                            signDate:thisdata.signDate
                         });
                     };
                 }
@@ -101,13 +101,13 @@ const PaiDan = React.createClass({
                     key: 'createTime',
                 },  {
                     title: '签单时间',
-                    dataIndex: 'signTime',
-                    key: 'signTime',
+                    dataIndex: 'signDate',
+                    key: 'signDate',
                 },
                 {
                     title: '签单客户',
-                    dataIndex: 'buyerName',
-                    key: 'buyerName',
+                    dataIndex: 'userName',
+                    key: 'userName',
                 },
                 {
                     title: '流程状态',
@@ -128,8 +128,8 @@ const PaiDan = React.createClass({
                 },
                 {
                     title: '订单负责人',
-                    dataIndex: 'sellerName',
-                    key: 'sellerName'
+                    dataIndex: 'salesmanName',
+                    key: 'salesmanName'
                 },
                 {
                     title: '分派状态',

+ 273 - 7
js/component/manageCenter/project/task/taskAssignment.jsx

@@ -1,12 +1,278 @@
 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 '@/manageCenter/financialManage/distribute/public.less';
+import { Icon, Button,Form, Input, Select, Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
+import OrderDesc from '@/manageCenter/financialManage/orderDetail/orderDesc'
+import Assign from '@/manageCenter/publicComponent/assign';
+import {getProcessStatus,getApproval} from '@/tools';
+
+const Task = 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,
+                buyerName: this.state.nameSearch,//客户名称
+                orderNo:this.state.orderNoSearch,
+                distribution:this.state.distribution, //是否分配
+                startTime: this.state.releaseDate[0],
+                endTime: 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,
+                            approval:thisdata.approval,
+		                    orderType:thisdata.orderType,
+		                    processStatus:thisdata.processStatus,
+                            signTotalAmount:thisdata.signTotalAmount,
+                            buyerName:thisdata.buyerName,
+                            sellerName:thisdata.sellerName,
+                            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: [],
+            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: 'orderNo1',
+                    key: 'orderNo1',
+                }, {
+                    title: '任务名称',
+                    dataIndex: 'createTime',
+                    key: 'createTime',
+                },  {
+                    title: '订单编号',
+                    dataIndex: 'orderNo',
+                    key: 'orderNo',
+                },
+                {
+                    title: '业务类别',
+                    dataIndex: 'buyerName2',
+                    key: 'buyerName2',
+                },
+                {
+                    title: '客户名称',
+                    dataIndex: 'buyerName',
+                    key: 'buyerName',
+                },
+                {
+                    title: '任务负责人',
+                    dataIndex: 'buyerName1',
+                    key: 'buyerName1',
+                },
+                {
+                    title: '任务状态',
+                    dataIndex: 'processStatus',
+                    key: 'processStatus',
+                    render: text => { return getProcessStatus(text)}
+                },
+                {
+                    title: '立项状态',
+                    dataIndex: 'approval',
+                    key: 'approval',
+                    render: text => { return getApproval(text)}
+                },
+                {
+                    title: '订单负责人',
+                    dataIndex: 'sellerName',
+                    key: 'sellerName'
+                },
+                {
+                    title: '公示状态',
+                    dataIndex: 'sellerName13',
+                    key: 'sellerName13',
+                    render: text => { return getApproval(text)}
+                },
+                {
+                    title: '分派时间',
+                    dataIndex: 'sellerName12',
+                    key: 'sellerName12'
+                },
+                {
+                    title: '任务数量',
+                    dataIndex: 'sellerName1',
+                    key: 'sellerName1'
+                },
+                {
+                    title:'操作',
+                    dataIndex: 'caozuo',
+                    key: 'caouzo',
+                    render:(text,recard)=>{
+                        return <div>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(recard,0)}}>转交</Button>
+                            <Button type="primary" style={{margin:'0 10px'}} onClick={(e)=>{e.stopPropagation(),this.evaluate(recard,1)}}>分配任务</Button>
+                        </div>
+                    }
+                }
+            ],
+            dataSource: [],
+            searchTime: [,]
+        }
+    },
+    /* 分派 */
+    evaluate(recard,nub){
+        this.state.assignData=recard;
+        this.setState({
+            nub,
+            assignVisible:true
+        })
+    },
+   
+    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.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 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>
+                <OrderDesc
+                    data={this.state.RowData}
+                    showDesc={this.state.showDesc}
+                    closeDesc={this.closeDesc.bind(this)}
+                />
+                <Assign
+                    selApi={this.state.nub?"/api/admin/financial/fenpei":'/api/admin/financial/zhuanjiao'}
+                    data={this.state.assignData}
+                    showDesc={this.state.assignVisible}
+                    closeDesc={this.closeAssign.bind(this)}
+                />
+        </div> )
     }
-}
+})
  
 export default Task;

+ 14 - 7
js/component/manageCenter/publicComponent/assign.jsx

@@ -86,9 +86,9 @@ const Assign=React.createClass({
                     key: 'abc',
                     render:(text,record,index)=>{
                     	return (
-                    	    <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>
+                                <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>
 							)
                     }
                 }
@@ -116,11 +116,15 @@ const Assign=React.createClass({
 	},
     //分配对象列表
     contactList(){
+        this.setState({
+            loading:true
+        });
+        let api = this.state.contact?'/api/admin/contacts':'/api/admin/superviser/adminList';
         $.ajax({
             method: "get",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + '/api/admin/superviser/adminList',
+            url: globalConfig.context + api,
             data: {
                 pageNo: 1,
                 pageSize: 99,
@@ -190,16 +194,19 @@ const Assign=React.createClass({
     },
     resetOrder(){
     	this.state.departmenttList=undefined;
-    	this.state.financeNameSearch='';
+        this.state.financeNameSearch='';
+        this.state.contact=0;
     	this.setState({
     		distributionList:[]
     	});
     },
     componentWillMount() {
-        this.departmentList();
     },
     componentWillReceiveProps(nextProps) {
         this.state.visible=nextProps.showDesc;
+        if(nextProps.showDesc){
+            this.departmentList();
+        }
         this.setState({
             contact:0
         })
@@ -211,7 +218,7 @@ const Assign=React.createClass({
 	            <Modal maskClosable={false} visible={this.state.visible}
                         onOk={this.onShow} onCancel={this.onCancel}
                         width='800px'
-                        title='派单'                     
+                        title='选择'                     
                         footer=''
                         className="admin-desc-content">
 			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >

+ 1 - 0
js/component/manageCenter/statistics/order/index.jsx

@@ -263,6 +263,7 @@ const Order = React.createClass({
                     <Spin spinning={this.state.loading}>
                         <Table columns={this.state.columns}
                             dataSource={this.state.dataSource}
+                            scroll={{y:500}}
                             pagination={false}
                             />
                     </Spin>

+ 15 - 2
js/component/tools.js

@@ -79,7 +79,7 @@ import {
     level,
     xiangmoState,
     newOrderStatus,refundStatus,approval,projectStatus,processStatus,liquidationStatus,newOrderType,paymentType
-    ,jsyPaymentType
+    ,jsyPaymentType,bonusState
 } from './dataDic.js';
 
 import { provinceList} from './NewDicProvinceList.js';
@@ -1297,7 +1297,7 @@ module.exports = {
             return theType;
         }
 	},
-	//交易渠道  transactionProject
+	//交易渠道  
 	getTransactionChannel:function(e){
    		if (e||e==0) {
    			let str=e.toString()
@@ -1581,6 +1581,19 @@ module.exports = {
                 };
             });
             return theType;
+        }//
+    },
+    //奖金发放状态  
+	getBonusState:function(e){
+        if (e||e==0) {
+            let str=e.toString()
+         let theType = '';
+         bonusState.map(function (item) {
+                if (item.value == str) {
+                    theType = item.key;
+                };
+            });
+            return theType;
         }
     },
 }