orderDetail.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906
  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. !!text && JSON.parse(text).map(item =>
  230. <div>{item}</div>
  231. )
  232. );
  233. }
  234. },
  235. {
  236. title: "本次派单",
  237. dataIndex: "serviceYear",
  238. key: "serviceYear",
  239. render: (text, record) => {
  240. return (
  241. <div>{!text ? "" : text}</div>
  242. );
  243. }
  244. },
  245. {
  246. title: "项目说明",
  247. dataIndex: "taskComment",
  248. key: "taskComment",
  249. render: text => {
  250. return (
  251. <Tooltip title={text}>
  252. <div
  253. style={{
  254. width: 100,
  255. overflow: "hidden",
  256. whiteSpace: "nowrap",
  257. textOverflow: "ellipsis",
  258. }}
  259. >{text}</div>
  260. </Tooltip>
  261. )
  262. }
  263. }
  264. ],
  265. rotateDeg: 0
  266. };
  267. this.tableRowClickX = this.tableRowClickX.bind(this);
  268. this.nextCancel = this.nextCancel.bind(this);
  269. this.rotate = this.rotate.bind(this);
  270. this.downImg = this.downImg.bind(this);
  271. this.upImg = this.upImg.bind(this);
  272. this.downImgs = this.downImgs.bind(this);
  273. this.upImgs = this.upImgs.bind(this);
  274. this.showRes = this.showRes.bind(this);
  275. this.resCancel = this.resCancel.bind(this);
  276. }
  277. rotate() {
  278. let rotateDeg = this.state.rotateDeg + 90;
  279. this.setState({
  280. rotateDeg
  281. });
  282. }
  283. //项目详情关闭
  284. nextCancel() {
  285. this.setState({
  286. visible: false
  287. });
  288. }
  289. //点击打卡项目详情
  290. tableRowClickX(record) {
  291. this.setState({
  292. dataInfor: record,
  293. jid: record.id, //项目ID
  294. kid: record.commodityId, //商品ID
  295. commodityName: record.commodityName, //金额
  296. commodityPrice: record.commodityPrice, //金额
  297. commodityQuantity: record.commodityQuantity, //数量
  298. taskComment: record.taskComment, //备注
  299. main: record.main.toString(), //是否为主要
  300. visible: true,
  301. addState: 0
  302. });
  303. }
  304. downImg() {
  305. const data = this.props.orderData;
  306. let num = 0;
  307. for (
  308. let i = 0;
  309. i <
  310. splitUrl(
  311. data.contractPictureUrl,
  312. ",",
  313. globalConfig.avatarHost + "/upload"
  314. ).length;
  315. i++
  316. ) {
  317. if (
  318. splitUrl(
  319. data.contractPictureUrl,
  320. ",",
  321. globalConfig.avatarHost + "/upload"
  322. )[i].url == this.state.previewImage
  323. ) {
  324. num = i;
  325. }
  326. }
  327. if (
  328. num ==
  329. splitUrl(
  330. data.contractPictureUrl,
  331. ",",
  332. globalConfig.avatarHost + "/upload"
  333. ).length -
  334. 1
  335. ) {
  336. return message.warning("已经是最后一张了哦");
  337. }
  338. this.state.previewImage = splitUrl(
  339. data.contractPictureUrl,
  340. ",",
  341. globalConfig.avatarHost + "/upload"
  342. )[num + 1].url;
  343. this.setState({
  344. previewImage: this.state.previewImage,
  345. rotateDeg: 0
  346. });
  347. }
  348. upImg() {
  349. const data = this.props.orderData;
  350. let num = 0;
  351. for (
  352. let i = 0;
  353. i <
  354. splitUrl(
  355. data.contractPictureUrl,
  356. ",",
  357. globalConfig.avatarHost + "/upload"
  358. ).length;
  359. i++
  360. ) {
  361. if (
  362. splitUrl(
  363. data.contractPictureUrl,
  364. ",",
  365. globalConfig.avatarHost + "/upload"
  366. )[i].url == this.state.previewImage
  367. ) {
  368. num = i;
  369. }
  370. }
  371. if (num == 0) {
  372. return message.warning("已经是第一张了哦");
  373. }
  374. this.state.previewImage = splitUrl(
  375. data.contractPictureUrl,
  376. ",",
  377. globalConfig.avatarHost + "/upload"
  378. )[num - 1].url;
  379. this.setState({
  380. previewImage: this.state.previewImage,
  381. rotateDeg: 0
  382. });
  383. }
  384. downImgs() {
  385. const data = this.props.orderData;
  386. let num = 0;
  387. for (
  388. let i = 0;
  389. i <
  390. splitUrl(
  391. data.rep,
  392. ",",
  393. globalConfig.avatarHost + "/upload"
  394. ).length;
  395. i++
  396. ) {
  397. if (
  398. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")[i]
  399. .url == this.state.previewImage
  400. ) {
  401. num = i;
  402. }
  403. }
  404. if (
  405. num ==
  406. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")
  407. .length -
  408. 1
  409. ) {
  410. return message.warning("已经是最后一张了哦");
  411. }
  412. this.state.previewImage = splitUrl(
  413. data.agreementUrl,
  414. ",",
  415. globalConfig.avatarHost + "/upload"
  416. )[num + 1].url;
  417. this.setState({
  418. previewImage: this.state.previewImage,
  419. rotateDeg: 0
  420. });
  421. }
  422. upImgs() {
  423. const data = this.props.orderData;
  424. let num = 0;
  425. for (
  426. let i = 0;
  427. i <
  428. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")
  429. .length;
  430. i++
  431. ) {
  432. if (
  433. splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload")[i]
  434. .url == this.state.previewImage
  435. ) {
  436. num = i;
  437. }
  438. }
  439. if (num == 0) {
  440. return message.warning("已经是第一张了哦");
  441. }
  442. this.state.previewImage = splitUrl(
  443. data.agreementUrl,
  444. ",",
  445. globalConfig.avatarHost + "/upload"
  446. )[num - 1].url;
  447. this.setState({
  448. previewImage: this.state.previewImage,
  449. rotateDeg: 0
  450. });
  451. }
  452. // 拆分详细
  453. showRes(record) {
  454. this.setState({
  455. resVisible: true,
  456. resRecord: record
  457. })
  458. }
  459. resCancel() {
  460. this.setState({
  461. resVisible: false
  462. })
  463. }
  464. render() {
  465. let domId = this.props.domId;
  466. domId = domId ? domId.substr(0, 4) : ''
  467. // console.log(typeof domId);
  468. const formItemLayout = {
  469. labelCol: { span: 8 },
  470. wrapperCol: { span: 14 }
  471. };
  472. const data = this.props.orderData;
  473. const propsList = this.props.contactList || [];
  474. return (
  475. <div className="clearfix">
  476. {this.state.resVisible ? (
  477. <ResolutionDetail
  478. cancel={this.resCancel}
  479. detail={this.state.resRecord}
  480. visible={this.state.resVisible}
  481. id={this.state.resRecord.orderNo}
  482. />
  483. ) : (
  484. ""
  485. )}
  486. <FormItem className="half-item" {...formItemLayout} label="订单编号">
  487. <span>{data.orderNo}</span>
  488. </FormItem>
  489. <FormItem className="half-item" {...formItemLayout} label="合同编号">
  490. <span>{data.contractNo}</span>
  491. </FormItem>
  492. <FormItem className="half-item" {...formItemLayout} label="客户名称">
  493. <span>{data.userName}</span>
  494. <EnterpriseNameChange
  495. type='journal'
  496. style={{ marginLeft: 10 }}
  497. enterpriseId={this.props.orderUid} />
  498. </FormItem>
  499. <FormItem
  500. className="half-item"
  501. {...formItemLayout}
  502. label="销售类型"
  503. >
  504. <span>
  505. {(["私有客户-", "签单客户-"][data.userType] || " ") +
  506. (salesList[data.salesType] || "")}
  507. {
  508. data.other != null && data.other != "" &&
  509. <Tooltip title={data.other}>
  510. <span>
  511. {"(" + data.other.toString().slice(0, 10) + (data.other.toString().length > 9 ? "...)" : ")")}
  512. </span>
  513. </Tooltip>
  514. }
  515. </span>
  516. {/* <span>{(["私有客户-", "签单客户-"][data.userType] || " ") +
  517. (salesList[data.salesType] || "")}</span> */}
  518. </FormItem>
  519. <FormItem
  520. className="half-item"
  521. {...formItemLayout}
  522. label="合同签订时间"
  523. >
  524. <span>{data.signDate}</span>
  525. </FormItem>
  526. <FormItem className="half-item" {...formItemLayout} label="流程状态">
  527. <span>{getProcessStatus(data.processStatus)}</span>
  528. </FormItem>
  529. <FormItem className="half-item" {...formItemLayout} label="结算状态">
  530. <span>{getLiquidationStatus(data.liquidationStatus)}</span>
  531. </FormItem>
  532. <FormItem className="half-item" {...formItemLayout} label="企业联系人">
  533. {/* <span>{data.contacts}</span> */}
  534. <span>{this.props.isCaiWu ? "***" : data.contacts}</span>
  535. </FormItem>
  536. <FormItem className="half-item" {...formItemLayout} label="联系人电话">
  537. {/* <span>{data.contactMobile}</span> */}
  538. <span>{this.props.isCaiWu ? "***" : data.contactMobile}</span>
  539. </FormItem>
  540. <FormItem className="half-item" {...formItemLayout} label="企业法人">
  541. <span>{this.props.isCaiWu ? "***" : data.legalPerson}</span>
  542. </FormItem>
  543. <FormItem className="half-item" {...formItemLayout} label="法人电话">
  544. {/* <span>{data.legalPersonTel}</span> */}
  545. <span>{this.props.isCaiWu ? "***" : data.legalPersonTel}</span>
  546. </FormItem>
  547. <FormItem
  548. className="half-item"
  549. {...formItemLayout}
  550. label="签单金额(万元)"
  551. >
  552. <span>
  553. {this.props.processState === 2 ? "***" : data.totalAmount}
  554. </span>
  555. </FormItem>
  556. <FormItem
  557. className="half-item"
  558. {...formItemLayout}
  559. label="首付金额(万元)"
  560. >
  561. <span>
  562. {this.props.processState === 2 ? "***" : data.firstAmount}
  563. </span>
  564. </FormItem>
  565. <FormItem className="half-item" {...formItemLayout} label="特批立项">
  566. <span>{getApprovedState(data.approval)}</span>
  567. </FormItem>
  568. <FormItem
  569. className="half-item"
  570. {...formItemLayout}
  571. label="已收款项(万元)"
  572. >
  573. <span>
  574. {this.props.processState === 2 ? "***" : data.settlementAmount}
  575. </span>
  576. </FormItem>
  577. <FormItem className="half-item" {...formItemLayout} label="订单部门">
  578. <span>{data.depName}</span>
  579. </FormItem>
  580. <FormItem className="half-item" {...formItemLayout} label="是否外包">
  581. {data.outsource == 0 ? "否" : "是"}
  582. </FormItem>
  583. <div className="clearfix">
  584. <FormItem
  585. labelCol={{ span: 4 }}
  586. wrapperCol={{ span: 16 }}
  587. label="订单留言"
  588. >
  589. <p style={{ width: 500, wordWrap: "break-word" }}>
  590. {data.orderRemarks}
  591. </p>
  592. </FormItem>
  593. </div>
  594. <div className="clearfix">
  595. <FormItem
  596. labelCol={{ span: 4 }}
  597. wrapperCol={{ span: 18 }}
  598. label="合同扫描件"
  599. >
  600. {this.props.orderData && data.contractPictureUrl ?
  601. <ImgList
  602. domId={this.props.domId ? this.props.domId : 'orderDetail1'}
  603. fileList={
  604. data.contractPictureUrl ? splitUrl(data.contractPictureUrl, ",", globalConfig.avatarHost + "/upload") : []
  605. }
  606. /> :
  607. <div />
  608. }
  609. <Modal
  610. maskClosable={false}
  611. footer={null}
  612. width={"50%"}
  613. visible={this.state.previewVisible}
  614. onCancel={() => {
  615. this.state.rotateDeg = 0;
  616. this.setState({
  617. previewVisible: false,
  618. rotateDeg: this.state.rotateDeg,
  619. });
  620. }}
  621. >
  622. <img
  623. alt=""
  624. style={{
  625. width: "100%",
  626. transform: `rotate(${this.state.rotateDeg}deg)`,
  627. }}
  628. src={this.state.previewImage || ""}
  629. />
  630. <Button
  631. onClick={this.rotate}
  632. style={{
  633. position: "relative",
  634. left: "50%",
  635. transform: "translateX(-50%)",
  636. }}
  637. >
  638. 旋转
  639. </Button>
  640. <Button
  641. onClick={this.upImg}
  642. style={{
  643. position: "absolute",
  644. left: -81,
  645. top: "50%",
  646. transform: "translateY(-50%)",
  647. }}
  648. >
  649. 上一张
  650. </Button>
  651. <Button
  652. onClick={this.downImg}
  653. style={{
  654. position: "absolute",
  655. right: -81,
  656. top: "50%",
  657. transform: "translateY(-50%)",
  658. }}
  659. >
  660. 下一张
  661. </Button>
  662. </Modal>
  663. <Button
  664. style={{
  665. float: "right",
  666. marginRight: "140px",
  667. marginTop: "20px",
  668. }}
  669. onClick={() => {
  670. this.props.getOrderLog(data.orderNo);
  671. }}
  672. >
  673. 查看订单日志
  674. </Button>
  675. </FormItem>
  676. <FormItem
  677. labelCol={{ span: 4 }}
  678. wrapperCol={{ span: 18 }}
  679. label="补充协议"
  680. >
  681. {/*<Upload*/}
  682. {/* className="demandDetailShow-upload"*/}
  683. {/* listType="picture-card"*/}
  684. {/* fileList={*/}
  685. {/* data.agreementUrl*/}
  686. {/* ? splitUrl(*/}
  687. {/* data.agreementUrl,*/}
  688. {/* ",",*/}
  689. {/* globalConfig.avatarHost + "/upload"*/}
  690. {/* )*/}
  691. {/* : []*/}
  692. {/* }*/}
  693. {/* onPreview={(file) => {*/}
  694. {/* this.setState({*/}
  695. {/* previewImage: file.url || file.thumbUrl,*/}
  696. {/* previewVisibles: true,*/}
  697. {/* });*/}
  698. {/* }}*/}
  699. {/*/>*/}
  700. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  701. <ImgList
  702. domId={this.props.domId ? this.props.domId + '1' : 'orderDetail2'}
  703. fileList={
  704. data.agreementUrl ? splitUrl(data.agreementUrl, ",", globalConfig.avatarHost + "/upload") : []
  705. } />
  706. </div>
  707. <Modal
  708. maskClosable={false}
  709. footer={null}
  710. width={"50%"}
  711. visible={this.state.previewVisibles}
  712. onCancel={() => {
  713. this.state.rotateDeg = 0;
  714. this.setState({
  715. previewVisibles: false,
  716. rotateDeg: this.state.rotateDeg,
  717. });
  718. }}
  719. >
  720. <img
  721. alt=""
  722. style={{
  723. width: "100%",
  724. transform: `rotate(${this.state.rotateDeg}deg)`,
  725. }}
  726. src={this.state.previewImage || ""}
  727. />
  728. <Button
  729. onClick={this.rotate}
  730. style={{
  731. position: "relative",
  732. left: "50%",
  733. transform: "translateX(-50%)",
  734. }}
  735. >
  736. 旋转
  737. </Button>
  738. <Button
  739. onClick={this.upImgs}
  740. style={{
  741. position: "absolute",
  742. left: -81,
  743. top: "50%",
  744. transform: "translateY(-50%)",
  745. }}
  746. >
  747. 上一张
  748. </Button>
  749. <Button
  750. onClick={this.downImgs}
  751. style={{
  752. position: "absolute",
  753. right: -81,
  754. top: "50%",
  755. transform: "translateY(-50%)",
  756. }}
  757. >
  758. 下一张
  759. </Button>
  760. </Modal>
  761. </FormItem>
  762. </div>
  763. <ContentUrl
  764. processStatus={1}
  765. domId={"orderContent"}
  766. contentUrl={data.serviceContent ? splitUrl(data.serviceContent, ",", globalConfig.avatarHost + "/upload") : []}
  767. imgId={"orderImg1x"}
  768. // getContentUrl = {this.getContentUrl}
  769. />
  770. <div className="clearfix">
  771. <FormItem
  772. className="half-item"
  773. {...formItemLayout}
  774. label="订单负责人"
  775. >
  776. <span>{data.salesmanName}</span>
  777. </FormItem>
  778. <FormItem
  779. className="half-item"
  780. {...formItemLayout}
  781. label="订单负责人电话"
  782. >
  783. <span>{data.salesmanMobile}</span>
  784. </FormItem>
  785. </div>
  786. <div className="clearfix">
  787. <FormItem
  788. className="half-item"
  789. {...formItemLayout}
  790. label="当前财务负责人"
  791. >
  792. <span>{data.nowFinance}</span>
  793. </FormItem>
  794. <FormItem
  795. className="half-item"
  796. {...formItemLayout}
  797. label="当前财务负责人电话"
  798. >
  799. <span>{data.nowFinanceMobile}</span>
  800. </FormItem>
  801. </div>
  802. <div className="clearfix">
  803. <FormItem
  804. className="half-item"
  805. {...formItemLayout}
  806. style={{ opacity: ".5" }}
  807. label="原订单负责人"
  808. >
  809. <span>{data.oldSalesmanName}</span>
  810. </FormItem>
  811. <FormItem
  812. className="half-item"
  813. {...formItemLayout}
  814. style={{ opacity: ".5" }}
  815. label="原订单负责人电话"
  816. >
  817. <span>{data.oldSalesmanMobile}</span>
  818. </FormItem>
  819. </div>
  820. <div className="clearfix">
  821. <FormItem
  822. className="half-item"
  823. style={{ opacity: ".5" }}
  824. {...formItemLayout}
  825. label="实际财务操作人"
  826. >
  827. <span>{data.financeName}</span>
  828. </FormItem>
  829. <FormItem
  830. className="half-item"
  831. {...formItemLayout}
  832. style={{ opacity: ".5" }}
  833. label="实际财务操作人电话"
  834. >
  835. <span>{data.financeMobile}</span>
  836. </FormItem>
  837. </div>
  838. {domId == 'yuan' ? "" : <OrderCoor orderNo={this.props.orderNo} />}
  839. <div>
  840. <span style={{ marginLeft: "50px", fontSize: "20px" }}>项目业务</span>
  841. </div>
  842. <div className="patent-table">
  843. <Table
  844. columns={this.state.columnsX}
  845. pagination={false}
  846. dataSource={this.props.dataSourceX}
  847. onRowClick={this.tableRowClickX}
  848. style={{
  849. cursor: 'pointer',
  850. }}
  851. bordered
  852. size="small"
  853. />
  854. </div>
  855. <div>
  856. <span style={{ marginLeft: "50px", fontSize: "20px" }}>催款节点</span>
  857. <span
  858. style={{
  859. display: propsList.length ? "none" : "inline-block",
  860. marginLeft: 10,
  861. color: "red",
  862. }}
  863. >
  864. 金额总计(万元): {this.props.totalCui}
  865. </span>
  866. </div>
  867. <div className="clearfix">
  868. <Form layout="horizontal" id="demand-form">
  869. <Table
  870. pagination={false}
  871. bordered
  872. size="small"
  873. // columns={this.state.ContactsLists}
  874. columns={
  875. propsList.length
  876. ? this.state.ContactsLists
  877. : this.state.newContactsLists
  878. }
  879. dataSource={
  880. propsList.length
  881. ? this.props.contactList
  882. : this.props.contactListNew
  883. }
  884. />
  885. <Col span={24} offset={9} style={{ marginTop: "15px" }}></Col>
  886. </Form>
  887. </div>
  888. {this.state.visible &&
  889. <ProjectDetailsReadOnly
  890. infor={this.state.dataInfor}
  891. visible={this.state.visible}
  892. onCancel={this.nextCancel}
  893. />}
  894. </div>
  895. );
  896. }
  897. }
  898. export default OrderDetail;