import React from "react"; import $ from "jquery"; import { Spin, Button, Tabs, Table, message, Modal, Form, Upload, Tag } from "antd"; import { getProcessStatus, getApproval, getTaskStatus, getLiquidationStatus, splitUrl, getProjectStatus, getboutique, getprovince, ShowModal, getRefundStatus } from "@/tools"; const FormItem = Form.Item; import ResolutionDetail from "@/resolutionDetail"; const { TabPane } = Tabs const project = React.createClass({ getInitialState() { return { visible: false, record: this.props.record, paginations: false, columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName" }, { 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: "taskComment", key: "taskComment", render: text => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; } } ], columnsA: [ { title: "流程", dataIndex: "content", key: "content", align: "center" }, { title: "操作人", dataIndex: "aName", key: "aName", align: "center" }, { title: "时间", dataIndex: "createTimes", key: "createTimes", align: "center" } ], resVisible: false, companyColumns: [ { title: "公司", dataIndex: "name", key: "name", //fixed:'left', width: 160 }, { title: "联系人", dataIndex: "contacts", key: "contacts" }, { title: "联系人电话", dataIndex: "contactsMobile", key: "contactsMobile" }, { title: "地址", dataIndex: "companyProvinceArr", key: "companyProvinceArr", width: 140, render: test => { return test[0] === null ? "" : getprovince(test[0]) + "/" + getprovince(test[1]) + "/" + getprovince(test[2]); } }, { title: "详细地址", dataIndex: "address", key: "address" } ] }; }, componentWillReceiveProps(nextProps) { this.setState({ visible: nextProps.visible, record: nextProps.record }); if (nextProps.record) { this.xiangqing(nextProps.record.id); this.xiangqings(nextProps.record.orderNo); this.xiangmu(nextProps.record.orderNo); this.loaduserss(nextProps.record); } }, // handleOk() { // this.setState({ // newVisible: false // }); // // window.setTimeout( () => { // // this.setState({ // // newVisible: true // // }); // // },) // }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record }); }, resCancel() { this.setState({ resVisible: false }); }, componentDidMount() {}, xiangqing(id) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/orderTaskDetail", data: { id: id }, 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({ id: thisdata.id, //ID orderNo: thisdata.orderNo, //订单编号 userName: thisdata.userName, //客户名称 taskName: thisdata.taskName, //任务名称 cname: thisdata.cname, //项目品类 contractNo: thisdata.contractNo, //合同编号 projectStatus: thisdata.projectStatus, //项目状态 taskStatus: thisdata.taskStatus, //任务状态 taskDate: thisdata.taskDate, //分配时间 taskComment: thisdata.taskComment, //说明 attachmentUrl: thisdata.attachmentUrl ? splitUrl( thisdata.attachmentUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 salesmanName: thisdata.salesmanName, //订单负责人 startDate: thisdata.startDate, //启动日期 endDate: thisdata.endDate, //结束日期 acceptDate: thisdata.acceptDate, //受理日期 reviewDate: thisdata.reviewDate, //评审日期 publicityDate: thisdata.publicityDate, //公示日期 licenceDate: thisdata.licenceDate, //发证日期 contacts: thisdata.contacts, //联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 certificateNumber: thisdata.certificateNumber, //证书编号 status: thisdata.status, //状态 formRetrieve: thisdata.formRetrieve, //满意度表格 taskRefund: thisdata.taskRefund, //退单 refundContent: thisdata.refundContent, //退单信息 retrieveContent: thisdata.retrieveContent, //回收信息 arrivalMoney: thisdata.arrivalMoney, //是否到款 setUpAmount: thisdata.setUpAmount, //立项金额 declareUser: thisdata.declareUser, //账号 declarePwd: thisdata.declarePwd, //密码 depName: thisdata.depName, //订单部门 outsourceName: thisdata.outsourceName, //外包公司名称 outsourcePrice: thisdata.outsourcePrice //外包价格 }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //订单详情 xiangqings(orderNos) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos }, success: function(data) { let thisdata = data.data; let ProvinceCityArr = []; let ProvinceS = thisdata.locationProvince; //省 let citys = thisdata.locationCity; //市 let Areas = thisdata.locationArea; //区 ProvinceCityArr.push(ProvinceS, citys, Areas); if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { this.setState({ processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 approval: thisdata.approval, //特批状态 orderRemarks: thisdata.orderRemarks, //订单留言 salesmanName: thisdata.salesmanName, //营销员名称 salesmanMobile: thisdata.salesmanMobile, //营销员电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 nowFinance: thisdata.nowFinance, //财务名称 nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话 depName: thisdata.depName, //订单部门 locationProvince: thisdata.locationProvince, locationCity: thisdata.locationCity, locationArea: thisdata.locationArea, ProvinceCity: ProvinceCityArr, postalAddress: thisdata.postalAddress, //详细地址 outsource: thisdata.outsource }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //查看下证信息 loaduserss(record) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/selectTaskProgress", data: { tid: record.id }, 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({ num: i + 1, key: i, id: thisData.id, //编号 alreadyNumber: thisData.alreadyNumber, //下证数 licenceTimes: thisData.licenceTimes, //下证时间 notCount: thisData.notCount, //未下证数 flag: true }); } this.setState({ contactList: theArr }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //项目列表 xiangmu(orderNos) { this.setState({ loading: true }); $.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]; theArr.push({ key: i, id: thisdata.id, orderNo: thisdata.orderNo, //订单编号 commodityId: thisdata.commodityId, //项目ID commodityName: thisdata.commodityName, //项目名称 cname: thisdata.cname, //项目类别 commodityPrice: thisdata.commodityPrice, //项目价格 commodityQuantity: thisdata.commodityQuantity, //项目数量 main: thisdata.main, //是否为主要任务 taskComment: thisdata.taskComment, //任务说明 contacts: thisdata.contacts, //联系人 contactsMobile: thisdata.contactsMobile, //联系人电话 taskStatus: thisdata.taskStatus, //是否分配 splitStatus: thisdata.splitStatus }); } } this.setState({ dataSourceX: theArr }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, tableRowClickX(record) { this.setState({ jid: record.id, //项目ID kid: record.commodityId, //商品ID commodityName: record.commodityName, //金额 commodityPrice: record.commodityPrice, //金额 commodityQuantity: record.commodityQuantity, //数量 taskComment: record.taskComment, //备注 main: record.main.toString(), //是否为主要 addnextVisible: true, addState: 0 }); }, caozuorizhi() { this.setState({ loading: true }); this.setState({ visibleA: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/TaskLogList", data: { id: this.state.id }, 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]; theArr.push({ key: i, id: thisdata.id, //日志ID content: thisdata.content, //流程 taskId: thisdata.taskId, //任务ID aName: thisdata.aName, //负责人 createTimes: thisdata.createTimes //时间 }); } } this.setState({ dataSourceA: theArr }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //关闭操作工时 visitCancelA() { this.setState({ visibleA: false }); }, waiDetail() { let url = window.location.href.substring(7); this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails", data: { tid: this.props.record.id, orderNo: this.props.record.orderNo } }).done( function(data) { this.setState({ loading: false }); if (!data.error.length && data.data) { this.setState({ outsourceRemarks: data.data.outsourceRemarks, remarks: data.data.remarks, companyName: data.data.companyName, amount: data.data.amount, mid: data.data.id, unitPrice: data.data.unitPrice, refundStatus: data.data.refundStatus, unitNumber: data.data.unitNumber, pictureUrl: data.data.pictureUrl ? splitUrl( data.data.pictureUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], //图片地址 createTimes: data.data.createTimes, auditTimes: data.data.auditTimes }); } else if (data.error && data.error.length) { message.warning(data.error[0].message); } else if (!data.data) { this.setState({ refundStatus: undefined }); } }.bind(this) ); }, //加载外包 loadCompany() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/selectOutsourceOrg", data: { tid: this.props.record.id, orderNo: this.props.record.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, //外包Id name: thisdata.name, //名称 contacts: thisdata.contacts, //联系人 contactsMobile: thisdata.contactsMobile, //联系人电话 companyProvinceArr: ProvinceCityArr, address: thisdata.address, remarks: thisdata.remarks }); } } this.setState({ companys: theArr }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, tabChange(e) { if (e == 2) { this.waiDetail(); } else if (e == 3) { this.loadCompany(); } }, render() { const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 } }; const utils = { getSatisfaction: function(num) { switch (num) { case 0: return "未收回"; case 1: return "已收回"; default: return "其它"; } }, getChargeback: function(num) { switch (num) { case 0: return "已完成"; case 1: return "未完成"; default: return "其它"; } } }; return ( { this.props.cancel(); }} > {this.state.resVisible ? ( ) : ( "" )}
{this.state.status ? "暂停" : "开启"} {this.state.contractNo}
{/* {getProcessStatus(this.state.projectStatus)} */} {getProjectStatus(this.state.projectStatus)} {getApproval(this.state.approval)} {getLiquidationStatus(this.state.liquidationStatus)} {getProcessStatus(this.state.processStatus)} {this.state.orderNo} {this.state.outsource == 0 ? "否" : "是"}
{utils.getSatisfaction(this.state.formRetrieve)} {utils.getChargeback(this.state.taskRefund)}
{ {this.state.retrieveContent} } { {this.state.refundContent} }

任务信息

{this.state.id} {this.state.taskName} {getTaskStatus(this.state.taskStatus)} {this.state.cname} {this.state.certificateNumber}
{this.state.outsource === 1 ? (

外包信息

{this.state.outsourceName} {this.state.outsourcePrice}
) : ( "" )} {/*
*/}

联系信息

{this.state.userName} {this.state.legalPerson} {this.state.legalPersonTel} {this.state.contacts} {this.state.contactMobile} {getprovince(this.state.locationProvince)}/ {getprovince(this.state.locationCity)}/ {getprovince(this.state.locationArea)} {this.state.postalAddress}
{/*
*/}

订单负责人信息

{this.state.salesmanName + "(" + this.state.depName + ")"} {this.state.salesmanMobile} {this.state.nowFinance} {this.state.nowFinanceMobile} {this.state.oldSalesmanName} {this.state.oldSalesmanMobile} {this.state.financeName} {this.state.financeMobile}

申报系统账户信息

{/*注:仅技术部可见*/} {this.state.declareUser ? "****" : ""} {this.state.declarePwd ? "****" : ""}

项目申报进度

{this.state.startDate} {this.state.endDate} {this.state.acceptDate} {this.state.reviewDate} {this.state.publicityDate} {this.state.licenceDate} {this.state.setUpAmount} {this.state.arrivalMoney ? "已到企业" : "未到企业"}
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >
{this.state.taskComment}

项目业务

{/* {this.state.processStatus == 0 ? ( ) : ( "" )} */}
{this.props.record && this.props.record.outsource == 1 ? (
{this.state.companyName}
{this.state.unitPrice}
{this.state.unitNumber}
{this.state.amount}
{this.state.outsourceRemarks}
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >

{this.state.remarks}
{getRefundStatus(this.state.refundStatus)}
{this.state.auditTimes}
) : ( "" )} {this.props.record && this.props.record.outsource == 1 ? (
{ return

{record.remarks}

; }} pagination={false} /> ) : ( "" )}
); } }); export default project;