Browse Source

添加编辑会员项目

dev01 2 years ago
parent
commit
33f8c1d6a8
25 changed files with 6601 additions and 3044 deletions
  1. 1 1
      js/component/common/projectOperation/index.jsx
  2. 1439 0
      js/component/common/projectOperation/newAddProject.jsx
  3. 1329 0
      js/component/common/projectOperation/newEditProject.jsx
  4. 9 2
      js/component/manageCenter/financialManage/distribute/projectvip.jsx
  5. 10 1
      js/component/manageCenter/financialManage/distribute/projectvipall.jsx
  6. 133 15
      js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx
  7. 854 993
      js/component/manageCenter/order/orderNew/addService.jsx
  8. 8 1
      js/component/manageCenter/order/orderNew/approvedvipproject.jsx
  9. 365 690
      js/component/manageCenter/order/orderNew/changeComponent/changeApply.js
  10. 10 0
      js/component/manageCenter/order/orderNew/changeComponent/index.less
  11. 119 8
      js/component/manageCenter/order/orderNew/changeComponent/orderDetail.js
  12. 252 156
      js/component/manageCenter/order/orderNew/changeComponent/proAndCuiList.jsx
  13. 87 75
      js/component/manageCenter/order/orderNew/contentUrl.jsx
  14. 12 11
      js/component/manageCenter/order/orderNew/contractCwzj.js
  15. 168 163
      js/component/manageCenter/order/orderNew/contractYxy.js
  16. 10 0
      js/component/manageCenter/order/orderNew/customer.less
  17. 124 8
      js/component/manageCenter/order/orderNew/examine.jsx
  18. 512 403
      js/component/manageCenter/order/orderNew/inquiry.jsx
  19. 162 15
      js/component/manageCenter/order/orderNew/reject.jsx
  20. 11 1
      js/component/manageCenter/order/userMangagement.less
  21. 641 481
      js/component/manageCenter/project/project/projectAssignment.jsx
  22. 122 13
      js/component/manageCenter/project/task/myTask.jsx
  23. 2 1
      js/component/manageCenter/project/task/payApplyReject/detailsModal/projectOverview.js
  24. 111 3
      js/component/manageCenter/project/task/taskAssignment.jsx
  25. 110 3
      js/component/manageCenter/project/task/taskQuery.jsx

+ 1 - 1
js/component/common/projectOperation/index.jsx

