orderDetail.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927
  1. import React, { Component } from "react";
  2. import { Form, Upload, Modal, Button, Table, Col, message, Tag, Tooltip } from "antd";
  3. import {
  4. splitUrl,
  5. getProcessStatus,
  6. getjiedian,
  7. getLiquidationStatus,
  8. getboutique,
  9. getCuikuan,
  10. getApprovedState,
  11. getProjectStatus
  12. } from "@/tools.js";
  13. import img from "./img.png"
  14. import ResolutionDetail from "@/resolutionDetail";
  15. import ImgList from "../../../../common/imgList";
  16. import { getProjectName } from "../../../../tools";
  17. import { salesList } from "@/dataDic.js";
  18. import ProjectDetailsReadOnly from "../../../../common/projectDetailsReadOnly";
  19. import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
  20. import NewEditProject from "../../../../common/projectOperation/newEditProject";
  21. import OrderCoor from "./orderCoor"
  22. import ContentUrl from "../contentUrl";
  23. import FlowChart from '../../../../common/flowchart'; // 流程图
  24. import Gxczx from '../../../../common/orderDetail/gxczx' // 高新纯咨询合同说明详情
  25. import Property from '../../../../common/orderDetail/property' // 知识产权情况
  26. const FormItem = Form.Item;
  27. class OrderDetail extends Component {
  28. constructor(props) {
  29. super(props);
  30. this.state = {
  31. dataInfor: {},
  32. contentUrl: [],
  33. newContactsLists: [
  34. {
  35. title: "项目名称",
  36. dataIndex: "commodityName",
  37. key: "commodityName",
  38. render: (text, record) => {
  39. return <span>{text + "-" + record.tid}</span>;
  40. }
  41. },
  42. {
  43. title: "项目分类",
  44. dataIndex: "projectType",
  45. key: "projectType",
  46. render: text => {
  47. let arr = this.props.dataSourceX || [];
  48. let str = "";
  49. for (let i = 0; i < arr.length; i++) {
  50. if (this.props.dataSourceX[i].sort == text) {
  51. str = this.props.dataSourceX[i].cname;
  52. return <span>{str}</span>;
  53. }
  54. }
  55. if (!str) {
  56. return <span>未知</span>;
  57. }
  58. }
  59. },
  60. {
  61. title: "催款科目",
  62. dataIndex: "dunTypeName",
  63. key: "dunTypeName",
  64. render: (text, record) => {
  65. if (record.customizeName) {
  66. return text + record.customizeName;
  67. }
  68. return <span>{text}</span>;
  69. }
  70. },
  71. {
  72. title: "时间",
  73. dataIndex: "waitDay",
  74. key: "waitDay",
  75. render: (text, record) => {
  76. if (record.dunTypeName) {
  77. if (record.customizeTimes) {
  78. return record.customizeTimes;
  79. }
  80. return <span>{text}</span>;
  81. }
  82. }
  83. },
  84. {
  85. title: "金额(万元)",
  86. dataIndex: "money",
  87. key: "money",
  88. render: (text, record) => {
  89. if (record.dunTypeName) {
  90. if (record.appropriationRatio) {
  91. let percent = Number(record.appropriationRatio * 100).toFixed(2);
  92. percent += "%";
  93. return <span>{percent}(拨款比例)</span>;
  94. } else {
  95. return <span>{text}</span>;
  96. }
  97. }
  98. }
  99. },
  100. {
  101. title: "服务年限",
  102. dataIndex: "startDate",
  103. key: "startDate",
  104. render: (text, record) => {
  105. if (record.dunTypeName) {
  106. return <span>{text}</span>;
  107. }
  108. }
  109. },
  110. {
  111. title: "催款状态",
  112. dataIndex: "status",
  113. key: "status",
  114. render: text => {
  115. return <span>{text == 1 ? "已启动" : "未启动"}</span>;
  116. }
  117. }
  118. ],
  119. ContactsLists: [
  120. {
  121. title: "催款科目",
  122. dataIndex: "dunSubject",
  123. key: "dunSubject",
  124. render: text => {
  125. return getjiedian(text);
  126. }
  127. },
  128. {
  129. title: "金额(万元)",
  130. dataIndex: "money",
  131. key: "money"
  132. },
  133. {
  134. title: "催款状态",
  135. dataIndex: "dunStatus",
  136. key: "dunStatus",
  137. render: text => {
  138. return getCuikuan(text);
  139. }
  140. }
  141. ],
  142. resVisible: false,
  143. columnsX: [
  144. {
  145. title: "业务项目名称",
  146. dataIndex: "commodityName",
  147. key: "commodityName",
  148. render: (text, record) => {
  149. return <span>
  150. {text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}
  151. <div>
  152. {record.cSort == 6 && record.projectType == 1 && <span>(含{record.htMember == 1 ? '高新会员&' : ''}{record.additionalDeduction == 1 ? '加计扣除&' : ''}{record.rdAwardsubsidy == 1 ? '研发奖补' : ''})</span>}
  153. {record.cSort == 6 && ([0, 3].indexOf(record.projectType) > -1) && <span>(仅提供单边会员服务)</span>}
  154. {record.cSort == 6 && record.projectType == 2 && <span>(仅填报表,仅咨询,不出备查资料)</span>}
  155. {record.cSort == 3 && <span>{record.technologyProjectType==0?'(简易项目)':record.technologyProjectType==1?'(市区级)':record.technologyProjectType==2?'(省级)':record.technologyProjectType==3?'(国家级)':''}</span>}
  156. {record.cSort == 8 ? (record.type != 2 && record.patentType == 1) ? <span>(变更)</span> : <span>{record.ordinaryRisk == 0 ? '(普通申请)' : record.ordinaryRisk == 1 ? '(风险代理)' : ''}</span> : ""}
  157. {record.type == 2 && <span>({record.days == 0 ? '普通' : record.days == 1 ? '加急' : ''}{record.scheme == 0 ? '&无方案' : record.scheme == 1 ? '&有方案' : ''})</span>}
  158. </div>
  159. </span>
  160. }
  161. },
  162. {
  163. title: "项目类别",
  164. dataIndex: "cname",
  165. key: "cname"
  166. },
  167. {
  168. title: "项目数量",
  169. dataIndex: "commodityQuantity",
  170. key: "commodityQuantity",
  171. render: (text, record) => {
  172. if (record.splitStatus == 1) {
  173. return (
  174. <span>
  175. {text}{" "}
  176. {/* <Tag
  177. color="#108ee9"
  178. onClick={e => {
  179. e.stopPropagation();
  180. this.showRes(record);
  181. }}
  182. >
  183. 已拆
  184. </Tag> */}
  185. </span>
  186. );
  187. } else {
  188. return text;
  189. }
  190. }
  191. },
  192. {
  193. title: "金额(万元)",
  194. dataIndex: "commodityPrice",
  195. key: "commodityPrice",
  196. render: text => {
  197. // return this.props.processState === 2 ? "***" : text;
  198. return text == null ? "***" : text;
  199. }
  200. },
  201. {
  202. title: "负责人",
  203. dataIndex: "contacts",
  204. key: "contacts"
  205. },
  206. {
  207. title: "负责人电话",
  208. dataIndex: "contactsMobile",
  209. key: "contactsMobile"
  210. },
  211. {
  212. title: "项目状态",
  213. dataIndex: "projectStatus",
  214. key: "projectStatus",
  215. render: text => {
  216. return getProjectName(text);
  217. }
  218. },
  219. {
  220. title: "主要项目",
  221. dataIndex: "main",
  222. key: "main",
  223. width: 50,
  224. render: text => {
  225. return text ? "是" : "否";
  226. }
  227. },
  228. {
  229. title: "总年限",
  230. dataIndex: "yearSum",
  231. key: "yearSum",
  232. render: (text, record) => {
  233. return (
  234. <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
  235. );
  236. }
  237. },
  238. {
  239. title: "年限",
  240. dataIndex: "serviceLife",
  241. key: "serviceLife",
  242. render: (text, record) => {
  243. return (
  244. <div>{!!text && JSON.parse(text).toString()}</div>
  245. );
  246. }
  247. },
  248. {
  249. title: "本次派单",
  250. dataIndex: "serviceYear",
  251. key: "serviceYear",
  252. render: (text, record) => {
  253. return (
  254. <div>{!text ? "" : text}</div>
  255. );
  256. }
  257. },
  258. {
  259. title: "项目说明",
  260. dataIndex: "taskComment",
  261. key: "taskComment",
  262. render: text => {
  263. return (
  264. <Tooltip title={text}>
  265. <div
  266. style={{
  267. width: 100,
  268. overflow: "hidden",
  269. whiteSpace: "nowrap",
  270. textOverflow: "ellipsis",
  271. }}
  272. >{text}</div>
  273. </Tooltip>
  274. )
  275. }
  276. }
  277. ],
  278. rotateDeg: 0
  279. };
  280. this.tableRowClickX = this.tableRowClickX.bind(this);
  281. this.nextCancel = this.nextCancel.bind(this);
  282. this.rotate = this.rotate.bind(this);
  283. this.downImg = this.downImg.bind(this);
  284. this.upImg = this.upImg.bind(this);
  285. this.downImgs = this.downImgs.bind(this);
  286. this.upImgs = this.upImgs.bind(this);
  287. this.showRes = this.showRes.bind(this);
  288. this.resCancel = this.resCancel.bind(this);
  289. }
  290. rotate() {
  291. let rotateDeg = this.state.rotateDeg + 90;
  292. this.setState({
  293. rotateDeg
  294. });
  295. }
  296. //项目详情关闭
  297. nextCancel() {
  298. this.setState({
  299. visible: false
  300. });
  301. }
  302. //点击打卡项目详情
  303. tableRowClickX(record) {
  304. this.setState({
  305. dataInfor: record,
  306. jid: record.id, //项目ID
  307. kid: record.commodityId, //商品ID
  308. commodityName: record.commodityName, //金额
  309. commodityPrice: record.commodityPrice, //金额
  310. commodityQuantity: record.commodityQuantity, //数量
  311. taskComment: record.taskComment, //备注
  312. main: record.main.toString(), //是否为主要
  313. visible: true,
  314. addState: 0
  315. });
  316. }
  317. downImg() {
  318. const data = this.props.orderData;
  319. let num = 0;
  320. for (
  321. let i = 0;
  322. i <
  323. splitUrl(
  324. data.contractPictureUrl,
  325. ",",
  326. globalConfig.avatarHost + "/upload"
  327. ).length;
  328. i++
  329. ) {
  330. if (
  331. splitUrl(
  332. data.contractPictureUrl,
  333. ",",
  334. globalConfig.avatarHost + "/upload"
  335. )[i].url == this.state.previewImage
  336. ) {
  337. num = i;
  338. }
  339. }
  340. if (
  341. num ==
  342. splitUrl(
  343. data.contractPictureUrl,
  344. ",",
  345. globalConfig.avatarHost + "/upload"
  346. ).length -
  347. 1
  348. ) {
  349. return message.warning("已经是最后一张了哦");
  350. }
  351. this.state.previewImage = splitUrl(
  352. data.contractPictureUrl,
  353. ",",
  354. globalConfig.avatarHost + "/upload"
  355. )[num + 1].url;
  356. this.setState({
  357. previewImage: this.state.previewImage,
  358. rotateDeg: 0
  359. });
  360. }
  361. upImg() {
  362. const data = this.props.orderData;
  363. let num = 0;
  364. for (
  365. let i = 0;
  366. i <
  367. splitUrl(
  368. data.contractPictureUrl,
  369. ",",
  370. globalConfig.avatarHost + "/upload"
  371. ).length;
  372. i++
  373. ) {
  374. if (
  375. splitUrl(
  376. data.contractPictureUrl,
  377. ",",
  378. globalConfig.avatarHost + "/upload"
  379. )[i].url == this.state.previewImage
  380. ) {
  381. num = i;
  382. }
  383. }
  384. if (num == 0) {
  385. return message.warning("已经是第一张了哦");
  386. }
  387. this.state.previewImage = splitUrl(
  388. data.contractPictureUrl,
  389. ",",
  390. globalConfig.avatarHost + "/upload"
  391. )[num - 1].url;
  392. this.setState({
  393. previewImage: this.state.previewImage,
  394. rotateDeg: 0
  395. });
  396. }
  397. downImgs() {
  398. const data = this.props.orderData;
  399. let num = 0;
  400. for (
  401. let i = 0;
  402. i <
  403. splitUrl(
  404. data.rep,
  405. ",",
  406. globalConfig.avatarHost + "/upload"
  407. ).length;
  408. i++
  409. ) {
  410. if (
  411. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")[i]
  412. .url == this.state.previewImage
  413. ) {
  414. num = i;
  415. }
  416. }
  417. if (
  418. num ==
  419. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")
  420. .length -
  421. 1
  422. ) {
  423. return message.warning("已经是最后一张了哦");
  424. }
  425. this.state.previewImage = splitUrl(
  426. data.agreementUrl,
  427. ",",
  428. globalConfig.avatarHost + "/upload"
  429. )[num + 1].url;
  430. this.setState({
  431. previewImage: this.state.previewImage,
  432. rotateDeg: 0
  433. });
  434. }
  435. upImgs() {
  436. const data = this.props.orderData;
  437. let num = 0;
  438. for (
  439. let i = 0;
  440. i <
  441. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")
  442. .length;
  443. i++
  444. ) {
  445. if (
  446. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")[i]
  447. .url == this.state.previewImage
  448. ) {
  449. num = i;
  450. }
  451. }
  452. if (num == 0) {
  453. return message.warning("已经是第一张了哦");
  454. }
  455. this.state.previewImage = splitUrl(
  456. data.agreementUrl,
  457. ",",
  458. globalConfig.avatarHost + "/upload"
  459. )[num - 1].url;
  460. this.setState({
  461. previewImage: this.state.previewImage,
  462. rotateDeg: 0
  463. });
  464. }
  465. // 拆分详细
  466. showRes(record) {
  467. this.setState({
  468. resVisible: true,
  469. resRecord: record
  470. })
  471. }
  472. resCancel() {
  473. this.setState({
  474. resVisible: false
  475. })
  476. }
  477. // 可展开颜色不同
  478. addRowColor(record) {
  479. if (!!record.splitList && record.splitList.length > 0) {
  480. return 'light'
  481. } else {
  482. return 'dark'
  483. }
  484. }
  485. render() {
  486. let domId = this.props.domId;
  487. domId = domId ? domId.substr(0, 4) : ''
  488. const formItemLayout = {
  489. labelCol: { span: 10 },
  490. wrapperCol: { span: 14 }
  491. };
  492. const data = this.props.orderData || {};
  493. const propsList = this.props.contactList || [];
  494. const expandedRowRenderVip = (e) => {
  495. const data = e.splitList;
  496. let columns = [];
  497. if (data instanceof Array && data.length) {
  498. if (e.cSort == 6) {
  499. columns = [
  500. {
  501. title: "负责人",
  502. dataIndex: "receiverName",
  503. key: "receiverName",
  504. },
  505. {
  506. title: "负责人电话",
  507. dataIndex: "receiverMobile",
  508. key: "receiverMobile",
  509. },
  510. {
  511. title: "会员负责人",
  512. dataIndex: "projectMemberName",
  513. key: "projectMemberName",
  514. },
  515. {
  516. title: "项目状态",
  517. dataIndex: "projectStatus",
  518. key: "projectStatus",
  519. render: (text) => {
  520. return getProjectName(text);
  521. },
  522. },
  523. {
  524. title: "本次派单",
  525. dataIndex: "serviceYear",
  526. key: "serviceYear",
  527. },
  528. {
  529. title: "项目说明",
  530. dataIndex: "taskComment",
  531. key: "taskComment",
  532. render: (text) => {
  533. return (
  534. <Tooltip title={text}>
  535. <div
  536. >{text}</div>
  537. </Tooltip>
  538. )
  539. },
  540. },
  541. ];
  542. } else {
  543. columns = [
  544. {
  545. title: "子项目名称",
  546. dataIndex: "taskName",
  547. key: "taskName"
  548. },
  549. {
  550. title: "子项目数量",
  551. dataIndex: "commodityQuantity",
  552. key: "commodityQuantity"
  553. },
  554. {
  555. title: "拆分操作人",
  556. dataIndex: "splitAname",
  557. key: "splitAname"
  558. },
  559. {
  560. title: "项目负责人",
  561. dataIndex: "receiverName",
  562. key: "receiverName"
  563. },
  564. {
  565. title: "拆分时间",
  566. dataIndex: "splitTimes",
  567. key: "splitTimes"
  568. }
  569. ]
  570. }
  571. return (
  572. <Table
  573. columns={columns}
  574. dataSource={data}
  575. pagination={false}
  576. />
  577. );
  578. } else {
  579. columns = [];
  580. return (
  581. <p
  582. style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
  583. >
  584. {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
  585. </p>
  586. );
  587. }
  588. };
  589. return (
  590. <div className="clearfix">
  591. {this.state.resVisible ? (
  592. <ResolutionDetail
  593. cancel={this.resCancel}
  594. detail={this.state.resRecord}
  595. visible={this.state.resVisible}
  596. id={this.state.resRecord.orderNo}
  597. />
  598. ) : (
  599. ""
  600. )}
  601. <FormItem className="half-item" {...formItemLayout} label="订单编号">
  602. <span>{data.orderNo}</span>
  603. </FormItem>
  604. <FormItem className="half-item" {...formItemLayout} label="合同编号">
  605. <span>{data.contractNo}</span>
  606. </FormItem>
  607. <FormItem className="half-item" {...formItemLayout} label="客户名称">
  608. <span>{data.userName}</span>
  609. <EnterpriseNameChange
  610. type='journal'
  611. style={{ marginLeft: 10 }}
  612. enterpriseId={this.props.orderUid} />
  613. </FormItem>
  614. <FormItem
  615. className="half-item"
  616. {...formItemLayout}
  617. label="销售类型"
  618. >
  619. <span>
  620. {(["私有客户-", "签单客户-"][data.userType] || " ") +
  621. (salesList[data.salesType] || "")}
  622. {
  623. data.other != null && data.other != "" &&
  624. <Tooltip title={data.other}>
  625. <span>
  626. {"(" + data.other.toString().slice(0, 10) + (data.other.toString().length > 9 ? "...)" : ")")}
  627. </span>
  628. </Tooltip>
  629. }
  630. </span>
  631. {/* <span>{(["私有客户-", "签单客户-"][data.userType] || " ") +
  632. (salesList[data.salesType] || "")}</span> */}
  633. </FormItem>
  634. <FormItem
  635. className="half-item"
  636. {...formItemLayout}
  637. label="合同签订时间"
  638. >
  639. <span>{data.signDate}</span>
  640. </FormItem>
  641. <FormItem className="half-item" {...formItemLayout} label="流程状态">
  642. <span>{getProcessStatus(data.processStatus, data.examineName, data.approval)}</span>
  643. <FlowChart
  644. orderNo={data.orderNo || this.props.orderNo}
  645. />
  646. </FormItem>
  647. <FormItem className="half-item" {...formItemLayout} label="结算状态">
  648. <span>{getLiquidationStatus(data.liquidationStatus)}</span>
  649. </FormItem>
  650. <FormItem className="half-item" {...formItemLayout} label="企业联系人">
  651. {/* <span>{data.contacts}</span> */}
  652. <span>{this.props.isCaiWu ? "***" : data.contacts}</span>
  653. </FormItem>
  654. <FormItem className="half-item" {...formItemLayout} label="联系人电话">
  655. {/* <span>{data.contactMobile}</span> */}
  656. <span>{this.props.isCaiWu ? "***" : data.contactMobile}</span>
  657. </FormItem>
  658. <FormItem className="half-item" {...formItemLayout} label="企业法人">
  659. <span>{this.props.isCaiWu ? "***" : data.legalPerson}</span>
  660. </FormItem>
  661. <FormItem className="half-item" {...formItemLayout} label="法人电话">
  662. {/* <span>{data.legalPersonTel}</span> */}
  663. <span>{this.props.isCaiWu ? "***" : data.legalPersonTel}</span>
  664. </FormItem>
  665. <FormItem
  666. className="half-item"
  667. {...formItemLayout}
  668. label="签单金额(万元)"
  669. >
  670. <span>
  671. {this.props.processState === 3 ? "***" : data.totalAmount}
  672. </span>
  673. </FormItem>
  674. <FormItem
  675. className="half-item"
  676. {...formItemLayout}
  677. label="首付金额(万元)"
  678. >
  679. <span>
  680. {this.props.processState === 3 ? "***" : data.firstAmount}
  681. </span>
  682. </FormItem>
  683. <FormItem className="half-item" {...formItemLayout} label="特批立项">
  684. <span>{getApprovedState(data.approval)}</span>
  685. </FormItem>
  686. <FormItem
  687. className="half-item"
  688. {...formItemLayout}
  689. label="已收款项(万元)"
  690. >
  691. <span>
  692. {this.props.processState === 3 ? "***" : data.settlementAmount}
  693. </span>
  694. </FormItem>
  695. <FormItem className="half-item" {...formItemLayout} label="订单部门">
  696. <span>{data.depName}</span>
  697. </FormItem>
  698. <FormItem className="half-item" {...formItemLayout} label="是否外包">
  699. {data.outsource == 0 ? "否" : "是"}
  700. </FormItem>
  701. <div className="clearfix">
  702. <FormItem
  703. labelCol={{ span: 5 }}
  704. wrapperCol={{ span: 19 }}
  705. label="订单留言"
  706. >
  707. <p style={{ width: 500, wordWrap: "break-word" }}>
  708. {data.orderRemarks}
  709. </p>
  710. </FormItem>
  711. </div>
  712. <div className="clearfix">
  713. <FormItem
  714. labelCol={{ span: 5 }}
  715. wrapperCol={{ span: 19 }}
  716. label="合同扫描件"
  717. >
  718. {this.props.orderData && data.contractPictureUrl ?
  719. <ImgList
  720. domId={this.props.domId ? this.props.domId : 'orderDetail1'}
  721. fileList={
  722. data.contractPictureUrl ? splitUrl(data.contractPictureUrl, ",", globalConfig.avatarHost + "/upload") : []
  723. }
  724. /> :
  725. <div />
  726. }
  727. <Button
  728. style={{
  729. float: "right",
  730. marginRight: "140px",
  731. marginTop: "20px",
  732. }}
  733. onClick={() => {
  734. this.props.getOrderLog(data.orderNo);
  735. }}
  736. >
  737. 查看订单日志
  738. </Button>
  739. </FormItem>
  740. {/* 高新纯咨询合同说明详情 */}
  741. <Gxczx
  742. knowledgeServices={data.knowledgeServices}
  743. auditServices={data.auditServices}
  744. addDeductionServices={data.addDeductionServices}
  745. knowledgeOther={data.knowledgeOther}
  746. auditOther={data.auditOther}
  747. addDeductionOther={data.addDeductionOther}
  748. />
  749. <FormItem
  750. labelCol={{ span: 5 }}
  751. wrapperCol={{ span: 19 }}
  752. label="补充协议"
  753. >
  754. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  755. <ImgList
  756. domId={this.props.domId ? this.props.domId + '1' : 'orderDetail2'}
  757. fileList={
  758. data.agreementUrl ? splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload") : []
  759. } />
  760. </div>
  761. </FormItem>
  762. </div>
  763. <ContentUrl
  764. processStatus={2}
  765. domId={"orderContent"}
  766. contentUrl={data.serviceContent ? splitUrl(data.serviceContent, ",", globalConfig.avatarHost + "/upload") : []}
  767. imgId={"orderImg1x"}
  768. // getContentUrl = {this.getContentUrl}
  769. />
  770. <Property
  771. patentStatus={data.patentStatus}
  772. />
  773. <div className="clearfix">
  774. <FormItem
  775. className="half-item"
  776. {...formItemLayout}
  777. label="订单负责人"
  778. >
  779. <span>{data.salesmanName}</span>
  780. </FormItem>
  781. <FormItem
  782. className="half-item"
  783. {...formItemLayout}
  784. label="订单负责人电话"
  785. >
  786. <span>{data.salesmanMobile}</span>
  787. </FormItem>
  788. </div>
  789. <div className="clearfix">
  790. <FormItem
  791. className="half-item"
  792. {...formItemLayout}
  793. label="当前财务负责人"
  794. >
  795. <span>{data.nowFinance}</span>
  796. </FormItem>
  797. <FormItem
  798. className="half-item"
  799. {...formItemLayout}
  800. label="当前财务负责人电话"
  801. >
  802. <span>{data.nowFinanceMobile}</span>
  803. </FormItem>
  804. </div>
  805. <div className="clearfix">
  806. <FormItem
  807. className="half-item"
  808. {...formItemLayout}
  809. style={{ opacity: ".5" }}
  810. label="原订单负责人"
  811. >
  812. <span>{data.oldSalesmanName}</span>
  813. </FormItem>
  814. <FormItem
  815. className="half-item"
  816. {...formItemLayout}
  817. style={{ opacity: ".5" }}
  818. label="原订单负责人电话"
  819. >
  820. <span>{data.oldSalesmanMobile}</span>
  821. </FormItem>
  822. </div>
  823. <div className="clearfix">
  824. <FormItem
  825. className="half-item"
  826. style={{ opacity: ".5" }}
  827. {...formItemLayout}
  828. label="实际财务操作人"
  829. >
  830. <span>{data.financeName}</span>
  831. </FormItem>
  832. <FormItem
  833. className="half-item"
  834. {...formItemLayout}
  835. style={{ opacity: ".5" }}
  836. label="实际财务操作人电话"
  837. >
  838. <span>{data.financeMobile}</span>
  839. </FormItem>
  840. </div>
  841. {domId == 'yuan' ? "" : <OrderCoor orderNo={this.props.orderNo} />}
  842. <div>
  843. <span style={{ marginLeft: "50px", fontSize: "20px" }}>项目业务</span>
  844. </div>
  845. <div className="patent-table">
  846. <Table
  847. columns={this.state.columnsX}
  848. pagination={false}
  849. dataSource={this.props.dataSourceX}
  850. onRowClick={this.tableRowClickX}
  851. expandedRowRender={expandedRowRenderVip}
  852. rowClassName={this.addRowColor}
  853. style={{
  854. cursor: 'pointer',
  855. }}
  856. bordered
  857. size="small"
  858. />
  859. </div>
  860. <div>
  861. <span style={{ marginLeft: "50px", fontSize: "20px" }}>催款节点</span>
  862. <span
  863. style={{
  864. display: propsList.length ? "none" : "inline-block",
  865. marginLeft: 10,
  866. color: "red",
  867. }}
  868. >
  869. 金额总计(万元): {this.props.totalCui}
  870. </span>
  871. </div>
  872. <div className="clearfix">
  873. <Form layout="horizontal" id="demand-form">
  874. <Table
  875. pagination={false}
  876. bordered
  877. size="small"
  878. // columns={this.state.ContactsLists}
  879. columns={
  880. propsList.length
  881. ? this.state.ContactsLists
  882. : this.state.newContactsLists
  883. }
  884. dataSource={
  885. propsList.length
  886. ? this.props.contactList
  887. : this.props.contactListNew
  888. }
  889. />
  890. <Col span={24} offset={9} style={{ marginTop: "15px" }}></Col>
  891. </Form>
  892. </div>
  893. {this.state.visible &&
  894. <NewEditProject
  895. readOnly={
  896. this.state.dataInfor &&
  897. Object.keys(this.state.dataInfor).length > 0 &&
  898. this.state.processStatus !== 0
  899. }
  900. visible={this.state.visible}
  901. dataInfor={this.state.dataInfor}
  902. onCancel={this.nextCancel}
  903. />
  904. // <ProjectDetailsReadOnly
  905. // infor={this.state.dataInfor}
  906. // visible={this.state.visible}
  907. // onCancel={this.nextCancel}
  908. // />
  909. }
  910. </div>
  911. );
  912. }
  913. }
  914. export default OrderDetail;