|
@@ -26,7 +26,9 @@ import {
|
|
|
getApproval,
|
|
|
getInvoiceStatus,
|
|
|
getTransactionProject,
|
|
|
- getTaskStatus
|
|
|
+ getTaskStatus,
|
|
|
+ getNewOrderStatus,
|
|
|
+ getProjectStatus,
|
|
|
} from "@/tools";
|
|
|
import { ChooseList } from "../../order/orderNew/chooseList"
|
|
|
const FormItem = Form.Item;
|
|
@@ -71,9 +73,9 @@ const ShouKuang = React.createClass({
|
|
|
}.bind(this)
|
|
|
);
|
|
|
},
|
|
|
- loadData(pageNo,pageSize) {
|
|
|
+ loadData(pageNo, pageSize) {
|
|
|
this.state.data = [];
|
|
|
- this.state.pagination.pageSize = 10
|
|
|
+ this.state.pagination.pageSize = 10;
|
|
|
this.setState({
|
|
|
// selectedRowKeys: [],
|
|
|
// selectedRowKey: [],
|
|
@@ -192,6 +194,161 @@ const ShouKuang = React.createClass({
|
|
|
},
|
|
|
// 子组件改变的表格title数组
|
|
|
changeList: undefined,
|
|
|
+ proColumns: [
|
|
|
+ {
|
|
|
+ title: "序号",
|
|
|
+ dataIndex: "key",
|
|
|
+ key: "key"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "合同编号",
|
|
|
+ dataIndex: "contractNo",
|
|
|
+ key: "contractNo"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "订单编号",
|
|
|
+ dataIndex: "orderNo",
|
|
|
+ key: "orderNo"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "客户名称",
|
|
|
+ dataIndex: "userName",
|
|
|
+ key: "userName"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "订单负责人",
|
|
|
+ dataIndex: "salesmanName",
|
|
|
+ key: "salesmanName"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "是否主项目",
|
|
|
+ dataIndex: "main",
|
|
|
+ key: "main",
|
|
|
+ render: text => {
|
|
|
+ return text == 0 ? "否" : "是";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目类别",
|
|
|
+ dataIndex: "cname",
|
|
|
+ key: "cname"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目名称",
|
|
|
+ dataIndex: "commodityName",
|
|
|
+ key: "commodityName"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目数量",
|
|
|
+ dataIndex: "commodityQuantity",
|
|
|
+ key: "commodityQuantity"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "服务市价",
|
|
|
+ dataIndex: "commodityPrice",
|
|
|
+ key: "commodityPrice"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "证书编号",
|
|
|
+ dataIndex: "certificateNumber",
|
|
|
+ key: "certificateNumber"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目状态",
|
|
|
+ dataIndex: "projectStatus",
|
|
|
+ key: "projectStatus",
|
|
|
+ render: text => {
|
|
|
+ return getProjectStatus(text);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目说明",
|
|
|
+ dataIndex: "taskComment",
|
|
|
+ key: "taskComment"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+
|
|
|
+ cuiColumns: [
|
|
|
+ {
|
|
|
+ title: "序号",
|
|
|
+ dataIndex: "key",
|
|
|
+ key: "key"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "合同编号",
|
|
|
+ dataIndex: "contractNo",
|
|
|
+ key: "contractNo"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "订单编号",
|
|
|
+ dataIndex: "orderNo",
|
|
|
+ key: "orderNo"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "客户名称",
|
|
|
+ dataIndex: "userName",
|
|
|
+ key: "userName"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "订单负责人",
|
|
|
+ dataIndex: "salesmanName",
|
|
|
+ key: "salesmanName"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "订单部门",
|
|
|
+ dataIndex: "depName",
|
|
|
+ key: "depName"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "订单状态",
|
|
|
+ dataIndex: "orderStatus",
|
|
|
+ key: "orderStatus",
|
|
|
+ render: text => {
|
|
|
+ return getNewOrderStatus(text);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "项目状态",
|
|
|
+ dataIndex: "projectStatus",
|
|
|
+ key: "projectStatus",
|
|
|
+ render: text => {
|
|
|
+ return getProjectStatus(text);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "签单金额",
|
|
|
+ dataIndex: "totalAmount",
|
|
|
+ key: "totalAmount"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "结算状态",
|
|
|
+ dataIndex: "liquidationStatus",
|
|
|
+ key: "liquidationStatus",
|
|
|
+ render: text => {
|
|
|
+ return getLiquidationStatus(text);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "已收款",
|
|
|
+ dataIndex: "settlementAmount",
|
|
|
+ key: "settlementAmount"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "应收款",
|
|
|
+ dataIndex: "accountsReceivable",
|
|
|
+ key: "accountsReceivable"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "催收科目",
|
|
|
+ dataIndex: "dunSubject",
|
|
|
+ key: "dunSubject"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "催收启动时间",
|
|
|
+ dataIndex: "startDate",
|
|
|
+ key: "startDate"
|
|
|
+ }
|
|
|
+ ],
|
|
|
timeColumns: [
|
|
|
{
|
|
|
title: "序号",
|
|
@@ -733,6 +890,8 @@ const ShouKuang = React.createClass({
|
|
|
this.state.departmenttList = undefined;
|
|
|
this.state.processStatus = [];
|
|
|
this.state.contractNoSearch = "";
|
|
|
+ this.state.liquidationStatus = [];
|
|
|
+ this.state.contractNo = "";
|
|
|
this.loadData();
|
|
|
},
|
|
|
//驳回
|
|
@@ -900,7 +1059,7 @@ const ShouKuang = React.createClass({
|
|
|
}
|
|
|
this.setState({
|
|
|
waterData: theArr,
|
|
|
- waterSum: (Math.round(waterSum* 10000) / 10000).toFixed(4)
|
|
|
+ waterSum: (Math.round(waterSum * 10000) / 10000).toFixed(4)
|
|
|
});
|
|
|
}.bind(this)
|
|
|
}).always(
|
|
@@ -926,7 +1085,15 @@ const ShouKuang = React.createClass({
|
|
|
window.location.href =
|
|
|
globalConfig.context +
|
|
|
"/api/admin/receivables/exportReceivables?" +
|
|
|
- `orderNo=${this.state.orderNoSearch ? this.state.orderNoSearch : ""}&buyerName=${this.state.nameSearch ? this.state.nameSearch : ""}&departmentId=${this.state.departmenttList ? this.state.departmenttList : ""}&contractNo=${this.state.contractNoSearch ? this.state.contractNoSearch : ""}&processStatus=${this.state.processStatusSearch}`;
|
|
|
+ `orderNo=${
|
|
|
+ this.state.orderNoSearch ? this.state.orderNoSearch : ""
|
|
|
+ }&buyerName=${
|
|
|
+ this.state.nameSearch ? this.state.nameSearch : ""
|
|
|
+ }&departmentId=${
|
|
|
+ this.state.departmenttList ? this.state.departmenttList : ""
|
|
|
+ }&contractNo=${
|
|
|
+ this.state.contractNoSearch ? this.state.contractNoSearch : ""
|
|
|
+ }&processStatus=${this.state.processStatusSearch}`;
|
|
|
},
|
|
|
exportWater() {
|
|
|
window.location.href =
|
|
@@ -936,9 +1103,9 @@ const ShouKuang = React.createClass({
|
|
|
},
|
|
|
printAll() {
|
|
|
this.setState({
|
|
|
- dvisible: true,
|
|
|
+ dvisible: true
|
|
|
});
|
|
|
- this.loadData(1,9999)
|
|
|
+ this.loadData(1, 9999);
|
|
|
},
|
|
|
timeData() {
|
|
|
this.setState({
|
|
@@ -974,7 +1141,7 @@ const ShouKuang = React.createClass({
|
|
|
taskName: thisdata.taskName,
|
|
|
hours: thisdata.hours,
|
|
|
taskDistributionTime: thisdata.taskDistributionTime,
|
|
|
- taskEndTime: thisdata.taskEndTime,
|
|
|
+ taskEndTime: thisdata.taskEndTime
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -990,6 +1157,166 @@ const ShouKuang = React.createClass({
|
|
|
}.bind(this)
|
|
|
);
|
|
|
},
|
|
|
+ exportTime() {
|
|
|
+ const data = {
|
|
|
+ orderNo: this.state.selectedRowKeys[0],
|
|
|
+ pageSize: 9999
|
|
|
+ };
|
|
|
+ window.location.href =
|
|
|
+ globalConfig.context +
|
|
|
+ "/api/admin/orderProject/exportMyTaskList?" +
|
|
|
+ $.param(data);
|
|
|
+ },
|
|
|
+ exportPro() {
|
|
|
+ const data = {
|
|
|
+ orderNo: this.state.selectedRowKeys[0],
|
|
|
+ pageSize: 9999
|
|
|
+ };
|
|
|
+ window.location.href =
|
|
|
+ globalConfig.context +
|
|
|
+ "/api/admin/orderProject/exportOrderTaskData?" +
|
|
|
+ $.param(data);
|
|
|
+ },
|
|
|
+ exportCui() {
|
|
|
+ var data = {
|
|
|
+ orderNo: this.state.selectedRowKeys[0]
|
|
|
+ ? this.state.selectedRowKeys[0]
|
|
|
+ : undefined, //订单编号
|
|
|
+ // specially: 1,
|
|
|
+ pageSize: 9999
|
|
|
+ };
|
|
|
+ window.location.href =
|
|
|
+ globalConfig.context +
|
|
|
+ "/api/admin/newOrder/exportOrderDunData?" +
|
|
|
+ $.param(data);
|
|
|
+ },
|
|
|
+ cuiData() {
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + "/api/admin/newOrder/dunOrderNewList",
|
|
|
+ data: {
|
|
|
+ orderNo: this.state.selectedRowKeys[0],
|
|
|
+ pageSize: 9999
|
|
|
+ },
|
|
|
+ success: function(data) {
|
|
|
+ let theArr = [];
|
|
|
+ if (!data.data || !data.data.list) {
|
|
|
+ if (data.error && data.error.length) {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (let i = 0; i < data.data.list.length; i++) {
|
|
|
+ let thisdata = data.data.list[i];
|
|
|
+ theArr.push({
|
|
|
+ key: i + 1,
|
|
|
+ orderNo: thisdata.orderNo,
|
|
|
+ contractNo: thisdata.contractNo,
|
|
|
+ userName: thisdata.userName,
|
|
|
+ buyerName: thisdata.buyerName,
|
|
|
+ departmentName: thisdata.departmentName,
|
|
|
+ salesmanName: thisdata.salesmanName,
|
|
|
+ depName: thisdata.depName,
|
|
|
+ orderStatus: thisdata.orderStatus,
|
|
|
+ projectStatus: thisdata.projectStatus,
|
|
|
+ totalAmount: thisdata.totalAmount,
|
|
|
+ liquidationStatus: thisdata.liquidationStatus,
|
|
|
+ settlementAmount: thisdata.settlementAmount,
|
|
|
+ accountsReceivable: thisdata.accountsReceivable,
|
|
|
+ dunSubject: thisdata.dunSubject,
|
|
|
+ startDate: thisdata.startDate,
|
|
|
+ taskStatus: thisdata.taskStatus,
|
|
|
+ cname: thisdata.cname,
|
|
|
+ id: thisdata.id,
|
|
|
+ taskName: thisdata.taskName,
|
|
|
+ hours: thisdata.hours,
|
|
|
+ taskDistributionTime: thisdata.taskDistributionTime,
|
|
|
+ taskEndTime: thisdata.taskEndTime
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.setState({
|
|
|
+ cuiDataList: theArr
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ }).always(
|
|
|
+ function() {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ );
|
|
|
+ },
|
|
|
+ proData() {
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
|
|
|
+ data: {
|
|
|
+ orderNo: this.state.selectedRowKeys[0],
|
|
|
+ pageSize: 9999
|
|
|
+ },
|
|
|
+ success: function(data) {
|
|
|
+ let theArr = [];
|
|
|
+ if (!data.data) {
|
|
|
+ if (data.error && data.error.length) {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (let i = 0; i < data.data.length; i++) {
|
|
|
+ let thisdata = data.data[i];
|
|
|
+ theArr.push({
|
|
|
+ key: i + 1,
|
|
|
+ orderNo: thisdata.orderNo,
|
|
|
+ contractNo: thisdata.contractNo,
|
|
|
+ userName: thisdata.userName,
|
|
|
+ buyerName: thisdata.buyerName,
|
|
|
+ departmentName: thisdata.departmentName,
|
|
|
+ salesmanName: thisdata.salesmanName,
|
|
|
+ depName: thisdata.depName,
|
|
|
+ orderStatus: thisdata.orderStatus,
|
|
|
+ projectStatus: thisdata.projectStatus,
|
|
|
+ commodityName: thisdata.commodityName,
|
|
|
+ totalAmount: thisdata.totalAmount,
|
|
|
+ liquidationStatus: thisdata.liquidationStatus,
|
|
|
+ settlementAmount: thisdata.settlementAmount,
|
|
|
+ accountsReceivable: thisdata.accountsReceivable,
|
|
|
+ dunSubject: thisdata.dunSubject,
|
|
|
+ startDate: thisdata.startDate,
|
|
|
+ taskStatus: thisdata.taskStatus,
|
|
|
+ cname: thisdata.cname,
|
|
|
+ id: thisdata.id,
|
|
|
+ taskName: thisdata.taskName,
|
|
|
+ hours: thisdata.hours,
|
|
|
+ taskDistributionTime: thisdata.taskDistributionTime,
|
|
|
+ taskEndTime: thisdata.taskEndTime,
|
|
|
+ commodityQuantity: thisdata.commodityQuantity,
|
|
|
+ commodityPrice: thisdata.commodityPrice,
|
|
|
+ certificateNumber: thisdata.certificateNumber,
|
|
|
+ taskComment: thisdata.taskComment
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.setState({
|
|
|
+ proDataList: theArr
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ }).always(
|
|
|
+ function() {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ );
|
|
|
+ },
|
|
|
render() {
|
|
|
const formItemLayout = {
|
|
|
labelCol: { span: 8 },
|
|
@@ -1175,7 +1502,7 @@ const ShouKuang = React.createClass({
|
|
|
disabled={this.state.selectedRowKeys.length != 1}
|
|
|
style={{ margin: "11px 0px 10px 10px" }}
|
|
|
onClick={() => {
|
|
|
- this.waterData();
|
|
|
+ this.cuiData();
|
|
|
this.setState({
|
|
|
cuiVisible: true
|
|
|
});
|
|
@@ -1188,7 +1515,7 @@ const ShouKuang = React.createClass({
|
|
|
disabled={this.state.selectedRowKeys.length != 1}
|
|
|
style={{ margin: "11px 0px 10px 10px" }}
|
|
|
onClick={() => {
|
|
|
- this.waterData();
|
|
|
+ this.proData();
|
|
|
this.setState({
|
|
|
proVisible: true
|
|
|
});
|
|
@@ -1221,6 +1548,30 @@ const ShouKuang = React.createClass({
|
|
|
>
|
|
|
导出所选收款详情流水
|
|
|
</Button>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ disabled={this.state.selectedRowKeys.length != 1}
|
|
|
+ style={{ margin: "11px 0px 10px 10px" }}
|
|
|
+ onClick={this.exportTime}
|
|
|
+ >
|
|
|
+ 导出所选工时信息
|
|
|
+ </Button>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ disabled={this.state.selectedRowKeys.length != 1}
|
|
|
+ style={{ margin: "11px 0px 10px 10px" }}
|
|
|
+ onClick={this.exportCui}
|
|
|
+ >
|
|
|
+ 导出催款信息
|
|
|
+ </Button>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ disabled={this.state.selectedRowKeys.length != 1}
|
|
|
+ style={{ margin: "11px 0px 10px 10px" }}
|
|
|
+ onClick={this.exportPro}
|
|
|
+ >
|
|
|
+ 导出项目详情
|
|
|
+ </Button>
|
|
|
</TabPane>
|
|
|
<TabPane tab="查看" key="5">
|
|
|
<Button
|
|
@@ -1585,6 +1936,122 @@ const ShouKuang = React.createClass({
|
|
|
content={() => this.refs.all}
|
|
|
/>
|
|
|
</Modal>
|
|
|
+ <Modal
|
|
|
+ visible={this.state.cuiVisible}
|
|
|
+ footer=""
|
|
|
+ title="催款详情"
|
|
|
+ className="admin-desc-content"
|
|
|
+ width="1300px"
|
|
|
+ pagination={false}
|
|
|
+ onCancel={() => {
|
|
|
+ this.loadData();
|
|
|
+ this.setState({
|
|
|
+ cuiVisible: false
|
|
|
+ });
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <div
|
|
|
+ className="patent-table"
|
|
|
+ style={
|
|
|
+ {
|
|
|
+ // width: 900,
|
|
|
+ // position: "relative",
|
|
|
+ // left: "50%",
|
|
|
+ // transform: "translate(-50%)",
|
|
|
+ // padding: "25px 0 30px 30px"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ref={e => {
|
|
|
+ this.refs.all = e;
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Table
|
|
|
+ columns={this.state.cuiColumns}
|
|
|
+ dataSource={this.state.cuiDataList}
|
|
|
+ pagination={false}
|
|
|
+ bordered
|
|
|
+ size="small"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </Spin>
|
|
|
+
|
|
|
+ <ReactToPrint
|
|
|
+ trigger={() => (
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ style={{
|
|
|
+ float: "right",
|
|
|
+ marginTop: 10,
|
|
|
+ position: "absolute",
|
|
|
+ top: 0,
|
|
|
+ right: 30
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 打印
|
|
|
+ </Button>
|
|
|
+ )}
|
|
|
+ content={() => this.refs.all}
|
|
|
+ />
|
|
|
+ </Modal>
|
|
|
+ <Modal
|
|
|
+ visible={this.state.proVisible}
|
|
|
+ footer=""
|
|
|
+ title="项目详情"
|
|
|
+ className="admin-desc-content"
|
|
|
+ width="1300px"
|
|
|
+ pagination={false}
|
|
|
+ onCancel={() => {
|
|
|
+ this.loadData();
|
|
|
+ this.setState({
|
|
|
+ proVisible: false
|
|
|
+ });
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <div
|
|
|
+ className="patent-table"
|
|
|
+ style={
|
|
|
+ {
|
|
|
+ // width: 900,
|
|
|
+ // position: "relative",
|
|
|
+ // left: "50%",
|
|
|
+ // transform: "translate(-50%)",
|
|
|
+ // padding: "25px 0 30px 30px"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ref={e => {
|
|
|
+ this.refs.all = e;
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Table
|
|
|
+ columns={this.state.proColumns}
|
|
|
+ dataSource={this.state.proDataList}
|
|
|
+ pagination={false}
|
|
|
+ bordered
|
|
|
+ size="small"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </Spin>
|
|
|
+
|
|
|
+ <ReactToPrint
|
|
|
+ trigger={() => (
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ style={{
|
|
|
+ float: "right",
|
|
|
+ marginTop: 10,
|
|
|
+ position: "absolute",
|
|
|
+ top: 0,
|
|
|
+ right: 30
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 打印
|
|
|
+ </Button>
|
|
|
+ )}
|
|
|
+ content={() => this.refs.all}
|
|
|
+ />
|
|
|
+ </Modal>
|
|
|
</div>
|
|
|
);
|
|
|
}
|