dev01 2 роки тому
батько
коміт
e925d6a876

+ 5 - 6
js/component/common/projectOperation/newEditProject.jsx

@@ -489,12 +489,11 @@ class newEditProject extends Component {
         ? "/api/admin/orderChange/addMemberSonProject"
         : "/api/admin/orderProject/addMemberFirstSonProject",
       data: this.props.type == "change" ? changeInfo : info,
-    }).done(
-      function (data) {
+      success: function (data) {
         this.setState({
-          loading: false,
+          loading: false
         });
-        if (!data.error.length) {
+        if (data.error.length === 0) {
           message.success("保存成功!");
           let list = this.state.splitList
           let histList = this.state.histYear
@@ -510,9 +509,9 @@ class newEditProject extends Component {
           })
         } else {
           message.warning(data.error[0].message);
-        }
+        };
       }.bind(this)
-    );
+    });
   }
 
   render() {

+ 95 - 0
js/component/manageCenter/financialManage/distribute/approvedOutsourcing.jsx

@@ -117,6 +117,19 @@ const approvedOutsourcing = React.createClass({
               backStatus: thisdata.backStatus,
               orderReceivables: thisdata.orderReceivables,
               orderArrears: thisdata.orderArrears,
+
+              costAmount:thisdata.costAmount,
+              paymentAmount:thisdata.paymentAmount,
+              patentCost:thisdata.patentCost,
+              patentCostActual:thisdata.patentCostActual,
+              softCost:thisdata.softCost,
+              softCostActual:thisdata.softCostActual,
+              auditCost:thisdata.auditCost,
+              auditCostActual:thisdata.auditCostActual,
+              otherCost:thisdata.otherCost,
+              otherCostActual:thisdata.otherCostActual,
+              expectProfit:thisdata.expectProfit,
+              actualProfit:thisdata.actualProfit,
             })
           }
         }
@@ -320,6 +333,88 @@ const approvedOutsourcing = React.createClass({
           }
         },
         {
+          title: "总成本/实付",
+          dataIndex: "costAmount",
+          key: "costAmount",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.paymentAmount)) ? text : parseFloat(record.paymentAmount)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "专利/专利已付",
+          dataIndex: "patentCost",
+          key: "patentCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.patentCostActual)) ? text : parseFloat(record.patentCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "软著/软著已付",
+          dataIndex: "softCost",
+          key: "softCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.softCostActual)) ? text : parseFloat(record.softCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "审计/审计已付",
+          dataIndex: "auditCost",
+          key: "auditCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.auditCostActual)) ? text : parseFloat(record.auditCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "其他/其他已付",
+          dataIndex: "otherCost",
+          key: "otherCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.otherCostActual)) ? text : parseFloat(record.otherCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "预估毛利(万元)",
+          dataIndex: "expectProfit",
+          key: "expectProfit",
+          className: "title-table",
+        },
+        {
+          title: "实际毛利(万元)",
+          dataIndex: "actualProfit",
+          key: "actualProfit",
+          className: "title-table",
+        },
+        {
           title: '最近收款(万元)',
           dataIndex: 'finalReceivables',
           key: 'finalReceivables',

+ 95 - 0
js/component/manageCenter/financialManage/distribute/approvedOutsourcingAll.jsx

@@ -152,6 +152,19 @@ const approvedOutsourcing = React.createClass({
               backStatus: thisdata.backStatus,
               orderReceivables: thisdata.orderReceivables,
               orderArrears: thisdata.orderArrears,
+
+              costAmount:thisdata.costAmount,
+              paymentAmount:thisdata.paymentAmount,
+              patentCost:thisdata.patentCost,
+              patentCostActual:thisdata.patentCostActual,
+              softCost:thisdata.softCost,
+              softCostActual:thisdata.softCostActual,
+              auditCost:thisdata.auditCost,
+              auditCostActual:thisdata.auditCostActual,
+              otherCost:thisdata.otherCost,
+              otherCostActual:thisdata.otherCostActual,
+              expectProfit:thisdata.expectProfit,
+              actualProfit:thisdata.actualProfit,
             });
           }
         }
@@ -346,6 +359,88 @@ const approvedOutsourcing = React.createClass({
           }
         },
         {
+          title: "总成本/实付",
+          dataIndex: "costAmount",
+          key: "costAmount",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.paymentAmount)) ? text : parseFloat(record.paymentAmount)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "专利/专利已付",
+          dataIndex: "patentCost",
+          key: "patentCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.patentCostActual)) ? text : parseFloat(record.patentCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "软著/软著已付",
+          dataIndex: "softCost",
+          key: "softCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.softCostActual)) ? text : parseFloat(record.softCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "审计/审计已付",
+          dataIndex: "auditCost",
+          key: "auditCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.auditCostActual)) ? text : parseFloat(record.auditCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "其他/其他已付",
+          dataIndex: "otherCost",
+          key: "otherCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.otherCostActual)) ? text : parseFloat(record.otherCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "预估毛利(万元)",
+          dataIndex: "expectProfit",
+          key: "expectProfit",
+          className: "title-table",
+        },
+        {
+          title: "实际毛利(万元)",
+          dataIndex: "actualProfit",
+          key: "actualProfit",
+          className: "title-table",
+        },
+        {
           title: "最近收款(万元)",
           dataIndex: "finalReceivables",
           key: "finalReceivables",

+ 758 - 30
js/component/manageCenter/financialManage/distribute/shouKuanAll.jsx

@@ -387,9 +387,9 @@ const ShouKuang = React.createClass({
           title: "审核状态",
           dataIndex: "status",
           key: "status",
-          width: 55,
+          width: 110,
           render: (text, record) => (
-            <div style={{ display: "flex", flexDirection: "row", flexWrap: "warp" }}>
+            <div>
               <Tag color={getClockState(text).color}>
                 {getClockState(text).title}
               </Tag>
@@ -1160,6 +1160,25 @@ const ShouKuang = React.createClass({
           className: "title-table",
         },
         {
+          title: "订单类型",
+          dataIndex: "serviceType",
+          key: "serviceType",
+          className: "title-table",
+          width: 150,
+          render: (text) => {
+            return !!text && text.replace(/[,,]/g, "+");
+          }
+        },
+        {
+          title: "订单内容",
+          dataIndex: "serviceProject",
+          key: "serviceProject",
+          className: "title-table",
+          render: (text) => {
+            return (<div dangerouslySetInnerHTML={{ __html: !!text && text.replace(/[,,]/g, "<br/>") }} />);
+          }
+        },
+        {
           title: "财务负责人",
           dataIndex: "financeName",
           key: "financeName",
@@ -1208,24 +1227,88 @@ const ShouKuang = React.createClass({
           className: "title-table",
         },
         {
-          title: "总成本(万元)",
+          title: "总成本/实付",
           dataIndex: "costAmount",
           key: "costAmount",
           className: "title-table",
-          render: (text) => {
-            return isNaN(parseFloat(text)) ? text : parseFloat(text);
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.paymentAmount)) ? text : parseFloat(record.paymentAmount)}
+              </span>
+            )
           },
         },
         {
-          title: "已付成本(万元)",
-          dataIndex: "paymentAmount",
-          key: "paymentAmount",
+          title: "专利/专利已付",
+          dataIndex: "patentCost",
+          key: "patentCost",
           className: "title-table",
-          render: (text) => {
-            return isNaN(parseFloat(text)) ? text : parseFloat(text);
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.patentCostActual)) ? text : parseFloat(record.patentCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "软著/软著已付",
+          dataIndex: "softCost",
+          key: "softCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.softCostActual)) ? text : parseFloat(record.softCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "审计/审计已付",
+          dataIndex: "auditCost",
+          key: "auditCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.auditCostActual)) ? text : parseFloat(record.auditCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "其他/其他已付",
+          dataIndex: "otherCost",
+          key: "otherCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.otherCostActual)) ? text : parseFloat(record.otherCostActual)}
+              </span>
+            )
           },
         },
         {
+          title: "预估毛利(万元)",
+          dataIndex: "expectProfit",
+          key: "expectProfit",
+          className: "title-table",
+        },
+        {
+          title: "实际毛利(万元)",
+          dataIndex: "actualProfit",
+          key: "actualProfit",
+          className: "title-table",
+        },
+        {
           title: "最近收款(万元)",
           dataIndex: "finalReceivables",
           key: "finalReceivables",
@@ -1469,6 +1552,7 @@ const ShouKuang = React.createClass({
         },
       ],
       waterData: [],
+      newVisible: "",
     };
   },
   // 特批通过
