orderDetail.js 26 KB

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