mentoswzq 5 years ago
parent
commit
e9ab5f5866
38 changed files with 6151 additions and 5141 deletions
  1. 3 2
      js/component/manageCenter/financialManage/distribute/inSpecial.jsx
  2. 3 4
      js/component/manageCenter/financialManage/distribute/invoiceApplyList.jsx
  3. 2 1
      js/component/manageCenter/financialManage/distribute/invoiceApplyListQuery.jsx
  4. 2 1
      js/component/manageCenter/financialManage/distribute/invoiceApplyListWai.jsx
  5. 2 1
      js/component/manageCenter/financialManage/distribute/outInvoiceQuery.jsx
  6. 2 1
      js/component/manageCenter/financialManage/distribute/outSpecial.jsx
  7. 1 0
      js/component/manageCenter/financialManage/distribute/shouKuanAll.jsx
  8. 1 0
      js/component/manageCenter/financialManage/distribute/shouKuang.jsx
  9. 1 1
      js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx
  10. 1525 1476
      js/component/manageCenter/order/orderNew/addService.jsx
  11. 116 48
      js/component/manageCenter/order/orderNew/approveds.jsx
  12. 2 1
      js/component/manageCenter/order/orderNew/billing.jsx
  13. 14 6
      js/component/manageCenter/order/orderNew/changeComponent/changeApply.js
  14. 49 2
      js/component/manageCenter/order/orderNew/changeComponent/orderDetail.js
  15. 4 2
      js/component/manageCenter/order/orderNew/changeComponent/proAndCuiList.jsx
  16. 103 49
      js/component/manageCenter/order/orderNew/chargeback.jsx
  17. 143 104
      js/component/manageCenter/order/orderNew/checkOutsourcing.jsx
  18. 2 1
      js/component/manageCenter/order/orderNew/contractCwjl.js
  19. 2 1
      js/component/manageCenter/order/orderNew/contractCwzj.js
  20. 2 1
      js/component/manageCenter/order/orderNew/contractCwzy.js
  21. 2 1
      js/component/manageCenter/order/orderNew/contractJsjl.js
  22. 2 1
      js/component/manageCenter/order/orderNew/contractJsy.js
  23. 2 1
      js/component/manageCenter/order/orderNew/contractJszj.js
  24. 2 1
      js/component/manageCenter/order/orderNew/contractYxgly.js
  25. 2 1
      js/component/manageCenter/order/orderNew/contractYxy.js
  26. 195 147
      js/component/manageCenter/order/orderNew/examine.jsx
  27. 141 74
      js/component/manageCenter/order/orderNew/inquiry.jsx
  28. 123 70
      js/component/manageCenter/order/orderNew/outsourcingList.jsx
  29. 170 112
      js/component/manageCenter/order/orderNew/outsourcingPro.jsx
  30. 101 47
      js/component/manageCenter/order/orderNew/reject.jsx
  31. 140 95
      js/component/manageCenter/project/project/projectAssignment.jsx
  32. 929 868
      js/component/manageCenter/project/project/projectQuery.jsx
  33. 1675 1597
      js/component/manageCenter/project/project/zxsglyOutSourcingPaiDan.jsx
  34. 325 237
      js/component/manageCenter/project/task/myTask.jsx
  35. 148 67
      js/component/manageCenter/project/task/myTaskCount.jsx
  36. 150 103
      js/component/manageCenter/project/task/myTaskOutsource.jsx
  37. 51 4
      js/component/manageCenter/project/task/taskCount.jsx
  38. 14 13
      js/component/manageCenter/project/task/taskQuery.jsx

+ 3 - 2
js/component/manageCenter/financialManage/distribute/inSpecial.jsx

@@ -21,7 +21,8 @@ import {
   getStatus,
   getPeople,
   splitUrl,
-  ShowModal
+  ShowModal,
+  getProcessStatus
 } from "@/tools";
 import { ChooseList } from "../../../../component/manageCenter/order/orderNew/chooseList";
 import ShowModalDiv from "@/showModal.jsx";