@@ -1673,15 +1757,18 @@ const ShouKuang = React.createClass({
     //     }
     //   }
     // }
-
-    this.setState({ selectedRowKeys, selectedRows });
+    this.setState({
+      selectedRowKeys,
+      selectedRows,
+      newData: selectedRows,
+    });
   },
   inRecordCanl() {
     this.setState({
       bvisible: false,
     });
   },
-  inRecordData() {
+  inRecordData(orderNO) {
     this.setState({
       loading: true,
     });
@@ -1693,7 +1780,7 @@ const ShouKuang = React.createClass({
         globalConfig.context +
         "/api/admin/orderInvoice/salesmanOrderInvoiceList",
       data: {
-        orderNo: this.state.selectedRowKeys[0],
+        orderNo: orderNO || this.state.selectedRowKeys[0],
         pageSize: 9999999,
       },
       success: function (data) {
@@ -1824,6 +1911,15 @@ const ShouKuang = React.createClass({
       deps: this.state.departmenttList,
       contractNo: this.state.contractNoSearch,
       processStatus: this.state.processStatusSearch,
+      startTime: this.state.releaseDate[0],
+      endTime: this.state.releaseDate[1],
+      startFinalReceivablesTime: this.state.shouKuanDate[0],
+      endFinalReceivablesTime: this.state.shouKuanDate[1],
+      contractNo: this.state.contractNoSearch,
+      liquidationStatus: this.state.liquidationStatus,
+      amountStatus: this.state.amountStatus,
+      approval: this.state.approval,
+      projectType: this.state.projectType,
     }
     $.ajax({
       method: "get",
@@ -1867,7 +1963,7 @@ const ShouKuang = React.createClass({
     });
     this.loadData(1, 9999999);
   },
-  timeData() {
+  timeData(orderNO) {
     this.setState({
       loading: true,
     });
@@ -1877,7 +1973,7 @@ const ShouKuang = React.createClass({
       crossDomain: false,
       url: globalConfig.context + "/api/admin/orderProject/taskHoursList",
       data: {
-        orderNo: this.state.selectedRowKeys[0],
+        orderNo: orderNO || this.state.selectedRowKeys[0],
         pageSize: 9999999,
       },
       success: function (data) {
@@ -1947,18 +2043,55 @@ const ShouKuang = React.createClass({
       "/api/admin/newOrder/exportOrderTaskData?" +
       $.param(data);
   },
+  // exportCui() {
+  //   var data = {
+  //     orderNo: this.state.selectedRowKeys[0]
+  //       ? this.state.selectedRowKeys[0]
+  //       : undefined, //订单编号
+  //     // specially: 1,
+  //     pageSize: 9999999,
+  //   };
+  //   window.location.href =
+  //     globalConfig.context +
+  //     "/api/admin/newOrder/exportOrderDunData?" +
+  //     $.param(data);
+  // },
   exportCui() {
-    var data = {
+    this.setState({
+      exportPendingLoading: true,
+    });
+    message.config({
+      duration: 20,
+    });
+    let loading = message.loading("下载中...");
+    let data = {
       orderNo: this.state.selectedRowKeys[0]
         ? this.state.selectedRowKeys[0]
         : undefined, //订单编号
-      // specially: 1,
       pageSize: 9999999,
     };
-    window.location.href =
-      globalConfig.context +
-      "/api/admin/newOrder/exportOrderDunData?" +
-      $.param(data);
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url:
+        globalConfig.context + "/api/admin/newOrder/exportOrderDunData",
+      data,
+      success: function (data) {
+        if (data.error.length === 0) {
+          this.download(data.data);
+        } else {
+          message.warning(data.error[0].message);
+        }
+      }.bind(this),
+    }).always(
+      function () {
+        loading();
+        this.setState({
+          exportPendingLoading: false,
+        });
+      }.bind(this)
+    );
   },
   cuiData() {
     this.setState({
@@ -2465,8 +2598,7 @@ const ShouKuang = React.createClass({
       wrapperCol: { span: 14 },
     };
     const { RangePicker } = DatePicker;
-    var departmentArr = this.state.departmentArr || [];
-    const { loading, selectedRowKeys, visible } = this.state;
+    const { selectedRowKeys } = this.state;
     const rowSelection = {
       selectedRowKeys,
       onChange: this.onSelectChange,
@@ -2795,7 +2927,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.inRecordData();
                 this.setState({
-                  bvisible: true,
+                  // bvisible: true,
+                  newVisible: "开票历史记录",
                 });
               }}
             >
@@ -2808,7 +2941,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.waterData();
                 this.setState({
-                  cvisible: true,
+                  // cvisible: true,
+                  newVisible: "详细收款流水",
                 });
               }}
             >
@@ -2821,7 +2955,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.timeData();
                 this.setState({
-                  timeVisible: true,
+                  // timeVisible: true,
+                  newVisible: "工时详情",
                 });
               }}
             >
@@ -2834,7 +2969,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.cuiData();
                 this.setState({
-                  cuiVisible: true,
+                  // cuiVisible: true,
+                  newVisible: "催款详情",
                 });
               }}
             >
@@ -2847,7 +2983,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.proData();
                 this.setState({
-                  proVisible: true,
+                  // proVisible: true,
+                  newVisible: "项目进度",
                 });
               }}
             >
@@ -2861,7 +2998,8 @@ const ShouKuang = React.createClass({
                 this.pubData();
                 this.selectSuperId();
                 this.setState({
-                  pubVisible: true,
+                  // pubVisible: true,
+                  newVisible: "公出详细列表",
                 });
               }}
             >
@@ -3603,6 +3741,596 @@ const ShouKuang = React.createClass({
             content={() => this.refs.all}
           />
         </Modal>
+
+        {/* 合并查看 */}
+        {
+          this.state.newVisible != "" &&
+          <Modal
+            visible={this.state.newVisible != ""}
+            footer=""
+            title={this.state.newVisible}
+            className="admin-desc-content"
+            width="1500px"
+            pagination={false}
+            onCancel={() => {
+              this.setState({
+                newVisible: "",
+              });
+            }}
+          >
+            <Spin spinning={this.state.loading}>
+              <div style={{ margin: 20 }}>
+                <div style={{ marginBottom: 20 }}>
+                  <Table
+                    bordered
+                    columns={this.state.columns}
+                    dataSource={this.state.newData}
+                    scroll={{ x: "max-content", y: 0 }}
+                    pagination={false}
+                    onRowDoubleClick={this.tableRowClick.bind(this)}
+                    size="small"
+                  />
+                </div>
+                <div>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "开票历史记录" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.inRecordData();
+                      this.setState({
+                        newVisible: "开票历史记录"
+                      });
+                    }}
+                  >
+                    查看开票详情
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "详细收款流水" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.waterData();
+                      this.setState({
+                        newVisible: "详细收款流水",
+                      });
+                    }}
+                  >
+                    详情收款流水
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "工时详情" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.timeData();
+                      this.setState({
+                        newVisible: "工时详情",
+                      });
+                    }}
+                  >
+                    工时信息
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "催款详情" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.cuiData();
+                      this.setState({
+                        newVisible: "催款详情",
+                      });
+                    }}
+                  >
+                    催款信息
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "项目进度" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.proData();
+                      this.setState({
+                        newVisible: "项目进度",
+                      });
+                    }}
+                  >
+                    项目进度
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "公出详细列表" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.pubData();
+                      this.selectSuperId();
+                      this.setState({
+                        newVisible: "公出详细列表",
+                      });
+                    }}
+                  >
+                    查看公出
+                  </Button>
+                </div>
+                {
+                  this.state.newVisible == "公出详细列表" &&
+                  <div
+                    className="user-search"
+                    style={{
+                      marginTop: "10px",
+                      marginLeft: "10px",
+                      marginRight: "10px",
+                    }}
+                  >
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择审核状态"
+                        style={{ width: 120 }}
+                        value={this.state.status}
+                        onChange={(e) => {
+                          this.setState({ status: e });
+                        }}
+                      >
+                        {clockState.map((v, k) => (
+                          <Select.Option key={k} value={v.id}>
+                            {v.title}
+                          </Select.Option>
+                        ))}
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择打卡状态"
+                        style={{ width: 120 }}
+                        value={this.state.clockIn}
+                        onChange={(e) => {
+                          this.setState({ clockIn: e });
+                        }}
+                      >
+                        <Select.Option value={1}>已打卡</Select.Option>
+                        <Select.Option value={0}>未打卡</Select.Option>
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择公出类型"
+                        style={{ width: 120 }}
+                        value={this.state.type}
+                        onChange={(e) => {
+                          this.setState({ type: e });
+                        }}
+                      >
+                        <Select.Option value={0}>业务打卡</Select.Option>
+                        <Select.Option value={1}>技术打卡</Select.Option>
+                        <Select.Option value={2}>行政打卡</Select.Option>
+                        <Select.Option value={3}>技术协单</Select.Option>
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <AutoComplete
+                        className="certain-category-search"
+                        dropdownClassName="certain-category-search-dropdown"
+                        dropdownMatchSelectWidth={false}
+                        style={{ width: "120px" }}
+                        dataSource={options}
+                        placeholder="输入公出申请人"
+                        value={this.state.auto}
+                        onChange={this.httpChange}
+                        filterOption={true}
+                        onBlur={this.blurChange}
+                        onSelect={this.selectAuto}
+                      >
+                        <Input />
+                      </AutoComplete>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <AutoComplete
+                        className="certain-category-search"
+                        dropdownClassName="certain-category-search-dropdown"
+                        dropdownMatchSelectWidth={false}
+                        style={{ width: "120px" }}
+                        dataSource={options1}
+                        placeholder="输入跟单人"
+                        value={this.state.auto1}
+                        onChange={this.httpChange1}
+                        filterOption={true}
+                        onBlur={this.blurChange1}
+                        onSelect={this.selectAuto1}
+                      >
+                        <Input />
+                      </AutoComplete>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择公出部门"
+                        style={{ width: 200 }}
+                        value={this.state.depId}
+                        onChange={(e) => {
+                          this.setState({ depId: e });
+                        }}
+                        notFoundContent="未获取到上级组织列表"
+                      >
+                        {this.state.contactsOption}
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <span style={{ marginRight: "5px", marginBottom: "10px" }}>
+                        公出时间 :
+                      </span>
+                      <RangePicker
+                        style={{ marginRight: "10px", marginBottom: "10px" }}
+                        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 });
+                        }}
+                      />
+                    </span>
+                    <Button
+                      type="primary"
+                      onClick={() => {
+                        this.pubData();
+                      }}
+                      style={{ marginRight: "10px", marginBottom: "10px" }}
+                    >
+                      搜索
+                    </Button>
+                    <Button
+                      onClick={this.resetAll}
+                      style={{ marginRight: "10px", marginBottom: "10px" }}
+                    >
+                      重置
+                    </Button>
+                  </div>
+                }
+                {
+                  this.state.newVisible == "催款详情"
+                    ? <Tabs activeKey={this.state.cuiTabKey} onChange={this.cuiTabChange}>
+                      <TabPane tab="催款节点" key="1">
+                        <Spin spinning={this.state.loading}>
+                          <div
+                            className="patent-table"
+                            ref={(e) => {
+                              this.refs.all = e;
+                            }}
+                          >
+                            <Table
+                              columns={this.state.cuiColumns}
+                              dataSource={this.state.cuiDataList}
+                              scroll={{ x: "max-content", y: 0 }}
+                              pagination={false}
+                              bordered
+                              size="small"
+                            />
+                          </div>
+                          <Button
+                            type="primary"
+                            style={{
+                              float: "right",
+                              marginTop: 10,
+                              position: "absolute",
+                              top: "-60px",
+                              right: "100px",
+                            }}
+                            loading={this.state.exportPendingLoading}
+                            onClick={() => { this.exportCui() }}
+                          >
+                            导出
+                          </Button>
+                          <ReactToPrint
+                            trigger={() => (
+                              <Button
+                                type="primary"
+                                style={{
+                                  float: "right",
+                                  marginTop: 10,
+                                  position: "absolute",
+                                  top: "-60px",
+                                  right: "10px",
+                                }}
+                              >
+                                打印
+                              </Button>
+                            )}
+                            content={() => this.refs.all}
+                          />
+                        </Spin>
+                      </TabPane>
+                      <TabPane tab="欠款催收记录" key="2">
+                        <Spin spinning={this.state.loading}>
+                          <div
+                            className="patent-table"
+                            ref={(e) => {
+                              this.refs.all = e;
+                            }}
+                          >
+                            <Table
+                              columns={this.state.qianColumns}
+                              dataSource={this.state.qianDataList}
+                              scroll={{ x: "max-content", y: 0 }}
+                              pagination={false}
+                              bordered
+                              size="small"
+                            />
+                          </div>
+
+                          <ReactToPrint
+                            trigger={() => (
+                              <Button
+                                type="primary"
+                                style={{
+                                  float: "right",
+                                  marginTop: 10,
+                                  position: "absolute",
+                                  top: "-60px",
+                                  right: "10px",
+                                }}
+                              >
+                                打印
+                              </Button>
+                            )}
+                            content={() => this.refs.all}
+                          />
+                        </Spin>
+                      </TabPane>
+                    </Tabs>
+                    : <div
+                      className="patent-table"
+                      style={{ position: "relative" }}
+                      ref={(e) => {
+                        this.refs.all = e;
+                      }}
+                    >
+                      <Table
+                        bordered
+                        columns={
+                          this.state.newVisible == "开票历史记录"
+                            ? this.state.columnsDate : this.state.newVisible == "详细收款流水"
+                              ? this.state.waterlistDate : this.state.newVisible == "工时详情"
+                                ? this.state.timeColumns : this.state.newVisible == "催款详情"
+                                  ? this.state.cuiColumns : this.state.newVisible == "项目进度"
+                                    ? this.state.proColumns : this.state.newVisible == "公出详细列表"
+                                    && this.state.pubColumns
+                        }
+                        dataSource={
+                          this.state.newVisible == "开票历史记录"
+                            ? this.state.recordData : this.state.newVisible == "详细收款流水"
+                              ? this.state.waterData : this.state.newVisible == "工时详情"
+                                ? this.state.timeDataList : this.state.newVisible == "催款详情"
+                                  ? this.state.cuiDataList : this.state.newVisible == "项目进度"
+                                    ? this.state.proDataList : this.state.newVisible == "公出详细列表"
+                                    && this.state.pubDataList
+                        }
+                        pagination={false}
+                        scroll={{ x: "max-content", y: 0 }}
+                        size="small"
+                      />
+                      {
+                        this.state.newVisible == "开票历史记录" &&
+                        <div className="clearfix" style={{ marginTop: "20px" }}>
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label={<span style={{ fontSize: "14px" }}>开票总计</span>}
+                          >
+                            <span>{this.state.sum + "(万元)"}</span>
+                          </FormItem>
+                        </div>
+                      }
+                      {
+                        this.state.newVisible == "开票历史记录" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportKaip() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "开票历史记录" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >打印</Button>
+                          )}
+                          content={() => this.refs.kaiPiao}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "详细收款流水" &&
+                        <div className="clearfix" style={{ marginTop: "20px" }}>
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label={<span style={{ fontSize: "14px" }}>总计金额</span>}
+                          >
+                            <span>{this.state.waterSum + "(万元)"}</span>
+                          </FormItem>
+                        </div>
+                      }
+                      {
+                        this.state.newVisible == "详细收款流水" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportWater() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "详细收款流水" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.shouKuan}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "工时详情" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportTime() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "工时详情" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.all}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "项目进度" &&
+                        <span style={{ display: "block", marginTop: 10, color: "red" }}>
+                          外包(内部)价格总计(万元):{this.state.totalWaibao}
+                        </span>
+                      }
+                      {
+                        this.state.newVisible == "项目进度" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportPro() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "项目进度" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.all}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "公出详细列表" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-90px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.pubexportExec() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "公出详细列表" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-90px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.all}
+                        />
+                      }
+                    </div>
+                }
+              </div>
+            </Spin>
+          </Modal>
+        }
         <textarea id="copyText" style={{ opacity: 0 }} />
       </div>
     );

