|
@@ -13,7 +13,8 @@ import {
|
|
DatePicker,
|
|
DatePicker,
|
|
Modal,
|
|
Modal,
|
|
Upload,
|
|
Upload,
|
|
- Tabs
|
|
|
|
|
|
+ Tabs,
|
|
|
|
+ Col
|
|
} from "antd";
|
|
} from "antd";
|
|
import Receivable from "./receivable";
|
|
import Receivable from "./receivable";
|
|
import Assign from "@/manageCenter/publicComponent/assign";
|
|
import Assign from "@/manageCenter/publicComponent/assign";
|
|
@@ -32,6 +33,7 @@ import {
|
|
getTransactionProject,
|
|
getTransactionProject,
|
|
getTaskStatus,
|
|
getTaskStatus,
|
|
getNewOrderStatus,
|
|
getNewOrderStatus,
|
|
|
|
+ getCuikuan
|
|
} from "@/tools";
|
|
} from "@/tools";
|
|
import { ChooseList } from "../../../../component/manageCenter/order/orderNew/chooseList";
|
|
import { ChooseList } from "../../../../component/manageCenter/order/orderNew/chooseList";
|
|
const FormItem = Form.Item;
|
|
const FormItem = Form.Item;
|
|
@@ -564,6 +566,100 @@ const approvedOutsourcing = React.createClass({
|
|
key: "startDate"
|
|
key: "startDate"
|
|
}
|
|
}
|
|
],
|
|
],
|
|
|
|
+ ContactsListsNew: [
|
|
|
|
+ {
|
|
|
|
+ title: "项目名称",
|
|
|
|
+ dataIndex: "commodityName",
|
|
|
|
+ key: "commodityName",
|
|
|
|
+ render: text => {
|
|
|
|
+ return <span>{text}</span>;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "项目分类",
|
|
|
|
+ dataIndex: "projectType",
|
|
|
|
+ key: "projectType",
|
|
|
|
+ render: text => {
|
|
|
|
+ let arr = this.state.dataSource || [];
|
|
|
|
+ let str = "";
|
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
|
+ if (this.state.dataSource[i].sort == text) {
|
|
|
|
+ str = this.state.dataSource[i].cname;
|
|
|
|
+ return <span>{str}</span>;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "催款科目",
|
|
|
|
+ dataIndex: "dunTypeName",
|
|
|
|
+ key: "dunTypeName",
|
|
|
|
+ render: text => {
|
|
|
|
+ return <span>{text}</span>;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "时间",
|
|
|
|
+ dataIndex: "waitDay",
|
|
|
|
+ key: "waitDay",
|
|
|
|
+ render: (text, record) => {
|
|
|
|
+ if (record.dunTypeName) {
|
|
|
|
+ return <span>{text}</span>;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "金额(万)",
|
|
|
|
+ dataIndex: "money",
|
|
|
|
+ key: "money",
|
|
|
|
+ render: (text, record) => {
|
|
|
|
+ if (record.dunTypeName) {
|
|
|
|
+ return <span>{text}</span>;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "服务年限",
|
|
|
|
+ dataIndex: "startDate",
|
|
|
|
+ key: "startDate",
|
|
|
|
+ render: (text, record) => {
|
|
|
|
+ if (record.dunTypeName) {
|
|
|
|
+ return <span>{text}</span>;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "催款状态",
|
|
|
|
+ dataIndex: "status",
|
|
|
|
+ key: "status",
|
|
|
|
+ render: text => {
|
|
|
|
+ return <span>{text == 1 ? "已启动" : "未启动"}</span>;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ContactsLists: [
|
|
|
|
+ {
|
|
|
|
+ title: "催款科目",
|
|
|
|
+ dataIndex: "dunSubject",
|
|
|
|
+ key: "dunSubject",
|
|
|
|
+ render: text => {
|
|
|
|
+ return getjiedian(text);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "金额(万)",
|
|
|
|
+ dataIndex: "money",
|
|
|
|
+ key: "money"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: "催款状态",
|
|
|
|
+ dataIndex: "dunStatus",
|
|
|
|
+ key: "dunStatus",
|
|
|
|
+ render: text => {
|
|
|
|
+ return getCuikuan(text);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
timeColumns: [
|
|
timeColumns: [
|
|
{
|
|
{
|
|
title: "序号",
|
|
title: "序号",
|
|
@@ -1145,6 +1241,8 @@ const approvedOutsourcing = React.createClass({
|
|
this.jdDate(record.orderNo);
|
|
this.jdDate(record.orderNo);
|
|
this.loadXmu(record);
|
|
this.loadXmu(record);
|
|
this.loadModal(record);
|
|
this.loadModal(record);
|
|
|
|
+ this.jiedian(record.orderNo);
|
|
|
|
+ this.jiedianNew(record.orderNo);
|
|
},
|
|
},
|
|
//详情
|
|
//详情
|
|
callBack(key) {
|
|
callBack(key) {
|
|
@@ -2021,6 +2119,101 @@ const approvedOutsourcing = React.createClass({
|
|
}.bind(this)
|
|
}.bind(this)
|
|
);
|
|
);
|
|
},
|
|
},
|
|
|
|
+ jiedian(orderNos) {
|
|
|
|
+ $.ajax({
|
|
|
|
+ method: "get",
|
|
|
|
+ dataType: "json",
|
|
|
|
+ crossDomain: false,
|
|
|
|
+ url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
|
|
|
|
+ data: {
|
|
|
|
+ orderNo: orderNos
|
|
|
|
+ },
|
|
|
|
+ success: function(data) {
|
|
|
|
+ let theArr = [];
|
|
|
|
+ let thisData = [];
|
|
|
|
+ if (data.error.length || data.data.list == "") {
|
|
|
|
+ if (data.error && data.error.length) {
|
|
|
|
+ message.warning(data.error[0].message);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ for (let i = 0; i < data.data.length; i++) {
|
|
|
|
+ thisData = data.data[i];
|
|
|
|
+ theArr.push({
|
|
|
|
+ key: i,
|
|
|
|
+ dunSubject: thisData.dunSubject
|
|
|
|
+ ? thisData.dunSubject.toString()
|
|
|
|
+ : "", //催款科目
|
|
|
|
+ id: thisData.id, //节点Id
|
|
|
|
+ money: thisData.money, //催款金额
|
|
|
|
+ dunStatus: thisData.dunStatus, //催款状态
|
|
|
|
+ orderNo: thisData.orderNo
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ this.setState({
|
|
|
|
+ contactList: theArr
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }.bind(this)
|
|
|
|
+ }).always(
|
|
|
|
+ function() {
|
|
|
|
+ this.setState({
|
|
|
|
+ loading: false
|
|
|
|
+ });
|
|
|
|
+ }.bind(this)
|
|
|
|
+ );
|
|
|
|
+ },
|
|
|
|
+ //查看催款节点
|
|
|
|
+ jiedianNew(orderNos) {
|
|
|
|
+ $.ajax({
|
|
|
|
+ method: "get",
|
|
|
|
+ dataType: "json",
|
|
|
|
+ crossDomain: false,
|
|
|
|
+ url:
|
|
|
|
+ globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun",
|
|
|
|
+ data: {
|
|
|
|
+ orderNo: orderNos
|
|
|
|
+ },
|
|
|
|
+ success: function(data) {
|
|
|
|
+ let theArr = [];
|
|
|
|
+ let thisData = [];
|
|
|
|
+ if (!thisData) {
|
|
|
|
+ if (data.error && data.error.length) {
|
|
|
|
+ message.warning(data.error[0].message);
|
|
|
|
+ }
|
|
|
|
+ thisData = {};
|
|
|
|
+ } else {
|
|
|
|
+ for (let i = 0; i < data.data.length; i++) {
|
|
|
|
+ thisData = data.data[i];
|
|
|
|
+ theArr.push({
|
|
|
|
+ key: i,
|
|
|
|
+ dunSubject: thisData.dunSubject
|
|
|
|
+ ? thisData.dunSubject.toString()
|
|
|
|
+ : "", //催款科目
|
|
|
|
+ id: thisData.id, //节点Id
|
|
|
|
+ money: thisData.money, //催款金额
|
|
|
|
+ // orderNo: record ? record.orderNo : this.props.datauser.orderNo,
|
|
|
|
+ commodityName: thisData.commodityName,
|
|
|
|
+ projectType: thisData.projectType,
|
|
|
|
+ dunTypeName: thisData.dunTypeName,
|
|
|
|
+ status: thisData.status,
|
|
|
|
+ waitDay: thisData.waitDay,
|
|
|
|
+ effectiveCount: thisData.effectiveCount,
|
|
|
|
+ startDate: thisData.startDate
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ this.setState({
|
|
|
|
+ contactListNew: theArr
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }.bind(this)
|
|
|
|
+ }).always(
|
|
|
|
+ function() {
|
|
|
|
+ this.setState({
|
|
|
|
+ loading: false
|
|
|
|
+ });
|
|
|
|
+ }.bind(this)
|
|
|
|
+ );
|
|
|
|
+ },
|
|
render() {
|
|
render() {
|
|
const { TextArea } = Input;
|
|
const { TextArea } = Input;
|
|
const { RangePicker } = DatePicker;
|
|
const { RangePicker } = DatePicker;
|
|
@@ -2032,6 +2225,7 @@ const approvedOutsourcing = React.createClass({
|
|
wrapperCol: { span: 12 }
|
|
wrapperCol: { span: 12 }
|
|
};
|
|
};
|
|
const { loading, selectedRowKeys, visible } = this.state;
|
|
const { loading, selectedRowKeys, visible } = this.state;
|
|
|
|
+ const cuiDataList = this.state.contactList || [];
|
|
const rowSelection = {
|
|
const rowSelection = {
|
|
selectedRowKeys,
|
|
selectedRowKeys,
|
|
onChange: this.onSelectChange,
|
|
onChange: this.onSelectChange,
|
|
@@ -2600,7 +2794,7 @@ const approvedOutsourcing = React.createClass({
|
|
</p>
|
|
</p>
|
|
</FormItem>
|
|
</FormItem>
|
|
</div>
|
|
</div>
|
|
- <div className="clearfix">
|
|
|
|
|
|
+ {/* <div className="clearfix">
|
|
<FormItem
|
|
<FormItem
|
|
labelCol={{ span: 5 }}
|
|
labelCol={{ span: 5 }}
|
|
wrapperCol={{ span: 18 }}
|
|
wrapperCol={{ span: 18 }}
|
|
@@ -2614,7 +2808,7 @@ const approvedOutsourcing = React.createClass({
|
|
);
|
|
);
|
|
})}
|
|
})}
|
|
</FormItem>
|
|
</FormItem>
|
|
- </div>
|
|
|
|
|
|
+ </div> */}
|
|
<div className="clearfix">
|
|
<div className="clearfix">
|
|
<FormItem
|
|
<FormItem
|
|
className="half-item"
|
|
className="half-item"
|
|
@@ -2710,10 +2904,43 @@ const approvedOutsourcing = React.createClass({
|
|
columns={this.state.columnsX}
|
|
columns={this.state.columnsX}
|
|
dataSource={this.state.dataSourceX}
|
|
dataSource={this.state.dataSourceX}
|
|
pagination={false}
|
|
pagination={false}
|
|
|
|
+ bordered
|
|
|
|
+ size="small"
|
|
/>
|
|
/>
|
|
</Spin>
|
|
</Spin>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div>
|
|
|
|
+ <span style={{ marginLeft: 20, fontSize: "18px" }}>
|
|
|
|
+ 催款节点
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
|
|
+ <div className="clearfix">
|
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
|
+ <Form layout="horizontal" id="demand-form">
|
|
|
|
+ <Table
|
|
|
|
+ pagination={false}
|
|
|
|
+ bordered
|
|
|
|
+ size="small"
|
|
|
|
+ columns={
|
|
|
|
+ cuiDataList.length
|
|
|
|
+ ? this.state.ContactsLists
|
|
|
|
+ : this.state.ContactsListsNew
|
|
|
|
+ }
|
|
|
|
+ dataSource={
|
|
|
|
+ cuiDataList.length
|
|
|
|
+ ? this.state.contactList
|
|
|
|
+ : this.state.contactListNew
|
|
|
|
+ }
|
|
|
|
+ />
|
|
|
|
+ <Col
|
|
|
|
+ span={24}
|
|
|
|
+ offset={9}
|
|
|
|
+ style={{ marginTop: "15px" }}
|
|
|
|
+ ></Col>
|
|
|
|
+ </Form>
|
|
|
|
+ </Spin>
|
|
|
|
+ </div>
|
|
</Spin>
|
|
</Spin>
|
|
</Form>
|
|
</Form>
|
|
</TabPane>
|
|
</TabPane>
|
|
@@ -2726,6 +2953,8 @@ const approvedOutsourcing = React.createClass({
|
|
<Spin spinning={this.state.loading}>
|
|
<Spin spinning={this.state.loading}>
|
|
<Table
|
|
<Table
|
|
columns={this.state.columnsW}
|
|
columns={this.state.columnsW}
|
|
|
|
+ bordered
|
|
|
|
+ size="small"
|
|
dataSource={this.state.dataSourceW}
|
|
dataSource={this.state.dataSourceW}
|
|
pagination={false}
|
|
pagination={false}
|
|
expandedRowRender={record => (
|
|
expandedRowRender={record => (
|