yee 7 years ago
parent
commit
d51bccea2b
27 changed files with 2465 additions and 237 deletions
  1. 5 0
      entry.js
  2. 12 0
      js/admin/servicesManage/highTechInfo.js
  3. 4 4
      js/component/account/services/activityCostList.jsx
  4. 3 0
      js/component/dataDic.js
  5. 2 2
      js/component/groupCertify/personal.jsx
  6. 25 18
      js/component/manageCenter/servicesManage/copyright/comPatentChange.jsx
  7. 15 6
      js/component/manageCenter/servicesManage/copyright/copyright.jsx
  8. 1 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/activityCostList.jsx
  9. 24 1
      js/component/manageCenter/servicesManage/highTech/fosterDesc/companyDetail.jsx
  10. 1 0
      js/component/manageCenter/servicesManage/highTech/fosterDesc/content.jsx
  11. 1 0
      js/component/manageCenter/servicesManage/highTech/fosterDesc/techProduct.jsx
  12. 94 21
      js/component/manageCenter/servicesManage/highTech/highTechApply.jsx
  13. 7 1
      js/component/manageCenter/servicesManage/highTech/highTechFoster.jsx
  14. 52 1
      js/component/manageCenter/servicesManage/highTech/highTechFoster.less
  15. 1567 0
      js/component/manageCenter/servicesManage/highTech/highTechInfo.jsx
  16. 55 19
      js/component/manageCenter/servicesManage/patent/comPatentDesc.jsx
  17. 24 13
      js/component/manageCenter/servicesManage/patent/comprehensive.jsx
  18. 1 0
      js/component/manageCenter/servicesManage/patent/comprehensive.less
  19. 24 17
      js/component/manageCenter/servicesManage/technology/applyChange.jsx
  20. 17 12
      js/component/manageCenter/servicesManage/technology/applyManage.jsx
  21. 7 1
      js/component/manageCenter/set/member.jsx
  22. 45 20
      js/component/manageCenter/set/modal.jsx
  23. 12 9
      js/component/manageCenter/topTab.jsx
  24. 241 42
      js/component/manageCenter/userManage/orgDesc.jsx
  25. 152 43
      js/component/manageCenter/userManage/userDesc.jsx
  26. 68 6
      js/component/tools.js
  27. 6 0
      webpack.config.js

+ 5 - 0
entry.js

