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' import ImgList from "./common/imgList"; 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, //外包价格 declarationBatch: thisdata.declarationBatch, //外包价格 }) } }.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, sort: thisdata.cSort, }) } } 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.declarationBatch} {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