import React from "react"; import $ from "jquery/src/ajax"; import moment from "moment"; import "./public.less"; import { Button, Form, Input, Select, Spin, Table, message, DatePicker, Modal, Upload, Tabs } from "antd"; import Assign from "@/manageCenter/publicComponent/assign"; import { getjiedian, getProcessStatus, getApproval, getNewOrderType, getLiquidationStatus, getProjectStatus, splitUrl, getprovince } from "@/tools"; const FormItem = Form.Item; const outsourcingPaiDan = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/financial/allUnassignedOrder", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, buyerName: this.state.nameSearch, //客户名称 orderNo: this.state.orderNoSearch, startTime: this.state.releaseDate[0], endTime: this.state.releaseDate[1], processStatus: this.state.processStatus, outsource: 1 }, 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, orderNo: thisdata.orderNo, approval: thisdata.approval, orderType: thisdata.orderType, processStatus: thisdata.processStatus, signTotalAmount: thisdata.signTotalAmount, buyerName: thisdata.buyerName, sellerName: thisdata.sellerName, createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : "", signTime: thisdata.signTime, contractNo: thisdata.contractNo, financeId: thisdata.financeId, departmentName: thisdata.departmentName, outsourceName: thisdata.outsourceName }); } } if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ totalPage: data.data.totalPage, dataSource: theArr, pagination: this.state.pagination }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { searchMore: true, assignVisible: false, releaseDate: [], totalPage: 0, boHuivisible: false, selectedRowKeys: [], selectedRows: [], modKey: "1", width: "800px", loading: false, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function(page) { this.loadData(page); }.bind(this), showTotal: function(total) { return "共" + total + "条数据"; } }, columns: [ { title: "订单编号", dataIndex: "orderNo", key: "orderNo", fixed: "left" }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo" }, { title: "下单时间", dataIndex: "createTime", key: "createTime" }, { title: "签单时间", dataIndex: "signTime", key: "signTime" }, { title: "签单客户", dataIndex: "buyerName", key: "buyerName", render: text => { return text && text.length > 8 ? text.substr(0, 8) + "..." : text; } }, { title: "外包公司", dataIndex: "outsourceName", key: "outsourceName", render: text => { return text && text.length > 8 ? text.substr(0, 8) + "..." : text; } }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: text => { return getProcessStatus(text); } }, { title: "订单部门", dataIndex: "departmentName", key: "departmentName", render: text => { return text && text.length > 8 ? text.substr(0, 8) + "..." : text; } }, { title: "订单总金额(万)", dataIndex: "signTotalAmount", key: "signTotalAmount" }, { title: "是否特批", dataIndex: "approval", key: "approval", render: text => { return getApproval(text); } }, { title: "订单负责人", dataIndex: "sellerName", key: "sellerName" }, { title: "操作", dataIndex: "caozuo", key: "caouzo", render: (text, recard) => { return
{this.judgeFenpai(recard)}
; } } ], columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: text => { return text && text.length > 6 ? ( {text.substr(0, 8)}... ) : ( text ); } }, { title: "项目类别", dataIndex: "cname", key: "cname" }, { title: "项目数量(个)", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "服务市价(万元)", dataIndex: "commodityPrice", key: "commodityPrice" }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(text); } }, { title: "证书编号", dataIndex: "certificateNumber", key: "certificateNumber" }, { title: "是否主要项目", dataIndex: "main", key: "main", render: text => { return text ? "是" : "否"; } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: text => { return text && text.length > 8 ? ( {text.substr(0, 8)}... ) : ( text ); } } ], columnsY: [ { title: "流程", dataIndex: "processName", key: "processName" }, { title: "操作人", dataIndex: "adminName", key: "adminName" }, { title: "时间", dataIndex: "createDate", key: "createDate" } ], columnsW: [ { title: "外包名称", dataIndex: "name", key: "name" }, { title: "联系人", dataIndex: "contacts", key: "contacts" }, { title: "联系人电话", dataIndex: "contactsMobile", key: "contactsMobile" }, { title: "地址", dataIndex: "ProvinceCity", key: "ProvinceCity", render: test => { return test[0] === null ? "" : getprovince(test[0]) + "/" + getprovince(test[1]) + "/" + getprovince(test[2]); } }, { title: "地址详情", dataIndex: "address", key: "address", render: text => { return text && text.length > 8 ? text.substr(0, 8) + "..." : text; } }, { title: "创建时间", dataIndex: "createTimes", key: "createTimes" }, { title: "任务名称", dataIndex: "tname", key: "tname" }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo" }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(text); } } ], dataSource: [], searchTime: [,] }; }, /* 判断是否有分派按钮 */ judgeFenpai(recard) { if (recard.approval === 2) { if (recard.financeId === null || "") { return ( ); } else { return undefined; } } else if (recard.processStatus <= 2) { return ( ); } else { return undefined; } }, jdDate(orderNo) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: orderNo }, success: function(data) { let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { this.setState({ jsDate: thisData }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, /* 分派 */ evaluate(recard) { this.state.assignData = recard; this.setState({ assignVisible: true }); }, /* 驳回 */ reject(recard) { this.setState({ bohuiData: recard, boHuiVisible: true, content: "" }); }, boHuiOk() { this.setState({ boHuiVisible: false }); if ( this.state.pagination.current == this.state.totalPage && this.state.pagination.total % 10 == 1 ) { this.loadData(this.state.page - 1); } else { this.loadData(this.state.page); } }, boHuiCancel() { this.setState({ boHuiVisible: false }); }, componentWillMount() { this.loadData(); }, tableRowClick(record) { this.state.RowData = record; this.setState({ showDesc: true, visible: true, orderNo: record.orderNo, modKey: "1" }); this.jdDate(record.orderNo); this.loadXmu(record); this.loadModal(record); }, //详情 callBack(key) { if (key === "2") { this.setState({ modKey: key, width: "1200px" }); this.loadWaiBao(); } if (key === "1") { this.setState({ modKey: key, width: "800px" }); } }, //外包详情 loadWaiBao() { $.ajax({ method: "get", dataType: "json", rossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/selectOrderOutsourceOrg", data: { orderNo: this.state.orderNo }, success: function(data) { let theArr = []; 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++) { let thisdata = data.data[i]; let ProvinceCityArr = []; let ProvinceS = thisdata.province; //省 let citys = thisdata.city; //市 let Areas = thisdata.area; //区 ProvinceCityArr.push(ProvinceS, citys, Areas); theArr.push({ key: i, id: thisdata.id, name: thisdata.name, contacts: thisdata.contacts, //订单编号 contactsMobile: thisdata.contactsMobile, ProvinceCity: ProvinceCityArr[0] === null ? [] : ProvinceCityArr, province: thisdata.province, city: thisdata.city, area: thisdata.area, address: thisdata.address, remarks: thisdata.remarks, tid: thisdata.tid, createTimes: thisdata.createTimes, tname: thisdata.tname, contractNo: thisdata.contractNo, projectStatus: thisdata.projectStatus }); } } this.setState( { dataSourceW: theArr }, () => {} ); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, loadXmu(record) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: record.orderNo }, 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, id: thisdata.id, orderNo: thisdata.orderNo, commodityName: thisdata.commodityName, commodityPrice: thisdata.commodityPrice, commodityQuantity: thisdata.commodityQuantity, taskStatus: thisdata.taskStatus, taskComment: thisdata.taskComment, main: thisdata.main, contacts: thisdata.contacts, contactsMobile: thisdata.contactsMobile, cname: thisdata.cname, certificateNumber: thisdata.certificateNumber, projectStatus: thisdata.projectStatus }); } } this.setState({ dataSourceX: theArr, pagination: false }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, loadModal(record) { this.state.orderList = []; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: record.orderNo }, success: function(data) { let thisData = data.data; if (!thisData) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } this.setState({ id: thisData.id, orderList: thisData, approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval, orderRemarks: thisData.orderRemarks, orgCodeUrl: thisData.contractPictureUrl ? splitUrl( thisData.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], orderNo: thisData.orderNo, //订单编号 buyerId: thisData.buyerId, depName: thisData.depName }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, rizhi() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.state.orderNo }, success: function(data) { let theArr = []; let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; theArr.push({ processName: thisdata.processName, adminName: thisdata.adminName, createDate: thisdata.createDate }); } } this.setState({ dataSourceY: theArr }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, closeOrderLog() { this.setState({ avisible: false }); }, getOrderLog() { this.setState({ avisible: true }); this.rizhi(); }, closeModal() { this.setState({ visible: false, modKey: "1", width: "800px" }); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, closeAssign(e, s) { this.state.assignVisible = e; if (s) { if ( this.state.pagination.current == this.state.totalPage && this.state.pagination.total % 10 == 1 ) { this.loadData(this.state.page - 1); } else { this.loadData(this.state.page); } } }, search() { this.loadData(); }, reset() { this.state.nameSearch = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.processStatus = []; this.loadData(); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, render() { const { RangePicker } = DatePicker; const { TabPane } = Tabs; const theData = this.state.orderList || {}; const formItemLayout = { labelCol: { span: 10 }, wrapperCol: { span: 12 } }; const jsDate = this.state.jsDate || []; return (
外省外包列表
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ orderNoSearch: e.target.value }); }} /> 下单时间 : { this.setState({ releaseDate: dataString }); }} />
{this.state.orderNo} {theData.signDate} {theData.userName} {getProcessStatus(theData.processStatus)} {getNewOrderType(theData.orderType)} {getLiquidationStatus(theData.liquidationStatus)} {theData.totalAmount} {theData.firstAmount} {theData.settlementAmount} {getApproval(theData.approval)} {/*this.props.data.orderStatus=='6'&& {this.props.data.refundAmount} */}
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >
{theData.contractNo} {theData.depName}

{this.state.orderRemarks}

{jsDate.map(item => { return (

{getjiedian(item.dunSubject)} -- {item.money} 万元

); })}
{theData.salesmanName} {theData.salesmanMobile} {theData.financeName} {theData.financeMobile}

项目业务

提示:查看备注请点击表格左侧加号按钮~

(

{record.remarks}

)} scroll={{ x: 300, y: 0 }} />
*驳回原因 } > { this.setState({ content: e.target.value }); }} />
); } }); export default outsourcingPaiDan;