@@ -257,7 +258,7 @@ const inSpecial = React.createClass({
           dataIndex: "processStatus",
           key: "processStatus",
           render: text => {
-            return getPeople(text);
+            return getProcessStatus(text);
           }
         },
         {

+ 3 - 4
js/component/manageCenter/financialManage/distribute/invoiceApplyList.jsx

@@ -21,7 +21,8 @@ import {
   getStatus,
   getPeople,
   splitUrl,
-  ShowModal
+  ShowModal,
+  getProcessStatus
 } from "@/tools";
 import { ChooseList } from "../../../../component/manageCenter/order/orderNew/chooseList";
 import ShowModalDiv from "@/showModal.jsx";
@@ -253,7 +254,7 @@ const invoiceApplyList = React.createClass({
           dataIndex: "processStatus",
           key: "processStatus",
           render: text => {
-            return getPeople(text);
+            return getProcessStatus(text);
           }
         },
         {
@@ -585,8 +586,6 @@ const invoiceApplyList = React.createClass({
     });
   },
   tableRowClick(record) {
-    console.log(record);
-
     this.state.RowData = record;
     this.setState({
       showDesc: true

+ 2 - 1
js/component/manageCenter/financialManage/distribute/invoiceApplyListQuery.jsx

@@ -17,6 +17,7 @@ import {
   getProjectStatus,
   getProvinceA,
   getInvoiceStatus,
+  getProcessStatus,
   getprovince,
   getStatus,
   getPeople,
@@ -255,7 +256,7 @@ const invoiceApplyListQuery = React.createClass({
           dataIndex: "processStatus",
           key: "processStatus",
           render: text => {
-            return getPeople(text);
+            return getProcessStatus(text);
           }
         },
         {

+ 2 - 1
js/component/manageCenter/financialManage/distribute/invoiceApplyListWai.jsx

@@ -17,6 +17,7 @@ import {
   getProjectStatus,
   getProvinceA,
   getInvoiceStatus,
+  getProcessStatus,
   getprovince,
   getStatus,
   getPeople,
@@ -256,7 +257,7 @@ const invoiceApplyListWai = React.createClass({
           dataIndex: "processStatus",
           key: "processStatus",
           render: text => {
-            return getPeople(text);
+            return getProcessStatus(text);
           }
         },
         {

+ 2 - 1
js/component/manageCenter/financialManage/distribute/outInvoiceQuery.jsx

@@ -18,6 +18,7 @@ import {
   getApproval,
   getProvinceA,
   getInvoiceStatus,
+  getProcessStatus,
   getprovince,
   getStatus,
   getPeople,
@@ -252,7 +253,7 @@ const outInvoiceQuery = React.createClass({
           dataIndex: "processStatus",
           key: "processStatus",
           render: text => {
-            return getPeople(text);
+            return getProcessStatus(text);
           }
         },
         {

+ 2 - 1
js/component/manageCenter/financialManage/distribute/outSpecial.jsx

@@ -8,6 +8,7 @@ import {
   getInvoiceStatus,
   getprovince,
   getStatus,
+  getProcessStatus,
   getPeople,
   splitUrl
 } from "@/tools";
@@ -235,7 +236,7 @@ const outSpecial = React.createClass({
           dataIndex: "processStatus",
           key: "processStatus",
           render: text => {
-            return getPeople(text);
+            return getProcessStatus(text);
           }
         },
         {

+ 1 - 0
js/component/manageCenter/financialManage/distribute/shouKuanAll.jsx

@@ -1460,6 +1460,7 @@ const ShouKuang = React.createClass({
               outsourceName: thisdata.outsourceName,
               outsourcePrice: thisdata.outsourcePrice,
               outsource: thisdata.outsource,
+              splitStatus: thisdata.splitStatus
             });
           }
         }

+ 1 - 0
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -1512,6 +1512,7 @@ const ShouKuang = React.createClass({
               outsourceName: thisdata.outsourceName,
               outsourcePrice: thisdata.outsourcePrice,
               outsource: thisdata.outsource,
+              splitStatus: thisdata.splitStatus
             });
           }
         }

+ 1 - 1
js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx

@@ -666,7 +666,7 @@ const OrderDetail = Form.create()(
                 <FormItem
                   className="half-item"
                   {...formItemLayout}
-                  label="流状态"
+                  label="流状态"
                 >
                   <span>{getProcessStatus(theData.processStatus)}</span>
                 </FormItem>

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


+ 116 - 48
js/component/manageCenter/order/orderNew/approveds.jsx

@@ -16,6 +16,7 @@ import {
   Tabs
 } from "antd";
 import $ from 'jquery/src/ajax';
+import ResolutionDetail from "@/resolutionDetail";
 import ReactToPrint from "react-to-print";
 import moment from 'moment';
 import {
@@ -129,7 +130,7 @@ const IntentionCustomer = Form.create()(
           approval: this.state.approvalSearch ? this.state.approvalSearch : 0, //审批状态
           liquidationStatus: this.state.liquidationStatusSearch //结算状态
         },
-        success: function (data) {
+        success: function(data) {
           ShowModal(this);
           let theArr = [];
           if (data.error.length || data.data.list == "") {
@@ -175,7 +176,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -196,10 +197,10 @@ const IntentionCustomer = Form.create()(
           defaultPageSize: 10,
           showQuickJumper: true,
           pageSize: 10,
-          onChange: function (page) {
+          onChange: function(page) {
             this.loadData(page);
           }.bind(this),
-          showTotal: function (total) {
+          showTotal: function(total) {
             return "共" + total + "条数据";
           }
         },
@@ -348,7 +349,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -658,9 +679,9 @@ const IntentionCustomer = Form.create()(
             key: "outsource",
             render: text => {
               if (text == 0) {
-                return "否"
+                return "否";
               } else if (text == 1) {
-                return "是"
+                return "是";
               }
             }
           },
@@ -685,6 +706,7 @@ const IntentionCustomer = Form.create()(
             key: "taskEndTime"
           }
         ],
+        resVisible: false,
         cuiColumns: [
           {
             title: "序号",
@@ -826,7 +848,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "服务市价",
@@ -910,7 +952,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -935,10 +977,10 @@ const IntentionCustomer = Form.create()(
               orderRemarks: thisdata.orderRemarks, //订单留言
               orgCodeUrl: thisdata.contractPictureUrl
                 ? splitUrl(
-                  thisdata.contractPictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.contractPictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               salesmanName: thisdata.salesmanName, //营销员名称
               salesmanMobile: thisdata.salesmanMobile, //营销员电话
@@ -949,7 +991,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -966,7 +1008,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -988,7 +1030,8 @@ const IntentionCustomer = Form.create()(
                 main: thisdata.main, //是否为主要任务
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
-                contactsMobile: thisdata.contactsMobile //联系人电话
+                contactsMobile: thisdata.contactsMobile, //联系人电话
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -997,7 +1040,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1018,7 +1061,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: this.state.orderNo
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = data.data;
           if (thisData && !thisData.length) {
@@ -1042,7 +1085,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1073,7 +1116,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = [];
           if (data.error.length || data.data.list == "") {
@@ -1099,7 +1142,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1117,7 +1160,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -1158,7 +1201,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1184,7 +1227,7 @@ const IntentionCustomer = Form.create()(
           confirm: 2,
           reason: this.state.reason
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -1199,7 +1242,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1225,7 +1268,7 @@ const IntentionCustomer = Form.create()(
           confirm: 3,
           reason: this.state.reason
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -1242,7 +1285,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1331,7 +1374,7 @@ const IntentionCustomer = Form.create()(
         crossDomain: false,
         url: globalConfig.context + "/api/admin/organization/selectSuperId",
         data: {},
-        success: function (data) {
+        success: function(data) {
           let thedata = data.data;
           let theArr = [];
           if (!thedata) {
@@ -1340,7 +1383,7 @@ const IntentionCustomer = Form.create()(
             }
             thedata = {};
           } else {
-            thedata.map(function (item, index) {
+            thedata.map(function(item, index) {
               theArr.push({
                 key: index,
                 name: item.name,
@@ -1353,7 +1396,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1375,7 +1418,7 @@ const IntentionCustomer = Form.create()(
           pageSize: 9999,
           whoType: 1
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let waterSum = 0;
           if (!data.data || !data.data.list) {
@@ -1410,7 +1453,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1422,6 +1465,20 @@ const IntentionCustomer = Form.create()(
         cvisible: false
       });
     },
+
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     exportKaip() {
       window.location.href =
         globalConfig.context +
@@ -1433,13 +1490,13 @@ const IntentionCustomer = Form.create()(
         globalConfig.context +
         "/api/admin/receivables/exportReceivables?" +
         `orderNo=${
-        this.state.orderNoSearch ? this.state.orderNoSearch : ""
+          this.state.orderNoSearch ? this.state.orderNoSearch : ""
         }&buyerName=${
-        this.state.nameSearch ? this.state.nameSearch : ""
+          this.state.nameSearch ? this.state.nameSearch : ""
         }&departmentId=${
-        this.state.departmenttList ? this.state.departmenttList : ""
+          this.state.departmenttList ? this.state.departmenttList : ""
         }&contractNo=${
-        this.state.contractNoSearch ? this.state.contractNoSearch : ""
+          this.state.contractNoSearch ? this.state.contractNoSearch : ""
         }&processStatus=${this.state.processStatusSearch}`;
     },
     exportWater() {
@@ -1461,7 +1518,7 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.selectedRowKeys[0],
           pageSize: 9999
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           if (!data.data || !data.data.list) {
             if (data.error && data.error.length) {
@@ -1499,7 +1556,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1551,7 +1608,7 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.selectedRowKeys[0],
           pageSize: 9999
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           if (!data.data || !data.data.list) {
             if (data.error && data.error.length) {
@@ -1593,7 +1650,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1613,7 +1670,7 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.selectedRowKeys[0],
           pageSize: 9999
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let totalWaibao = 0;
           if (!data.data) {
@@ -1655,7 +1712,8 @@ const IntentionCustomer = Form.create()(
                 certificateNumber: thisdata.certificateNumber,
                 taskComment: thisdata.taskComment,
                 outsourceName: thisdata.outsourceName,
-                outsourcePrice: thisdata.outsourcePrice
+                outsourcePrice: thisdata.outsourcePrice,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -1666,7 +1724,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1693,7 +1751,7 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.selectedRowKeys[0],
           pageSize: 9999
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let sum = 0;
           if (!data.data) {
@@ -1720,7 +1778,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).done(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1773,6 +1831,16 @@ const IntentionCustomer = Form.create()(
       let departmentArr = this.state.departmentArr || [];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title" style={{ marginBottom: 10 }}>
             <span style={{ fontWeight: 900, fontSize: 16 }}>特批订单审核</span>
@@ -1813,7 +1881,7 @@ const IntentionCustomer = Form.create()(
                     this.setState({ departmenttList: e });
                   }}
                 >
-                  {departmentArr.map(function (item) {
+                  {departmentArr.map(function(item) {
                     return (
                       <Select.Option key={item.id}>{item.name}</Select.Option>
                     );
@@ -2309,8 +2377,8 @@ const IntentionCustomer = Form.create()(
                           添加项目明细
                         </Button>
                       ) : (
-                          ""
-                        )}
+                        ""
+                      )}
                     </div>
                     <div className="patent-table">
                       <Spin spinning={this.state.loading}>

+ 2 - 1
js/component/manageCenter/order/orderNew/billing.jsx

@@ -1651,7 +1651,8 @@ const MyService = Form.create()(
                 certificateNumber: thisdata.certificateNumber,
                 taskComment: thisdata.taskComment,
                 outsourceName: thisdata.outsourceName,
-                outsourcePrice: thisdata.outsourcePrice
+                outsourcePrice: thisdata.outsourcePrice,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 14 - 6
js/component/manageCenter/order/orderNew/changeComponent/changeApply.js

@@ -397,8 +397,8 @@ class ChangeApply extends Component {
                     保存
                   </Button>
                 ) : (
-                    ""
-                  )}
+                  ""
+                )}
               </div>
             );
           }
@@ -479,7 +479,14 @@ class ChangeApply extends Component {
         {
           title: "金额(万元)",
           dataIndex: "commodityPrice",
-          key: "commodityPrice"
+          key: "commodityPrice",
+          render: (text, record) => {
+            if (record.splitStatus == 2) {
+              return "/";
+            } else {
+              return text;
+            }
+          }
         },
         {
           title: "主要项目",
@@ -1194,6 +1201,7 @@ class ChangeApply extends Component {
   editPro(record) {
     this.setState({
       editProVisible: true,
+      editSplitStatus: record.splitStatus,
       editProMoney: record.commodityPrice,
       editProCommodityQuantity: record.commodityQuantity,
       editProTid: record.tid,
@@ -1265,7 +1273,6 @@ class ChangeApply extends Component {
   }
   componentWillMount() {
     this.departmentList();
-    console.log(this.props.orderData);
 
     this.state.data = this.props.orderData;
     this.state.data.oldPrice = this.props.orderData.totalAmount;
@@ -1328,8 +1335,6 @@ class ChangeApply extends Component {
     }
   }
   componentWillReceiveProps(nextProps) {
-      console.log(nextProps.orderData);
-      
       
     this.state.data = nextProps.orderData;
     this.state.data.oldPrice = nextProps.orderData.totalAmount;
@@ -1819,6 +1824,9 @@ class ChangeApply extends Component {
               labelCol={{ span: 6 }}
               wrapperCol={{ span: 14 }}
               label="项目金额"
+              style={{
+                display: this.state.editSplitStatus == 2 ? "none" : "block"
+              }}
             >
               <Input
                 placeholder="请输入金额"

+ 49 - 2
js/component/manageCenter/order/orderNew/changeComponent/orderDetail.js

@@ -1,5 +1,5 @@
 import React, { Component } from "react";
-import { Form, Upload, Modal, Button, Table, Col, message } from "antd";
+import { Form, Upload, Modal, Button, Table, Col, message, Tag } from "antd";
 import {
   splitUrl,
   getProcessStatus,
@@ -11,6 +11,7 @@ import {
   getProjectStatus
 } from "@/tools.js";
 import img from "./img.png"
+import ResolutionDetail from "@/resolutionDetail";
 
 const FormItem = Form.Item;
 class OrderDetail extends Component {
@@ -121,6 +122,7 @@ class OrderDetail extends Component {
           }
         }
       ],
+      resVisible: false,
       columnsX: [
         {
           title: "业务项目名称",
@@ -135,8 +137,29 @@ class OrderDetail extends Component {
         {
           title: "项目数量",
           dataIndex: "commodityQuantity",
-          key: "commodityQuantity"
+          key: "commodityQuantity",
+          render: (text, record) => {
+            if (record.splitStatus == 1) {
+              return (
+                <span>
+                  {text}{" "}
+                  <Tag
+                    color="#108ee9"
+                    onClick={e => {
+                      e.stopPropagation();
+                      this.showRes(record);
+                    }}
+                  >
+                    已拆
+                  </Tag>
+                </span>
+              );
+            } else {
+              return text;
+            }
+          }
         },
+
         {
           title: "金额(万元)",
           dataIndex: "commodityPrice",
@@ -187,6 +210,8 @@ class OrderDetail extends Component {
     this.rotate = this.rotate.bind(this);
     this.downImg = this.downImg.bind(this);
     this.upImg = this.upImg.bind(this);
+    this.showRes = this.showRes.bind(this);
+    this.resCancel = this.resCancel.bind(this);
   }
 
   rotate() {
@@ -298,6 +323,18 @@ class OrderDetail extends Component {
       rotateDeg: 0
     });
   }
+  // 拆分详细
+  showRes(record) {
+    this.setState({
+      resVisible: true,
+      resRecord: record
+    })
+  }
+  resCancel() {
+    this.setState({
+      resVisible: false
+    })
+  }
 
   render() {
     const formItemLayout = {
@@ -313,6 +350,16 @@ class OrderDetail extends Component {
           this.refs = e;
         }}
       >
+        {this.state.resVisible ? (
+          <ResolutionDetail
+            cancel={this.resCancel}
+            detail={this.state.resRecord}
+            visible={this.state.resVisible}
+            id={this.state.resRecord.orderNo}
+          />
+        ) : (
+          ""
+        )}
         <FormItem className="half-item" {...formItemLayout} label="订单编号">
           <span>{data.orderNo}</span>
         </FormItem>

+ 4 - 2
js/component/manageCenter/order/orderNew/changeComponent/proAndCuiList.jsx

@@ -110,11 +110,13 @@ const ProAndCuiList = React.createClass({
           title: "金额(万元)",
           dataIndex: "commodityPrice",
           key: "commodityPrice",
-          render: text => {
+          render: (text,record) => {
             if (this.props.isZxs) {
               return <span>***</span>;
+            }else if (record.splitStatus == 2) {
+              return "/";
             } else {
-              return <span>{text}</span>;
+               return <span>{text}</span>;
             }
           }
         },

+ 103 - 49
js/component/manageCenter/order/orderNew/chargeback.jsx

@@ -1,7 +1,8 @@
 import React from 'react';
-import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Col,Tabs} from 'antd';
+import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Col,Tabs, Tag} from 'antd';
 import $ from 'jquery/src/ajax';
 import Picture from '@/manageCenter/publicComponent/picture';
+import ResolutionDetail from "@/resolutionDetail";
 import moment from 'moment';
 import {
   getLiquidationStatus,
@@ -85,6 +86,7 @@ const IntentionCustomer = Form.create()(
     getInitialState() {
       return {
         page: 1,
+        resVisible: false,
         releaseDate: [],
         selectedRowKeys: [],
         orgCodeUrl: [],
@@ -199,7 +201,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -415,6 +437,20 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
+
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     //点击确认退单
     tuidanOk() {
       let contractUrls = [];
@@ -646,7 +682,8 @@ const IntentionCustomer = Form.create()(
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -826,61 +863,78 @@ const IntentionCustomer = Form.create()(
             modalVisible: false,
             recordt: recordt.id
           });
-        },
+        }
       };
-      const {TabPane} = Tabs
-      
+      const { TabPane } = Tabs;
+
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title">
             <span>退单管理</span>
           </div>
           <div className="user-search">
-          <Tabs
-          defaultActiveKey="1"
-          onChange={this.callback}
-          className="test">
-             <TabPane tab="搜索" key="1">
-            <Input
-              placeholder="客户名称"
-              style={{ width: "150px", marginBottom: "10px",marginTop: 10,marginRight: 10,marginLeft:10 }}
-              value={this.state.customerName}
-              onChange={e => {
-                this.setState({ customerName: e.target.value });
-              }}
-            />
-            <Input
-              placeholder="订单编号"
-              style={{ width: "150px" ,marginRight: 10}}
-              value={this.state.orderNo}
-              onChange={e => {
-                this.setState({ orderNo: e.target.value });
-              }}
-            />
-            <span style={{ marginRight: "10px" }}>下单时间 :</span>
-            <RangePicker
-              value={[
-                this.state.releaseDate[0]
-                  ? moment(this.state.releaseDate[0])
-                  : null,
-                this.state.releaseDate[1]
-                  ? moment(this.state.releaseDate[1])
-                  : null
-              ]}
-              onChange={(data, dataString) => {
-                this.setState({ releaseDate: dataString });
-              }}
-            />
-            <Button
-              type="primary"
-              onClick={this.search}
-              style={{ marginLeft: "10px",marginRight: 10 }}
+            <Tabs
+              defaultActiveKey="1"
+              onChange={this.callback}
+              className="test"
             >
-              搜索
-            </Button>
-            <Button onClick={this.reset}>重置</Button>
-            </TabPane>
+              <TabPane tab="搜索" key="1">
+                <Input
+                  placeholder="客户名称"
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginTop: 10,
+                    marginRight: 10,
+                    marginLeft: 10
+                  }}
+                  value={this.state.customerName}
+                  onChange={e => {
+                    this.setState({ customerName: e.target.value });
+                  }}
+                />
+                <Input
+                  placeholder="订单编号"
+                  style={{ width: "150px", marginRight: 10 }}
+                  value={this.state.orderNo}
+                  onChange={e => {
+                    this.setState({ orderNo: e.target.value });
+                  }}
+                />
+                <span style={{ marginRight: "10px" }}>下单时间 :</span>
+                <RangePicker
+                  value={[
+                    this.state.releaseDate[0]
+                      ? moment(this.state.releaseDate[0])
+                      : null,
+                    this.state.releaseDate[1]
+                      ? moment(this.state.releaseDate[1])
+                      : null
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({ releaseDate: dataString });
+                  }}
+                />
+                <Button
+                  type="primary"
+                  onClick={this.search}
+                  style={{ marginLeft: "10px", marginRight: 10 }}
+                >
+                  搜索
+                </Button>
+                <Button onClick={this.reset}>重置</Button>
+              </TabPane>
             </Tabs>
             <div className="patent-table">
               <Spin spinning={this.state.loading}>

+ 143 - 104
js/component/manageCenter/order/orderNew/checkOutsourcing.jsx

@@ -4,6 +4,7 @@ import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import { getLiquidationStatus, getApprovedState, getProcessStatus, splitUrl, getjiedian, getboutique, getCuikuan, getProjectStatus, getRefundStatus } from '@/tools.js';
 import './customer.less';
+import ResolutionDetail from "@/resolutionDetail";
 
 const checkOutsourcing = Form.create()(
   React.createClass({
@@ -29,7 +30,7 @@ const checkOutsourcing = Form.create()(
           endTime: this.state.releaseDate[1], //结束时间
           refundStatus: this.state.refundStatusSearch //外包审核状态
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
@@ -68,7 +69,7 @@ const checkOutsourcing = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -91,10 +92,10 @@ const checkOutsourcing = Form.create()(
           defaultPageSize: 10,
           showQuickJumper: true,
           pageSize: 10,
-          onChange: function (page) {
+          onChange: function(page) {
             this.loadData(page);
           }.bind(this),
-          showTotal: function (total) {
+          showTotal: function(total) {
             return "共" + total + "条数据";
           }
         },
@@ -148,17 +149,11 @@ const checkOutsourcing = Form.create()(
             key: "refundStatus",
             render: text => {
               if (text == 0) {
-                return (
-                  <Tag color="#f50">待审核</Tag>
-                )
+                return <Tag color="#f50">待审核</Tag>;
               } else if (text == 1) {
-                return (
-                  <Tag color="#87d068">审核通过</Tag>
-                )
+                return <Tag color="#87d068">审核通过</Tag>;
               } else if (text == 2) {
-                return (
-                  <Tag color="#2db7f5">审核驳回</Tag>
-                )
+                return <Tag color="#2db7f5">审核驳回</Tag>;
               }
             }
           },
@@ -189,7 +184,27 @@ const checkOutsourcing = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -357,7 +372,8 @@ const checkOutsourcing = Form.create()(
               return getCuikuan(text);
             }
           }
-        ]
+        ],
+        resVisible: false
       };
     },
     //页面加载函数
@@ -375,6 +391,20 @@ const checkOutsourcing = Form.create()(
       this.jiedian(record.orderNo);
       this.jiedianNew(record.orderNo);
     },
+
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     //点击打卡项目详情
     tableRowClickX(record) {
       this.setState({
@@ -405,7 +435,7 @@ const checkOutsourcing = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -430,10 +460,10 @@ const checkOutsourcing = Form.create()(
               orderRemarks: thisdata.orderRemarks, //订单留言
               orgCodeUrl: thisdata.contractPictureUrl
                 ? splitUrl(
-                  thisdata.contractPictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.contractPictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               salesmanName: thisdata.salesmanName, //营销员名称
               salesmanMobile: thisdata.salesmanMobile, //营销员电话
@@ -449,7 +479,7 @@ const checkOutsourcing = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -466,7 +496,7 @@ const checkOutsourcing = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -489,7 +519,8 @@ const checkOutsourcing = Form.create()(
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
-                projectStatus: thisdata.projectStatus //项目状态
+                projectStatus: thisdata.projectStatus, //项目状态
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -498,7 +529,7 @@ const checkOutsourcing = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -518,7 +549,7 @@ const checkOutsourcing = Form.create()(
         data: {
           orderNo: this.state.orderNo
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = data.data;
           if (!thisData.length) {
@@ -542,7 +573,7 @@ const checkOutsourcing = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -571,7 +602,7 @@ const checkOutsourcing = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = [];
           if (data.error.length || data.data.list == "") {
@@ -597,7 +628,7 @@ const checkOutsourcing = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -614,7 +645,7 @@ const checkOutsourcing = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -655,7 +686,7 @@ const checkOutsourcing = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -673,7 +704,7 @@ const checkOutsourcing = Form.create()(
           orderNo: this.state.orderNo,
           orderStatus: 2
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -687,7 +718,7 @@ const checkOutsourcing = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -706,7 +737,7 @@ const checkOutsourcing = Form.create()(
           orderStatus: 2,
           outsource: 1
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -720,7 +751,7 @@ const checkOutsourcing = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -742,7 +773,7 @@ const checkOutsourcing = Form.create()(
           orderStatus: 3,
           reason: this.state.reason
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -762,7 +793,7 @@ const checkOutsourcing = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -797,7 +828,7 @@ const checkOutsourcing = Form.create()(
       });
       if (this.state.pictureUrl.length) {
         let picArr = [];
-        this.state.pictureUrl.map(function (item) {
+        this.state.pictureUrl.map(function(item) {
           if (
             item.response &&
             item.response.data &&
@@ -825,7 +856,7 @@ const checkOutsourcing = Form.create()(
           data: {
             orderNo: this.state.orderNo
           },
-          success: function (data) {
+          success: function(data) {
             let thisdata = data.data;
             this.setState({
               id: thisdata.id,
@@ -834,17 +865,17 @@ const checkOutsourcing = Form.create()(
               remarks: thisdata.remarks,
               attachmentUrl: thisdata.attachmentUrl
                 ? splitUrl(
-                  thisdata.attachmentUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.attachmentUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [],
               pictureUrl: thisdata.pictureUrl
                 ? splitUrl(
-                  thisdata.pictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.pictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               amount: thisdata.amount,
               companyName: thisdata.companyName,
@@ -854,7 +885,7 @@ const checkOutsourcing = Form.create()(
             });
           }.bind(this)
         }).always(
-          function () {
+          function() {
             this.setState({
               loading: false
             });
@@ -880,7 +911,7 @@ const checkOutsourcing = Form.create()(
           orderNo: this.state.orderNo,
           type: 0
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -888,7 +919,7 @@ const checkOutsourcing = Form.create()(
           }
         }
       }).done(
-        function () {
+        function() {
           this.setState({
             loading: false,
             remarks: ""
@@ -910,7 +941,7 @@ const checkOutsourcing = Form.create()(
           refundStatus: 2,
           orderNo: this.state.orderNo
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -918,7 +949,7 @@ const checkOutsourcing = Form.create()(
           }
         }
       }).done(
-        function () {
+        function() {
           this.setState({
             loading: false,
             remarks: ""
@@ -993,18 +1024,29 @@ const checkOutsourcing = Form.create()(
       const cuiDataList = this.state.contactList || [];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <div className="content-title">
             <span>外包审核列表</span>
           </div>
-          <Tabs
-            defaultActiveKey="1"
-            onChange={this.callback}
-            className="test">
+          <Tabs defaultActiveKey="1" onChange={this.callback} className="test">
             <TabPane tab="搜索" key="1">
               <div className="user-search">
                 <Input
                   placeholder="客户名称"
-                  style={{ width: "150px", marginBottom: "10px", marginLeft: 10 }}
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginLeft: 10
+                  }}
                   value={this.state.nameSearch}
                   onChange={e => {
                     this.setState({ nameSearch: e.target.value });
@@ -1053,7 +1095,7 @@ const checkOutsourcing = Form.create()(
                   style={{ marginLeft: "10px" }}
                 >
                   搜索
-            </Button>
+                </Button>
                 <Button onClick={this.reset}>重置</Button>
               </div>
             </TabPane>
@@ -1253,7 +1295,7 @@ const checkOutsourcing = Form.create()(
                             onClick={this.getOrderLog}
                           >
                             查看订单日志
-                            </Button>
+                          </Button>
                         </FormItem>
                       </div>
                       <div className="clearfix">
@@ -1325,11 +1367,9 @@ const checkOutsourcing = Form.create()(
                         </FormItem>
                       </div>
                       <div>
-                        <span
-                          style={{ marginLeft: "50px", fontSize: "20px" }}
-                        >
+                        <span style={{ marginLeft: "50px", fontSize: "20px" }}>
                           项目业务
-                          </span>
+                        </span>
                         {this.state.processStatus == 0 ? (
                           <Button
                             type="primary"
@@ -1343,8 +1383,8 @@ const checkOutsourcing = Form.create()(
                             添加项目明细
                           </Button>
                         ) : (
-                            ""
-                          )}
+                          ""
+                        )}
                       </div>
                       <div className="patent-table">
                         <Spin spinning={this.state.loading}>
@@ -1361,10 +1401,12 @@ const checkOutsourcing = Form.create()(
                       <div>
                         <span style={{ marginLeft: 20, fontSize: "18px" }}>
                           催款节点
-                          </span>
+                        </span>
                         <span
                           style={{
-                            display: cuiDataList.length ? "none" : "inline-block",
+                            display: cuiDataList.length
+                              ? "none"
+                              : "inline-block",
                             marginLeft: 10,
                             color: "red"
                           }}
@@ -1512,7 +1554,7 @@ const checkOutsourcing = Form.create()(
                           <span>
                             <strong style={{ color: "#f00" }}>*</strong>
                             审核意见
-                            </span>
+                          </span>
                         }
                       >
                         <Input
@@ -1535,7 +1577,7 @@ const checkOutsourcing = Form.create()(
                           }}
                         >
                           通过或驳回都必须填写审核意见!
-                          </span>
+                        </span>
                       </FormItem>
                     </div>
                     <div className="clearfix fa">
@@ -1545,46 +1587,44 @@ const checkOutsourcing = Form.create()(
                         style={{ color: "#fff", backgroundColor: "#f04134" }}
                       >
                         驳回
-                        </Button>
+                      </Button>
                       <Button type="primary" onClick={this.pass}>
                         通过
-                        </Button>
+                      </Button>
                     </div>
                   </div>
                 ) : (
+                  <div className="clearfix">
+                    <hr className="division" />
                     <div className="clearfix">
-                      <hr className="division" />
-                      <div className="clearfix">
-                        <FormItem
-                          className="half-item"
-                          {...formItemLayout}
-                          label="审核意见"
-                        >
-                          <span>{this.state.remarks}</span>
-                        </FormItem>
-                      </div>
-                      <div className="clearfix">
-                        <FormItem
-                          className="half-item"
-                          {...formItemLayout}
-                          label="审核结果"
-                        >
-                          <span>
-                            {getRefundStatus(this.state.refundStatus)}
-                          </span>
-                        </FormItem>
-                      </div>
-                      <div className="clearfix">
-                        <FormItem
-                          className="half-item"
-                          {...formItemLayout}
-                          label="审核时间"
-                        >
-                          <span>{this.state.auditTimes}</span>
-                        </FormItem>
-                      </div>
+                      <FormItem
+                        className="half-item"
+                        {...formItemLayout}
+                        label="审核意见"
+                      >
+                        <span>{this.state.remarks}</span>
+                      </FormItem>
+                    </div>
+                    <div className="clearfix">
+                      <FormItem
+                        className="half-item"
+                        {...formItemLayout}
+                        label="审核结果"
+                      >
+                        <span>{getRefundStatus(this.state.refundStatus)}</span>
+                      </FormItem>
                     </div>
-                  )}
+                    <div className="clearfix">
+                      <FormItem
+                        className="half-item"
+                        {...formItemLayout}
+                        label="审核时间"
+                      >
+                        <span>{this.state.auditTimes}</span>
+                      </FormItem>
+                    </div>
+                  </div>
+                )}
               </TabPane>
             </Tabs>
           </Modal>
@@ -1683,7 +1723,7 @@ const checkOutsourcing = Form.create()(
                     loading={this.state.aloading}
                   >
                     确定
-                    </Button>
+                  </Button>
                   <Button
                     className="cancel"
                     type="ghost"
@@ -1691,7 +1731,7 @@ const checkOutsourcing = Form.create()(
                     style={{ marginLeft: "50px" }}
                   >
                     取消
-                    </Button>
+                  </Button>
                 </div>
               </Spin>
             </Form>
@@ -1718,7 +1758,6 @@ const checkOutsourcing = Form.create()(
             </div>
           </Modal>
         </div>
-
       );
     }
   })

+ 2 - 1
js/component/manageCenter/order/orderNew/contractCwjl.js

@@ -618,7 +618,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractCwzj.js

@@ -569,7 +569,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractCwzy.js

@@ -618,7 +618,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractJsjl.js

@@ -566,7 +566,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractJsy.js

@@ -530,7 +530,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractJszj.js

@@ -564,7 +564,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractYxgly.js

@@ -559,7 +559,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 2 - 1
js/component/manageCenter/order/orderNew/contractYxy.js

@@ -581,7 +581,8 @@ const contractChange = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }

+ 195 - 147
js/component/manageCenter/order/orderNew/examine.jsx

@@ -13,7 +13,8 @@ import {
   Tabs,
   Col,
   Popconfirm,
-  Select
+  Select,
+  Tag
 } from "antd";
 import $ from "jquery/src/ajax";
 import moment from "moment";
@@ -31,6 +32,7 @@ import {
 } from "@/tools.js";
 import "./customer.less";
 import ShowModalDiv from "@/showModal.jsx";
+import ResolutionDetail from "@/resolutionDetail";
 import OrderRiZi from "@/orderRiZi.jsx";
 const confirm = Modal.confirm;
 const { Option } = Select;
@@ -122,10 +124,10 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.orderNoSearch, //订单编号
           starTime: this.state.releaseDate[0], //开始时间
           endTime: this.state.releaseDate[1], //结束时间
-          approval: this.state.approvalSearch,//特批状态搜索
+          approval: this.state.approvalSearch, //特批状态搜索
           amountStatus: this.state.amountStatus
         },
-        success: function (data) {
+        success: function(data) {
           ShowModal(this);
           let theArr = [];
           if (data.error.length || data.data.list == "") {
@@ -166,7 +168,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -176,6 +178,7 @@ const IntentionCustomer = Form.create()(
     getInitialState() {
       return {
         page: 1,
+        resVisible: false,
         releaseDate: [],
         selectedRowKeys: [],
         pictureUrl: [],
@@ -190,10 +193,10 @@ const IntentionCustomer = Form.create()(
           defaultPageSize: 10,
           showQuickJumper: true,
           pageSize: 10,
-          onChange: function (page) {
+          onChange: function(page) {
             this.loadData(page);
           }.bind(this),
-          showTotal: function (total) {
+          showTotal: function(total) {
             return "共" + total + "条数据";
           }
         },
@@ -282,7 +285,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -494,7 +517,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -519,10 +542,10 @@ const IntentionCustomer = Form.create()(
               orderRemarks: thisdata.orderRemarks, //订单留言
               orgCodeUrl: thisdata.contractPictureUrl
                 ? splitUrl(
-                  thisdata.contractPictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.contractPictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               salesmanName: thisdata.salesmanName, //营销员名称
               salesmanMobile: thisdata.salesmanMobile, //营销员电话
@@ -538,7 +561,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -555,7 +578,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -579,7 +602,8 @@ const IntentionCustomer = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -588,7 +612,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -608,7 +632,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: this.state.orderNo
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = data.data;
           if (!thisData.length) {
@@ -632,7 +656,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -640,6 +664,19 @@ const IntentionCustomer = Form.create()(
       );
     },
 
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     getOrderLog() {
       this.setState({
         rizhivisible: true
@@ -661,7 +698,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = [];
           if (data.error.length || data.data.list == "") {
@@ -687,7 +724,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -705,7 +742,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -746,7 +783,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -756,8 +793,8 @@ const IntentionCustomer = Form.create()(
     //审核通过
     examOk() {
       if (this.state.remarks == "") {
-        message.warning("请填写备注信息")
-        return
+        message.warning("请填写备注信息");
+        return;
       }
       if (this.state.flag) return;
       this.setState({
@@ -774,7 +811,7 @@ const IntentionCustomer = Form.create()(
           orderStatus: 2,
           reason: this.state.reason
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -793,7 +830,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -817,7 +854,7 @@ const IntentionCustomer = Form.create()(
           orderStatus: 2,
           outsource: 1
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -835,7 +872,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -861,7 +898,7 @@ const IntentionCustomer = Form.create()(
           orderStatus: 3,
           reason: this.state.reason
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -883,7 +920,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -904,7 +941,7 @@ const IntentionCustomer = Form.create()(
       });
       if (this.state.pictureUrl.length) {
         let picArr = [];
-        this.state.pictureUrl.map(function (item) {
+        this.state.pictureUrl.map(function(item) {
           if (
             item.response &&
             item.response.data &&
@@ -928,7 +965,7 @@ const IntentionCustomer = Form.create()(
           data: {
             orderNo: this.state.orderNo
           },
-          success: function (data) {
+          success: function(data) {
             if (data.data) {
               let thisdata = data.data;
               this.setState({
@@ -938,27 +975,27 @@ const IntentionCustomer = Form.create()(
                 remarks: thisdata.remarks,
                 attachmentUrl: thisdata.attachmentUrl
                   ? splitUrl(
-                    thisdata.attachmentUrl,
-                    ",",
-                    globalConfig.avatarHost + "/upload",
-                    url
-                  )
+                      thisdata.attachmentUrl,
+                      ",",
+                      globalConfig.avatarHost + "/upload",
+                      url
+                    )
                   : [],
                 fileUrl: thisdata.attachmentUrl
                   ? splitUrl(
-                    thisdata.attachmentUrl,
-                    ",",
-                    globalConfig.avatarHost + "/upload",
-                    url
-                  )
+                      thisdata.attachmentUrl,
+                      ",",
+                      globalConfig.avatarHost + "/upload",
+                      url
+                    )
                   : [],
                 pictureUrl: thisdata.pictureUrl
                   ? splitUrl(
-                    thisdata.pictureUrl,
-                    ",",
-                    globalConfig.avatarHost + "/upload",
-                    url
-                  )
+                      thisdata.pictureUrl,
+                      ",",
+                      globalConfig.avatarHost + "/upload",
+                      url
+                    )
                   : [], //图片地址
                 amount: thisdata.amount,
                 companyName: thisdata.companyName,
@@ -969,7 +1006,7 @@ const IntentionCustomer = Form.create()(
             }
           }.bind(this)
         }).always(
-          function () {
+          function() {
             this.setState({
               loading: false
             });
@@ -982,7 +1019,7 @@ const IntentionCustomer = Form.create()(
       let theorgCodeUrl = [];
       if (url.length) {
         let picArr = [];
-        url.map(function (item) {
+        url.map(function(item) {
           if (
             item.response &&
             item.response.data &&
@@ -1049,7 +1086,7 @@ const IntentionCustomer = Form.create()(
             : ""
         }
       }).done(
-        function (data) {
+        function(data) {
           this.setState({
             loading: false
           });
@@ -1089,8 +1126,8 @@ const IntentionCustomer = Form.create()(
       this.state.releaseDate[0] = undefined;
       this.state.releaseDate[1] = undefined;
       this.state.approval = undefined;
-      this.state.approvalSearch = undefined
-      this.state.amountStatus = undefined
+      this.state.approvalSearch = undefined;
+      this.state.amountStatus = undefined;
       this.loadData(1);
     },
     outReset() {
@@ -1146,9 +1183,9 @@ const IntentionCustomer = Form.create()(
         okType: "danger",
         cancelText: "取消",
         onOk() {
-          fn()
+          fn();
         },
-        onCancel() { }
+        onCancel() {}
       });
     },
     render() {
@@ -1163,97 +1200,108 @@ const IntentionCustomer = Form.create()(
       const cuiDataList = this.state.contactList || [];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title">
             <span>订单审核</span>
           </div>
-          <Tabs
-          defaultActiveKey="1"
-          onChange={this.callback}
-          className="test">
-             <TabPane tab="搜索" key="1">
-          <div className="user-search">
-            <Input
-              placeholder="客户名称"
-              style={{ width: "150px", marginBottom: "10px",marginLeft:10 }}
-              value={this.state.customerName}
-              onChange={e => {
-                this.setState({ customerName: e.target.value });
-              }}
-            />
-            <Input
-              placeholder="订单编号"
-              style={{ width: "150px" }}
-              value={this.state.orderNoSearch}
-              onChange={e => {
-                this.setState({ orderNoSearch: e.target.value });
-              }}
-            />
-            <Select
-              style={{ width: 120 }}
-              placeholder="特批状态"
-              value={this.state.approvalSearch}
-              onChange={e => {
-                this.setState({
-                  approvalSearch: e
-                });
-              }}
-            >
-              <Option value="0">非特批</Option>
-              <Option value="1">特批</Option>
-            </Select>
-            <Select
-              style={{ width: 120 }}
-              placeholder="签单金额"
-              value={this.state.amountStatus}
-              onChange={e => {
-                this.setState({
-                  amountStatus: e
-                });
-              }}
-            >
-              <Option value="0">10万元以下</Option>
-              <Option value="1">10~20万元</Option>
-              <Option value="2">20~30万元</Option>
-              <Option value="3">30~40万元</Option>
-              <Option value="4">40万元以上</Option>
-            </Select>
-            <span style={{ marginRight: "10px" }}>下单时间 :</span>
-            <RangePicker
-              value={[
-                this.state.releaseDate[0]
-                  ? moment(this.state.releaseDate[0])
-                  : null,
-                this.state.releaseDate[1]
-                  ? moment(this.state.releaseDate[1])
-                  : null
-              ]}
-              onChange={(data, dataString) => {
-                this.setState({ releaseDate: dataString });
-              }}
-            />
-            <Button
-              type="primary"
-              onClick={this.search}
-              style={{ marginLeft: "10px" }}
-            >
-              搜索
-            </Button>
-            <Button onClick={this.reset}>重置</Button>
-            </div>
-          </TabPane>
+          <Tabs defaultActiveKey="1" onChange={this.callback} className="test">
+            <TabPane tab="搜索" key="1">
+              <div className="user-search">
+                <Input
+                  placeholder="客户名称"
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginLeft: 10
+                  }}
+                  value={this.state.customerName}
+                  onChange={e => {
+                    this.setState({ customerName: e.target.value });
+                  }}
+                />
+                <Input
+                  placeholder="订单编号"
+                  style={{ width: "150px" }}
+                  value={this.state.orderNoSearch}
+                  onChange={e => {
+                    this.setState({ orderNoSearch: e.target.value });
+                  }}
+                />
+                <Select
+                  style={{ width: 120 }}
+                  placeholder="特批状态"
+                  value={this.state.approvalSearch}
+                  onChange={e => {
+                    this.setState({
+                      approvalSearch: e
+                    });
+                  }}
+                >
+                  <Option value="0">非特批</Option>
+                  <Option value="1">特批</Option>
+                </Select>
+                <Select
+                  style={{ width: 120 }}
+                  placeholder="签单金额"
+                  value={this.state.amountStatus}
+                  onChange={e => {
+                    this.setState({
+                      amountStatus: e
+                    });
+                  }}
+                >
+                  <Option value="0">10万元以下</Option>
+                  <Option value="1">10~20万元</Option>
+                  <Option value="2">20~30万元</Option>
+                  <Option value="3">30~40万元</Option>
+                  <Option value="4">40万元以上</Option>
+                </Select>
+                <span style={{ marginRight: "10px" }}>下单时间 :</span>
+                <RangePicker
+                  value={[
+                    this.state.releaseDate[0]
+                      ? moment(this.state.releaseDate[0])
+                      : null,
+                    this.state.releaseDate[1]
+                      ? moment(this.state.releaseDate[1])
+                      : null
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({ releaseDate: dataString });
+                  }}
+                />
+                <Button
+                  type="primary"
+                  onClick={this.search}
+                  style={{ marginLeft: "10px" }}
+                >
+                  搜索
+                </Button>
+                <Button onClick={this.reset}>重置</Button>
+              </div>
+            </TabPane>
           </Tabs>
           <div className="patent-table">
-              <Spin spinning={this.state.loading}>
-                <Table
-                  columns={this.state.columns}
-                  dataSource={this.state.dataSource}
-                  pagination={this.state.pagination}
-                  onRowClick={this.tableRowClick}
-                  bordered
-                  size="small"
-                />
-              </Spin>
+            <Spin spinning={this.state.loading}>
+              <Table
+                columns={this.state.columns}
+                dataSource={this.state.dataSource}
+                pagination={this.state.pagination}
+                onRowClick={this.tableRowClick}
+                bordered
+                size="small"
+              />
+            </Spin>
             <Modal
               className="customeDetails"
               footer=""
@@ -1529,8 +1577,8 @@ const IntentionCustomer = Form.create()(
                               添加项目明细
                             </Button>
                           ) : (
-                              ""
-                            )}
+                            ""
+                          )}
                         </div>
                         <div className="patent-table">
                           <Spin spinning={this.state.loading}>
@@ -1574,8 +1622,8 @@ const IntentionCustomer = Form.create()(
                               添加催款节点
                             </Button>
                           ) : (
-                              ""
-                            )}
+                            ""
+                          )}
                         </div>
                         <div className="clearfix">
                           <Spin spinning={this.state.loading}>
@@ -1616,7 +1664,7 @@ const IntentionCustomer = Form.create()(
                               this.setState({
                                 agreeVisible: true,
                                 reason: ""
-                              })
+                              });
                             }}
                             style={{ marginLeft: "200px" }}
                             htmlType="submit"
@@ -1933,12 +1981,12 @@ const IntentionCustomer = Form.create()(
               onOk={e => {
                 this.setState({
                   agreeVisible: false
-                })
+                });
               }}
               onCancel={e => {
                 this.setState({
                   agreeVisible: false
-                })
+                });
               }}
               width="400px"
               title={"同意备注"}
@@ -1988,7 +2036,7 @@ const IntentionCustomer = Form.create()(
                       onClick={e => {
                         this.setState({
                           agreeVisible: false
-                        })
+                        });
                       }}
                       style={{ marginLeft: "50px" }}
                     >

+ 141 - 74
js/component/manageCenter/order/orderNew/inquiry.jsx

@@ -16,9 +16,11 @@ import {
   Cascader,
   Tabs,
   Select,
-  Col
+  Col,
+  Tag
 } from "antd";
 import NewService from "./addService.jsx";
+import ResolutionDetail from "@/resolutionDetail";
 import moment from "moment";
 import "../userMangagement.less";
 import { areaSelect } from "@/NewDicProvinceList";
@@ -138,7 +140,7 @@ const IntentionCustomer = Form.create()(
           amountStatus: this.state.amountStatus,
           approval: this.state.approvalSearch
         },
-        success: function (data) {
+        success: function(data) {
           ShowModal(this);
           let theArr = [];
           if (!data.data) {
@@ -183,7 +185,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -233,15 +235,16 @@ const IntentionCustomer = Form.create()(
         alreadyAmount: 0,
         intentOrder: true,
         formalOrder: true,
+        resVisible: false,
         pagination: {
           defaultCurrent: 1,
           defaultPageSize: 10,
           showQuickJumper: true,
           pageSize: 10,
-          onChange: function (page) {
+          onChange: function(page) {
             this.loadData(page);
           }.bind(this),
-          showTotal: function (total) {
+          showTotal: function(total) {
             return "共" + total + "条数据";
           }
         },
@@ -259,7 +262,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -538,7 +561,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "服务市价",
@@ -668,7 +711,7 @@ const IntentionCustomer = Form.create()(
             title: "财务负责人",
             dataIndex: "financeName",
             key: "financeName"
-          },
+          }
         ],
         columnsDate: [
           {
@@ -712,7 +755,7 @@ const IntentionCustomer = Form.create()(
       let theorgCodeUrl = [];
       if (this.state.orgCodeUrl.length) {
         let picArr = [];
-        this.state.orgCodeUrl.map(function (item) {
+        this.state.orgCodeUrl.map(function(item) {
           if (
             item.response &&
             item.response.data &&
@@ -916,7 +959,7 @@ const IntentionCustomer = Form.create()(
         crossDomain: false,
         url: globalConfig.context + (this.state.flag ? api1 : api),
         data: this.state.flag ? sumData1 : sumData,
-        success: function (data) {
+        success: function(data) {
           if (this.state.status === 3 && typeof data.data === "object") {
             let thisdata = data.data;
             let ProvinceCityArr = [];
@@ -951,16 +994,16 @@ const IntentionCustomer = Form.create()(
               recipientAddress: thisdata.recipientAddress,
               orgCodeUrl: thisdata.voucherUrl
                 ? splitUrl(
-                  thisdata.voucherUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.voucherUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : []
             });
           }
         }.bind(this)
       }).done(
-        function (data) {
+        function(data) {
           this.setState({
             loading: false
           });
@@ -1092,7 +1135,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: this.state.orderNo
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = data.data;
           if (!thisData.length) {
@@ -1116,7 +1159,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1187,10 +1230,10 @@ const IntentionCustomer = Form.create()(
               recipientAddress: thisdata.recipientAddress,
               orgCodeUrl: thisdata.voucherUrl
                 ? splitUrl(
-                  thisdata.voucherUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.voucherUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : []
             });
           }
@@ -1222,7 +1265,7 @@ const IntentionCustomer = Form.create()(
         data: {
           id: record.id
         },
-        success: function (data) {
+        success: function(data) {
           let thisdata = data.data;
           this.setState({
             contractNo: thisdata.contractNo,
@@ -1250,15 +1293,15 @@ const IntentionCustomer = Form.create()(
             recipientAddress: thisdata.recipientAddress,
             orgCodeUrl: thisdata.voucherUrl
               ? splitUrl(
-                thisdata.voucherUrl,
-                ",",
-                globalConfig.avatarHost + "/upload"
-              )
+                  thisdata.voucherUrl,
+                  ",",
+                  globalConfig.avatarHost + "/upload"
+                )
               : []
           });
         }.bind(this)
       }).done(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1287,7 +1330,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: this.state.orderNo2
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let sum = 0;
           if (!data.data) {
@@ -1315,7 +1358,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).done(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1341,6 +1384,19 @@ const IntentionCustomer = Form.create()(
       });
     },
 
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     //结项
     delectRow(record) {
       this.setState({
@@ -1355,7 +1411,7 @@ const IntentionCustomer = Form.create()(
           orderNo: record.orderNo
         }
       }).done(
-        function (data) {
+        function(data) {
           if (!data.error.length) {
             message.success("该项目已成功结项!");
             this.loadData();
@@ -1392,7 +1448,7 @@ const IntentionCustomer = Form.create()(
           confirm: index
         }
       }).done(
-        function (data) {
+        function(data) {
           if (!data.error.length) {
             message.success("操作成功!");
             this.setState({
@@ -1428,7 +1484,7 @@ const IntentionCustomer = Form.create()(
           confirm: index
         }
       }).done(
-        function (data) {
+        function(data) {
           if (!data.error.length) {
             message.success("操作成功!");
             this.setState({
@@ -1517,7 +1573,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -1542,10 +1598,10 @@ const IntentionCustomer = Form.create()(
               orderRemarks: thisdata.orderRemarks, //订单留言
               orgCodeUrl: thisdata.contractPictureUrl
                 ? splitUrl(
-                  thisdata.contractPictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.contractPictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               salesmanName: thisdata.salesmanName, //营销员名称
               salesmanMobile: thisdata.salesmanMobile, //营销员电话
@@ -1561,7 +1617,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1578,7 +1634,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -1602,7 +1658,8 @@ const IntentionCustomer = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -1611,7 +1668,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1628,7 +1685,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = [];
           if (data.error.length || data.data.list == "") {
@@ -1654,7 +1711,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1672,7 +1729,7 @@ const IntentionCustomer = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -1713,7 +1770,7 @@ const IntentionCustomer = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1737,7 +1794,7 @@ const IntentionCustomer = Form.create()(
           operatorType: index
         }
       }).done(
-        function (data) {
+        function(data) {
           if (!data.error.length) {
             message.success("操作成功!");
             this.setState({
@@ -1797,8 +1854,8 @@ const IntentionCustomer = Form.create()(
       (this.state.liquidationStatusSearch = []),
         (this.state.contractNoSearch = "");
       this.state.departmenttList = [];
-      this.state.amountStatus = undefined
-      this.state.approvalSearch = undefined
+      this.state.amountStatus = undefined;
+      this.state.approvalSearch = undefined;
       this.loadData();
     },
     //部门
@@ -1812,7 +1869,7 @@ const IntentionCustomer = Form.create()(
         crossDomain: false,
         url: globalConfig.context + "/api/admin/organization/selectSuperId",
         data: {},
-        success: function (data) {
+        success: function(data) {
           let thedata = data.data;
           let theArr = [];
           if (!thedata) {
@@ -1821,7 +1878,7 @@ const IntentionCustomer = Form.create()(
             }
             thedata = {};
           } else {
-            thedata.map(function (item, index) {
+            thedata.map(function(item, index) {
               theArr.push({
                 key: index,
                 name: item.name,
@@ -1834,7 +1891,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1920,7 +1977,7 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.selectedRowKeys[0],
           pageSize: 9999
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           if (!data.data || !data.data.list) {
             if (data.error && data.error.length) {
@@ -1962,7 +2019,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -1982,7 +2039,7 @@ const IntentionCustomer = Form.create()(
           orderNo: this.state.selectedRowKeys[0],
           pageSize: 9999
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let totalWaibao = 0;
           if (!data.data) {
@@ -2024,7 +2081,8 @@ const IntentionCustomer = Form.create()(
                 certificateNumber: thisdata.certificateNumber,
                 taskComment: thisdata.taskComment,
                 outsourceName: thisdata.outsourceName,
-                outsourcePrice: thisdata.outsourcePrice
+                outsourcePrice: thisdata.outsourcePrice,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -2035,7 +2093,7 @@ const IntentionCustomer = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -2067,6 +2125,16 @@ const IntentionCustomer = Form.create()(
       };
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title">
             <span
@@ -2121,7 +2189,7 @@ const IntentionCustomer = Form.create()(
                       this.setState({ departmenttList: e });
                     }}
                   >
-                    {departmentArr.map(function (item) {
+                    {departmentArr.map(function(item) {
                       return <Option key={item.id}>{item.name}</Option>;
                     })}
                   </Select>
@@ -2204,7 +2272,6 @@ const IntentionCustomer = Form.create()(
                   <Button onClick={this.reset}>
                     重置 <Icon type="reload" />
                   </Button>
-
                 </div>
               </TabPane>
               <TabPane tab="查看" key="3">
@@ -2697,8 +2764,8 @@ const IntentionCustomer = Form.create()(
                         </FormItem>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                     {this.state.post === 0 ? (
                       <div className="clearfix">
                         <FormItem
@@ -2718,8 +2785,8 @@ const IntentionCustomer = Form.create()(
                         </FormItem>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                     {this.state.post === 0 ? (
                       <div className="clearfix">
                         <FormItem
@@ -2742,8 +2809,8 @@ const IntentionCustomer = Form.create()(
                         </FormItem>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                     <FormItem
                       className="half-item"
                       {...formItemLayout}
@@ -3258,8 +3325,8 @@ const IntentionCustomer = Form.create()(
                         </FormItem>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                     {this.state.post === 0 ? (
                       <div className="clearfix">
                         <FormItem
@@ -3279,8 +3346,8 @@ const IntentionCustomer = Form.create()(
                         </FormItem>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                     {this.state.post === 0 ? (
                       <div className="clearfix">
                         <FormItem
@@ -3303,8 +3370,8 @@ const IntentionCustomer = Form.create()(
                         </FormItem>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                     <FormItem
                       className="half-item"
                       {...formItemLayout}
@@ -3437,8 +3504,8 @@ const IntentionCustomer = Form.create()(
                           {this.state.invoiceType === 0
                             ? "增值税专用发票"
                             : this.state.invoiceType === 1
-                              ? "增值税普通发票"
-                              : "其他"}
+                            ? "增值税普通发票"
+                            : "其他"}
                         </span>
                       </FormItem>
                     </div>
@@ -3629,8 +3696,8 @@ const IntentionCustomer = Form.create()(
                         </div>
                       </div>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                   </div>
                   <FormItem
                     className="half-item"

+ 123 - 70
js/component/manageCenter/order/orderNew/outsourcingList.jsx

@@ -13,7 +13,8 @@ import {
   Modal,
   Tabs,
   Col,
-  Popconfirm
+  Popconfirm,
+  Tag
 } from "antd";
 import $ from "jquery/src/ajax";
 import moment from "moment";
@@ -31,6 +32,7 @@ import {
 } from "@/tools.js";
 import "./customer.less";
 import ShowModalDiv from "@/showModal.jsx";
+import ResolutionDetail from "@/resolutionDetail";
 const confirm = Modal.confirm;
 import OrderRiZi from "@/orderRiZi.jsx";
 //图片组件
@@ -181,6 +183,7 @@ const outsourcingList = Form.create()(
         fileUrl: [],
         attachmentUrl: [],
         paginations: false,
+        resVisible: false,
         activeKey: "1",
         confirmLoading: false,
         aloading: false,
@@ -221,7 +224,7 @@ const outsourcingList = Form.create()(
                         record.tid = item.id;
                         record.isSave = true;
                         record.sort = item.sort;
-                        console.log(record);
+                        // console.log(record);
 
                         cuiJieDian.forEach(item => {
                           if (item.value == record.sort) {
@@ -238,7 +241,7 @@ const outsourcingList = Form.create()(
                         });
                       }
                     });
-                    console.log(e);
+                    // console.log(e);
                   }}
                 >
                   {dataArr.map(item => {
@@ -257,7 +260,7 @@ const outsourcingList = Form.create()(
             dataIndex: "projectType",
             key: "projectType",
             render: (text, record) => {
-              console.log("看分类", record);
+              // console.log("看分类", record);
 
               if (text) {
                 let arr = this.state.dataSourceX || [];
@@ -302,7 +305,7 @@ const outsourcingList = Form.create()(
               }
               if (this.state.getLoad) {
                 let arr = record.arr || [];
-                console.log("arrrr", arr);
+                // console.log("arrrr", arr);
 
                 return (
                   <Select
@@ -310,7 +313,7 @@ const outsourcingList = Form.create()(
                     placeholder="请选择分类"
                     onChange={e => {
                       record.dunType = e;
-                      console.log(e);
+                      // console.log(e);
                     }}
                   >
                     {arr.map(item => {
@@ -349,9 +352,9 @@ const outsourcingList = Form.create()(
                   style={{ width: "150px" }}
                   disabled={this.state.approval == 0 ? true : false}
                   onChange={e => {
-                    console.log("ee", e);
+                    // console.log("ee", e);
                     record.waitDay = e;
-                    console.log("time", record);
+                    // console.log("time", record);
                   }}
                 >
                   <Select.Option key={3}>3天</Select.Option>
@@ -417,9 +420,9 @@ const outsourcingList = Form.create()(
                   style={{ width: "150px" }}
                   disabled={this.state.yearFlag ? true : false}
                   onChange={e => {
-                    console.log("ee", e);
+                    // console.log("ee", e);
                     record.effectiveCount = e;
-                    console.log("year", record);
+                    // console.log("year", record);
                   }}
                 >
                   {/* <Select.Option key={null}>无</Select.Option> */}
@@ -566,7 +569,27 @@ const outsourcingList = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -781,7 +804,8 @@ const outsourcingList = Form.create()(
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
                 projectStatus: thisdata.projectStatus, //项目状态
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -798,6 +822,19 @@ const outsourcingList = Form.create()(
       );
     },
 
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     rizhi() {
       this.setState({
         loading: true
@@ -1326,70 +1363,86 @@ const outsourcingList = Form.create()(
       const cuiDataList = this.state.contactList || [];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title">
             <span>外包订单列表</span>
           </div>
           <div className="user-search">
-          <Tabs
-          defaultActiveKey="1"
-          onChange={this.callback}
-          className="test">
-             <TabPane tab="搜索" key="1">
-            <Input
-              placeholder="客户名称"
-              style={{ width: "150px", marginBottom: "10px",marginLeft:10,marginRight:10 }}
-              value={this.state.nameSearch}
-              onChange={e => {
-                this.setState({ nameSearch: e.target.value });
-              }}
-            />
-            <Input
-              placeholder="合同编号"
-              style={{ width: "150px" }}
-              value={this.state.contractNoSearch}
-              onChange={e => {
-                this.setState({ contractNoSearch: e.target.value });
-              }}
-            />
-            <span style={{ marginRight: "10px" }}>下单时间 :</span>
-            <RangePicker
-              value={[
-                this.state.releaseDate[0]
-                  ? moment(this.state.releaseDate[0])
-                  : null,
-                this.state.releaseDate[1]
-                  ? moment(this.state.releaseDate[1])
-                  : null
-              ]}
-              onChange={(data, dataString) => {
-                this.setState({ releaseDate: dataString });
-              }}
-            />
-
-            <Select
-              value={this.state.refundStatusSearch}
-              style={{ width: 150, marginLeft: "10px" }}
-              onChange={e => {
-                this.setState({
-                  refundStatusSearch: e
-                });
-              }}
-              placeholder="审核状态"
-            >
-              <Option value={0}>待审核</Option>
-              <Option value={1}>审核通过</Option>
-              <Option value={2}>审核驳回</Option>
-            </Select>
-            <Button
-              type="primary"
-              onClick={this.search}
-              style={{ marginLeft: "10px" ,marginRight:10}}
+            <Tabs
+              defaultActiveKey="1"
+              onChange={this.callback}
+              className="test"
             >
-              搜索
-            </Button>
-            <Button onClick={this.reset}>重置</Button>
-            </TabPane>
+              <TabPane tab="搜索" key="1">
+                <Input
+                  placeholder="客户名称"
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginLeft: 10,
+                    marginRight: 10
+                  }}
+                  value={this.state.nameSearch}
+                  onChange={e => {
+                    this.setState({ nameSearch: e.target.value });
+                  }}
+                />
+                <Input
+                  placeholder="合同编号"
+                  style={{ width: "150px" }}
+                  value={this.state.contractNoSearch}
+                  onChange={e => {
+                    this.setState({ contractNoSearch: e.target.value });
+                  }}
+                />
+                <span style={{ marginRight: "10px" }}>下单时间 :</span>
+                <RangePicker
+                  value={[
+                    this.state.releaseDate[0]
+                      ? moment(this.state.releaseDate[0])
+                      : null,
+                    this.state.releaseDate[1]
+                      ? moment(this.state.releaseDate[1])
+                      : null
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({ releaseDate: dataString });
+                  }}
+                />
+
+                <Select
+                  value={this.state.refundStatusSearch}
+                  style={{ width: 150, marginLeft: "10px" }}
+                  onChange={e => {
+                    this.setState({
+                      refundStatusSearch: e
+                    });
+                  }}
+                  placeholder="审核状态"
+                >
+                  <Option value={0}>待审核</Option>
+                  <Option value={1}>审核通过</Option>
+                  <Option value={2}>审核驳回</Option>
+                </Select>
+                <Button
+                  type="primary"
+                  onClick={this.search}
+                  style={{ marginLeft: "10px", marginRight: 10 }}
+                >
+                  搜索
+                </Button>
+                <Button onClick={this.reset}>重置</Button>
+              </TabPane>
             </Tabs>
             <div className="patent-table">
               <Spin spinning={this.state.loading}>

+ 170 - 112
js/component/manageCenter/order/orderNew/outsourcingPro.jsx

@@ -32,6 +32,7 @@ import {
 } from "@/tools.js";
 import "./customer.less";
 import ShowModalDiv from "@/showModal.jsx";
+import ResolutionDetail from "@/resolutionDetail";
 const confirm = Modal.confirm;
 import OrderRiZi from "@/orderRiZi.jsx";
 //图片组件
@@ -114,8 +115,7 @@ const outsourcingPro = Form.create()(
         dataType: "json",
         crossDomain: false,
         url:
-          globalConfig.context +
-          "/api/admin/outsourceOrg/orderOutsourceList",
+          globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceList",
         data: {
           pageNo: pageNo || 1,
           pageSize: this.state.pagination.pageSize,
@@ -127,7 +127,7 @@ const outsourcingPro = Form.create()(
           refundStatus: this.state.refundStatusSearch, //外包审核状态
           type: 1
         },
-        success: function (data) {
+        success: function(data) {
           ShowModal(this);
           let theArr = [];
           if (data.error.length || data.data.list == "") {
@@ -152,7 +152,7 @@ const outsourcingPro = Form.create()(
                 liquidationStatus: thisdata.liquidationStatus, //下单时间
                 refundStatus: thisdata.refundStatus,
                 pname: thisdata.pname,
-                cname: thisdata.cname,
+                cname: thisdata.cname
               });
             }
             this.state.pagination.total = data.data.totalCount;
@@ -169,7 +169,7 @@ const outsourcingPro = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -195,10 +195,10 @@ const outsourcingPro = Form.create()(
           defaultPageSize: 10,
           showQuickJumper: true,
           pageSize: 10,
-          onChange: function (page) {
+          onChange: function(page) {
             this.loadData(page);
           }.bind(this),
-          showTotal: function (total) {
+          showTotal: function(total) {
             return "共" + total + "条数据";
           }
         },
@@ -254,20 +254,14 @@ const outsourcingPro = Form.create()(
             key: "refundStatus",
             render: text => {
               if (text == 0) {
-                return (
-                  <Tag color="#f50">待审核</Tag>
-                )
+                return <Tag color="#f50">待审核</Tag>;
               } else if (text == 1) {
-                return (
-                  <Tag color="#87d068">审核通过</Tag>
-                )
+                return <Tag color="#87d068">审核通过</Tag>;
               } else if (text == 2) {
-                return (
-                  <Tag color="#2db7f5">审核驳回</Tag>
-                )
+                return <Tag color="#2db7f5">审核驳回</Tag>;
               }
             }
-          },
+          }
           // {
           //   title: "操作",
           //   dataIndex: "caozuo",
@@ -312,8 +306,29 @@ const outsourcingPro = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
+
           {
             title: "金额(万元)",
             dataIndex: "commodityPrice",
@@ -354,6 +369,7 @@ const outsourcingPro = Form.create()(
             }
           }
         ],
+        resVisible: false,
         columnsrizhi: [
           {
             title: "流程",
@@ -488,7 +504,7 @@ const outsourcingPro = Form.create()(
         visible: false,
         remarks: undefined,
         activeKey: "1"
-      })
+      });
     },
     nextCancel() {
       this.setState({
@@ -505,7 +521,7 @@ const outsourcingPro = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -530,10 +546,10 @@ const outsourcingPro = Form.create()(
               orderRemarks: thisdata.orderRemarks, //订单留言
               orgCodeUrl: thisdata.contractPictureUrl
                 ? splitUrl(
-                  thisdata.contractPictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.contractPictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               salesmanName: thisdata.salesmanName, //营销员名称
               salesmanMobile: thisdata.salesmanMobile, //营销员电话
@@ -549,7 +565,7 @@ const outsourcingPro = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -566,7 +582,7 @@ const outsourcingPro = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -589,7 +605,8 @@ const outsourcingPro = Form.create()(
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
-                projectStatus: thisdata.projectStatus //项目状态
+                projectStatus: thisdata.projectStatus, //项目状态
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -598,7 +615,7 @@ const outsourcingPro = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -606,6 +623,19 @@ const outsourcingPro = Form.create()(
       );
     },
 
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     rizhi() {
       this.setState({
         loading: true
@@ -618,7 +648,7 @@ const outsourcingPro = Form.create()(
         data: {
           orderNo: this.state.orderNo
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = data.data;
           if (!thisData.length) {
@@ -642,7 +672,7 @@ const outsourcingPro = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -671,7 +701,7 @@ const outsourcingPro = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = [];
           if (data.error.length || data.data.list == "") {
@@ -697,7 +727,7 @@ const outsourcingPro = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -714,7 +744,7 @@ const outsourcingPro = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error && data.error.length) {
             message.warning(data.error[0].message);
           } else {
@@ -755,7 +785,7 @@ const outsourcingPro = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -763,14 +793,17 @@ const outsourcingPro = Form.create()(
       );
     },
     tableRowClick(record) {
-      this.setState({
-        visible: true,
-        loading: true,
-        refundStatus: record.refundStatus,
-        tid: record.tid
-      }, () => {
-        console.log(this.state.tid);
-      })
+      this.setState(
+        {
+          visible: true,
+          loading: true,
+          refundStatus: record.refundStatus,
+          tid: record.tid
+        },
+        () => {
+          console.log(this.state.tid);
+        }
+      );
       this.xiangqing(record.orderNo);
       this.xiangmu(record.orderNo);
       this.jiedian(record.orderNo);
@@ -780,12 +813,13 @@ const outsourcingPro = Form.create()(
         method: "get",
         dataType: "json",
         crossDomain: false,
-        url: globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails",
+        url:
+          globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails",
         data: {
           orderNo: record.orderNo,
           tid: record.tid
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -800,10 +834,10 @@ const outsourcingPro = Form.create()(
               remarks: thisdata.remarks,
               pictureUrl: thisdata.pictureUrl
                 ? splitUrl(
-                  thisdata.pictureUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.pictureUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               amount: thisdata.amount,
               refundStatus: thisdata.refundStatus,
@@ -815,7 +849,7 @@ const outsourcingPro = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -829,12 +863,12 @@ const outsourcingPro = Form.create()(
     //审核
     examOk() {
       if (this.state.remarks == "" || this.state.remarks == undefined) {
-        message.warning("请填写备注信息!")
-        return
+        message.warning("请填写备注信息!");
+        return;
       }
       this.setState({
         loading: true
-      })
+      });
       $.ajax({
         method: "post",
         dataType: "json",
@@ -846,9 +880,9 @@ const outsourcingPro = Form.create()(
           tid: this.state.tid,
           remarks: this.state.remarks,
           refundStatus: 1,
-          type: 1,
+          type: 1
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -859,11 +893,11 @@ const outsourcingPro = Form.create()(
               visible: false
             });
             this.cancel();
-            this.loadData()
+            this.loadData();
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -872,12 +906,12 @@ const outsourcingPro = Form.create()(
     },
     examNo() {
       if (this.state.remarks == "" || this.state.remarks == undefined) {
-        message.warning("请填写备注信息!")
-        return
+        message.warning("请填写备注信息!");
+        return;
       }
       this.setState({
         loading: true
-      })
+      });
       $.ajax({
         method: "post",
         dataType: "json",
@@ -889,9 +923,9 @@ const outsourcingPro = Form.create()(
           tid: this.state.tid,
           remarks: this.state.remarks,
           refundStatus: 2,
-          type: 1,
+          type: 1
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -902,11 +936,11 @@ const outsourcingPro = Form.create()(
               visible: false
             });
             this.cancel();
-            this.loadData()
+            this.loadData();
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -929,7 +963,7 @@ const outsourcingPro = Form.create()(
           orderStatus: 2,
           outsource: 1
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -944,7 +978,7 @@ const outsourcingPro = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -956,7 +990,7 @@ const outsourcingPro = Form.create()(
       let theorgCodeUrl = [];
       if (url.length) {
         let picArr = [];
-        url.map(function (item) {
+        url.map(function(item) {
           if (
             item.response &&
             item.response.data &&
@@ -994,7 +1028,7 @@ const outsourcingPro = Form.create()(
     callback(e) {
       this.setState({
         activeKey: e
-      })
+      });
     },
 
     render() {
@@ -1009,6 +1043,16 @@ const outsourcingPro = Form.create()(
       const cuiDataList = this.state.contactList || [];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title" style={{ marginBottom: 10 }}>
             <span style={{ fontWeight: 900, fontSize: 16 }}>外包项目列表</span>
@@ -1017,11 +1061,17 @@ const outsourcingPro = Form.create()(
             <Tabs
               defaultActiveKey="1"
               onChange={this.callback}
-              className="test">
+              className="test"
+            >
               <TabPane tab="搜索" key="1">
                 <Input
                   placeholder="客户名称"
-                  style={{ width: "150px", marginBottom: "10px", marginLeft: 10, marginRight: 10 }}
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginLeft: 10,
+                    marginRight: 10
+                  }}
                   value={this.state.nameSearch}
                   onChange={e => {
                     this.setState({ nameSearch: e.target.value });
@@ -1070,7 +1120,7 @@ const outsourcingPro = Form.create()(
                   style={{ marginLeft: "10px", marginRight: 10 }}
                 >
                   搜索
-            </Button>
+                </Button>
                 <Button onClick={this.reset}>重置</Button>
               </TabPane>
             </Tabs>
@@ -1361,8 +1411,8 @@ const outsourcingPro = Form.create()(
                               添加项目明细
                             </Button>
                           ) : (
-                              ""
-                            )}
+                            ""
+                          )}
                         </div>
                         <div className="patent-table">
                           <Spin spinning={this.state.loading}>
@@ -1382,7 +1432,9 @@ const outsourcingPro = Form.create()(
                           </span>
                           <span
                             style={{
-                              display: cuiDataList.length ? "none" : "inline-block",
+                              display: cuiDataList.length
+                                ? "none"
+                                : "inline-block",
                               marginLeft: 10,
                               color: "red"
                             }}
@@ -1510,8 +1562,8 @@ const outsourcingPro = Form.create()(
                             label={
                               <span>
                                 <strong style={{ color: "#f00" }}>*</strong>
-                            审核意见
-                            </span>
+                                审核意见
+                              </span>
                             }
                           >
                             <Input
@@ -1534,7 +1586,7 @@ const outsourcingPro = Form.create()(
                               }}
                             >
                               通过或驳回都必须填写审核意见!
-                          </span>
+                            </span>
                           </FormItem>
                         </div>
                         <div className="clearfix fa">
@@ -1542,51 +1594,57 @@ const outsourcingPro = Form.create()(
                             type="danger"
                             onClick={this.examNo}
                             loading={this.state.loading}
-                            style={{ color: "#fff", backgroundColor: "#f04134" }}
+                            style={{
+                              color: "#fff",
+                              backgroundColor: "#f04134"
+                            }}
                           >
                             驳回
-                        </Button>
-                          <Button type="primary" loading={this.state.loading} onClick={this.examOk}>
+                          </Button>
+                          <Button
+                            type="primary"
+                            loading={this.state.loading}
+                            onClick={this.examOk}
+                          >
                             通过
-                        </Button>
+                          </Button>
                         </div>
                       </div>
                     ) : (
+                      <div className="clearfix">
+                        <hr className="division" />
                         <div className="clearfix">
-                          <hr className="division" />
-                          <div className="clearfix">
-                            <FormItem
-                              className="half-item"
-                              {...formItemLayout}
-                              label="审核意见"
-                            >
-                              <span>{this.state.remarks}</span>
-                            </FormItem>
-                          </div>
-                          <div className="clearfix">
-                            <FormItem
-                              className="half-item"
-                              {...formItemLayout}
-                              label="审核结果"
-                            >
-                              <span>
-                                {getRefundStatus(this.state.refundStatus)}
-                              </span>
-                            </FormItem>
-                          </div>
-                          <div className="clearfix">
-                            <FormItem
-                              className="half-item"
-                              {...formItemLayout}
-                              label="审核时间"
-                            >
-                              <span>{this.state.auditTimes}</span>
-                            </FormItem>
-                          </div>
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label="审核意见"
+                          >
+                            <span>{this.state.remarks}</span>
+                          </FormItem>
                         </div>
-                      )}
+                        <div className="clearfix">
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label="审核结果"
+                          >
+                            <span>
+                              {getRefundStatus(this.state.refundStatus)}
+                            </span>
+                          </FormItem>
+                        </div>
+                        <div className="clearfix">
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label="审核时间"
+                          >
+                            <span>{this.state.auditTimes}</span>
+                          </FormItem>
+                        </div>
+                      </div>
+                    )}
                   </Spin>
-
                 </TabPane>
               </Tabs>
             </Modal>

+ 101 - 47
js/component/manageCenter/order/orderNew/reject.jsx

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Icon, Button, AutoComplete,Input, Select, Spin, Popconfirm, Table, message,DatePicker, Upload, Form ,Modal,Col, Tabs} from 'antd';
+import { Icon, Button, AutoComplete,Input, Select, Spin, Popconfirm, Table, message,DatePicker, Upload, Form ,Modal,Col,Tag, Tabs} from 'antd';
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import {boutique ,tepi,jiedian} from '@/dataDic.js';
@@ -15,6 +15,7 @@ import './customer.less';
 import ShowModalDiv from "@/showModal.jsx"
 import OrderRiZi from "@/orderRiZi.jsx";
 import { cuiJieDian } from "@/dataDic.js";
+import ResolutionDetail from "@/resolutionDetail";
 //图片组件
 const PicturesWall = React.createClass({
 	getInitialState() {
@@ -158,6 +159,7 @@ const IntentionCustomer = Form.create()(
         selectedRowKeys: [],
         orgCodeUrl: [],
         customerArr: [],
+        resVisible: false,
         pagination: {
           defaultCurrent: 1,
           defaultPageSize: 10,
@@ -248,7 +250,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -906,6 +928,20 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
+
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     //项目列表
     xiangmu(orderNos) {
       $.ajax({
@@ -939,7 +975,8 @@ const IntentionCustomer = Form.create()(
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
-                sort: thisdata.cSort
+                sort: thisdata.cSort,
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -1840,58 +1877,75 @@ const IntentionCustomer = Form.create()(
               {group.bname}
             </Select.Option>
           ));
-          const {TabPane} = Tabs
+      const { TabPane } = Tabs;
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title">
             <span>订单审核</span>
           </div>
           <div className="user-search">
-          <Tabs
-          defaultActiveKey="1"
-          onChange={this.callback}
-          className="test">
-            <TabPane tab="搜索" key="1">
-            <Input
-              placeholder="客户名称"
-              style={{ width: "150px", marginBottom: "10px",marginTop: 10,marginLeft: 10,marginRight: 10 }}
-              value={this.state.customerName}
-              onChange={e => {
-                this.setState({ customerName: e.target.value });
-              }}
-            />
-            <Input
-              placeholder="订单编号"
-              style={{ width: "150px",marginRight: 10 }}
-              value={this.state.orderNoSearch}
-              onChange={e => {
-                this.setState({ orderNoSearch: e.target.value });
-              }}
-            />
-            <span style={{ marginRight: "10px" }}>下单时间 :</span>
-            <RangePicker
-              value={[
-                this.state.releaseDate[0]
-                  ? moment(this.state.releaseDate[0])
-                  : null,
-                this.state.releaseDate[1]
-                  ? moment(this.state.releaseDate[1])
-                  : null
-              ]}
-              onChange={(data, dataString) => {
-                this.setState({ releaseDate: dataString });
-              }}
-            />
-            <Button
-              type="primary"
-              onClick={this.search}
-              style={{ marginLeft: "10px" ,marginRight:10}}
+            <Tabs
+              defaultActiveKey="1"
+              onChange={this.callback}
+              className="test"
             >
-              搜索
-            </Button>
-            <Button onClick={this.resets}>重置</Button>
-            </TabPane>
+              <TabPane tab="搜索" key="1">
+                <Input
+                  placeholder="客户名称"
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginTop: 10,
+                    marginLeft: 10,
+                    marginRight: 10
+                  }}
+                  value={this.state.customerName}
+                  onChange={e => {
+                    this.setState({ customerName: e.target.value });
+                  }}
+                />
+                <Input
+                  placeholder="订单编号"
+                  style={{ width: "150px", marginRight: 10 }}
+                  value={this.state.orderNoSearch}
+                  onChange={e => {
+                    this.setState({ orderNoSearch: e.target.value });
+                  }}
+                />
+                <span style={{ marginRight: "10px" }}>下单时间 :</span>
+                <RangePicker
+                  value={[
+                    this.state.releaseDate[0]
+                      ? moment(this.state.releaseDate[0])
+                      : null,
+                    this.state.releaseDate[1]
+                      ? moment(this.state.releaseDate[1])
+                      : null
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({ releaseDate: dataString });
+                  }}
+                />
+                <Button
+                  type="primary"
+                  onClick={this.search}
+                  style={{ marginLeft: "10px", marginRight: 10 }}
+                >
+                  搜索
+                </Button>
+                <Button onClick={this.resets}>重置</Button>
+              </TabPane>
             </Tabs>
             <div className="patent-table">
               <Spin spinning={this.state.loading}>

+ 140 - 95
js/component/manageCenter/project/project/projectAssignment.jsx

@@ -4,6 +4,7 @@ import moment from "moment";
 import "../../order/userMangagement.less";
 import { boutique } from "../../../dataDic.js";
 import "@/manageCenter/financialManage/distribute/public.less";
+import ResolutionDetail from "@/resolutionDetail";
 import {
   Button,
   Form,
@@ -115,6 +116,7 @@ const PaiDan = React.createClass({
       departmentArr: [],
       boHuivisible: false,
       selectedRowKeys: [],
+      resVisible: false,
       selectedRows: [],
       loading: false,
       paginations: false,
@@ -135,16 +137,16 @@ const PaiDan = React.createClass({
           title: "订单编号",
           dataIndex: "orderNo",
           key: "orderNo",
-          render: (text ,record) => {
-            if(record.ischange == 1) {
-              return(
-                  <span>
-                    <Tag color="#f50">变更</Tag>
-                    {text}
-                  </span>
-              )
-            }else {
-            return <span>{text}</span>;
+          render: (text, record) => {
+            if (record.ischange == 1) {
+              return (
+                <span>
+                  <Tag color="#f50">变更</Tag>
+                  {text}
+                </span>
+              );
+            } else {
+              return <span>{text}</span>;
             }
           }
         },
@@ -267,7 +269,27 @@ const PaiDan = React.createClass({
         {
           title: "项目数量",
           dataIndex: "commodityQuantity",
-          key: "commodityQuantity"
+          key: "commodityQuantity",
+          render: (text, record) => {
+            if (record.splitStatus == 1) {
+              return (
+                <span>
+                  {text}{" "}
+                  <Tag
+                    color="#108ee9"
+                    onClick={e => {
+                      e.stopPropagation();
+                      this.showRes(record);
+                    }}
+                  >
+                    已拆
+                  </Tag>
+                </span>
+              );
+            } else {
+              return text;
+            }
+          }
         },
         {
           title: "金额(万元)",
@@ -351,10 +373,10 @@ const PaiDan = React.createClass({
   },
   //审核不通过
   examOks() {
-    if(this.state.flag) return
+    if (this.state.flag) return;
     this.setState({
       flag: true
-    })
+    });
     $.ajax({
       method: "post",
       dataType: "json",
@@ -370,7 +392,7 @@ const PaiDan = React.createClass({
             message.warning(data.error[0].message);
             this.setState({
               flag: false
-            })
+            });
           }
         } else {
           message.success("该订单已被驳回~");
@@ -405,8 +427,22 @@ const PaiDan = React.createClass({
       reason: ""
     });
   },
+
+  // 拆分详细
+  showRes(record) {
+    this.setState({
+      resVisible: true,
+      resRecord: record
+    });
+  },
+  resCancel() {
+    this.setState({
+      resVisible: false
+    });
+  },
+
   //订单详情
- 
+
   xiangqing(orderNos) {
     $.ajax({
       method: "get",
@@ -454,7 +490,7 @@ const PaiDan = React.createClass({
             oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
             oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
             nowFinance: thisdata.nowFinance, //财务名称
-            nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
+            nowFinanceMobile: thisdata.nowFinanceMobile //财务电话
           });
         }
       }.bind(this)
@@ -499,7 +535,8 @@ const PaiDan = React.createClass({
               taskComment: thisdata.taskComment, //任务说明
               contacts: thisdata.contacts, //联系人
               contactsMobile: thisdata.contactsMobile, //联系人电话
-              taskStatus: thisdata.taskStatus //是否分配
+              taskStatus: thisdata.taskStatus, //是否分配
+              splitStatus: thisdata.splitStatus
             });
           }
         }
@@ -829,7 +866,6 @@ const PaiDan = React.createClass({
     this.state.departmenttSearch = undefined;
     this.state.distribution = undefined;
     this.loadData(this.state.page);
-    
   },
   nextCancel() {
     this.setState({
@@ -941,87 +977,96 @@ const PaiDan = React.createClass({
     let departmentArr = this.state.departmentArr || [];
     return (
       <div className="user-content">
+        {this.state.resVisible ? (
+          <ResolutionDetail
+            cancel={this.resCancel}
+            detail={this.state.resRecord}
+            visible={this.state.resVisible}
+            id={this.state.resRecord.orderNo}
+          />
+        ) : (
+          ""
+        )}
         <ShowModalDiv ShowModal={this.state.showModal} />
         <div className="content-title">
           <span>项目派单管理</span>
         </div>
-        <Tabs
-          defaultActiveKey="1"
-          onChange={this.callback}
-          className="test">
-             <TabPane tab="搜索" key="1">
-        <div className="user-search">
-          <Input
-            placeholder="客户名称"
-            value={this.state.customerName}
-            style={{marginLeft:10}}
-            onChange={e => {
-              this.setState({ customerName: e.target.value });
-            }}
-          />
-          <Input
-            placeholder="订单编号"
-            value={this.state.orderNoSearch}
-            onChange={e => {
-              this.setState({ orderNoSearch: e.target.value });
-            }}
-          />
-          <Select
-            placeholder="选择部门"
-            style={{ width: 150, marginRight: "10px" }}
-            value={this.state.departmenttSearch}
-            onChange={e => {
-              this.setState({ departmenttSearch: e });
-            }}
-          >
-            {departmentArr.map(function(item) {
-              return <Select.Option key={item.id}>{item.name}</Select.Option>;
-            })}
-          </Select>
-          <Select
-            onChange={e => {
-              this.setState({ distribution: e });
-            }}
-            style={{ width: 160, marginRight: 5 }}
-            placeholder="分派状态"
-            value={this.state.distribution}
-          >
-            <Option value="0">未分配</Option>
-            <Option value="1">部分分配</Option>
-            <Option value="2">全部分配</Option>
-          </Select>
-          <Button type="primary" onClick={this.search}>
-            搜索
-          </Button>
-          <Button onClick={this.reset}>重置</Button>
-          <span>
-            更多搜索
-            <Switch
-              defaultChecked={false}
-              onChange={this.searchSwitch.bind(this)}
-            />
-          </span>
-          <div
-            className="search-more"
-            style={this.state.searchMore ? { display: "none" } : {}}
-          >
-            <span>订单时间 :</span>
-            <RangePicker
-              value={[
-                this.state.releaseDate[0]
-                  ? moment(this.state.releaseDate[0])
-                  : null,
-                this.state.releaseDate[1]
-                  ? moment(this.state.releaseDate[1])
-                  : null
-              ]}
-              onChange={(data, dataString) => {
-                this.setState({ releaseDate: dataString });
-              }}
-            />
-          </div>
-        </div>
-        </TabPane>
+        <Tabs defaultActiveKey="1" onChange={this.callback} className="test">
+          <TabPane tab="搜索" key="1">
+            <div className="user-search">
+              <Input
+                placeholder="客户名称"
+                value={this.state.customerName}
+                style={{ marginLeft: 10 }}
+                onChange={e => {
+                  this.setState({ customerName: e.target.value });
+                }}
+              />
+              <Input
+                placeholder="订单编号"
+                value={this.state.orderNoSearch}
+                onChange={e => {
+                  this.setState({ orderNoSearch: e.target.value });
+                }}
+              />
+              <Select
+                placeholder="选择部门"
+                style={{ width: 150, marginRight: "10px" }}
+                value={this.state.departmenttSearch}
+                onChange={e => {
+                  this.setState({ departmenttSearch: e });
+                }}
+              >
+                {departmentArr.map(function(item) {
+                  return (
+                    <Select.Option key={item.id}>{item.name}</Select.Option>
+                  );
+                })}
+              </Select>
+              <Select
+                onChange={e => {
+                  this.setState({ distribution: e });
+                }}
+                style={{ width: 160, marginRight: 5 }}
+                placeholder="分派状态"
+                value={this.state.distribution}
+              >
+                <Option value="0">未分配</Option>
+                <Option value="1">部分分配</Option>
+                <Option value="2">全部分配</Option>
+              </Select>
+              <Button type="primary" onClick={this.search}>
+                搜索
+              </Button>
+              <Button onClick={this.reset}>重置</Button>
+              <span>
+                更多搜索
+                <Switch
+                  defaultChecked={false}
+                  onChange={this.searchSwitch.bind(this)}
+                />
+              </span>
+              <div
+                className="search-more"
+                style={this.state.searchMore ? { display: "none" } : {}}
+              >
+                <span>订单时间 :</span>
+                <RangePicker
+                  value={[
+                    this.state.releaseDate[0]
+                      ? moment(this.state.releaseDate[0])
+                      : null,
+                    this.state.releaseDate[1]
+                      ? moment(this.state.releaseDate[1])
+                      : null
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({ releaseDate: dataString });
+                  }}
+                />
+              </div>
+            </div>
+          </TabPane>
         </Tabs>
         <div className="patent-table">
           <Spin spinning={this.state.loading}>

File diff suppressed because it is too large
+ 929 - 868
js/component/manageCenter/project/project/projectQuery.jsx


File diff suppressed because it is too large
+ 1675 - 1597
js/component/manageCenter/project/project/zxsglyOutSourcingPaiDan.jsx


File diff suppressed because it is too large
+ 325 - 237
js/component/manageCenter/project/task/myTask.jsx


+ 148 - 67
js/component/manageCenter/project/task/myTaskCount.jsx

@@ -10,10 +10,12 @@ import {
   Form,
   Modal,
   Select,
-  Tabs
+  Tabs,
+  Tag
 } from "antd";
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
+import ResolutionDetail from "@/resolutionDetail";
 import {
   getLiquidationStatus,
   getProcessStatus,
@@ -38,7 +40,7 @@ const MyTaskCount = Form.create()(
         crossDomain: false,
         url: globalConfig.context + "/api/admin/organization/selectSuperId",
         data: {},
-        success: function (data) {
+        success: function(data) {
           let thedata = data.data;
           let theArr = [];
           if (!thedata) {
@@ -46,7 +48,7 @@ const MyTaskCount = Form.create()(
               message.warning(data.error[0].message);
             }
           } else {
-            thedata.map(function (item, index) {
+            thedata.map(function(item, index) {
               theArr.push({
                 key: index,
                 name: item.name,
@@ -59,7 +61,7 @@ const MyTaskCount = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -74,9 +76,10 @@ const MyTaskCount = Form.create()(
         modalVisible: false
       });
       let nameText = this.state.SuperArr;
-      let superText = this.state.cid && typeof (this.state.cid) != "object"
-        ? nameText[parseInt(this.state.cid)].id
-        : "";
+      let superText =
+        this.state.cid && typeof this.state.cid != "object"
+          ? nameText[parseInt(this.state.cid)].id
+          : "";
       if (superText) {
         $.ajax({
           method: "get",
@@ -96,7 +99,7 @@ const MyTaskCount = Form.create()(
             depId: this.state.departmenttList, //部门ID
             outsource: this.state.outsourceSearch
           },
-          success: function (data) {
+          success: function(data) {
             let theArr = [];
             if (data.error.length || data.data.list == "") {
               if (data.error && data.error.length) {
@@ -125,7 +128,7 @@ const MyTaskCount = Form.create()(
                   salesmanName: thisdata.salesmanName, //订单负责人
                   taskDistributionTime: thisdata.taskDistributionTime,
                   taskEndTime: thisdata.taskEndTime,
-                  outsource: thisdata.outsource,
+                  outsource: thisdata.outsource
                 });
               }
               this.state.pagination.total = data.data.totalCount;
@@ -141,7 +144,7 @@ const MyTaskCount = Form.create()(
             });
           }.bind(this)
         }).always(
-          function () {
+          function() {
             this.setState({
               loading: false
             });
@@ -165,7 +168,7 @@ const MyTaskCount = Form.create()(
             depId: this.state.departmenttList, //部门ID
             outsource: this.state.outsourceSearch
           },
-          success: function (data) {
+          success: function(data) {
             let theArr = [];
             if (data.error.length || data.data.list == "") {
               if (data.error && data.error.length) {
@@ -210,7 +213,7 @@ const MyTaskCount = Form.create()(
             });
           }.bind(this)
         }).always(
-          function () {
+          function() {
             this.setState({
               loading: false
             });
@@ -231,10 +234,10 @@ const MyTaskCount = Form.create()(
           defaultPageSize: 10,
           showQuickJumper: true,
           pageSize: 10,
-          onChange: function (page) {
+          onChange: function(page) {
             this.loadData(page);
           }.bind(this),
-          showTotal: function (total) {
+          showTotal: function(total) {
             return "共" + total + "条数据";
           }
         },
@@ -326,9 +329,9 @@ const MyTaskCount = Form.create()(
             key: "outsource",
             render: text => {
               if (text == 0) {
-                return "否"
+                return "否";
               } else if (text == 1) {
-                return "是"
+                return "是";
               }
             }
           },
@@ -369,7 +372,27 @@ const MyTaskCount = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -454,7 +477,7 @@ const MyTaskCount = Form.create()(
     componentWillMount() {
       this.loadData();
       this.selectSuperId();
-      this.departmentList()
+      this.departmentList();
     },
     //	//整行点击
     tableRowClick(record) {
@@ -486,7 +509,7 @@ const MyTaskCount = Form.create()(
         data: {
           id: id
         },
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -506,10 +529,10 @@ const MyTaskCount = Form.create()(
               taskComment: thisdata.taskComment, //说明
               attachmentUrl: thisdata.attachmentUrl
                 ? splitUrl(
-                  thisdata.attachmentUrl,
-                  ",",
-                  globalConfig.avatarHost + "/upload"
-                )
+                    thisdata.attachmentUrl,
+                    ",",
+                    globalConfig.avatarHost + "/upload"
+                  )
                 : [], //图片地址
               salesmanName: thisdata.salesmanName, //订单负责人
               startDate: thisdata.startDate, //启动日期
@@ -539,7 +562,7 @@ const MyTaskCount = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -547,6 +570,19 @@ const MyTaskCount = Form.create()(
       );
     },
 
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     //订单详情
     xiangqings(orderNos) {
       $.ajax({
@@ -557,7 +593,7 @@ const MyTaskCount = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let thisdata = data.data;
           let ProvinceCityArr = [];
           let ProvinceS = thisdata.locationProvince; //省
@@ -589,7 +625,7 @@ const MyTaskCount = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -608,7 +644,7 @@ const MyTaskCount = Form.create()(
         data: {
           tid: record.id
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thisData = [];
           if (!thisData) {
@@ -635,7 +671,7 @@ const MyTaskCount = Form.create()(
           }
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -654,7 +690,7 @@ const MyTaskCount = Form.create()(
         data: {
           id: this.state.id
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -679,7 +715,7 @@ const MyTaskCount = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -703,7 +739,7 @@ const MyTaskCount = Form.create()(
         data: {
           orderNo: orderNos
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
 
           if (data.error.length || data.data.list == "") {
@@ -726,7 +762,8 @@ const MyTaskCount = Form.create()(
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
-                taskStatus: thisdata.taskStatus //是否分配
+                taskStatus: thisdata.taskStatus, //是否分配
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -735,7 +772,7 @@ const MyTaskCount = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.setState({
             loading: false
           });
@@ -766,9 +803,9 @@ const MyTaskCount = Form.create()(
       this.state.releaseDate[0] = undefined;
       this.state.releaseDate[1] = undefined;
       this.state.orderNoSearch = "";
-      this.state.departmenttList = []
-      this.state.cid = []
-      this.state.contractNoSearch = ""
+      this.state.departmenttList = [];
+      this.state.cid = [];
+      this.state.contractNoSearch = "";
       this.state.outsourceSearch = [];
       this.loadData(this.state.page);
     },
@@ -848,27 +885,44 @@ const MyTaskCount = Form.create()(
     //导出
     exportExec() {
       let nameText = this.state.SuperArr;
-      let superText = this.state.cid && typeof (this.state.cid) != "object"
-        ? nameText[parseInt(this.state.cid)].id
-        : "";
+      let superText =
+        this.state.cid && typeof this.state.cid != "object"
+          ? nameText[parseInt(this.state.cid)].id
+          : "";
       if (superText) {
         var data = {
-          orderNo: this.state.orderNoSearch ? this.state.orderNoSearch : undefined,
+          orderNo: this.state.orderNoSearch
+            ? this.state.orderNoSearch
+            : undefined,
           name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
           taskId: this.state.idSearch ? this.state.idSearch : undefined, //订单编号
-          starTime: this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined,
-          endTime: this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined,
-          depId: this.state.departmenttList ? this.state.departmenttList : undefined,
+          starTime: this.state.releaseDate[0]
+            ? this.state.releaseDate[0]
+            : undefined,
+          endTime: this.state.releaseDate[1]
+            ? this.state.releaseDate[1]
+            : undefined,
+          depId: this.state.departmenttList
+            ? this.state.departmenttList
+            : undefined,
           cid: superText
         };
       } else {
         var data = {
-          orderNo: this.state.orderNoSearch ? this.state.orderNoSearch : undefined,
+          orderNo: this.state.orderNoSearch
+            ? this.state.orderNoSearch
+            : undefined,
           name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
           taskId: this.state.idSearch ? this.state.idSearch : undefined, //订单编号
-          starTime: this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined,
-          endTime: this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined,
-          depId: this.state.departmenttList ? this.state.departmenttList : undefined,
+          starTime: this.state.releaseDate[0]
+            ? this.state.releaseDate[0]
+            : undefined,
+          endTime: this.state.releaseDate[1]
+            ? this.state.releaseDate[1]
+            : undefined,
+          depId: this.state.departmenttList
+            ? this.state.departmenttList
+            : undefined
         };
       }
 
@@ -893,7 +947,7 @@ const MyTaskCount = Form.create()(
         data: {
           flag: 0
         },
-        success: function (data) {
+        success: function(data) {
           let theArr = [];
           let thedata = data.data;
           if (!thedata) {
@@ -918,7 +972,7 @@ const MyTaskCount = Form.create()(
           });
         }.bind(this)
       }).always(
-        function () {
+        function() {
           this.loadData(this.state.ispage);
           this.setState({
             loading: false
@@ -932,7 +986,7 @@ const MyTaskCount = Form.create()(
         wrapperCol: { span: 14 }
       };
       const utils = {
-        getSatisfaction: function (num) {
+        getSatisfaction: function(num) {
           switch (num) {
             case 0:
               return "未收回";
@@ -942,7 +996,7 @@ const MyTaskCount = Form.create()(
               return "其它";
           }
         },
-        getChargeback: function (num) {
+        getChargeback: function(num) {
           switch (num) {
             case 0:
               return "已完成";
@@ -962,12 +1016,22 @@ const MyTaskCount = Form.create()(
           id: 1,
           name: "外包"
         }
-      ]
+      ];
       const FormItem = Form.Item;
       const { RangePicker } = DatePicker;
       const departmentArr = this.state.departmentArr || [];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <div className="content-title">
             <span>工时数据统计</span>
           </div>
@@ -975,12 +1039,17 @@ const MyTaskCount = Form.create()(
             <Tabs
               defaultActiveKey="1"
               onChange={this.callback}
-              className="test">
+              className="test"
+            >
               <TabPane tab="搜索" key="1">
-
                 <Input
                   placeholder="客户名称"
-                  style={{ width: "150px", marginBottom: "10px", marginLeft: 10, marginRight: 10 }}
+                  style={{
+                    width: "150px",
+                    marginBottom: "10px",
+                    marginLeft: 10,
+                    marginRight: 10
+                  }}
                   value={this.state.customerName}
                   onChange={e => {
                     this.setState({ customerName: e.target.value });
@@ -1022,8 +1091,10 @@ const MyTaskCount = Form.create()(
                     this.setState({ departmenttList: e });
                   }}
                 >
-                  {departmentArr.map(function (item) {
-                    return <Select.Option key={item.id}>{item.name}</Select.Option>;
+                  {departmentArr.map(function(item) {
+                    return (
+                      <Select.Option key={item.id}>{item.name}</Select.Option>
+                    );
                   })}
                 </Select>
                 <Select
@@ -1045,8 +1116,10 @@ const MyTaskCount = Form.create()(
                     this.setState({ outsourceSearch: e });
                   }}
                 >
-                  {isWai.map(function (item) {
-                    return <Select.Option key={item.id}>{item.name}</Select.Option>;
+                  {isWai.map(function(item) {
+                    return (
+                      <Select.Option key={item.id}>{item.name}</Select.Option>
+                    );
                   })}
                 </Select>
                 <span style={{ marginRight: "10px" }}>合同签订时间 :</span>
@@ -1066,16 +1139,24 @@ const MyTaskCount = Form.create()(
                 <Button
                   type="primary"
                   onClick={this.search}
-                  style={{ marginLeft: "10px", marginRight: 10, marginBottom: 10 }}
+                  style={{
+                    marginLeft: "10px",
+                    marginRight: 10,
+                    marginBottom: 10
+                  }}
                 >
                   搜索
-            </Button>
+                </Button>
                 <Button onClick={this.reset}>重置</Button>
               </TabPane>
               <TabPane tab="导出" key="2">
-                <Button type="primary" onClick={this.exportExec} style={{ margin: 10 }}>
+                <Button
+                  type="primary"
+                  onClick={this.exportExec}
+                  style={{ margin: 10 }}
+                >
                   导出工时数据
-            </Button>
+                </Button>
               </TabPane>
             </Tabs>
             <div className="patent-table">
@@ -1267,8 +1348,8 @@ const MyTaskCount = Form.create()(
                       </FormItem>
                     </div>
                   ) : (
-                      ""
-                    )}
+                    ""
+                  )}
                   {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
                   <div className="clearfix">
                     <h3 className="sub-title">联系信息</h3>
@@ -1502,8 +1583,8 @@ const MyTaskCount = Form.create()(
                         添加项目明细
                       </Button>
                     ) : (
-                        ""
-                      )}
+                      ""
+                    )}
                   </div>
                   <div className="patent-table">
                     <Spin spinning={this.state.loading}>

+ 150 - 103
js/component/manageCenter/project/task/myTaskOutsource.jsx

@@ -2,6 +2,7 @@ import React from "react";
 import $ from "jquery";
 import moment from "moment";
 import Picture from "@/manageCenter/publicComponent/picture";
+import ResolutionDetail from "@/resolutionDetail";
 import "@/manageCenter/financialManage/distribute/public.less";
 import "@/manageCenter/financialManage/distribute/shouKuan.less";
 import {
@@ -18,6 +19,7 @@ import {
   Cascader,
   Popconfirm,
   Tabs,
+  Tag,
   notification
 } from "antd";
 import Assign from "@/manageCenter/publicComponent/assign";
@@ -69,7 +71,7 @@ const MyTaskOutsource = React.createClass({
         outsource: 1,
         approval: this.state.approvalSearch //特批状态搜索
       },
-      success: function (data) {
+      success: function(data) {
         ShowModal(this);
         let theArr = [];
         if (!data.data || !data.data.list) {
@@ -92,18 +94,18 @@ const MyTaskOutsource = React.createClass({
               userName:
                 thisdata.taskName.substring(0, 5) === "软件著作权"
                   ? thisdata.userName +
-                  "(" +
-                  thisdata.commodityQuantity.toString() +
-                  "/" +
-                  thisdata.alreadyNumber +
-                  ")"
+                    "(" +
+                    thisdata.commodityQuantity.toString() +
+                    "/" +
+                    thisdata.alreadyNumber +
+                    ")"
                   : thisdata.userName, //用户名
               depName: thisdata.depName, //部门名称
               commodityQuantity: thisdata.commodityQuantity, //项目数量
               outsourceName: thisdata.outsourceName,
               hours: thisdata.hours,
               contractNo: thisdata.contractNo,
-              approval: thisdata.approval, //特批状态
+              approval: thisdata.approval //特批状态
             });
           }
         }
@@ -117,7 +119,7 @@ const MyTaskOutsource = React.createClass({
         });
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -152,13 +154,13 @@ const MyTaskOutsource = React.createClass({
         defaultPageSize: 10,
         showQuickJumper: true,
         pageSize: 10,
-        onChange: function (page) {
+        onChange: function(page) {
           this.loadData(page);
           this.setState({
             page
           });
         }.bind(this),
-        showTotal: function (total) {
+        showTotal: function(total) {
           return "共" + total + "条数据";
         }
       },
@@ -333,7 +335,27 @@ const MyTaskOutsource = React.createClass({
         {
           title: "项目数量",
           dataIndex: "commodityQuantity",
-          key: "commodityQuantity"
+          key: "commodityQuantity",
+          render: (text, record) => {
+            if (record.splitStatus == 1) {
+              return (
+                <span>
+                  {text}{" "}
+                  <Tag
+                    color="#108ee9"
+                    onClick={e => {
+                      e.stopPropagation();
+                      this.showRes(record);
+                    }}
+                  >
+                    已拆
+                  </Tag>
+                </span>
+              );
+            } else {
+              return text;
+            }
+          }
         },
         {
           title: "金额(万元)",
@@ -407,7 +429,7 @@ const MyTaskOutsource = React.createClass({
                   style={{ marginTop: "5px" }}
                   showTime
                   format="YYYY-MM-DD"
-                  onOk={() => { }}
+                  onOk={() => {}}
                   value={
                     record.licenceTimes ? moment(record.licenceTimes) : null
                   }
@@ -480,15 +502,15 @@ const MyTaskOutsource = React.createClass({
                 {record.flag ? (
                   ""
                 ) : (
-                    <Button
-                      type="primary"
-                      onClick={e => {
-                        e.stopPropagation(), this.contactSave(record, index);
-                      }}
-                    >
-                      保存
-                    </Button>
-                  )}
+                  <Button
+                    type="primary"
+                    onClick={e => {
+                      e.stopPropagation(), this.contactSave(record, index);
+                    }}
+                  >
+                    保存
+                  </Button>
+                )}
               </div>
             );
           }
@@ -521,10 +543,10 @@ const MyTaskOutsource = React.createClass({
             return test[0] === null
               ? ""
               : getprovince(test[0]) +
-              "/" +
-              getprovince(test[1]) +
-              "/" +
-              getprovince(test[2]);
+                  "/" +
+                  getprovince(test[1]) +
+                  "/" +
+                  getprovince(test[2]);
           }
         },
         {
@@ -631,7 +653,7 @@ const MyTaskOutsource = React.createClass({
     let attachmentUrls = [];
     if (this.state.attachmentUrl.length) {
       let picArr = [];
-      this.state.attachmentUrl.map(function (item) {
+      this.state.attachmentUrl.map(function(item) {
         if (item.response && item.response.data && item.response.data.length) {
           picArr.push(item.response.data);
         }
@@ -679,7 +701,7 @@ const MyTaskOutsource = React.createClass({
         outsourcePrice: this.state.outsourcePrice //外包价格
       }
     }).done(
-      function (data) {
+      function(data) {
         this.setState({
           loading: false
         });
@@ -696,7 +718,7 @@ const MyTaskOutsource = React.createClass({
   tianjiaOk() {
     if (this.state.attachmentUrl.length) {
       let picArr = [];
-      this.state.attachmentUrl.map(function (item) {
+      this.state.attachmentUrl.map(function(item) {
         if (item.response && item.response.data && item.response.data.length) {
           picArr.push(item.response.data);
         }
@@ -716,7 +738,7 @@ const MyTaskOutsource = React.createClass({
         taskComment: this.state.taskComment //说明
       }
     }).done(
-      function (data) {
+      function(data) {
         this.setState({
           loading: false
         });
@@ -739,7 +761,7 @@ const MyTaskOutsource = React.createClass({
       data: {
         id: id
       },
-      success: function (data) {
+      success: function(data) {
         let thisdata = data.data;
         if (data.error.length || data.data.list == "") {
           if (data.error && data.error.length) {
@@ -759,10 +781,10 @@ const MyTaskOutsource = React.createClass({
             taskComment: thisdata.taskComment, //说明
             attachmentUrl: thisdata.attachmentUrl
               ? splitUrl(
-                thisdata.attachmentUrl,
-                ",",
-                globalConfig.avatarHost + "/upload"
-              )
+                  thisdata.attachmentUrl,
+                  ",",
+                  globalConfig.avatarHost + "/upload"
+                )
               : [], //图片地址
             salesmanName: thisdata.salesmanName, //订单负责人
             startDate: thisdata.startDate, //启动日期
@@ -791,7 +813,7 @@ const MyTaskOutsource = React.createClass({
         }
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -808,7 +830,7 @@ const MyTaskOutsource = React.createClass({
       data: {
         orderNo: orderNos
       },
-      success: function (data) {
+      success: function(data) {
         let thisdata = data.data;
         let ProvinceCityArr = [];
         let ProvinceS = thisdata.locationProvince; //省
@@ -840,7 +862,7 @@ const MyTaskOutsource = React.createClass({
         }
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -857,7 +879,7 @@ const MyTaskOutsource = React.createClass({
       data: {
         orderNo: orderNos
       },
-      success: function (data) {
+      success: function(data) {
         let theArr = [];
 
         if (data.error.length || data.data.list == "") {
@@ -882,7 +904,8 @@ const MyTaskOutsource = React.createClass({
               contactsMobile: thisdata.contactsMobile, //联系人电话
               taskStatus: thisdata.taskStatus, //是否分配
               contractNo: thisdata.contractNo, //合同编号
-              certificateNumber: thisdata.certificateNumber
+              certificateNumber: thisdata.certificateNumber,
+              splitStatus: thisdata.splitStatus
             });
           }
         }
@@ -891,7 +914,7 @@ const MyTaskOutsource = React.createClass({
         });
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -973,7 +996,7 @@ const MyTaskOutsource = React.createClass({
       data: {
         tid: record.id
       },
-      success: function (data) {
+      success: function(data) {
         let theArr = [];
         let thisData = [];
         if (!thisData) {
@@ -1000,7 +1023,7 @@ const MyTaskOutsource = React.createClass({
         }
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -1029,7 +1052,7 @@ const MyTaskOutsource = React.createClass({
         alreadyNumber: record.alreadyNumber
       }
     }).done(
-      function (data) {
+      function(data) {
         this.setState({
           loading: false
         });
@@ -1055,7 +1078,7 @@ const MyTaskOutsource = React.createClass({
         id: record.id
       }
     }).done(
-      function (data) {
+      function(data) {
         this.setState({
           loading: false
         });
@@ -1106,7 +1129,7 @@ const MyTaskOutsource = React.createClass({
       data: {
         id: this.state.id
       },
-      success: function (data) {
+      success: function(data) {
         let theArr = [];
 
         if (data.error.length || data.data.list == "") {
@@ -1131,7 +1154,7 @@ const MyTaskOutsource = React.createClass({
         });
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -1168,43 +1191,43 @@ const MyTaskOutsource = React.createClass({
     if (this.companyJugle()) {
       let upAndde = this.state.updataSwicth
         ? {
-          api: "/api/admin/outsourceOrg/updateOutsourceOrg",
-          warn: "修改成功",
-          data: {
-            id: id,
-            name: this.state.cName,
-            contacts: this.state.companyContacts,
-            contactsMobile: this.state.companyContactsMobile,
-            province: this.state.companyProvinceArr[0],
-            city: this.state.companyProvinceArr[1],
-            area: this.state.companyProvinceArr[2],
-            address: this.state.companyAddress,
-            remarks: this.state.companyRemarks
+            api: "/api/admin/outsourceOrg/updateOutsourceOrg",
+            warn: "修改成功",
+            data: {
+              id: id,
+              name: this.state.cName,
+              contacts: this.state.companyContacts,
+              contactsMobile: this.state.companyContactsMobile,
+              province: this.state.companyProvinceArr[0],
+              city: this.state.companyProvinceArr[1],
+              area: this.state.companyProvinceArr[2],
+              address: this.state.companyAddress,
+              remarks: this.state.companyRemarks
+            }
           }
-        }
         : {
-          api: "/api/admin/outsourceOrg/addOutsourceOrg",
-          warn: "保存成功",
-          data: {
-            name: this.state.cName,
-            tid: this.state.RowData.id,
-            contacts: this.state.companyContacts,
-            contactsMobile: this.state.companyContactsMobile,
-            orderNo: this.state.orderNo,
-            province: this.state.companyProvinceArr[0],
-            city: this.state.companyProvinceArr[1],
-            area: this.state.companyProvinceArr[2],
-            address: this.state.companyAddress,
-            remarks: this.state.companyRemarks
-          }
-        };
+            api: "/api/admin/outsourceOrg/addOutsourceOrg",
+            warn: "保存成功",
+            data: {
+              name: this.state.cName,
+              tid: this.state.RowData.id,
+              contacts: this.state.companyContacts,
+              contactsMobile: this.state.companyContactsMobile,
+              orderNo: this.state.orderNo,
+              province: this.state.companyProvinceArr[0],
+              city: this.state.companyProvinceArr[1],
+              area: this.state.companyProvinceArr[2],
+              address: this.state.companyAddress,
+              remarks: this.state.companyRemarks
+            }
+          };
       $.ajax({
         method: "post",
         dataType: "json",
         crossDomain: false,
         url: globalConfig.context + upAndde.api,
         data: upAndde.data,
-        success: function (data) {
+        success: function(data) {
           if (data.error.length || data.data.list == "") {
             if (data.error && data.error.length) {
               message.warning(data.error[0].message);
@@ -1212,7 +1235,7 @@ const MyTaskOutsource = React.createClass({
           }
         }.bind(this)
       }).done(
-        function () {
+        function() {
           this.setState({
             loading: false,
             updataSwicth: false
@@ -1251,9 +1274,9 @@ const MyTaskOutsource = React.createClass({
       data: {
         id: id
       },
-      success: function () { }.bind(this)
+      success: function() {}.bind(this)
     }).done(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -1287,7 +1310,7 @@ const MyTaskOutsource = React.createClass({
         orderNo: this.state.RowData.orderNo,
         tid: this.state.RowData.id
       },
-      success: function (data) {
+      success: function(data) {
         let theArr = [];
         if (data.error.length || data.data.list == "") {
           if (data.error && data.error.length) {
@@ -1318,7 +1341,7 @@ const MyTaskOutsource = React.createClass({
         });
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -1402,13 +1425,27 @@ const MyTaskOutsource = React.createClass({
     this.state.outsourceName = ""; //外包公司名称
     this.state.outsourcePrice = ""; //外包价格
     this.loadData(this.state.page);
-    this.state.approvalSearch = undefined
+    this.state.approvalSearch = undefined;
   },
   searchSwitch() {
     this.setState({
       searchMore: !this.state.searchMore
     });
   },
+
+  // 拆分详细
+  showRes(record) {
+    this.setState({
+      resVisible: true,
+      resRecord: record
+    });
+  },
+  resCancel() {
+    this.setState({
+      resVisible: false
+    });
+  },
+
   //部门
   departmentList() {
     this.setState({
@@ -1420,7 +1457,7 @@ const MyTaskOutsource = React.createClass({
       crossDomain: false,
       url: globalConfig.context + "/api/admin/organization/selectSuperId",
       data: {},
-      success: function (data) {
+      success: function(data) {
         let thedata = data.data;
         let theArr = [];
         if (!thedata) {
@@ -1429,7 +1466,7 @@ const MyTaskOutsource = React.createClass({
           }
           thedata = {};
         } else {
-          thedata.map(function (item, index) {
+          thedata.map(function(item, index) {
             theArr.push({
               key: index,
               name: item.name,
@@ -1442,7 +1479,7 @@ const MyTaskOutsource = React.createClass({
         });
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -1483,7 +1520,7 @@ const MyTaskOutsource = React.createClass({
       data: {
         taskId: record.id
       },
-      success: function (data) {
+      success: function(data) {
         if (data.error && data.error.length) {
           message.warning(data.error[0].message);
         } else {
@@ -1494,7 +1531,7 @@ const MyTaskOutsource = React.createClass({
         }
       }.bind(this)
     }).always(
-      function () {
+      function() {
         this.setState({
           loading: false
         });
@@ -1510,6 +1547,16 @@ const MyTaskOutsource = React.createClass({
     let departmentArr = this.state.departmentArr || [];
     return (
       <div className="user-content">
+        {this.state.resVisible ? (
+          <ResolutionDetail
+            cancel={this.resCancel}
+            detail={this.state.resRecord}
+            visible={this.state.resVisible}
+            id={this.state.resRecord.orderNo}
+          />
+        ) : (
+          ""
+        )}
         <ShowModalDiv ShowModal={this.state.showModal} />
         <div className="content-title" style={{ marginBottom: 10 }}>
           <span style={{ fontWeight: 900, fontSize: 16 }}>我的外包项目</span>
@@ -1564,7 +1611,7 @@ const MyTaskOutsource = React.createClass({
                   this.setState({ departmenttSearch: e });
                 }}
               >
-                {departmentArr.map(function (item) {
+                {departmentArr.map(function(item) {
                   return (
                     <Select.Option key={item.id}>{item.name}</Select.Option>
                   );
@@ -1579,7 +1626,7 @@ const MyTaskOutsource = React.createClass({
                   console.log(this.state.projectStatusSearch);
                 }}
               >
-                {projectStatus.map(function (item) {
+                {projectStatus.map(function(item) {
                   return (
                     <Select.Option key={item.value}>{item.key}</Select.Option>
                   );
@@ -1664,7 +1711,7 @@ const MyTaskOutsource = React.createClass({
           roleName={this.state.nub}
           requestMethod={"post"}
           flag={this.state.flag}
-          isZhuan={this.state.isZhuan}//是否转交
+          isZhuan={this.state.isZhuan} //是否转交
         />
         <Modal
           className="customeDetails"
@@ -1735,7 +1782,7 @@ const MyTaskOutsource = React.createClass({
                             this.setState({ projectStatus: e });
                           }}
                         >
-                          {projectStatus.map(function (item) {
+                          {projectStatus.map(function(item) {
                             return (
                               <Select.Option key={item.value}>
                                 {item.key}
@@ -2053,7 +2100,7 @@ const MyTaskOutsource = React.createClass({
                             this.setState({ taskStatus: e });
                           }}
                         >
-                          {taskStatus.map(function (item) {
+                          {taskStatus.map(function(item) {
                             return (
                               <Select.Option key={item.value}>
                                 {item.key}
@@ -2134,7 +2181,7 @@ const MyTaskOutsource = React.createClass({
                           }}
                           showTime
                           format="YYYY-MM-DD"
-                          onOk={() => { }}
+                          onOk={() => {}}
                           value={
                             this.state.startDate
                               ? moment(this.state.startDate)
@@ -2158,7 +2205,7 @@ const MyTaskOutsource = React.createClass({
                           }}
                           showTime
                           format="YYYY-MM-DD"
-                          onOk={() => { }}
+                          onOk={() => {}}
                           value={
                             this.state.endDate
                               ? moment(this.state.endDate)
@@ -2182,7 +2229,7 @@ const MyTaskOutsource = React.createClass({
                           }}
                           showTime
                           format="YYYY-MM-DD"
-                          onOk={() => { }}
+                          onOk={() => {}}
                           value={
                             this.state.acceptDate
                               ? moment(this.state.acceptDate)
@@ -2206,7 +2253,7 @@ const MyTaskOutsource = React.createClass({
                           }}
                           showTime
                           format="YYYY-MM-DD"
-                          onOk={() => { }}
+                          onOk={() => {}}
                           value={
                             this.state.reviewDate
                               ? moment(this.state.reviewDate)
@@ -2230,7 +2277,7 @@ const MyTaskOutsource = React.createClass({
                           }}
                           showTime
                           format="YYYY-MM-DD"
-                          onOk={() => { }}
+                          onOk={() => {}}
                           value={
                             this.state.publicityDate
                               ? moment(this.state.publicityDate)
@@ -2254,7 +2301,7 @@ const MyTaskOutsource = React.createClass({
                           }}
                           showTime
                           format="YYYY-MM-DD"
-                          onOk={() => { }}
+                          onOk={() => {}}
                           value={
                             this.state.licenceDate
                               ? moment(this.state.licenceDate)
@@ -2348,8 +2395,8 @@ const MyTaskOutsource = React.createClass({
                           添加项目明细
                         </Button>
                       ) : (
-                          ""
-                        )}
+                        ""
+                      )}
                     </div>
                     <div className="patent-table">
                       <Spin spinning={this.state.loading}>
@@ -2554,7 +2601,7 @@ const MyTaskOutsource = React.createClass({
                     style={{ marginTop: "2px", width: "200px", height: "32px" }}
                     showTime
                     format="YYYY-MM-DD"
-                    onOk={() => { }}
+                    onOk={() => {}}
                     value={
                       this.state.taskDate ? moment(this.state.taskDate) : null
                     }
@@ -2728,7 +2775,7 @@ const MyTaskOutsource = React.createClass({
                       this.setState({ projectStatus: e });
                     }}
                   >
-                    {projectStatus.map(function (item) {
+                    {projectStatus.map(function(item) {
                       return (
                         <Select.Option key={item.value}>
                           {item.key}
@@ -3003,7 +3050,7 @@ const MyTaskOutsource = React.createClass({
                       this.setState({ taskStatus: e });
                     }}
                   >
-                    {taskStatus.map(function (item) {
+                    {taskStatus.map(function(item) {
                       return (
                         <Select.Option key={item.value}>
                           {item.key}
@@ -3083,7 +3130,7 @@ const MyTaskOutsource = React.createClass({
                     style={{ marginTop: "5px" }}
                     showTime
                     format="YYYY-MM-DD"
-                    onOk={() => { }}
+                    onOk={() => {}}
                     value={
                       this.state.startDate ? moment(this.state.startDate) : null
                     }

+ 51 - 4
js/component/manageCenter/project/task/taskCount.jsx

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Tabs, Select} from 'antd';
+import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Tabs, Select, Tag} from 'antd';
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import {
@@ -14,6 +14,7 @@ import {
   getProjectStatus
 } from "@/tools.js";
 import ShowModalDiv from "@/showModal.jsx";
+import ResolutionDetail from "@/resolutionDetail";
 
 const {TabPane} = Tabs
 
@@ -324,7 +325,27 @@ const IntentionCustomer = Form.create()(
           {
             title: "项目数量",
             dataIndex: "commodityQuantity",
-            key: "commodityQuantity"
+            key: "commodityQuantity",
+            render: (text, record) => {
+              if (record.splitStatus == 1) {
+                return (
+                  <span>
+                    {text}{" "}
+                    <Tag
+                      color="#108ee9"
+                      onClick={e => {
+                        e.stopPropagation();
+                        this.showRes(record);
+                      }}
+                    >
+                      已拆
+                    </Tag>
+                  </span>
+                );
+              } else {
+                return text;
+              }
+            }
           },
           {
             title: "金额(万元)",
@@ -725,7 +746,8 @@ const IntentionCustomer = Form.create()(
                 taskComment: thisdata.taskComment, //任务说明
                 contacts: thisdata.contacts, //联系人
                 contactsMobile: thisdata.contactsMobile, //联系人电话
-                taskStatus: thisdata.taskStatus //是否分配
+                taskStatus: thisdata.taskStatus, //是否分配
+                splitStatus: thisdata.splitStatus
               });
             }
           }
@@ -742,6 +764,19 @@ const IntentionCustomer = Form.create()(
       );
     },
 
+    // 拆分详细
+    showRes(record) {
+      this.setState({
+        resVisible: true,
+        resRecord: record
+      });
+    },
+    resCancel() {
+      this.setState({
+        resVisible: false
+      });
+    },
+
     //关闭输入理由框
     noCancel() {
       this.setState({
@@ -768,7 +803,7 @@ const IntentionCustomer = Form.create()(
       this.state.departmenttList = [];
       this.state.cid = [];
       this.state.contractNoSearch = "";
-      this.state.outsourceSearch = []
+      this.state.outsourceSearch = [];
       this.loadData(this.state.page);
     },
     resets() {
@@ -952,6 +987,16 @@ const IntentionCustomer = Form.create()(
       ];
       return (
         <div className="user-content">
+          {this.state.resVisible ? (
+            <ResolutionDetail
+              cancel={this.resCancel}
+              detail={this.state.resRecord}
+              visible={this.state.resVisible}
+              id={this.state.resRecord.orderNo}
+            />
+          ) : (
+            ""
+          )}
           <ShowModalDiv ShowModal={this.state.showModal} />
           <div className="content-title">
             <span>工时数据统计</span>
@@ -1543,6 +1588,8 @@ const IntentionCustomer = Form.create()(
                       <Table
                         columns={this.state.columnsX}
                         dataSource={this.state.dataSourceX}
+                        size="small"
+                        bordered
                         pagination={this.state.paginations}
                         onRowClick={this.tableRowClickX}
                       />

+ 14 - 13
js/component/manageCenter/project/task/taskQuery.jsx

@@ -476,19 +476,20 @@ const Task = React.createClass({
 					for (let i = 0; i < data.data.length; i++) {
                         let thisdata = data.data[i];
                         theArr.push({
-                             key: i,
-                             id:thisdata.id,
-                             orderNo:thisdata.orderNo,//订单编号
-                             commodityId:thisdata.commodityId,//项目ID
-                             commodityName:thisdata.commodityName,//项目名称
-                             cname:thisdata.cname,//项目类别
-                             commodityPrice:thisdata.commodityPrice,//项目价格
-                             commodityQuantity:thisdata.commodityQuantity,//项目数量
-                             main:thisdata.main,//是否为主要任务
-                             taskComment:thisdata.taskComment,//任务说明
-                             contacts:thisdata.contacts,//联系人
-                             contactsMobile:thisdata.contactsMobile,//联系人电话
-                             taskStatus:thisdata.taskStatus,//是否分配
+                          key: i,
+                          id: thisdata.id,
+                          orderNo: thisdata.orderNo, //订单编号
+                          commodityId: thisdata.commodityId, //项目ID
+                          commodityName: thisdata.commodityName, //项目名称
+                          cname: thisdata.cname, //项目类别
+                          commodityPrice: thisdata.commodityPrice, //项目价格
+                          commodityQuantity: thisdata.commodityQuantity, //项目数量
+                          main: thisdata.main, //是否为主要任务
+                          taskComment: thisdata.taskComment, //任务说明
+                          contacts: thisdata.contacts, //联系人
+                          contactsMobile: thisdata.contactsMobile, //联系人电话
+                          taskStatus: thisdata.taskStatus, //是否分配
+                          splitStatus: thisdata.splitStatus
                         });
                     };
 				};