+ 755 - 24
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -398,7 +398,7 @@ const ShouKuang = React.createClass({
           title: "审核状态",
           dataIndex: "status",
           key: "status",
-          width: 55,
+          width: 110,
           render: (text, record) => (
             <div style={{ display: "flex", flexDirection: "row", flexWrap: "warp" }}>
               <Tag color={getClockState(text).color}>
@@ -1165,6 +1165,26 @@ const ShouKuang = React.createClass({
           className: "title-table",
         },
         {
+          title: "订单类型",
+          dataIndex: "serviceType",
+          key: "serviceType",
+          className: "title-table",
+          width: 150,
+          render: (text) => {
+            return !!text && text.replace(/[,,]/g, "+");
+          }
+        },
+        {
+          title: "订单内容",
+          dataIndex: "serviceProject",
+          key: "serviceProject",
+          className: "title-table",
+          render: (text) => {
+            return (<div dangerouslySetInnerHTML={{ __html: !!text && text.replace(/[,,]/g, "<br/>") }} />);
+            // return (<pre>{!!text && text.replace(/[,,]/g, "\n")}</pre>);
+          }
+        },
+        {
           title: "财务负责人",
           dataIndex: "financeName",
           key: "financeName",
@@ -1228,22 +1248,86 @@ const ShouKuang = React.createClass({
           }
         },
         {
-          title: "总成本(万元)",
+          title: "总成本/实付",
           dataIndex: "costAmount",
           key: "costAmount",
           className: "title-table",
-          render: (text) => {
-            return isNaN(parseFloat(text)) ? text : parseFloat(text);
-          }
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.paymentAmount)) ? text : parseFloat(record.paymentAmount)}
+              </span>
+            )
+          },
         },
         {
-          title: "已付成本(万元)",
-          dataIndex: "paymentAmount",
-          key: "paymentAmount",
+          title: "专利/专利已付",
+          dataIndex: "patentCost",
+          key: "patentCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.patentCostActual)) ? text : parseFloat(record.patentCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "软著/软著已付",
+          dataIndex: "softCost",
+          key: "softCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.softCostActual)) ? text : parseFloat(record.softCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "审计/审计已付",
+          dataIndex: "auditCost",
+          key: "auditCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.auditCostActual)) ? text : parseFloat(record.auditCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "其他/其他已付",
+          dataIndex: "otherCost",
+          key: "otherCost",
+          className: "title-table",
+          render: (text, record) => {
+            return (
+              <span>
+                {isNaN(parseFloat(text)) ? text : parseFloat(text)}/
+                {isNaN(parseFloat(record.otherCostActual)) ? text : parseFloat(record.otherCostActual)}
+              </span>
+            )
+          },
+        },
+        {
+          title: "预估毛利(万元)",
+          dataIndex: "expectProfit",
+          key: "expectProfit",
+          className: "title-table",
+        },
+        {
+          title: "实际毛利(万元)",
+          dataIndex: "actualProfit",
+          key: "actualProfit",
           className: "title-table",
-          render: (text) => {
-            return isNaN(parseFloat(text)) ? text : parseFloat(text);
-          }
         },
         {
           title: "最近收款(万元)",
@@ -1496,6 +1580,7 @@ const ShouKuang = React.createClass({
         },
       ],
       waterData: [],
+      newVisible: "",
     };
   },
 
