dengzhiguo 7 years ago
parent
commit
bfbdb209ed
26 changed files with 1268 additions and 506 deletions
  1. 16 0
      js/admin/operate.js
  2. 16 0
      js/admin/order.js
  3. 3 1
      js/component/dataDic.js
  4. 7 34
      js/component/manageCenter/achievement/content.jsx
  5. 7 154
      js/component/manageCenter/customer/content.jsx
  6. 14 11
      js/component/manageCenter/customer/customerData/companyCustomer.jsx
  7. 14 12
      js/component/manageCenter/customer/customerData/myClient.jsx
  8. 14 11
      js/component/manageCenter/customer/individualCustomer/individualCustomer.jsx
  9. 14 11
      js/component/manageCenter/customer/individualCustomer/queryCustomer.jsx
  10. 6 34
      js/component/manageCenter/demand/content.jsx
  11. 7 0
      js/component/manageCenter/idea/content.jsx
  12. 73 0
      js/component/manageCenter/operate/content.jsx
  13. 68 0
      js/component/manageCenter/operate/content.less
  14. 419 0
      js/component/manageCenter/operate/memberOrderList.jsx
  15. 0 0
      js/component/manageCenter/operate/messagePush/butlerMessage.jsx
  16. 0 0
      js/component/manageCenter/operate/messagePush/jitaoMessage.jsx
  17. 0 0
      js/component/manageCenter/operate/messagePush/remindMessage.jsx
  18. 0 0
      js/component/manageCenter/operate/messagePush/systemMessage.jsx
  19. 66 0
      js/component/manageCenter/order/content.jsx
  20. 63 0
      js/component/manageCenter/order/content.less
  21. 419 0
      js/component/manageCenter/order/memberOrderList.jsx
  22. 4 37
      js/component/manageCenter/set/content.jsx
  23. 9 3
      js/component/manageCenter/topTab.jsx
  24. 7 198
      js/component/manageCenter/userOrder/content.jsx
  25. 12 0
      webpack.config.js
  26. 10 0
      webpack/entry.config.js

+ 16 - 0
js/admin/operate.js

@@ -0,0 +1,16 @@
+import React from 'react';
+import ReactDOM from 'react-dom';
+import '../../css/base.less';
+
+import TopTab from '../component/manageCenter/topTab.jsx';
+import Footer from '../component/manageCenter/bottom.jsx';
+import Content from '../component/manageCenter/operate/content.jsx';
+
+ReactDOM.render(
+    <div className="wrap clearfix">
+        <TopTab active={'operate'}/>
+        <Content />
+        <Footer />
+    </div>,
+    document.getElementById('root')
+)

+ 16 - 0
js/admin/order.js

@@ -0,0 +1,16 @@
+import React from 'react';
+import ReactDOM from 'react-dom';
+import '../../css/base.less';
+
+import TopTab from '../component/manageCenter/topTab.jsx';
+import Footer from '../component/manageCenter/bottom.jsx';
+import Content from '../component/manageCenter/order/content.jsx';
+
+ReactDOM.render(
+    <div className="wrap clearfix">
+        <TopTab active={'order'}/>
+        <Content />
+        <Footer />
+    </div>,
+    document.getElementById('root')
+)

+ 3 - 1
js/component/dataDic.js

@@ -1773,6 +1773,8 @@ module.exports = {
 			{value:'科技需求管理',key:'demand'},
 			{value:'科技思想管理',key:'idea'},
 			{value:'用户订单管理',key:'userOrder'},
-			{value:'系统设置',key:'system'}
+			{value:'系统设置',key:'system'},
+			{value:'订单管理',key:'order'},
+			{value:'平台管理',key:'operate'}
 		]
 };

+ 7 - 34
js/component/manageCenter/achievement/content.jsx

@@ -41,40 +41,6 @@ class Content extends Component {
                     });
                 });
                 break;
-            //新增空白    
-            case 'myTechAchievement':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-             case 'techAchievementQuery':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-            case 'techAchievementAudit':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-            case 'techAchievementPublish':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-            //-------//    
             case 'userTechAchievement':
                 require.ensure([], () => {
                     const TechAchievement = require('./techAchievement').default;
@@ -105,6 +71,13 @@ class Content extends Component {
                     });
                 });
                 break;
+            default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:Module     
+                	});
+                });  
         };
         window.location.hash = key;
     }

+ 7 - 154
js/component/manageCenter/customer/content.jsx

@@ -103,161 +103,14 @@ class Content extends Component {
                 });
       	    });
       	    break;
-      	    
-      	    //新增空白    
-      	    //我的客户
-            case 'myInvestment': //我的投资机构
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myExpert': //我的专家
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myConsultant': //我的咨询师
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break; 
-              //客户查询  
-            case 'investmentQuery': //投资机构查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'expertQuery': //专家查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'consultantQuery': //咨询师查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-              //客户管理  
-            case 'organizationManage': //单位客户管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'personalManage': //个人客户管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'investmentManage': //投资机构管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'expertManage': //专家管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'consultantManage': //咨询师管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break; 
-            //客户审核
-            case 'identityAudit': //实名认证审核
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'expertAudit': //专家申请审核
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'memberAudit': //会员申请审核
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break; 
-            //客户发布
-            case 'investmentPublish': //投资机构发布
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'expertPublish': //专家发布
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'consultantPublish': //咨询师发布
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break; 
-            //客户业务
-            case 'businessManage': //业务管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            
+      	    default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:<Module />	    
+                	});
+                });  
         };
