yee 7 роки тому
батько
коміт
e0ae431d9f

+ 2 - 2
js/component/account/services/activity.jsx

@@ -1,8 +1,8 @@
 import React from 'react';
 import { Icon, Button, Upload, Input, Spin, Table, message, Select, Modal, DatePicker, Cascader, Transfer, InputNumber, Switch, Form } from 'antd';
 import { technicalSourceList } from '../../dataDic.js';
-import { techFieldList } from '../../DicTechFieldList.js';
-import { getTechField, getTechnicalSource, beforeUploadFile, newDownloadFile } from '../../tools.js';
+import { techFieldList, getTechField } from '../../DicTechFieldList.js';
+import { getTechnicalSource, beforeUploadFile, newDownloadFile } from '../../tools.js';
 import './activity.less';
 import moment from 'moment';
 import ajax from 'jquery/src/ajax/xhr.js';

+ 51 - 3
js/component/manageCenter/achievement/techAchievementDesc.jsx

@@ -207,9 +207,39 @@ const AchievementDetailShow = Form.create()(React.createClass({
             }
         }.bind(this));
     },
+    modifyBroker() {
+        this.props.form.validateFields((err, values) => {
+            if (!err) {
+                this.setState({
+                    loading: true
+                });
+                $.ajax({
+                    method: "POST",
+                    dataType: "json",
+                    crossDomain: false,
+                    url: globalConfig.context + '/api/admin/audit/modifyAchievementTechBroker',
+                    data: {
+                        id: this.props.data.id,
+                        techBrokerId: values.modifyTechBrokerId
+                    }
+                }).done(function (data) {
+                    this.state.auditStatus = 0;
+                    this.setState({
+                        loading: false
+                    });
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    } else {
+                        message.success('保存成功!');
+                        this.props.handleOk();
+                    };
+                }.bind(this));
+            }
+        });
+    },
     formSubmit() {
         this.props.form.validateFields((err, values) => {
-            if (values.auditStatus == 3 && !values.techBroderId) {
+            if (values.auditStatus == 3 && !values.techBrokerId) {
                 message.warning('必须选择一个技术经纪人!');
                 return
             };
@@ -224,7 +254,7 @@ const AchievementDetailShow = Form.create()(React.createClass({
                     url: globalConfig.context + '/api/admin/audit/achievement',
                     data: {
                         id: this.props.data.id,
-                        techBroderId: values.techBroderId,
+                        techBroderId: values.techBrokerId,
                         auditStatus: values.auditStatus
                     }
                 }).done(function (data) {
@@ -645,7 +675,7 @@ const AchievementDetailShow = Form.create()(React.createClass({
                         <FormItem className="half-item"
                             {...formItemLayout}
                             label="技术经纪人" >
-                            {getFieldDecorator('techBroderId', {
+                            {getFieldDecorator('techBrokerId', {
                                 initialValue: theData.techBrokerId
                             })(
                                 <Select style={{ width: 260 }}
@@ -658,8 +688,26 @@ const AchievementDetailShow = Form.create()(React.createClass({
                                 )}
                         </FormItem>
                     </div> : <div></div>}
+                    {window.showAuditStatus && theData.auditStatus == 3 ? <div className="clearfix">
+                        <FormItem className="half-item"
+                            {...formItemLayout}
+                            label="指派新经纪人" >
+                            {getFieldDecorator('modifyTechBrokerId', {
+                                initialValue: theData.techBrokerId
+                            })(
+                                <Select style={{ width: 260 }}
+                                    placeholder="请选择要指派的新经纪人"
+                                    notFoundContent="未获取到经纪人列表"
+                                    showSearch
+                                    filterOption={companySearch}>
+                                    {this.props.techBrodersOption}
+                                </Select>
+                                )}
+                        </FormItem>
+                    </div> : <div></div>}
                     <FormItem wrapperCol={{ span: 12, offset: 4 }}>
                         {theData.auditStatus == 2 ? <Button className="set-submit" type="primary" htmlType="submit">保存</Button> : <span></span>}
+                        {theData.auditStatus == 3 ? <Button className="set-submit" type="primary" onClick={() => { this.modifyBroker(); }}>保存</Button> : <span></span>}
                         <Button className="set-submit" type="ghost" onClick={this.props.closeDesc}>取消</Button>
                         {window.showAuditStatus ? <Button className="set-submit" loading={this.state.buttonLoading} type="primary" onClick={this.buildMatchList}>生成匹配列表</Button> : <span></span>}
                     </FormItem>

+ 52 - 3
js/component/manageCenter/demand/techDemandDesc.jsx

@@ -222,9 +222,40 @@ const DemandDetailShow = Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    modifyBroker() {
+        this.props.form.validateFields((err, values) => {
+            debugger
+            if (!err) {
+                this.setState({
+                    loading: true
+                });
+                $.ajax({
+                    method: "POST",
+                    dataType: "json",
+                    crossDomain: false,
+                    url: globalConfig.context + '/api/admin/audit/modifyDemandTechBroker',
+                    data: {
+                        id: this.props.data.id,
+                        techBrokerId: values.modifyTechBrokerId
+                    }
+                }).done(function (data) {
+                    this.state.auditStatus = 0;
+                    this.setState({
+                        loading: false
+                    });
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    } else {
+                        message.success('保存成功!');
+                        this.props.handleOk();
+                    };
+                }.bind(this));
+            }
+        });
+    },
     formSubmit() {
         this.props.form.validateFields((err, values) => {
-            if (values.auditStatus == 3 && !values.techBroderId) {
+            if (values.auditStatus == 3 && !values.techBrokerId) {
                 message.warning('必须选择一个技术经纪人!');
                 return
             };
@@ -239,7 +270,7 @@ const DemandDetailShow = Form.create()(React.createClass({
                     url: globalConfig.context + '/api/admin/audit/demand',
                     data: {
                         id: this.props.data.id,
-                        techBroderId: values.techBroderId,
+                        techBroderId: values.techBrokerId,
                         auditStatus: values.auditStatus
                     }
                 }).done(function (data) {
@@ -581,7 +612,7 @@ const DemandDetailShow = Form.create()(React.createClass({
                         <FormItem className="half-item"
                             {...formItemLayout}
                             label="技术经纪人" >
-                            {getFieldDecorator('techBroderId', {
+                            {getFieldDecorator('techBrokerId', {
                                 initialValue: theData.techBrokerId
                             })(
                                 <Select style={{ width: 260 }}
@@ -594,8 +625,26 @@ const DemandDetailShow = Form.create()(React.createClass({
                                 )}
                         </FormItem>
                     </div> : <div></div>}
+                    {window.showAuditStatus && theData.auditStatus == 3 ? <div className="clearfix">
+                        <FormItem className="half-item"
+                            {...formItemLayout}
+                            label="指派新经纪人" >
+                            {getFieldDecorator('modifyTechBrokerId', {
+                                initialValue: theData.techBrokerId
+                            })(
+                                <Select style={{ width: 260 }}
+                                    placeholder="请选择要指派的新经纪人"
+                                    notFoundContent="未获取到经纪人列表"
+                                    showSearch
+                                    filterOption={companySearch}>
+                                    {this.props.techBrodersOption}
+                                </Select>
+                                )}
+                        </FormItem>
+                    </div> : <div></div>}
                     <FormItem wrapperCol={{ span: 12, offset: 3 }}>
                         {theData.auditStatus == 2 ? <Button className="set-submit" type="primary" htmlType="submit">保存</Button> : <span></span>}
+                        {theData.auditStatus == 3 ? <Button className="set-submit" type="primary" onClick={() => { this.modifyBroker(); }}>保存</Button> : <span></span>}
                         <Button className="set-submit" type="ghost" onClick={this.props.closeDesc}>取消</Button>
                         {window.showAuditStatus ? <Button className="set-submit" loading={this.state.buttonLoading} type="primary" onClick={this.buildMatchList}>生成匹配列表</Button> : <span></span>}
                     </FormItem>

+ 26 - 0
js/component/manageCenter/idea/activity/activity.jsx

@@ -336,6 +336,31 @@ const Activity = React.createClass({
             });
         }.bind(this));
     },
+    cleanCache(sign) {
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/activity/cleanCache',
+            data: {
+                'cacheKey': sign
+            },
+            success: function (data) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                } else {
+                    message.success('清除缓存成功!');
+                };
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
     delectRow() {
         let deletedIds = [];
         for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
@@ -440,6 +465,7 @@ const Activity = React.createClass({
                         <Button type='danger' disabled={!hasSelected} onClick={this.delectRow}>
                             删除<Icon type="minus" />
                         </Button>
+                        <Button type="primary" onClick={() => { this.cleanCache('activity_portal_list_cache_key'); }}>清除缓存</Button>
                     </div>
                     <Spin spinning={this.state.loading}>
                         <Table className="no-all-select" columns={this.state.columns}

+ 28 - 0
js/component/manageCenter/idea/bigShot/lecture.jsx

@@ -420,6 +420,31 @@ const Lecture = React.createClass({
             });
         }.bind(this));
     },
+    cleanCache(sign) {
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/lecture/cleanCache',
+            data: {
+                'cacheKey': sign
+            },
+            success: function (data) {
+                if (data.error && data.error.length) {
+                    message.warning(data.error[0].message);
+                } else {
+                    message.success('清除缓存成功!');
+                };
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
     resetUser() {
         this.state.searchUserNumber = undefined;
         this.state.searchUserName = undefined;
@@ -496,6 +521,7 @@ const Lecture = React.createClass({
                 <div className="admin-content-warp">
                     <div className="admin-content-header">
                         <span>讲堂列表</span>
+                        <Button type="primary" onClick={() => { this.cleanCache('lecture_list_cache_key'); }}>清除缓存</Button>
                         <Button type='danger' disabled={!hasSelected} onClick={this.delectRow}>
                             删除<Icon type="minus" />
                         </Button>
@@ -540,6 +566,7 @@ const Lecture = React.createClass({
                     <div className="admin-content-warp" style={{ width: '50%', float: 'left' }}>
                         <div className="admin-content-header">
                             <span>大咖页列表</span>
+                            <Button type="primary" onClick={() => { this.cleanCache('big_shot_lecture_cache_key'); }}>清除缓存</Button>
                         </div>
                         <Spin spinning={this.state.loading}>
                             <Table columns={this.state.lectureColumns}
@@ -551,6 +578,7 @@ const Lecture = React.createClass({
                     <div className="admin-content-warp" style={{ width: '50%', float: 'left' }}>
                         <div className="admin-content-header">
                             <span>明星动态列表</span>
+                            <Button type="primary" onClick={() => { this.cleanCache('lecture_dynamic_list_cache_key'); }}>清除缓存</Button>
                         </div>
                         <Spin spinning={this.state.loading}>
                             <Table columns={this.state.lectureColumns}

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

@@ -69,6 +69,14 @@ class Content extends Component {
                     });
                 });
                 break;
+            case 'jitao':
+                require.ensure([], () => {
+                    const News = require('./news/news').default;
+                    this.setState({
+                        component: <News newsType={3} />
+                    });
+                });
+                break;
             case 'contact':
                 require.ensure([], () => {
                     const News = require('./news/news').default;

+ 1 - 0
js/component/manageCenter/idea/content.less

@@ -15,6 +15,7 @@
             }
             >button {
                 float: right;
+                margin-right: 20px;
             }
         }
         .admin-content-search {

+ 3 - 0
js/component/manageCenter/idea/leftTab.jsx

@@ -64,6 +64,9 @@ const LeftTab = React.createClass({
                     <Menu.Item key="localPolicy">
                         地方政策
                     </Menu.Item>
+                    <Menu.Item key="jitao">
+                        技淘动态
+                    </Menu.Item>
                     <Menu.Item key="contact">
                         政府往来
                     </Menu.Item>

+ 3 - 1
js/component/richTextEditors.jsx

@@ -1,5 +1,6 @@
 import React from 'react';
 import theme from 'react-quill/dist/quill.snow.css';
+import { message } from 'antd';
 import ReactQuill from 'react-quill';
 
 import ajax from 'jquery/src/ajax/xhr.js';
@@ -61,8 +62,9 @@ const Editors = React.createClass({
             this.state.value = nextProps.textContent;
             this.state.theBool = false;
         }
-        if (!this.props.visible && nextProps.visible) {
+        if (this.props.visible && !nextProps.visible) {
             this.state.theBool = true;
+            this.state.value = '';
         }
     },
     render() {