orderDetail.js 26 KB

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