@@ -19,6 +19,7 @@ module.exports = {
     'admin/servicesManage/patent': './js/admin/servicesManage/patent.js',
     'admin/servicesManage/copyright': './js/admin/servicesManage/copyright.js',
     'admin/servicesManage/highTech': './js/admin/servicesManage/highTech.js',
+    'admin/servicesManage/highTechInfo': './js/admin/servicesManage/highTechInfo.js',
     'admin/servicesManage/technology': './js/admin/servicesManage/technology.js'
   },
   watch: {
@@ -84,6 +85,10 @@ module.exports = {
       'webpack/hot/only-dev-server',
       './js/admin/servicesManage/highTech.js'
     ],
+    'admin/servicesManage/highTechInfo': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
+      'webpack/hot/only-dev-server',
+      './js/admin/servicesManage/highTechInfo.js'
+    ],
     'admin/servicesManage/technology': ['webpack-dev-server/client?http://127.0.0.1:80', // WebpackDevServer host and port
       'webpack/hot/only-dev-server',
       './js/admin/servicesManage/technology.js'

+ 12 - 0
js/admin/servicesManage/highTechInfo.js

@@ -0,0 +1,12 @@
+import React from 'react';
+import ReactDOM from 'react-dom';
+import '../../../css/base.less';
+
+import Content from '../../component/manageCenter/servicesManage/highTech/highTechInfo.jsx';
+
+ReactDOM.render(
+    <div className="wrap clearfix">
+        <Content />
+    </div>,
+    document.getElementById('root')
+)

+ 4 - 4
js/component/account/services/activityCostList.jsx

@@ -52,9 +52,9 @@ const ActivityDescFrom = Form.create()(React.createClass({
                     url: globalConfig.context + "/api/user/cognizance/activityCost",
                     data: {
                         id: this.props.data.id,
-                        aid: this.state.aid,
+                        aid: this.props.data.aid,
                         activityNumber: this.state.activityNumber,
-                         year:this.state.year,
+                        year: this.state.year,
 
                         internalLaborCost: values.internalLaborCost,
                         internalDirectCost: values.internalDirectCost,
@@ -105,7 +105,7 @@ const ActivityDescFrom = Form.create()(React.createClass({
                         </Select>
                 }
                 <p className="activityCost-title">费用年份</p>
-                <div><YearSelect defValue={this.state.year} handleyear={(e) => { this.state.year = e ;}} /></div>
+                <div><YearSelect defValue={this.state.year} handleyear={(e) => { this.state.year = e; }} /></div>
                 <p className="activityCost-title">内部研究开发费用(万元)</p>
                 <div className="clearfix activityCost-box">
                     <FormItem className="half-item"
@@ -405,7 +405,7 @@ const Activity = React.createClass({
                     uid: thisdata.uid,
                     aid: thisdata.aid,
                     activityNumber: thisdata.activityNumber,
-                    year:thisdata.year,
+                    year: thisdata.year,
                     startDate: thisdata.startDate,
                     endDate: thisdata.endDate,
 

+ 3 - 0
js/component/dataDic.js

@@ -52,6 +52,7 @@ module.exports = {
             key: "电学"
         }
     ],
+    //知识产权类型
     catagoryList: [{
             value: "0",
             key: "其他"
@@ -90,6 +91,7 @@ module.exports = {
             key: "发明专利"
         }
     ],
+    //知识产权获取方式
     intellectualGetList:[
         {
             value: "0",
@@ -150,6 +152,7 @@ module.exports = {
             key: "6-认证结果"
         }
     ],
+    //知识产权来源
     technicalSourceList:[
         {
             value: "0",

+ 2 - 2
js/component/groupCertify/personal.jsx

@@ -377,7 +377,7 @@ const Content = Form.create()(React.createClass({
                         label="营业执照副本扫描件"
                     >
                         {getFieldDecorator('licenceScanningUrl')(
-                            <Avatar name="licenceScanningUrl" urlData={this.getLicenceScanningUrl} />
+                            <Avatar name="licence" urlData={this.getLicenceScanningUrl} />
                         )}
                     </FormItem>
                     <FormItem wrapperCol={{ span: 21, offset: 6 }}>
@@ -402,7 +402,7 @@ const Content = Form.create()(React.createClass({
                         label="组织机构代码证扫描件"
                     >
                         {getFieldDecorator('orgCodeUrl')(
-                            <Avatar name="orgCodeUrl" urlData={this.getOrgCodeUrl} />
+                            <Avatar name="orgCode" urlData={this.getOrgCodeUrl} />
                         )}
                     </FormItem>
                     <FormItem wrapperCol={{ span: 21, offset: 6 }}>

+ 25 - 18
js/component/manageCenter/servicesManage/copyright/comPatentChange.jsx

@@ -4,7 +4,7 @@ import './comprehensive.less';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import { copyrightStateList } from '../../../dataDic.js';
-import { getCopyrightState, getTime, copyrightDownloadFile, beforeUploadFile, getInUrgentTime, getPreview } from '../../../tools.js';
+import { companySearch, getCopyrightState, getTime, copyrightDownloadFile, beforeUploadFile, getInUrgentTime, getPreview } from '../../../tools.js';
 
 const CopyrightDescForm = Form.create()(React.createClass({
     getInitialState() {
@@ -202,7 +202,7 @@ const CopyrightDescForm = Form.create()(React.createClass({
         const theData = this.state;
         const formItemLayout = {
             labelCol: { span: 6 },
-            wrapperCol: { span: 12 },
+            wrapperCol: { span: 16 },
         };
         const _me = this;
         return (
@@ -235,41 +235,48 @@ const CopyrightDescForm = Form.create()(React.createClass({
                     pagination={false}
                     dataSource={this.state.stateTable}
                     columns={this.state.stateColumns} />
-                <div className="clearfix">
-                    <FormItem className="third-item"
+                <div className="clearfix" style={{paddingLeft:'4px', paddingTop: '20px', background: '#eee' }}>
+                    <FormItem className="half-item"
                         {...formItemLayout}
                         label="状态流转"
                     >
                         {getFieldDecorator('status')(
-                            <Select placeholder="选择一个状态">{this.props.statusOption}</Select>
+                            <Select
+                                style={{ width: 200 }}
+                                placeholder="选择一个状态">
+                                {this.props.statusOption}
+                            </Select>
                         )}
                     </FormItem>
-                    <FormItem className="third-item"
-                        labelCol={{ span: 6 }}
-                        wrapperCol={{ span: 12 }}
+                    <FormItem className="half-item"
+                        {...formItemLayout}
                         label="处理时间"
                     >
                         {getFieldDecorator('recordTime')(
                             <DatePicker />
                         )}
                     </FormItem>
-                    <FormItem className="third-item"
+                    <FormItem className="half-item"
                         {...formItemLayout}
                         label="负责人"
                     >
                         {getFieldDecorator('principal')(
-                            <Select placeholder="选择负责人">{this.props.authorOption}</Select>
+                            <Select
+                                showSearch
+                                filterOption={companySearch}
+                                placeholder="选择负责人">
+                                {this.props.authorOption}
+                            </Select>
+                        )}
+                    </FormItem>
+                    <FormItem className="half-item"
+                        {...formItemLayout}
+                        label="备注">
+                        {getFieldDecorator('comment')(
+                            <Input />
                         )}
                     </FormItem>
                 </div>
-                <FormItem
-                    labelCol={{ span: 2 }}
-                    wrapperCol={{ span: 12 }}
-                    label="备注">
-                    {getFieldDecorator('comment')(
-                        <Input />
-                    )}
-                </FormItem>
                 <Row className="express-desc-row">
                     <Col span={4}>编号</Col>
                     <Col span={8}>{theData.serialNumber}</Col>

+ 15 - 6
js/component/manageCenter/servicesManage/copyright/copyright.jsx

@@ -65,7 +65,8 @@ const copyright = React.createClass({
                         authorizedDateFormattedDate: thisdata.authorizedDateFormattedDate,
                         createTimeFormattedDate: thisdata.createTimeFormattedDate,
                         acceptTimeFormattedDate: thisdata.acceptTimeFormattedDate,
-                        founder: thisdata.founder
+                        founder: thisdata.founder,
+                        techPrincipal:thisdata.techPrincipal
                     });
                 };
                 this.state.pagination.defaultCurrent = data.data.pageNo;
@@ -278,6 +279,10 @@ const copyright = React.createClass({
                     title: '创建人',
                     dataIndex: 'founder',
                     key: 'founder'
+                }, {
+                    title: '技术员',
+                    dataIndex: 'techPrincipal',
+                    key: 'techPrincipal',
                 }
             ],
             dataSource: []
@@ -301,11 +306,15 @@ const copyright = React.createClass({
         this.getStateList();
         if (window.location.search) {
             let theArr = getSearchUrl(window.location.search);
-            let theObj = {};
-            theObj.id = theArr[0];
-            theObj.uid = theArr[1];
-            if (theObj.id != 'null' && theObj.uid != 'null') {
-                this.tableRowClick(theObj);
+            if (theArr.length > 1) {
+                let theObj = {};
+                theObj.id = theArr[0];
+                theObj.uid = theArr[1];
+                if (theObj.id != 'null' && theObj.uid != 'null') {
+                    this.tableRowClick(theObj);
+                };
+            } else if (theArr.length == 1) {
+                this.state.unitName = theArr[0];
             };
         };
     },

+ 1 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/activityCostList.jsx

@@ -55,7 +55,7 @@ const ActivityDescFrom = Form.create()(React.createClass({
                     url: globalConfig.context + "/api/admin/activityCost",
                     data: {
                         id: this.props.data.id,
-                        aid: this.state.aid,
+                        aid: this.props.data.aid,
                         uid: this.props.uid,
                         activityNumber: this.state.activityNumber,
                         year: this.state.year,

+ 24 - 1
js/component/manageCenter/servicesManage/highTech/fosterDesc/companyDetail.jsx

@@ -39,6 +39,8 @@ const CompanyDetail = Form.create()(React.createClass({
                 postcode: thisdata.postcode,
                 contacts: thisdata.contacts,
                 contactMobile: thisdata.contactMobile,
+                firstContacts: thisdata.firstContacts,
+                firstMobile: thisdata.firstMobile,
                 contactsFixedTel: thisdata.contactsFixedTel,
                 contactsFax: thisdata.contactsFax,
                 legalPersonTel: thisdata.legalPersonTel,
@@ -563,6 +565,28 @@ const CompanyDetail = Form.create()(React.createClass({
                         <p className="content-title">联系人信息</p>
                         <FormItem className="half-item"
                             {...formItemLayout}
+                            label="姓名"
+                        >
+                            {getFieldDecorator('firstContacts', {
+                                rules: [{ required: true, message: '此项为必填项!' }],
+                                initialValue: theData.firstContacts
+                            })(
+                                <Input />
+                                )}
+                        </FormItem>
+                        <FormItem className="half-item"
+                            {...formItemLayout}
+                            label="手机"
+                        >
+                            {getFieldDecorator('firstMobile', {
+                                rules: [{ required: true, message: '此项为必填项!' }],
+                                initialValue: theData.firstMobile
+                            })(
+                                <Input />
+                                )}
+                        </FormItem>
+                        <FormItem className="half-item"
+                            {...formItemLayout}
                             label="电话"
                         >
                             {getFieldDecorator('contactsFixedTel', {
@@ -950,7 +974,6 @@ const CompanyDetail = Form.create()(React.createClass({
                     </div>
                     <FormItem style={{ marginTop: '20px' }}>
                         <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
-                        <Button type="ghost" style={{ marginLeft: '20px' }} onClick={this.props.closeModal}>取消</Button>
                     </FormItem>
                 </Form >
             );

+ 1 - 0
js/component/manageCenter/servicesManage/highTech/fosterDesc/content.jsx

@@ -205,6 +205,7 @@ const Content = React.createClass({
                                 <Radio.Button value="standard">标准制定情况</Radio.Button>
                                 <Radio.Button value="innovationAbility">企业创新能力</Radio.Button>
                                 <Radio.Button value="annualReport">年报</Radio.Button>
+                                <Radio.Button><a href={globalConfig.context + "/admin/servicesManage/highTechInfo.html?uid=" + this.props.data.uid} target="_blank">高企信息导出</a></Radio.Button>
                             </Radio.Group>
                         </div>
                     </div>

+ 1 - 0
js/component/manageCenter/servicesManage/highTech/fosterDesc/techProduct.jsx

@@ -318,6 +318,7 @@ const TechProductDesc = React.createClass({
                         <TechProductDescFrom
                             data={this.props.data}
                             uid={this.props.uid}
+                            visible={this.state.visible}
                             resetForm={this.state.resetForm}
                             mockData={this.props.mockData}
                             spinState={this.spinChange} closeModal={this.handleCancel} clickOk={this.handleOk} />

+ 94 - 21
js/component/manageCenter/servicesManage/highTech/highTechApply.jsx

@@ -91,8 +91,10 @@ const CognizanceDescFrom = Form.create()(React.createClass({
                 cid: cid || this.props.data.cid
             },
             success: function (data) {
-                if (data.error.length || !data.data) {
-                    message.warning(data.error[0].message);
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    }
                     return;
                 };
                 this.state.stateTable = [];
@@ -113,6 +115,40 @@ const CognizanceDescFrom = Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    getBusinessCount(uid) {
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/getBusinessCount",
+            data: {
+                uid: uid || this.props.data.uid
+            },
+            success: function (data) {
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    }
+                    return;
+                };
+                this.setState({
+                    patentDone: data.data.patentDone,  //专利已下证数量
+                    patentUndone: data.data.patentUndone, //专利未下证数量
+                    copyrightDone: data.data.copyrightDone,//软著已下证数量
+                    copyrightUndone: data.data.copyrightUndone,//软著未下证数量
+                    techProjectDone: data.data.techProjectDone,//科技项目申报审批已通过数量
+                    techProjectUndone: data.data.techProjectUndone//科技项目申报审批未通过数量
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
     getContactsList(uid) {
         $.ajax({
             method: "get",
@@ -216,6 +252,7 @@ const CognizanceDescFrom = Form.create()(React.createClass({
     },
     componentWillMount() {
         this.loadData();
+        this.getBusinessCount();
         this.getOptionList();
         this.getStateData();
         this.getContactsList();
@@ -272,6 +309,7 @@ const CognizanceDescFrom = Form.create()(React.createClass({
     componentWillReceiveProps(nextProps) {
         if (!this.props.visible && nextProps.visible) {
             this.getStateData(nextProps.data.cid);
+            this.getBusinessCount(nextProps.data.uid);
             this.loadData(nextProps.data.uid, nextProps.data.cid, nextProps.data.year);
             this.getContactsList(nextProps.data.uid);
             this.props.form.resetFields();
@@ -308,46 +346,81 @@ const CognizanceDescFrom = Form.create()(React.createClass({
                                 <span>{theData.year}</span>
                             </div>
                         </div>
+                        <div className="form-title">相关科技服务详情: </div>
+                        <div className="clearfix">
+                            <div className="half-item">
+                                <span className="item-title">
+                                    <a href={globalConfig.context + "/admin/servicesManage/patent.html?uid=" + theData.uid + "#comprehensive"}>专利数量: </a>
+                                </span>
+                                <span> 已下证 {this.state.patentDone || 0} 项</span>
+                                <span> 未下证 {this.state.patentUndone || 0} 项</span>
+                            </div>
+                            <div className="half-item">
+                                <span className="item-title">
+                                    <a href={globalConfig.context + "/admin/servicesManage/copyright.html?uid=" + theData.uid + "#copyright"}>软著数量: </a>
+                                </span>
+                                <span> 已下证 {this.state.copyrightDone || 0} 项</span>
+                                <span> 未下证 {this.state.copyrightUndone || 0} 项</span>
+                            </div>
+                            <div className="half-item">
+                                <span className="item-title">
+                                    <a href={globalConfig.context + "/admin/servicesManage/technology.html?uid=" + theData.uid + "#applyManage"}>科技项目数量: </a>
+                                </span>
+                                <span> 已通过 {this.state.techProjectDone || 0} 项</span>
+                                <span> 未通过 {this.state.techProjectUndone || 0} 项</span>
+                            </div>
+                        </div>
                         <div className="form-title">状态流转记录: </div>
-                        <Table style={{ marginBottom: '20px', background: "#eee" }}
+                        <Table style={{background: "#eee" }}
                             pagination={false}
                             dataSource={this.state.stateTable}
                             columns={this.state.stateColumns} />
-                        <div className="clearfix">
-                            <FormItem className="third-item"
-                                {...formItemLayout}
+                        <div className="clearfix" style={{paddingTop:'20px',background:'#eee'}}>
+                            <FormItem className="half-item"
+                                labelCol={{ span: 4 }}
+                                wrapperCol={{ span: 18 }}
                                 label="状态流转"
                             >
                                 {getFieldDecorator('state')(
-                                    <Select placeholder="选择一个状态">{this.state.stateOption}</Select>
+                                    <Select
+                                        style={{ width: 200 }}
+                                        placeholder="选择一个状态">
+                                        {this.state.stateOption}
+                                    </Select>
                                 )}
                             </FormItem>
-                            <FormItem className="third-item"
-                                labelCol={{ span: 6 }}
-                                wrapperCol={{ span: 12 }}
+                            <FormItem className="half-item"
+                                labelCol={{ span: 4 }}
+                                wrapperCol={{ span: 18 }}
                                 label="处理时间"
                             >
                                 {getFieldDecorator('recordTime')(
                                     <DatePicker />
                                 )}
                             </FormItem>
-                            <FormItem className="third-item"
-                                {...formItemLayout}
+                            <FormItem className="half-item"
+                                labelCol={{ span: 4 }}
+                                wrapperCol={{ span: 18 }}
                                 label="负责人"
                             >
                                 {getFieldDecorator('principal')(
-                                    <Select placeholder="选择负责人">{this.props.authorOption}</Select>
+                                    <Select
+                                        showSearch
+                                        filterOption={companySearch}
+                                        placeholder="选择负责人">
+                                        {this.props.authorOption}
+                                    </Select>
+                                )}
+                            </FormItem>
+                            <FormItem className="half-item"
+                                labelCol={{ span: 4 }}
+                                wrapperCol={{ span: 18 }}
+                                label="备注">
+                                {getFieldDecorator('comment')(
+                                    <Input />
                                 )}
                             </FormItem>
                         </div>
-                        <FormItem
-                            labelCol={{ span: 2 }}
-                            wrapperCol={{ span: 12 }}
-                            label="备注">
-                            {getFieldDecorator('comment')(
-                                <Input />
-                            )}
-                        </FormItem>
                         <div className="clearfix">
                             <FormItem className="half-item"
                                 labelCol={{ span: 3 }}

+ 7 - 1
js/component/manageCenter/servicesManage/highTech/highTechFoster.jsx

@@ -42,6 +42,7 @@ const Patent = React.createClass({
                         }],
                         cogContacts: thisdata.cogContacts,
                         consultant: thisdata.consultant,
+                        techPrincipal: thisdata.techPrincipal,
                         firstContacts: thisdata.firstContacts,
                         issuingDate: thisdata.issuingDate,
                         issuingDateFormattedDate: thisdata.issuingDateFormattedDate,
@@ -52,6 +53,7 @@ const Patent = React.createClass({
                         uid: thisdata.uid,
                         unitName: thisdata.unitName,
                         state: thisdata.issuingDateFormattedDate ? getTime(thisdata.issuingDateFormattedDate, 36) : null,
+                        techPrincipal:thisdata.techPrincipal
                     });
                 };
                 this.state.pagination.current = data.data.pageNo;
@@ -165,9 +167,13 @@ const Patent = React.createClass({
                     dataIndex: 'endtime',
                     key: 'endtime'
                 }, {
-                    title: '负责人',
+                    title: '业务员',
                     dataIndex: 'consultant',
                     key: 'consultant',
+                }, {
+                    title: '技术员',
+                    dataIndex: 'techPrincipal',
+                    key: 'techPrincipal',
                 }
             ],
             dataSource: []

+ 52 - 1
js/component/manageCenter/servicesManage/highTech/highTechFoster.less

@@ -36,7 +36,7 @@
         float: left;
         width: 50%;
         height: 36px;
-        margin-bottom: 20px;
+        margin-bottom: 10px;
     }
     .third-item {
         float: left;
@@ -75,4 +75,55 @@
             display: none;
         }
     }
+}
+
+#Info-box {
+    .Info-title {
+        text-align: center;
+        font-size: 24px;
+        line-height: 68px;
+    }
+    .Info-content {
+        width: 1000px;
+        margin: 0 auto;
+        background: #fff;
+        >p {
+            padding-left: 10px;
+            line-height: 24px;
+            margin: 10px 10px;
+        }
+        .content-title {
+            margin: 40px 10px;
+            >span {
+                color: #333;
+                font-size: 16px;
+                margin-bottom: 10px;
+            }
+        }
+        .item-title {
+            display: inline-block;
+            width: 140px;
+            margin: 0 10px;
+            border-right: 2px solid #fff;
+        }
+        .all-item {
+            line-height: 24px;
+            margin-bottom: 10px;
+            background: #eee;
+            >span {
+                vertical-align: top;
+            }
+        }
+        .half-item {
+            float: left;
+            width: 50%;
+            line-height: 24px;
+            margin-bottom: 10px;
+            background: #eee;
+            border-right: 2px solid #fff;
+            >span {
+                vertical-align: top;
+            }
+        }
+    }
 }

File diff suppressed because it is too large
+ 1567 - 0
js/component/manageCenter/servicesManage/highTech/highTechInfo.jsx


+ 55 - 19
js/component/manageCenter/servicesManage/patent/comPatentDesc.jsx

@@ -5,7 +5,7 @@ import ajax from 'jquery/src/ajax/xhr.js';
 import moment from 'moment';
 import $ from 'jquery/src/ajax';
 import { patentTypeList, patentStateList, industryList } from '../../../dataDic.js';
-import { getBase64, beforeUpload, getPatentState, getTime, newDownloadFile, getPreview } from '../../../tools.js';
+import { getBase64, beforeUpload, getPatentState, getTime, newDownloadFile, getPreview, companySearch } from '../../../tools.js';
 
 class Avatar extends React.Component {
     constructor(props) {
@@ -109,6 +109,10 @@ const PatentDesc = React.createClass({
                 };
             } else {
                 this.state.data = data1[0].data;
+                this.state.firstInventorName = data1[0].data.firstInventorName;
+                this.state.firstInventorIdNumber = data1[0].data.firstInventorIdNumber;
+                this.state.secondInventorName = data1[0].data.secondInventorName;
+                this.state.thirdInventorName = data1[0].data.thirdInventorName;
                 this.state.patentDes = data1[0].data.patentDes;
                 this.state.patentName = data1[0].data.patentName;
                 this.state.patentNumber = data1[0].data.patentNumber;
@@ -222,6 +226,10 @@ const PatentDesc = React.createClass({
                 "authorizationNoticeUrl": this.state.authorizationNoticeUrl,
                 "patentCertificateUrl": this.state.patentCertificateUrl,
                 "pState": this.props.data.patentState,
+                "firstInventorName": this.state.firstInventorName,
+                "firstInventorIdNumber": this.state.firstInventorIdNumber,
+                "secondInventorName": this.state.secondInventorName,
+                "thirdInventorName": this.state.thirdInventorName,
                 "state": this.state.patentStateAdd,
                 "recordTimeFormattedDate": this.state.recordTime,
                 "principal": this.state.adminName,
@@ -319,8 +327,8 @@ const PatentDesc = React.createClass({
                                 pagination={false}
                                 dataSource={this.state.stateTable}
                                 columns={this.state.stateColumns} />
-                            <div className="clearfix">
-                                <div className="widthThird">
+                            <div className="clearfix" style={{ paddingLeft: '4px', paddingTop: '20px', background: "#eee" }}>
+                                <div className="widthHalf">
                                     <span>状态流转:</span>
                                     <Select placeholder='请选择状态'
                                         value={this.state.patentStateAdd}
@@ -329,26 +337,30 @@ const PatentDesc = React.createClass({
                                         {this.props.patentStateOption}
                                     </Select>
                                 </div>
-                                <p className="widthThird">
+                                <div className="widthHalf">
                                     <span>处理时间:</span>
-                                    <DatePicker
-                                        value={this.state.recordTime ? moment(this.state.recordTime) : undefined}
-                                        format="YYYY-MM-DD HH:mm:ss"
-                                        onChange={(data, dataString) => { this.setState({ recordTime: dataString }); }} />
-                                </p>
-                                <div className="widthThird">
+                                    <i>
+                                        <DatePicker
+                                            value={this.state.recordTime ? moment(this.state.recordTime) : undefined}
+                                            format="YYYY-MM-DD HH:mm:ss"
+                                            onChange={(data, dataString) => { this.setState({ recordTime: dataString }); }} />
+                                    </i>
+                                </div>
+                                <div className="widthHalf">
                                     <span>负责人:</span>
                                     <Select placeholder='请填写负责人'
                                         value={this.state.adminName}
-                                        style={{ width: 150 }}
+                                        showSearch
+                                        filterOption={companySearch}
+                                        style={{ width: 200 }}
                                         onChange={(e) => { this.setState({ adminName: e }); }}>
                                         {this.props.adminOption}
                                     </Select>
                                 </div>
-                            </div>
-                            <div>
-                                <span>备注:</span>
-                                <Input value={this.state.comment} placeholder='请填写备注' style={{ width: 400 }} onChange={(e) => { this.setState({ comment: e.target.value }); }} />
+                                <div className="widthHalf">
+                                    <span>备注:</span>
+                                    <Input value={this.state.comment} placeholder='请填写备注' onChange={(e) => { this.setState({ comment: e.target.value }); }} />
+                                </div>
                             </div>
                             <div>
                                 <p className="widthHalf"><span>事务所:</span><Input value={this.state.office} onChange={(e) => { this.setState({ office: e.target.value }); }} /></p>
@@ -388,18 +400,42 @@ const PatentDesc = React.createClass({
                             </div>
                             <div>
                                 <p>第一发明人:</p>
-                                <p className="widthThird"><span>姓名:</span>{theData.firstInventorName}</p>
-                                <p className="widthThird"><span>身份证:</span>{theData.firstInventorIdNumber}</p>
+                                <p className="widthThird">
+                                    <span>姓名:</span>
+                                    <Input
+                                        style={{ width: 150 }}
+                                        value={this.state.firstInventorName}
+                                        onChange={(e) => { this.setState({ firstInventorName: e.target.value }); }} />
+                                </p>
+                                <p className="widthThird">
+                                    <span>身份证:</span>
+                                    <Input
+                                        style={{ width: 150 }}
+                                        value={this.state.firstInventorIdNumber}
+                                        onChange={(e) => { this.setState({ firstInventorIdNumber: e.target.value }); }} />
+                                </p>
                                 <p className="widthThird"><span>国籍:</span>中国</p>
                             </div>
                             <div style={theData.secondInventorName === '' ? { display: 'none' } : {}}>
                                 <p>第二发明人:</p>
-                                <p className="widthThird"><span>姓名:</span>{theData.secondInventorName}</p>
+                                <p className="widthThird">
+                                    <span>姓名:</span>
+                                    <Input
+                                        style={{ width: 150 }}
+                                        value={this.state.secondInventorName}
+                                        onChange={(e) => { this.setState({ secondInventorName: e.target.value }); }} />
+                                </p>
                                 <p className="widthThird"><span>国籍:</span>中国</p>
                             </div>
                             <div style={theData.thirdInventorName === '' ? { display: 'none' } : {}}>
                                 <p>第三发明人:</p>
-                                <p className="widthThird"><span>姓名:</span>{theData.thirdInventorName}</p>
+                                <p className="widthThird">
+                                    <span>姓名:</span>
+                                    <Input
+                                        style={{ width: 150 }}
+                                        value={this.state.thirdInventorName}
+                                        onChange={(e) => { this.setState({ thirdInventorName: e.target.value }); }} />
+                                </p>
                                 <p className="widthThird"><span>国籍:</span>中国</p>
                             </div>
                             <div className="clearfix">

+ 24 - 13
js/component/manageCenter/servicesManage/patent/comprehensive.jsx

@@ -27,7 +27,7 @@ const Patent = React.createClass({
                 patentNumber: this.state.patentNumber || null,
                 patentName: this.state.patentName || null,
                 locationProvince: this.state.province || null,
-                unitName: this.state.unitName || null,
+                uid: this.state.unitId || null,
                 patentCatagory: this.state.patentType || null,
                 patentState: this.state.patentState || null,
                 createTime: this.state.createTime || null,
@@ -87,7 +87,8 @@ const Patent = React.createClass({
                         author: thisdata.author, //撰写人
                         office: thisdata.office, //事务所
                         principal: thisdata.principal, //负责人
-                        founder: thisdata.founder //创建人
+                        founder: thisdata.founder, //创建人
+                        techPrincipal:thisdata.techPrincipal //技术员
                     });
                 };
                 this.state.pagination.current = data.data.pageNo;
@@ -242,6 +243,10 @@ const Patent = React.createClass({
                     title: '创建人',
                     dataIndex: 'founder',
                     key: 'founder'
+                },{
+                    title: '技术员',
+                    dataIndex: 'techPrincipal',
+                    key: 'techPrincipal',
                 }
             ],
             dataSource: []
@@ -264,17 +269,21 @@ const Patent = React.createClass({
                 <Select.Option value={item} key={item}>{item}</Select.Option>
             )
         });
-        this.loadData();
-        this.getOptionList();
         if (window.location.search) {
             let theArr = getSearchUrl(window.location.search);
-            let theObj = {};
-            theObj.pid = theArr[0];
-            theObj.uid = theArr[1];
-            if (theObj.pid != 'null' && theObj.uid != 'null') {
-                this.tableRowClick(theObj);
+            if (theArr.length > 1) {
+                let theObj = {};
+                theObj.pid = theArr[0];
+                theObj.uid = theArr[1];
+                if (theObj.pid != 'null' && theObj.uid != 'null') {
+                    this.tableRowClick(theObj);
+                };
+            } else if (theArr.length == 1) {
+                this.state.unitId = theArr[0];
             };
         };
+        this.loadData();
+        this.getOptionList();
     },
     tableRowClick(record, index) {
         this.state.RowData = record;
@@ -295,7 +304,7 @@ const Patent = React.createClass({
         this.state.number = undefined;
         this.state.patentNumber = undefined;
         this.state.province = undefined;
-        this.state.unitName = undefined;
+        this.state.unitId = undefined;
         this.state.patentType = undefined;
         this.state.patentName = undefined;
         this.state.patentState = undefined;
@@ -312,7 +321,7 @@ const Patent = React.createClass({
             "&" + "patentNumber" + "=" + this.state.patentNumber +
             "&" + "patentName" + "=" + this.state.patentName +
             "&" + "locationProvince" + "=" + this.state.locationProvince +
-            "&" + "unitName" + "=" + this.state.unitName +
+            "&" + "uid" + "=" + this.state.unitId +
             "&" + "patentCatagory" + "=" + this.state.patentCatagory +
             "&" + "patentState" + "=" + this.state.patentState +
             "&" + "createTime" + "=" + this.state.createTime +
@@ -510,14 +519,16 @@ const Patent = React.createClass({
                                 showSearch
                                 filterOption={companySearch}
                                 style={{ width: 100 }}
-                                onChange={(e) => { this.state.province = e }}>
+                                value={this.state.province}
+                                onChange={(e) => { this.setState({ province: e }); }}>
                                 {this.state.provinceOption}
                             </Select>
                             <Select placeholder="选择公司"
                                 style={{ width: 200 }}
                                 showSearch
                                 filterOption={companySearch}
-                                onChange={(e) => { this.state.companyName = e }}>
+                                value={this.state.unitId}
+                                onChange={(e) => { this.setState({ unitId: e }); }}>
                                 {this.state.companyOption}
                             </Select>
                         </div>

+ 1 - 0
js/component/manageCenter/servicesManage/patent/comprehensive.less

@@ -138,6 +138,7 @@
             .widthHalf {
                 display: inline-block;
                 width: 50%;
+                margin-bottom: 10px;
                 input {
                     width: 200px;
                 }

+ 24 - 17
js/component/manageCenter/servicesManage/technology/applyChange.jsx

@@ -1,7 +1,7 @@
 import React from 'react';
 import { Icon, Form, Button, Input, Select, Spin, Table, DatePicker, message, Modal, Upload, Radio } from 'antd';
 import { technologyStateList } from '../../../dataDic.js';
-import { getTechnologyState, beforeUpload, beforeUploadFile, techDownloadFile, getPreview } from '../../../tools.js';
+import { getTechnologyState, beforeUpload, beforeUploadFile, techDownloadFile, getPreview, companySearch } from '../../../tools.js';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 
@@ -321,41 +321,48 @@ const ApplyChangeFrom = Form.create()(React.createClass({
                             pagination={false}
                             dataSource={this.state.stateTable}
                             columns={this.state.stateColumns} />
-                        <div className="clearfix">
-                            <FormItem className="third-item"
+                        <div className="clearfix" style={{ paddingLeft: '4px', paddingTop: '10px', background: "#eee" }}>
+                            <FormItem className="half-item"
                                 {...formItemLayout}
                                 label="状态流转"
                             >
                                 {getFieldDecorator('state')(
-                                    <Select placeholder="选择一个状态">{this.state.stateOption}</Select>
+                                    <Select
+                                        style={{ width: 200 }}
+                                        placeholder="选择一个状态">
+                                        {this.state.stateOption}
+                                    </Select>
                                 )}
                             </FormItem>
-                            <FormItem className="third-item"
-                                labelCol={{ span: 6 }}
-                                wrapperCol={{ span: 12 }}
+                            <FormItem className="half-item"
+                                {...formItemLayout}
                                 label="处理时间"
                             >
                                 {getFieldDecorator('recordTime')(
                                     <DatePicker />
                                 )}
                             </FormItem>
-                            <FormItem className="third-item"
+                            <FormItem className="half-item"
                                 {...formItemLayout}
                                 label="负责人"
                             >
                                 {getFieldDecorator('principal')(
-                                    <Select placeholder="选择负责人">{this.props.authorOption}</Select>
+                                    <Select
+                                        showSearch
+                                        filterOption={companySearch}
+                                        placeholder="选择负责人">
+                                        {this.props.authorOption}
+                                    </Select>
+                                )}
+                            </FormItem>
+                            <FormItem className="half-item"
+                                {...formItemLayout}
+                                label="备注">
+                                {getFieldDecorator('comment')(
+                                    <Input />
                                 )}
                             </FormItem>
                         </div>
-                        <FormItem
-                            labelCol={{ span: 2 }}
-                            wrapperCol={{ span: 12 }}
-                            label="备注">
-                            {getFieldDecorator('comment')(
-                                <Input />
-                            )}
-                        </FormItem>
                     </div>
                     <div className="clearfix">
                         <FormItem className="third-item"

+ 17 - 12
js/component/manageCenter/servicesManage/technology/applyManage.jsx

@@ -24,7 +24,7 @@ const ApplyManage = React.createClass({
                 pageNo: pageNo || 1,
                 pageSize: this.state.pagination.pageSize,
                 province: this.state.province,
-                unitName: this.state.unitName,
+                uid: this.state.unitName,
             },
             success: function (data) {
                 if (data.error.length || !data.data || !data.data.list) {
@@ -61,7 +61,8 @@ const ApplyManage = React.createClass({
                         accountNumber: thisdata.accountNumber,
                         password: thisdata.password,
                         consultant: thisdata.consultant,
-                        founder: thisdata.founder
+                        founder: thisdata.founder, //创建人
+                        techPrincipal: thisdata.techPrincipal //技术员
                     });
                 };
                 this.state.pagination.current = data.data.pageNo;
@@ -242,13 +243,13 @@ const ApplyManage = React.createClass({
                     dataIndex: 'password',
                     key: 'password'
                 }, {
-                    title: '负责人',
-                    dataIndex: 'consultant',
-                    key: 'consultant'
-                }, {
                     title: '创建人',
                     dataIndex: 'founder',
                     key: 'founder'
+                }, {
+                    title: '技术员',
+                    dataIndex: 'techPrincipal',
+                    key: 'techPrincipal',
                 }
             ],
             dataSource: []
@@ -267,11 +268,15 @@ const ApplyManage = React.createClass({
         this.getConsultant();
         if (window.location.search) {
             let theArr = getSearchUrl(window.location.search);
-            let theObj = {};
-            theObj.pid = theArr[0];
-            theObj.uid = theArr[1];
-            if (theObj.pid != 'null' && theObj.uid != 'null') {
-                this.tableRowClick(theObj);
+            if (theArr.length > 1) {
+                let theObj = {};
+                theObj.pid = theArr[0];
+                theObj.uid = theArr[1];
+                if (theObj.pid != 'null' && theObj.uid != 'null') {
+                    this.tableRowClick(theObj);
+                };
+            } else if (theArr.length == 1) {
+                this.state.unitName = theArr[0];
             };
         };
     },
@@ -285,7 +290,7 @@ const ApplyManage = React.createClass({
         this.setState({
             showAdd: true
         });
-    }, 
+    },
     delectRow() {
         let deletedIds = [];
         for (let idx = 0; idx < this.state.selectedRows.length; idx++) {

+ 7 - 1
js/component/manageCenter/set/member.jsx

@@ -28,11 +28,13 @@ const Member = React.createClass({
                 };
                 for (let i = 0; i < data.data.list.length; i++) {
                     let thisdata = data.data.list[i];
+                    this.state.onlyProvince = thisdata.province;
                     this.state.data.push({
                         key: i,
                         id: thisdata.id,
                         mobile: thisdata.mobile,
                         name: thisdata.name,
+                        position:thisdata.position,
                         email: thisdata.email,
                         createTime: thisdata.createTime,
                         number: thisdata.number,
@@ -112,6 +114,10 @@ const Member = React.createClass({
             dataIndex: 'name',
             key: 'name'
         }, {
+            title: '职位',
+            dataIndex: 'position',
+            key: 'position'
+        }, {
             title: '省份',
             dataIndex: 'province',
             key: 'province'
@@ -132,7 +138,7 @@ const Member = React.createClass({
                         <Button style={{ background: "#ea0862", border: "none", color: "#fff" }}
                             onClick={this.addNew}>添加<Icon type="plus" /></Button>
                     </div>
-                    <TheModal data={this.state.modalData} show={this.state.modalShow} handleReturn={this.handleReturn} />
+                    <TheModal data={this.state.modalData} onlyProvince={this.state.onlyProvince} show={this.state.modalShow} handleReturn={this.handleReturn} />
                     <Table className='member-table'
                         columns={columns}
                         onRowClick={this.edit}

+ 45 - 20
js/component/manageCenter/set/modal.jsx

@@ -16,6 +16,7 @@ export default class TheModal extends React.Component {
             data: {
                 'id': this.state.id,
                 'name': this.state.name,
+                'position': this.state.position,
                 'email': this.state.email,
                 'mobile': this.state.mobile,
                 'province': this.state.province,
@@ -43,6 +44,7 @@ export default class TheModal extends React.Component {
         super(props);
         this.state = {
             name: '',
+            position: '',
             email: '',
             mobile: '',
             roles: [],
@@ -108,6 +110,7 @@ export default class TheModal extends React.Component {
             visible: nextProps.show,
             id: nextProps.data ? nextProps.data.id : '',
             name: nextProps.data ? nextProps.data.name : '',
+            position: nextProps.data ? nextProps.data.position : '',
             email: nextProps.data ? nextProps.data.email : '',
             mobile: nextProps.data ? nextProps.data.mobile : '',
             province: nextProps.data ? nextProps.data.province : ''
@@ -157,7 +160,33 @@ export default class TheModal extends React.Component {
             return <li><span className='modal-text'>角色</span><span>系统管理员</span></li>
         }
     }
-
+    getProvinceSelection() {
+        if (window.showPermissionList && window.showRoleList) {
+            return <li>
+                <span className='modal-text'>省份</span>
+                <Select placeholder="选择省份"
+                    style={{ width: 200 }}
+                    value={this.state.province}
+                    showSearch
+                    filterOption={companySearch}
+                    onChange={(e) => { this.setState({ province: e }) }}>
+                    {this.state.provinceOption}
+                </Select>
+            </li>
+        } else {
+            return <li>
+                <span className='modal-text'>省份</span>
+                <Select placeholder="选择省份"
+                    style={{ width: 200 }}
+                    value={this.state.province}
+                    showSearch
+                    filterOption={companySearch}
+                    onChange={(e) => { this.setState({ province: e }) }}>
+                    <Select.Option value={this.props.onlyProvince} key={this.props.onlyProvince}>{this.props.onlyProvince}</Select.Option>
+                </Select>
+            </li>
+        }
+    }
 
     bindRoles(val) {
         this.setState({
@@ -190,20 +219,14 @@ export default class TheModal extends React.Component {
                                 <Input value={this.state.name} onChange={(e) => { this.state.name = e.target.value; this.setState({ name: this.state.name }); }} />
                             </li>
                             <li>
+                                <span className='modal-text'>职位</span>
+                                <Input value={this.state.position} onChange={(e) => { this.state.position = e.target.value; this.setState({ position: this.state.position }); }} />
+                            </li>s
+                            <li>
                                 <span className='modal-text'>登录账号</span>
                                 <Input value={this.state.mobile} onChange={(e) => { this.state.mobile = e.target.value; this.setState({ mobile: this.state.mobile }); }} />
                             </li>
-                            <li>
-                                <span className='modal-text'>省份</span>
-                                <Select placeholder="选择省份"
-                                    style={{ width: 200 }}
-                                    value={this.state.province}
-                                    showSearch
-                                    filterOption={companySearch}
-                                    onChange={(e) => { this.setState({ province: e }) }}>
-                                    {this.state.provinceOption}
-                                </Select>
-                            </li>
+                            {this.getProvinceSelection()}
                             <li>
                                 <span className='modal-text'>邮箱</span>
                                 <Input value={this.state.email} onChange={(e) => { this.state.email = e.target.value; this.setState({ email: this.state.email }); }} />
@@ -211,14 +234,16 @@ export default class TheModal extends React.Component {
                             {this.getRolesSelection()}
                             <li>
                                 <span></span>
-                                <Popconfirm
-                                    title={"用户 [ " + this.state.name + " ] 的密码将会重置为123456,确认操作?"}
-                                    onConfirm={this.resetPwd.bind(this)}
-                                    okText="确认"
-                                    cancelText="取消"
-                                    placement="topLeft">
-                                    <Button>重置密码</Button>
-                                </Popconfirm>
+                                {this.state.id ?
+                                    <Popconfirm
+                                        title={"用户 [ " + this.state.name + " ] 的密码将会重置为123456,确认操作?"}
+                                        onConfirm={this.resetPwd.bind(this)}
+                                        okText="确认"
+                                        cancelText="取消"
+                                        placement="topLeft">
+                                        <Button>重置密码</Button>
+                                    </Popconfirm>
+                                    : <span></span>}
                             </li>
                         </ul>
                     </Modal>

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

@@ -258,6 +258,7 @@ const UserModal = React.createClass({
                     id: data.data.id,
                     mobile: data.data.mobile,
                     name: data.data.name,
+                    position: data.data.position,
                     email: data.data.email,
                     createTime: data.data.createTime,
                     number: data.data.number,
@@ -327,19 +328,16 @@ const UserModal = React.createClass({
                                 <Input value={this.state.name} onChange={(e) => { this.state.name = e.target.value; this.setState({ name: this.state.name }); }} />
                             </li>
                             <li>
+                                <span className='modal-text'>职位</span>
+                                <span>{this.state.position}</span>
+                            </li>
+                            <li>
                                 <span className='modal-text'>登录账号</span>
                                 <Input value={this.state.mobile} onChange={(e) => { this.state.mobile = e.target.value; this.setState({ mobile: this.state.mobile }); }} />
                             </li>
                             <li>
                                 <span className='modal-text'>省份</span>
-                                <Select placeholder="选择省份"
-                                    style={{ width: 200 }}
-                                    value={this.state.province}
-                                    showSearch
-                                    filterOption={companySearch}
-                                    onChange={(e) => { this.setState({ province: e }) }}>
-                                    {this.state.provinceOption}
-                                </Select>
+                                <span>{this.state.province}</span>
                             </li>
                             <li>
                                 <span className='modal-text'>邮箱</span>
@@ -422,7 +420,12 @@ const TopTab = React.createClass({
         return (
             <div className="account-top" >
                 <div className="acc-top-user">
-                    <span className="acc-top-user-name">欢迎您 , {adminData.name || adminData.mobile ? <a onClick={() => { this.setState({ userModalShow: true }); }}> {adminData.name || adminData.mobile} </a> : <a onClick={this.logOut}>{this.state.username}</a>} <a onClick={this.logOut}>[ 退出 ]</a></span>
+                    <span className="acc-top-user-name">欢迎您 , {adminData.name || adminData.mobile ? <a onClick={() => {
+                        if (window.showPermissionList && window.showRoleList) {
+                            return
+                        };
+                        this.setState({ userModalShow: true });
+                    }}> {adminData.name || adminData.mobile} </a> : <a onClick={this.logOut}>{this.state.username}</a>} <a onClick={this.logOut}>[ 退出 ]</a></span>
                     <span className="acc-top-user-toindex"><a href={globalConfig.avatarHost + "/html/index.html"}>返回首页</a></span>
                     <a onClick={() => { this.setState({ messageModalShow: true }); }} className="user-badge">
                         <Icon type="mail" />

+ 241 - 42
js/component/manageCenter/userManage/orgDesc.jsx

@@ -1,11 +1,11 @@
 import React from 'react';
-import { Icon, Modal, message, Spin, Button, Tabs, Input, Select, Form, DatePicker, Cascader } from 'antd';
+import { Icon, Modal, message, Spin, Button, Tabs, Input, Select, Form, DatePicker, Cascader, Upload } from 'antd';
 import './userList.less';
 import ajax from 'jquery/src/ajax/xhr.js';
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import { eduLevelList, auditStatusList, certifyStepList } from '../../dataDic.js'
-import { provinceSelect } from '../../tools.js';
+import { provinceSelect, beforeUploadFile } from '../../tools.js';
 
 const OrgCertify = Form.create()(React.createClass({
     getInitialState() {
@@ -23,10 +23,10 @@ const OrgCertify = Form.create()(React.createClass({
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: window.showAuditStatus ? "get" : "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/orgDetail",
+            url: window.showAuditStatus ? globalConfig.context + "/api/admin/userCertify/orgDetail" : globalConfig.context + "/api/admin/orgDetail",
             data: {
                 uid: uid
             },
@@ -78,6 +78,9 @@ const OrgCertify = Form.create()(React.createClass({
                     paymentDateFormattedDate: thisData.paymentDateFormattedDate,
                     lastYearTaxReportUrl: thisData.lastYearTaxReportUrl,
                     auditStatus: thisData.auditStatus,
+
+                    aid: thisData.aid,   //业务员ID
+                    mid: thisData.mid  //客户经理ID
                 });
                 this.props.form.resetFields();
             }.bind(this),
@@ -87,6 +90,38 @@ const OrgCertify = Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    getAuthorList() {
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/getPrincipal",
+            success: function (data) {
+                let theArr = [];
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    };
+                    return;
+                };
+                for (var item in data.data) {
+                    theArr.push(
+                        <Select.Option value={item} key={item}>{data.data[item]}</Select.Option>
+                    )
+                };
+                this.setState({
+                    authorOption: theArr
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
     handleSubmit(e) {
         e.preventDefault();
         this.props.form.validateFields((err, values) => {
@@ -103,7 +138,7 @@ const OrgCertify = Form.create()(React.createClass({
                     method: "POST",
                     dataType: "json",
                     crossDomain: false,
-                    url: globalConfig.context + "/api/admin/updateOrgDetail",
+                    url: window.showAuditStatus ? globalConfig.context + "/api/admin/userCertify/updateOrgDetail" : globalConfig.context + "/api/admin/updateOrgDetail",
                     data: {
                         uid: this.props.uid,
                         id: this.state.id,
@@ -137,6 +172,9 @@ const OrgCertify = Form.create()(React.createClass({
                         validationAmount: values.validationAmount, //打款金额
                         paymentDateFormattedDate: values.paymentDateFormattedDate ? values.paymentDateFormattedDate.format("YYYY-MM-DD") : undefined,
                         auditStatus: values.auditStatus,
+                        licenceScanningUrl: this.state.licenceScanningUrl,
+                        orgCodeUrl: this.state.orgCodeUrl,
+                        lastYearTaxReportUrl: this.state.lastYearTaxReportUrl,
                         //process: this.state.process,
 
                         licenceArea: values.licenceAddress[2],
@@ -145,6 +183,9 @@ const OrgCertify = Form.create()(React.createClass({
                         locationArea: values.locationAddress[2],
                         locationCity: values.locationAddress[1],
                         locationProvince: values.locationAddress[0],
+
+                        aid: values.aid, //指派业务员ID
+                        mid: values.mid //指派客户经理ID
                     }
                 }).done(function (data) {
                     if (!data.error.length) {
@@ -177,6 +218,7 @@ const OrgCertify = Form.create()(React.createClass({
             );
         });
         this.loadData(this.props.uid);
+        this.getAuthorList();
     },
     componentWillReceiveProps(nextProps) {
         if (!this.props.visible && nextProps.visible) {
@@ -351,7 +393,37 @@ const OrgCertify = Form.create()(React.createClass({
                                         <img src={globalConfig.context + '/open/writeImage?path=' + this.state.licenceScanningUrl} alt="点击查看大图"
                                             onClick={(e) => { window.open(e.target.src) }} />
                                     </div>
-                                </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
+                                </div> : <div>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</p>
+                                    </div>}
+                                <Upload
+                                    name="licence"
+                                    action={globalConfig.context + "/api/admin/userCertify/upload"}
+                                    data={{
+                                        'uid': this.props.uid,
+                                        'sign': 'licence'
+                                    }}
+                                    beforeUpload={beforeUploadFile}
+                                    showUploadList={false}
+                                    onChange={(info) => {
+                                        if (info.file.status !== 'uploading') {
+                                            console.log(info.file, info.fileList);
+                                        }
+                                        if (info.file.status === 'done') {
+                                            if (!info.file.response.error.length) {
+                                                message.success(`${info.file.name} 文件上传成功!`);
+                                            } else {
+                                                message.warning(info.file.response.error[0].message);
+                                                return;
+                                            };
+                                            this.state.licenceScanningUrl = info.file.response.data;
+                                        } else if (info.file.status === 'error') {
+                                            message.error(`${info.file.name} 文件上传失败。`);
+                                        }
+                                    }}
+                                >
+                                    <Button><Icon type="upload" /> 上传营业执照 </Button>
+                                </Upload>
                             </div>
                         </FormItem>
                         <FormItem
@@ -375,7 +447,34 @@ const OrgCertify = Form.create()(React.createClass({
                                         <img src={globalConfig.context + '/open/writeImage?path=' + this.state.orgCodeUrl} alt="点击查看大图"
                                             onClick={(e) => { window.open(e.target.src) }} />
                                     </div>
-                                </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
+                                </div> : <div>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</p>
+                                    </div>}
+                                <Upload
+                                    name="orgCode"
+                                    action={globalConfig.context + "/api/admin/userCertify/upload"}
+                                    data={{ 'uid': this.props.uid, 'sign': 'orgcode' }}
+                                    beforeUpload={beforeUploadFile}
+                                    showUploadList={false}
+                                    onChange={(info) => {
+                                        if (info.file.status !== 'uploading') {
+                                            console.log(info.file, info.fileList);
+                                        }
+                                        if (info.file.status === 'done') {
+                                            if (!info.file.response.error.length) {
+                                                message.success(`${info.file.name} 文件上传成功!`);
+                                            } else {
+                                                message.warning(info.file.response.error[0].message);
+                                                return;
+                                            };
+                                            this.state.orgCodeUrl = info.file.response.data;
+                                        } else if (info.file.status === 'error') {
+                                            message.error(`${info.file.name} 文件上传失败。`);
+                                        }
+                                    }}
+                                >
+                                    <Button><Icon type="upload" /> 上传组织机构代码证 </Button>
+                                </Upload>
                             </div>
                         </FormItem>
                         <FormItem
@@ -389,7 +488,34 @@ const OrgCertify = Form.create()(React.createClass({
                                         <img src={globalConfig.context + '/open/writeImage?path=' + this.state.lastYearTaxReportUrl} alt="点击查看大图"
                                             onClick={(e) => { window.open(e.target.src) }} />
                                     </div>
-                                </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
+                                </div> : <div>
+                                        <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</p>
+                                    </div>}
+                                <Upload
+                                    name="ratepay"
+                                    action={globalConfig.context + "/api/admin/userCertify/upload"}
+                                    data={{ 'uid': this.props.uid, 'sign': 'ratepay' }}
+                                    beforeUpload={beforeUploadFile}
+                                    showUploadList={false}
+                                    onChange={(info) => {
+                                        if (info.file.status !== 'uploading') {
+                                            console.log(info.file, info.fileList);
+                                        }
+                                        if (info.file.status === 'done') {
+                                            if (!info.file.response.error.length) {
+                                                message.success(`${info.file.name} 文件上传成功!`);
+                                            } else {
+                                                message.warning(info.file.response.error[0].message);
+                                                return;
+                                            };
+                                            this.state.lastYearTaxReportUrl = info.file.response.data;
+                                        } else if (info.file.status === 'error') {
+                                            message.error(`${info.file.name} 文件上传失败。`);
+                                        }
+                                    }}
+                                >
+                                    <Button><Icon type="upload" /> 上传上年度纳税表 </Button>
+                                </Upload>
                             </div>
                         </FormItem>
                         <FormItem
@@ -432,39 +558,91 @@ const OrgCertify = Form.create()(React.createClass({
                                 <Cascader options={provinceSelect()} placeholder="请选择地址" />
                                 )}
                         </FormItem>
-                        <FormItem
-                            {...formItemLayout}
-                            label="打款金额"
-                        >
-                            {getFieldDecorator('validationAmount', {
-                                initialValue: this.state.validationAmount
-                            })(
-                                <Input />
-                                )}
-                        </FormItem>
-                        <FormItem
-                            {...formItemLayout}
-                            label="打款日期"
-                        >
-                            {getFieldDecorator('paymentDateFormattedDate', {
-                                initialValue: this.state.paymentDate ? moment(this.state.paymentDate) : null
-                            })(
-                                <DatePicker />
-                                )}
-                        </FormItem>
-                        <FormItem
-                            {...formItemLayout}
-                            label="认证状态"
-                        >
-                            {getFieldDecorator('auditStatus', {
-                                initialValue: this.state.auditStatus
-                            })(
-                                <Select placeholder="选择认证状态" style={{ width: 200 }}
-                                    onChange={(e) => { this.state.auditStatus = e }}>
-                                    {this.state.auditStatusOption}
-                                </Select>
-                                )}
-                        </FormItem>
+                        <div style={{ display: !window.showAuditStatus ? 'block' : 'none' }}>
+                            <FormItem
+                                {...formItemLayout}
+                                label="认证状态"
+                            >
+                                <span>
+                                    {(() => {
+                                        let _me = this, theStatus;
+                                        auditStatusList.map(function (item) {
+                                            if (_me.state.auditStatus == item.value) {
+                                                theStatus = item.key;
+                                            };
+                                        });
+                                        return theStatus;
+                                    })()}
+                                </span>
+                            </FormItem>
+                            <FormItem
+                                {...formItemLayout}
+                                label="业务员"
+                            >
+                                {getFieldDecorator('aid', {
+                                    initialValue: this.state.aid
+                                })(
+                                    <Select placeholder="选择一个业务员" style={{ width: 200 }}>
+                                        {this.state.authorOption}
+                                    </Select>
+                                    )}
+                            </FormItem>
+                            <FormItem
+                                {...formItemLayout}
+                                label="客户经理"
+                            >
+                                {getFieldDecorator('mid', {
+                                    initialValue: this.state.mid
+                                })(
+                                    <Select placeholder="选择一个客户经理" style={{ width: 200 }}>
+                                        {this.state.authorOption}
+                                    </Select>
+                                    )}
+                            </FormItem>
+                        </div>
+                        <div style={{ display: window.showAuditStatus ? 'block' : 'none' }}>
+                            <FormItem
+                                {...formItemLayout}
+                                label="认证状态"
+                            >
+                                {getFieldDecorator('auditStatus', {
+                                    initialValue: this.state.auditStatus
+                                })(
+                                    <Select placeholder="选择要修改的认证状态" style={{ width: 200 }}
+                                        onChange={(e) => { this.state.auditStatus = e }}>
+                                        {
+                                            auditStatusList.map(function (item, i) {
+                                                return <Select.Option key={i} value={item.value} >{item.key}</Select.Option>
+                                            })
+                                        }
+                                    </Select>
+                                    )}
+                            </FormItem>
+                            <FormItem
+                                {...formItemLayout}
+                                label="业务员"
+                            >
+                                {getFieldDecorator('aid', {
+                                    initialValue: this.state.aid
+                                })(
+                                    <Select placeholder="选择一个业务员" style={{ width: 200 }}>
+                                        {this.state.authorOption}
+                                    </Select>
+                                    )}
+                            </FormItem>
+                            <FormItem
+                                {...formItemLayout}
+                                label="客户经理"
+                            >
+                                {getFieldDecorator('mid', {
+                                    initialValue: this.state.mid
+                                })(
+                                    <Select placeholder="选择一个客户经理" style={{ width: 200 }}>
+                                        {this.state.authorOption}
+                                    </Select>
+                                    )}
+                            </FormItem>
+                        </div>
                     </Tabs.TabPane>
                 </Tabs>
                 <FormItem wrapperCol={{ span: 12, offset: 4 }}>
@@ -528,4 +706,25 @@ const OrgDesc = React.createClass({
     },
 });
 
-export default OrgDesc;
+export default OrgDesc;
+
+// <FormItem
+//     {...formItemLayout}
+//     label="打款金额"
+// >
+//     {getFieldDecorator('validationAmount', {
+//         initialValue: this.state.validationAmount
+//     })(
+//         <Input />
+//         )}
+// </FormItem>
+//     <FormItem
+//         {...formItemLayout}
+//         label="打款日期"
+//     >
+//         {getFieldDecorator('paymentDateFormattedDate', {
+//             initialValue: this.state.paymentDate ? moment(this.state.paymentDate) : null
+//         })(
+//             <DatePicker />
+//             )}
+//     </FormItem>

+ 152 - 43
js/component/manageCenter/userManage/userDesc.jsx

@@ -15,15 +15,14 @@ const UserForm = Form.create()(React.createClass({
         };
     },
     loadData(uid) {
-        this.state.data = [];
         this.setState({
             loading: true
         });
         $.ajax({
-            method: "post",
+            method: window.showAuditStatus ? "get" : "post",
             dataType: "json",
             crossDomain: false,
-            url: globalConfig.context + "/api/admin/userDetail",
+            url: window.showAuditStatus ? globalConfig.context + "/api/admin/userCertify/userDetail" : globalConfig.context + "/api/admin/userDetail",
             data: {
                 uid: uid
             },
@@ -58,7 +57,10 @@ const UserForm = Form.create()(React.createClass({
                     auditStatus: thisData.auditStatus,
                     process: thisData.process ? String(thisData.process) : undefined,
                     paymentDateFormattedDate: thisData.paymentDateFormattedDate,
-                    paymentDate: thisData.paymentDate
+                    paymentDate: thisData.paymentDate,
+
+                    aid: thisData.aid,   //业务员ID
+                    mid: thisData.mid  //客户经理ID
                 });
                 this.props.form.resetFields();
             }.bind(this),
@@ -68,6 +70,38 @@ const UserForm = Form.create()(React.createClass({
             });
         }.bind(this));
     },
+    getAuthorList() {
+        this.setState({
+            loading: true
+        });
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/getPrincipal",
+            success: function (data) {
+                let theArr = [];
+                if (!data.data) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    };
+                    return;
+                };
+                for (var item in data.data) {
+                    theArr.push(
+                        <Select.Option value={item} key={item}>{data.data[item]}</Select.Option>
+                    )
+                };
+                this.setState({
+                    authorOption: theArr
+                });
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    },
     handleSubmit(e) {
         e.preventDefault();
         this.props.form.validateFields((err, values) => {
@@ -84,7 +118,7 @@ const UserForm = Form.create()(React.createClass({
                     method: "POST",
                     dataType: "json",
                     crossDomain: false,
-                    url: globalConfig.context + "/api/admin/updateUserDetail",
+                    url: window.showAuditStatus ? globalConfig.context + "/api/admin/userCertify/updateUserDetail" : globalConfig.context + "/api/admin/updateUserDetail",
                     data: {
                         uid: this.props.uid,
                         id: this.state.id,
@@ -104,6 +138,9 @@ const UserForm = Form.create()(React.createClass({
                         amountMoney: values.amountMoney,
                         auditStatus: values.auditStatus,
                         paymentDateFormattedDate: values.paymentDateFormattedDate ? values.paymentDateFormattedDate.format("YYYY-MM-DD") : undefined,
+
+                        aid: values.aid, //指派业务员ID
+                        mid: values.mid //指派客户经理ID
                     }
                 }).done(function (data) {
                     if (!data.error.length) {
@@ -122,9 +159,12 @@ const UserForm = Form.create()(React.createClass({
     },
     componentWillMount() {
         this.loadData(this.props.uid);
+        this.getAuthorList();
     },
     componentWillReceiveProps(nextProps) {
         if (!this.props.visible && nextProps.visible) {
+            this.state.uid = undefined;
+            this.state.mid = undefined;
             this.loadData(nextProps.uid);
         };
     },
@@ -251,43 +291,91 @@ const UserForm = Form.create()(React.createClass({
                         <Input />
                         )}
                 </FormItem>
-                <FormItem
-                    {...formItemLayout}
-                    label="打款金额"
-                >
-                    {getFieldDecorator('amountMoney', {
-                        initialValue: this.state.amountMoney
-                    })(
-                        <Input />
-                        )}
-                </FormItem>
-                <FormItem
-                    {...formItemLayout}
-                    label="打款日期"
-                >
-                    {getFieldDecorator('paymentDateFormattedDate', {
-                        initialValue: this.state.paymentDate ? moment(this.state.paymentDate) : null
-                    })(
-                        <DatePicker />
-                        )}
-                </FormItem>
-                <FormItem
-                    {...formItemLayout}
-                    label="认证状态"
-                >
-                    {getFieldDecorator('auditStatus', {
-                        initialValue: this.state.auditStatus
-                    })(
-                        <Select placeholder="选择要修改的认证状态" style={{ width: 200 }}
-                            onChange={(e) => { this.state.auditStatus = e }}>
-                            {
-                                auditStatusList.map(function (item, i) {
-                                    return <Select.Option key={i} value={item.value} >{item.key}</Select.Option>
-                                })
-                            }
-                        </Select>
-                        )}
-                </FormItem>
+                <div style={{ display: !window.showAuditStatus ? 'block' : 'none' }}>
+                    <FormItem
+                        {...formItemLayout}
+                        label="认证状态"
+                    >
+                        <span>
+                            {(() => {
+                                let _me = this, theStatus;
+                                auditStatusList.map(function (item) {
+                                    if (_me.state.auditStatus == item.value) {
+                                        theStatus = item.key;
+                                    };
+                                });
+                                return theStatus;
+                            })()}
+                        </span>
+                    </FormItem>
+                    <FormItem
+                        {...formItemLayout}
+                        label="业务员"
+                    >
+                        {getFieldDecorator('aid', {
+                            initialValue: this.state.aid
+                        })(
+                            <Select placeholder="选择一个业务员" style={{ width: 200 }}>
+                                {this.state.authorOption}
+                            </Select>
+                            )}
+                    </FormItem>
+                    <FormItem
+                        {...formItemLayout}
+                        label="客户经理"
+                    >
+                        {getFieldDecorator('mid', {
+                            initialValue: this.state.mid
+                        })(
+                            <Select placeholder="选择一个客户经理" style={{ width: 200 }}>
+                                {this.state.authorOption}
+                            </Select>
+                            )}
+                    </FormItem>
+                </div>
+                <div style={{ display: window.showAuditStatus ? 'block' : 'none' }}>
+                    <FormItem
+                        {...formItemLayout}
+                        label="认证状态"
+                    >
+                        {getFieldDecorator('auditStatus', {
+                            initialValue: this.state.auditStatus
+                        })(
+                            <Select placeholder="选择要修改的认证状态" style={{ width: 200 }}
+                                onChange={(e) => { this.state.auditStatus = e }}>
+                                {
+                                    auditStatusList.map(function (item, i) {
+                                        return <Select.Option key={i} value={item.value} >{item.key}</Select.Option>
+                                    })
+                                }
+                            </Select>
+                            )}
+                    </FormItem>
+                    <FormItem
+                        {...formItemLayout}
+                        label="业务员"
+                    >
+                        {getFieldDecorator('aid', {
+                            initialValue: this.state.aid
+                        })(
+                            <Select placeholder="选择一个业务员" style={{ width: 200 }}>
+                                {this.state.authorOption}
+                            </Select>
+                            )}
+                    </FormItem>
+                    <FormItem
+                        {...formItemLayout}
+                        label="客户经理"
+                    >
+                        {getFieldDecorator('mid', {
+                            initialValue: this.state.mid
+                        })(
+                            <Select placeholder="选择一个客户经理" style={{ width: 200 }}>
+                                {this.state.authorOption}
+                            </Select>
+                            )}
+                    </FormItem>
+                </div>
                 <FormItem wrapperCol={{ span: 12, offset: 4 }}>
                     <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
                 </FormItem>
@@ -348,4 +436,25 @@ const PatentDesc = React.createClass({
     },
 });
 
-export default PatentDesc;
+export default PatentDesc;
+
+// <FormItem
+//     {...formItemLayout}
+//     label="打款金额"
+// >
+//     {getFieldDecorator('amountMoney', {
+//         initialValue: this.state.amountMoney
+//     })(
+//         <Input />
+//         )}
+// </FormItem>
+//     <FormItem
+//         {...formItemLayout}
+//         label="打款日期"
+//     >
+//         {getFieldDecorator('paymentDateFormattedDate', {
+//             initialValue: this.state.paymentDate ? moment(this.state.paymentDate) : null
+//         })(
+//             <DatePicker />
+//             )}
+//     </FormItem>

+ 68 - 6
js/component/tools.js

@@ -15,7 +15,10 @@ import {
     technologyStateList,
     copyrightStateList,
     auditStatusList,
-    vocations
+    vocations,
+    scaleList,
+    companyType,
+    industryList
 } from './dataDic.js';
 import { provinceList } from './DicProvinceList.js';
 import { techFieldList } from './DicTechFieldList.js'
@@ -507,6 +510,7 @@ module.exports = {
             }
         });
     },
+    //保存高企培育资料完成情况
     saveProportion(id,uid,sign,status){
         $.ajax({
             method: "post",
@@ -533,10 +537,13 @@ module.exports = {
     getSearchUrl(e){
         let searchURL = e;
         searchURL = searchURL.substring(1, searchURL.length);
-        let theArr = [
-            searchURL.split("&")[0].split("=")[1],
-            searchURL.split("&")[1].split("=")[1],
-            searchURL.split("&")[2] ? searchURL.split("&")[2].split("=")[1] : undefined];
+        let theArr = [searchURL.split("&")[0].split("=")[1]];
+        if ( searchURL.split("&")[1] ) {
+            theArr.push( searchURL.split("&")[1].split("=")[1] );
+                if ( searchURL.split("&")[2] ) {
+                theArr.push( searchURL.split("&")[2].split("=")[1] );
+            };
+        };
         return theArr;
     },
     //预览接口
@@ -559,5 +566,60 @@ module.exports = {
                 callback(data.data);
             }
         });
-    }
+    },
+    //获取企业规模
+    getScaleState(e) {
+        if (e) {
+            let theType = '';
+            scaleList.map(function (item) {
+                if (item.value == e) {
+                    theType = item.key;
+                };
+            });
+            return theType;
+        }
+    },
+    //获取企业类型
+    getCompanyType(type1, type2) {
+        let companyTypeList = [];
+        for (let i = 0; i < companyType.length; i++) {
+            companyTypeList.push({
+                value: companyType[i].value,
+                label: companyType[i].label
+            });
+            if (companyType[i].children) {
+                for (let j = 0; j < companyType[i].children.length; j++) {
+                    companyTypeList.push({
+                        value: companyType[i].children[j].value,
+                        label: companyType[i].children[j].label
+                    });
+                };
+            }
+        };
+        companyTypeList.sort(function (a, b) {
+            return a.value - b.value
+        });
+        let typeKey = "";
+        companyTypeList.map(function (item) {
+            if (type1 == item.value) {
+                typeKey = item.label;
+            };
+            if (type2 == item.value) {
+                typeKey = typeKey + "/" + item.label;
+            };
+        });
+        return typeKey;
+    },
+    //获取企业行业
+    getIndustryType(e) {
+        if (e) {
+            let theType = '';
+            companyType.map(function (item) {
+                if (item.value == e) {
+                    theType = item.key;
+                };
+            });
+            return theType;
+        }
+    },
 }

+ 6 - 0
webpack.config.js

@@ -116,6 +116,12 @@ module.exports = (function () {
             chunks: ['admin/servicesManage/highTech', 'vendors']
         }),
         new HtmlWebpackPlugin({
+            title: '管理员-科技服务管理-高企信息',
+            filename: 'admin/servicesManage/highTechInfo.html',
+            template: './template/template.html',
+            chunks: ['admin/servicesManage/highTechInfo', 'vendors']
+        }),
+        new HtmlWebpackPlugin({
             title: '管理员-科技服务管理-科技',
             filename: 'admin/servicesManage/technology.html',
             template: './template/template.html',