@@ -1728,7 +1813,11 @@ const ShouKuang = React.createClass({
     //     }
     //   }
     // }
-    this.setState({ selectedRowKeys, selectedRows });
+    this.setState({
+      selectedRowKeys,
+      selectedRows,
+      newData: selectedRows,
+    });
   },
   inRecordCanl() {
     this.setState({
@@ -1878,6 +1967,15 @@ const ShouKuang = React.createClass({
       deps: this.state.departmenttList,
       contractNo: this.state.contractNoSearch,
       processStatus: this.state.processStatusSearch,
+      startTime: this.state.releaseDate[0],
+      endTime: this.state.releaseDate[1],
+      startFinalReceivablesTime: this.state.shouKuanDate[0],
+      endFinalReceivablesTime: this.state.shouKuanDate[1],
+      contractNo: this.state.contractNoSearch,
+      liquidationStatus: this.state.liquidationStatus,
+      amountStatus: this.state.amountStatus,
+      approval: this.state.approval,
+      projectType: this.state.projectType,
     };
     $.ajax({
       method: "get",
@@ -2007,18 +2105,55 @@ const ShouKuang = React.createClass({
       "/api/admin/newOrder/exportOrderTaskData?" +
       $.param(data);
   },
+  // exportCui() {
+  //   const data = {
+  //     orderNo: this.state.selectedRowKeys[0]
+  //       ? this.state.selectedRowKeys[0]
+  //       : undefined, //订单编号
+  //     // specially: 1,
+  //     pageSize: 9999999,
+  //   };
+  //   window.location.href =
+  //     globalConfig.context +
+  //     "/api/admin/newOrder/exportOrderDunData?" +
+  //     $.param(data);
+  // },
   exportCui() {
-    var data = {
+    this.setState({
+      exportPendingLoading: true,
+    });
+    message.config({
+      duration: 20,
+    });
+    let loading = message.loading("下载中...");
+    let data = {
       orderNo: this.state.selectedRowKeys[0]
         ? this.state.selectedRowKeys[0]
         : undefined, //订单编号
-      // specially: 1,
       pageSize: 9999999,
     };
-    window.location.href =
-      globalConfig.context +
-      "/api/admin/newOrder/exportOrderDunData?" +
-      $.param(data);
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url:
+        globalConfig.context + "/api/admin/newOrder/exportOrderDunData",
+      data,
+      success: function (data) {
+        if (data.error.length === 0) {
+          this.download(data.data);
+        } else {
+          message.warning(data.error[0].message);
+        }
+      }.bind(this),
+    }).always(
+      function () {
+        loading();
+        this.setState({
+          exportPendingLoading: false,
+        });
+      }.bind(this)
+    );
   },
   cuiData() {
     this.setState({
@@ -2885,7 +3020,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.inRecordData();
                 this.setState({
-                  bvisible: true,
+                  // bvisible: true,
+                  newVisible: "开票历史记录",
                 });
               }}
             >
@@ -2898,7 +3034,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.waterData();
                 this.setState({
-                  cvisible: true,
+                  // cvisible: true,
+                  newVisible: "详细收款流水",
                 });
               }}
             >
@@ -2911,7 +3048,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.timeData();
                 this.setState({
-                  timeVisible: true,
+                  // timeVisible: true,
+                  newVisible: "工时详情",
                 });
               }}
             >
@@ -2924,7 +3062,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.cuiData();
                 this.setState({
-                  cuiVisible: true,
+                  // cuiVisible: true,
+                  newVisible: "催款详情",
                 });
               }}
             >
@@ -2937,7 +3076,8 @@ const ShouKuang = React.createClass({
               onClick={() => {
                 this.proData();
                 this.setState({
-                  proVisible: true,
+                  // proVisible: true,
+                  newVisible: "项目进度",
                 });
               }}
             >
@@ -2951,7 +3091,8 @@ const ShouKuang = React.createClass({
                 this.pubData();
                 this.selectSuperId();
                 this.setState({
-                  pubVisible: true,
+                  // pubVisible: true,
+                  newVisible: "公出详细列表",
                 });
               }}
             >
@@ -3690,6 +3831,596 @@ const ShouKuang = React.createClass({
           onCancel={this.visitCancels}
           loading={this.state.loading}
         />
+
+        {/* 合并查看 */}
+        {
+          this.state.newVisible != "" &&
+          <Modal
+            visible={this.state.newVisible != ""}
+            footer=""
+            title={this.state.newVisible}
+            className="admin-desc-content"
+            width="1500px"
+            pagination={false}
+            onCancel={() => {
+              this.setState({
+                newVisible: "",
+              });
+            }}
+          >
+            <Spin spinning={this.state.loading}>
+              <div style={{ margin: 20 }}>
+                <div style={{ marginBottom: 20 }}>
+                  <Table
+                    bordered
+                    columns={this.state.columns}
+                    dataSource={this.state.newData}
+                    scroll={{ x: "max-content", y: 0 }}
+                    pagination={false}
+                    onRowDoubleClick={this.tableRowClick.bind(this)}
+                    size="small"
+                  />
+                </div>
+                <div>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "开票历史记录" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.inRecordData();
+                      this.setState({
+                        newVisible: "开票历史记录"
+                      });
+                    }}
+                  >
+                    查看开票详情
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "详细收款流水" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.waterData();
+                      this.setState({
+                        newVisible: "详细收款流水",
+                      });
+                    }}
+                  >
+                    详情收款流水
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "工时详情" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.timeData();
+                      this.setState({
+                        newVisible: "工时详情",
+                      });
+                    }}
+                  >
+                    工时信息
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "催款详情" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.cuiData();
+                      this.setState({
+                        newVisible: "催款详情",
+                      });
+                    }}
+                  >
+                    催款信息
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "项目进度" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.proData();
+                      this.setState({
+                        newVisible: "项目进度",
+                      });
+                    }}
+                  >
+                    项目进度
+                  </Button>
+                  <Button
+                    type="primary"
+                    style={{
+                      margin: "11px 0px 10px 10px",
+                      background: this.state.newVisible == "公出详细列表" ? "#f04134" : "",
+                    }}
+                    onClick={() => {
+                      this.pubData();
+                      this.selectSuperId();
+                      this.setState({
+                        newVisible: "公出详细列表",
+                      });
+                    }}
+                  >
+                    查看公出
+                  </Button>
+                </div>
+                {
+                  this.state.newVisible == "公出详细列表" &&
+                  <div
+                    className="user-search"
+                    style={{
+                      marginTop: "10px",
+                      marginLeft: "10px",
+                      marginRight: "10px",
+                    }}
+                  >
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择审核状态"
+                        style={{ width: 120 }}
+                        value={this.state.status}
+                        onChange={(e) => {
+                          this.setState({ status: e });
+                        }}
+                      >
+                        {clockState.map((v, k) => (
+                          <Select.Option key={k} value={v.id}>
+                            {v.title}
+                          </Select.Option>
+                        ))}
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择打卡状态"
+                        style={{ width: 120 }}
+                        value={this.state.clockIn}
+                        onChange={(e) => {
+                          this.setState({ clockIn: e });
+                        }}
+                      >
+                        <Select.Option value={1}>已打卡</Select.Option>
+                        <Select.Option value={0}>未打卡</Select.Option>
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择公出类型"
+                        style={{ width: 120 }}
+                        value={this.state.type}
+                        onChange={(e) => {
+                          this.setState({ type: e });
+                        }}
+                      >
+                        <Select.Option value={0}>业务打卡</Select.Option>
+                        <Select.Option value={1}>技术打卡</Select.Option>
+                        <Select.Option value={2}>行政打卡</Select.Option>
+                        <Select.Option value={3}>技术协单</Select.Option>
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <AutoComplete
+                        className="certain-category-search"
+                        dropdownClassName="certain-category-search-dropdown"
+                        dropdownMatchSelectWidth={false}
+                        style={{ width: "120px" }}
+                        dataSource={options}
+                        placeholder="输入公出申请人"
+                        value={this.state.auto}
+                        onChange={this.httpChange}
+                        filterOption={true}
+                        onBlur={this.blurChange}
+                        onSelect={this.selectAuto}
+                      >
+                        <Input />
+                      </AutoComplete>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <AutoComplete
+                        className="certain-category-search"
+                        dropdownClassName="certain-category-search-dropdown"
+                        dropdownMatchSelectWidth={false}
+                        style={{ width: "120px" }}
+                        dataSource={options1}
+                        placeholder="输入跟单人"
+                        value={this.state.auto1}
+                        onChange={this.httpChange1}
+                        filterOption={true}
+                        onBlur={this.blurChange1}
+                        onSelect={this.selectAuto1}
+                      >
+                        <Input />
+                      </AutoComplete>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <Select
+                        placeholder="请选择公出部门"
+                        style={{ width: 200 }}
+                        value={this.state.depId}
+                        onChange={(e) => {
+                          this.setState({ depId: e });
+                        }}
+                        notFoundContent="未获取到上级组织列表"
+                      >
+                        {this.state.contactsOption}
+                      </Select>
+                    </span>
+                    <span style={{ marginRight: "10px" }}>
+                      <span style={{ marginRight: "5px", marginBottom: "10px" }}>
+                        公出时间 :
+                      </span>
+                      <RangePicker
+                        style={{ marginRight: "10px", marginBottom: "10px" }}
+                        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 });
+                        }}
+                      />
+                    </span>
+                    <Button
+                      type="primary"
+                      onClick={() => {
+                        this.pubData();
+                      }}
+                      style={{ marginRight: "10px", marginBottom: "10px" }}
+                    >
+                      搜索
+                    </Button>
+                    <Button
+                      onClick={this.resetAll}
+                      style={{ marginRight: "10px", marginBottom: "10px" }}
+                    >
+                      重置
+                    </Button>
+                  </div>
+                }
+                {
+                  this.state.newVisible == "催款详情"
+                    ? <Tabs activeKey={this.state.cuiTabKey} onChange={this.cuiTabChange}>
+                      <TabPane tab="催款节点" key="1">
+                        <Spin spinning={this.state.loading}>
+                          <div
+                            className="patent-table"
+                            ref={(e) => {
+                              this.refs.all = e;
+                            }}
+                          >
+                            <Table
+                              columns={this.state.cuiColumns}
+                              dataSource={this.state.cuiDataList}
+                              scroll={{ x: "max-content", y: 0 }}
+                              pagination={false}
+                              bordered
+                              size="small"
+                            />
+                          </div>
+                          <Button
+                            type="primary"
+                            style={{
+                              float: "right",
+                              marginTop: 10,
+                              position: "absolute",
+                              top: "-60px",
+                              right: "100px",
+                            }}
+                            loading={this.state.exportPendingLoading}
+                            onClick={() => { this.exportCui() }}
+                          >
+                            导出
+                          </Button>
+                          <ReactToPrint
+                            trigger={() => (
+                              <Button
+                                type="primary"
+                                style={{
+                                  float: "right",
+                                  marginTop: 10,
+                                  position: "absolute",
+                                  top: "-60px",
+                                  right: "10px",
+                                }}
+                              >
+                                打印
+                              </Button>
+                            )}
+                            content={() => this.refs.all}
+                          />
+                        </Spin>
+                      </TabPane>
+                      <TabPane tab="欠款催收记录" key="2">
+                        <Spin spinning={this.state.loading}>
+                          <div
+                            className="patent-table"
+                            ref={(e) => {
+                              this.refs.all = e;
+                            }}
+                          >
+                            <Table
+                              columns={this.state.qianColumns}
+                              dataSource={this.state.qianDataList}
+                              scroll={{ x: "max-content", y: 0 }}
+                              pagination={false}
+                              bordered
+                              size="small"
+                            />
+                          </div>
+
+                          <ReactToPrint
+                            trigger={() => (
+                              <Button
+                                type="primary"
+                                style={{
+                                  float: "right",
+                                  marginTop: 10,
+                                  position: "absolute",
+                                  top: "-60px",
+                                  right: "10px",
+                                }}
+                              >
+                                打印
+                              </Button>
+                            )}
+                            content={() => this.refs.all}
+                          />
+                        </Spin>
+                      </TabPane>
+                    </Tabs>
+                    : <div
+                      className="patent-table"
+                      style={{ position: "relative" }}
+                      ref={(e) => {
+                        this.refs.all = e;
+                      }}
+                    >
+                      <Table
+                        bordered
+                        columns={
+                          this.state.newVisible == "开票历史记录"
+                            ? this.state.columnsDate : this.state.newVisible == "详细收款流水"
+                              ? this.state.waterlistDate : this.state.newVisible == "工时详情"
+                                ? this.state.timeColumns : this.state.newVisible == "催款详情"
+                                  ? this.state.cuiColumns : this.state.newVisible == "项目进度"
+                                    ? this.state.proColumns : this.state.newVisible == "公出详细列表"
+                                    && this.state.pubColumns
+                        }
+                        dataSource={
+                          this.state.newVisible == "开票历史记录"
+                            ? this.state.recordData : this.state.newVisible == "详细收款流水"
+                              ? this.state.waterData : this.state.newVisible == "工时详情"
+                                ? this.state.timeDataList : this.state.newVisible == "催款详情"
+                                  ? this.state.cuiDataList : this.state.newVisible == "项目进度"
+                                    ? this.state.proDataList : this.state.newVisible == "公出详细列表"
+                                    && this.state.pubDataList
+                        }
+                        pagination={false}
+                        scroll={{ x: "max-content", y: 0 }}
+                        size="small"
+                      />
+                      {
+                        this.state.newVisible == "开票历史记录" &&
+                        <div className="clearfix" style={{ marginTop: "20px" }}>
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label={<span style={{ fontSize: "14px" }}>开票总计</span>}
+                          >
+                            <span>{this.state.sum + "(万元)"}</span>
+                          </FormItem>
+                        </div>
+                      }
+                      {
+                        this.state.newVisible == "开票历史记录" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportKaip() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "开票历史记录" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >打印</Button>
+                          )}
+                          content={() => this.refs.kaiPiao}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "详细收款流水" &&
+                        <div className="clearfix" style={{ marginTop: "20px" }}>
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label={<span style={{ fontSize: "14px" }}>总计金额</span>}
+                          >
+                            <span>{this.state.waterSum + "(万元)"}</span>
+                          </FormItem>
+                        </div>
+                      }
+                      {
+                        this.state.newVisible == "详细收款流水" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportWater() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "详细收款流水" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.shouKuan}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "工时详情" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportTime() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "工时详情" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.all}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "项目进度" &&
+                        <span style={{ display: "block", marginTop: 10, color: "red" }}>
+                          外包(内部)价格总计(万元):{this.state.totalWaibao}
+                        </span>
+                      }
+                      {
+                        this.state.newVisible == "项目进度" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-40px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.exportPro() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "项目进度" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-40px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.all}
+                        />
+                      }
+                      {
+                        this.state.newVisible == "公出详细列表" &&
+                        <Button
+                          type="primary"
+                          style={{
+                            float: "right",
+                            position: "absolute",
+                            top: "-90px",
+                            right: "100px",
+                          }}
+                          loading={this.state.exportPendingLoading}
+                          onClick={() => { this.pubexportExec() }}
+                        >
+                          导出
+                        </Button>
+                      }
+                      {
+                        this.state.newVisible == "公出详细列表" &&
+                        <ReactToPrint
+                          trigger={() => (
+                            <Button
+                              type="primary"
+                              style={{
+                                float: "right",
+                                position: "absolute",
+                                top: "-90px",
+                                right: "10px",
+                              }}
+                            >
+                              打印
+                            </Button>
+                          )}
+                          content={() => this.refs.all}
+                        />
+                      }
+                    </div>
+                }
+              </div>
+            </Spin>
+          </Modal>
+        }
         <textarea id="copyText" style={{ opacity: 0 }} />
       </div>
     );

