| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848 | import React from "react";import $ from "jquery/src/ajax";import moment from "moment";import "./public.less";import "./shouKuan.less";import {  Button,  Form,  Input,  Spin,  Table,  Select,  message,  DatePicker,  Modal,  Tabs,  Col,  Tag,  Popconfirm, Tooltip} from "antd";import OrderDesc from "../orderDetail/orderDesc";import ResolutionDetail from "@/resolutionDetail";import Receivable from "./receivable";import Assign from "@/manageCenter/publicComponent/assign";import KaiPiaoModal from "./kaiPiaoModal";import ReactToPrint from "react-to-print";import {  getLiquidationStatus,  getProcessStatus,  getApproval,  getInvoiceStatus,  getTransactionProject,  getTaskStatus,  getNewOrderStatus,  getProjectStatus,  getjiedian,  splitUrl,} from "@/tools";import { ChooseList } from "../../order/orderNew/chooseList"import Project from "../../../../component/project"import LogPopup from "../../../common/logPopup";import { throws } from "assert";import {getProjectName} from "../../../tools";const FormItem = Form.Item;const { TabPane } = Tabs;const { TextArea } = Input;const ShouKuang = React.createClass({  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);          }        } 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)    );  },  loadData(pageNo, pageSize) {    this.state.data = [];    this.state.pagination.pageSize = 10;    this.setState({      // selectedRowKeys: [],      // selectedRowKey: [],      page: pageNo || this.state.pageNo,      loadingA: true,      pagination: this.state.pagination,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/financial/financeList",      data: {        pageNo: pageNo || 1,        pageSize: pageSize || this.state.pagination.pageSize,        buyerName: this.state.nameSearch, //客户名称        orderNo: this.state.orderNoSearch,        startTime: this.state.releaseDate[0],        endTime: this.state.releaseDate[1],        startFinalReceivablesTime: this.state.shouKuanDate[0],        endFinalReceivablesTime: this.state.shouKuanDate[1],        departmentId: this.state.departmenttList,        processStatus: this.state.processStatusSearch,        contractNo: this.state.contractNoSearch,        liquidationStatus: this.state.liquidationStatus,        amountStatus: this.state.amountStatus,      },      success: function (data) {        let theArr = [];        if (!data.data || !data.data.pagination.list) {          if (data.error && data.error.length) {            message.warning(data.error[0].message);          }        } else {          for (let i = 0; i < data.data.pagination.list.length; i++) {            let thisdata = data.data.pagination.list[i];            thisdata.key = thisdata.orderNo;            theArr.push(thisdata);          }        }        this.state.pagination.current = data.data.pagination.pageNo;        this.state.pagination.total = data.data.pagination.totalCount;        if (          data.data &&          data.data.pagination.list &&          !data.data.pagination.list.length        ) {          this.state.pagination.current = 0;          this.state.pagination.total = 0;        }        this.setState({          totalPage: data.data.pagination.totalPage,          dataSource: theArr,          pagination: this.state.pagination,          totalHui: data.data.count ? data.data.count.signTotalAmount : 0,          hui: data.data.count ? data.data.count.actuallyTotalAmount : 0,        });      }.bind(this),    }).always(      function () {        // window.setTimeout(() => {        this.setState({          loadingA: false,        });        // },5000)      }.bind(this)    );  },  getInitialState() {    return {      cuiTabKey: "1",      //默认搜索无流程状态      processStatusSearch: [],      searchMore: true,      dvisible: false,      pageNo: 1,      assignVisibleX: false,      assignVisibleY: false,      releaseDate: [],      shouKuanDate: [],      assignDataX: [],      assignDataY: [],      totalPage: 0,      // processStatusSearch: "3",      boHuivisible: false,      selectedRowKeys: [],      selectedRows: [],      loading: false,      loadingA: false,      pagination: {        defaultCurrent: 1,        defaultPageSize: 10,        showQuickJumper: true,        pageSize: 10,        onChange: function (page) {          // console.log(page);          this.setState({            pageNo: page,          });          this.loadData(page);        }.bind(this),        showTotal: function (total) {          return "共" + total + "条数据";        },      },      // 子组件改变的表格title数组      changeList: undefined,      proColumns: [        {          title: "序号",          dataIndex: "key",          key: "key",        },        {          title: "合同编号",          dataIndex: "contractNo",          key: "contractNo",        },        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",        },        // {        //   title: "项目编号",        //   dataIndex: "id",        //   key: "id"        // },        {          title: "客户名称",          dataIndex: "userName",          key: "userName",          render: text => {            return (                <Tooltip title={text}>                  <div style={{                    maxWidth:'150px',                    overflow:'hidden',                    textOverflow: "ellipsis",                    whiteSpace:'nowrap',                  }}>{text}</div>                </Tooltip>            )          }        },        {          title: "订单负责人",          dataIndex: "salesmanName",          key: "salesmanName",        },        {          title: "是否主项目",          dataIndex: "main",          key: "main",          render: (text) => {            return text == 0 ? "否" : "是";          },        },        {          title: "项目类别",          dataIndex: "cname",          key: "cname",        },        {          title: "项目名称",          dataIndex: "commodityName",          key: "commodityName",        },        {          title: "项目数量",          dataIndex: "commodityQuantity",          key: "commodityQuantity",          render: (text, record) => {            if (record.splitStatus == 1) {              return (                <span>                  {text}{" "}                  <Tag                    color="#108ee9"                    onClick={(e) => {                      e.stopPropagation();                      this.showRes(record);                    }}                  >                    已拆                  </Tag>                </span>              );            } else {              return text;            }          },        },        {          title: "服务市价",          dataIndex: "commodityPrice",          key: "commodityPrice",        },        {          title: "证书编号",          dataIndex: "certificateNumber",          key: "certificateNumber",        },        {          title: "项目状态",          dataIndex: "projectStatus",          key: "projectStatus",          render: (text) => {            return getProjectName(text);          },        },        {          title: "项目说明",          dataIndex: "taskComment",          key: "taskComment",        },        {          title: "是否外包",          dataIndex: "outsource",          key: "outsource",          render: (text) => {            if (text == 0) {              return "否";            } else if (text == 1) {              return "是";            }          },        },        // {        //   title: "外包(内部)公司",        //   dataIndex: "outsourceName",        //   key: "outsourceName",        // },        // {        //   title: "外包(内部)价格",        //   dataIndex: "outsourcePrice",        //   key: "outsourcePrice",        // },      ],      qianColumns: [        {          title: "序号",          dataIndex: "key",          key: "key",        },        {          title: "合同编号",          dataIndex: "contractNo",          key: "contractNo",        },        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",        },        {          title: "客户名称",          dataIndex: "userName",          key: "userName",          render: text => {            return (                <Tooltip title={text}>                  <div style={{                    maxWidth:'150px',                    overflow:'hidden',                    textOverflow: "ellipsis",                    whiteSpace:'nowrap',                  }}>{text}</div>                </Tooltip>            )          }        },        {          title: "订单负责人",          dataIndex: "salesmanName",          key: "salesmanName",        },        {          title: "订单部门",          dataIndex: "depName",          key: "depName",        },        {          title: "订单状态",          dataIndex: "orderStatus",          key: "orderStatus",          render: (text) => {            return getNewOrderStatus(text);          },        },        {          title: "项目状态",          dataIndex: "projectStatus",          key: "projectStatus",          render: (text) => {            return getProjectName(text);          },        },        {          title: "签单金额",          dataIndex: "totalAmount",          key: "totalAmount",        },        {          title: "结算状态",          dataIndex: "liquidationStatus",          key: "liquidationStatus",          render: (text) => {            return getLiquidationStatus(text);          },        },        {          title: "已收款",          dataIndex: "settlementAmount",          key: "settlementAmount",        },        {          title: "欠款",          dataIndex: "orderArrears",          key: "orderArrears",        },        {          title: "催收科目",          dataIndex: "type",          key: "type",          render: (text) => {            return "按时触发应收欠款";          },        },        {          title: "催款状态",          dataIndex: "dunStatus",          key: "dunStatus",          render: (text) => {            if (text == 0) {              return "未启动";            } else if (text == 1) {              return "催款中";            } else if (text == 2) {              return "已完成";            } else if (text == 3) {              return "已停止";            }          },        },        {          title: "催收启动时间",          dataIndex: "startDate",          key: "startDate",        },      ],      cuiColumns: [        {          title: "序号",          dataIndex: "key",          key: "key",        },        {          title: "合同编号",          dataIndex: "contractNo",          key: "contractNo",        },        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",        },        {          title: "客户名称",          dataIndex: "userName",          key: "userName",          render: text => {            return (                <Tooltip title={text}>                  <div style={{                    maxWidth:'150px',                    overflow:'hidden',                    textOverflow: "ellipsis",                    whiteSpace:'nowrap',                  }}>{text}</div>                </Tooltip>            )          }        },        {          title: "订单负责人",          dataIndex: "salesmanName",          key: "salesmanName",        },        {          title: "订单部门",          dataIndex: "depName",          key: "depName",        },        {          title: "订单状态",          dataIndex: "orderStatus",          key: "orderStatus",          render: (text) => {            return getNewOrderStatus(text);          },        },        {          title: "项目状态",          dataIndex: "projectStatus",          key: "projectStatus",          render: (text) => {            return getProjectName(text);          },        },        {          title: "签单金额",          dataIndex: "totalAmount",          key: "totalAmount",        },        {          title: "结算状态",          dataIndex: "liquidationStatus",          key: "liquidationStatus",          render: (text) => {            return getLiquidationStatus(text);          },        },        {          title: "已收款",          dataIndex: "settlementAmount",          key: "settlementAmount",        },        {          title: "应收款",          dataIndex: "accountsReceivable",          key: "accountsReceivable",        },        {          title: "催收科目",          dataIndex: "dunSubject",          key: "dunSubject",          // render: text => {          //   return getjiedian(text);          // }        },        {          title: "催款状态",          dataIndex: "dunStatus",          key: "dunStatus",        },        {          title: "催收启动时间",          dataIndex: "startDate",          key: "startDate",        },      ],      timeColumns: [        {          title: "合同编号",          dataIndex: "contractNo",          key: "contractNo",        },        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",        },        {          title: "项目编号",          dataIndex: "id",          key: "id",          render: (text, record) => {            if (record.splitStatus == 2) {              return <span>{record.splitSuper + "-" + record.splitId}</span>;            } else {              return text;            }          },        },        {          title: "客户名称",          dataIndex: "userName",          key: "userName",          render: text => {            return (                <Tooltip title={text}>                  <div style={{                    maxWidth:'150px',                    overflow:'hidden',                    textOverflow: "ellipsis",                    whiteSpace:'nowrap',                  }}>{text}</div>                </Tooltip>            )          }        },        {          title: "订单部门",          dataIndex: "depName",          key: "depName",        },        {          title: "订单负责人",          dataIndex: "salesmanName",          key: "salesmanName",        },        {          title: "项目类别",          dataIndex: "cname",          key: "cname",        },        {          title: "项目名称",          dataIndex: "taskName",          key: "taskName",        },        {          title: "项目负责人",          dataIndex: "receiverName",          key: "receiverName",        },        {          title: "项目价格(万元)",          dataIndex: "commodityPrice",          key: "commodityPrice",        },        {          title: "数量(个)",          dataIndex: "commodityQuantity",          key: "commodityQuantity",        },        {          title: "任务状态",          dataIndex: "taskStatus",          key: "taskStatus",          render: (text) => {            return getTaskStatus(text);          },        },        {          title: "项目状态",          dataIndex: "projectStatus",          key: "projectStatus",          render: (text) => {            return getProjectName(text);          },        },        {          title: "工时",          dataIndex: "hours",          key: "hours",        },        {          title: "是否外包",          dataIndex: "outsource",          key: "outsource",          render: (text) => {            if (text == 0) {              return "否";            } else if (text == 1) {              return "是";            }          },        },        {          title: "签单日期",          dataIndex: "signTime",          key: "signTime",        },        {          title: "派单日期",          dataIndex: "creteTime",          key: "creteTime",        },        {          title: "分配时间",          dataIndex: "taskDistributionTime",          key: "taskDistributionTime",        },        {          title: "完成时间",          dataIndex: "taskEndTime",          key: "taskEndTime",        },      ],      printColumns: [        {          title: "合同编号",          dataIndex: "contractNo",          key: "contractNo",        },        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",          // fixed: "left"        },        {          title: "客户名称",          dataIndex: "buyerName",          key: "buyerName",          render: text => {            return (                <Tooltip title={text}>                  <div style={{                    maxWidth:'150px',                    overflow:'hidden',                    textOverflow: "ellipsis",                    whiteSpace:'nowrap',                  }}>{text}</div>                </Tooltip>            )          }        },        {          title: "订单部门",          dataIndex: "departmentName",          key: "departmentName",        },        {          title: "订单负责人",          dataIndex: "sellerName",          key: "sellerName",        },        {          title: "签单日期",          dataIndex: "signTime",          key: "signTime",        },        {          title: "下单日期",          dataIndex: "createTime",          key: "createTime",        },        {          title: "签单金额(万元)",          dataIndex: "signTotalAmount",          key: "signTotalAmount",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          },        },        {          title: "开票金额(万元)",          dataIndex: "invoiceAmount",          key: "invoiceAmount",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          },        },        {          title: "已收款(万元)",          dataIndex: "actuallyTotalAmount",          key: "actuallyTotalAmount",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          },        },        {          title: "总成本(万元)",          dataIndex: "costAmount",          key: "costAmount",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "已付成本(万元)",          dataIndex: "paymentAmount",          key: "paymentAmount",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          },        },        {          title: "最近收款(万元)",          dataIndex: "finalReceivables",          key: "finalReceivables",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          },        },        {          title: "最近收款时间",          dataIndex: "finalReceivablesTime",          key: "finalReceivablesTime",        },        {          title: "结算状态",          dataIndex: "liquidationStatus",          key: "liquidationStatus",          render: (text) => {            return getLiquidationStatus(text);          },        },        {          title: "流程状态",          dataIndex: "processStatus",          key: "processStatus",          render: (text) => {            return getProcessStatus(text);          },        },        {          title: "特批状态",          dataIndex: "approval",          key: "approval",          render: (text) => {            return getApproval(text);          },        },      ],      columns: [        {          title: "合同编号",          dataIndex: "contractNo",          key: "contractNo",          className: "title-table",          fixed: "left",        },        {          title: "客户名称",          dataIndex: "buyerName",          key: "buyerName",          className: "title-table",          fixed: "left",          width:150,          render: text => {            return (                <Tooltip title={text}>                  <div style={{                    maxWidth:'150px',                    overflow:'hidden',                    textOverflow: "ellipsis",                    whiteSpace:'nowrap',                  }}>{text}</div>                </Tooltip>            )          }        },        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",          className: "title-table",          // fixed: "left"        },        {          title: "特批状态",          dataIndex: "approval",          key: "approval",          className: "title-table",          render: (text) => {            if (text == 1 || text == 2) {              return <Tag color="#f50">{getApproval(text)}</Tag>;            }            return getApproval(text);          },        },        {          title: "订单部门",          dataIndex: "departmentName",          key: "departmentName",          className: "title-table",        },        {          title: "订单负责人",          dataIndex: "sellerName",          key: "sellerName",          className: "title-table",        },        {          title: "财务负责人",          dataIndex: "financeName",          key: "financeName",          className: "title-table",        },        {          title: "签单日期",          dataIndex: "signTime",          key: "signTime",          className: "title-table",        },        {          title: "下单日期",          dataIndex: "createTime",          key: "createTime",          className: "title-table",        },        {          title: "签单金额(万元)",          dataIndex: "signTotalAmount",          key: "signTotalAmount",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "开票金额(万元)",          dataIndex: "invoiceAmount",          key: "invoiceAmount",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "已收款(万元)",          dataIndex: "actuallyTotalAmount",          key: "actuallyTotalAmount",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "应收款(万元)",          dataIndex: "orderReceivables",          key: "orderReceivables",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "欠款(万元)",          dataIndex: "orderArrears",          key: "orderArrears",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "总成本(万元)",          dataIndex: "costAmount",          key: "costAmount",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "已付成本(万元)",          dataIndex: "paymentAmount",          key: "paymentAmount",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "最近收款(万元)",          dataIndex: "finalReceivables",          key: "finalReceivables",          className: "title-table",          render: (text) => {            return isNaN(parseFloat(text)) ? text : parseFloat(text);          }        },        {          title: "最近收款时间",          dataIndex: "finalReceivablesTime",          key: "finalReceivablesTime",          className: "title-table",        },        {          title: "结算状态",          dataIndex: "liquidationStatus",          key: "liquidationStatus",          className: "title-table",          render: (text) => {            return getLiquidationStatus(text);          },        },        {          title: "流程状态",          dataIndex: "processStatus",          key: "processStatus",          className: "title-table",          render: (text) => {            return getProcessStatus(text);          },        },        //                 {        //                     title: '订单状态',        //                     dataIndex: 'orderStatus',        //                     key: 'orderStatus',        //                     render: text => { return getNewOrderStatus(text)}        //                 },        {          title: "操作",          dataIndex: "caozuo",          key: "caouzo",          className: "title-table",          render: (text, recard) => {            return (              <div>                {/* {recard.liquidationStatus < 2 &&                (recard.approval === 1 || recard.approval === 2) ? (                  <Button                    style={{ background: "rgb(192,192,192)" }}                    onClick={e => {                      e.stopPropagation(), this.evaluateX(recard);                    }}                  >                    收款                  </Button>                ) : (                  <Button                    type="primary"                    onClick={e => {                      e.stopPropagation(), this.evaluateX(recard);                    }}                  >                    收款                  </Button>                )} */}                {recard.backStatus == 3 ? <Tag>已驳回</Tag> : ""}                {recard.processStatus == 3 ? (                  <Button                    type="primary"                    onClick={(e) => {                      // e.stopPropagation(), this.evaluateZ(recard);                      e.stopPropagation(), this.checkRemark(recard);                    }}                    style={{ marginLeft: "5px" }}                  >                    通过                  </Button>                ) : (                  ""                )}                {!(                  recard.actuallyTotalAmount &&                  Number(recard.actuallyTotalAmount) > 0                ) && (                  <Button                    type="danger"                    style={{                      marginLeft: "5px",                      display:                        recard.processStatus == 3 ? "inline-block" : "none",                    }}                    onClick={(e) => {                      e.stopPropagation(), this.reject(recard);                    }}                  >                    驳回                  </Button>                )}                {                  // <Button                  //   type="primary"                  //   style={{ marginLeft: "5px" }}                  //   onClick={e => {                  //     e.stopPropagation(), this.evaluateY(recard, "财务专员");                  //     console.log(recard);                  //   }}                  // >                  //   转交                  // </Button>                }              </div>            );          },        },      ],      dataSource: [],      searchTime: [],      columnsDate: [        {          title: "编号",          dataIndex: "id",          key: "id",        },        {          title: "订单编号",          dataIndex: "orderno",          key: "orderno",        },        {          title: "开票金额(万元)",          dataIndex: "amount",          key: "amount",        },        {          title: "申请时间",          dataIndex: "createTime",          key: "createTime",        },        {          title: "开票状态",          dataIndex: "status",          key: "status",          render: (text, record) => {            return <div>{getInvoiceStatus(text, record)} <LogPopup id={record.id} /></div>;          },        },      ],      waterlistDate: [        {          title: "订单编号",          dataIndex: "orderNo",          key: "orderNo",        },        {          title: "平台流水号",          dataIndex: "billNo",          key: "billNo",          //   fixed: "left"        },        {          title: "收款金额(万元)",          dataIndex: "transactionAmount",          key: "transactionAmount",        },        {          title: "收款方",          dataIndex: "payeeName",          key: "payeeName",        },        {          title: "付款方",          dataIndex: "payerName",          key: "payerName",        },        {          title: "流水科目",          dataIndex: "transactionSubject",          key: "transactionSubject",          render: (text) => {            return getTransactionProject(text);          },        },        {          title: "收款类型",          dataIndex: "type",          key: "type",        },        {          title: "财务流水时间",          dataIndex: "financialPayTimes",          key: "financialPayTimes",        },        {          title: "财务流水号",          dataIndex: "financialPayNo",          key: "financialPayNo",        },        {          title: "订单负责人",          dataIndex: "saleName",          key: "saleName",        },        {          title: "创建时间",          dataIndex: "createTimes",          key: "createTimes",        },        {          title: "退款时间",          dataIndex: "refundTimes",          key: "refundTimes",        },        {          title: "删除时间",          dataIndex: "deleteTimes",          key: "deleteTimes",        },        {          title: "备注",          dataIndex: "remarks",          key: "remarks",        },        {          title: "流水状态",          dataIndex: "deleteSign",          key: "deleteSign",          render: (text, record) => {            if (!text) {              return (                <Popconfirm                  title="是否删除?"                  onConfirm={() => {                    this.changeWater(record.billNo);                  }}                  okText="删除"                  cancelText="不删除"                >                  <Button>删除</Button>                </Popconfirm>              );            } else {              return <Tag>已删除</Tag>;            }          },        },      ],      waterData: [],    };  },  changeWater(billNo) {    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/financial/deleteMyBill",      data: {        billNo,      },      success: function (data) {        let theArr = [];        if (data.error && data.error.length) {          message.warning(data.error[0].message);        } else {          message.warning("删除流水成功!");          this.waterData();          this.loadData();        }      }.bind(this),    }).always(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  // 特批通过  evaluateZ(record) {    $.ajax({      method: "POST",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/financial/financeApproval",      data: {        orderNo: record.orderNo,      },    }).done(      function (data) {        if (!data.error.length) {          message.success("通过成功!");          this.setState({            loading: false,          });          this.loadData();        } else {          message.warning(data.error[0].message);        }      }.bind(this)    );  },  /* 收款 */  evaluateX(recard) {    this.state.assignDataX = recard;    this.setState({      assignVisibleX: true,    });  },  /* 转交 */  evaluateY(recard, nub) {    this.state.assignDataY = recard;    this.setState({      nub,      assignVisibleY: true,    });  },  /* 驳回 */  reject(recard) {    this.setState({      bohuiData: recard,      boHuiVisible: true,      content: "",    });  },  boHuiOk() {    this.setState({      boHuiVisible: false,    });    if (      this.state.pagination.current == this.state.totalPage &&      this.state.pagination.total % 10 == 1    ) {      this.loadData(this.state.page - 1);    } else {      this.loadData(this.state.page);    }  },  boHuiCancel() {    this.setState({      boHuiVisible: false,    });  },  componentWillMount() {    this.loadData();    this.departmentList();  },  tableRowClick(record) {    this.state.RowData = record;    this.setState({      showDesc: true,    });  },  closeDesc(e, s) {    this.state.showDesc = e;    if (s) {      this.loadData(this.state.page);    }  },  closeAssignX(e, s) {    this.state.assignDataX = {};    this.state.assignVisibleX = e;    if (s) {      this.loadData(this.state.page);    }  },  closeAssignY(e, s) {    this.state.assignDataY = {};    this.state.assignVisibleY = e;    if (s) {      this.loadData(this.state.page);    }  },  search() {    this.setState({      selectedRowKeys: []    })    this.loadData();  },  // 拆分详细  showRes(record) {    this.setState({      resVisible: true,      resRecord: record,    });  },  resCancel() {    this.setState({      resVisible: false,    });  },  reset() {    this.state.nameSearch = "";    this.state.releaseDate = [];    this.state.shouKuanDate = [];    this.state.orderNoSearch = "";    this.state.departmenttList = undefined;    this.state.amountStatus = undefined;    this.state.processStatus = [];    this.state.contractNoSearch = "";    this.state.liquidationStatus = [];    this.state.processStatusSearch = [];    this.state.contractNo = "";    this.loadData();  },  //驳回  boHuiSubmit(e) {    e.preventDefault();    if (!this.state.content) {      message.warning("请填写驳回原因");      return false;    }    this.setState({      loading: true,    });    $.ajax({      method: "POST",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/financial/reject",      data: {        orderNo: this.state.bohuiData.orderNo,        reason: this.state.content,      },    }).done(      function (data) {        if (!data.error.length) {          message.success("驳回成功!");          this.setState({            loading: false,          });          this.boHuiOk();        } else {          message.warning(data.error[0].message);        }      }.bind(this)    );  },  searchSwitch() {    this.setState({      searchMore: !this.state.searchMore,    });  },  changeList(arr) {    const newArr = [];    this.state.columns.forEach((item) => {      arr.forEach((val) => {        if (val === item.title) {          newArr.push(item);        }      });    });    this.setState({      changeList: newArr,    });  },  callback(key) {    // console.log(key);  },  onSelectChange(selectedRowKeys) {    // for(var i=0; i<selectedRowKeys.length; i++){    //   for(var j=i+1; j<selectedRowKeys.length; j++){    //     if(selectedRowKeys[i]==selectedRowKeys[j]){    //     selectedRowKeys.splice(j,1);    //     j--;    //     }    //   }    // }    this.setState({ selectedRowKeys });  },  inRecordCanl() {    this.setState({      bvisible: false,    });  },  inRecordData() {    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url:        globalConfig.context +        "/api/admin/orderInvoice/salesmanOrderInvoiceList",      data: {        orderNo: this.state.selectedRowKeys[0],        pageSize: 9999999,      },      success: function (data) {        let theArr = [];        let sum = 0;        if (!data.data) {          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];            sum += parseFloat(thisdata.amount);            theArr.push({              id: thisdata.id,              orderno: thisdata.orderno, //订单编号              amount: thisdata.amount, //签单金额              createTime: thisdata.createTime, //流程状态              status: thisdata.status, //结算状态              rejectReason: thisdata.rejectReason,              approval:thisdata.approval,//0非特批 1待审核 2审核通过            });          }        }        this.setState({          recordData: theArr,          sum: sum.toFixed(6),        });      }.bind(this),    }).done(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  waterData() {    this.state.data = [];    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/financial/myBillList",      data: {        orderNo: this.state.selectedRowKeys[0],        pageSize: 9999999,        whoType: 1,      },      success: function (data) {        let theArr = [];        let waterSum = 0;        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];            if (thisdata.deleteSign == 0) {              waterSum += parseFloat(thisdata.transactionAmount);            }            theArr.push({              key: i,              orderNo: thisdata.orderNo,              billNo: thisdata.billNo,              transactionAmount: thisdata.transactionAmount,              payeeName: thisdata.payeeName,              payerName: thisdata.payerName,              transactionSubject: thisdata.transactionSubject,              transactionChannel: thisdata.transactionChannel,              financialPayTimes: thisdata.financialPayTimes,              financialPayNo: thisdata.financialPayNo,              createrName: thisdata.createrName,              saleName: thisdata.saleName,              createTimes: thisdata.createTimes,              type:                thisdata.type == 0                  ? "手工"                  : thisdata.type == 1                  ? "批量"                  : "合同变更退款",              deleteSign: thisdata.deleteSign,              deleteTimes: thisdata.deleteTimes,              refundTimes: thisdata.refundTimes,              remarks: thisdata.remarks,            });          }        }        this.setState({          waterData: theArr,          waterSum: (Math.round(waterSum * 1000000) / 1000000).toFixed(6),        });      }.bind(this),    }).always(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  waterCanl() {    this.setState({      cvisible: false,    });  },  exportKaip() {    window.location.href =      globalConfig.context +      "/api/admin/receivables/exportInvoice?" +      `orderNo=${this.state.selectedRowKeys}`;  },  exportAll() {    window.location.href =      globalConfig.context +      "/api/admin/receivables/exportReceivables?" +      `orderNo=${        this.state.orderNoSearch ? this.state.orderNoSearch : ""      }&buyerName=${        this.state.nameSearch ? this.state.nameSearch : ""      }&departmentId=${        this.state.departmenttList ? this.state.departmenttList : ""      }&contractNo=${        this.state.contractNoSearch ? this.state.contractNoSearch : ""      }&processStatus=${this.state.processStatusSearch}`;  },  exportWater() {    window.location.href =      globalConfig.context +      "/api/admin/receivables/exportMyBill?" +      `orderNo=${this.state.selectedRowKeys}&whoType=1`;  },  printAll() {    this.setState({      dvisible: true,    });    this.loadData(1, 9999999);  },  timeData() {    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/orderProject/taskHoursList",      data: {        orderNo: this.state.selectedRowKeys[0],        pageSize: 9999999,      },      success: function (data) {        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 + 1,              id: thisdata.id, //ID              orderNo: thisdata.orderNo, //订单编号              taskName: thisdata.taskName, //任务名称              userName: thisdata.userName, //客户名称              cname: thisdata.cname, //项目品类              taskStatus: thisdata.taskStatus, //任务状态              receiverName: thisdata.receiverName, //负责人              hours: thisdata.hours, //任务工时              depName: thisdata.depName, //派单公司              contractNo: thisdata.contractNo,              signTime: thisdata.signTime,              creteTime: thisdata.creteTime,              projectStatus: thisdata.projectStatus,              commodityPrice: thisdata.commodityPrice, //价格              commodityQuantity: thisdata.commodityQuantity, //数量              salesmanName: thisdata.salesmanName, //订单负责人              taskDistributionTime: thisdata.taskDistributionTime,              taskEndTime: thisdata.taskEndTime,              outsource: thisdata.outsource,              splitStatus: thisdata.splitStatus,              splitSuper: thisdata.splitSuper,              splitId: thisdata.splitId,            });          }        }        this.setState({          timeDataList: theArr,        });      }.bind(this),    }).always(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  exportTime() {    const data = {      orderNo: this.state.selectedRowKeys[0],      pageSize: 9999999,    };    window.location.href =      globalConfig.context +      "/api/admin/orderProject/exportMyTaskList?" +      $.param(data);  },  exportPro() {    const data = {      orderNo: this.state.selectedRowKeys[0],    };    window.location.href =      globalConfig.context +      "/api/admin/newOrder/exportOrderTaskData?" +      $.param(data);  },  exportCui() {    var data = {      orderNo: this.state.selectedRowKeys[0]        ? this.state.selectedRowKeys[0]        : undefined, //订单编号      // specially: 1,      pageSize: 9999999,    };    window.location.href =      globalConfig.context +      "/api/admin/newOrder/exportOrderDunData?" +      $.param(data);  },  cuiData() {    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/newOrder/dunOrderNewList",      data: {        orderNo: this.state.selectedRowKeys[0],        pageSize: 9999999,      },      success: function (data) {        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 + 1,              orderNo: thisdata.orderNo,              contractNo: thisdata.contractNo,              userName: thisdata.userName,              buyerName: thisdata.buyerName,              departmentName: thisdata.departmentName,              salesmanName: thisdata.salesmanName,              depName: thisdata.depName,              orderStatus: thisdata.orderStatus,              projectStatus: thisdata.projectStatus,              totalAmount: thisdata.totalAmount,              liquidationStatus: thisdata.liquidationStatus,              settlementAmount: thisdata.settlementAmount,              accountsReceivable: thisdata.accountsReceivable,              dunSubject: thisdata.dunSubject,              startDate: thisdata.startDate,              taskStatus: thisdata.taskStatus,              cname: thisdata.cname,              id: thisdata.id,              taskName: thisdata.taskName,              hours: thisdata.hours,              taskDistributionTime: thisdata.taskDistributionTime,              taskEndTime: thisdata.taskEndTime,              dunStatus: thisdata.dunStatus == 0 ? "未触发" : "已触发",            });          }        }        this.setState({          cuiDataList: theArr,        });      }.bind(this),    }).always(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  cuiTabChange(index) {    this.setState({      cuiTabKey: index,    });    if (index == 2) {      this.setState({        loading: true,      });      $.ajax({        method: "get",        dataType: "json",        crossDomain: false,        url: globalConfig.context + "/api/admin/newOrder/arrearsDunList",        data: {          orderNo: this.state.selectedRowKeys[0],          pageSize: 9999999,        },        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.list.length; i++) {              let thisdata = data.data.list[i];              let obj = thisdata;              obj.key = i;              theArr.push(obj);            }          }          this.setState({            qianDataList: theArr,          });        }.bind(this),      }).always(        function () {          this.setState({            loading: false,          });        }.bind(this)      );    }  },  proData() {    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/newOrder/getOrderTask",      data: {        orderNo: this.state.selectedRowKeys[0],        pageSize: 9999999,      },      success: function (data) {        let theArr = [];        let totalWaibao = 0;        if (!data.data) {          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];            totalWaibao += thisdata.outsourcePrice;            thisdata.key = i + 1;            theArr.push(thisdata);          }        }        totalWaibao = (Math.round(totalWaibao * 1000000) / 1000000).toFixed(6);        this.setState({          proDataList: theArr,          totalWaibao,        });      }.bind(this),    }).always(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  checkRemark(record) {    this.setState({      checkVisible: true,      checkOrderNo: record.orderNo,    });  },  checkOk() {    if (this.state.checkData == "" || this.state.checkData == undefined) {      message.warning("请填写审核内容");      return;    }    this.setState({      loading: true,    });    let ajaxObj = $.ajax({      method: "post",      dataType: "json",      crossDomain: false,      url: globalConfig.context + "/api/admin/financial/financeApproval",      data: {        orderNo: this.state.checkOrderNo,        remarks: this.state.checkData,      },      success: function (data) {        let theArr = [];        if (!data.data) {          if (data.error && data.error.length) {            message.warning(data.error[0].message);          }        } else {          message.success("通过成功!");          this.loadData();          this.setState({            checkVisible: false,            checkData: "",          });        }      }.bind(this),    }).always(      function () {        this.setState({          loading: false,          financeApprovalAjaxObj: null        });      }.bind(this)    );    this.setState({      financeApprovalAjaxObj: ajaxObj    })  },  tableRowClickPro(record) {    this.setState({      pvisible: true,      record,    });  },  kaiPiaoData(record) {    this.setState({      avisible: true,    });    this.invoiceData(record.id)  },  invoiceData(id) {    this.setState({      loading: true,    });    $.ajax({      method: "get",      dataType: "json",      crossDomain: false,      url:        globalConfig.context + "/api/admin/orderInvoice/selectByIdOrderInvoice",      data: {        id,      },      success: function (data) {        let thisdata = data.data;        let obj = {          contractNo: thisdata.contractNo,          orderNo: thisdata.orderNo,          approval: thisdata.approval,          type: thisdata.type,          status: thisdata.status,          remarks: thisdata.remarks,          invoiceType: thisdata.invoiceType,          unitName: thisdata.unitName,          taxNumber: thisdata.taxNumber,          amount: thisdata.amount,          banks: thisdata.banks,          content: thisdata.content,          unitAddress: thisdata.unitAddress,          invoiceRemarks: thisdata.invoiceRemarks,          unitMobile: thisdata.unitMobile,          post: thisdata.post,          addressee: thisdata.addressee,          addresseeMobile: thisdata.addresseeMobile,          addresseeProvince: thisdata.addresseeProvince,          addresseeCity: thisdata.addresseeCity,          addresseeArea: thisdata.addresseeArea,          alreadyAmount: thisdata.alreadyAmount,          recipientAddress: thisdata.recipientAddress,          orgCodeUrl: thisdata.voucherUrl            ? splitUrl(                thisdata.voucherUrl,                ",",                globalConfig.avatarHost + "/upload"              )            : [],        };        this.setState({          modalData: obj,        });      }.bind(this),    }).done(      function () {        this.setState({          loading: false,        });      }.bind(this)    );  },  visitCancels() {    this.setState({      avisible: false    })  },  render() {    const formItemLayout = {      labelCol: { span: 8 },      wrapperCol: { span: 14 },    };    const { RangePicker } = DatePicker;    var departmentArr = this.state.departmentArr || [];    const { loading, selectedRowKeys, visible } = this.state;    const rowSelection = {      selectedRowKeys,      onChange: this.onSelectChange,      hideDefaultSelections: true,      type: "radio",    };    return (      <div className="user-content">        {this.state.resVisible ? (          <ResolutionDetail            cancel={this.resCancel}            detail={this.state.resRecord}            visible={this.state.resVisible}            id={this.state.resRecord.orderNo}          />        ) : (          ""        )}        <div className="content-title" style={{ marginBottom: 10 }}>          <span style={{ fontWeight: 900, fontSize: 16 }}>收款结算</span>        </div>        <Tabs defaultActiveKey="2" onChange={this.callback} className="test">          <TabPane tab="更改表格显示数据" key="1">            <div style={{ marginLeft: 10 }}>              <ChooseList                columns={this.state.columns}                changeFn={this.changeList}                changeList={this.state.changeList}                top={55}                margin={11}              />            </div>          </TabPane>          <TabPane tab="搜索" key="2">            <div className="user-search" style={{ marginLeft: 10 }}>              <Input                placeholder="订单编号"                value={this.state.orderNoSearch}                onChange={(e) => {                  this.setState({ orderNoSearch: e.target.value });                }}              />              <Input                placeholder="客户名称"                value={this.state.nameSearch}                onChange={(e) => {                  this.setState({ nameSearch: e.target.value });                }}              />              <Select                placeholder="订单部门"                style={{ width: 120, marginRight: 10 }}                value={this.state.departmenttList}                onChange={(e) => {                  this.setState({ departmenttList: e });                }}              >                {departmentArr.map(function (item) {                  return (                    <Select.Option key={item.id}>{item.name}</Select.Option>                  );                })}              </Select>              <Input                placeholder="合同编号"                value={this.state.contractNoSearch}                onChange={(e) => {                  this.setState({                    contractNoSearch: e.target.value,                  });                }}              />              <Select                placeholder="流程状态"                onChange={(e) => {                  this.setState({ processStatusSearch: e });                }}                style={{ width: 120, marginRight: 5 }}                value={this.state.processStatusSearch}              >                <Option value="3">未分配</Option>                <Option value="4">已分配</Option>                <Option value="9">已驳回</Option>              </Select>              <Select                placeholder="结算状态"                onChange={(e) => {                  this.setState({ liquidationStatus: e });                }}                style={{ width: 120, marginRight: 5 }}                value={this.state.liquidationStatus}              >                <Option value="0">首付待付清</Option>                <Option value="1">尾款待付清</Option>                <Option value="2">已付清</Option>              </Select>              <Select                style={{ width: 120 }}                placeholder="签单金额"                value={this.state.amountStatus}                onChange={(e) => {                  this.setState({                    amountStatus: e,                  });                }}              >                <Option value="0">10万元以下</Option>                <Option value="1">10~20万元</Option>                <Option value="2">20~30万元</Option>                <Option value="3">30~40万元</Option>                <Option value="4">40万元以上</Option>              </Select>              <span style={{}}>下单日期:</span>              <RangePicker                style={{ width: 170 }}                value={[                  this.state.releaseDate[0]                    ? moment(this.state.releaseDate[0])                    : null,                  this.state.releaseDate[1]                    ? moment(this.state.releaseDate[1])                    : null,                ]}                onChange={(data, dataString) => {                  this.setState({ releaseDate: dataString });                }}              />              <span style={{}}>最近收款:</span>              <RangePicker                style={{ width: 170 }}                value={[                  this.state.shouKuanDate[0]                    ? moment(this.state.shouKuanDate[0])                    : null,                  this.state.shouKuanDate[1]                    ? moment(this.state.shouKuanDate[1])                    : null,                ]}                onChange={(data, dataString) => {                  this.setState({ shouKuanDate: dataString });                }}              />              <Button                type="primary"                onClick={this.search}                style={{ marginLeft: 10 }}                disabled={this.state.loadingA ? true : false}              >                搜索              </Button>              <Button onClick={this.reset}>重置</Button>            </div>          </TabPane>          <TabPane tab="打印" key="3">            <Button              type="primary"              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.printAll}              disabled={!this.state.dataSource.length}            >              打印所有列表信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.inRecordData();                this.setState({                  bvisible: true,                });              }}            >              打印开票详情            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.waterData();                this.setState({                  cvisible: true,                });              }}            >              打印收款流水            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.timeData();                this.setState({                  timeVisible: true,                });              }}            >              打印工时信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.cuiData();                this.setState({                  cuiVisible: true,                });              }}            >              打印催款信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.proData();                this.setState({                  proVisible: true,                });              }}            >              打印项目进度            </Button>          </TabPane>          <TabPane tab="导出Excel" key="4">            <Button              type="primary"              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.exportAll}            >              导出当前列表            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.exportKaip}            >              导出所选开票详情            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.exportWater}            >              导出所选收款详情流水            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.exportTime}            >              导出所选工时信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.exportCui}            >              导出催款信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={this.exportPro}            >              导出项目进度            </Button>          </TabPane>          <TabPane tab="查看" key="5">            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.inRecordData();                this.setState({                  bvisible: true,                });              }}            >              查看开票详情            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.waterData();                this.setState({                  cvisible: true,                });              }}            >              详情收款流水            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.timeData();                this.setState({                  timeVisible: true,                });              }}            >              工时信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.cuiData();                this.setState({                  cuiVisible: true,                });              }}            >              催款信息            </Button>            <Button              type="primary"              disabled={this.state.selectedRowKeys.length != 1}              style={{ margin: "11px 0px 10px 10px" }}              onClick={() => {                this.proData();                this.setState({                  proVisible: true,                });              }}            >              项目进度            </Button>          </TabPane>          {/* <TabPane tab="批量操作" key="6">            <Button              type="primary"              disabled={this.state.selectedRowKeys.length == 0}              style={{ margin: "0px 0px 10px 10px" }}              onClick={e => {                e.stopPropagation(),                  this.evaluateY(this.state.selectedRowKeys, "财务专员");              }}            >              转交            </Button>          </TabPane> */}        </Tabs>        <div className="patent-table">          <Spin spinning={this.state.loadingA}>            <Table              bordered              columns={                this.state.changeList == undefined                  ? this.state.columns                  : this.state.changeList              }              dataSource={this.state.dataSource}              rowSelection={rowSelection}              scroll={{ x: "max-content", y: 0 }}              pagination={this.state.pagination}              onRowDoubleClick={this.tableRowClick.bind(this)}              size="small"            />          </Spin>          <p            style={{ display: "inline-block", fontSize: "14px", color: "red" }}          >            {              <span style={{ marginRight: 10 }}>                {`收款金额总计(万元):${this.state.hui ? this.state.hui : "0"}`}              </span>            }            {              <span>                {`合同额总计(万元):${                  this.state.totalHui ? this.state.totalHui : "0"                }`}              </span>            }          </p>        </div>        <Assign          title="任务"          selApi={"/api/admin/newOrder/updateFinance"}          data={this.state.assignDataY}          showDesc={this.state.assignVisibleY}          closeDesc={this.closeAssignY.bind(this)}          // fenpaiData={8}          specially={0}          roleName={this.state.nub}          requestMethod={"get"}        />        <OrderDesc          data={this.state.RowData}          showDesc={this.state.showDesc}          closeDesc={this.closeDesc.bind(this)}        />        <Receivable          title="收款记录"          api="/api/admin/financial/addReceiptsFlow"          data={this.state.assignDataX}          showDesc={this.state.assignVisibleX}          closeDesc={this.closeAssignX.bind(this)}        />        <Modal          visible={this.state.boHuiVisible}          width="400px"          title="驳回备注"          footer=""          onOk={this.boHuiOk}          onCancel={this.boHuiCancel}        >          <Form layout="horizontal" onSubmit={this.boHuiSubmit}>            <Spin spinning={this.state.loading}>              <FormItem                labelCol={{ span: 5 }}                wrapperCol={{ span: 16 }}                label={                  <span>                    <strong style={{ color: "#f00" }}>*</strong>驳回原因                  </span>                }              >                <Input                  type="textarea"                  rows={4}                  placeholder="请输入驳回原因"                  value={this.state.content}                  onChange={(e) => {                    this.setState({ content: e.target.value });                  }}                />              </FormItem>              <FormItem wrapperCol={{ span: 12, offset: 5 }}>                <Button                  type="primary"                  htmlType="submit"                  style={{ marginRight: 20 }}                >                  驳回                </Button>                <Button                  type="default"                  onClick={() => {                    this.boHuiCancel();                  }}                >                  取消                </Button>              </FormItem>            </Spin>          </Form>        </Modal>        <Modal          visible={this.state.bvisible}          footer=""          title="开票历史记录"          className="admin-desc-content"          width="900px"          onCancel={this.inRecordCanl}        >          <Spin spinning={this.state.loading}>            <div              className="patent-table"              ref={(e) => {                this.refs.kaiPiao = e;              }}            >              <Table                columns={this.state.columnsDate}                dataSource={this.state.recordData}                onRowClick={this.kaiPiaoData}                pagination={false}                bordered                size="small"              />              <div className="clearfix" style={{ marginTop: "20px" }}>                <FormItem                  className="half-item"                  {...formItemLayout}                  label={<span style={{ fontSize: "14px" }}>开票总计</span>}                >                  <span>{this.state.sum + "(万元)"}</span>                </FormItem>              </div>              <ReactToPrint                trigger={() => (                  <Button                    type="primary"                    style={{                      float: "right",                      // marginTop: 10,                      position: "absolute",                      top: -54,                      right: 30,                    }}                  >                    打印                  </Button>                )}                content={() => this.refs.kaiPiao}              />            </div>          </Spin>        </Modal>        <Modal          visible={this.state.cvisible}          footer=""          title="详细收款流水"          className="admin-desc-content"          width="1300px"          onCancel={this.waterCanl}        >          <Spin spinning={this.state.loading}>            <div              className="patent-table"              ref={(e) => {                this.refs.shouKuan = e;              }}            >              <Table                columns={this.state.waterlistDate}                dataSource={this.state.waterData}                pagination={false}                scroll={{ x: "max-content", y: 0 }}                bordered                size="small"              />              <div className="clearfix" style={{ marginTop: "20px" }}>                <FormItem                  className="half-item"                  {...formItemLayout}                  label={<span style={{ fontSize: "14px" }}>总计金额</span>}                >                  <span>{this.state.waterSum + "(万元)"}</span>                </FormItem>              </div>              <ReactToPrint                trigger={() => (                  <Button                    type="primary"                    style={{                      float: "right",                      position: "absolute",                      top: -54,                      right: 30,                    }}                  >                    打印                  </Button>                )}                content={() => this.refs.shouKuan}              />            </div>          </Spin>        </Modal>        <Modal          visible={this.state.dvisible}          footer=""          title="所有列表信息"          className="admin-desc-content"          width="1300px"          onCancel={() => {            this.loadData();            this.setState({              dvisible: false,            });          }}        >          <Spin spinning={this.state.loading}>            <div              className="patent-table"              style={{                // width: 900,                // position: "relative",                // left: "50%",                // transform: "translate(-50%)",                padding: "25px 0 30px 30px",              }}              ref={(e) => {                this.refs.all = e;              }}            >              <Table                columns={this.state.printColumns}                dataSource={this.state.dataSource}                pagination={false}                bordered                size="small"              />            </div>          </Spin>          <ReactToPrint            trigger={() => (              <Button                type="primary"                style={{                  float: "right",                  marginTop: 10,                  position: "absolute",                  top: 0,                  right: 30,                }}              >                打印              </Button>            )}            content={() => this.refs.all}          />        </Modal>        <Project            record={this.state.record}            visible={this.state.pvisible}            isAuditPayment={true}            cancel={() => {              this.setState({ pvisible: false });            }}        />        <Modal          visible={this.state.timeVisible}          footer=""          title="工时详情"          className="admin-desc-content"          width="1300px"          pagination={false}          onCancel={() => {            this.loadData();            this.setState({              timeVisible: false,            });          }}        >          <Spin spinning={this.state.loading}>            <div              className="patent-table"              style={                {                  // width: 900,                  // position: "relative",                  // left: "50%",                  // transform: "translate(-50%)",                  // padding: "25px 0 30px 30px"                }              }              ref={(e) => {                this.refs.all = e;              }}            >              <Table                columns={this.state.timeColumns}                dataSource={this.state.timeDataList}                onRowClick={this.tableRowClickPro}                scroll={{ x: "max-content", y: 0 }}                pagination={false}                bordered                size="small"              />            </div>          </Spin>          <ReactToPrint            trigger={() => (              <Button                type="primary"                style={{                  float: "right",                  marginTop: 10,                  position: "absolute",                  top: 0,                  right: 30,                }}              >                打印              </Button>            )}            content={() => this.refs.all}          />        </Modal>        <Modal          visible={this.state.cuiVisible}          footer=""          title="催款详情"          className="admin-desc-content"          width="1300px"          pagination={false}          onCancel={() => {            this.loadData();            this.setState({              cuiVisible: false,              cuiTabKey: "1",            });          }}        >          <Tabs activeKey={this.state.cuiTabKey} onChange={this.cuiTabChange}>            <TabPane tab="催款节点" key="1">              <Spin spinning={this.state.loading}>                <div                  className="patent-table"                  ref={(e) => {                    this.refs.all = e;                  }}                >                  <Table                    columns={this.state.cuiColumns}                    dataSource={this.state.cuiDataList}                    scroll={{ x: "max-content", y: 0 }}                    pagination={false}                    bordered                    size="small"                  />                </div>                <ReactToPrint                  trigger={() => (                    <Button                      type="primary"                      style={{                        float: "right",                        marginTop: 10,                        position: "absolute",                        top: "-60px",                        right: 30,                      }}                    >                      打印                    </Button>                  )}                  content={() => this.refs.all}                />              </Spin>            </TabPane>            <TabPane tab="欠款催收记录" key="2">              <Spin spinning={this.state.loading}>                <div                  className="patent-table"                  ref={(e) => {                    this.refs.all = e;                  }}                >                  <Table                    columns={this.state.qianColumns}                    dataSource={this.state.qianDataList}                    scroll={{ x: "max-content", y: 0 }}                    pagination={false}                    bordered                    size="small"                  />                </div>                <ReactToPrint                  trigger={() => (                    <Button                      type="primary"                      style={{                        float: "right",                        marginTop: 10,                        position: "absolute",                        top: "-60px",                        right: 30,                      }}                    >                      打印                    </Button>                  )}                  content={() => this.refs.all}                />              </Spin>            </TabPane>          </Tabs>        </Modal>        <Modal          visible={this.state.proVisible}          footer=""          title="项目进度"          className="admin-desc-content"          width="1300px"          pagination={false}          onCancel={() => {            this.loadData(this.state.page);            this.setState({              proVisible: false,            });          }}        >          <Spin spinning={this.state.loading}>            <div              className="patent-table"              style={                {                  // width: 900,                  // position: "relative",                  // left: "50%",                  // transform: "translate(-50%)",                  // padding: "25px 0 30px 30px"                }              }              ref={(e) => {                this.refs.all = e;              }}            >              <Table                columns={this.state.proColumns}                dataSource={this.state.proDataList}                scroll={{ x: "max-content", y: 0 }}                onRowClick={this.tableRowClickPro}                pagination={false}                bordered                size="small"              />            </div>            <span style={{ display: "block", marginTop: 10, color: "red" }}>              外包(内部)价格总计(万元):{this.state.totalWaibao}            </span>          </Spin>          <ReactToPrint            trigger={() => (              <Button                type="primary"                style={{                  float: "right",                  marginTop: 10,                  position: "absolute",                  top: 0,                  right: 30,                }}              >                打印              </Button>            )}            content={() => this.refs.all}          />        </Modal>        <Spin spinning={this.state.loading}>          {this.state.checkVisible ? <Modal            title="审核订单"            visible={this.state.checkVisible}            onOk={this.checkOk}            confirmLoading={this.state.loading}            okText={"通过"}            onCancel={() => {              this.state.financeApprovalAjaxObj ? this.state.financeApprovalAjaxObj.abort() : null;              this.setState({                financeApprovalAjaxObj: null              })              this.loadData();              this.setState({                checkVisible: false,                checkData: "",              });            }}          >            <TextArea              value={this.state.checkData}              onChange={(e, recard) => {                this.setState({                  checkData: e.target.value,                });              }}              placeholder="请填写审核内容"            />          </Modal> : <div/>}        </Spin>        <KaiPiaoModal          visible={this.state.avisible}          data={this.state.modalData}          onCancel={this.visitCancels}          loading={this.state.loading}        />      </div>    );  },});export default ShouKuang;
 |