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, Tag, Tooltip } from "antd"; import Assign from "@/manageCenter/publicComponent/assign"; import ResolutionDetail from "@/resolutionDetail"; import { getjiedian, getProcessStatus, getApproval, getNewOrderType, getLiquidationStatus, splitUrl, getprovince, getRefundStatus } from "@/tools"; import ImgList from "../../../common/imgList"; import { ChooseList } from "../../order/orderNew/chooseList"; import { getProjectName } from "../../../tools"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import ContentUrl from "../../order/orderNew/contentUrl"; import { salesList } from "@/dataDic.js"; const FormItem = Form.Item; const outsourcingPaiDan = React.createClass({ departmentList() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id, }); }); } this.setState({ departmentArr: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, loadData(pageNo) { this.state.data = []; this.setState({ selectedRowKeys: [], selectedRowKey: [], page: pageNo, 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.processStatusSearch, contractNo: this.state.contractNoSearch, departmentId: this.state.departmenttList, 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, examineName: thisdata.examineName, 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, }); } } this.state.pagination.total = data.data.totalCount; this.state.pagination.current = data.data.pageNo; 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 { rotateDeg: 0, searchMore: true, assignVisible: false, releaseDate: [], totalPage: 0, attachmentUrl: [], pictureUrl: [], processStatusSearch: "2", 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", }, { 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, record) => { return getProcessStatus(text, record.examineName, record.approval); }, }, { 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, record) => { return {text}{record.patentTypeName}{"-" + record.id} } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( {text}{" "} { e.stopPropagation(); this.showRes(record); }} > 已拆 ); } else { return text; } }, }, { title: "服务市价(万元)", dataIndex: "commodityPrice", key: "commodityPrice", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(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 getProjectName(text); }, }, ], dataSource: [], searchTime: [,], }; }, /* 判断是否有分派按钮 */ judgeFenpai(recard) { if (recard.approval === 2) { if (recard.financeId === null || recard.financeId === "") { 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.departmentList(); this.loadData(); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, 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", }); } if (this.state.pictureUrl.length) { let picArr = []; this.state.pictureUrl.map(function (item) { if (item.response && item.response.data && item.response.data.length) { picArr.push(item.response.data); } }); } if (key === "3") { this.setState({ modKey: key, width: "800px", }); this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails", data: { orderNo: this.state.orderNo, }, success: function (data) { let thisdata = data.data; this.setState({ id: thisdata.id, createTimes: thisdata.createTimes, auditTimes: thisdata.auditTimes, remarks: thisdata.remarks, attachmentUrl: thisdata.attachmentUrl ? splitUrl( thisdata.attachmentUrl, ",", globalConfig.avatarHost + "/upload" ) : [], pictureUrl: thisdata.pictureUrl ? splitUrl( thisdata.pictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 amount: thisdata.amount, companyName: thisdata.companyName, refundStatus: thisdata.refundStatus, outsourceRemarks: thisdata.outsourceRemarks, unitNumber: thisdata.unitNumber, unitPrice: thisdata.unitPrice, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); } }, //外包详情 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, splitStatus: thisdata.splitStatus, }); } } this.setState({ dataSourceX: theArr, }); }.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({ orderUid: thisData.uid, 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" ) : [], replenishUrl: thisData.agreementUrl ? splitUrl( thisData.agreementUrl, ",", globalConfig.avatarHost + "/upload" ) : [], contentUrl: thisData.serviceContent ? splitUrl( thisData.serviceContent, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 orderNo: thisData.orderNo, //订单编号 buyerId: thisData.buyerId, depName: thisData.depName, deleteSign: thisData.deleteSign, }); }.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, remarks: thisdata.remarks, }); } } this.setState({ dataSourceY: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, closeOrderLog() { this.setState({ avisible: false, }); }, load() { if (this.state.attachmentUrl) { let url = window.location.href.substring(7); this.state.attachmentUrl.forEach((e) => { window.location.href = "http://" + url.substring(0, url.indexOf("/")) + "/api/admin/outsourceOrg//downloadFile?path=" + e.response.data; }); } else { message.error("此订单无上传文件"); } }, getOrderLog() { this.setState({ avisible: true, }); this.rizhi(); }, closeModal() { this.setState( { visible: false, width: "800px", }, () => { this.setState({ modKey: "1", }); } ); }, 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(); }, downImg() { let num = 0; for (let i = 0; i < this.state.orgCodeUrl.length; i++) { if (this.state.orgCodeUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.orgCodeUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.orgCodeUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImg() { let num = 0; for (let i = 0; i < this.state.orgCodeUrl.length; i++) { if (this.state.orgCodeUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.orgCodeUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotate() { let rotateDeg = this.state.rotateDeg + 90; this.setState({ rotateDeg, }); }, downImgs() { let num = 0; for (let i = 0; i < this.state.replenishUrl.length; i++) { if (this.state.replenishUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.replenishUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.replenishUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImgs() { let num = 0; for (let i = 0; i < this.state.replenishUrl.length; i++) { if (this.state.replenishUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.replenishUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotates() { let rotateDeg = this.state.rotateDeg + 90; this.setState({ rotateDeg, }); }, reset() { this.state.nameSearch = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.departmenttList = undefined; this.state.processStatus = []; this.state.contractNoSearch = ""; this.loadData(); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore, }); }, changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); }, render() { const { RangePicker } = DatePicker; const { TabPane } = Tabs; var departmentArr = this.state.departmentArr || []; const theData = this.state.orderList || {}; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 12 }, }; const jsDate = this.state.jsDate || []; return (
{this.state.resVisible ? ( ) : ( "" )}
外包派单
{ this.setState({ orderNoSearch: e.target.value }); }} /> { this.setState({ contractNoSearch: e.target.value, }); }} /> { this.setState({ nameSearch: e.target.value }); }} /> 下单时间 : { this.setState({ releaseDate: dataString }); }} />
{this.state.visible ?
} > {this.state.modKey === "1" ?
{this.state.orderNo} {theData.signDate} {theData.userName} {(["私有客户-", "签单客户-"][theData.userType] || " ") + (salesList[theData.salesType] || "")} { theData.other != null && theData.other != "" && {"(" + theData.other.toString().slice(0, 10) + (theData.other.toString().length > 9 ? "...)" : ")")} } {getProcessStatus(theData.processStatus, theData.examineName, theData.approval)} {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.state.visible && this.state.modKey === "1" && this.state.orgCodeUrl ?
:
} { this.setState({ previewVisible: false, rotateDeg: 0, }); }} > {/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisibles: true,*/} {/* });*/} {/* }}*/} {/*/>*/} {this.state.visible && this.state.modKey === "1" && this.state.replenishUrl ?
:
} { this.setState({ previewVisibles: false, rotateDeg: 0, }); }} >
{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.state.companyName}
{this.state.unitPrice}
{this.state.unitNumber}
{this.state.amount}
{this.state.outsourceRemarks}
{/*
{ return { 'sign': e.name.substring(0,e.name.lastIndexOf(".")) } }} fileList={this.state.attachmentUrl} showUploadList={{showRemoveIcon:false}} onPreview={(e)=>{ let url = window.location.href.substring(7) window.location.href="http://"+url.substring(0,url.indexOf("/"))+"/api/admin/outsourceOrg//downloadFile?path="+e.response.data }}>
*/}
{/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisible: true,*/} {/* });*/} {/* }}*/} {/*/>*/} {this.state.visible && this.state.modKey === "3" && this.state.pictureUrl ?
:
} { this.setState({ previewVisible: false }); }} >

{this.state.remarks}
{getRefundStatus(this.state.refundStatus)}
{this.state.auditTimes}
:
}
*驳回原因 } > { this.setState({ content: e.target.value }); }} />
); }, }); export default outsourcingPaiDan;