@@ -536,7 +536,7 @@ class ProjectOperation extends Component {
                 visible={this.props.visible}
                 onOk={this.props.onCancel}
                 onCancel={this.props.onCancel}
-                width="1200px"
+                width="900px"
                 title={readOnly ? "项目任务详情" : this.state.jid ? "编辑项目任务" : "添加项目任务"}
                 footer=""
                 className="admin-desc-content"

File diff suppressed because it is too large
+ 1439 - 0
js/component/common/projectOperation/newAddProject.jsx


File diff suppressed because it is too large
+ 1329 - 0
js/component/common/projectOperation/newEditProject.jsx


+ 9 - 2
js/component/manageCenter/financialManage/distribute/projectvip.jsx

@@ -198,7 +198,7 @@ const ProjectVip = React.createClass({
           key: "serviceLife",
           render: (text, record) => {
             return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+              <div>{!!text && JSON.parse(text).toString()}</div>
             );
           }
         },
@@ -912,7 +912,14 @@ const ProjectVip = React.createClass({
             title="审核"
             footer=""
           >
-            <div>附件</div>
+            <div style={{ marginBottom: 20 }}>
+              付款情况:
+              {this.state.recard.memberType == "0"
+                ? "已付会员节点全款" : this.state.recard.memberType == "1"
+                  ? "已付部分期款,需特批" : this.state.recard.memberType == "2"
+                    ? "未付款,需特批" : ""}
+            </div>
+            <div>附件:</div>
             <div>
               <ImgList
                 fileList={this.state.pictureUrlArr}

+ 10 - 1
js/component/manageCenter/financialManage/distribute/projectvipall.jsx

@@ -197,7 +197,7 @@ const ProjectVipAll = React.createClass({
           key: "serviceLife",
           render: (text, record) => {
             return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+              <div>{!!text && JSON.parse(text).toString()}</div>
             );
           }
         },
@@ -249,6 +249,7 @@ const ProjectVipAll = React.createClass({
                     let arr = text || [];
                     this.setState({
                       pictureUrlArr: splitUrl(arr, ",", globalConfig.avatarHost + "/upload"),
+                      recard,
                     }, () => {
                       this.setState({
                         imgListVisible: true,
@@ -833,6 +834,14 @@ const ProjectVipAll = React.createClass({
             title="附件"
             footer=""
           >
+            <div style={{ marginBottom: 20 }}>
+              付款情况:
+              {this.state.recard.memberType == "0"
+                ? "已付会员节点全款" : this.state.recard.memberType == "1"
+                  ? "已付部分期款,需特批" : this.state.recard.memberType == "2"
+                    ? "未付款,需特批" : ""}
+            </div>
+            <div>附件:</div>
             <div>
               <ImgList
                 fileList={this.state.pictureUrlArr}

+ 133 - 15
js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx

@@ -32,6 +32,8 @@ import EnterpriseNameChange from "../../../common/enterpriseNameChange";
 import OrderCoor from '../../order/orderNew/changeComponent/orderCoor';
 import ContentUrl from '../../order/orderNew/contentUrl';
 import { salesList } from "@/dataDic.js";
+import NewEditProject from "../../../common/projectOperation/newEditProject";
+
 const OrderDetail = Form.create()(
   React.createClass({
     loadXmu(record) {
@@ -110,21 +112,23 @@ const OrderDetail = Form.create()(
             title: "项目数量",
             dataIndex: "commodityQuantity",
             key: "commodityQuantity",
-            width: 50,
             render: (text, record) => {
               if (record.splitStatus == 1) {
                 return (
                   <span>
                     {text}{" "}
-                    <Tag
-                      color="#108ee9"
-                      onClick={(e) => {
-                        e.stopPropagation();
-                        this.showRes(record);
-                      }}
-                    >
-                      已拆
-                    </Tag>
+                    {/* {
+                      record.cSort != 6 &&
+                      <Tag
+                        color="#108ee9"
+                        onClick={(e) => {
+                          e.stopPropagation();
+                          this.showRes(record);
+                        }}
+                      >
+                        已拆
+                      </Tag>
+                    } */}
                   </span>
                 );
               } else {
@@ -136,7 +140,6 @@ const OrderDetail = Form.create()(
             title: "金额(万元)",
             dataIndex: "commodityPrice",
             key: "commodityPrice",
-            width: 100,
           },
           {
             title: "负责人",
@@ -199,13 +202,12 @@ const OrderDetail = Form.create()(
             title: "项目说明",
             dataIndex: "taskComment",
             key: "taskComment",
-            width: 200,
             render: (text) => {
               return (
                 <Tooltip title={text}>
                   <div
                     style={{
-                      width: 180,
+                      width: 100,
                       overflow: "hidden",
                       whiteSpace: "nowrap",
                       textOverflow: "ellipsis",
@@ -731,7 +733,107 @@ const OrderDetail = Form.create()(
         }.bind(this)
       );
     },
+    // 可展开颜色不同
+    addRowColor(record) {
+      if (!!record.splitList && record.splitList.length > 0) {
+        return 'light'
+      } else {
+        return 'dark'
+      }
+    },
+
+
     render() {
+      const expandedRowRenderVip = (e) => {
+        const data = e.splitList;
+        let columns = [];
+        if (data instanceof Array && data.length) {
+          if (e.cSort == 6) {
+            columns = [
+              {
+                title: "负责人",
+                dataIndex: "contacts",
+                key: "contacts",
+              },
+              {
+                title: "负责人电话",
+                dataIndex: "contactsMobile",
+                key: "contactsMobile",
+              },
+              {
+                title: "项目状态",
+                dataIndex: "projectStatus",
+                key: "projectStatus",
+                render: (text) => {
+                  return getProjectName(text);
+                },
+              },
+              {
+                title: "本次派单",
+                dataIndex: "serviceYear",
+                key: "serviceYear",
+              },
+              {
+                title: "项目说明",
+                dataIndex: "taskComment",
+                key: "taskComment",
+                render: (text) => {
+                  return (
+                    <Tooltip title={text}>
+                      <div
+                      >{text}</div>
+                    </Tooltip>
+                  )
+                },
+              },
+            ];
+          } else {
+            columns = [
+              {
+                title: "子项目名称",
+                dataIndex: "taskName",
+                key: "taskName"
+              },
+              {
+                title: "子项目数量",
+                dataIndex: "commodityQuantity",
+                key: "commodityQuantity"
+              },
+              {
+                title: "拆分操作人",
+                dataIndex: "splitAname",
+                key: "splitAname"
+              },
+              {
+                title: "项目负责人",
+                dataIndex: "receiverName",
+                key: "receiverName"
+              },
+              {
+                title: "拆分时间",
+                dataIndex: "splitTimes",
+                key: "splitTimes"
+              }
+            ]
+          }
+          return (
+            <Table
+              columns={columns}
+              dataSource={data}
+              pagination={false}
+            />
+          );
+        } else {
+          columns = [];
+          return (
+            <p
+              style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+            >
+              {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+            </p>
+          );
+        }
+      };
       const theData = this.state.orderList || {};
       const FormItem = Form.Item;
       const formItemLayout = {
@@ -1106,6 +1208,8 @@ const OrderDetail = Form.create()(
                       dataSource={this.state.dataSource}
                       pagination={this.state.pagination}
                       onRowClick={this.tableRowClick}
+                      expandedRowRender={expandedRowRenderVip}
+                      rowClassName={this.addRowColor}
                       bordered
                       size="small"
                     />
@@ -1154,12 +1258,26 @@ const OrderDetail = Form.create()(
               </div>
             </Spin>
           </Form>
-          {this.state.addnextVisible &&
+          {
+            this.state.addnextVisible &&
+            <NewEditProject
+              readOnly={
+                this.state.dataInfor &&
+                Object.keys(this.state.dataInfor).length > 0 &&
+                this.state.processStatus !== 0
+              }
+              visible={this.state.addnextVisible}
+              dataInfor={this.state.dataInfor}
+              onCancel={this.nextCancel}
+            />
+          }
+          {/* {this.state.addnextVisible &&
             <ProjectDetailsReadOnly
               infor={this.state.dataInfor}
               visible={this.state.addnextVisible}
               onCancel={this.nextCancel}
-            />}
+            />
+            } */}
         </div>
       );
     },

File diff suppressed because it is too large
+ 854 - 993
js/component/manageCenter/order/orderNew/addService.jsx


+ 8 - 1
js/component/manageCenter/order/orderNew/approvedvipproject.jsx

@@ -910,7 +910,14 @@ const ApprovedVipProject = React.createClass({
             title="审核"
             footer=""
           >
-            <div>附件</div>
+            <div style={{ marginBottom: 20 }}>
+              付款情况:
+              {this.state.recard.memberType == "0"
+                ? "已付会员节点全款" : this.state.recard.memberType == "1"
+                  ? "已付部分期款,需特批" : this.state.recard.memberType == "2"
+                    ? "未付款,需特批" : ""}
+            </div>
+            <div>附件:</div>
             <div>
               <ImgList
                 fileList={this.state.pictureUrlArr}

File diff suppressed because it is too large
+ 365 - 690
js/component/manageCenter/order/orderNew/changeComponent/changeApply.js


+ 10 - 0
js/component/manageCenter/order/orderNew/changeComponent/index.less

@@ -0,0 +1,10 @@
+.light {
+  // background: #87CEEB;
+  background: #D3D3D3;
+  // background: #CD8162;
+}
+
+.dark {
+  background: white;
+  // background: #87CEEB;
+}

+ 119 - 8
js/component/manageCenter/order/orderNew/changeComponent/orderDetail.js

@@ -17,6 +17,7 @@ import { getProjectName } from "../../../../tools";
 import { salesList } from "@/dataDic.js";
 import ProjectDetailsReadOnly from "../../../../common/projectDetailsReadOnly";
 import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
+import NewEditProject from "../../../../common/projectOperation/newEditProject";
 import OrderCoor from "./orderCoor"
 import ContentUrl from "../contentUrl";
 const FormItem = Form.Item;
@@ -159,7 +160,7 @@ class OrderDetail extends Component {
               return (
                 <span>
                   {text}{" "}
-                  <Tag
+                  {/* <Tag
                     color="#108ee9"
                     onClick={e => {
                       e.stopPropagation();
@@ -167,7 +168,7 @@ class OrderDetail extends Component {
                     }}
                   >
                     已拆
-                  </Tag>
+                  </Tag> */}
                 </span>
               );
             } else {
@@ -206,6 +207,7 @@ class OrderDetail extends Component {
           title: "主要项目",
           dataIndex: "main",
           key: "main",
+          width: 50,
           render: text => {
             return text ? "是" : "否";
           }
@@ -226,7 +228,7 @@ class OrderDetail extends Component {
           key: "serviceLife",
           render: (text, record) => {
             return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+              <div>{!!text && JSON.parse(text).toString()}</div>
             );
           }
         },
@@ -462,18 +464,114 @@ class OrderDetail extends Component {
       resVisible: false
     })
   }
+  // 可展开颜色不同
+  addRowColor(record) {
+    if (!!record.splitList && record.splitList.length > 0) {
+      return 'light'
+    } else {
+      return 'dark'
+    }
+  }
 
   render() {
     let domId = this.props.domId;
     domId = domId ? domId.substr(0, 4) : ''
-    // console.log(typeof domId);
-
     const formItemLayout = {
       labelCol: { span: 8 },
       wrapperCol: { span: 14 }
     };
     const data = this.props.orderData;
     const propsList = this.props.contactList || [];
+    const expandedRowRenderVip = (e) => {
+      const data = e.splitList;
+      let columns = [];
+      if (data instanceof Array && data.length) {
+        if (e.cSort == 6) {
+          columns = [
+            {
+              title: "负责人",
+              dataIndex: "contacts",
+              key: "contacts",
+            },
+            {
+              title: "负责人电话",
+              dataIndex: "contactsMobile",
+              key: "contactsMobile",
+            },
+            {
+              title: "项目状态",
+              dataIndex: "projectStatus",
+              key: "projectStatus",
+              render: (text) => {
+                return getProjectName(text);
+              },
+            },
+            {
+              title: "本次派单",
+              dataIndex: "serviceYear",
+              key: "serviceYear",
+            },
+            {
+              title: "项目说明",
+              dataIndex: "taskComment",
+              key: "taskComment",
+              render: (text) => {
+                return (
+                  <Tooltip title={text}>
+                    <div
+                    >{text}</div>
+                  </Tooltip>
+                )
+              },
+            },
+          ];
+        } else {
+          columns = [
+            {
+              title: "子项目名称",
+              dataIndex: "taskName",
+              key: "taskName"
+            },
+            {
+              title: "子项目数量",
+              dataIndex: "commodityQuantity",
+              key: "commodityQuantity"
+            },
+            {
+              title: "拆分操作人",
+              dataIndex: "splitAname",
+              key: "splitAname"
+            },
+            {
+              title: "项目负责人",
+              dataIndex: "receiverName",
+              key: "receiverName"
+            },
+            {
+              title: "拆分时间",
+              dataIndex: "splitTimes",
+              key: "splitTimes"
+            }
+          ]
+        }
+        return (
+          <Table
+            columns={columns}
+            dataSource={data}
+            pagination={false}
+          />
+        );
+      } else {
+        columns = [];
+        return (
+          <p
+            style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+          >
+            {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+          </p>
+        );
+      }
+    };
     return (
       <div className="clearfix">
         {this.state.resVisible ? (
@@ -849,6 +947,8 @@ class OrderDetail extends Component {
             pagination={false}
             dataSource={this.props.dataSourceX}
             onRowClick={this.tableRowClickX}
+            expandedRowRender={expandedRowRenderVip}
+            rowClassName={this.addRowColor}
             style={{
               cursor: 'pointer',
             }}
@@ -890,11 +990,22 @@ class OrderDetail extends Component {
           </Form>
         </div>
         {this.state.visible &&
-          <ProjectDetailsReadOnly
-            infor={this.state.dataInfor}
+          <NewEditProject
+            readOnly={
+              this.state.dataInfor &&
+              Object.keys(this.state.dataInfor).length > 0 &&
+              this.state.processStatus !== 0
+            }
             visible={this.state.visible}
+            dataInfor={this.state.dataInfor}
             onCancel={this.nextCancel}
-          />}
+          />
+          // <ProjectDetailsReadOnly
+          //   infor={this.state.dataInfor}
+          //   visible={this.state.visible}
+          //   onCancel={this.nextCancel}
+          // />
+        }
       </div>
     );
   }

+ 252 - 156
js/component/manageCenter/order/orderNew/changeComponent/proAndCuiList.jsx

@@ -11,10 +11,11 @@ import {
   Col, Tooltip
 } from "antd";
 import $ from "jquery/src/ajax";
-import { getProjectStatus } from "@/tools.js"
+import { getProjectStatus, getProjectName } from "@/tools.js"
 import ResolutionDetail from "@/resolutionDetail";
 import ProjectDetailsReadOnly from "../../../../common/projectDetailsReadOnly/index";
-
+import NewEditProject from "../../../../common/projectOperation/newEditProject";
+import "./index.less";
 
 const ProAndCuiList = React.createClass({
   getInitialState() {
@@ -47,7 +48,7 @@ const ProAndCuiList = React.createClass({
                 >
                   {str}
                 </Tag>
-                {record.splitStatus == 1 ? (
+                {/* {record.splitStatus == 1 ? (
                   <Tag color="#108ee9">父项目</Tag>
                 ) : (
                   ""
@@ -56,7 +57,7 @@ const ProAndCuiList = React.createClass({
                   <Tag color="#108ee9">子项目</Tag>
                 ) : (
                   ""
-                )}
+                )} */}
               </span>
             );
           },
@@ -122,7 +123,7 @@ const ProAndCuiList = React.createClass({
           key: "serviceLife",
           render: (text, record) => {
             return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+              <div>{!!text && JSON.parse(text).toString()}</div>
             );
           }
         },
@@ -360,164 +361,245 @@ const ProAndCuiList = React.createClass({
     });
   },
 
+  // 可展开颜色不同
+  addRowColor(record) {
+    if (!!record.list && record.list.length > 0) {
+      return 'light'
+    } else {
+      return 'dark'
+    }
+  },
+
   render() {
     const expandedRowRender = e => {
       const data = e.list;
-      data.forEach(item => {
-        item.key = item.id;
-      });
+      // data.forEach(item => {
+      //   item.key = item.id;
+      // });
 
       let columns = [];
-      if (e.list instanceof Array && e.list.length) {
-        columns = [
-          {
-            title: "变更状态",
-            dataIndex: "type",
-            key: "type",
-            render: (text, record) => {
-              let str = "";
-              let color = "";
-              if (text == 1) {
-                str = "增";
-                color = "#87d068";
-              } else if (text == 2) {
-                str = "改";
-                color = "#108ee9";
-              } else if (text == 3) {
-                str = "删";
-                color = "#f50";
-              }
-              return (
-                <span>
-                  <Tag
-                    color={color}
-                    style={{ display: text == 0 ? "none" : "inline-block" }}
-                  >
-                    {str}
-                  </Tag>
-                  {record.splitStatus == 1 ? (
+      if (data instanceof Array && data.length) {
+        if (e.cSort == 6) {
+          columns = [
+            {
+              title: "变更状态",
+              dataIndex: "type",
+              key: "type",
+              render: (text, record) => {
+                let str = "";
+                let color = "";
+                if (text == 1) {
+                  str = "增";
+                  color = "#87d068";
+                } else if (text == 2) {
+                  str = "改";
+                  color = "#108ee9";
+                } else if (text == 3) {
+                  str = "删";
+                  color = "#f50";
+                }
+                return (
+                  <span>
                     <Tag
-                      color="#108ee9"
-                    // onClick={e => {
-                    //   e.stopPropagation();
-                    //   this.showRes(record);
-                    // }}
+                      color={color}
+                      style={{ display: text == 0 ? "none" : "inline-block" }}
                     >
-                      父项目
+                      {str}
                     </Tag>
-                  ) : (
-                    ""
-                  )}
-                  {record.splitStatus == 2 ? (
+                    {/* {record.splitStatus == 1 ? (
+                      <Tag
+                        color="#108ee9"
+                      // onClick={e => {
+                      //   e.stopPropagation();
+                      //   this.showRes(record);
+                      // }}
+                      >
+                        父项目
+                      </Tag>
+                    ) : (
+                      ""
+                    )}
+                    {record.splitStatus == 2 ? (
+                      <Tag
+                        color="#108ee9"
+                      // onClick={e => {
+                      //   e.stopPropagation();
+                      //   this.showRes(record);
+                      // }}
+                      >
+                        子项目
+                      </Tag>
+                    ) : (
+                      ""
+                    )} */}
+                  </span>
+                );
+              },
+            },
+            {
+              title: "负责人",
+              dataIndex: "receiverName",
+              key: "receiverName",
+            },
+            {
+              title: "负责人电话",
+              dataIndex: "receiverMobile",
+              key: "receiverMobile",
+            },
+            {
+              title: "项目状态",
+              dataIndex: "projectStatus",
+              key: "projectStatus",
+              render: (text) => {
+                return getProjectName(text);
+              },
+            },
+            {
+              title: "本次派单",
+              dataIndex: "serviceYear",
+              key: "serviceYear",
+            },
+            {
+              title: "项目说明",
+              dataIndex: "taskComment",
+              key: "taskComment",
+              render: (text) => {
+                return (
+                  <Tooltip title={text}>
+                    <div
+                      // style={{
+                      //   width: 100,
+                      //   overflow: "hidden",
+                      //   whiteSpace: "nowrap",
+                      //   textOverflow: "ellipsis",
+                      // }}
+                    >{text}</div>
+                  </Tooltip>
+                )
+              },
+            },
+          ];
+        } else {
+          columns = [
+            {
+              title: "变更状态",
+              dataIndex: "type",
+              key: "type",
+              render: (text, record) => {
+                let str = "";
+                let color = "";
+                if (text == 1) {
+                  str = "增";
+                  color = "#87d068";
+                } else if (text == 2) {
+                  str = "改";
+                  color = "#108ee9";
+                } else if (text == 3) {
+                  str = "删";
+                  color = "#f50";
+                }
+                return (
+                  <span>
                     <Tag
-                      color="#108ee9"
-                    // onClick={e => {
-                    //   e.stopPropagation();
-                    //   this.showRes(record);
-                    // }}
+                      color={color}
+                      style={{ display: text == 0 ? "none" : "inline-block" }}
                     >
-                      子项目
+                      {str}
                     </Tag>
-                  ) : (
-                    ""
-                  )}
-                </span>
-              );
+                    {/* {record.splitStatus == 1 ? (
+                      <Tag
+                        color="#108ee9"
+                      // onClick={e => {
+                      //   e.stopPropagation();
+                      //   this.showRes(record);
+                      // }}
+                      >
+                        父项目
+                      </Tag>
+                    ) : (
+                      ""
+                    )}
+                    {record.splitStatus == 2 ? (
+                      <Tag
+                        color="#108ee9"
+                      // onClick={e => {
+                      //   e.stopPropagation();
+                      //   this.showRes(record);
+                      // }}
+                      >
+                        子项目
+                      </Tag>
+                    ) : (
+                      ""
+                    )} */}
+                  </span>
+                );
+              },
             },
-          },
-          {
-            title: "业务项目名称",
-            dataIndex: "commodityName",
-            key: "commodityName",
-            render: (text, record) => {
-              return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
-            }
-          },
-          {
-            title: "项目类别",
-            dataIndex: "cname",
-            key: "cname",
-          },
-          {
-            title: "项目数量",
-            dataIndex: "commodityQuantity",
-            key: "commodityQuantity",
-          },
-          {
-            title: "金额(万元)",
-            dataIndex: "commodityPrice",
-            key: "commodityPrice",
-            render: (text, record) => {
-              if (record.splitStatus == 2) {
-                return "/";
-              } else {
-                return text;
+            {
+              title: "业务项目名称",
+              dataIndex: "commodityName",
+              key: "commodityName",
+              render: (text, record) => {
+                return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
               }
             },
-          },
-          {
-            title: "主要项目",
-            dataIndex: "main",
-            key: "main",
-            render: (text) => {
-              return text ? "是" : "否";
+            {
+              title: "项目类别",
+              dataIndex: "cname",
+              key: "cname",
             },
-          },
-          {
-            title: "项目负责人",
-            dataIndex: "receiverName",
-            key: "receiverName",
-          },
-          {
-            title: "总年限",
-            dataIndex: "yearSum",
-            key: "yearSum",
-            render: (text, record) => {
-              return (
-                <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
-              );
-            }
-          },
-          {
-            title: "年限",
-            dataIndex: "serviceLife",
-            key: "serviceLife",
-            render: (text, record) => {
-              return (
-                <div>{!!text && JSON.parse(text).toString()}</div>
-              );
-            }
-          },
-          {
-            title: "本次派单",
-            dataIndex: "serviceYear",
-            key: "serviceYear",
-            render: (text, record) => {
-              return (
-                <div>{!text ? "" : text}</div>
-              );
-            }
-          },
-          {
-            title: "项目说明",
-            dataIndex: "taskComment",
-            key: "taskComment",
-            render: (text) => {
-              return (
-                <Tooltip title={text}>
-                  <div
-                    style={{
-                      width: 100,
-                      overflow: "hidden",
-                      whiteSpace: "nowrap",
-                      textOverflow: "ellipsis",
-                    }}
-                  >{text}</div>
-                </Tooltip>
-              )
+            {
+              title: "项目数量",
+              dataIndex: "commodityQuantity",
+              key: "commodityQuantity",
             },
-          },
-        ];
+            {
+              title: "金额(万元)",
+              dataIndex: "commodityPrice",
+              key: "commodityPrice",
+              render: (text, record) => {
+                if (record.splitStatus == 2) {
+                  return "/";
+                } else {
+                  return text;
+                }
+              },
+            },
+            {
+              title: "主要项目",
+              dataIndex: "main",
+              key: "main",
+              render: (text) => {
+                return text ? "是" : "否";
+              },
+            },
+            {
+              title: "项目负责人",
+              dataIndex: "receiverName",
+              key: "receiverName",
+            },
+            {
+              title: "项目说明",
+              dataIndex: "taskComment",
+              key: "taskComment",
+              render: (text) => {
+                return (
+                  <Tooltip title={text}>
+                    <div
+                      style={{
+                        width: 100,
+                        overflow: "hidden",
+                        whiteSpace: "nowrap",
+                        textOverflow: "ellipsis",
+                      }}
+                    >{text}</div>
+                  </Tooltip>
+                )
+              },
+            },
+          ];
+        }
         return (
           <Table
             size="middle"
@@ -530,7 +612,7 @@ const ProAndCuiList = React.createClass({
         columns = [];
         return (
           <p style={{ fontWeight: "bold", color: "red", textAlign: "center" }}>
-            此项目暂未拆分
+            {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
           </p>
         );
       }
@@ -566,6 +648,7 @@ const ProAndCuiList = React.createClass({
             expandedRowRender={expandedRowRender}
             dataSource={this.state.dataSource}
             onRowClick={this.tableRowClickX.bind(this)}
+            rowClassName={this.addRowColor}
             bordered
             size="small"
           />
@@ -589,15 +672,28 @@ const ProAndCuiList = React.createClass({
           </Form>
         </div>
         {this.state.visible &&
-          <ProjectDetailsReadOnly
-            infor={this.state.dataInfor}
+          <NewEditProject
+            children="list"
+            type="change"
+            readOnly={
+              this.state.dataInfor &&
+              Object.keys(this.state.dataInfor).length > 0 &&
+              this.state.processStatus !== 0
+            }
             visible={this.state.visible}
-            onCancel={() => {
-              this.setState({
-                visible: false
-              });
-            }}
-          />}
+            dataInfor={this.state.dataInfor}
+            onCancel={() => { this.setState({ visible: false }) }}
+          />
+          // <ProjectDetailsReadOnly
+          //   infor={this.state.dataInfor}
+          //   visible={this.state.visible}
+          //   onCancel={() => {
+          //     this.setState({
+          //       visible: false
+          //     });
+          //   }}
+          // />
+        }
       </div>
     );
   }

+ 87 - 75
js/component/manageCenter/order/orderNew/contentUrl.jsx

@@ -1,8 +1,10 @@
 import React, { Component } from "react";
-import { Table, Modal, Button } from "antd";
+import { Table, Modal, Button, Form } from "antd";
 import PicturesWall from "./changeComponent/picturesWall.js";
 import ImgList from "../../../common/imgList";
 import $ from "jquery/src/ajax";
+import FormItem from "antd/lib/form/FormItem.js";
+
 class contentUrl extends Component {
   constructor(props) {
     super(props);
@@ -16,6 +18,7 @@ class contentUrl extends Component {
     this.upImg = this.upImg.bind(this);
     this.rotate = this.rotate.bind(this);
   }
+  
   downImg() {
     let num = 0;
     for (let i = 0; i < this.props.contentUrl.length; i++) {
@@ -56,86 +59,95 @@ class contentUrl extends Component {
   }
   render() {
     const { contentUrl = [] } = this.props
+    const FormItem = Form.Item;
     return (
-      <div class="clearfix" style={{ display: "flex", margin: "0 0 10px 80px" }}>
-        <div style={{ marginRight: "6px" }}>
-          <div style={{ display: "flex" }}><span style={{ color: 'red' }}>*</span><span style={{ color: "#333" }}>服务内容:</span></div>
-        </div>
-        <div>
-          {this.props.processStatus == 0 ?
-            <div>
-              <PicturesWall
-                domId={this.props.domId}
-                fileList={this.props.getContentUrl}
-                pictureUrl={this.props.contentUrl}
-                url="/api/admin/order/uploadOrderImg"
-                sign=""
-              />
-              <p><span style={{ color: "red", display: "inline-block" }}>(请将合同中的服务内容,截图上传!含服务年限,时间节点等;)</span>图片建议:要清晰。</p>
-            </div> :
-            !!contentUrl && contentUrl.length > 0 ?
+      <div class="clearfix">
+        <FormItem
+          labelCol={{ span: 4 }}
+          wrapperCol={{ span: 18 }}
+          label={
+            <span>
+              <strong style={{ color: "#f00" }}>*</strong>
+              服务内容
+            </span>
+          }
+        >
+          <div>
+            {this.props.processStatus == 0 ?
               <div>
-                <ImgList
-                  domId={this.props.imgId}
-                  fileList={this.props.contentUrl}
-                  ItemWidth={"96px"}
+                <PicturesWall
+                  domId={this.props.domId}
+                  fileList={this.props.getContentUrl}
+                  pictureUrl={this.props.contentUrl}
+                  url="/api/admin/order/uploadOrderImg"
+                  sign=""
                 />
-                <Modal
-                  maskClosable={false}
-                  footer={null}
-                  width={"50%"}
-                  visible={this.state.previewVisible}
-                  onCancel={() => {
-                    this.setState({
-                      previewVisible: false,
-                      rotateDeg: 0,
-                    });
-                  }}
-                >
-                  <img
-                    alt=""
-                    style={{
-                      width: "100%",
-                      transform: `rotate(${this.state.rotateDeg}deg)`,
-                    }}
-                    src={this.state.previewImage || ""}
+                <p><span style={{ color: "red", display: "inline-block" }}>(请将合同中的服务内容,截图上传!含服务年限,时间节点等;)</span>图片建议:要清晰。</p>
+              </div> :
+              !!contentUrl && contentUrl.length > 0 ?
+                <div>
+                  <ImgList
+                    domId={this.props.imgId}
+                    fileList={this.props.contentUrl}
+                    ItemWidth={"96px"}
                   />
-                  <Button
-                    onClick={this.rotate}
-                    style={{
-                      position: "relative",
-                      left: "50%",
-                      transform: "translateX(-50%)",
-                    }}
-                  >
-                    旋转
-                  </Button>
-                  <Button
-                    onClick={this.upImg}
-                    style={{
-                      position: "absolute",
-                      left: -81,
-                      top: "50%",
-                      transform: "translateY(-50%)",
-                    }}
-                  >
-                    上一张
-                  </Button>
-                  <Button
-                    onClick={this.downImg}
-                    style={{
-                      position: "absolute",
-                      right: -81,
-                      top: "50%",
-                      transform: "translateY(-50%)",
+                  <Modal
+                    maskClosable={false}
+                    footer={null}
+                    width={"50%"}
+                    visible={this.state.previewVisible}
+                    onCancel={() => {
+                      this.setState({
+                        previewVisible: false,
+                        rotateDeg: 0,
+                      });
                     }}
                   >
-                    下一张
-                  </Button>
-                </Modal>
-              </div>
-              : ""}
-        </div>
+                    <img
+                      alt=""
+                      style={{
+                        width: "100%",
+                        transform: `rotate(${this.state.rotateDeg}deg)`,
+                      }}
+                      src={this.state.previewImage || ""}
+                    />
+                    <Button
+                      onClick={this.rotate}
+                      style={{
+                        position: "relative",
+                        left: "50%",
+                        transform: "translateX(-50%)",
+                      }}
+                    >
+                      旋转
+                    </Button>
+                    <Button
+                      onClick={this.upImg}
+                      style={{
+                        position: "absolute",
+                        left: -81,
+                        top: "50%",
+                        transform: "translateY(-50%)",
+                      }}
+                    >
+                      上一张
+                    </Button>
+                    <Button
+                      onClick={this.downImg}
+                      style={{
+                        position: "absolute",
+                        right: -81,
+                        top: "50%",
+                        transform: "translateY(-50%)",
+                      }}
+                    >
+                      下一张
+                    </Button>
+                  </Modal>
+                </div>
+                : ""}
+          </div>
+        </FormItem>
       </div>
     );
   }

+ 12 - 11
js/component/manageCenter/order/orderNew/contractCwzj.js

@@ -1270,17 +1270,18 @@ const contractChange = Form.create()(
                 <TabPane tab="订单详情" key="a">
                   <div style={{ paddingBottom: "40px" }}>
                     <Spin spinning={this.state.loading}>
-                      {this.state.activeKey === 'a' && this.state.visible ? <OrderDetail
-                        orderData={this.state.orderData}
-                        orderUid={this.state.orderUid}
-                        getOrderLog={this.getOrderLog}
-                        dataSourceX={this.state.dataSourceX}
-                        contactList={this.state.contactList}
-                        orderNo={this.state.orderNo}
-                        totalCui={this.state.totalCui}
-                        contactListNew={this.state.contactListNew}
-                      // isCaiWu={true}
-                      /> : <div />}
+                      {this.state.activeKey === 'a' && this.state.visible ?
+                        <OrderDetail
+                          orderData={this.state.orderData}
+                          orderUid={this.state.orderUid}
+                          getOrderLog={this.getOrderLog}
+                          dataSourceX={this.state.dataSourceX}
+                          contactList={this.state.contactList}
+                          orderNo={this.state.orderNo}
+                          totalCui={this.state.totalCui}
+                          contactListNew={this.state.contactListNew}
+                        // isCaiWu={true}
+                        /> : <div />}
                     </Spin>
                   </div>
                 </TabPane>

+ 168 - 163
js/component/manageCenter/order/orderNew/contractYxy.js

@@ -434,7 +434,6 @@ const contractChange = Form.create()(
         addnextVisible: false
       });
     },
-
     // 合同变更详情
     ChangeDetail(id) {
       let url = window.location.href.substring(7);
@@ -530,7 +529,6 @@ const contractChange = Form.create()(
         }
       });
     },
-
     //订单详情
     xiangqing(orderNos) {
       $.ajax({
@@ -573,7 +571,6 @@ const contractChange = Form.create()(
         }.bind(this)
       });
     },
-
     // 原订单数据
     primaryOrder(primaryOrder) {
       $.ajax({
@@ -598,7 +595,6 @@ const contractChange = Form.create()(
         }.bind(this)
       });
     },
-
     // 附加订单数据
     additionalOrder(additionalOrder) {
       $.ajax({
@@ -623,7 +619,6 @@ const contractChange = Form.create()(
         }.bind(this)
       });
     },
-
     //项目列表
     xiangmu(orderNos) {
       $.ajax({
@@ -714,6 +709,7 @@ const contractChange = Form.create()(
       });
       this.rizhi(orderNo);
     },
+
     closeOrderLog() {
       this.setState({
         rizhivisible: false
@@ -756,6 +752,7 @@ const contractChange = Form.create()(
         }.bind(this)
       });
     },
+
     jiedianNew(orderNos) {
       $.ajax({
         method: "get",
@@ -1012,7 +1009,6 @@ const contractChange = Form.create()(
         this.loadData(this.state.pageNo);
       }
     },
-
     // 获取原订单编号
     getPrimaryOrder(value) {
       this.setState({
@@ -1105,7 +1101,6 @@ const contractChange = Form.create()(
         }.bind(this)
       );
     },
-
     //关闭输入理由框
     noCancel() {
       this.setState({
@@ -1127,6 +1122,7 @@ const contractChange = Form.create()(
       this.state.completeSearch = 0;
       this.loadData(1);
     },
+
     outReset() {
       this.setState({
         companyName: "",
@@ -1138,6 +1134,7 @@ const contractChange = Form.create()(
         pictureUrl: []
       });
     },
+
     getOrgCodeUrl(e) {
       this.setState({ pictureUrl: e });
     },
@@ -1155,11 +1152,13 @@ const contractChange = Form.create()(
       );
       this.loadData(this.state.pageNo);
     },
+
     visitOk() {
       this.setState({
         visible: false
       });
     },
+
     changeList(arr) {
       const newArr = [];
       this.state.columns.forEach(item => {
@@ -1173,6 +1172,7 @@ const contractChange = Form.create()(
         changeList: newArr
       });
     },
+
     createTabs() {
       $.ajax({
         url: globalConfig.context + "/api/admin/orderChange/getOrderChange",
@@ -1191,6 +1191,7 @@ const contractChange = Form.create()(
         }
       });
     },
+
     render() {
       const tabList = this.state.tabList || []
       const formItemLayout = {
@@ -1260,142 +1261,144 @@ const contractChange = Form.create()(
                 />
               </Spin>
             </div>
-            {this.state.visible ? <Modal
-              className="customeDetails"
-              footer=""
-              maskClosable={false}
-              width="1200px"
-              visible={this.state.visible}
-              onOk={this.visitOk}
-              onCancel={this.visitCancel}
-            >
-              <Tabs
-                activeKey={this.state.activeKey}
-                onChange={this.callback}
-                type="card"
-                tabBarExtraContent={
-                  <div style={{ fontWeight: 'bold', paddingRight: '15px' }}>
-                    <OrderItemStatus deleteSign={this.state.deleteSign} />
-                  </div>
-                }
+            {this.state.visible &&
+              <Modal
+                className="customeDetails"
+                footer=""
+                maskClosable={false}
+                width="1200px"
+                visible={this.state.visible}
+                onOk={this.visitOk}
+                onCancel={this.visitCancel}
               >
-                <TabPane tab="订单详情" key="a">
-                  {this.state.activeKey === 'a' ? <div>
-                    {this.state.orderData.deleteSign === 3 ? (
-                      <AddOrders
-                        orderUid={this.state.orderUid}
-                        processStatus={0}
-                        data={this.state.orderData.orderNo}
-                        mark={this.state.buttonStatus}
-                        getPrimaryOrder={this.getPrimaryOrder}
-                        totalCui={this.state.totalCui}
-                        closeDesc={this.closeDesc}
-                        getAdditionalOrder={this.getAdditionalOrder}
-                        deleteSign={this.state.orderData.deleteSign}
-                      />
-                    ) : (
-                      <Form
-                        layout="horizontal"
-                        onSubmit={this.handleSubmit}
-                        id="demand-form"
-                        style={{ paddingBottom: "40px" }}
-                      >
-                        <Spin spinning={this.state.loading}>
-                          <OrderDetail
-                            domId='dindanxiangqing'
+                <Spin spinning={this.state.loading}>
+                  <Tabs
+                    activeKey={this.state.activeKey}
+                    onChange={this.callback}
+                    type="card"
+                    tabBarExtraContent={
+                      <div style={{ fontWeight: 'bold', paddingRight: '15px' }}>
+                        <OrderItemStatus deleteSign={this.state.deleteSign} />
+                      </div>
+                    }
+                  >
+                    <TabPane tab="订单详情" key="a">
+                      {this.state.activeKey === 'a' ? <div>
+                        {this.state.orderData.deleteSign === 3 ? (
+                          <AddOrders
                             orderUid={this.state.orderUid}
-                            orderData={this.state.orderData}
-                            getOrderLog={this.getOrderLog}
-                            totalCui={parseFloat(this.state.totalCui)}
-                            dataSourceX={this.state.dataSourceX}
-                            contactList={this.state.contactList}
-                            contactListNew={this.state.contactListNew}
-                            orderNo={this.state.orderNo}
+                            processStatus={0}
+                            data={this.state.orderData.orderNo}
+                            mark={this.state.buttonStatus}
+                            getPrimaryOrder={this.getPrimaryOrder}
+                            totalCui={this.state.totalCui}
+                            closeDesc={this.closeDesc}
+                            getAdditionalOrder={this.getAdditionalOrder}
+                            deleteSign={this.state.orderData.deleteSign}
                           />
-                        </Spin>
-                      </Form>
-                    )}
-                  </div> : <div />}
-                </TabPane>
-                {tabList.map((item, index, arr) => {
-                  return (
-                    <TabPane tab={"合同变更记录" + (index + 1)} key={item.id}>
-                      {
-                        this.state.activeKey === String(item.id) ?
-                          (
-                            this.state.contractData.processState === 0 &&
-                              this.state.contractData.status != 5 ? (
-                              <ChangeApply
-                                orderUid={this.state.orderUid}
-                                id={Math.random()}
-                                orderData={this.state.contractData}
-                                voucherUrl={this.state.voucherUrl}
-                                onCancel={this.visitCancel}
-                              />
-                            ) : (
-                              <ChangeDetail
-                                domId={'hetongbiangenjilu' + (index + 1)}
+                        ) : (
+                          <Form
+                            layout="horizontal"
+                            onSubmit={this.handleSubmit}
+                            id="demand-form"
+                            style={{ paddingBottom: "40px" }}
+                          >
+                            <Spin spinning={this.state.loading}>
+                              <OrderDetail
+                                domId='dindanxiangqing'
                                 orderUid={this.state.orderUid}
-                                id={item.id}
-                                money={
-                                  index == arr.length - 1
-                                    ? this.state.orderData.totalAmount + ""
-                                    : undefined
-                                }
-                                visitCancel={this.visitCancel}
-                                data={this.state.contractData}
-                                pictureUrl={this.state.voucherUrl}
-                                attachment={this.state.attachment}
-                                processState={this.props.processState}
-                                dataSource={this.state.dataProps}
-                                proceedsData={this.state.proceedsData}
-                                proceedsTotal={this.state.proTotal}
-                                invoiceTotal={this.state.invTotal}
-                                contactList={this.state.refundInvoice}
+                                orderData={this.state.orderData}
+                                getOrderLog={this.getOrderLog}
+                                totalCui={parseFloat(this.state.totalCui)}
+                                dataSourceX={this.state.dataSourceX}
+                                contactList={this.state.contactList}
+                                contactListNew={this.state.contactListNew}
+                                orderNo={this.state.orderNo}
                               />
-                            )
-                          ) : <div />
-                      }
+                            </Spin>
+                          </Form>
+                        )}
+                      </div> : <div />}
                     </TabPane>
-                  );
-                })}
-                {tabList.map((item, index) => {
-                  if (item.usedOrder) {
-                    return (
-                      <TabPane
-                        tab={"原订单" + (index + 1)}
-                        key={item.usedOrder}
-                      >
-                        {
-                          this.state.activeKey === String(item.usedOrder) ?
-                            <Form
-                              layout="horizontal"
-                              onSubmit={this.handleSubmit}
-                              id="demand-form"
-                              style={{ paddingBottom: "40px" }}
-                            >
-                              <Spin spinning={this.state.loading}>
-                                <OrderDetail
-                                  domId={'yuandingdan' + (index + 1)}
-                                  orderUid={this.state.orderUid}
-                                  orderData={this.state.primaryOrderData}
-                                  getOrderLog={this.getOrderLog}
-                                  dataSourceX={this.state.dataSourceX}
-                                  contactList={this.state.contactList}
-                                  orderNo={this.state.primaryOrderNo}
-                                  totalCui={this.state.totalCui}
-                                  contactListNew={this.state.contactListNew}
-                                />
-                              </Spin>
-                            </Form> : <div />
-                        }
-                      </TabPane>
-                    );
-                  } else {
-                    return "";
-                  }
-                })}
-                {/* {this.state.status === 4 ? (
+                    {tabList.map((item, index, arr) => {
+                      return (
+                        <TabPane tab={"合同变更记录" + (index + 1)} key={item.id}>
+                          {
+                            this.state.activeKey === String(item.id) ?
+                              (
+                                this.state.contractData.processState === 0 &&
+                                  this.state.contractData.status != 5 ? (
+                                  <ChangeApply
+                                    orderUid={this.state.orderUid}
+                                    id={Math.random()}
+                                    orderData={this.state.contractData}
+                                    voucherUrl={this.state.voucherUrl}
+                                    onCancel={this.visitCancel}
+                                  />
+                                ) : (
+                                  <ChangeDetail
+                                    domId={'hetongbiangenjilu' + (index + 1)}
+                                    orderUid={this.state.orderUid}
+                                    id={item.id}
+                                    money={
+                                      index == arr.length - 1
+                                        ? this.state.orderData.totalAmount + ""
+                                        : undefined
+                                    }
+                                    visitCancel={this.visitCancel}
+                                    data={this.state.contractData}
+                                    pictureUrl={this.state.voucherUrl}
+                                    attachment={this.state.attachment}
+                                    processState={this.props.processState}
+                                    dataSource={this.state.dataProps}
+                                    proceedsData={this.state.proceedsData}
+                                    proceedsTotal={this.state.proTotal}
+                                    invoiceTotal={this.state.invTotal}
+                                    contactList={this.state.refundInvoice}
+                                  />
+                                )
+                              ) : <div />
+                          }
+                        </TabPane>
+                      );
+                    })}
+                    {tabList.map((item, index) => {
+                      if (item.usedOrder) {
+                        return (
+                          <TabPane
+                            tab={"原订单" + (index + 1)}
+                            key={item.usedOrder}
+                          >
+                            {
+                              this.state.activeKey === String(item.usedOrder) ?
+                                <Form
+                                  layout="horizontal"
+                                  onSubmit={this.handleSubmit}
+                                  id="demand-form"
+                                  style={{ paddingBottom: "40px" }}
+                                >
+                                  <Spin spinning={this.state.loading}>
+                                    <OrderDetail
+                                      domId={'yuandingdan' + (index + 1)}
+                                      orderUid={this.state.orderUid}
+                                      orderData={this.state.primaryOrderData}
+                                      getOrderLog={this.getOrderLog}
+                                      dataSourceX={this.state.dataSourceX}
+                                      contactList={this.state.contactList}
+                                      orderNo={this.state.primaryOrderNo}
+                                      totalCui={this.state.totalCui}
+                                      contactListNew={this.state.contactListNew}
+                                    />
+                                  </Spin>
+                                </Form> : <div />
+                            }
+                          </TabPane>
+                        );
+                      } else {
+                        return "";
+                      }
+                    })}
+                    {/* {this.state.status === 4 ? (
                   <TabPane tab="原订单" key="3">
                     <Form
                       layout="horizontal"
@@ -1419,32 +1422,34 @@ const contractChange = Form.create()(
                 ) : (
                   ""
                 )} */}
-                {this.state.status === 4 && this.state.isAddition ? (
-                  this.state.type === 4 || this.state.type === 5 ? (
-                    <TabPane tab="附加订单" key="c">
-                      {
-                        this.state.activeKey === "c" ?
-                          <AddOrders
-                            domId='fujiadingdan'
-                            orderUid={this.state.orderUid}
-                            processStatus={0}
-                            data={this.state.orderData.additionalOrder}
-                            mark={this.state.buttonStatusA}
-                            getPrimaryOrder={this.getPrimaryOrder}
-                            closeDesc={this.closeDesc}
-                            getAdditionalOrder={this.getAdditionalOrder}
-                            activeKey={this.state.activeKey}
-                          /> : <div />
-                      }
-                    </TabPane>
-                  ) : (
-                    ""
-                  )
-                ) : (
-                  ""
-                )}
-              </Tabs>
-            </Modal> : <div />}
+                    {this.state.status === 4 && this.state.isAddition ? (
+                      this.state.type === 4 || this.state.type === 5 ? (
+                        <TabPane tab="附加订单" key="c">
+                          {
+                            this.state.activeKey === "c" ?
+                              <AddOrders
+                                domId='fujiadingdan'
+                                orderUid={this.state.orderUid}
+                                processStatus={0}
+                                data={this.state.orderData.additionalOrder}
+                                mark={this.state.buttonStatusA}
+                                getPrimaryOrder={this.getPrimaryOrder}
+                                closeDesc={this.closeDesc}
+                                getAdditionalOrder={this.getAdditionalOrder}
+                                activeKey={this.state.activeKey}
+                              /> : <div />
+                          }
+                        </TabPane>
+                      ) : (
+                        ""
+                      )
+                    ) : (
+                      ""
+                    )}
+                  </Tabs>
+                </Spin>
+              </Modal>
+            }
             <Modal
               maskClosable={false}
               visible={this.state.noVisible}

+ 10 - 0
js/component/manageCenter/order/orderNew/customer.less

@@ -42,3 +42,13 @@
     background-color: #f5f5f5;
     margin-bottom: 10px;
 }
+.light {
+    // background: #87CEEB;
+    background: #D3D3D3;
+    // background: #CD8162;
+  }
+  
+  .dark {
+    background: white;
+    // background: #87CEEB;
+  }

+ 124 - 8
js/component/manageCenter/order/orderNew/examine.jsx

@@ -38,6 +38,7 @@ import ImgList from "../../../common/imgList";
 import { ChooseList } from "./chooseList";
 import { getProjectName } from "../../../tools";
 import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
+import NewEditProject from "../../../common/projectOperation/newEditProject"
 import OrderItemStatus from "../../../common/orderItemStatus";
 import EnterpriseNameChange from "../../../common/enterpriseNameChange";
 import OrderCoor from "./changeComponent/orderCoor";
@@ -411,7 +412,7 @@ const IntentionCustomer = Form.create()(
                 return (
                   <span>
                     {text}{" "}
-                    <Tag
+                    {/* <Tag
                       color="#108ee9"
                       onClick={(e) => {
                         e.stopPropagation();
@@ -419,7 +420,7 @@ const IntentionCustomer = Form.create()(
                       }}
                     >
                       已拆
-                    </Tag>
+                    </Tag> */}
                   </span>
                 );
               } else {
@@ -1297,7 +1298,6 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
-
     //关闭输入理由框
     noCancel() {
       this.setState({
@@ -1476,7 +1476,112 @@ const IntentionCustomer = Form.create()(
         changeList: newArr
       });
     },
+    // 可展开颜色不同
+    addRowColor(record) {
+      if (!!record.splitList && record.splitList.length > 0) {
+        return 'light'
+      } else {
+        return 'dark'
+      }
+    },
+
     render() {
+      const expandedRowRenderVip = (e) => {
+        const data = e.splitList;
+        let columns = [];
+        if (data instanceof Array && data.length) {
+          if (e.cSort == 6) {
+            columns = [
+              {
+                title: "负责人",
+                dataIndex: "receiverName",
+                key: "receiverName",
+              },
+              {
+                title: "负责人电话",
+                dataIndex: "receiverMobile",
+                key: "receiverMobile",
+              },
+              {
+                title: "项目状态",
+                dataIndex: "projectStatus",
+                key: "projectStatus",
+                render: (text) => {
+                  return getProjectName(text);
+                },
+              },
+              {
+                title: "本次派单",
+                dataIndex: "serviceYear",
+                key: "serviceYear",
+              },
+              {
+                title: "项目说明",
+                dataIndex: "taskComment",
+                key: "taskComment",
+                render: (text) => {
+                  return (
+                    <Tooltip title={text}>
+                      <div
+                        // style={{
+                        //   width: 100,
+                        //   overflow: "hidden",
+                        //   whiteSpace: "nowrap",
+                        //   textOverflow: "ellipsis",
+                        // }}
+                      >{text}</div>
+                    </Tooltip>
+                  )
+                },
+              },
+            ];
+          } else {
+            columns = [
+              {
+                title: "子项目名称",
+                dataIndex: "taskName",
+                key: "taskName"
+              },
+              {
+                title: "子项目数量",
+                dataIndex: "commodityQuantity",
+                key: "commodityQuantity"
+              },
+              {
+                title: "拆分操作人",
+                dataIndex: "splitAname",
+                key: "splitAname"
+              },
+              {
+                title: "项目负责人",
+                dataIndex: "receiverName",
+                key: "receiverName"
+              },
+              {
+                title: "拆分时间",
+                dataIndex: "splitTimes",
+                key: "splitTimes"
+              }
+            ]
+          }
+          return (
+            <Table
+              columns={columns}
+              dataSource={data}
+              pagination={false}
+            />
+          );
+        } else {
+          columns = [];
+          return (
+            <p
+              style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+            >
+              {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+            </p>
+          );
+        }
+      };
       const formItemLayout = {
         labelCol: { span: 8 },
         wrapperCol: { span: 14 },
@@ -2079,6 +2184,8 @@ const IntentionCustomer = Form.create()(
                               dataSource={this.state.dataSourceX}
                               pagination={this.state.paginations}
                               onRowClick={this.tableRowClickX}
+                              expandedRowRender={expandedRowRenderVip}
+                              rowClassName={this.addRowColor}
                               bordered
                               size="small"
                             />
@@ -2491,11 +2598,20 @@ const IntentionCustomer = Form.create()(
               loading={this.state.loading}
             />
           </div>
-          {this.state.addnextVisible && <ProjectDetailsReadOnly
-            infor={this.state.dataInfor}
-            visible={this.state.addnextVisible}
-            onCancel={this.nextCancel}
-          />}
+          {this.state.addnextVisible &&
+            <NewEditProject
+              readOnly={this.state.dataInfor && Object.keys(this.state.dataInfor).length > 0 && this.state.processStatus !== 0}
+              orderNo={this.state.orderNo}
+              visible={this.state.addnextVisible}
+              dataInfor={this.state.dataInfor}
+              onCancel={this.nextCancel}
+            />
+            // <ProjectDetailsReadOnly
+            //   infor={this.state.dataInfor}
+            //   visible={this.state.addnextVisible}
+            //   onCancel={this.nextCancel}
+            // />
+          }
         </div>
       );
     },

File diff suppressed because it is too large
+ 512 - 403
js/component/manageCenter/order/orderNew/inquiry.jsx


+ 162 - 15
js/component/manageCenter/order/orderNew/reject.jsx

@@ -27,7 +27,8 @@ import {
   splitUrl,
   getCuikuan,
   moneyVerify,
-  ShowModal
+  ShowModal,
+  getProjectName,
 } from "@/tools.js";
 import './customer.less';
 import ShowModalDiv from "@/showModal.jsx"
@@ -39,6 +40,8 @@ import OrderItemStatus from "../../../common/orderItemStatus";
 import EnterpriseNameChange from "../../../common/enterpriseNameChange";
 import OrderCoor from './changeComponent/orderCoor';
 import ProjectOperation from "../../../common/projectOperation";
+import NewAddProject from "../../../common/projectOperation/newAddProject"
+import NewEditProject from "../../../common/projectOperation/newEditProject"
 import ContentUrl from './contentUrl';
 import UpdateSales from './updatesales';//修改销售类型
 //图片组件
@@ -262,7 +265,7 @@ const IntentionCustomer = Form.create()(
                 return (
                   <span>
                     {text}{" "}
-                    <Tag
+                    {/* <Tag
                       color="#108ee9"
                       onClick={(e) => {
                         e.stopPropagation();
@@ -270,7 +273,7 @@ const IntentionCustomer = Form.create()(
                       }}
                     >
                       已拆
-                    </Tag>
+                    </Tag> */}
                   </span>
                 );
               } else {
@@ -354,10 +357,12 @@ const IntentionCustomer = Form.create()(
             title: "操作",
             dataIndex: "ABC",
             key: "ABC",
+            width: 80,
             render: (text, record) => {
               return (
+                this.state.processStatus == 0 &&
                 <div>
-                  {this.state.processStatus == 0 ? (
+                  <div>
                     <Popconfirm
                       title="是否要删除?如果删除此项目业务,对应的催款节点也会删除!"
                       onConfirm={() => {
@@ -375,9 +380,20 @@ const IntentionCustomer = Form.create()(
                         删除
                       </Button>
                     </Popconfirm>
-                  ) : (
-                    ""
-                  )}
+                  </div>
+                  <div>
+                    <Button
+                      onClick={(e) => {
+                        e.stopPropagation();
+                        this.setState({
+                          editProjectOperationVisible: true,
+                          dataInfor: record,
+                        })
+                      }}
+                    >
+                      编辑
+                    </Button>
+                  </div>
                 </div>
               );
             },
@@ -992,6 +1008,7 @@ const IntentionCustomer = Form.create()(
     nextCancel() {
       this.setState({
         projectOperationVisible: false,
+        editProjectOperationVisible: false,
         gid: "",
         dataInfor: {},
       }, () => {
@@ -1794,8 +1811,10 @@ const IntentionCustomer = Form.create()(
     },
     //点击添加项目明细
     addDetailed() {
+      const { dataSourceX = [] } = this.state
       this.setState({
         projectOperationVisible: true,
+        newData: dataSourceX,
       });
     },
     //搜索
@@ -1952,7 +1971,113 @@ const IntentionCustomer = Form.create()(
         changeList: newArr
       });
     },
+    addRowColor(record) {
+      if (!!record.splitList && record.splitList.length > 0) {
+        return 'light'
+      } else {
+        return 'dark'
+      }
+    },
+
+
+
     render() {
+      const expandedRowRenderVip = (e) => {
+        const data = e.splitList;
+        let columns = [];
+        if (data instanceof Array && data.length) {
+          if (e.cSort == 6) {
+            columns = [
+              {
+                title: "负责人",
+                dataIndex: "receiverName",
+                key: "receiverName",
+              },
+              {
+                title: "负责人电话",
+                dataIndex: "receiverMobile",
+                key: "receiverMobile",
+              },
+              {
+                title: "项目状态",
+                dataIndex: "projectStatus",
+                key: "projectStatus",
+                render: (text) => {
+                  return getProjectName(text);
+                },
+              },
+              {
+                title: "本次派单",
+                dataIndex: "serviceYear",
+                key: "serviceYear",
+              },
+              {
+                title: "项目说明",
+                dataIndex: "taskComment",
+                key: "taskComment",
+                render: (text) => {
+                  return (
+                    <Tooltip title={text}>
+                      <div
+                        // style={{
+                        //   width: 100,
+                        //   overflow: "hidden",
+                        //   whiteSpace: "nowrap",
+                        //   textOverflow: "ellipsis",
+                        // }}
+                      >{text}</div>
+                    </Tooltip>
+                  )
+                },
+              },
+            ];
+          } else {
+            columns = [
+              {
+                title: "子项目名称",
+                dataIndex: "taskName",
+                key: "taskName"
+              },
+              {
+                title: "子项目数量",
+                dataIndex: "commodityQuantity",
+                key: "commodityQuantity"
+              },
+              {
+                title: "拆分操作人",
+                dataIndex: "splitAname",
+                key: "splitAname"
+              },
+              {
+                title: "项目负责人",
+                dataIndex: "receiverName",
+                key: "receiverName"
+              },
+              {
+                title: "拆分时间",
+                dataIndex: "splitTimes",
+                key: "splitTimes"
+              }
+            ]
+          }
+          return (
+            <Table
+              columns={columns}
+              dataSource={data}
+              pagination={false}
+            />
+          );
+        } else {
+          columns = [];
+          return (
+            <p
+              style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+            >
+              {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+            </p>
+          );
+        }
+      };
       const formItemLayout = {
         labelCol: { span: 8 },
         wrapperCol: { span: 14 },
@@ -2583,7 +2708,9 @@ const IntentionCustomer = Form.create()(
                           columns={this.state.columnsX}
                           dataSource={this.state.dataSourceX}
                           pagination={this.state.paginations}
-                          onRowClick={this.tableRowClickX}
+                          // onRowClick={this.tableRowClickX}
+                          expandedRowRender={expandedRowRenderVip}
+                          rowClassName={this.addRowColor}
                           bordered
                           size="small"
                         />
@@ -2756,13 +2883,33 @@ const IntentionCustomer = Form.create()(
               loading={this.state.loading}
             />
           </div>
-          {this.state.projectOperationVisible ? <ProjectOperation
-            readOnly={this.state.dataInfor && Object.keys(this.state.dataInfor).length > 0 && this.state.processStatus !== 0}
-            orderNo={this.state.orderNo}
-            visible={this.state.projectOperationVisible}
-            dataInfor={this.state.dataInfor}
-            onCancel={this.nextCancel}
-          /> : null}
+          {
+            // 添加项目
+            this.state.projectOperationVisible &&
+            <NewAddProject
+              readOnly={this.state.dataInfor && Object.keys(this.state.dataInfor).length > 0 && this.state.processStatus !== 0}
+              orderNo={this.state.orderNo}
+              visible={this.state.projectOperationVisible}
+              newData={this.state.newData}
+              onCancel={this.nextCancel}
+            />
+          }
+          {
+            // 编辑项目
+            this.state.editProjectOperationVisible &&
+            <NewEditProject
+              readOnly={
+                this.state.dataInfor &&
+                Object.keys(this.state.dataInfor).length > 0 &&
+                this.state.processStatus !== 0
+              }
+              orderNo={this.state.orderNo}
+              visible={this.state.editProjectOperationVisible}
+              dataInfor={this.state.dataInfor}
+              newData={this.state.newData}
+              onCancel={this.nextCancel}
+            />
+          }
         </div>
       );
     },

+ 11 - 1
js/component/manageCenter/order/userMangagement.less

@@ -110,4 +110,14 @@
 }
 .ant-table-small .ant-table-thead > tr > th {
     background: #f5f5f5;
-}
+}
+.light {
+    // background: #87CEEB;
+    background: #D3D3D3;
+    // background: #CD8162;
+  }
+  
+  .dark {
+    background: white;
+    // background: #87CEEB;
+  }

File diff suppressed because it is too large
+ 641 - 481
js/component/manageCenter/project/project/projectAssignment.jsx


+ 122 - 13
js/component/manageCenter/project/task/myTask.jsx

@@ -572,7 +572,7 @@ const Task = React.createClass({
                     key: "serviceLife",
                     render: (text, record) => {
                         return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+                            <div>{!!text && JSON.parse(text).toString()}</div>
                         );
                     }
                 },
@@ -3554,7 +3554,113 @@ const Task = React.createClass({
             }.bind(this)
         )
     },
+    // 可展开颜色不同
+    addRowColor(record) {
+        if (!!record.splitList && record.splitList.length > 0) {
+          return 'light'
+        } else {
+          return 'dark'
+        }
+      },
+
+
     render() {
+        const expandedRowRenderVip = (e) => {
+            const data = e.splitList;
+            let columns = [];
+            if (data instanceof Array && data.length) {
+                if (e.cSort == 6) {
+                    columns = [
+                        {
+                            title: "负责人",
+                            dataIndex: "receiverName",
+                            key: "receiverName",
+                        },
+                        {
+                            title: "负责人电话",
+                            dataIndex: "receiverMobile",
+                            key: "receiverMobile",
+                        },
+                        {
+                            title: "项目状态",
+                            dataIndex: "projectStatus",
+                            key: "projectStatus",
+                            render: (text) => {
+                                return getProjectName(text);
+                            },
+                        },
+                        {
+                            title: "本次派单",
+                            dataIndex: "serviceYear",
+                            key: "serviceYear",
+                        },
+                        {
+                            title: "项目说明",
+                            dataIndex: "taskComment",
+                            key: "taskComment",
+                            render: (text) => {
+                                return (
+                                    <Tooltip title={text}>
+                                        <div
+                                            // style={{
+                                            //     width: 100,
+                                            //     overflow: "hidden",
+                                            //     whiteSpace: "nowrap",
+                                            //     textOverflow: "ellipsis",
+                                            // }}
+                                        >{text}</div>
+                                    </Tooltip>
+                                )
+                            },
+                        },
+                    ];
+                } else {
+                    columns = [
+                        {
+                            title: "子项目名称",
+                            dataIndex: "taskName",
+                            key: "taskName"
+                        },
+                        {
+                            title: "子项目数量",
+                            dataIndex: "commodityQuantity",
+                            key: "commodityQuantity"
+                        },
+                        {
+                            title: "拆分操作人",
+                            dataIndex: "splitAname",
+                            key: "splitAname"
+                        },
+                        {
+                            title: "项目负责人",
+                            dataIndex: "receiverName",
+                            key: "receiverName"
+                        },
+                        {
+                            title: "拆分时间",
+                            dataIndex: "splitTimes",
+                            key: "splitTimes"
+                        }
+                    ]
+                }
+                return (
+                    <Table
+                        columns={columns}
+                        dataSource={data}
+                        pagination={false}
+                    />
+                );
+            } else {
+                columns = [];
+                return (
+                    <p
+                        style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+                    >
+                        {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+                    </p>
+                );
+            }
+        };
         const formItemLayout = {
             labelCol: { span: 8 },
             wrapperCol: { span: 14 },
@@ -3767,8 +3873,8 @@ const Task = React.createClass({
             搜索
           </Button>
           <Button onClick={this.reset}>重置</Button>
+          type="primary"
           <Button
-            type="primary"
             style={{ marginLeft: "10px" }}
             onClick={this.exportExec}
           >
@@ -4695,6 +4801,8 @@ const Task = React.createClass({
                                                         dataSource={this.state.dataSourceX}
                                                         pagination={this.state.paginations}
                                                         onRowClick={this.tableRowClickX}
+                                                        expandedRowRender={expandedRowRenderVip}
+                                                        rowClassName={this.addRowColor}
                                                         bordered
                                                         size="small"
                                                     />
@@ -5273,17 +5381,18 @@ const Task = React.createClass({
                             {!this.props.isZxs || (this.state.isHuiyuan && this.props.isZxs) ? (
                                 <TabPane tab="订单详情" key="3">
                                     <Spin spinning={this.state.loading}>
-                                        {this.state.activeKey === "3" ? <OrderDetail
-                                            orderUid={this.state.orderUid}
-                                            orderData={this.state.orderData}
-                                            getOrderLog={this.getOrderLog}
-                                            dataSourceX={this.state.dataSourceX}
-                                            contactList={this.state.jiedian}
-                                            orderNo={this.state.orderNo}
-                                            totalCui={this.state.totalCui}
-                                            contactListNew={this.state.jiedianNew}
-                                            pictureUrl={this.state.contractPictureUrl}
-                                        /> : <div />}
+                                        {this.state.activeKey === "3" ?
+                                            <OrderDetail
+                                                orderUid={this.state.orderUid}
+                                                orderData={this.state.orderData}
+                                                getOrderLog={this.getOrderLog}
+                                                dataSourceX={this.state.dataSourceX}
+                                                contactList={this.state.jiedian}
+                                                orderNo={this.state.orderNo}
+                                                totalCui={this.state.totalCui}
+                                                contactListNew={this.state.jiedianNew}
+                                                pictureUrl={this.state.contractPictureUrl}
+                                            /> : <div />}
                                     </Spin>
                                     <OrderRiZi
                                         dataSourcerizhi={this.state.dataSourceY}

+ 2 - 1
js/component/manageCenter/project/task/payApplyReject/detailsModal/projectOverview.js

@@ -13,6 +13,7 @@ import {
     Table,
     Tabs,
     Tag,
+    Tooltip,
     Upload
 } from "antd";
 import Picture from '@/manageCenter/publicComponent/picture'
@@ -173,7 +174,7 @@ class projectOverview extends Component {
                     key: "serviceLife",
                     render: (text, record) => {
                         return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+                            <div>{!!text && JSON.parse(text).toString()}</div>
                         );
                     }
                 },

+ 111 - 3
js/component/manageCenter/project/task/taskAssignment.jsx

@@ -287,7 +287,7 @@ const Task = React.createClass({
               return (
                 <span>
                   {text}{" "}
-                  <Tag
+                  {/* <Tag
                     color="#108ee9"
                     onClick={(e) => {
                       e.stopPropagation();
@@ -295,7 +295,7 @@ const Task = React.createClass({
                     }}
                   >
                     已拆
-                  </Tag>
+                  </Tag> */}
                 </span>
               );
             } else {
@@ -342,7 +342,7 @@ const Task = React.createClass({
           key: "serviceLife",
           render: (text, record) => {
             return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+              <div>{!!text && JSON.parse(text).toString()}</div>
             );
           }
         },
@@ -859,6 +859,16 @@ const Task = React.createClass({
       changeList: newArr
     });
   },
+  // 可展开颜色不同
+  addRowColor(record) {
+    if (!!record.splitList && record.splitList.length > 0) {
+      return 'light'
+    } else {
+      return 'dark'
+    }
+  },
+
+
   render() {
     const expandedRowRender = (e) => {
       const data = e.splitList;
@@ -995,6 +1005,102 @@ const Task = React.createClass({
         );
       }
     };
+    const expandedRowRenderVip = (e) => {
+      const data = e.splitList;
+      let columns = [];
+      if (data instanceof Array && data.length) {
+        if (e.cSort == 6) {
+          columns = [
+            {
+              title: "负责人",
+              dataIndex: "receiverName",
+              key: "receiverName",
+            },
+            {
+              title: "负责人电话",
+              dataIndex: "receiverMobile",
+              key: "receiverMobile",
+            },
+            {
+              title: "项目状态",
+              dataIndex: "projectStatus",
+              key: "projectStatus",
+              render: (text) => {
+                return getProjectName(text);
+              },
+            },
+            {
+              title: "本次派单",
+              dataIndex: "serviceYear",
+              key: "serviceYear",
+            },
+            {
+              title: "项目说明",
+              dataIndex: "taskComment",
+              key: "taskComment",
+              render: (text) => {
+                return (
+                  <Tooltip title={text}>
+                    <div
+                      // style={{
+                      //   width: 100,
+                      //   overflow: "hidden",
+                      //   whiteSpace: "nowrap",
+                      //   textOverflow: "ellipsis",
+                      // }}
+                    >{text}</div>
+                  </Tooltip>
+                )
+              },
+            },
+          ];
+        } else {
+          columns = [
+            {
+              title: "子项目名称",
+              dataIndex: "taskName",
+              key: "taskName"
+            },
+            {
+              title: "子项目数量",
+              dataIndex: "commodityQuantity",
+              key: "commodityQuantity"
+            },
+            {
+              title: "拆分操作人",
+              dataIndex: "splitAname",
+              key: "splitAname"
+            },
+            {
+              title: "项目负责人",
+              dataIndex: "receiverName",
+              key: "receiverName"
+            },
+            {
+              title: "拆分时间",
+              dataIndex: "splitTimes",
+              key: "splitTimes"
+            }
+          ]
+        }
+        return (
+          <Table
+            columns={columns}
+            dataSource={data}
+            pagination={false}
+          />
+        );
+      } else {
+        columns = [];
+        return (
+          <p
+            style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+          >
+            {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+          </p>
+        );
+      }
+    };
     const rowSelection = {
       selectedRowKeys: this.state.selectedRowKeys,
       onChange: (selectedRowKeys, selectedRows) => {
@@ -1391,6 +1497,8 @@ const Task = React.createClass({
                           dataSource={this.state.dataSourceX}
                           pagination={this.state.paginations}
                           onRowClick={this.tableRowClickX}
+                          expandedRowRender={expandedRowRenderVip}
+                          rowClassName={this.addRowColor}
                           bordered
                           size="small"
                         />

+ 110 - 3
js/component/manageCenter/project/task/taskQuery.jsx

@@ -267,7 +267,7 @@ const Task = React.createClass({
               return (
                 <span>
                   {text}{" "}
-                  <Tag
+                  {/* <Tag
                     color="#108ee9"
                     onClick={(e) => {
                       e.stopPropagation();
@@ -275,7 +275,7 @@ const Task = React.createClass({
                     }}
                   >
                     已拆
-                  </Tag>
+                  </Tag> */}
                 </span>
               );
             } else {
@@ -329,7 +329,7 @@ const Task = React.createClass({
           key: "serviceLife",
           render: (text, record) => {
             return (
-<div>{!!text && JSON.parse(text).toString()}</div>
+              <div>{!!text && JSON.parse(text).toString()}</div>
             );
           }
         },
@@ -1078,8 +1078,113 @@ const Task = React.createClass({
       changeList: newArr
     });
   },
+  // 可展开颜色不同
+  addRowColor(record) {
+    if (!!record.splitList && record.splitList.length > 0) {
+      return 'light'
+    } else {
+      return 'dark'
+    }
+  },
+
 
   render() {
+    const expandedRowRenderVip = (e) => {
+      const data = e.splitList;
+      let columns = [];
+      if (data instanceof Array && data.length) {
+        if (e.cSort == 6) {
+          columns = [
+            {
+              title: "负责人",
+              dataIndex: "receiverName",
+              key: "receiverName",
+            },
+            {
+              title: "负责人电话",
+              dataIndex: "receiverMobile",
+              key: "receiverMobile",
+            },
+            {
+              title: "项目状态",
+              dataIndex: "projectStatus",
+              key: "projectStatus",
+              render: (text) => {
+                return getProjectName(text);
+              },
+            },
+            {
+              title: "本次派单",
+              dataIndex: "serviceYear",
+              key: "serviceYear",
+            },
+            {
+              title: "项目说明",
+              dataIndex: "taskComment",
+              key: "taskComment",
+              render: (text) => {
+                return (
+                  <Tooltip title={text}>
+                    <div
+                      // style={{
+                      //   width: 100,
+                      //   overflow: "hidden",
+                      //   whiteSpace: "nowrap",
+                      //   textOverflow: "ellipsis",
+                      // }}
+                    >{text}</div>
+                  </Tooltip>
+                )
+              },
+            },
+          ];
+        } else {
+          columns = [
+            {
+              title: "子项目名称",
+              dataIndex: "taskName",
+              key: "taskName"
+            },
+            {
+              title: "子项目数量",
+              dataIndex: "commodityQuantity",
+              key: "commodityQuantity"
+            },
+            {
+              title: "拆分操作人",
+              dataIndex: "splitAname",
+              key: "splitAname"
+            },
+            {
+              title: "项目负责人",
+              dataIndex: "receiverName",
+              key: "receiverName"
+            },
+            {
+              title: "拆分时间",
+              dataIndex: "splitTimes",
+              key: "splitTimes"
+            }
+          ]
+        }
+        return (
+          <Table
+            columns={columns}
+            dataSource={data}
+            pagination={false}
+          />
+        );
+      } else {
+        columns = [];
+        return (
+          <p
+            style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
+          >
+            {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
+          </p>
+        );
+      }
+    };
     const utils = {
       getSatisfaction: function (num) {
         switch (num) {
@@ -1783,6 +1888,8 @@ const Task = React.createClass({
                           dataSource={this.state.dataSourceX}
                           pagination={this.state.paginations}
                           onRowClick={this.tableRowClickX}
+                          expandedRowRender={expandedRowRenderVip}
+                          rowClassName={this.addRowColor}
                           bordered
                           size="small"
                         />