import React from 'react' import $ from 'jquery' import { Spin, Button, Tabs, Table, message, Modal, Form, Upload, Tag, Tooltip, } from 'antd' import { getProcessStatus, getApproval, getTaskStatus, getLiquidationStatus, splitUrl, getProjectStatus, getboutique, getprovince, ShowModal, getRefundStatus, getFormRetrieves, } from '@/tools' const FormItem = Form.Item import ResolutionDetail from '@/resolutionDetail' import ImgList from "./common/imgList"; import CheckProject from "./manageCenter/components/checkProject"; import { cuiJieDian } from '@/dataDic.js' import { getProjectName } from "./tools"; import OrderCoor from './manageCenter/order/orderNew/changeComponent/orderCoor' const { TabPane } = Tabs const project = React.createClass({ getInitialState() { return { oldInfor: {}, patentNameType: -1, patentType: -1, paySubject: [], orderNos: '', containOfficialFees: 0,//官费缴费情况 record: this.props.record, paginations: false, tabsKey: "1", 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}
) }, }, ], 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({ record: nextProps.record, }) if (nextProps.record) { this.setState({ orderNo: 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, }) }, // 详情 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({ orderTaskCostReduction: thisdata.costReduction,//费减 checkStatus: thisdata.checkStatus,//核对状态 commodityQuantity: thisdata.commodityQuantity,//项目数量 patentTypeName: thisdata.patentTypeName,//官费类型名称 patentTypeId: thisdata.patentType,//官费专利类型 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, // 满意度调查表状态 satisfactionDegree: thisdata.satisfactionDegree, // 满意度 satisfactionDegreeUrl: thisdata.satisfactionDegreeUrl ? splitUrl(thisdata.satisfactionDegreeUrl, ",", globalConfig.avatarHost + "/upload") : [], // 满意度调查表 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, //外包价格 projectType: thisdata.bpType,//项目类型 orderTaskOfficialCost: thisdata.officialCost, //官费 0无 1有 sort: thisdata.sort, }) if (thisdata.patentTransfer) { this.setState({ patentType: 1 }) } else { this.setState({ patentType: 0 }) } } }.bind(this), }).always( function () { this.setState({ loading: false, }) }.bind(this) ) }, // 获取csort下的数据 getCsortData(cSort) { cuiJieDian.map((item) => { if (item.value == cSort) { this.setState({ paySubject: item.children, }) } }) }, //订单详情 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({ examineName: thisdata.examineName, 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]; thisdata.key = i; thisdata.sort = thisdata.cSort; theArr.push(thisdata); } } 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) { if (!isNaN(parseFloat(data.data.unitNumber))) { this.setState({ oldInfor: { companyName: data.data.companyName, unitPrice: data.data.unitPrice, unitNumber: data.data.unitNumber, amount: data.data.amount, outsourceRemarks: data.data.outsourceRemarks, refundStatus: data.data.refundStatus, pictureUrl: data.data.pictureUrl ? splitUrl( data.data.pictureUrl, ',', globalConfig.avatarHost + '/upload', url ) : [], //图片地址 }, }) } else { this.setState({ oldInfor: {}, }) } this.setState({ containOfficialFees: data.data.actualOfficial,//官费类型 0实际已缴费 1实际未缴费 startType: data.data.startType, //类型 patentType: data.data.patentType, //专利类型 patentNameType: data.data.patentNameType, //专利名称类型 patentName: data.data.patentName, //专利名称 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, containOfficialFees: undefined,//官费类型 0实际已缴费 1实际未缴费 startType: undefined, //类型 patentType: undefined, //专利类型 patentNameType: undefined, //专利名称类型 patentName: undefined, //专利名称 outsourceRemarks: undefined, remarks: undefined, companyName: undefined, amount: undefined, mid: undefined, unitPrice: undefined, unitNumber: undefined, pictureUrl: undefined, //图片地址 createTimes: undefined, auditTimes: 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) { this.setState({ tabsKey: e }) if (e == 2) { this.waiDetail(); this.payNodeTable(); this.thirdTable(); this.getCsortData(); } else if (e == 3) { this.loadCompany() } }, //查看第三方信息表格 thirdTable() { this.setState({ thirdInfoLoading: true, }) let ajaxObj = $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/admin/company/selectCompany', data: { tid: this.props.record.id, }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message) } else { let companyNameArr = []; let theArr = []; let thisData = []; let arr = data.data || []; let allTotalAmount = 0; let type = 0; let startType = 0; let patentNameType = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i] allTotalAmount = (allTotalAmount * 10000 + thisData.totalAmount * 10000) / 10000 companyNameArr.push(thisData.companyName); thisData.key = i; type = thisData.patentType; thisData.patentType = thisData.type; theArr.push(thisData); startType = thisData.startType; patentNameType = thisData.patentNameType } if (!allTotalAmount) { allTotalAmount = 0 } for (let d = 0; d < theArr.length; d++) { theArr[d].companyName = theArr[d].companyName + '-' + theArr[d].id; companyNameArr[d] = { companyName: theArr[d].companyName, id: theArr[d].id, } } if ((type === 0 || type === 1) && arr.length > 0) { this.setState({ patentType: type === 0 ? 0 : 1, //0专利申请 1专利买卖 patentNameType: patentNameType, //0实用新型 1发明专利 2外观专利 3 其他 }) } //设置项目类型 if (arr.length > 0) { this.setState({ startType: startType }) } this.setState({ thirdInfoList: theArr, }) } }.bind(this), }).always( function () { this.setState({ thirdInfoLoading: false, }) }.bind(this) ) this.setState({ selectCompanyAjaxObj: ajaxObj }) }, payNodeTable() { this.setState({ payNodeLoading: true, }) let ajaxObj = $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/admin/company/selectPaymentNode', data: { tid: this.props.record.id, }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message) } else { let payNodeArr = [] let thisData = [] let arr = data.data || [] //对#5283自定义的补充展示 this.state.paySubject.push({ key: '自定义', value: '0' }) for (let i = 0; i < arr.length; i++) { thisData = arr[i] //遍历paySubject,获取当前dunType对应的key this.state.paySubject.map((item) => { if (item.value == thisData.dunType) { thisData.dunType = item.key } }) payNodeArr.push({ key: i, id: thisData.id, //付款节点Id nodeId: thisData.id, //付款节点Id tid: thisData.tid, companyName: thisData.companyName, //供应商名称 projectType: thisData.projectType, //项目分类 dunType: thisData.dunType, //催款分类 unitPrice: thisData.unitPrice, //单价 quantity: thisData.quantity, //数量 totalAmount: thisData.totalAmount, //总价 partyAmount: thisData.partyAmount, //付款 partyTimes: thisData.partyTimes, //付款时间 cid: thisData.cid, //机构id status: thisData.status, //催款状态 0-未支付 1-待全款 ,2已全款 status=2的时候已经全款,申请付款按钮可以去掉了 }) } for (let d = 0; d < payNodeArr.length; d++) { payNodeArr[d].companyName = payNodeArr[d].companyName + '-' + payNodeArr[d].cid; } this.setState({ payNodeList: payNodeArr, }) } }.bind(this), }).always( function () { this.setState({ payNodeLoading: false, }) }.bind(this) ) this.setState({ selectPaymentNodeAjaxObj: ajaxObj }) }, 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.visible ? { this.setState({ tabsKey: "1" }) this.props.cancel() }} > {this.state.resVisible ? ( ) : ( '' )} {this.state.tabsKey === "1" &&
{getProjectName(this.state.projectStatus)} {this.state.contractNo}
{getApproval(this.state.approval)} {getLiquidationStatus(this.state.liquidationStatus)} {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)} {this.props.record.orderNo} {this.state.outsource == 0 ? '否' : '是'}
{getFormRetrieves(this.state.formRetrieve, this.state.satisfactionDegree)}
{/**/} {/* {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.state.attachmentUrl && this.props.visible && this.state.tabsKey === "1" ?
:
}
{this.state.taskComment}
{/* 协单人员 */}

项目业务

{/* {this.state.processStatus == 0 && ( )} */}
} {this.state.tabsKey === "2" ?
{ this.props.visible && this.state.tabsKey === '2' ? { this.waiDetail(); this.thirdTable(); this.payNodeTable() this.xiangqing(this.state.id); }} /> :
}

{this.state.remarks}
{!(this.state.oldInfor && Object.keys(this.state.oldInfor).length > 0) ?
{getRefundStatus(this.state.refundStatus)}
:
}
{this.state.auditTimes}
:
} {/*{this.props.record && this.props.record.outsource == 1 ? (*/} {/* */} {/*
*/} {/* */} {/* {*/} {/* return

{record.remarks}

*/} {/* }}*/} {/* pagination={false}*/} {/* />*/} {/*
*/} {/*
*/} {/*
*/} {/*) : (*/} {/* ''*/} {/*)}*/}
:
) }, }) export default project