import React from 'react'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import '../../order/userMangagement.less'; import { boutique } from '../../../dataDic.js'; import '@/manageCenter/financialManage/distribute/public.less'; import { Button, Form, Input, Select, Spin, Table, Switch, Tag, message, DatePicker, Modal, AutoComplete, Tabs, Radio, Tooltip, } from 'antd'; import Assign from '@/manageCenter/publicComponent/assign'; import ResolutionDetail from "@/resolutionDetail"; import { getProcessStatus, getApproval, getLiquidationStatus, getApprovedState, splitUrl, getboutique, ShowModal } from "@/tools"; import ShowModalDiv from "@/showModal.jsx"; import OrderRiZi from "@/orderRiZi.jsx"; import { ChooseList } from "../../order/orderNew/chooseList"; import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import ProjectOperation from "../../../common/projectOperation"; import Cascaders from "../../../common/cascaders"; const zxsglyOutSourcingPaiDan = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ page: pageNo, loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/orderNewList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, specially: 4, //咨询师管理列表 distribution: this.state.distribution, //全部列表 name: this.state.customerName, //名称 deps: this.state.departmenttSearch, //订单部门 orderNo: this.state.orderNoSearch, //订单编号 starTime: this.state.releaseDate[0], //开始时间 endTime: this.state.releaseDate[1], //结束时间 outsource: 1 }, success: function (data) { ShowModal(this); 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, id: thisdata.id, //任务ID orderNo: thisdata.orderNo, //订单编号 totalAmount: thisdata.totalAmount, //签单金额 processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 approval: thisdata.approval, //特批状态 signDate: thisdata.signDate, //签单时间 userName: thisdata.userName, //客户名称 salesmanName: thisdata.salesmanName, //营销员名称 financeName: thisdata.financeName, //财务名称 consultantName: thisdata.consultantName, //项目负责人 createDate: thisdata.createDate, //下单时间 settlementAmount: thisdata.settlementAmount, //已交款项 depName: thisdata.depName, //部门名称 ischange: thisdata.ischange //是否通过变更生成的 }); } } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ dataSource: theArr, pagination: this.state.pagination }); }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { distribution: "0", customerArr: [], searchMore: true, assignVisible: false, declarationBatch: 1, dataInfor: {}, releaseDate: [], attachmentUrl: [], pictureUrl: [], departmentArr: [], boHuivisible: false, selectedRowKeys: [], selectedRows: [], loading: false, paginations: 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", render: (text, record) => { if (record.ischange == 1) { return ( 变更 {text} ); } else { return {text}; } } }, { title: "签单客户", dataIndex: "userName", key: "userName" }, { title: "下单时间", dataIndex: "createDate", key: "createDate" }, { title: "签单时间", dataIndex: "signDate", key: "signDate" }, { title: "订单总金额(万)", dataIndex: "totalAmount", key: "totalAmount" }, { title: "是否特批", dataIndex: "approval", key: "approval", render: text => { return getApproval(text); } }, { title: "订单负责人", dataIndex: "salesmanName", key: "salesmanName" }, { title: "订单部门", dataIndex: "depName", key: "depName" }, { title: "财务负责人", dataIndex: "financeName", key: "financeName" }, { title: "项目负责人", dataIndex: "consultantName", key: "consultantName" }, { title: "分派状态", dataIndex: "processStatus", key: "processStatus", render: (text, record) => { return text == 5 || text == 6 ? getProcessStatus(text, record.examineName, record.approval) : "未分配"; } }, { title: "操作", dataIndex: "caozuo", key: "caouzo", render: (text, record) => { return (
{record.settlementAmount == 0 ? ( ) : ( "" )}
); } } ], 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); } } ], columnsrizhi: [ { title: "流程", dataIndex: "processName", key: "processName" }, { title: "操作人", dataIndex: "adminName", key: "adminName" }, { title: "时间", dataIndex: "createDate", key: "createDate" } ], dataSource: [], searchTime: [], columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return ( {text}{record.patentTypeName} ) } }, { 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: "contacts", key: "contacts" }, { title: "负责人电话", dataIndex: "contactsMobile", key: "contactsMobile" }, { title: "主要项目", dataIndex: "main", key: "main", render: text => { return text ? "是" : "否"; } }, { title: "总年限", dataIndex: "yearSum", key: "yearSum", render: (text, record) => { return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return (
{!!text && JSON.parse(text).toString()}
); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return (
{!text ? "" : text}
); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: text => { return (
{text}
) } }, { title: "操作", dataIndex: "caozuo", key: "caouzo", render: (text, record) => { return (
{this.state.processStatus == 5 || record.taskStatus == 0 ? ( ) : ( "" )}
); } } ], dataSourceX: [] }; }, /* 分派 */ evaluate(record) { this.state.assignData = record; this.setState({ assignVisible: true }); }, componentWillMount() { // this.departmentList(); this.loadData(); }, tableRowClick(record) { this.state.RowData = record; this.setState({ displayFees: "block", visible: true, modKey: "1" }); this.xiangqing(record.orderNo); this.xiangmu(record.orderNo); this.jiedian(record.orderNo); }, //审核不通过 examOks() { this.setState({ loading: true }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/technicianBackOrder", data: { orderNo: this.state.orderNo, reason: this.state.reason }, success: function (data) { if (data.error.length || data.data == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { message.success("该订单已被驳回~"); this.setState({ visible: false, noVisible: false, reason: "" }); this.reset(); } }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, //点击拒绝 examNo(record) { this.setState({ noVisible: true, orderNo: record.orderNo }); }, //关闭输入理由框 noCancel() { this.setState({ noVisible: false, reason: "" }); }, //订单详情 xiangqing(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { let thisdata = data.data; this.setState({ orderUid: thisdata.uid, orderNo: thisdata.orderNo, //订单编号 contractNo: thisdata.contractNo, //合同编号 userName: thisdata.userName, //客户名称 depName: thisdata.depName, //订单部门 signDate: thisdata.signDate, //签单时间 examineName: thisdata.examineName, processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 contacts: thisdata.contacts, //企业联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 firstAmount: thisdata.firstAmount, //签单金额 totalAmount: thisdata.totalAmount, //首付金额 approval: thisdata.approval, //特批状态 settlementAmount: thisdata.settlementAmount, //已收款项 orderRemarks: thisdata.orderRemarks, //订单留言 orgCodeUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 salesmanName: thisdata.salesmanName, //营销员名称 salesmanMobile: thisdata.salesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 nowFinance: thisdata.nowFinance, //财务名称 nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话 deleteSign: thisdata.deleteSign, }); } }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, //项目列表 xiangmu(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: orderNos }, 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]; thisdata.key = i; theArr.push(thisdata); } } this.setState({ dataSourceX: theArr }); }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record }); }, resCancel() { this.setState({ resVisible: false }); }, rizhi() { // console.log(this.state.orderNo); 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({ dataSourcerizhi: theArr }); }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, //查看订单日志 getOrderLog() { this.setState({ rizhivisible: true }); this.rizhi(); }, closeOrderLog() { this.setState({ rizhivisible: false }); }, load() { if (this.state.attachmentUrl.length !== 0) { 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("此订单无上传文件"); } }, supervisor(e, state) { //客户名称与服务名称自动补全 $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/order/getBusinessProjectByName", data: { businessName: e }, success: function (data) { let thedata = data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } this.setState({ states: state, customerArr: thedata }); }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, //服务值改变时请求客户名称 httpChange(e) { this.state.gid = ""; if (e.length >= 1) { this.supervisor(e, false); } this.setState({ commodityName: e }); }, //详情 callBack(key) { if (key === "2") { this.setState({ modKey: key, width: "1200px" }); this.loadWaiBao(); } if (key === "1") { this.setState({ modKey: key }); } 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 }); 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; // console.log(thisdata); if (thisdata) { 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 }); } }.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) ); }, //上级主管输入框失去焦点是判断客户是否存在 selectAuto(value) { let kid = []; let fwList = this.state.customerArr; fwList.map(function (item) { if (value == item.bname) { kid = item; } }); if (kid.type === 1) { this.setState({ displayFees: "block", }); } else { this.setState({ displayFees: "none", }); } this.setState({ commodityName: value, gid: kid.id, //commodityPrice:kid.price==0?kid.price.toString():kid.price, commodityFirstPayment: kid.firstPayment == 0 ? kid.firstPayment.toString() : kid.firstPayment }); }, //点击添加项目明细 addDetailed() { this.setState({ projectOperationVisible: true, }); }, //节点列表 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 //催款状态 }); } this.setState({ contactList: theArr }); } }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, closeAssign(e, s) { this.state.assignVisible = e; if (s) { this.loadData(this.state.page); this.xiangqing(this.state.orderNo); this.xiangmu(this.state.orderNo); this.jiedian(this.state.orderNo); } }, search() { this.loadData(); }, reset() { this.state.nameSearch = ""; this.state.customerName = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.departmenttSearch = undefined; this.state.distribution = undefined; this.Cascaders.empty(); this.loadData(this.state.page); }, nextCancel() { this.setState({ projectOperationVisible: false, gid: "", dataInfor: {}, }, () => { this.loadData(); this.xiangmu(this.state.orderNo); }); }, //点击打卡项目详情 tableRowClickX(record) { this.setState({ projectOperationVisible: true, dataInfor: record, }) }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, //关闭详情 visitCancel() { this.setState( { visible: false }, () => { this.setState({ modKey: "1" }); } ); // this.reset(); }, visitOk() { this.setState({ visible: false }); this.reset(); }, resets() { this.state.orderNo = ""; this.state.customerName = ""; this.state.departmenttSearch = undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; }, //部门 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); } thedata = {}; } 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) ); }, 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 { TabPane } = Tabs; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 } }; const dataSources = this.state.customerArr || []; const options = dataSources.map((group, index) => ( {group.bname} )); const FormItem = Form.Item; const { RangePicker } = DatePicker; let departmentArr = this.state.departmentArr || []; return (
外包项目派单
{ this.setState({ orderNoSearch: e.target.value }); }} /> { this.setState({ customerName: e.target.value }); }} /> this.Cascaders = node} placeholder="选择部门" id="id" name="name" children="list" height={28} onSel={(e) => { this.setState({ departmenttSearch: JSON.stringify(e) }) }} /> {/* */} 更多搜索
订单时间 : { this.setState({ releaseDate: dataString }); }} />
}>
{this.state.orderNo} {this.state.contractNo} {this.state.userName} {this.state.signDate} {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)} {getLiquidationStatus(this.state.liquidationStatus)} {this.state.contacts} {this.state.contactMobile} {this.state.legalPerson} {this.state.legalPersonTel} {this.state.totalAmount} {this.state.firstAmount} {getApprovedState(this.state.approval)} {this.state.settlementAmount}