+ 2 - 1
js/component/manageCenter/order/orderNew/costAuditList/detailsModal/projectOverview.js

@@ -13,7 +13,8 @@ import {
     Table,
     Tabs,
     Tag,
-    Upload
+    Upload,
+    Tooltip,
 } from "antd";
 import Picture from '@/manageCenter/publicComponent/picture'
 import {

+ 47 - 45
js/component/manageCenter/project/task/myTask.jsx

@@ -6712,51 +6712,53 @@ const Task = React.createClass({
                         </p>
                     </Spin>
                 </Modal> : null}
-                {this.state.ThirdListVisible ? <NewSupplier
-                    patentNameType={this.state.patentNameType}
-                    ThirdId={this.state.ThirdId}
-                    tid={this.state.tid}
-                    patentType={this.state.patentType}
-                    projectType={this.state.startType === 0 ? 0 : this.state.projectType}
-                    realProjectType={this.state.projectType}       //真实的项目类型
-                    startType={this.state.startType}               //项目类型 0外包  1供应商
-                    thirdCompanyName={this.state.thirdCompanyName}
-                    thirdUnitPrice={this.state.thirdUnitPrice}
-                    thirdQuantity={this.state.thirdQuantity}
-                    thirdRemarks={this.state.thirdRemarks}
-                    spinning={this.state.loading}
-                    visible={this.state.ThirdListVisible}
-                    thirdMaterial={this.state.thirdMaterial}
-                    thirdUrgent={this.state.thirdUrgent}
-                    audit={this.state.audit}
-                    assets={this.state.assets}
-                    income={this.state.income}
-                    onDetermine={this.handleCancelq}
-                    onCancel={() => {
-                        this.thirdTable(this.state.tid);
-                        this.setState({
-                            ThirdListVisible: false,
-                            ThirdId: '', //供应商id
-                            thirdCompanyName: '', //第三方名称
-                            thirdUnitPrice: '', //单价
-                            thirdQuantity: '', //数量
-                            currentTotalPrice: '', //总价
-                            thirdMaterial: 0, //有无材料
-                            thirdUrgent: 0, //加急情况
-                            thirdRemarks: '',
-                            audit: 1,
-                            assets: '',
-                            income: '',
-                        })
-                    }}
-                    otherOperations={(data) => {
-                        this.setState({
-                            thirdMaterial: data.thirdMaterial,
-                            thirdUrgent: data.thirdUrgent,
-                            customerArr: data.customerArr,
-                            thirdCompanyName: data.thirdCompanyName
-                        })
-                    }} /> : <div />}
+                {this.state.ThirdListVisible ?
+                    <NewSupplier
+                        patentNameType={this.state.patentNameType}
+                        ThirdId={this.state.ThirdId}
+                        tid={this.state.tid}
+                        patentType={this.state.patentType}
+                        projectType={this.state.startType === 0 ? 0 : this.state.projectType}
+                        realProjectType={this.state.projectType}       //真实的项目类型
+                        startType={this.state.startType}               //项目类型 0外包  1供应商
+                        thirdCompanyName={this.state.thirdCompanyName}
+                        thirdUnitPrice={this.state.thirdUnitPrice}
+                        thirdQuantity={this.state.thirdQuantity}
+                        thirdRemarks={this.state.thirdRemarks}
+                        spinning={this.state.loading}
+                        visible={this.state.ThirdListVisible}
+                        thirdMaterial={this.state.thirdMaterial}
+                        thirdUrgent={this.state.thirdUrgent}
+                        audit={this.state.audit}
+                        assets={this.state.assets}
+                        income={this.state.income}
+                        onDetermine={this.handleCancelq}
+                        payNodeTable={() => { this.payNodeTable(this.state.tid) }}
+                        onCancel={() => {
+                            this.thirdTable(this.state.tid);
+                            this.setState({
+                                ThirdListVisible: false,
+                                ThirdId: '', //供应商id
+                                thirdCompanyName: '', //第三方名称
+                                thirdUnitPrice: '', //单价
+                                thirdQuantity: '', //数量
+                                currentTotalPrice: '', //总价
+                                thirdMaterial: 0, //有无材料
+                                thirdUrgent: 0, //加急情况
+                                thirdRemarks: '',
+                                audit: 1,
+                                assets: '',
+                                income: '',
+                            })
+                        }}
+                        otherOperations={(data) => {
+                            this.setState({
+                                thirdMaterial: data.thirdMaterial,
+                                thirdUrgent: data.thirdUrgent,
+                                customerArr: data.customerArr,
+                                thirdCompanyName: data.thirdCompanyName
+                            })
+                        }} /> : <div />}
                 {this.state.PayNodeVisible ? <OperationPayNode
                     tid={this.state.tid}
                     cSort={this.state.cSort}

+ 38 - 37
js/component/manageCenter/project/task/newSupplier.js

@@ -1,5 +1,5 @@
-import React,{Component} from 'react';
-import {AutoComplete, Button, Form, Input, message, Modal, InputNumber, Select, Spin} from "antd";
+import React, { Component } from 'react';
+import { AutoComplete, Button, Form, Input, message, Modal, InputNumber, Select, Spin } from "antd";
 import {
     getMaterialStatus,
     getUrgentStatus,
@@ -14,10 +14,10 @@ const formItemLayout = {
     wrapperCol: { span: 14 },
 }
 
-class NewSupplier extends Component{
+class NewSupplier extends Component {
     constructor(props) {
         super(props);
-        this.state={
+        this.state = {
             thirdCompanyName: props.thirdCompanyName && props.thirdCompanyName.split('-')[0],
             thirdUnitPrice: props.thirdUnitPrice || 0,
             thirdQuantity: props.thirdQuantity || 0,
@@ -37,7 +37,7 @@ class NewSupplier extends Component{
     }
 
     componentDidMount() {
-        if(this.props.ThirdId){
+        if (this.props.ThirdId) {
             this.supervisor(this.state.thirdCompanyName)
         }
     }
@@ -71,7 +71,7 @@ class NewSupplier extends Component{
                 type:
                     this.props.projectType === 2 ?
                         0 :
-                    (this.props.projectType === 1 && this.props.patentType === 0) ? 2 : 1     //this.props.projectType 0正常 1专利 2软著 3审计    this.props.patentType 0:专利申请/变更/转让  1:专利买卖
+                        (this.props.projectType === 1 && this.props.patentType === 0) ? 2 : 1     //this.props.projectType 0正常 1专利 2软著 3审计    this.props.patentType 0:专利申请/变更/转让  1:专利买卖
             },
             success: function (data) {
                 let thedata = data.data
@@ -121,36 +121,36 @@ class NewSupplier extends Component{
             api = '/api/admin/company/addCompany'
         }
 
-        if(!this.state.thirdCompanyName){
+        if (!this.state.thirdCompanyName) {
             message.warning('请输入供应商名称')
             return;
         }
 
-        if(!this.state.thirdUnitPrice && this.props.projectType !== 2 && !(this.props.projectType === 1 && this.props.patentType ===0)){
+        if (!this.state.thirdUnitPrice && this.props.projectType !== 2 && !(this.props.projectType === 1 && this.props.patentType === 0)) {
             message.warning('请输入正确的单价')
             return;
         }
 
-        if(!this.state.thirdQuantity){
+        if (!this.state.thirdQuantity) {
             message.warning('请输入数量')
             return;
         }
 
         let customerId = 0;
-        let isHave =this.state.customerArr.some((value)=>{
-            if(value.companyName === this.state.thirdCompanyName){
+        let isHave = this.state.customerArr.some((value) => {
+            if (value.companyName === this.state.thirdCompanyName) {
                 customerId = value.id
                 return true;
             }
         });
         //软著  必须要使用查询出来第三方名称和对应id
-        if(!isHave && this.props.projectType === 2){   //projectType   0正常 1专利 2软著 3审计
+        if (!isHave && this.props.projectType === 2) {   //projectType   0正常 1专利 2软著 3审计
             message.warning('请输入正确的供应商名称')
             return;
         }
 
         //专利  必须要使用查询出来第三方名称和对应id
-        if(!isHave && this.props.projectType === 1 && this.props.patentType === 0){   //projectType   0正常 1专利 2软著 3审计   patentType  0:专利申请/变更/转让  1:专利买卖
+        if (!isHave && this.props.projectType === 1 && this.props.patentType === 0) {   //projectType   0正常 1专利 2软著 3审计   patentType  0:专利申请/变更/转让  1:专利买卖
             message.warning('请输入正确的供应商名称')
             return;
         }
@@ -162,39 +162,39 @@ class NewSupplier extends Component{
             quantity: this.state.thirdQuantity,         //数量
             remarks: this.state.thirdRemarks,           //备注
         }
-        if(isHave){
+        if (isHave) {
             data.cid = customerId     //公司id            只有软著类要传cid,其他类型都是非必填的
         }
-        if(this.props.projectType === 2){
+        if (this.props.projectType === 2) {
             data.material = this.state.thirdMaterial;   //材料
             data.urgent = this.state.thirdUrgent;       //加急
             data.calculation = 1;                       //0 其他 1软著 2专利
-        }else{                                          //非软著类需要传总金额
+        } else {                                          //非软著类需要传总金额
             data.totalAmount = (this.state.thirdQuantity * 1000000) * (this.state.thirdUnitPrice * 1000000) / 1000000 / 1000000;
             data.calculation = 0;                       //0 其他 1软著 2专利
         }
-        if(this.props.projectType === 1 && this.props.patentType === 0){
+        if (this.props.projectType === 1 && this.props.patentType === 0) {
             data.calculation = 2;                       //0 其他 1软著 2专利
         }
 
         // data.type = this.props.realProjectType === 1 ? (this.props.patentType === 0 ? 1 : 2) : 0   //0其他 1专利申请 2专利买卖
-        if(this.props.realProjectType === 1){                   //专利
+        if (this.props.realProjectType === 1) {                   //专利
             data.patentType = this.props.patentType === 0 ? 0 : 1;     //专利类型
-            data.patentNameType =this.props.patentNameType;                                                     //专利名称
+            data.patentNameType = this.props.patentNameType;                                                     //专利名称
         }
 
         data.startType = this.props.startType;     //项目类型 0外包  1供应商
 
-        if(this.props.projectType === 3){
-            if(!this.state.audit){
+        if (this.props.projectType === 3) {
+            if (!this.state.audit) {
                 message.warning("请选择审计!");
                 return false;
             }
-            if(!this.state.assets){
+            if (!this.state.assets) {
                 message.warning("请输入公司资产!");
                 return false;
             }
-            if(!this.state.income){
+            if (!this.state.income) {
                 message.warning("请输入收入!");
                 return false;
             }
@@ -202,18 +202,18 @@ class NewSupplier extends Component{
 
         //projectType   0正常 1专利 2软著 3审计
         //软著不需要传 单价
-        if(this.props.projectType !== 2){
+        if (this.props.projectType !== 2) {
             data.unitPrice = this.state.thirdUnitPrice;       //单价
         }
 
-        if(this.props.projectType === 3){                   //审计
+        if (this.props.projectType === 3) {                   //审计
             data.assets = this.state.assets; //资产
             data.audit = this.state.audit;   //0无审计 1年审 2专审
             data.income = this.state.income;   //收入
         }
 
         //已经发起的供应商项目新增第三方时需要传type=1
-        if(this.props.isLaunch && !this.props.ThirdId && this.props.startType === 1){
+        if (this.props.isLaunch && !this.props.ThirdId && this.props.startType === 1) {
             data.type = 1;   //在发起供应商后,新增第三方需要加上type=1,因为在发起供应商会计算成本,这个新增的需要单独去计算
         }
 
@@ -241,6 +241,7 @@ class NewSupplier extends Component{
                         thirdRemarks: '',
                         thirdUrgent: 0,
                     })
+                    this.props.payNodeTable();
                     this.props.onCancel();
                 } else {
                     message.warning(data.error[0].message)
@@ -250,7 +251,7 @@ class NewSupplier extends Component{
     }
 
     render() {
-        return(
+        return (
             <Modal
                 maskClosable={false}
                 visible={this.props.visible}
@@ -276,8 +277,8 @@ class NewSupplier extends Component{
                                     label="供应商名称"
                                     help={
                                         this.props.projectType === 2 ||
-                                        (this.props.projectType === 1 &&
-                                        this.props.patentType === 0) ? '输入供应商关键字,并选择系统后台已有供应商,如“长沙科明”' : ''
+                                            (this.props.projectType === 1 &&
+                                                this.props.patentType === 0) ? '输入供应商关键字,并选择系统后台已有供应商,如“长沙科明”' : ''
                                     }
                                 >
                                     <AutoComplete
@@ -293,7 +294,7 @@ class NewSupplier extends Component{
                                         ))}
                                         placeholder="请输入供应商名称"
                                         value={this.state.thirdCompanyName}
-                                        onChange={(e)=>{
+                                        onChange={(e) => {
                                             this.httpChange(e)
                                         }}
                                         filterOption={true}
@@ -303,7 +304,7 @@ class NewSupplier extends Component{
                                 </Form.Item>
                             </div>
                             {/*projectType 0正常 1专利 2软著 3审计*/}
-                            {this.props.projectType !== 2 && !(this.props.projectType === 1 && this.props.patentType ===0) ?<div className="clearfix">
+                            {this.props.projectType !== 2 && !(this.props.projectType === 1 && this.props.patentType === 0) ? <div className="clearfix">
                                 <Form.Item {...formItemLayout} label="单价(万元)">
                                     <InputNumber
                                         min={0}
@@ -327,7 +328,7 @@ class NewSupplier extends Component{
                                         *
                                     </span>
                                 </Form.Item>
-                            </div> : <div/>}
+                            </div> : <div />}
                             <div className="clearfix">
                                 <Form.Item {...formItemLayout} label="数量">
                                     <InputNumber
@@ -351,7 +352,7 @@ class NewSupplier extends Component{
                                 </Form.Item>
                             </div>
                             {/*专利 的专利申请 和 软著没有总价*/}
-                            {this.props.projectType !== 2 && this.props.patentType !==0 ?<div className="clearfix">
+                            {this.props.projectType !== 2 && this.props.patentType !== 0 ? <div className="clearfix">
                                 <Form.Item {...formItemLayout} label="总价(万元)">
                                     <span>
                                         {
@@ -360,7 +361,7 @@ class NewSupplier extends Component{
                                         }
                                     </span>
                                 </Form.Item>
-                            </div> : <div/>}
+                            </div> : <div />}
                             {this.props.projectType === 2 ? <div>
                                 <div className="clearfix">
                                     <Form.Item {...formItemLayout} label="材料">
@@ -415,7 +416,7 @@ class NewSupplier extends Component{
                                         <span className="mandatory">*</span>
                                     </Form.Item>
                                 </div>
-                            </div>:<div/>}
+                            </div> : <div />}
                             {/*{*/}
                             {/*    this.props.patentType === 0 ? <div>*/}
                             {/*        <div className="clearfix">*/}
@@ -513,7 +514,7 @@ class NewSupplier extends Component{
                                             <span className="mandatory">*</span>
                                         </Form.Item>
                                     </div>
-                                </div> : <div/>
+                                </div> : <div />
                             }
                             <div className="clearfix">
                                 <Form.Item
@@ -541,7 +542,7 @@ class NewSupplier extends Component{
                                     <Button
                                         className="cancel"
                                         type="primary"
-                                        onClick={()=>{
+                                        onClick={() => {
                                             this.handleCancelq();
                                         }}
                                         style={{ marginLeft: '300px' }}

+ 18 - 15
js/component/resolutionDetail.jsx

@@ -55,7 +55,7 @@ const ResolutionDetail = React.createClass({
       data: {
         tid: this.props.detail.id
       },
-      success: function(data) {
+      success: function (data) {
         let thedata = data.data;
         let theArr = [];
         if (!thedata) {
@@ -69,7 +69,7 @@ const ResolutionDetail = React.createClass({
         }
       }.bind(this)
     }).always(
-      function() {
+      function () {
         this.setState({
           loading: false
         });
@@ -81,27 +81,30 @@ const ResolutionDetail = React.createClass({
       <Modal
         style={{ position: "relative" }}
         title="拆分记录"
+        width="700px"
         visible={this.props.visible}
         onCancel={this.props.cancel}
         footer={null}
         key={"chaifen"}
         destroyOnClose={true}
       >
-        <div>
-          <div>当前项目名称:{this.props.detail.commodityName}</div>
+        <Spin spinning={this.state.loading}>
           <div>
-            当前项目数量:
-            {this.props.detail.commodityQuantity}
+            <div>当前项目名称:{this.props.detail.commodityName}</div>
+            <div>
+              当前项目数量:
+              {this.props.detail.commodityQuantity}
+            </div>
+            <div>拆分项目列表:</div>
+            <Table
+              columns={this.state.columns}
+              dataSource={this.state.dataSource}
+              size="small"
+              pagination={false}
+              bordered
+            />
           </div>
-          <div>拆分项目列表:</div>
-          <Table
-            columns={this.state.columns}
-            dataSource={this.state.dataSource}
-            size="small"
-            pagination={false}
-            bordered
-          />
-        </div>
+        </Spin>
       </Modal>
     );
   }

+ 1 - 1
package.json

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