dev01 8 months ago
parent
commit
7991188f1a

+ 10 - 10
js/component/common/flowchart/index.jsx

@@ -72,7 +72,7 @@ class FlowChart extends Component {
               { status: 1, title: "经理审核", name: !info.yxjl ? "-" : info.yxjl, time: "" },
               { status: 2, title: "营销管理员审核", name: info.yxgly, time: "" },
               { status: 3, title: "财务/复审/技术总监审核", name: info.cwzy, time: "" },
-              { status: 4, title: "运营保障审核 ", name: info.yybz, time: "" },
+              { status: 4, title: "运营保障审核 ", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 5, title: "特批审核", name: tpname, time: "" },
               { status: 6, title: "技术总监派单", name: info.zxsgly, time: "" },
               { status: 7, title: "技术接单", name: "", time: "" },
@@ -140,7 +140,7 @@ class FlowChart extends Component {
               { status: 5, title: "技术总监审核", name: info.zxsgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
               { status: 7, title: "财务总监审核", name: info.cwgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.special == 1 ? "-" : info.approvalName },
               { status: 10, title: "董事长审核", name: info.special == 1 ? info.dsz : (info.changeAmount > 0.2 ? info.dsz : "-"), time: "" },
             ]
@@ -154,7 +154,7 @@ class FlowChart extends Component {
               { status: 5, title: "技术总监审核", name: info.zxsgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
               { status: 7, title: "财务总监审核", name: info.cwgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.approvalName, time: "" },
             ]
             // 2 仅项目
@@ -167,7 +167,7 @@ class FlowChart extends Component {
               { status: 5, title: "技术总监审核", name: info.zxsgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
               { status: 7, title: "财务总监审核", name: info.cwgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.approvalName, time: "" },
             ]
             // 3 仅金额
@@ -178,7 +178,7 @@ class FlowChart extends Component {
               { status: 5, title: "技术总监审核", name: info.zxsgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
               { status: 7, title: "财务总监审核", name: info.cwgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.approvalName, time: "" },
             ]
             // 4 重报
@@ -190,7 +190,7 @@ class FlowChart extends Component {
               // { status: 4, title: "技术经理审核", name: info.zxsjl, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
               { status: 7, title: "财务总监审核", name: info.cwgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.approvalName, time: "" },
             ]
             // 5 赠送
@@ -199,7 +199,7 @@ class FlowChart extends Component {
               { status: 1, title: "经理审核", name: !info.yxjl ? "-" : info.yxjl, time: "" },
               { status: 2, title: "营销管理员审核", name: info.yxgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.approvalName, time: "" },
             ]
             // 6 退单不退款
@@ -212,14 +212,14 @@ class FlowChart extends Component {
               { status: 5, title: "技术总监审核", name: info.zxsgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
               { status: 7, title: "财务总监审核", name: info.cwgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
               { status: 9, title: "公司/部门管理审核", name: info.approvalName, time: "" },
             ]
             // 7 仅变更合同
             let theArr7 = [
               { status: 0, title: "营销员发起", name: info.yxy, time: "" },
               { status: 2, title: "营销管理员审核", name: info.yxgly, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
             ]
 
             // 8 框架协议
@@ -228,7 +228,7 @@ class FlowChart extends Component {
               { status: 1, title: "经理审核", name: !info.yxjl ? "-" : info.yxjl, time: "" },
               { status: 2, title: "营销管理员审核", name: info.yxgly, time: "" },
               { status: 6, title: "财务专员审核", name: info.cwzy, time: "" },
-              { status: 8, title: "运营保障审核", name: info.yybz, time: "" },
+              { status: 8, title: "运营保障审核", name: !info.yybz ? "-" : info.yybz, time: "" },
             ]
 
             theArr = info.type == 0

+ 357 - 0
js/component/manageCenter/customer/NEW/intentionCustomer/intentionDetail/detail/contactPerson.jsx

@@ -6,14 +6,22 @@ import {
   message,
   Popconfirm,
   Alert,
+  Modal,
+  Input,
+  InputNumber,
 } from "antd";
 import $ from "jquery/src/ajax";
 import EnterpriseNameChange from '../../../../../../../component/common/enterpriseNameChange';
 import AddContact from "../../../signCustomer/followDetail/addContact";
 
+const { TextArea } = Input;
 const ContactPerson = React.createClass({
   getInitialState() {
     return {
+      upType: 0,
+      visible: false,
+      upData: {},
+      detail: {},
       major: 0,
       loading: false,
       addcontactModul: false,
@@ -296,6 +304,7 @@ const ContactPerson = React.createClass({
   },
   componentWillMount() {
     this.contactLists(this.props.data.id);
+    this.queryByUid(this.props.data.id)
   },
   detailsModal() {
     this.props.closeDetail(false, false);
@@ -305,7 +314,77 @@ const ContactPerson = React.createClass({
       this.contactLists(nextProps.data.id);
     }
   },
+  // 查询企业信息
+  queryByUid() {
+    this.setState({
+      loading: true
+    });
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/userArchives/queryByUid",
+      data: {
+        id: this.props.data.id,
+      },
+      success: function (data) {
+        if (data.error.length || data.data.list == "") {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+        } else {
+          this.setState({
+            detail: data.data
+          })
+        }
+      }.bind(this)
+    }).always(
+      function () {
+        this.setState({
+          loading: false
+        });
+      }.bind(this)
+    );
+  },
+  // 修改
+  update() {
+    const { upData } = this.state
+    $.ajax({
+      method: "post",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/userArchives/update",
+      data: upData,
+      success: function (data) {
+        if (data.error.length || data.data.list == "") {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+        } else {
+          message.success("修改成功!")
+          this.queryByUid()
+          this.setState({
+            visible: false
+          })
+        }
+      }.bind(this)
+    }).always(
+      function () {
+        this.setState({
+          loading: false
+        });
+      }.bind(this)
+    );
+  },
+  onUpCancel() {
+    this.setState({
+      visible: false
+    })
+  },
+
+
   render() {
+    const { detail, upType, upData } = this.state
     return (
       <div>
         <div className="clearfix">
@@ -350,6 +429,117 @@ const ContactPerson = React.createClass({
             />
           </Spin>
         </div>
+
+        <div style={{
+          fontSize: 16,
+          marginTop: 20,
+        }}>
+          <div style={{ fontWeight: "bold", marginBottom: 5, color: "#58A3FF" }}>企业情况及前期准备工作</div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            1.知识产权情况&nbsp;&nbsp;
+            {
+              !this.props.isCustomerAdmin &&
+              <Button
+                type="primary"
+                onClick={() => {
+                  this.setState({
+                    visible: true,
+                    upType: 1,
+                    upData: {
+                      uid: this.props.data.id,
+                      id: detail.id || undefined,
+                      inventionPatentCount: detail.inventionPatentCount,
+                      utilityModelCount: detail.utilityModelCount,
+                      appearancePatentCount: detail.appearancePatentCount,
+                      softwareWorksCount: detail.softwareWorksCount,
+                      otherCount: detail.otherCount,
+                    }
+                  })
+                }}
+              >
+                修改
+              </Button>
+            }
+          </div>
+          <div>
+            专利总数&nbsp;{detail.patentCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            发明专利&nbsp;{detail.inventionPatentCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            实用新型&nbsp;{detail.utilityModelCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            外观专利&nbsp;{detail.appearancePatentCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            软著&nbsp;{detail.softwareWorksCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            其他&nbsp;{detail.otherCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+          </div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            2.财务数据<span style={{ color: "red" }}>(包括营收、税收、资产、研发费用等)</span>&nbsp;&nbsp;
+            {
+              !this.props.isCustomerAdmin &&
+              <Button
+                type="primary"
+                onClick={() => {
+                  this.setState({
+                    visible: true,
+                    upType: 2,
+                    upData: {
+                      uid: this.props.data.id,
+                      id: detail.id || undefined,
+                      financialData: detail.financialData,
+                    }
+                  })
+                }}
+              >
+                修改
+              </Button>
+            }
+          </div>
+          <div>{detail.financialData || "无"}</div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            3.前期沟通<span style={{ color: "red" }}>(客户的难处、需求)</span>&nbsp;&nbsp;
+            {
+              !this.props.isCustomerAdmin &&
+              <Button
+                type="primary"
+                onClick={() => {
+                  this.setState({
+                    visible: true,
+                    upType: 3,
+                    upData: {
+                      uid: this.props.data.id,
+                      id: detail.id || undefined,
+                      earlyCommunication: detail.earlyCommunication,
+                    }
+                  })
+                }}
+              >
+                修改
+              </Button>
+            }
+          </div>
+          <div>{detail.earlyCommunication || "无"}</div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            4.面谈思路及目的&nbsp;&nbsp;
+            {
+              !this.props.isCustomerAdmin &&
+              <Button
+                type="primary"
+                onClick={() => {
+                  this.setState({
+                    visible: true,
+                    upType: 4,
+                    upData: {
+                      uid: this.props.data.id,
+                      id: detail.id || undefined,
+                      interviewIdeas: detail.interviewIdeas,
+                    }
+                  })
+                }}
+              >
+                修改
+              </Button>
+            }
+          </div>
+          <div>{detail.interviewIdeas || "无"}</div>
+        </div>
+
         {/* 新增联系人 */}
         <AddContact
           addcontactModul={this.state.addcontactModul}
@@ -362,6 +552,173 @@ const ContactPerson = React.createClass({
             })
           }}
         />
+
+        <Modal
+          footer={null}
+          maskClosable={false}
+          width="400px"
+          title='信息修改'
+          visible={this.state.visible}
+          onCancel={this.onUpCancel}
+        >
+          <div>
+            {
+              upType == 1 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>发明专利:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.inventionPatentCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            inventionPatentCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>实用新型:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.utilityModelCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            utilityModelCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>外观专利:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.appearancePatentCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            appearancePatentCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>软著:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.softwareWorksCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            softwareWorksCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>其他:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.otherCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            otherCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+            {
+              upType == 2 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>财务数据:</div>
+                  <div className='enterpriseNameValue'>
+                    <TextArea
+                      style={{ width: "250px" }}
+                      rows={4}
+                      value={upData.financialData}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            financialData: e.target.value,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+            {
+              upType == 3 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>前期沟通:</div>
+                  <div className='enterpriseNameValue'>
+                    <TextArea
+                      style={{ width: "250px" }}
+                      rows={4}
+                      value={upData.earlyCommunication}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            earlyCommunication: e.target.value,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+            {
+              upType == 4 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>面谈思路及目的:</div>
+                  <div className='enterpriseNameValue'>
+                    <TextArea
+                      style={{ width: "250px" }}
+                      rows={4}
+                      value={upData.interviewIdeas}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            interviewIdeas: e.target.value,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+
+            <div>
+              <Button type='primary'
+                onClick={this.update}
+              >
+                确定修改
+              </Button>
+            </div>
+          </div>
+        </Modal>
+
       </div>
     );
   }

+ 2 - 0
js/component/manageCenter/customer/NEW/signCustomer/customer.less

@@ -13,3 +13,5 @@
     margin-right: 40px;
     margin-bottom: 50px;
 }
+
+

+ 409 - 67
js/component/manageCenter/customer/NEW/signCustomer/intentionDetail/detail/contactPerson.jsx

@@ -4,25 +4,33 @@ import {
   Button,
   Spin,
   message,
-  Popconfirm,
-  Alert
+  Alert,
+  Modal,
+  Input,
+  InputNumber,
 } from "antd";
 import $ from "jquery/src/ajax";
 import EnterpriseNameChange from "../../../../../../common/enterpriseNameChange";
 import AddContact from "../../followDetail/addContact";
+import "./index.less"
+const { TextArea } = Input;
 
 const ContactPerson = React.createClass({
   getInitialState() {
     return {
+      upType: 0,
+      visible: false,
+      upData: {},
+      detail: {},
       loading: false,
-      addcontactModul:false,
+      addcontactModul: false,
       ContactsLists: [
         {
           title: "姓名",
           dataIndex: "name",
           key: "name",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -30,7 +38,7 @@ const ContactPerson = React.createClass({
           dataIndex: "department",
           key: "department",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -38,7 +46,7 @@ const ContactPerson = React.createClass({
           dataIndex: "position",
           key: "position",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -55,7 +63,7 @@ const ContactPerson = React.createClass({
           dataIndex: "cityName",
           key: "cityName",
           render: (text, record, index) => {
-          if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -63,7 +71,7 @@ const ContactPerson = React.createClass({
           dataIndex: "mobile",
           key: "mobile",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -71,7 +79,7 @@ const ContactPerson = React.createClass({
           dataIndex: "fixedTel",
           key: "fixedTel",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -79,7 +87,7 @@ const ContactPerson = React.createClass({
           dataIndex: "wechat",
           key: "wechat",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -87,7 +95,7 @@ const ContactPerson = React.createClass({
           dataIndex: "qq",
           key: "qq",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -95,7 +103,7 @@ const ContactPerson = React.createClass({
           dataIndex: "email",
           key: "email",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -103,7 +111,7 @@ const ContactPerson = React.createClass({
           dataIndex: "createTimes",
           key: "createTimes",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -111,7 +119,7 @@ const ContactPerson = React.createClass({
           dataIndex: "aname",
           key: "aname",
           render: (text, record, index) => {
-            if(record.id) return <div>{text}</div>
+            if (record.id) return <div>{text}</div>
           }
         },
         {
@@ -145,7 +153,7 @@ const ContactPerson = React.createClass({
                 ) : (
                   ""
                 )} */}
-                {record.major!=1 ? (
+                {record.major != 1 ? (
                   <Button
                     style={{
                       marginRight: "10px",
@@ -184,7 +192,7 @@ const ContactPerson = React.createClass({
           ocbId: e.id //删除的ID
         }
       }).done(
-        function(data) {
+        function (data) {
           if (!data.error.length) {
             message.success("删除成功!");
             this.setState({
@@ -203,27 +211,27 @@ const ContactPerson = React.createClass({
   //选择主要联系人
   mainContact(record) {
     this.setState({
-    	loading: true
+      loading: true
     });
     $.ajax({
-    	method: "get",
-    	dataType: "json",
-    	crossDomain: false,
-    	url: globalConfig.context + "/api/admin/customer/updateMainContact",
-    	data: {
-    		uid:this.props.data.id,
-    		ocbId: record.id
-    	}
-    }).done(function(data) {
-    	if(!data.error.length) {
-    		message.success('设为主要联系人成功!');
-    		this.setState({
-    			loading: false,
-    		});
-    	} else {
-    		message.warning(data.error[0].message);
-    	};
-    	this.contactLists();
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/updateMainContact",
+      data: {
+        uid: this.props.data.id,
+        ocbId: record.id
+      }
+    }).done(function (data) {
+      if (!data.error.length) {
+        message.success('设为主要联系人成功!');
+        this.setState({
+          loading: false,
+        });
+      } else {
+        message.warning(data.error[0].message);
+      };
+      this.contactLists();
     }.bind(this));
     this.state.contactList.forEach(item => {
       item.major = 0;
@@ -247,7 +255,7 @@ const ContactPerson = React.createClass({
       data: {
         uid: ids || this.props.data.id //名称1
       },
-      success: function(data) {
+      success: function (data) {
         let theArr = [];
         if (data.error.length || data.data.list == "") {
           if (data.error && data.error.length) {
@@ -267,10 +275,10 @@ const ContactPerson = React.createClass({
               department: thisdata.department,
               position: thisdata.position,
               major: thisdata.major,
-              createTimes:thisdata.createTimes,
-              fixedTel:thisdata.fixedTel,
-              aname:thisdata.aname,
-              cityName:thisdata.provinceName+thisdata.cityName+thisdata.areaName
+              createTimes: thisdata.createTimes,
+              fixedTel: thisdata.fixedTel,
+              aname: thisdata.aname,
+              cityName: thisdata.provinceName + thisdata.cityName + thisdata.areaName
             });
           }
         }
@@ -279,7 +287,7 @@ const ContactPerson = React.createClass({
         });
       }.bind(this)
     }).always(
-      function() {
+      function () {
         this.setState({
           loading: false
         });
@@ -295,6 +303,7 @@ const ContactPerson = React.createClass({
   },
   componentWillMount() {
     this.contactLists(this.props.data.id);
+    this.queryByUid(this.props.data.id)
   },
   detailsModal() {
     this.props.closeDetail(false, false);
@@ -304,7 +313,76 @@ const ContactPerson = React.createClass({
       this.contactLists(nextProps.data.id);
     }
   },
+  // 查询企业信息
+  queryByUid() {
+    this.setState({
+      loading: true
+    });
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/userArchives/queryByUid",
+      data: {
+        id: this.props.data.id,
+      },
+      success: function (data) {
+        if (data.error.length || data.data.list == "") {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+        } else {
+          this.setState({
+            detail: data.data
+          })
+        }
+      }.bind(this)
+    }).always(
+      function () {
+        this.setState({
+          loading: false
+        });
+      }.bind(this)
+    );
+  },
+  // 修改
+  update() {
+    const { upData } = this.state
+    $.ajax({
+      method: "post",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/userArchives/update",
+      data: upData,
+      success: function (data) {
+        if (data.error.length || data.data.list == "") {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+        } else {
+          message.success("修改成功!")
+          this.queryByUid()
+          this.setState({
+            visible: false
+          })
+        }
+      }.bind(this)
+    }).always(
+      function () {
+        this.setState({
+          loading: false
+        });
+      }.bind(this)
+    );
+  },
+  onUpCancel() {
+    this.setState({
+      visible: false
+    })
+  },
+
   render() {
+    const { detail, upType, upData } = this.state
     return (
       <div>
         <div className="clearfix">
@@ -317,20 +395,20 @@ const ContactPerson = React.createClass({
               display: "inline-block",
             }}
           >
-            公司名称:{this.state.enterpriseName ? this.state.enterpriseName :  this.props.name}
+            公司名称:{this.state.enterpriseName ? this.state.enterpriseName : this.props.name}
             <EnterpriseNameChange
-                type='modify'
-                changeOtherInfor
-                style={{marginLeft:'20px'}}
-                enterpriseId={this.props.data.uid}
-                enterpriseName={this.props.name}
-                data={this.props.data}
-                onCancel={this.props.onCancel}
-                onChangeSuccess={(value)=>{
-                  this.setState({
-                    enterpriseName:value
-                  })
-                }}/>
+              type='modify'
+              changeOtherInfor
+              style={{ marginLeft: '20px' }}
+              enterpriseId={this.props.data.uid}
+              enterpriseName={this.props.name}
+              data={this.props.data}
+              onCancel={this.props.onCancel}
+              onChangeSuccess={(value) => {
+                this.setState({
+                  enterpriseName: value
+                })
+              }} />
           </span>
           <Button
             className="ContactsList"
@@ -343,24 +421,288 @@ const ContactPerson = React.createClass({
         <div className="clearfix">
           <Spin spinning={this.state.loading}>
             <Table
-                size="middle"
-                pagination={false}
-                columns={this.state.ContactsLists}
-                dataSource={this.state.contactList}
+              size="middle"
+              pagination={false}
+              columns={this.state.ContactsLists}
+              dataSource={this.state.contactList}
             />
           </Spin>
         </div>
+
+        <div style={{
+          fontSize: 16,
+          marginTop: 20,
+        }}>
+          <div style={{ fontWeight: "bold", marginBottom: 5, color: "#58A3FF" }}>企业情况及前期准备工作</div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            1.知识产权情况&nbsp;&nbsp;
+            <Button
+              type="primary"
+              onClick={() => {
+                this.setState({
+                  visible: true,
+                  upType: 1,
+                  upData: {
+                    uid: this.props.data.id,
+                    id: detail.id || undefined,
+                    inventionPatentCount: detail.inventionPatentCount,
+                    utilityModelCount: detail.utilityModelCount,
+                    appearancePatentCount: detail.appearancePatentCount,
+                    softwareWorksCount: detail.softwareWorksCount,
+                    otherCount: detail.otherCount,
+                  }
+                })
+              }}
+            >
+              修改
+            </Button>
+          </div>
+          <div>
+            专利总数&nbsp;{detail.patentCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            发明专利&nbsp;{detail.inventionPatentCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            实用新型&nbsp;{detail.utilityModelCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            外观专利&nbsp;{detail.appearancePatentCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            软著&nbsp;{detail.softwareWorksCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+            其他&nbsp;{detail.otherCount || 0}&nbsp;&nbsp;&nbsp;&nbsp;
+          </div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            2.财务数据<span style={{ color: "red" }}>(包括营收、税收、资产、研发费用等)</span>&nbsp;&nbsp;
+            <Button
+              type="primary"
+              onClick={() => {
+                this.setState({
+                  visible: true,
+                  upType: 2,
+                  upData: {
+                    uid: this.props.data.id,
+                    id: detail.id || undefined,
+                    financialData: detail.financialData,
+                  }
+                })
+              }}
+            >
+              修改
+            </Button>
+          </div>
+          <div>{detail.financialData || "无"}</div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            3.前期沟通<span style={{ color: "red" }}>(客户的难处、需求)</span>&nbsp;&nbsp;
+            <Button
+              type="primary"
+              onClick={() => {
+                this.setState({
+                  visible: true,
+                  upType: 3,
+                  upData: {
+                    uid: this.props.data.id,
+                    id: detail.id || undefined,
+                    earlyCommunication: detail.earlyCommunication,
+                  }
+                })
+              }}
+            >
+              修改
+            </Button>
+          </div>
+          <div>{detail.earlyCommunication || "无"}</div>
+          <div style={{ fontWeight: "bold", marginTop: 10 }}>
+            4.面谈思路及目的&nbsp;&nbsp;
+            <Button
+              type="primary"
+              onClick={() => {
+                this.setState({
+                  visible: true,
+                  upType: 4,
+                  upData: {
+                    uid: this.props.data.id,
+                    id: detail.id || undefined,
+                    interviewIdeas: detail.interviewIdeas,
+                  }
+                })
+              }}
+            >
+              修改
+            </Button>
+          </div>
+          <div>{detail.interviewIdeas || "无"}</div>
+        </div>
+
         <AddContact
-            addcontactModul={this.state.addcontactModul}
-            uids={this.props.data.id}
-            closeFollow={()=>{
-              this.setState({
-                addcontactModul:false
-              },()=>{
-                this.contactLists()
-              })
-            }}
+          addcontactModul={this.state.addcontactModul}
+          uids={this.props.data.id}
+          closeFollow={() => {
+            this.setState({
+              addcontactModul: false
+            }, () => {
+              this.contactLists()
+            })
+          }}
         />
+        <Modal
+          footer={null}
+          maskClosable={false}
+          width="400px"
+          title='信息修改'
+          visible={this.state.visible}
+          onCancel={this.onUpCancel}
+        >
+          <div>
+            {
+              upType == 1 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>发明专利:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.inventionPatentCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            inventionPatentCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>实用新型:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.utilityModelCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            utilityModelCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>外观专利:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.appearancePatentCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            appearancePatentCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>软著:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.softwareWorksCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            softwareWorksCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>其他:</div>
+                  <div className='enterpriseNameValue'>
+                    <InputNumber
+                      value={upData.otherCount || 0}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            otherCount: e,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+            {
+              upType == 2 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>财务数据:</div>
+                  <div className='enterpriseNameValue'>
+                    <TextArea
+                      style={{ width: "250px" }}
+                      rows={4}
+                      value={upData.financialData}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            financialData: e.target.value,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+            {
+              upType == 3 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>前期沟通:</div>
+                  <div className='enterpriseNameValue'>
+                    <TextArea
+                      style={{ width: "250px" }}
+                      rows={4}
+                      value={upData.earlyCommunication}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            earlyCommunication: e.target.value,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+            {
+              upType == 4 &&
+              <div>
+                <div className='enterpriseNameItem'>
+                  <div className='enterpriseNameTitle'>面谈思路及目的:</div>
+                  <div className='enterpriseNameValue'>
+                    <TextArea
+                      style={{ width: "250px" }}
+                      rows={4}
+                      value={upData.interviewIdeas}
+                      onChange={e => {
+                        this.setState({
+                          upData: Object.assign(upData, {
+                            interviewIdeas: e.target.value,
+                          }),
+                        })
+                      }}
+                    />
+                  </div>
+                </div>
+              </div>
+            }
+
+            <div>
+              <Button type='primary'
+                onClick={this.update}
+              >
+                确定修改
+              </Button>
+            </div>
+          </div>
+        </Modal>
       </div>
     );
   }

+ 12 - 0
js/component/manageCenter/customer/NEW/signCustomer/intentionDetail/detail/index.less

@@ -0,0 +1,12 @@
+.enterpriseNameItem{
+  display: flex;
+  flex-flow: row nowrap;
+  align-items: center;
+  padding-bottom: 20px;
+  .enterpriseNameTitle{
+
+  }
+  .enterpriseNameValue{
+    padding-left: 15px;
+  }
+}

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "afanti",
-  "version": "1.3.19",
+  "version": "1.3.21",
   "description": "",
   "main": "index.js",
   "scripts": {