-        
         window.location.hash = key;
     }
     render() {

+ 14 - 11
js/component/manageCenter/customer/customerData/companyCustomer.jsx

@@ -1038,6 +1038,7 @@ const PublicCustomer = Form.create()(React.createClass({
 		this.state.RowData = record;
 		this.detailsModalOk(record);
 		this.setState({
+			callnub:'1',
 			selectedRowKeys: [],
 			rowId: record.id,
 		})
@@ -1803,34 +1804,36 @@ const PublicCustomer = Form.create()(React.createClass({
 	},
 	//详情tab切换数据处理
 	callback(e) {
-		if(e == 1) {
+		if(e == '1') {
 			this.loadInformation(this.state.rowId)
 		}
-		if(e == 2) {
+		if(e == '2') {
 			this.contactLists(this.state.rowId)
 		}
-		if(e == 3) {
+		if(e == '3') {
 			this.httpAccount(this.state.rowId)
 		}
-		if(e == 4) {
+		if(e == '4') {
 			this.loadBfVisit(1, this.state.rowId);
 		}
-		if(e == 5) {
+		if(e == '5') {
 			this.BusinessList(1, this.state.rowId);
 		}
-		if(e == 6) {
+		if(e == '6') {
 
 		}
-		if(e == 7) {
+		if(e == '7') {
 
 		}
-		if(e == 8) {
+		if(e == '8') {
 
 		}
-		if(e == 9) {
+		if(e == '9') {
 
 		}
-
+		this.setState({
+			callnub: e,
+		})
 	},
 	//账户信息保存
 	accountSave(e) {
@@ -2152,7 +2155,7 @@ const PublicCustomer = Form.create()(React.createClass({
 			          onCancel={this.detailsModal}
 			          footer=''
 			        >				    
-					     <Tabs defaultActiveKey="1" onChange={this.callback}>
+					     <Tabs defaultActiveKey="1" onChange={this.callback} activeKey={this.state.callnub}>
 						    <TabPane tab="基本信息" key="1">
 						        {adminData.isSuperAdmin?<Form horizontal onSubmit={this.newSubmit} id="demand-form">
 					                <Spin spinning={this.state.loading}>

+ 14 - 12
js/component/manageCenter/customer/customerData/myClient.jsx

@@ -967,6 +967,7 @@ const MyClient = Form.create()(React.createClass({
 		this.BusinessList(1, record.id);
 		this.contactLists(record.id);
 		this.setState({
+			callnub:'1',
 			selectedRowKeys: [],
 			rowId: record.id,
 		})
@@ -1732,34 +1733,36 @@ const MyClient = Form.create()(React.createClass({
 	},
 	//详情tab切换数据处理
 	callback(e) {
-		if(e == 1) {
+		if(e == '1') {
 			this.loadInformation(this.state.rowId)
 		}
-		if(e == 2) {
+		if(e == '2') {
 			this.contactLists(this.state.rowId)
 		}
-		if(e == 3) {
+		if(e == '3') {
 			this.httpAccount(this.state.rowId)
 		}
-		if(e == 4) {
+		if(e == '4') {
 			this.loadBfVisit(1, this.state.rowId);
 		}
-		if(e == 5) {
+		if(e == '5') {
 			this.BusinessList(1, this.state.rowId);
 		}
-		if(e == 6) {
+		if(e == '6') {
 
 		}
-		if(e == 7) {
+		if(e == '7') {
 
 		}
-		if(e == 8) {
+		if(e == '8') {
 
 		}
-		if(e == 9) {
+		if(e == '9') {
 
 		}
-
+		this.setState({
+			callnub: e,
+		})
 	},
 	//账户信息保存
 	accountSave(e) {
@@ -1913,7 +1916,6 @@ const MyClient = Form.create()(React.createClass({
 		})
 	},
 	blurChange(e){
-		console.log(e)
 		let theType='';
 		let contactLists=this.state.customerArr||[];
 			if (e) {
@@ -2230,7 +2232,7 @@ const MyClient = Form.create()(React.createClass({
 			          onCancel={this.detailsModal}
 			          footer=''
 			        >				    
-					     <Tabs defaultActiveKey="1" onChange={this.callback}>
+					     <Tabs onChange={this.callback} activeKey={this.state.callnub}>
 						    <TabPane tab="基本信息" key="1">
 						        <Form horizontal onSubmit={this.newSubmit} id="demand-form">
 					                <Spin spinning={this.state.loading}>

+ 14 - 11
js/component/manageCenter/customer/individualCustomer/individualCustomer.jsx

@@ -1027,6 +1027,7 @@ const IndividualCustomer = Form.create()(React.createClass({
 		this.BusinessList(1, record.id);
 		this.contactLists(record.id);
 		this.setState({
+			callnub:'1',
 			selectedRowKeys: [],
 			rowId: record.id,
 		})
@@ -1833,34 +1834,36 @@ const IndividualCustomer = Form.create()(React.createClass({
 	},
 	//详情tab切换数据处理
 	callback(e) {
-		if(e == 1) {
+		if(e == '1') {
 			this.loadInformation(this.state.rowId)
 		}
-		if(e == 2) {
+		if(e == '2') {
 			this.contactLists(this.state.rowId)
 		}
-		if(e == 3) {
+		if(e == '3') {
 			this.httpAccount(this.state.rowId)
 		}
-		if(e == 4) {
+		if(e == '4') {
 			this.loadBfVisit(1, this.state.rowId);
 		}
-		if(e == 5) {
+		if(e == '5') {
 			this.BusinessList(1, this.state.rowId);
 		}
-		if(e == 6) {
+		if(e == '6') {
 
 		}
-		if(e == 7) {
+		if(e == '7') {
 
 		}
-		if(e == 8) {
+		if(e == '8') {
 
 		}
-		if(e == 9) {
+		if(e == '9') {
 
 		}
-
+		this.setState({
+			callnub: e,
+		})
 	},
 	//账户信息保存
 	accountSave(e) {
@@ -2270,7 +2273,7 @@ const IndividualCustomer = Form.create()(React.createClass({
 			          onCancel={this.detailsModal}
 			          footer=''
 			        >				    
-					     <Tabs defaultActiveKey="1" onChange={this.callback}>
+					     <Tabs onChange={this.callback} activeKey={this.state.callnub}>
 						    <TabPane tab="基本信息" key="1">
 						        <Form horizontal onSubmit={this.newSubmit} id="demand-form">
 					                <Spin spinning={this.state.loading}>

+ 14 - 11
js/component/manageCenter/customer/individualCustomer/queryCustomer.jsx

@@ -959,6 +959,7 @@ const QueryCustomer = Form.create()(React.createClass({
 		this.BusinessList(1, record.id);
 		this.contactLists(record.id);
 		this.setState({
+			callnub:'1',
 			selectedRowKeys: [],
 			rowId: record.id,
 		})
@@ -1763,34 +1764,36 @@ const QueryCustomer = Form.create()(React.createClass({
 	},
 	//详情tab切换数据处理
 	callback(e) {
-		if(e == 1) {
+		if(e == '1') {
 			this.loadInformation(this.state.rowId)
 		}
-		if(e == 2) {
+		if(e == '2') {
 			this.contactLists(this.state.rowId)
 		}
-		if(e == 3) {
+		if(e == '3') {
 			this.httpAccount(this.state.rowId)
 		}
-		if(e == 4) {
+		if(e == '4') {
 			this.loadBfVisit(1, this.state.rowId);
 		}
-		if(e == 5) {
+		if(e == '5') {
 			this.BusinessList(1, this.state.rowId);
 		}
-		if(e == 6) {
+		if(e == '6') {
 
 		}
-		if(e == 7) {
+		if(e == '7') {
 
 		}
-		if(e == 8) {
+		if(e == '8') {
 
 		}
-		if(e == 9) {
+		if(e == '9') {
 
 		}
-
+		this.setState({
+			callnub: e,
+		})
 	},
 	//账户信息保存
 	accountSave(e) {
@@ -2097,7 +2100,7 @@ const QueryCustomer = Form.create()(React.createClass({
 			          onCancel={this.detailsModal}
 			          footer=''
 			        >				    
-					     <Tabs defaultActiveKey="1" onChange={this.callback}>
+					     <Tabs onChange={this.callback} activeKey={this.state.callnub}>
 						    <TabPane tab="基本信息" key="1">
 						        {adminData.isSuperAdmin?<Form horizontal onSubmit={this.newSubmit} id="demand-form">
 					                <Spin spinning={this.state.loading}>

+ 6 - 34
js/component/manageCenter/demand/content.jsx

@@ -71,41 +71,13 @@ class Content extends Component {
                     });
                 });
                 break;
-            
-            //新增空白    
-            case 'myTechDemand':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-             case 'techDemandQuery':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
+            default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:Module	    
+                	});
                 });
-                break;
-            case 'techDemandAudit':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-            case 'techDemandPublish':
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: Module,
-                    });
-                });
-                break;
-            //-------//  
                 
         };
         window.location.hash = key;

+ 7 - 0
js/component/manageCenter/idea/content.jsx

@@ -177,6 +177,13 @@ class Content extends Component {
                     });
                 });
                 break;
+            default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:<Module />	    
+                	});
+               });  
         };
         window.location.hash = key;
     }

+ 73 - 0
js/component/manageCenter/operate/content.jsx

@@ -0,0 +1,73 @@
+import React, { Component } from 'react';
+import '../content.less';
+import './content.less';
+import LeftTab from '../leftTab';
+import {getMenu} from '../publicMenu.jsx'
+
+class Content extends Component {
+    constructor() {
+        super();
+        this.state = {
+            loading: false,
+            component: <div></div>,
+        };
+    }
+    componentWillMount () {
+       var ids=window.location.href.indexOf('rid=');
+        var idk=window.location.href.substr(ids+4);
+        var rid=idk.split('#');
+        let menu=getMenu(rid);
+        let curry;
+        if(menu[0].subMenus.length>0){
+        	curry=menu[0].subMenus[0].url.split('#');
+        }else{
+        	curry=menu[0].url.split('#');
+        };
+        if (window.location.hash) {
+            this.getKey(window.location.hash.substr(1));
+        } else {
+         this.getKey(curry[1]);
+        };
+    }
+    getKey (key) {
+        switch (key) {
+            case 'recommendMessage':
+                require.ensure([], () => {
+                    const JitaoMessage = require('./messagePush/jitaoMessage').default;
+                    this.setState({
+                        component: <JitaoMessage />
+                    });
+                });
+                break;
+            case 'systemMessage':
+                require.ensure([], () => {
+                    const SystemMessage = require('./messagePush/systemMessage').default;
+                    this.setState({
+                        component: <SystemMessage />
+                    });
+                });
+                break;
+            //订单新增空白
+            default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:<Module />	    
+                	});
+                });  
+        };
+        window.location.hash = key;
+    }
+    render () {
+        return (
+            <div className="manage-content">
+                <LeftTab handlekey={this.getKey.bind(this)} />
+                <div className="content-right">
+                    {this.state.component}
+                </div>
+            </div>
+        )
+    }
+}
+
+export default Content;

+ 68 - 0
js/component/manageCenter/operate/content.less

@@ -0,0 +1,68 @@
+.user-content {
+    background: #fff;
+    padding: 20px;
+    .content-title {
+        color: #333;
+        font-size: 16px;
+    }
+    .user-search {
+        margin: 10px 0;
+        >input {
+            width: 140px;
+        }
+        >input,
+        >button,
+        .ant-select {
+            margin-top: 10px;
+            margin-right: 10px;
+        }
+        .ant-switch {
+            margin-left: 10px;
+        }
+        .search-more {
+            margin: 10px 0;
+        }
+        .search-div {
+            display: inline-block;
+            margin-top: 10px;
+            margin-right: 10px;
+        }
+    }
+}
+
+.ant-modal-body {
+    .modal-box {
+        overflow: hidden;
+        line-height: 28px;
+        margin-bottom: 10px;
+        .modal-box-title {
+            float: left;
+            width: 84px;
+            text-align: right;
+            margin-right: 20px;
+        }
+        .modal-box-detail {
+            float: left;
+            width: 400px;
+            >span {
+                margin-right: 6px;
+            }
+        }
+        >button {
+            margin-right: 20px;
+        }
+    }
+}
+
+.no-all-select {
+    .ant-table-selection {
+        .ant-checkbox {
+            display: none;
+        }
+    }
+}
+.addButton{
+    float: right;
+    margin-right: 50px!important;
+    margin-top: 20px!important;
+}

+ 419 - 0
js/component/manageCenter/operate/memberOrderList.jsx

@@ -0,0 +1,419 @@
+import React from 'react';
+import { Icon, Button, Input, Select, Spin, Table, message, DatePicker, Modal, InputNumber, Radio } from 'antd';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import './content.less';
+import moment from 'moment';
+import { getTime } from '../../tools';
+
+
+const OrderList = React.createClass({
+    loadData (pageNo) {
+        this.state.data = [];
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/member/selectMemberOrderBa",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                id: this.state.searchOrderNumber,
+                nickname: this.state.searchName,
+                mobile: this.state.searchAftNumber,
+                orderState: this.state.searchOrderStatus, //支付状态 0,1
+                startTime: this.state.searchTime[0],
+                endTime: this.state.searchTime[1]
+            },
+            success: function (data) {
+                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];
+                        this.state.data.push({
+                            key: i,
+                            id: thisdata.id,
+                            formattedOrderTime: thisdata.formattedOrderTime,
+                            formattedPaymentTime: thisdata.formattedPaymentTime,
+                            formattedValidTime: thisdata.formattedValidTime,
+                            gradeName: thisdata.gradeName,
+                            menberType: thisdata.menberType,
+                            nickname: thisdata.nickname,
+                            mobile: thisdata.mobile,
+                            orderState: thisdata.orderState,
+                            orderTime: thisdata.orderTime,
+                            paymentId: thisdata.paymentId,
+                            paymentTime: thisdata.paymentTime,
+                            paymentType: thisdata.paymentType,
+                            paymentValue: thisdata.paymentValue,
+                            price: thisdata.price,
+                            userId: thisdata.userId,
+                            validMonth: thisdata.validMonth,
+                            validTime: thisdata.validTime,
+                        });
+                    };
+                    this.state.pagination.current = data.data.pNo;
+                    this.state.pagination.total = data.data.countWhere;
+                };
+                this.setState({
+                    dataSource: this.state.data,
+                    pagination: this.state.pagination
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    getInitialState () {
+        return {
+            searchMore: true,
+            data: [],
+            modalData: {},
+            visible: false,
+            delVisible: false,
+            searchTime: [],
+            loading: false,
+            selectedRowKeys: [],
+            selectedRows: [],
+            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: 'mobile',
+                    key: 'mobile',
+                }, {
+                    title: '认证名称',
+                    dataIndex: 'nickname',
+                    key: 'nickname',
+                }, {
+                    title: '会员类型',
+                    dataIndex: 'gradeName',
+                    key: 'gradeName',
+                }, {
+                    title: '订单状态',
+                    dataIndex: 'orderState',
+                    key: 'orderState',
+                    render: (text) => {
+                        if (text == 1) {
+                            return '已支付'
+                        } else {
+                            return '未支付'
+                        };
+                    }
+                }, {
+                    title: '生成时间',
+                    dataIndex: 'formattedOrderTime',
+                    key: 'formattedOrderTime',
+                }, {
+                    title: '支付时间',
+                    dataIndex: 'formattedPaymentTime',
+                    key: 'formattedPaymentTime',
+                }, {
+                    title: '有效时间',
+                    dataIndex: 'formattedValidTime',
+                    key: 'formattedValidTime',
+                    render: (index, record) => {
+                        if (record.paymentTime && record.validMonth && record.orderState == 1) {
+                            return getTime(record.paymentTime) + ' -- ' + getTime(record.paymentTime, record.validMonth)
+                        }
+                    }
+                }
+            ],
+            dataSource: []
+        };
+    },
+    componentWillMount () {
+        this.loadData();
+    },
+    search () {
+        this.loadData();
+    },
+    reset () {
+        this.state.searchOrderNumber = undefined;
+        this.state.searchAftNumber = undefined;
+        this.state.searchOrderStatus = undefined;
+        this.state.searchName = undefined;
+        this.state.searchTime = [];
+        this.loadData();
+    },
+    submit () {
+        if (this.state.modalData.paymentType == 1 && !this.state.modalData.formattedPaymentTime) {
+            message.warning('状态为已支付时支付时间必填');
+            return
+        }
+        this.setState({ loading: true });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/member/updateMemberOrder",
+            data: {
+                id: this.state.modalData.id,
+                userId: this.state.modalData.userId,
+                memberRank: this.state.modalData.menberType,
+                validMonth: this.state.modalData.validMonth,
+                paymentValue: this.state.modalData.paymentValue,
+                orderState: this.state.modalData.orderState,
+                paymentTime: this.state.modalData.formattedPaymentTime,
+                paymentType: this.state.modalData.paymentType,
+                paymentId: this.state.modalData.paymentId
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('保存成功!');
+                this.setState({ loading: false, visible: false });
+                this.loadData();
+            } else {
+                message.warning(data.error[0].message);
+            }
+        }.bind(this)).always(function () {
+            this.setState({ loading: false });
+        }.bind(this));
+    },
+    tableRowClick (record, index) {
+        let theObj = {};
+        for (let item in record) {
+            theObj[item] = record[item]
+        }
+        this.state.modalData = theObj;
+        this.setState({ visible: true });
+    },
+    deleteRow () {
+        let deletedId;
+        for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
+            let rowItem = this.state.selectedRows[idx];
+            if (rowItem.orderState !== 0) {
+                message.warning('订单状态不是未支付,无法删除!');
+                this.setState({ delVisible: false });
+                return;
+            }
+            if (rowItem.id) {
+                deletedId = rowItem.id
+            };
+        };
+        this.setState({
+            selectedRowKeys: [],
+            loading: deletedId.length > 0
+        });
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/member/delMemberOrder",
+            data: {
+                id: deletedId
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('删除成功!');
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+                delVisible: false
+            });
+            this.loadData();
+        }.bind(this));
+    },
+    render () {
+        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 Option = Select.Option;
+        return (
+            <div className="user-content" >
+                <div className="content-title">
+                    <span>会员订单列表</span>
+                </div>
+                <div className="user-search">
+                    <Input placeholder="订单编号" value={this.state.searchOrderNumber}
+                        onChange={(e) => { this.setState({ searchOrderNumber: e.target.value }); }} />
+                    <Input placeholder="用户账号" value={this.state.searchAftNumber}
+                        onChange={(e) => { this.setState({ searchAftNumber: e.target.value }); }} />
+                    <Input placeholder="认证名称" value={this.state.searchName}
+                        onChange={(e) => { this.setState({ searchName: e.target.value }); }} />
+                    <Select placeholder="订单状态" value={this.state.searchOrderStatus} style={{ width: 120 }}
+                        onChange={(e) => { this.setState({ searchOrderStatus: e }) }}>
+                        <Option value="0">未付款</Option>
+                        <Option value="1">已付款</Option>
+                    </Select>
+                    <div className="search-div">
+                        <span>订单生成时间:</span>
+                        <RangePicker
+                            allowClear={false}
+                            value={[this.state.searchTime[0] ? moment(this.state.searchTime[0]) : null,
+                            this.state.searchTime[1] ? moment(this.state.searchTime[1]) : null]}
+                            onChange={(data, dataString) => { this.setState({ searchTime: dataString }); }} />
+                    </div>
+                    <Button type="primary" onClick={this.search}>搜索</Button>
+                    <Button onClick={this.reset}>重置</Button>
+                    <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
+                        disabled={!hasSelected}
+                        onClick={() => { this.setState({ delVisible: true }) }}>删除<Icon type="minus" /></Button>
+                </div>
+                <div className="patent-table">
+                    <Spin spinning={this.state.loading}>
+                        <Table className="no-all-select"
+                            columns={this.state.columns}
+                            dataSource={this.state.dataSource}
+                            rowSelection={rowSelection}
+                            pagination={this.state.pagination}
+                            onRowClick={this.tableRowClick} />
+                    </Spin>
+                </div>
+                <Modal title="订单详情" width={600} className="activity-modal"
+                    visible={this.state.visible}
+                    maskClosable={false}
+                    footer={null}
+                    afterClose={() => { this.state.modalData = {}; }}
+                    onCancel={() => { this.setState({ visible: false }) }} >
+                    <Spin spinning={this.state.loading}>
+                        <div className="clearfix">
+                            <div className="modal-box">
+                                <span className="modal-box-title">会员等级</span>
+                                <div className="modal-box-detail">
+                                    <Select placeholder="选择会员等级"
+                                        style={{ width: 120 }}
+                                        value={this.state.modalData.menberType ? this.state.modalData.menberType.toString() : undefined}
+                                        onChange={(e) => {
+                                            this.state.modalData.menberType = e;
+                                            this.setState({ modalData: this.state.modalData });
+                                        }}>
+                                        <Select.Option value="1">Lv.1</Select.Option>
+                                        <Select.Option value="2">Lv.2</Select.Option>
+                                        <Select.Option value="3">Lv.3</Select.Option>
+                                        <Select.Option value="4">Lv.4</Select.Option>
+                                        <Select.Option value="5">Lv.5</Select.Option>
+                                    </Select>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">会员时长</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <InputNumber value={this.state.modalData.validMonth} step={1} onChange={(e) => {
+                                        this.state.modalData.validMonth = e;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                    <span> 月</span>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">订单金额</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <span>{this.state.modalData.price}</span>
+                                    <span> 元</span>
+                                </div>
+                                <span className="modal-box-title">实际支付金额</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <InputNumber value={this.state.modalData.paymentValue} step={0.01} onChange={(e) => {
+                                        this.state.modalData.paymentValue = e;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                    <span> 元</span>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">支付方式</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <Input value={this.state.modalData.paymentType} onChange={(e) => {
+                                        this.state.modalData.paymentType = e.target.value;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                </div>
+                                <span className="modal-box-title">流水号</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <Input value={this.state.modalData.paymentId} onChange={(e) => {
+                                        this.state.modalData.paymentId = e.target.value;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">支付状态</span>
+                                <div className="modal-box-detail">
+                                    <Radio.Group value={this.state.modalData.orderState}
+                                        onChange={(e) => {
+                                            this.state.modalData.orderState = e.target.value;
+                                            this.setState({ modalData: this.state.modalData });
+                                        }} >
+                                        <Radio value={0}>未支付</Radio>
+                                        <Radio value={1}>已支付</Radio>
+                                    </Radio.Group>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">支付时间</span>
+                                <div className="modal-box-detail">
+                                    <DatePicker style={{ width: '150px' }}
+                                        showTime
+                                        format="YYYY-MM-DD HH:mm:ss"
+                                        placeholder="选择支付时间"
+                                        value={this.state.modalData.formattedPaymentTime ? moment(this.state.modalData.formattedPaymentTime, "YYYY-MM-DD HH:mm:ss") : undefined}
+                                        onChange={(t, str) => {
+                                            this.state.modalData.formattedPaymentTime = str;
+                                            this.setState({ modalData: this.state.modalData });
+                                        }} />
+                                </div>
+                            </div>
+                        </div>
+                        <div className="modal-box" style={{ marginTop: '100px' }}>
+                            <Button type="primary" onClick={this.submit}>提交</Button>
+                            <Button type="ghost" onClick={() => { this.setState({ visible: false }) }}>取消</Button>
+                        </div>
+                    </Spin>
+                </Modal>
+                <Modal title="删除确认" width={600} className="activity-modal"
+                    visible={this.state.delVisible}
+                    maskClosable={false}
+                    footer={null}
+                    onCancel={() => { this.setState({ delVisible: false }) }} >
+                    <Spin spinning={this.state.loading}>
+                        <div className="clearfix">
+                            <div className="modal-box">
+                                <span>是否确定删除这条记录?删除后数据不可恢复!</span>
+                            </div>
+                            <div className="modal-box" >
+                                <Button type="primary" onClick={this.deleteRow}>提交</Button>
+                                <Button type="ghost" onClick={() => { this.setState({ delVisible: false }) }}>取消</Button>
+                            </div>
+                        </div>
+                    </Spin>
+                </Modal>
+            </div >
+        );
+    }
+});
+
+export default OrderList;

js/component/manageCenter/set/messagePush/butlerMessage.jsx → js/component/manageCenter/operate/messagePush/butlerMessage.jsx


js/component/manageCenter/set/messagePush/jitaoMessage.jsx → js/component/manageCenter/operate/messagePush/jitaoMessage.jsx


js/component/manageCenter/set/messagePush/remindMessage.jsx → js/component/manageCenter/operate/messagePush/remindMessage.jsx


js/component/manageCenter/set/messagePush/systemMessage.jsx → js/component/manageCenter/operate/messagePush/systemMessage.jsx


+ 66 - 0
js/component/manageCenter/order/content.jsx

@@ -0,0 +1,66 @@
+import React, { Component } from 'react';
+import '../content.less';
+import './content.less';
+import LeftTab from '../leftTab';
+import {getMenu} from '../publicMenu.jsx'
+
+class Content extends Component {
+    constructor() {
+        super();
+        this.state = {
+            loading: false,
+            component: <div></div>,
+        };
+    }
+    componentWillMount () {
+       var ids=window.location.href.indexOf('rid=');
+        var idk=window.location.href.substr(ids+4);
+        var rid=idk.split('#');
+        let menu=getMenu(rid);
+        let curry;
+        if(menu[0].subMenus.length>0){
+        	curry=menu[0].subMenus[0].url.split('#');
+        }else{
+        	curry=menu[0].url.split('#');
+        };
+        if (window.location.hash) {
+            this.getKey(window.location.hash.substr(1));
+        } else {
+         this.getKey(curry[1]);
+        };
+    }
+    getKey (key) {
+        switch (key) {
+            case 'membership':
+                require.ensure([], () => {
+                    const Membership = require('./memberOrderList').default;
+                    this.setState({
+                        component: <Membership />
+                    });
+                });
+                break;
+            
+            //订单新增空白
+            default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:<Module />	    
+                	});
+                });  
+        };
+        window.location.hash = key;
+    }
+    render () {
+        return (
+            <div className="manage-content">
+                <LeftTab handlekey={this.getKey.bind(this)} />
+                <div className="content-right">
+                    {this.state.component}
+                </div>
+            </div>
+        )
+    }
+}
+
+export default Content;

+ 63 - 0
js/component/manageCenter/order/content.less

@@ -0,0 +1,63 @@
+.user-content {
+    background: #fff;
+    padding: 20px;
+    .content-title {
+        color: #333;
+        font-size: 16px;
+    }
+    .user-search {
+        margin: 10px 0;
+        >input {
+            width: 140px;
+        }
+        >input,
+        >button,
+        .ant-select {
+            margin-top: 10px;
+            margin-right: 10px;
+        }
+        .ant-switch {
+            margin-left: 10px;
+        }
+        .search-more {
+            margin: 10px 0;
+        }
+        .search-div {
+            display: inline-block;
+            margin-top: 10px;
+            margin-right: 10px;
+        }
+    }
+}
+
+.ant-modal-body {
+    .modal-box {
+        overflow: hidden;
+        line-height: 28px;
+        margin-bottom: 10px;
+        .modal-box-title {
+            float: left;
+            width: 84px;
+            text-align: right;
+            margin-right: 20px;
+        }
+        .modal-box-detail {
+            float: left;
+            width: 400px;
+            >span {
+                margin-right: 6px;
+            }
+        }
+        >button {
+            margin-right: 20px;
+        }
+    }
+}
+
+.no-all-select {
+    .ant-table-selection {
+        .ant-checkbox {
+            display: none;
+        }
+    }
+}

+ 419 - 0
js/component/manageCenter/order/memberOrderList.jsx

@@ -0,0 +1,419 @@
+import React from 'react';
+import { Icon, Button, Input, Select, Spin, Table, message, DatePicker, Modal, InputNumber, Radio } from 'antd';
+import ajax from 'jquery/src/ajax/xhr.js';
+import $ from 'jquery/src/ajax';
+import './content.less';
+import moment from 'moment';
+import { getTime } from '../../tools';
+
+
+const OrderList = React.createClass({
+    loadData (pageNo) {
+        this.state.data = [];
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/member/selectMemberOrderBa",
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                id: this.state.searchOrderNumber,
+                nickname: this.state.searchName,
+                mobile: this.state.searchAftNumber,
+                orderState: this.state.searchOrderStatus, //支付状态 0,1
+                startTime: this.state.searchTime[0],
+                endTime: this.state.searchTime[1]
+            },
+            success: function (data) {
+                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];
+                        this.state.data.push({
+                            key: i,
+                            id: thisdata.id,
+                            formattedOrderTime: thisdata.formattedOrderTime,
+                            formattedPaymentTime: thisdata.formattedPaymentTime,
+                            formattedValidTime: thisdata.formattedValidTime,
+                            gradeName: thisdata.gradeName,
+                            menberType: thisdata.menberType,
+                            nickname: thisdata.nickname,
+                            mobile: thisdata.mobile,
+                            orderState: thisdata.orderState,
+                            orderTime: thisdata.orderTime,
+                            paymentId: thisdata.paymentId,
+                            paymentTime: thisdata.paymentTime,
+                            paymentType: thisdata.paymentType,
+                            paymentValue: thisdata.paymentValue,
+                            price: thisdata.price,
+                            userId: thisdata.userId,
+                            validMonth: thisdata.validMonth,
+                            validTime: thisdata.validTime,
+                        });
+                    };
+                    this.state.pagination.current = data.data.pNo;
+                    this.state.pagination.total = data.data.countWhere;
+                };
+                this.setState({
+                    dataSource: this.state.data,
+                    pagination: this.state.pagination
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
+    getInitialState () {
+        return {
+            searchMore: true,
+            data: [],
+            modalData: {},
+            visible: false,
+            delVisible: false,
+            searchTime: [],
+            loading: false,
+            selectedRowKeys: [],
+            selectedRows: [],
+            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: 'mobile',
+                    key: 'mobile',
+                }, {
+                    title: '认证名称',
+                    dataIndex: 'nickname',
+                    key: 'nickname',
+                }, {
+                    title: '会员类型',
+                    dataIndex: 'gradeName',
+                    key: 'gradeName',
+                }, {
+                    title: '订单状态',
+                    dataIndex: 'orderState',
+                    key: 'orderState',
+                    render: (text) => {
+                        if (text == 1) {
+                            return '已支付'
+                        } else {
+                            return '未支付'
+                        };
+                    }
+                }, {
+                    title: '生成时间',
+                    dataIndex: 'formattedOrderTime',
+                    key: 'formattedOrderTime',
+                }, {
+                    title: '支付时间',
+                    dataIndex: 'formattedPaymentTime',
+                    key: 'formattedPaymentTime',
+                }, {
+                    title: '有效时间',
+                    dataIndex: 'formattedValidTime',
+                    key: 'formattedValidTime',
+                    render: (index, record) => {
+                        if (record.paymentTime && record.validMonth && record.orderState == 1) {
+                            return getTime(record.paymentTime) + ' -- ' + getTime(record.paymentTime, record.validMonth)
+                        }
+                    }
+                }
+            ],
+            dataSource: []
+        };
+    },
+    componentWillMount () {
+        this.loadData();
+    },
+    search () {
+        this.loadData();
+    },
+    reset () {
+        this.state.searchOrderNumber = undefined;
+        this.state.searchAftNumber = undefined;
+        this.state.searchOrderStatus = undefined;
+        this.state.searchName = undefined;
+        this.state.searchTime = [];
+        this.loadData();
+    },
+    submit () {
+        if (this.state.modalData.paymentType == 1 && !this.state.modalData.formattedPaymentTime) {
+            message.warning('状态为已支付时支付时间必填');
+            return
+        }
+        this.setState({ loading: true });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/member/updateMemberOrder",
+            data: {
+                id: this.state.modalData.id,
+                userId: this.state.modalData.userId,
+                memberRank: this.state.modalData.menberType,
+                validMonth: this.state.modalData.validMonth,
+                paymentValue: this.state.modalData.paymentValue,
+                orderState: this.state.modalData.orderState,
+                paymentTime: this.state.modalData.formattedPaymentTime,
+                paymentType: this.state.modalData.paymentType,
+                paymentId: this.state.modalData.paymentId
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('保存成功!');
+                this.setState({ loading: false, visible: false });
+                this.loadData();
+            } else {
+                message.warning(data.error[0].message);
+            }
+        }.bind(this)).always(function () {
+            this.setState({ loading: false });
+        }.bind(this));
+    },
+    tableRowClick (record, index) {
+        let theObj = {};
+        for (let item in record) {
+            theObj[item] = record[item]
+        }
+        this.state.modalData = theObj;
+        this.setState({ visible: true });
+    },
+    deleteRow () {
+        let deletedId;
+        for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
+            let rowItem = this.state.selectedRows[idx];
+            if (rowItem.orderState !== 0) {
+                message.warning('订单状态不是未支付,无法删除!');
+                this.setState({ delVisible: false });
+                return;
+            }
+            if (rowItem.id) {
+                deletedId = rowItem.id
+            };
+        };
+        this.setState({
+            selectedRowKeys: [],
+            loading: deletedId.length > 0
+        });
+        $.ajax({
+            method: "POST",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/member/delMemberOrder",
+            data: {
+                id: deletedId
+            }
+        }).done(function (data) {
+            if (!data.error.length) {
+                message.success('删除成功!');
+            } else {
+                message.warning(data.error[0].message);
+            };
+            this.setState({
+                loading: false,
+                delVisible: false
+            });
+            this.loadData();
+        }.bind(this));
+    },
+    render () {
+        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 Option = Select.Option;
+        return (
+            <div className="user-content" >
+                <div className="content-title">
+                    <span>会员订单列表</span>
+                </div>
+                <div className="user-search">
+                    <Input placeholder="订单编号" value={this.state.searchOrderNumber}
+                        onChange={(e) => { this.setState({ searchOrderNumber: e.target.value }); }} />
+                    <Input placeholder="用户账号" value={this.state.searchAftNumber}
+                        onChange={(e) => { this.setState({ searchAftNumber: e.target.value }); }} />
+                    <Input placeholder="认证名称" value={this.state.searchName}
+                        onChange={(e) => { this.setState({ searchName: e.target.value }); }} />
+                    <Select placeholder="订单状态" value={this.state.searchOrderStatus} style={{ width: 120 }}
+                        onChange={(e) => { this.setState({ searchOrderStatus: e }) }}>
+                        <Option value="0">未付款</Option>
+                        <Option value="1">已付款</Option>
+                    </Select>
+                    <div className="search-div">
+                        <span>订单生成时间:</span>
+                        <RangePicker
+                            allowClear={false}
+                            value={[this.state.searchTime[0] ? moment(this.state.searchTime[0]) : null,
+                            this.state.searchTime[1] ? moment(this.state.searchTime[1]) : null]}
+                            onChange={(data, dataString) => { this.setState({ searchTime: dataString }); }} />
+                    </div>
+                    <Button type="primary" onClick={this.search}>搜索</Button>
+                    <Button onClick={this.reset}>重置</Button>
+                    <Button style={{ background: "#3fcf9e", border: "none", color: "#fff" }}
+                        disabled={!hasSelected}
+                        onClick={() => { this.setState({ delVisible: true }) }}>删除<Icon type="minus" /></Button>
+                </div>
+                <div className="patent-table">
+                    <Spin spinning={this.state.loading}>
+                        <Table className="no-all-select"
+                            columns={this.state.columns}
+                            dataSource={this.state.dataSource}
+                            rowSelection={rowSelection}
+                            pagination={this.state.pagination}
+                            onRowClick={this.tableRowClick} />
+                    </Spin>
+                </div>
+                <Modal title="订单详情" width={600} className="activity-modal"
+                    visible={this.state.visible}
+                    maskClosable={false}
+                    footer={null}
+                    afterClose={() => { this.state.modalData = {}; }}
+                    onCancel={() => { this.setState({ visible: false }) }} >
+                    <Spin spinning={this.state.loading}>
+                        <div className="clearfix">
+                            <div className="modal-box">
+                                <span className="modal-box-title">会员等级</span>
+                                <div className="modal-box-detail">
+                                    <Select placeholder="选择会员等级"
+                                        style={{ width: 120 }}
+                                        value={this.state.modalData.menberType ? this.state.modalData.menberType.toString() : undefined}
+                                        onChange={(e) => {
+                                            this.state.modalData.menberType = e;
+                                            this.setState({ modalData: this.state.modalData });
+                                        }}>
+                                        <Select.Option value="1">Lv.1</Select.Option>
+                                        <Select.Option value="2">Lv.2</Select.Option>
+                                        <Select.Option value="3">Lv.3</Select.Option>
+                                        <Select.Option value="4">Lv.4</Select.Option>
+                                        <Select.Option value="5">Lv.5</Select.Option>
+                                    </Select>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">会员时长</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <InputNumber value={this.state.modalData.validMonth} step={1} onChange={(e) => {
+                                        this.state.modalData.validMonth = e;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                    <span> 月</span>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">订单金额</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <span>{this.state.modalData.price}</span>
+                                    <span> 元</span>
+                                </div>
+                                <span className="modal-box-title">实际支付金额</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <InputNumber value={this.state.modalData.paymentValue} step={0.01} onChange={(e) => {
+                                        this.state.modalData.paymentValue = e;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                    <span> 元</span>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">支付方式</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <Input value={this.state.modalData.paymentType} onChange={(e) => {
+                                        this.state.modalData.paymentType = e.target.value;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                </div>
+                                <span className="modal-box-title">流水号</span>
+                                <div className="modal-box-detail" style={{ width: '160px' }}>
+                                    <Input value={this.state.modalData.paymentId} onChange={(e) => {
+                                        this.state.modalData.paymentId = e.target.value;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">支付状态</span>
+                                <div className="modal-box-detail">
+                                    <Radio.Group value={this.state.modalData.orderState}
+                                        onChange={(e) => {
+                                            this.state.modalData.orderState = e.target.value;
+                                            this.setState({ modalData: this.state.modalData });
+                                        }} >
+                                        <Radio value={0}>未支付</Radio>
+                                        <Radio value={1}>已支付</Radio>
+                                    </Radio.Group>
+                                </div>
+                            </div>
+                            <div className="modal-box">
+                                <span className="modal-box-title">支付时间</span>
+                                <div className="modal-box-detail">
+                                    <DatePicker style={{ width: '150px' }}
+                                        showTime
+                                        format="YYYY-MM-DD HH:mm:ss"
+                                        placeholder="选择支付时间"
+                                        value={this.state.modalData.formattedPaymentTime ? moment(this.state.modalData.formattedPaymentTime, "YYYY-MM-DD HH:mm:ss") : undefined}
+                                        onChange={(t, str) => {
+                                            this.state.modalData.formattedPaymentTime = str;
+                                            this.setState({ modalData: this.state.modalData });
+                                        }} />
+                                </div>
+                            </div>
+                        </div>
+                        <div className="modal-box" style={{ marginTop: '100px' }}>
+                            <Button type="primary" onClick={this.submit}>提交</Button>
+                            <Button type="ghost" onClick={() => { this.setState({ visible: false }) }}>取消</Button>
+                        </div>
+                    </Spin>
+                </Modal>
+                <Modal title="删除确认" width={600} className="activity-modal"
+                    visible={this.state.delVisible}
+                    maskClosable={false}
+                    footer={null}
+                    onCancel={() => { this.setState({ delVisible: false }) }} >
+                    <Spin spinning={this.state.loading}>
+                        <div className="clearfix">
+                            <div className="modal-box">
+                                <span>是否确定删除这条记录?删除后数据不可恢复!</span>
+                            </div>
+                            <div className="modal-box" >
+                                <Button type="primary" onClick={this.deleteRow}>提交</Button>
+                                <Button type="ghost" onClick={() => { this.setState({ delVisible: false }) }}>取消</Button>
+                            </div>
+                        </div>
+                    </Spin>
+                </Modal>
+            </div >
+        );
+    }
+});
+
+export default OrderList;

+ 4 - 37
js/component/manageCenter/set/content.jsx

@@ -55,14 +55,6 @@ class Content extends Component {
                 	});
                 });
             break; 
-            case 'businessQuery':
-            require.ensure([], () => {
-                const Module = require('../module').default;
-                this.setState({
-                    component:<Module />	    
-                	});
-                });
-            break; 
             case 'user':
                 require.ensure([], () => {
                     const User = require('./userManagementS/user').default;
@@ -88,38 +80,13 @@ class Content extends Component {
                     });
                 });
                 break;
-            case 'systemMessage':
-            require.ensure([], () => {
-                const SystemMessage = require('./messagePush/systemMessage').default;
-                this.setState({
-                    component: <SystemMessage />                      
-                });
-            });
-            break;  
-            case 'remindMessage':
+            default:
             require.ensure([], () => {
-                const RemindMessage = require('./messagePush/remindMessage').default;
-                this.setState({
-                    component: <RemindMessage />                      
-                });
-            });
-            break;  
-            case 'jitaoMessage':
-            require.ensure([], () => {
-                const JitaoMessage = require('./messagePush/jitaoMessage').default;
-                this.setState({
-                    component: <JitaoMessage />                      
-                });
-            });
-            break;  
-            case 'butlerMessage':
-            require.ensure([], () => {
-                const ButlerMessage = require('./messagePush/butlerMessage').default;
+                const Module = require('../module').default;
                 this.setState({
-                    component: <ButlerMessage />                      
+                    component:<Module />	    
+                	});
                 });
-            });
-            break;  
         };
         window.location.hash = key;
     }

+ 9 - 3
js/component/manageCenter/topTab.jsx

@@ -451,9 +451,15 @@ const TopTab = React.createClass({
 	            let menu=data.data;
 	            var htmlMenu=[];
 	            for(var i=0;i<menu.length;i++){
-		            htmlMenu.push(
-		            	<Col key={i} className={this.props.active === getActives(menu[i].name) ? 'active' : ''} span={3}><a href={globalConfig.context + menu[i].url+'?rid='+menu[i].id}>{menu[i].name}</a></Col>,
-		            )
+	            	if(menu.length>7){
+	            		 htmlMenu.push(
+		            		<Col key={i} className={this.props.active === getActives(menu[i].name) ? 'active' : ''} span={2}><a href={globalConfig.context + menu[i].url+'?rid='+menu[i].id}>{menu[i].name}</a></Col>,
+		            	)
+	            	}else{
+	            		htmlMenu.push(
+		            		<Col key={i} className={this.props.active === getActives(menu[i].name) ? 'active' : ''} span={3}><a href={globalConfig.context + menu[i].url+'?rid='+menu[i].id}>{menu[i].name}</a></Col>,
+		            	)
+	            	}
 	            }
 	            this.setState({
 	            	htmlMenus:htmlMenu

+ 7 - 198
js/component/manageCenter/userOrder/content.jsx

@@ -68,204 +68,13 @@ class Content extends Component {
                 });
                 break;
             //订单新增空白
-            //我的订单
-            case 'myService': //科技服务订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myActivity': //活动报名订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myMember': //会员服务订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myAchievement': //科技成果交易订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myDemand': //科技需求交易订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'myExpert': //科技专家约见订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break; 
-            //订单管理
-            case 'serviceManage': //科技服务订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'activityManage': //活动报名订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'memberManage': //会员服务订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'achievementManage': //科技成果交易订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'demandManage': //科技需求交易订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'expertManage': //科技专家约见订单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break; 
-            //合同单管理    
-            case 'myContract': //我的合同单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'contractQuery': //合同单查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'contractManage': //合同单管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            //项目单管理
-            case 'myProject': //我的项目单
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'projectQuery': //项目单查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'projectManage': //项目单管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            //结算订单管理
-            case 'mySettlement': //我的结算订单	 
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'settlementQuery': //结算订单查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'settlementManage': //结算订单管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            //结算流水管理
-            case 'myBill': //我的结算流水	 
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'BillQuery': //结算流水查询
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-                break;
-            case 'BillManage': //结算流水管理
-                require.ensure([], () => {
-                    const Module = require('../module').default;
-                    this.setState({
-                        component: <Module />,
-                    });
-                });
-            	break;
+            default:
+            require.ensure([], () => {
+                const Module = require('../module').default;
+                this.setState({
+                    component:<Module />	    
+                	});
+                });  
         };
         window.location.hash = key;
     }

+ 12 - 0
webpack.config.js

@@ -205,6 +205,18 @@ module.exports = (function () {
             template: './template/template.html',
             chunks: ['admin/userOrder', 'vendors']
         }),
+        new HtmlWebpackPlugin({
+            title: '管理员-订单管理',
+            filename: 'admin/order.html',
+            template: './template/template.html',
+            chunks: ['admin/order', 'vendors']
+        }),
+        new HtmlWebpackPlugin({
+            title: '管理员-平台管理',
+            filename: 'admin/operate.html',
+            template: './template/template.html',
+            chunks: ['admin/operate', 'vendors']
+        }),
         //portal 门户
         // new HtmlWebpackPlugin({
         //     title: '主页-需求搜索',

+ 10 - 0
webpack/entry.config.js

@@ -33,6 +33,8 @@ module.exports = {
     'admin/customer': './js/admin/customer.js',
     //admin/userOrder
     'admin/userOrder': './js/admin/userOrder.js',
+    'admin/order': './js/admin/order.js',
+    'admin/operate': './js/admin/operate.js',
     //portal  门户
     // 'portal/search/demand': './js/portal/search/demand.js',
     // 'portal/search/achievement': './js/portal/search/achievement.js',
@@ -126,6 +128,14 @@ module.exports = {
       'webpack/hot/only-dev-server',
       './js/admin/userOrder.js'
     ],
+    'admin/order': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+      'webpack/hot/only-dev-server',
+      './js/admin/order.js'
+    ],
+    'admin/operate': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+      'webpack/hot/only-dev-server',
+      './js/admin/operate.js'
+    ],
     //admin-servicesManage
     'admin/servicesManage/contract': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',