{this.state.orderRemarks}

{this.state.salesmanName} {this.state.salesmanMobile} {this.state.depName}
{this.state.nowFinance} {this.state.nowFinanceMobile}
{this.state.oldSalesmanName} {this.state.oldSalesmanMobile}
{this.state.financeName} {this.state.financeMobile}
{
项目业务 { }
}

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

(

{record.remarks}

)} scroll={{ x: 300, y: 0 }} /> {/*
{this.state.companyName}
{this.state.amount}
{ return { 'sign': e.name.substring(0,e.name.lastIndexOf(".")) } }} fileList={this.state.attachmentUrl} onChange={(e)=>{ this.setState({ attachmentUrl:e.fileList, }) }}>
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }} > { this.setState({ previewVisible: false }) }}>

{this.state.remarks}
{getRefundStatus(this.state.refundStatus)}
{this.state.auditTimes}
*/}
{ this.setState({ reason: e.target.value }); }} />
{this.state.resVisible ? ( ) : ( "" )} {/*
*/} {this.state.projectOperationVisible ? 0 && this.state.processStatus !== 0} orderNo={this.state.orderNo} visible={this.state.projectOperationVisible} dataInfor={this.state.dataInfor} onCancel={this.nextCancel} /> : null} ); } }); export default zxsglyOutSourcingPaiDan;