project.jsx 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535
  1. import React from 'react'
  2. import $ from 'jquery'
  3. import {
  4. Spin,
  5. Button,
  6. Tabs,
  7. Table,
  8. message,
  9. Modal,
  10. Form,
  11. Upload,
  12. Tag,
  13. Tooltip,
  14. } from 'antd'
  15. import {
  16. getProcessStatus,
  17. getApproval,
  18. getTaskStatus,
  19. getLiquidationStatus,
  20. splitUrl,
  21. getProjectStatus,
  22. getboutique,
  23. getprovince,
  24. ShowModal,
  25. getRefundStatus,
  26. getFormRetrieves,
  27. } from '@/tools'
  28. const FormItem = Form.Item
  29. import ResolutionDetail from '@/resolutionDetail'
  30. import ImgList from "./common/imgList";
  31. import CheckProject from "./manageCenter/components/checkProject";
  32. import { cuiJieDian } from '@/dataDic.js'
  33. import { getProjectName } from "./tools";
  34. import OrderCoor from './manageCenter/order/orderNew/changeComponent/orderCoor'
  35. const { TabPane } = Tabs
  36. const project = React.createClass({
  37. getInitialState() {
  38. return {
  39. oldInfor: {},
  40. patentNameType: -1,
  41. patentType: -1,
  42. paySubject: [],
  43. orderNos: '',
  44. containOfficialFees: 0,//官费缴费情况
  45. record: this.props.record,
  46. paginations: false,
  47. tabsKey: "1",
  48. columnsX: [
  49. {
  50. title: '业务项目名称',
  51. dataIndex: 'commodityName',
  52. key: 'commodityName',
  53. render: (text, record) => {
  54. return <span>
  55. {text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}
  56. <div>
  57. {record.cSort == 6 && record.projectType == 1 && <span>(含{record.htMember == 1 ? '高新会员&' : ''}{record.additionalDeduction == 1 ? '加计扣除&' : ''}{record.rdAwardsubsidy == 1 ? '研发奖补' : ''})</span>}
  58. {record.cSort == 6 && ([0, 3].indexOf(record.projectType) > -1) && <span>(仅提供单边会员服务)</span>}
  59. {record.cSort == 6 && record.projectType == 2 && <span>(仅填报表,仅咨询,不出备查资料)</span>}
  60. {record.cSort == 3 && <span>{record.technologyProjectType==0?'(简易项目)':record.technologyProjectType==1?'(市区级)':record.technologyProjectType==2?'(省级)':record.technologyProjectType==3?'(国家级)':''}</span>}
  61. {record.cSort == 8 ? (record.type != 2 && record.patentType == 1) ? <span>(变更)</span> : <span>{record.ordinaryRisk == 0 ? '(普通申请)' : record.ordinaryRisk == 1 ? '(风险代理)' : ''}</span> : ""}
  62. {record.type == 2 && <span>({record.days == 0 ? '普通' : record.days == 1 ? '加急' : ''}{record.scheme == 0 ? '&无方案' : record.scheme == 1 ? '&有方案' : ''})</span>}
  63. </div>
  64. </span>
  65. }
  66. },
  67. {
  68. title: '项目类别',
  69. dataIndex: 'cname',
  70. key: 'cname',
  71. },
  72. {
  73. title: '项目数量',
  74. dataIndex: 'commodityQuantity',
  75. key: 'commodityQuantity',
  76. render: (text, record) => {
  77. if (record.splitStatus == 1) {
  78. return (
  79. <span>
  80. {text}{' '}
  81. <Tag
  82. color="#108ee9"
  83. onClick={(e) => {
  84. e.stopPropagation()
  85. this.showRes(record)
  86. }}
  87. >
  88. 已拆
  89. </Tag>
  90. </span>
  91. )
  92. } else {
  93. return text
  94. }
  95. },
  96. },
  97. {
  98. title: '金额(万元)',
  99. dataIndex: 'commodityPrice',
  100. key: 'commodityPrice',
  101. },
  102. {
  103. title: '负责人',
  104. dataIndex: 'contacts',
  105. key: 'contacts',
  106. },
  107. {
  108. title: '负责人电话',
  109. dataIndex: 'contactsMobile',
  110. key: 'contactsMobile',
  111. },
  112. {
  113. title: '主要项目',
  114. dataIndex: 'main',
  115. key: 'main',
  116. render: (text) => {
  117. return text ? '是' : '否'
  118. },
  119. },
  120. {
  121. title: "总年限",
  122. dataIndex: "yearSum",
  123. key: "yearSum",
  124. render: (text, record) => {
  125. return (
  126. <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
  127. );
  128. }
  129. },
  130. {
  131. title: "年限",
  132. dataIndex: "serviceLife",
  133. key: "serviceLife",
  134. render: (text, record) => {
  135. return (
  136. <div>{!!text && JSON.parse(text).toString()}</div>
  137. );
  138. }
  139. },
  140. {
  141. title: "本次派单",
  142. dataIndex: "serviceYear",
  143. key: "serviceYear",
  144. render: (text, record) => {
  145. return (
  146. <div>{!text ? "" : text}</div>
  147. );
  148. }
  149. },
  150. {
  151. title: '项目说明',
  152. dataIndex: 'taskComment',
  153. key: 'taskComment',
  154. render: (text) => {
  155. return (
  156. <Tooltip title={text}>
  157. <div
  158. style={{
  159. width: 100,
  160. overflow: "hidden",
  161. whiteSpace: "nowrap",
  162. textOverflow: "ellipsis",
  163. }}
  164. >{text}</div>
  165. </Tooltip>
  166. )
  167. },
  168. },
  169. ],
  170. columnsA: [
  171. {
  172. title: '流程',
  173. dataIndex: 'content',
  174. key: 'content',
  175. align: 'center',
  176. },
  177. {
  178. title: '操作人',
  179. dataIndex: 'aName',
  180. key: 'aName',
  181. align: 'center',
  182. },
  183. {
  184. title: '时间',
  185. dataIndex: 'createTimes',
  186. key: 'createTimes',
  187. align: 'center',
  188. },
  189. ],
  190. resVisible: false,
  191. companyColumns: [
  192. {
  193. title: '公司',
  194. dataIndex: 'name',
  195. key: 'name',
  196. //fixed:'left',
  197. width: 160,
  198. },
  199. {
  200. title: '联系人',
  201. dataIndex: 'contacts',
  202. key: 'contacts',
  203. },
  204. {
  205. title: '联系人电话',
  206. dataIndex: 'contactsMobile',
  207. key: 'contactsMobile',
  208. },
  209. {
  210. title: '地址',
  211. dataIndex: 'companyProvinceArr',
  212. key: 'companyProvinceArr',
  213. width: 140,
  214. render: (test) => {
  215. return test[0] === null
  216. ? ''
  217. : getprovince(test[0]) +
  218. '/' +
  219. getprovince(test[1]) +
  220. '/' +
  221. getprovince(test[2])
  222. },
  223. },
  224. {
  225. title: '详细地址',
  226. dataIndex: 'address',
  227. key: 'address',
  228. },
  229. ],
  230. }
  231. },
  232. componentWillReceiveProps(nextProps) {
  233. this.setState({
  234. record: nextProps.record,
  235. })
  236. if (nextProps.record) {
  237. this.setState({
  238. orderNo: nextProps.record
  239. })
  240. this.xiangqing(nextProps.record.id)
  241. this.xiangqings(nextProps.record.orderNo)
  242. this.xiangmu(nextProps.record.orderNo)
  243. this.loaduserss(nextProps.record)
  244. }
  245. },
  246. // handleOk() {
  247. // this.setState({
  248. // newVisible: false
  249. // });
  250. // // window.setTimeout( () => {
  251. // // this.setState({
  252. // // newVisible: true
  253. // // });
  254. // // },)
  255. // },
  256. // 拆分详细
  257. showRes(record) {
  258. this.setState({
  259. resVisible: true,
  260. resRecord: record,
  261. })
  262. },
  263. resCancel() {
  264. this.setState({
  265. resVisible: false,
  266. })
  267. },
  268. // 详情
  269. xiangqing(id) {
  270. this.setState({
  271. loading: true,
  272. })
  273. $.ajax({
  274. method: 'get',
  275. dataType: 'json',
  276. crossDomain: false,
  277. url: globalConfig.context + '/api/admin/orderProject/orderTaskDetail',
  278. data: {
  279. id: id,
  280. },
  281. success: function (data) {
  282. if (data.error.length || data.data.list == '') {
  283. if (data.error && data.error.length) {
  284. message.warning(data.error[0].message)
  285. }
  286. } else {
  287. let thisdata = data.data
  288. this.setState({
  289. orderTaskCostReduction: thisdata.costReduction,//费减
  290. checkStatus: thisdata.checkStatus,//核对状态
  291. commodityQuantity: thisdata.commodityQuantity,//项目数量
  292. patentTypeName: thisdata.patentTypeName,//官费类型名称
  293. patentTypeId: thisdata.patentType,//官费专利类型
  294. id: thisdata.id, //ID
  295. orderNo: thisdata.orderNo, //订单编号
  296. userName: thisdata.userName, //客户名称
  297. taskName: thisdata.taskName, //任务名称
  298. cname: thisdata.cname, //项目品类
  299. contractNo: thisdata.contractNo, //合同编号
  300. projectStatus: thisdata.projectStatus, //项目状态
  301. taskStatus: thisdata.taskStatus, //任务状态
  302. taskDate: thisdata.taskDate, //分配时间
  303. taskComment: thisdata.taskComment, //说明
  304. attachmentUrl: thisdata.attachmentUrl
  305. ? splitUrl(
  306. thisdata.attachmentUrl,
  307. ',',
  308. globalConfig.avatarHost + '/upload'
  309. )
  310. : [], //图片地址
  311. salesmanName: thisdata.salesmanName, //订单负责人
  312. startDate: thisdata.startDate, //启动日期
  313. endDate: thisdata.endDate, //结束日期
  314. acceptDate: thisdata.acceptDate, //受理日期
  315. reviewDate: thisdata.reviewDate, //评审日期
  316. publicityDate: thisdata.publicityDate, //公示日期
  317. licenceDate: thisdata.licenceDate, //发证日期
  318. contacts: thisdata.contacts, //联系人
  319. contactMobile: thisdata.contactMobile, //联系人电话
  320. legalPerson: thisdata.legalPerson, //法人
  321. legalPersonTel: thisdata.legalPersonTel, //法人电话
  322. certificateNumber: thisdata.certificateNumber, //证书编号
  323. status: thisdata.status, //状态
  324. formRetrieve: thisdata.formRetrieve, // 满意度调查表状态
  325. satisfactionDegree: thisdata.satisfactionDegree, // 满意度
  326. satisfactionDegreeUrl: thisdata.satisfactionDegreeUrl ? splitUrl(thisdata.satisfactionDegreeUrl, ",", globalConfig.avatarHost + "/upload") : [], // 满意度调查表
  327. taskRefund: thisdata.taskRefund, //退单
  328. refundContent: thisdata.refundContent, //退单信息
  329. retrieveContent: thisdata.retrieveContent, //回收信息
  330. arrivalMoney: thisdata.arrivalMoney, //是否到款
  331. setUpAmount: thisdata.setUpAmount, //立项金额
  332. declareUser: thisdata.declareUser, //账号
  333. declarePwd: thisdata.declarePwd, //密码
  334. depName: thisdata.depName, //订单部门
  335. outsourceName: thisdata.outsourceName, //外包公司名称
  336. outsourcePrice: thisdata.outsourcePrice, //外包价格
  337. declarationBatch: thisdata.declarationBatch, //外包价格
  338. projectType: thisdata.bpType,//项目类型
  339. orderTaskOfficialCost: thisdata.officialCost, //官费 0无 1有
  340. sort: thisdata.sort,
  341. })
  342. if (thisdata.patentTransfer) {
  343. this.setState({
  344. patentType: 1
  345. })
  346. } else {
  347. this.setState({
  348. patentType: 0
  349. })
  350. }
  351. }
  352. }.bind(this),
  353. }).always(
  354. function () {
  355. this.setState({
  356. loading: false,
  357. })
  358. }.bind(this)
  359. )
  360. },
  361. // 获取csort下的数据
  362. getCsortData(cSort) {
  363. cuiJieDian.map((item) => {
  364. if (item.value == cSort) {
  365. this.setState({
  366. paySubject: item.children,
  367. })
  368. }
  369. })
  370. },
  371. //订单详情
  372. xiangqings(orderNos) {
  373. this.setState({
  374. loading: true,
  375. })
  376. $.ajax({
  377. method: 'get',
  378. dataType: 'json',
  379. crossDomain: false,
  380. url: globalConfig.context + '/api/admin/newOrder/getOrderNewDetail',
  381. data: {
  382. orderNo: orderNos,
  383. },
  384. success: function (data) {
  385. let thisdata = data.data
  386. let ProvinceCityArr = []
  387. let ProvinceS = thisdata.locationProvince //省
  388. let citys = thisdata.locationCity //市
  389. let Areas = thisdata.locationArea //区
  390. ProvinceCityArr.push(ProvinceS, citys, Areas)
  391. if (data.error.length || data.data.list == '') {
  392. if (data.error && data.error.length) {
  393. message.warning(data.error[0].message)
  394. }
  395. } else {
  396. this.setState({
  397. examineName: thisdata.examineName,
  398. processStatus: thisdata.processStatus, //流程状态
  399. liquidationStatus: thisdata.liquidationStatus, //结算状态
  400. approval: thisdata.approval, //特批状态
  401. orderRemarks: thisdata.orderRemarks, //订单留言
  402. salesmanName: thisdata.salesmanName, //营销员名称
  403. salesmanMobile: thisdata.salesmanMobile, //营销员电话
  404. oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
  405. oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
  406. financeName: thisdata.financeName, //财务名称
  407. financeMobile: thisdata.financeMobile, //财务电话
  408. nowFinance: thisdata.nowFinance, //财务名称
  409. nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
  410. depName: thisdata.depName, //订单部门
  411. locationProvince: thisdata.locationProvince,
  412. locationCity: thisdata.locationCity,
  413. locationArea: thisdata.locationArea,
  414. ProvinceCity: ProvinceCityArr,
  415. postalAddress: thisdata.postalAddress, //详细地址
  416. outsource: thisdata.outsource,
  417. })
  418. }
  419. }.bind(this),
  420. }).always(
  421. function () {
  422. this.setState({
  423. loading: false,
  424. })
  425. }.bind(this)
  426. )
  427. },
  428. //查看下证信息
  429. loaduserss(record) {
  430. this.setState({
  431. loading: true,
  432. })
  433. $.ajax({
  434. method: 'get',
  435. dataType: 'json',
  436. crossDomain: false,
  437. url: globalConfig.context + '/api/admin/orderProject/selectTaskProgress',
  438. data: {
  439. tid: record.id,
  440. },
  441. success: function (data) {
  442. let theArr = []
  443. let thisData = []
  444. if (!thisData) {
  445. if (data.error && data.error.length) {
  446. message.warning(data.error[0].message)
  447. }
  448. thisData = {}
  449. } else {
  450. for (let i = 0; i < data.data.length; i++) {
  451. thisData = data.data[i]
  452. theArr.push({
  453. num: i + 1,
  454. key: i,
  455. id: thisData.id, //编号
  456. alreadyNumber: thisData.alreadyNumber, //下证数
  457. licenceTimes: thisData.licenceTimes, //下证时间
  458. notCount: thisData.notCount, //未下证数
  459. flag: true,
  460. })
  461. }
  462. this.setState({
  463. contactList: theArr,
  464. })
  465. }
  466. }.bind(this),
  467. }).always(
  468. function () {
  469. this.setState({
  470. loading: false,
  471. })
  472. }.bind(this)
  473. )
  474. },
  475. //项目列表
  476. xiangmu(orderNos) {
  477. this.setState({
  478. loading: true,
  479. })
  480. $.ajax({
  481. method: 'get',
  482. dataType: 'json',
  483. crossDomain: false,
  484. url: globalConfig.context + '/api/admin/newOrder/getOrderTask',
  485. data: {
  486. orderNo: orderNos,
  487. },
  488. success: function (data) {
  489. let theArr = []
  490. if (data.error.length || data.data.list == '') {
  491. if (data.error && data.error.length) {
  492. message.warning(data.error[0].message)
  493. }
  494. } else {
  495. for (let i = 0; i < data.data.length; i++) {
  496. let thisdata = data.data[i];
  497. thisdata.key = i;
  498. thisdata.sort = thisdata.cSort;
  499. theArr.push(thisdata);
  500. }
  501. }
  502. this.setState({
  503. dataSourceX: theArr,
  504. })
  505. }.bind(this),
  506. }).always(
  507. function () {
  508. this.setState({
  509. loading: false,
  510. })
  511. }.bind(this)
  512. )
  513. },
  514. tableRowClickX(record) {
  515. this.setState({
  516. jid: record.id, //项目ID
  517. kid: record.commodityId, //商品ID
  518. commodityName: record.commodityName, //金额
  519. commodityPrice: record.commodityPrice, //金额
  520. commodityQuantity: record.commodityQuantity, //数量
  521. taskComment: record.taskComment, //备注
  522. main: record.main.toString(), //是否为主要
  523. addnextVisible: true,
  524. addState: 0,
  525. })
  526. },
  527. caozuorizhi() {
  528. this.setState({
  529. loading: true,
  530. })
  531. this.setState({
  532. visibleA: true,
  533. })
  534. $.ajax({
  535. method: 'get',
  536. dataType: 'json',
  537. crossDomain: false,
  538. url: globalConfig.context + '/api/admin/orderProject/TaskLogList',
  539. data: {
  540. id: this.state.id,
  541. },
  542. success: function (data) {
  543. let theArr = []
  544. if (data.error.length || data.data.list == '') {
  545. if (data.error && data.error.length) {
  546. message.warning(data.error[0].message)
  547. }
  548. } else {
  549. for (let i = 0; i < data.data.length; i++) {
  550. let thisdata = data.data[i]
  551. theArr.push({
  552. key: i,
  553. id: thisdata.id, //日志ID
  554. content: thisdata.content, //流程
  555. taskId: thisdata.taskId, //任务ID
  556. aName: thisdata.aName, //负责人
  557. createTimes: thisdata.createTimes, //时间
  558. })
  559. }
  560. }
  561. this.setState({
  562. dataSourceA: theArr,
  563. })
  564. }.bind(this),
  565. }).always(
  566. function () {
  567. this.setState({
  568. loading: false,
  569. })
  570. }.bind(this)
  571. )
  572. }, //关闭操作工时
  573. visitCancelA() {
  574. this.setState({
  575. visibleA: false,
  576. })
  577. },
  578. waiDetail() {
  579. let url = window.location.href.substring(7)
  580. this.setState({
  581. loading: true,
  582. })
  583. $.ajax({
  584. method: 'get',
  585. dataType: 'json',
  586. crossDomain: false,
  587. url:
  588. globalConfig.context + '/api/admin/outsourceOrg/orderOutsourceDtails',
  589. data: {
  590. tid: this.props.record.id,
  591. orderNo: this.props.record.orderNo,
  592. },
  593. }).done(
  594. function (data) {
  595. this.setState({
  596. loading: false,
  597. })
  598. if (!data.error.length && data.data) {
  599. if (!isNaN(parseFloat(data.data.unitNumber))) {
  600. this.setState({
  601. oldInfor: {
  602. companyName: data.data.companyName,
  603. unitPrice: data.data.unitPrice,
  604. unitNumber: data.data.unitNumber,
  605. amount: data.data.amount,
  606. outsourceRemarks: data.data.outsourceRemarks,
  607. refundStatus: data.data.refundStatus,
  608. pictureUrl: data.data.pictureUrl
  609. ? splitUrl(
  610. data.data.pictureUrl,
  611. ',',
  612. globalConfig.avatarHost + '/upload',
  613. url
  614. )
  615. : [], //图片地址
  616. },
  617. })
  618. } else {
  619. this.setState({
  620. oldInfor: {},
  621. })
  622. }
  623. this.setState({
  624. containOfficialFees: data.data.actualOfficial,//官费类型 0实际已缴费 1实际未缴费
  625. startType: data.data.startType, //类型
  626. patentType: data.data.patentType, //专利类型
  627. patentNameType: data.data.patentNameType, //专利名称类型
  628. patentName: data.data.patentName, //专利名称
  629. outsourceRemarks: data.data.outsourceRemarks,
  630. remarks: data.data.remarks,
  631. companyName: data.data.companyName,
  632. amount: data.data.amount,
  633. mid: data.data.id,
  634. unitPrice: data.data.unitPrice,
  635. refundStatus: data.data.refundStatus,
  636. unitNumber: data.data.unitNumber,
  637. pictureUrl: data.data.pictureUrl
  638. ? splitUrl(
  639. data.data.pictureUrl,
  640. ',',
  641. globalConfig.avatarHost + '/upload',
  642. url
  643. )
  644. : [], //图片地址
  645. createTimes: data.data.createTimes,
  646. auditTimes: data.data.auditTimes,
  647. })
  648. } else if (data.error && data.error.length) {
  649. message.warning(data.error[0].message)
  650. } else if (!data.data) {
  651. this.setState({
  652. refundStatus: undefined,
  653. containOfficialFees: undefined,//官费类型 0实际已缴费 1实际未缴费
  654. startType: undefined, //类型
  655. patentType: undefined, //专利类型
  656. patentNameType: undefined, //专利名称类型
  657. patentName: undefined, //专利名称
  658. outsourceRemarks: undefined,
  659. remarks: undefined,
  660. companyName: undefined,
  661. amount: undefined,
  662. mid: undefined,
  663. unitPrice: undefined,
  664. unitNumber: undefined,
  665. pictureUrl: undefined, //图片地址
  666. createTimes: undefined,
  667. auditTimes: undefined,
  668. })
  669. }
  670. }.bind(this)
  671. )
  672. },
  673. //加载外包
  674. loadCompany() {
  675. this.setState({
  676. loading: true,
  677. })
  678. $.ajax({
  679. method: 'get',
  680. dataType: 'json',
  681. crossDomain: false,
  682. url: globalConfig.context + '/api/admin/outsourceOrg/selectOutsourceOrg',
  683. data: {
  684. tid: this.props.record.id,
  685. orderNo: this.props.record.orderNo,
  686. },
  687. success: function (data) {
  688. let theArr = []
  689. if (data.error.length || data.data.list == '') {
  690. if (data.error && data.error.length) {
  691. message.warning(data.error[0].message)
  692. }
  693. } else {
  694. for (let i = 0; i < data.data.length; i++) {
  695. let thisdata = data.data[i]
  696. let ProvinceCityArr = []
  697. let ProvinceS = thisdata.province //省
  698. let citys = thisdata.city //市
  699. let Areas = thisdata.area //区
  700. ProvinceCityArr.push(ProvinceS, citys, Areas)
  701. theArr.push({
  702. key: i,
  703. id: thisdata.id, //外包Id
  704. name: thisdata.name, //名称
  705. contacts: thisdata.contacts, //联系人
  706. contactsMobile: thisdata.contactsMobile, //联系人电话
  707. companyProvinceArr: ProvinceCityArr,
  708. address: thisdata.address,
  709. remarks: thisdata.remarks,
  710. })
  711. }
  712. }
  713. this.setState({
  714. companys: theArr,
  715. })
  716. }.bind(this),
  717. }).always(
  718. function () {
  719. this.setState({
  720. loading: false,
  721. })
  722. }.bind(this)
  723. )
  724. },
  725. tabChange(e) {
  726. this.setState({
  727. tabsKey: e
  728. })
  729. if (e == 2) {
  730. this.waiDetail();
  731. this.payNodeTable();
  732. this.thirdTable();
  733. this.getCsortData();
  734. } else if (e == 3) {
  735. this.loadCompany()
  736. }
  737. },
  738. //查看第三方信息表格
  739. thirdTable() {
  740. this.setState({
  741. thirdInfoLoading: true,
  742. })
  743. let ajaxObj = $.ajax({
  744. method: 'get',
  745. dataType: 'json',
  746. crossDomain: false,
  747. url: globalConfig.context + '/api/admin/company/selectCompany',
  748. data: {
  749. tid: this.props.record.id,
  750. },
  751. success: function (data) {
  752. if (data.error && data.error.length) {
  753. message.warning(data.error[0].message)
  754. } else {
  755. let companyNameArr = [];
  756. let theArr = [];
  757. let thisData = [];
  758. let arr = data.data || [];
  759. let allTotalAmount = 0;
  760. let type = 0;
  761. let startType = 0;
  762. let patentNameType = 0;
  763. for (let i = 0; i < arr.length; i++) {
  764. thisData = arr[i]
  765. allTotalAmount =
  766. (allTotalAmount * 10000 + thisData.totalAmount * 10000) / 10000
  767. companyNameArr.push(thisData.companyName);
  768. thisData.key = i;
  769. type = thisData.patentType;
  770. thisData.patentType = thisData.type;
  771. theArr.push(thisData);
  772. startType = thisData.startType;
  773. patentNameType = thisData.patentNameType
  774. }
  775. if (!allTotalAmount) {
  776. allTotalAmount = 0
  777. }
  778. for (let d = 0; d < theArr.length; d++) {
  779. theArr[d].companyName = theArr[d].companyName + '-' + theArr[d].id;
  780. companyNameArr[d] = {
  781. companyName: theArr[d].companyName,
  782. id: theArr[d].id,
  783. }
  784. }
  785. if ((type === 0 || type === 1) && arr.length > 0) {
  786. this.setState({
  787. patentType: type === 0 ? 0 : 1, //0专利申请 1专利买卖
  788. patentNameType: patentNameType, //0实用新型 1发明专利 2外观专利 3 其他
  789. })
  790. }
  791. //设置项目类型
  792. if (arr.length > 0) {
  793. this.setState({
  794. startType: startType
  795. })
  796. }
  797. this.setState({
  798. thirdInfoList: theArr,
  799. })
  800. }
  801. }.bind(this),
  802. }).always(
  803. function () {
  804. this.setState({
  805. thirdInfoLoading: false,
  806. })
  807. }.bind(this)
  808. )
  809. this.setState({
  810. selectCompanyAjaxObj: ajaxObj
  811. })
  812. },
  813. payNodeTable() {
  814. this.setState({
  815. payNodeLoading: true,
  816. })
  817. let ajaxObj = $.ajax({
  818. method: 'get',
  819. dataType: 'json',
  820. crossDomain: false,
  821. url: globalConfig.context + '/api/admin/company/selectPaymentNode',
  822. data: {
  823. tid: this.props.record.id,
  824. },
  825. success: function (data) {
  826. if (data.error && data.error.length) {
  827. message.warning(data.error[0].message)
  828. } else {
  829. let payNodeArr = []
  830. let thisData = []
  831. let arr = data.data || []
  832. //对#5283自定义的补充展示
  833. this.state.paySubject.push({ key: '自定义', value: '0' })
  834. for (let i = 0; i < arr.length; i++) {
  835. thisData = arr[i]
  836. //遍历paySubject,获取当前dunType对应的key
  837. this.state.paySubject.map((item) => {
  838. if (item.value == thisData.dunType) {
  839. thisData.dunType = item.key
  840. }
  841. })
  842. payNodeArr.push({
  843. key: i,
  844. id: thisData.id, //付款节点Id
  845. nodeId: thisData.id, //付款节点Id
  846. tid: thisData.tid,
  847. companyName: thisData.companyName, //供应商名称
  848. projectType: thisData.projectType, //项目分类
  849. dunType: thisData.dunType, //催款分类
  850. unitPrice: thisData.unitPrice, //单价
  851. quantity: thisData.quantity, //数量
  852. totalAmount: thisData.totalAmount, //总价
  853. partyAmount: thisData.partyAmount, //付款
  854. partyTimes: thisData.partyTimes, //付款时间
  855. cid: thisData.cid, //机构id
  856. status: thisData.status, //催款状态 0-未支付 1-待全款 ,2已全款 status=2的时候已经全款,申请付款按钮可以去掉了
  857. })
  858. }
  859. for (let d = 0; d < payNodeArr.length; d++) {
  860. payNodeArr[d].companyName = payNodeArr[d].companyName + '-' + payNodeArr[d].cid;
  861. }
  862. this.setState({
  863. payNodeList: payNodeArr,
  864. })
  865. }
  866. }.bind(this),
  867. }).always(
  868. function () {
  869. this.setState({
  870. payNodeLoading: false,
  871. })
  872. }.bind(this)
  873. )
  874. this.setState({
  875. selectPaymentNodeAjaxObj: ajaxObj
  876. })
  877. },
  878. render() {
  879. const formItemLayout = {
  880. labelCol: { span: 8 },
  881. wrapperCol: { span: 14 },
  882. }
  883. const utils = {
  884. getSatisfaction: function (num) {
  885. switch (num) {
  886. case 0:
  887. return '未收回'
  888. case 1:
  889. return '已收回'
  890. default:
  891. return '其它'
  892. }
  893. },
  894. getChargeback: function (num) {
  895. switch (num) {
  896. case 0:
  897. return '已完成'
  898. case 1:
  899. return '未完成'
  900. default:
  901. return '其它'
  902. }
  903. },
  904. }
  905. return (
  906. this.props.visible ? <Modal
  907. className="customeDetails"
  908. footer=""
  909. title=""
  910. width="1200px"
  911. visible={this.props.visible}
  912. // onOk={this.visitOk}
  913. onCancel={(e) => {
  914. this.setState({
  915. tabsKey: "1"
  916. })
  917. this.props.cancel()
  918. }}
  919. >
  920. {this.state.resVisible ? (
  921. <ResolutionDetail
  922. cancel={this.resCancel}
  923. detail={this.state.resRecord}
  924. visible={this.state.resVisible}
  925. id={this.state.resRecord.orderNo}
  926. />
  927. ) : (
  928. ''
  929. )}
  930. <Tabs defaultActiveKey="1" activeKey={this.state.tabsKey} onChange={this.tabChange}>
  931. <TabPane tab="项目概况" key="1">
  932. {this.state.tabsKey === "1" &&
  933. <Form
  934. layout="horizontal"
  935. onSubmit={this.handleSubmit}
  936. id="demand-form"
  937. style={{ paddingBottom: '0px' }}
  938. >
  939. <Spin spinning={this.state.loading}>
  940. <div className="clearfix">
  941. <div className="clearfix">
  942. <FormItem
  943. className="half-item"
  944. {...formItemLayout}
  945. label="项目状态"
  946. >
  947. <span>{getProjectName(this.state.projectStatus)}</span>
  948. <Button
  949. type="primary"
  950. size="small"
  951. style={{ marginTop: '5px', position: 'absolute' }}
  952. onClick={this.caozuorizhi}
  953. >
  954. 操作日志
  955. </Button>
  956. </FormItem>
  957. <FormItem
  958. className="half-item"
  959. {...formItemLayout}
  960. label="合同编号"
  961. >
  962. <span>{this.state.contractNo}</span>
  963. </FormItem>
  964. </div>
  965. <div className="clearfix">
  966. <FormItem
  967. className="half-item"
  968. {...formItemLayout}
  969. label="是否特批"
  970. >
  971. <span>{getApproval(this.state.approval)}</span>
  972. </FormItem>
  973. <FormItem
  974. className="half-item"
  975. {...formItemLayout}
  976. label="结算状态"
  977. >
  978. <span>
  979. {getLiquidationStatus(this.state.liquidationStatus)}
  980. </span>
  981. </FormItem>
  982. <FormItem
  983. className="half-item"
  984. {...formItemLayout}
  985. label="流程状态"
  986. >
  987. <span>{getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)}</span>
  988. </FormItem>
  989. <FormItem
  990. className="half-item"
  991. {...formItemLayout}
  992. label="订单编号"
  993. >
  994. <span>{this.props.record.orderNo}</span>
  995. </FormItem>
  996. <FormItem
  997. className="half-item"
  998. {...formItemLayout}
  999. label="是否外包"
  1000. >
  1001. <span>{this.state.outsource == 0 ? '否' : '是'}</span>
  1002. </FormItem>
  1003. </div>
  1004. <div className="clearfix">
  1005. <FormItem
  1006. className="half-item"
  1007. {...formItemLayout}
  1008. label="满意度"
  1009. >
  1010. <span>
  1011. {getFormRetrieves(this.state.formRetrieve, this.state.satisfactionDegree)}
  1012. </span>
  1013. </FormItem>
  1014. <div className="clearfix">
  1015. <FormItem
  1016. className="half-item"
  1017. {...formItemLayout}
  1018. label="满意度调查表"
  1019. >
  1020. <div>
  1021. <ImgList
  1022. domId={"satisfactionDegree"}
  1023. fileList={this.state.satisfactionDegreeUrl}
  1024. ItemWidth={"96px"}
  1025. />
  1026. </div>
  1027. </FormItem>
  1028. </div>
  1029. {/*<FormItem*/}
  1030. {/* className="half-item"*/}
  1031. {/* {...formItemLayout}*/}
  1032. {/* label="退单"*/}
  1033. {/*>*/}
  1034. {/* <span>{utils.getChargeback(this.state.taskRefund)}</span>*/}
  1035. {/*</FormItem>*/}
  1036. </div>
  1037. <div className="clearfix">
  1038. {
  1039. <FormItem
  1040. className="half-item"
  1041. {...formItemLayout}
  1042. label="(满意度)备注"
  1043. >
  1044. <span>{this.state.retrieveContent}</span>
  1045. </FormItem>
  1046. }
  1047. {
  1048. // <FormItem
  1049. // className="half-item"
  1050. // {...formItemLayout}
  1051. // label="(退单)备注"
  1052. // >
  1053. // <span>{this.state.refundContent}</span>
  1054. // </FormItem>
  1055. }
  1056. </div>
  1057. <div className="clearfix">
  1058. <h3 className="sub-title">任务信息</h3>
  1059. <FormItem
  1060. className="half-item"
  1061. {...formItemLayout}
  1062. label="任务编号"
  1063. >
  1064. <span>{this.state.id}</span>
  1065. </FormItem>
  1066. <FormItem
  1067. className="half-item"
  1068. {...formItemLayout}
  1069. label="任务名称"
  1070. >
  1071. <span>{this.state.taskName}</span>
  1072. </FormItem>
  1073. <FormItem
  1074. className="half-item"
  1075. {...formItemLayout}
  1076. label="任务状态"
  1077. >
  1078. <span>{getTaskStatus(this.state.taskStatus)}</span>
  1079. </FormItem>
  1080. <FormItem
  1081. className="half-item"
  1082. {...formItemLayout}
  1083. label="任务类别"
  1084. >
  1085. <span>{this.state.cname}</span>
  1086. </FormItem>
  1087. <FormItem
  1088. className="half-item"
  1089. {...formItemLayout}
  1090. label="证书编号"
  1091. >
  1092. <span>{this.state.certificateNumber}</span>
  1093. </FormItem>
  1094. </div>
  1095. {/*{this.state.outsource === 1 ? (*/}
  1096. {/* <div className="clearfix">*/}
  1097. {/* <h3 className="sub-title">外包信息</h3>*/}
  1098. {/* <FormItem*/}
  1099. {/* className="half-item"*/}
  1100. {/* {...formItemLayout}*/}
  1101. {/* label="外包公司"*/}
  1102. {/* >*/}
  1103. {/* <span>{this.state.outsourceName}</span>*/}
  1104. {/* </FormItem>*/}
  1105. {/* <FormItem*/}
  1106. {/* className="half-item"*/}
  1107. {/* {...formItemLayout}*/}
  1108. {/* label="外包成本(万元)"*/}
  1109. {/* >*/}
  1110. {/* <span>{this.state.outsourcePrice}</span>*/}
  1111. {/* </FormItem>*/}
  1112. {/* </div>*/}
  1113. {/*) : (*/}
  1114. {/* ''*/}
  1115. {/*)}*/}
  1116. {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
  1117. <div className="clearfix">
  1118. <h3 className="sub-title">联系信息</h3>
  1119. <FormItem
  1120. className="half-item"
  1121. {...formItemLayout}
  1122. label="客户名称"
  1123. >
  1124. <span>{this.state.userName}</span>
  1125. </FormItem>
  1126. <FormItem
  1127. className="half-item"
  1128. {...formItemLayout}
  1129. label="企业法人"
  1130. >
  1131. <span>{this.state.legalPerson}</span>
  1132. </FormItem>
  1133. <FormItem
  1134. className="half-item"
  1135. {...formItemLayout}
  1136. label="法人电话"
  1137. >
  1138. <span>{this.state.legalPersonTel}</span>
  1139. </FormItem>
  1140. <FormItem
  1141. className="half-item"
  1142. {...formItemLayout}
  1143. label="客户联系人"
  1144. >
  1145. <span>{this.state.contacts}</span>
  1146. </FormItem>
  1147. <FormItem
  1148. className="half-item"
  1149. {...formItemLayout}
  1150. label="联系人电话"
  1151. >
  1152. <span>{this.state.contactMobile}</span>
  1153. </FormItem>
  1154. <FormItem
  1155. className="half-item"
  1156. {...formItemLayout}
  1157. label="企业地址"
  1158. >
  1159. <span>
  1160. {getprovince(this.state.locationProvince)}/
  1161. {getprovince(this.state.locationCity)}/
  1162. {getprovince(this.state.locationArea)}
  1163. </span>
  1164. </FormItem>
  1165. <FormItem
  1166. className="half-item"
  1167. {...formItemLayout}
  1168. label=""
  1169. />
  1170. <FormItem className="half-item" {...formItemLayout}>
  1171. <span style={{ paddingLeft: '12em' }}>
  1172. {this.state.postalAddress}
  1173. </span>
  1174. </FormItem>
  1175. </div>
  1176. {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
  1177. <div className="clearfix">
  1178. <h3 className="sub-title">订单负责人信息</h3>
  1179. <FormItem
  1180. className="half-item"
  1181. {...formItemLayout}
  1182. label="负责人"
  1183. >
  1184. <span>
  1185. {this.state.salesmanName +
  1186. '(' +
  1187. this.state.depName +
  1188. ')'}
  1189. </span>
  1190. </FormItem>
  1191. <FormItem
  1192. className="half-item"
  1193. {...formItemLayout}
  1194. label="负责人电话"
  1195. >
  1196. <span>{this.state.salesmanMobile}</span>
  1197. </FormItem>
  1198. <FormItem
  1199. className="half-item"
  1200. {...formItemLayout}
  1201. label="当前财务负责人"
  1202. >
  1203. <span>{this.state.nowFinance}</span>
  1204. </FormItem>
  1205. <FormItem
  1206. className="half-item"
  1207. {...formItemLayout}
  1208. label="当前财务负责人电话"
  1209. >
  1210. <span>{this.state.nowFinanceMobile}</span>
  1211. </FormItem>
  1212. <FormItem
  1213. className="half-item"
  1214. {...formItemLayout}
  1215. style={{ opacity: '.5' }}
  1216. label="原负责人"
  1217. >
  1218. <span>{this.state.oldSalesmanName}</span>
  1219. </FormItem>
  1220. <FormItem
  1221. className="half-item"
  1222. {...formItemLayout}
  1223. style={{ opacity: '.5' }}
  1224. label="原负责人电话"
  1225. >
  1226. <span>{this.state.oldSalesmanMobile}</span>
  1227. </FormItem>
  1228. <FormItem
  1229. className="half-item"
  1230. {...formItemLayout}
  1231. style={{ opacity: '.5' }}
  1232. label="实际财务操作人"
  1233. >
  1234. <span>{this.state.financeName}</span>
  1235. </FormItem>
  1236. <FormItem
  1237. className="half-item"
  1238. {...formItemLayout}
  1239. style={{ opacity: '.5' }}
  1240. label="实际财务操作人电话"
  1241. >
  1242. <span>{this.state.financeMobile}</span>
  1243. </FormItem>
  1244. </div>
  1245. <div className="clearfix">
  1246. <h3 className="sub-title">申报系统账户信息</h3>
  1247. {/*<span style={{color:'red'}}>注:仅技术部可见</span>*/}
  1248. <FormItem
  1249. className="half-item"
  1250. {...formItemLayout}
  1251. label="用户名"
  1252. >
  1253. <span>{this.state.declareUser ? '****' : ''}</span>
  1254. </FormItem>
  1255. <FormItem
  1256. className="half-item"
  1257. {...formItemLayout}
  1258. label="密码"
  1259. >
  1260. <span>{this.state.declarePwd ? '****' : ''}</span>
  1261. </FormItem>
  1262. </div>
  1263. <div className="clearfix">
  1264. <h3 className="sub-title">项目申报进度</h3>
  1265. <FormItem
  1266. className="half-item"
  1267. {...formItemLayout}
  1268. label="申报批次"
  1269. >
  1270. <span>{this.state.declarationBatch}</span>
  1271. </FormItem>
  1272. <FormItem
  1273. className="half-item"
  1274. {...formItemLayout}
  1275. label="启动时间"
  1276. >
  1277. <span>{this.state.startDate}</span>
  1278. </FormItem>
  1279. <FormItem
  1280. className="half-item"
  1281. {...formItemLayout}
  1282. label="完成时间"
  1283. >
  1284. <span>{this.state.endDate}</span>
  1285. </FormItem>
  1286. <FormItem
  1287. className="half-item"
  1288. {...formItemLayout}
  1289. label="受理时间"
  1290. >
  1291. <span>{this.state.acceptDate}</span>
  1292. </FormItem>
  1293. <FormItem
  1294. className="half-item"
  1295. {...formItemLayout}
  1296. label="评审时间"
  1297. >
  1298. <span>{this.state.reviewDate}</span>
  1299. </FormItem>
  1300. <FormItem
  1301. className="half-item"
  1302. {...formItemLayout}
  1303. label="公示时间"
  1304. >
  1305. <span>{this.state.publicityDate}</span>
  1306. </FormItem>
  1307. <FormItem
  1308. className="half-item"
  1309. {...formItemLayout}
  1310. label="发证时间"
  1311. >
  1312. <span>{this.state.licenceDate}</span>
  1313. </FormItem>
  1314. <FormItem
  1315. className="half-item"
  1316. {...formItemLayout}
  1317. label="立项金额(万元)"
  1318. >
  1319. <span>{this.state.setUpAmount}</span>
  1320. </FormItem>
  1321. <FormItem
  1322. className="half-item"
  1323. {...formItemLayout}
  1324. label="是否到款"
  1325. >
  1326. <span>
  1327. {this.state.arrivalMoney ? '已到企业' : '未到企业'}
  1328. </span>
  1329. </FormItem>
  1330. </div>
  1331. <div className="clearfix">
  1332. <FormItem
  1333. labelCol={{ span: 3 }}
  1334. wrapperCol={{ span: 18 }}
  1335. label="附件"
  1336. >
  1337. {this.state.attachmentUrl && this.props.visible && this.state.tabsKey === "1" ?
  1338. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  1339. <ImgList fileList={this.state.attachmentUrl} ItemWidth={'96px'} />
  1340. </div> : <div />}
  1341. </FormItem>
  1342. </div>
  1343. <div className="clearfix">
  1344. <FormItem
  1345. labelCol={{ span: 3 }}
  1346. wrapperCol={{ span: 16 }}
  1347. label="备注"
  1348. >
  1349. <span>{this.state.taskComment}</span>
  1350. </FormItem>
  1351. </div>
  1352. {/* 协单人员 */}
  1353. <OrderCoor orderNo={this.props.record.orderNo} />
  1354. <div>
  1355. <h3 className="sub-title">项目业务</h3>
  1356. {/* {this.state.processStatus == 0 && (
  1357. <Button
  1358. type="primary"
  1359. onClick={this.addDetailed}
  1360. style={{
  1361. float: "right",
  1362. marginRight: "50px",
  1363. marginBottom: "15px"
  1364. }}
  1365. >
  1366. 添加项目明细
  1367. </Button>
  1368. )} */}
  1369. </div>
  1370. <div className="patent-table">
  1371. <Spin spinning={this.state.loading}>
  1372. <Table
  1373. columns={this.state.columnsX}
  1374. dataSource={this.state.dataSourceX}
  1375. pagination={this.state.paginations}
  1376. onRowClick={this.tableRowClickX}
  1377. style={{
  1378. cursor: 'pointer',
  1379. }}
  1380. bordered
  1381. size="small"
  1382. />
  1383. </Spin>
  1384. </div>
  1385. </div>
  1386. </Spin>
  1387. </Form>
  1388. }
  1389. </TabPane>
  1390. <TabPane tab="外包/供应商信息" key="2">
  1391. {this.state.tabsKey === "2" ?
  1392. <Spin spinning={this.state.loading}>
  1393. <div>
  1394. {
  1395. this.props.visible && this.state.tabsKey === '2' ?
  1396. <CheckProject
  1397. {...this.props}
  1398. tid={this.props.record.id}
  1399. sort={this.state.sort}
  1400. patentTypeName={this.state.patentTypeName} //官费类型
  1401. patentTypeId={this.state.patentTypeId}
  1402. commodityQuantity={this.state.commodityQuantity} //项目数量
  1403. checkStatus={this.state.checkStatus} //核对状态
  1404. orderTaskCostReduction={this.state.orderTaskCostReduction} //是否含费减 0无1有
  1405. orderTaskOfficialCost={this.state.orderTaskOfficialCost} //是否含官费 0无1有
  1406. containOfficialFees={this.state.containOfficialFees} //0:实际已缴费 1:实际未缴费
  1407. oldInfor={this.state.oldInfor}
  1408. projectType={this.state.projectType} //0正常 1专利 2软著 3审计
  1409. patentNameType={this.state.patentNameType}
  1410. isAuditPayment={this.props.isAuditPayment} //是否为财务
  1411. isAuditPaymentGLY={this.props.isAuditPaymentGLY} //是否为财务经理或者为财务管理员
  1412. patentName={this.state.patentName}
  1413. patentType={this.state.patentType}
  1414. status={this.state.refundStatus}
  1415. mid={this.state.mid}
  1416. thirdInfoList={this.state.thirdInfoList}
  1417. dataSource={this.state.payNodeList}
  1418. outsourceRemarks={this.state.outsourceRemarks}
  1419. fileList={this.state.pictureUrl}
  1420. startType={this.state.startType}
  1421. projectStatus={this.state.projectStatus}
  1422. onRefresh={() => {
  1423. this.waiDetail();
  1424. this.thirdTable();
  1425. this.payNodeTable()
  1426. this.xiangqing(this.state.id);
  1427. }}
  1428. /> : <div />
  1429. }
  1430. </div>
  1431. <div className="clearfix">
  1432. <hr className="division" />
  1433. <div
  1434. className="clearfix"
  1435. style={{
  1436. display: this.state.refundStatus == 0 ? 'none' : 'block',
  1437. }}
  1438. >
  1439. <FormItem
  1440. className="half-item"
  1441. {...formItemLayout}
  1442. label="审核意见"
  1443. >
  1444. <span>{this.state.remarks}</span>
  1445. </FormItem>
  1446. </div>
  1447. {!(this.state.oldInfor && Object.keys(this.state.oldInfor).length > 0) ? <div className="clearfix">
  1448. <FormItem
  1449. className="half-item"
  1450. {...formItemLayout}
  1451. label="审核结果"
  1452. >
  1453. <span>{getRefundStatus(this.state.refundStatus)}</span>
  1454. </FormItem>
  1455. </div> : <div />}
  1456. <div
  1457. className="clearfix"
  1458. style={{
  1459. display: this.state.refundStatus == 0 ? 'none' : 'block',
  1460. }}
  1461. >
  1462. <FormItem
  1463. className="half-item"
  1464. {...formItemLayout}
  1465. label="审核时间"
  1466. >
  1467. <span>{this.state.auditTimes}</span>
  1468. </FormItem>
  1469. </div>
  1470. </div>
  1471. </Spin> : <div />}
  1472. </TabPane>
  1473. {/*{this.props.record && this.props.record.outsource == 1 ? (*/}
  1474. {/* <TabPane tab="外包公司信息" key="3">*/}
  1475. {/* <div className="patent-table" style={{ marginTop: '10px' }}>*/}
  1476. {/* <Spin spinning={this.state.loading}>*/}
  1477. {/* <Table*/}
  1478. {/* columns={this.state.companyColumns}*/}
  1479. {/* dataSource={this.state.companys}*/}
  1480. {/* scroll={{ x: 300, y: 0 }}*/}
  1481. {/* bordered*/}
  1482. {/* size="small"*/}
  1483. {/* expandedRowRender={(record) => {*/}
  1484. {/* return <p>{record.remarks}</p>*/}
  1485. {/* }}*/}
  1486. {/* pagination={false}*/}
  1487. {/* />*/}
  1488. {/* </Spin>*/}
  1489. {/* </div>*/}
  1490. {/* </TabPane>*/}
  1491. {/*) : (*/}
  1492. {/* ''*/}
  1493. {/*)}*/}
  1494. </Tabs>
  1495. <Modal
  1496. width="800px"
  1497. visible={this.state.visibleA}
  1498. onCancel={this.visitCancelA}
  1499. title="操作日志"
  1500. footer=""
  1501. className="admin-desc-content"
  1502. >
  1503. <div className="patent-table patent-table-center">
  1504. <Spin spinning={this.state.loading}>
  1505. <Table
  1506. columns={this.state.columnsA}
  1507. dataSource={this.state.dataSourceA}
  1508. pagination={false}
  1509. bordered
  1510. size="small"
  1511. />
  1512. </Spin>
  1513. </div>
  1514. </Modal>
  1515. </Modal> : <div />
  1516. )
  1517. },
  1518. })
  1519. export default project