1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288 |
- import React, { Component } from 'react'
- import {
- Form,
- Spin,
- Table,
- Modal,
- Col,
- Tag,
- Button,
- message,
- Tooltip,
- Popconfirm,
- } from 'antd'
- import { getMaterialStatus, getUrgentStatus, getProjectName } from '@/tools'
- import ApplyPaymentModal from './applyPaymentModal';
- import PayRecord from './payRecord';
- import ImgList from '../../../common/imgList/index';
- import './index.less'
- import $ from "jquery";
- import OldInforProject from "../oldInforProject";
- import PatentCheck from "../../../common/patentCheck";
- import PaymentRecord from '../../../common/initiateOrder/paymentRecord';
- import NewSupplier from "../../project/task/newSupplier";
- import OperationPayNode from "../../project/task/operationPayNode";
- const confirm = Modal.confirm
- class CheckProject extends Component {
- constructor(props) {
- super(props)
- this.state = {
- value: '',
- loading: false,
- previewImage: '',
- previewVisible: false,
- previewPayVisible: false,
- type: 1,//1 申请付款 2 申请付官费
- previewPayInfor: {}, //点击申请付款的第三方信息或者支付节点信息
- nodeId: 0,
- // 专利
- ContactsListsNew: [],
- //付款节点表头
- PayNodeTableColunms: [],
- outsourceLogs: [],//审核日志
- outsourcingLogLoading: false,
- payRecordsLoading: false,
- PayNodeCompany: []
- }
- this.getPayNodeCompany = this.getPayNodeCompany.bind(this);
- }
- componentDidMount() {
- if (this.props.tid) {
- setTimeout(() => {
- this.getSelectOutsourceLog();
- this.projectTypeTabContent(this.props.projectType);
- }, 500)
- }
- this.getPayNodeCompany();
- }
- getPayNodeCompany() {
- let arr = this.props.thirdInfoList ? JSON.parse(JSON.stringify(this.props.thirdInfoList)) : [];
- let companyNameArr = [];
- for (let d = 0; d < arr.length; d++) {
- arr[d].companyName = arr[d].companyName + '-' + arr[d].id;
- companyNameArr.push({
- companyName: arr[d].companyName,
- id: arr[d].id,
- });
- }
- this.setState({
- PayNodeCompany: companyNameArr
- })
- }
- projectTypeTabContent(projectType) {
- this.setState({
- //付款节点表头
- PayNodeTableColunms: [
- {
- title: '节点编号',
- dataIndex: 'id',
- key: 'id',
- },
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '付款科目',
- dataIndex: 'dunType',
- key: 'dunType',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '付款时间',
- dataIndex: 'partyTimes',
- key: 'partyTimes',
- render: (text, record) => {
- return <span>{text ? text : '/'}</span>
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- },
- },
- {
- title: '已付',
- dataIndex: 'partyAmount',
- key: 'partyAmount',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '操作',
- dataIndex: 'dels',
- key: 'dels',
- render: (text, record, index) => {
- return (
- <div>
- {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
- {/*存在支付节点时不显示第三方的申请付款*/}
- {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
- {/*this.props.startType 0外包 1供应商(不需要审核)*/}
- {/*record.status 0-未支付 1-待全款 ,2已全款 status=2的时候已经全款,按钮可以去掉了*/}
- <Button disabled={
- !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && record.status !== 2)
- } type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true,
- previewPayInfor: record,
- })
- }}>
- 申请付款
- </Button>
- {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
- title="是否删除?"
- onConfirm={() => {
- this.payNodeConfirmDeletNew(record)
- }}
- okText="删除"
- cancelText="不删除"
- >
- <Button
- disabled={this.props.status !== 2}
- onClick={(e) => {
- e.stopPropagation()
- }}
- style={{
- marginLeft: '10px',
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- }}
- >
- 删除
- </Button>
- </Popconfirm> : <div />}
- </div>
- )
- },
- },
- ],
- })
- //0正常 1专利 2软著 3审计 this.props.startType 0外包 1供应商 外包时当普通单处理 projectType大于3的都用通用表格
- if (projectType === 0 || !projectType || this.props.startType === 0 || projectType > 3) {
- this.setState({
- ContactsListsNew: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '单价(万元)',
- dataIndex: 'unitPrice',
- key: 'unitPrice',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '备注',
- dataIndex: 'remarks',
- key: 'remarks',
- render: (text) => {
- return (
- <Tooltip placement="topLeft" title={text}>
- <div style={{
- maxWidth: '150px',
- overflow: 'hidden',
- textOverflow: "ellipsis",
- whiteSpace: 'nowrap',
- }}>{text}</div>
- </Tooltip>
- )
- }
- },
- {
- title: '操作',
- dataIndex: 'action',
- key: 'action',
- render: (text, record) => {
- return (
- <div>
- {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
- {/*存在支付节点时不显示第三方的申请付款*/}
- {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
- {/*this.props.startType 0外包 1供应商(不需要审核)*/}
- <Button disabled={
- !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
- } type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true,
- previewPayInfor: record,
- })
- }}>
- 申请付款
- </Button>
- {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
- title="是否删除?"
- onConfirm={() => {
- this.confirmDeletNew(record)
- }}
- okText="删除"
- cancelText="不删除"
- >
- <Button
- disabled={this.props.status !== 2}
- onClick={(e) => {
- e.stopPropagation()
- }}
- style={{
- marginLeft: '10px',
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- }}
- >
- 删除
- </Button>
- </Popconfirm> : <div />}
- </div>
- )
- },
- },
- ],
- })
- } else if (projectType === 2) { //2软著
- this.setState({
- ContactsListsNew: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '单价(万元)',
- dataIndex: 'unitPrice',
- key: 'unitPrice',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '方案',
- dataIndex: 'material',
- key: 'material',
- render: (text, record) => {
- return getMaterialStatus(text)
- },
- },
- {
- title: '加急',
- dataIndex: 'urgent',
- key: 'urgent',
- render: (text, record) => {
- return getUrgentStatus(text)
- },
- },
- {
- title: '操作',
- dataIndex: 'action',
- key: 'action',
- render: (text, record) => {
- return (
- <div>
- {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
- {/*存在支付节点时不显示第三方的申请付款*/}
- {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
- {
- <Button disabled={
- !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
- } type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true,
- previewPayInfor: record,
- })
- }}>
- 申请付款
- </Button>
- }
- {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
- title="是否删除?"
- onConfirm={() => {
- this.confirmDeletNew(record)
- }}
- okText="删除"
- cancelText="不删除"
- >
- <Button
- disabled={this.props.status !== 2}
- onClick={(e) => {
- e.stopPropagation()
- }}
- style={{
- marginLeft: '10px',
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- }}
- >
- 删除
- </Button>
- </Popconfirm> : <div />}
- </div>
- )
- },
- },
- ],
- })
- } else if (projectType === 1) { //1专利
- if (this.props.patentType === 0) { //专利申请
- this.setState({
- ContactsListsNew: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '单价(万元)',
- dataIndex: 'unitPrice',
- key: 'unitPrice',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- // {
- // title: "官费",
- // dataIndex: "officialCost",
- // key: "officialCost",
- // render: (text) => {
- // return text === 1 ? '含官费' : '不含官费'
- // },
- // },
- // {
- // title: "费减",
- // dataIndex: "costReduction",
- // key: "costReduction",
- // render: (text) => {
- // return text === 1 ? '有费减' : '无费减'
- // },
- // },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '备注',
- dataIndex: 'remarks',
- key: 'remarks',
- render: (text) => {
- return (
- <Tooltip placement="topLeft" title={text}>
- <div style={{
- maxWidth: '150px',
- overflow: 'hidden',
- textOverflow: "ellipsis",
- whiteSpace: 'nowrap',
- }}>{text}</div>
- </Tooltip>
- )
- }
- },
- {
- title: '操作',
- dataIndex: 'action',
- key: 'action',
- render: (text, record) => {
- return (
- <div>
- {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
- {/*存在支付节点时不显示第三方的申请付款*/}
- {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
- <Button disabled={
- !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
- } type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true,
- previewPayInfor: record,
- })
- }}>
- 申请付款
- </Button>
- {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
- title="是否删除?"
- onConfirm={() => {
- this.confirmDeletNew(record)
- }}
- okText="删除"
- cancelText="不删除"
- >
- <Button
- disabled={this.props.status !== 2}
- onClick={(e) => {
- e.stopPropagation()
- }}
- style={{
- marginLeft: '10px',
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- }}
- >
- 删除
- </Button>
- </Popconfirm> : <div />}
- </div>
- )
- },
- },
- ],
- })
- } else {
- this.setState({
- ContactsListsNew: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '单价(万元)',
- dataIndex: 'unitPrice',
- key: 'unitPrice',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '备注',
- dataIndex: 'remarks',
- key: 'remarks',
- render: (text) => {
- return (
- <Tooltip placement="topLeft" title={text}>
- <div style={{
- maxWidth: '150px',
- overflow: 'hidden',
- textOverflow: "ellipsis",
- whiteSpace: 'nowrap',
- }}>{text}</div>
- </Tooltip>
- )
- }
- },
- {
- title: '操作',
- dataIndex: 'action',
- key: 'action',
- render: (text, record) => {
- return (
- <div>
- {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
- {/*存在支付节点时不显示第三方的申请付款*/}
- {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
- {
- <Button disabled={
- !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
- } type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true,
- previewPayInfor: record,
- })
- }}>
- 申请付款
- </Button>
- }
- {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
- title="是否删除?"
- onConfirm={() => {
- this.confirmDeletNew(record)
- }}
- okText="删除"
- cancelText="不删除"
- >
- <Button
- disabled={this.props.status !== 2}
- onClick={(e) => {
- e.stopPropagation()
- }}
- style={{
- marginLeft: '10px',
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- }}
- >
- 删除
- </Button>
- </Popconfirm> : <div />}
- </div>
- )
- },
- },
- ]
- })
- }
- } else if (projectType === 3) { //3审计
- this.setState({
- ContactsListsNew: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '单价(万元)',
- dataIndex: 'unitPrice',
- key: 'unitPrice',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>
- {
- isNaN(text) ? text : parseFloat(text)
- }
- </span>
- }
- },
- },
- {
- title: '审计',
- dataIndex: 'audit',
- key: 'audit',
- render: (text, record) => {
- if (text) {
- return <span>{text === 0 ? '无审计' : text === 1 ? '年审' : '专审'}</span>
- }
- },
- },
- {
- title: '公司资产(万元)',
- dataIndex: 'assets',
- key: 'assets',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '收入(万元)',
- dataIndex: 'income',
- key: 'income',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '操作',
- dataIndex: 'action',
- key: 'action',
- render: (text, record) => {
- return (
- <div>
- {/*外包审核通过后,咨询师/咨询经理可申请付款*/}
- {/*存在支付节点时不显示第三方的申请付款*/}
- {/*0-待审核 ,1-审核通过,2-审核拒绝 true [NULL]*/}
- {
- <Button disabled={
- !(this.props.isPreviewPay && (this.props.status === 1 || parseInt(this.props.startType) === 1 || parseInt(this.props.startType) === 2) && this.props.dataSource.length === 0)
- } type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true,
- previewPayInfor: record,
- })
- }}>
- 申请付款
- </Button>
- }
- {this.props.status === 2 && !this.props.isAuditPaymentGLY ? <Popconfirm
- title="是否删除?"
- onConfirm={() => {
- this.confirmDeletNew(record)
- }}
- okText="删除"
- cancelText="不删除"
- >
- <Button
- disabled={this.props.status !== 2}
- onClick={(e) => {
- e.stopPropagation()
- }}
- style={{
- marginLeft: '10px',
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- }}
- >
- 删除
- </Button>
- </Popconfirm> : <div />}
- </div>
- )
- },
- },
- ]
- })
- }
- }
- tableRowClickOne(record) { }
- //点击付款节点详情
- payNodeTableRowClickOne(record) { }
- //外包日志列表
- getSelectOutsourceLog() {
- this.setState({
- outsourcingLogLoading: true
- })
- $.ajax({
- method: 'get',
- dataType: 'json',
- crossDomain: false,
- url: globalConfig.context + '/api/admin/outsourceOrg/selectOutsourceLog',
- data: {
- tid: this.props.tid,
- },
- success: function (data) {
- if (data.error.length) {
- if (data.error && data.error.length) {
- message.warning(data.error[0].message);
- }
- } else {
- this.setState({
- outsourceLogs: data.data
- })
- }
- }.bind(this),
- }).always(
- function () {
- this.setState({
- outsourcingLogLoading: false
- })
- }.bind(this)
- )
- }
- // 删除供应商信息
- confirmDeletNew(index) {
- this.setState({
- loading: true,
- ThirdListVisible: false,
- })
- $.ajax({
- url: globalConfig.context + '/api/admin/company/deleteCompany',
- method: 'post',
- data: {
- id: index.id,
- },
- }).done(
- function (data) {
- this.setState({
- loading: false,
- })
- if (!data.error.length) {
- message.success('删除成功!')
- this.props.onRefresh()
- } else {
- message.warning(data.error[0].message)
- }
- }.bind(this)
- )
- }
- //超级管理员
- superAdminReject() {
- let _this = this;
- confirm({
- title: '提醒',
- content: '确定要驳回吗?',
- onOk() {
- _this.setState({
- loading: true,
- })
- $.ajax({
- url: globalConfig.context + '/api/admin/outsourceOrg/superAdminReject',
- method: 'post',
- data: {
- id: _this.props.mid,
- },
- }).done(
- function (data) {
- _this.setState({
- loading: false,
- })
- if (!data.error.length) {
- message.success('驳回成功!')
- _this.props.onRefresh();
- _this.getSelectOutsourceLog();
- } else {
- message.warning(data.error[0].message)
- }
- }.bind(_this)
- )
- }
- })
- }
- render() {
- return (
- <div>
- {this.props.oldInfor && Object.keys(this.props.oldInfor).length > 0 ?
- <OldInforProject oldInfor={this.props.oldInfor} /> :
- <div className="App">
- <div className="projectType">
- <div className="typeTitle">
- <div>类型:</div>
- </div>
- {
- parseInt(this.props.startType) === 0
- ?
- <div>
- <div>外包(外包派单,不走总部)</div>
- <div className="tipsText">提示高于总部价格,费用个人承担</div>
- </div> : parseInt(this.props.startType) === 1
- ?
- <div>供应商信息(普通单)</div> : <div>高质量申请</div>
- }
- <div style={{ marginLeft: 'auto' }}>
- <span style={{ color: '#58a3ff' }}>项目状态:</span>{getProjectName(parseInt(this.props.projectStatus))}
- </div>
- </div>
- {
- this.props.projectType === 1 ?
- <div style={{
- display: 'flex',
- flexFlow: 'row nowrap',
- alignItems: 'center',
- padding: '0px 0px 10px 20px'
- }}>
- <div>
- 专利类型:<span style={{ marginLeft: '15px' }}>{this.props.patentType === 0 ? '专利申请/变更' : '专利转让'}</span>
- </div>
- <div style={{ paddingLeft: '100px' }}>
- 专利名称:<span style={{ marginLeft: '15px' }}>
- {
- this.props.patentNameType === 0 ? '实用新型专利' :
- this.props.patentNameType === 1 ? '发明专利' :
- this.props.patentNameType === 2 ? '外观专利' :
- this.props.patentNameType === 3 ? this.props.patentName : ''
- }
- </span>
- </div>
- </div> : <div />
- }
- {
- this.props.projectType === 1 && this.props.startType !== 0 ?
- <div style={{ padding: '0px 0px 10px 20px', display: 'flex', alignItems: 'center', }}>
- 官费:
- {
- this.props.patentType === 1 ?
- <span style={{ marginLeft: '15px' }}>{this.props.containOfficialFees === 0 ? '实际已缴费' : '实际未缴费'}</span> :
- <PatentCheck
- style={{
- display: 'flex',
- alignItems: 'center',
- }}
- id={this.props.tid}
- isAuditPayment={this.props.isAuditPayment}
- isAuditPaymentGLY={this.props.isAuditPaymentGLY}
- patentTypeName={this.props.patentTypeName}
- patentTypeId={this.props.patentTypeId}
- checkStatus={this.props.checkStatus} //核对状态
- projectType={this.props.projectType} //项目类型
- patentType={this.props.patentType} //专利类型
- startType={this.props.startType} //1供应商 0外包
- orderTaskOfficialCost={this.props.orderTaskOfficialCost} //1含官费 0不含官费
- orderTaskCostReduction={this.props.orderTaskCostReduction} //1有费减 0无费减
- isPreviewPay={this.props.isPreviewPay}
- status={this.props.status}
- onRefresh={this.props.onRefresh}
- onPayOfficialExpenses={() => {
- this.setState({
- previewPayVisible: true,
- type: 2,
- })
- }}
- />
- }
- </div> : null
- }
- <div className="thirdParty">
- <div>
- <span className="title">
- 第三方信息
- </span>
- {this.props.startType === 1 && !this.props.isAuditPayment && !this.props.isAuditPaymentGLY ? <Button
- type="primary"
- onClick={(e) => {
- this.setState({
- ThirdListVisible: true,
- })
- }}
- style={{
- float: 'right',
- marginRight: '50px',
- marginBottom: '15px',
- }}
- >
- +新增第三方信息
- </Button> : null}
- </div>
- <div
- className="clearfix"
- >
- <Spin spinning={this.state.loading}>
- <Form layout="horizontal">
- <Table
- pagination={false}
- columns={this.state.ContactsListsNew}
- dataSource={this.props.thirdInfoList}
- onRowClick={this.tableRowClickOne}
- scroll={{ x: 'max-content', y: 0 }}
- style={{
- cursor: 'pointer',
- }}
- bordered
- size="middle"
- />
- <Col span={24} offset={9} style={{ marginTop: '15px' }} />
- </Form>
- </Spin>
- </div>
- </div>
- {/*如果是软著类或者专利类的专利申请,隐藏付款节点但当为外包类型时,无需隐藏*/}
- {(!((this.props.projectType === 1 && this.props.patentType === 0) || this.props.projectType === 2)) || this.props.startType === 0 || this.props.startType === 2 ? <div className="thirdParty">
- <div>
- <span className="title">
- 付款节点
- </span>
- {this.props.startType === 1 && !this.props.isAuditPayment && !this.props.isAuditPaymentGLY ? <Button
- type="primary"
- onClick={(e) => {
- this.getPayNodeCompany();
- this.setState({
- PayNodeVisible: true,
- })
- }}
- style={{
- float: 'right',
- marginRight: '50px',
- marginBottom: '15px',
- }}
- >
- +新增付款节点
- </Button> : null}
- </div>
- <div
- className="clearfix"
- >
- <Spin spinning={this.state.loading}>
- <Form layout="horizontal">
- <Table
- pagination={false}
- columns={this.state.PayNodeTableColunms}
- dataSource={this.props.dataSource}
- onRowClick={this.payNodeTableRowClickOne}
- style={{
- cursor: 'pointer',
- }}
- scroll={{ x: 'max-content', y: 0 }}
- bordered
- size="middle"
- />
- <Col span={24} offset={9} style={{ marginTop: '15px' }} />
- </Form>
- </Spin>
- </div>
- </div> : <div />}
- <div
- style={{
- borderTop: '1px #000000 dashed',
- padding: '10px 20px 0px 20px',
- }}
- >
- <div>
- <div className="title">备注</div>
- <div style={{ fontSize: '15px' }}>
- {this.props.outsourceRemarks}
- </div>
- </div>
- {this.props.fileList && this.props.fileList.length > 0 ? <div style={{ paddingTop: '10px' }}>
- <div className="title">合同/协议扫描件</div>
- <div>
- <ImgList fileList={this.props.fileList} ItemWidth={'96px'} />
- </div>
- {/*<Upload*/}
- {/* className="demandDetailShow-upload"*/}
- {/* listType="picture-card"*/}
- {/* fileList={this.props.fileList}*/}
- {/* onPreview={(file) => {*/}
- {/* this.setState({*/}
- {/* previewImage: file.url || file.thumbUrl,*/}
- {/* previewVisible: true,*/}
- {/* })*/}
- {/* }}*/}
- {/*/>*/}
- <Modal
- maskClosable={false}
- footer={null}
- visible={this.state.previewVisible}
- onCancel={() => {
- this.setState({ previewVisible: false })
- }}
- >
- <img
- alt=""
- style={{ width: '100%' }}
- src={this.state.previewImage || ''}
- />
- </Modal>
- </div> : <div />}
- </div>
- <Spin spinning={this.state.outsourcingLogLoading}>
- {parseInt(this.props.startType) !== 1 && this.state.outsourceLogs.length !== 0 ? <div className="outsourceLogConent">
- <div className="title" style={{
- paddingBottom: 0,
- }}>外包状态</div>
- <div className="outsourceLogList">
- {
- this.state.outsourceLogs && this.state.outsourceLogs.map((value, index) => (
- <div key={index} className="outsourceLogItem outsource">
- <div style={{
- display: 'flex',
- flexFlow: 'row nowrap',
- paddingBottom: '3px',
- paddingTop: '3px',
- }}>
- <div>
- {value.aname}
- </div>
- <div style={{ paddingLeft: '5px' }}>
- {
- value.status === 0 ?
- <Tag color="#2db7f5">发起外包审核</Tag> :
- value.status === 1 ? <Tag color="#87d068">通过</Tag> :
- <Tag color="#f50">驳回</Tag>
- }
- </div>
- <div style={{
- wordBreak: 'break-all',
- maxWidth: '67%',
- }}>
- {value.remarks}
- </div>
- <div style={{ paddingLeft: '10px' }}>
- {value.createTimes}
- </div>
- </div>
- </div>
- ))
- }
- </div>
- </div> : <div />}
- </Spin>
- <Spin spinning={this.state.payRecordsLoading}>
- <PaymentRecord
- {...this.props}
- ref={res => this.paymentRecordRef = res}
- tid={this.props.tid}
- isAuditPayment={this.props.isAuditPayment}
- projectType={this.props.projectType}
- patentType={this.props.patentType}
- isAuditPaymentGLY={this.props.isAuditPaymentGLY}
- />
- </Spin>
- {/*
- 申请付款
- tid:项目id
- nodeId: 付款节点id
- previewPayInfor: 项目或者节点信息
- */}
- {this.state.previewPayVisible ? <ApplyPaymentModal
- {...this.props}
- tid={this.props.tid}
- type={this.state.type}
- nodeId={this.state.nodeId}
- projectType={this.props.projectType}
- patentType={this.props.patentType}
- previewPayInfor={this.state.previewPayInfor}
- visible={this.state.previewPayVisible}
- commodityQuantity={this.props.commodityQuantity}
- startType={this.props.startType} //1供应商 0外包
- onRefresh={() => {
- this.props.onRefresh();
- this.paymentRecordRef.refresh();
- }}
- changeVisible={() => {
- this.setState({
- previewPayVisible: false,
- nodeId: 0, //付款节点id
- previewPayInfor: {},
- type: 1
- })
- }} /> : <div />}
- </div>
- }
- {/*管理员在审核通过的情况下才有此操作*/}
- {
- window.adminData.isSuperAdmin && this.props.status === 1 ? <div style={{
- flex: 1,
- marginTop: '30px',
- }}>
- <Button
- onClick={() => {
- this.superAdminReject();
- }}
- style={{
- color: '#ffffff',
- background: '#f00',
- border: 'none',
- width: '30%',
- height: '40px',
- display: 'flex',
- fontSize: '15px',
- justifyContent: 'center',
- alignItems: 'center',
- margin: '0 auto',
- }}>
- 驳回
- </Button>
- </div> : null
- }
- {this.state.ThirdListVisible ? <NewSupplier
- isLaunch//是否项目已经发起
- patentNameType={this.props.patentNameType}
- tid={this.props.tid}
- patentType={this.props.patentType}
- projectType={this.props.startType === 0 ? 0 : this.props.projectType}
- realProjectType={this.props.projectType} //真实的项目类型
- startType={this.props.startType} //项目类型 0外包 1供应商
- visible={this.state.ThirdListVisible}
- onCancel={() => {
- this.props.onRefresh();
- this.setState({
- ThirdListVisible: false,
- })
- }} /> : null}
- {this.state.PayNodeVisible ? <OperationPayNode
- tid={this.props.tid}
- cSort={this.props.sort}
- visible={this.state.PayNodeVisible}
- thirdInfoList={this.props.thirdInfoList}
- supplierList={this.state.PayNodeCompany}
- onCancel={() => {
- this.setState({
- PayNodeVisible: false,
- PayNodeCompany: [],
- })
- this.props.onRefresh();
- }}
- /> : <div />}
- </div>
- )
- }
- }
- export default CheckProject
|