yee 7 jaren geleden
bovenliggende
commit
c16351edad

BIN
image/level_1.png


BIN
image/level_4.png


BIN
image/level_5.png


+ 15 - 2
js/component/account/index/normal.jsx

@@ -12,8 +12,11 @@ import weixin from '../../../../image/weixin-w.png';
 import qq from '../../../../image/qq-w.png';
 import weibo from '../../../../image/weibo-w.png';
 
+import level1 from '../../../../image/level_1.png';
 import level2 from '../../../../image/level_2.png';
 import level3 from '../../../../image/level_3.png';
+import level4 from '../../../../image/level_4.png';
+import level5 from '../../../../image/level_5.png';
 
 
 const Content = React.createClass({
@@ -39,6 +42,7 @@ const Content = React.createClass({
                     achievementNum: data.data.achievementNum,
                     copyrightNum: data.data.copyrightNum,
                     demandNum: data.data.demandNum,
+                    gradeName: data.data.gradeName,
                     email: data.data.email,
                     intellectualPropertyNum: data.data.intellectualPropertyNum,
                     logoUrl: data.data.logoUrl,
@@ -77,15 +81,24 @@ const Content = React.createClass({
                             <img src={(() => {
                                 switch (this.state.level) {
                                     case 1:
-                                        return "";
+                                        return level1;
                                     case 2:
                                         return level2;
                                     case 3:
                                         return level3;
+                                    case 4:
+                                        return level4;
+                                    case 5:
+                                        return level5;
                                     default:
                                         return ""
                                 }
                             })()} alt="" />
+                            {(() => {
+                                if (this.state.level < 2) {
+                                    return <span><a href={globalConfig.context + '/portal/membership.html'}>升级高级会员</a>获取更多会员权益</span>;
+                                }
+                            })()}
                         </p>
                         <div className="userdata-img">
                             {this.state.personPortraitUrl || this.state.logoUrl ?
@@ -95,7 +108,7 @@ const Content = React.createClass({
                         <div className="userdata-content">
                             {(() => {
                                 if (this.state.level > 0) {
-                                    return <p className="userdata-lvl"><span>Lv.{this.state.level}</span> 用户</p>;
+                                    return <p className="userdata-lvl"><span>{this.state.gradeName}</span></p>;
                                 } else {
                                     return <p className="userdata-lvl"><span>用户未认证</span><a style={{ marginLeft: '20px' }} href={userData.type == 1 ? globalConfig.context + "/user/groupCertify.html" : globalConfig.context + "/user/certify.html"}>进行实名认证</a></p>;
                                 };

+ 10 - 9
js/component/account/index/serviceList.jsx

@@ -3,6 +3,7 @@ import { Icon, Button, Input, Select, Spin, Table, message, DatePicker, Modal }
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import './content.less';
+import { getTime } from '../../tools'
 
 
 const OrderList = React.createClass({
@@ -19,19 +20,19 @@ const OrderList = React.createClass({
             data: {
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
-                id:this.state.searchOrderNumber,
+                id: this.state.searchOrderNumber,
                 orderState: this.state.searchOrderStatus,
                 startTime: this.state.searchTime[0],
                 endTime: this.state.searchTime[1]
             },
             success: function (data) {
-                if (!data.data || !data.data.lsit) {
+                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.lsit.length; i++) {
-                        let thisdata = data.data.lsit[i];
+                    for (let i = 0; i < data.data.list.length; i++) {
+                        let thisdata = data.data.list[i];
                         this.state.data.push({
                             key: i,
                             formattedOrderTime: thisdata.formattedOrderTime,
@@ -123,15 +124,15 @@ const OrderList = React.createClass({
                     }
                 }, {
                     title: '支付时间',
-                    dataIndex: 'payTimeFormattedDate',
-                    key: 'payTimeFormattedDate',
+                    dataIndex: 'formattedPaymentTime',
+                    key: 'formattedPaymentTime',
                 }, {
                     title: '有效时间',
                     dataIndex: 'validTime',
                     key: 'validTime',
                     render: (index, record) => {
-                        if (record.formattedPaymentTime && record.formattedValidTime) {
-                            return record.formattedPaymentTime + ' -- ' + record.formattedValidTime
+                        if (record.paymentTime && record.validMonth && record.orderState == 1) {
+                            return getTime(record.paymentTime) + ' -- ' + getTime(record.paymentTime, record.validMonth)
                         }
                     }
                 }, {
@@ -171,7 +172,7 @@ const OrderList = React.createClass({
                 <div className="content-title">
                     <span>服务订单列表</span>
                 </div>
-                <div className="user-search">
+                <div className="user-search" style={{ display: 'none' }}>
                     <Input placeholder="订单编号" value={this.state.searchOrderNumber}
                         onChange={(e) => { this.setState({ searchOrderNumber: e.target.value }); }} />
                     <Select placeholder="订单类型" value={this.state.searchOrderType} style={{ width: 120 }}

+ 23 - 9
js/component/manageCenter/achievement/batchImport.jsx

@@ -11,23 +11,23 @@ const BatchImport = React.createClass({
             error: false
         };
     },
-    showModal() {
+    showModal () {
         this.setState({
             visible: true,
         });
     },
-    handleOk(e) {
+    handleOk (e) {
         this.setState({
             visible: false,
         });
     },
-    handleCancel(e) {
+    handleCancel (e) {
         this.setState({
             visible: false,
         });
     },
     //数据反向转化
-    getDataCategory(e, row) {
+    getDataCategory (e, row) {
         switch (e) {
             case "成果":
                 return 0;
@@ -41,7 +41,7 @@ const BatchImport = React.createClass({
                 break;
         }
     },
-    getOwnerType(e, row) {
+    getOwnerType (e, row) {
         switch (e) {
             case "个人":
                 return 0;
@@ -53,7 +53,7 @@ const BatchImport = React.createClass({
                 break;
         }
     },
-    getCategory(e, row) {
+    getCategory (e, row) {
         let theType = null, _me = this;
         if (e) {
             achievementCategoryList.map(function (item) {
@@ -68,7 +68,7 @@ const BatchImport = React.createClass({
             return theType;
         };
     },
-    getCooperationMode(e, row) {
+    getCooperationMode (e, row) {
         switch (e) {
             case "技术转让":
                 return 0;
@@ -81,7 +81,7 @@ const BatchImport = React.createClass({
         }
     },
     //提交
-    handleSubmit() {
+    handleSubmit () {
         let rowsArr = this.state.inputValue.split(/[\r\n]/g);
         let columnArr = [], _me = this;
         if (!rowsArr.length) {
@@ -114,6 +114,20 @@ const BatchImport = React.createClass({
                 return;
             };
         };
+        // for (let i = 0; i < columnArr.length; i++) {
+        //     if (columnArr[i].dataCategory.toString().length > 1) { console.log((i + 1) + "行:" + "dataCategory") }
+        //     if (columnArr[i].name.toString().length > 31) { console.log((i + 1) + "行:" + "name") }
+        //     if (columnArr[i].category.toString().length > 1) { console.log((i + 1) + "行:" + "category") }
+        //     if (columnArr[i].ownerName.toString().length > 31) { console.log((i + 1) + "行:" + "ownerName") }
+        //     if (columnArr[i].ownerIdNumber.toString().length > 35) { console.log((i + 1) + "行:" + "ownerIdNumber") }
+        //     if (columnArr[i].ownerMobile.toString().length > 11) { console.log((i + 1) + "行:" + "ownerMobile") }
+        //     if (columnArr[i].ownerEmail.toString().length > 254) { console.log((i + 1) + "行:" + "ownerEmail") }
+        //     if (columnArr[i].ownerPostalAddress.toString().length > 254) { console.log((i + 1) + "行:" + "ownerPostalAddress") }
+        //     if (columnArr[i].cooperationMode.toString().length > 1) { console.log((i + 1) + "行:" + "cooperationMode") }
+        //     if (columnArr[i].introduction.toString().length > 298) { console.log((i + 1) + "行:" + "introduction") }
+        //     if (columnArr[i].keyword.toString().length > 44) { console.log((i + 1) + "行:" + "ownerType") }
+        //     if (columnArr[i].ownerType.toString().length > 1) { console.log((i + 1) + "行:" + "ownerType") }
+        // }
         if (columnArr.length > 1000) {
             message.warning("数据条数不能多于1000条!");
             return;
@@ -142,7 +156,7 @@ const BatchImport = React.createClass({
             };
         }.bind(this));
     },
-    render() {
+    render () {
         return (
             <div>
                 <Button type="primary" onClick={this.showModal}>批量导入</Button>

+ 1 - 1
js/component/manageCenter/userManage/levelSet.jsx

@@ -26,7 +26,7 @@ const ListAdd = React.createClass({
             loading: true
         });
         $.ajax({
-            method: "get",
+            method: "post",
             dataType: "json",
             crossDomain: false,
             url: globalConfig.context + "/api/admin/member/addGradeName",

+ 78 - 29
js/component/manageCenter/userManage/orderList.jsx

@@ -4,6 +4,7 @@ import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import './userList.less';
 import moment from 'moment';
+import { getTime } from '../../tools';
 
 
 const OrderList = React.createClass({
@@ -28,13 +29,13 @@ const OrderList = React.createClass({
                 endTime: this.state.searchTime[1]
             },
             success: function (data) {
-                if (!data.data || !data.data.List) {
+                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];
+                    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,
@@ -75,7 +76,7 @@ const OrderList = React.createClass({
         return {
             searchMore: true,
             data: [],
-            RowData: {},
+            modalData: {},
             visible: false,
             searchTime: [],
             loading: false,
@@ -128,9 +129,14 @@ const OrderList = React.createClass({
                     dataIndex: 'formattedPaymentTime',
                     key: 'formattedPaymentTime',
                 }, {
-                    title: '到期时间',
+                    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: []
@@ -150,8 +156,45 @@ const OrderList = React.createClass({
         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
+            }
+        }).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) {
-        this.state.RowData = record;
+        let theObj = {};
+        for (let item in record) {
+            theObj[item] = record[item]
+        }
+        this.state.modalData = theObj;
         this.setState({ visible: true });
     },
     render () {
@@ -202,7 +245,7 @@ const OrderList = React.createClass({
                     visible={this.state.visible}
                     maskClosable={false}
                     footer={null}
-                    afterClose={() => { this.state.RowData = {}; this.state.asist = null; this.state.asistArray = []; }}
+                    afterClose={() => { this.state.modalData = {}; }}
                     onCancel={() => { this.setState({ visible: false }) }} >
                     <Spin spinning={this.state.loading}>
                         <div className="clearfix">
@@ -211,11 +254,12 @@ const OrderList = React.createClass({
                                 <div className="modal-box-detail">
                                     <Select placeholder="选择会员等级"
                                         style={{ width: 120 }}
-                                        value={this.state.RowData.menberType ? this.state.RowData.menberType.toString() : undefined}
+                                        value={this.state.modalData.menberType ? this.state.modalData.menberType.toString() : undefined}
                                         onChange={(e) => {
-                                            this.state.RowData.menberType = e;
-                                            this.setState({ RowData: this.state.RowData });
+                                            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>
@@ -226,37 +270,42 @@ const OrderList = React.createClass({
                             <div className="modal-box">
                                 <span className="modal-box-title">会员时长</span>
                                 <div className="modal-box-detail" style={{ width: '160px' }}>
-                                    <InputNumber value={this.state.RowData.validMonth} step={1} onChange={(e) => {
-                                        this.state.RowData.validMonth = e;
-                                        this.setState({ RowData: this.state.RowData });
+                                    <InputNumber value={this.state.modalData.validMonth} step={1} onChange={(e) => {
+                                        this.state.modalData.validMonth = e;
+                                        this.setState({ modalData: this.state.modalData });
                                     }} />
                                     <span> 月</span>
                                 </div>
-                                <span className="modal-box-title">实际支付金额</span>
+                                <span className="modal-box-title">订单金额</span>
                                 <div className="modal-box-detail" style={{ width: '160px' }}>
-                                    <InputNumber value={this.state.RowData.paymentValue} step={0.01} onChange={(e) => {
-                                        this.state.RowData.paymentValue = e;
-                                        this.setState({ RowData: this.state.RowData });
-                                    }} />
+                                    <span>{this.state.modalData.price}</span>
                                     <span> 元</span>
                                 </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.paymentValue} step={0.01} onChange={(e) => {
+                                        this.state.modalData.paymentValue = e;
+                                        this.setState({ modalData: this.state.modalData });
+                                    }} />
+                                    <span> 元</span>
+                                </div>
                                 <span className="modal-box-title">支付方式</span>
-                                <div className="modal-box-detail" style={{ width: '260px' }}>
-                                    <Input value={this.state.RowData.paymentType} onChange={(e) => {
-                                        this.state.RowData.paymentType = e.target.value;
-                                        this.setState({ RowData: this.state.RowData });
+                                <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>
                             </div>
                             <div className="modal-box">
                                 <span className="modal-box-title">支付状态</span>
                                 <div className="modal-box-detail">
-                                    <Radio.Group value={this.state.RowData.orderState}
+                                    <Radio.Group value={this.state.modalData.orderState}
                                         onChange={(e) => {
-                                            this.state.RowData.orderState = e.target.value;
-                                            this.setState({ RowData: this.state.RowData });
+                                            this.state.modalData.orderState = e.target.value;
+                                            this.setState({ modalData: this.state.modalData });
                                         }} >
                                         <Radio value={0}>未支付</Radio>
                                         <Radio value={1}>已支付</Radio>
@@ -270,15 +319,15 @@ const OrderList = React.createClass({
                                         showTime
                                         format="YYYY-MM-DD HH:mm:ss"
                                         placeholder="选择支付时间"
-                                        value={this.state.RowData.formattedPaymentTime ? moment(this.state.RowData.formattedPaymentTime, "YYYY-MM-DD HH:mm:ss") : undefined}
+                                        value={this.state.modalData.formattedPaymentTime ? moment(this.state.modalData.formattedPaymentTime, "YYYY-MM-DD HH:mm:ss") : undefined}
                                         onChange={(t, str) => {
-                                            this.state.RowData.formattedPaymentTime = str;
-                                            this.setState({ RowData: this.state.RowData });
+                                            this.state.modalData.formattedPaymentTime = str;
+                                            this.setState({ modalData: this.state.modalData });
                                         }} />
                                 </div>
                             </div>
                         </div>
-                        <div className="modal-box">
+                        <div className="modal-box" style={{ marginTop: '100px' }}>
                             <Button type="primary" onClick={this.submit}>提交</Button>
                             <Button type="ghost" onClick={() => { this.setState({ visible: false }) }}>取消</Button>
                         </div>