orderInfor.jsx 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821
  1. import React, { Component } from "react";
  2. import { Button, Col, DatePicker, Form, Input, message, Modal, Select, Spin, Table, Tag, Tooltip } from "antd";
  3. import { getApprovedState, getLiquidationStatus, getProcessStatus, getProjectName, splitUrl } from "../../../../tools";
  4. import moment from "moment";
  5. import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
  6. import PicturesWall from "../../../order/orderNew/changeComponent/picturesWall";
  7. import ImgList from "../../../../common/imgList";
  8. import OrderCoor from "../../../order/orderNew/changeComponent/orderCoor";
  9. import ContentUrl from "../../../order/orderNew/contentUrl";
  10. import $ from "jquery";
  11. const FormItem = Form.Item;
  12. const formItemLayout = {
  13. labelCol: { span: 8 },
  14. wrapperCol: { span: 14 },
  15. };
  16. class OrderInfor extends Component {
  17. constructor(props) {
  18. super(props);
  19. this.state = {
  20. contactList: [],
  21. columns: [
  22. {
  23. title: "业务项目名称",
  24. dataIndex: "commodityName",
  25. key: "commodityName",
  26. render: (text, record) => {
  27. return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
  28. }
  29. },
  30. {
  31. title: "项目类别",
  32. dataIndex: "cname",
  33. key: "cname",
  34. },
  35. {
  36. title: "项目数量",
  37. dataIndex: "commodityQuantity",
  38. key: "commodityQuantity",
  39. render: (text, record) => {
  40. if (record.splitStatus == 1) {
  41. return (
  42. <span>
  43. {text}{" "}
  44. <Tag
  45. color="#108ee9"
  46. onClick={(e) => {
  47. e.stopPropagation();
  48. this.showRes(record);
  49. }}
  50. >
  51. 已拆
  52. </Tag>
  53. </span>
  54. );
  55. } else {
  56. return text;
  57. }
  58. },
  59. },
  60. {
  61. title: "金额(万元)",
  62. dataIndex: "commodityPrice",
  63. key: "commodityPrice",
  64. },
  65. {
  66. title: "负责人",
  67. dataIndex: "contacts",
  68. key: "contacts",
  69. },
  70. {
  71. title: "负责人电话",
  72. dataIndex: "contactsMobile",
  73. key: "contactsMobile",
  74. },
  75. {
  76. title: "项目状态",
  77. dataIndex: "projectStatus",
  78. key: "projectStatus",
  79. render: (text) => {
  80. return getProjectName(text);
  81. },
  82. },
  83. {
  84. title: "主要项目",
  85. dataIndex: "main",
  86. key: "main",
  87. render: (text) => {
  88. return text ? "是" : "否";
  89. },
  90. },
  91. {
  92. title: "总年限",
  93. dataIndex: "yearSum",
  94. key: "yearSum",
  95. render: (text, record) => {
  96. return (
  97. <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
  98. );
  99. }
  100. },
  101. {
  102. title: "年限",
  103. dataIndex: "serviceLife",
  104. key: "serviceLife",
  105. render: (text, record) => {
  106. return (
  107. <div>{!!text && JSON.parse(text).toString()}</div>
  108. );
  109. }
  110. },
  111. {
  112. title: "本次派单",
  113. dataIndex: "serviceYear",
  114. key: "serviceYear",
  115. render: (text, record) => {
  116. return (
  117. <div>{!text ? "" : text}</div>
  118. );
  119. }
  120. },
  121. {
  122. title: "项目说明",
  123. dataIndex: "taskComment",
  124. key: "taskComment",
  125. render: (text) => {
  126. return (
  127. <Tooltip title={text}>
  128. <div style={{
  129. maxWidth: '100px',
  130. overflow: 'hidden',
  131. textOverflow: "ellipsis",
  132. whiteSpace: 'nowrap',
  133. }}>{text}</div>
  134. </Tooltip>
  135. );
  136. },
  137. },
  138. ]
  139. }
  140. this.loaduser = this.loaduser.bind(this);
  141. this.jiedian = this.jiedian.bind(this);
  142. this.loadData = this.loadData.bind(this);
  143. }
  144. componentDidMount() {
  145. this.loaduser();
  146. this.jiedian();
  147. this.loadData();
  148. }
  149. //查看项目列表
  150. loadData(record) {
  151. this.setState({
  152. loading: true,
  153. });
  154. $.ajax({
  155. method: "get",
  156. dataType: "json",
  157. crossDomain: false,
  158. url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
  159. data: {
  160. orderNo: this.props.orderNo
  161. },
  162. success: function (data) {
  163. let theArr = [];
  164. if (!data.data) {
  165. if (data.error && data.error.length) {
  166. message.warning(data.error[0].message);
  167. }
  168. } else {
  169. for (let i = 0; i < data.data.length; i++) {
  170. let thisdata = data.data[i];
  171. thisdata.key = i;
  172. thisdata.sort = thisdata.cSort;
  173. thisdata.declarationBatch = thisdata.declarationBatch || undefined;//申报批次
  174. thisdata.ifCertificationFee = isNaN(parseInt(thisdata.ifCertificationFee)) ? undefined : thisdata.ifCertificationFee;//是否包含申报批次
  175. theArr.push(thisdata);
  176. }
  177. }
  178. this.setState({
  179. dataSource: theArr,
  180. });
  181. }.bind(this),
  182. }).always(
  183. function () {
  184. this.setState({
  185. loading: false,
  186. });
  187. }.bind(this)
  188. );
  189. }
  190. loaduser() {
  191. $.ajax({
  192. method: "get",
  193. dataType: "json",
  194. crossDomain: false,
  195. url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
  196. data: {
  197. orderNo: this.props.orderNo,
  198. },
  199. success: function (data) {
  200. let thisData = data.data;
  201. if (!thisData) {
  202. if (data.error && data.error.length) {
  203. message.warning(data.error[0].message);
  204. }
  205. thisData = {};
  206. }
  207. if (thisData.approval == 2) {
  208. thisData.approval = "特批通过";
  209. } else if (thisData.approval == 3) {
  210. thisData.approval = "特批驳回";
  211. }
  212. this.setState({
  213. id: thisData.id,
  214. kehuId: thisData.buyerId,
  215. orderNo: thisData.orderNo, //订单编号
  216. orderType: thisData.orderType, //订单类型
  217. firstAmount: thisData.firstAmount, //首付金额
  218. totalAmount: thisData.totalAmount, //总金额
  219. settlementAmount: thisData.settlementAmount, //结算金额
  220. liquidationStatus: thisData.liquidationStatus, //清算状态
  221. examineName: thisData.examineName,
  222. processStatus: thisData.processStatus, //流程状态
  223. orderRemarks: thisData.orderRemarks, //订单备注
  224. contractNo: thisData.contractNo, //合同编号
  225. contacts: thisData.contacts, //联系人
  226. contactMobile: thisData.contactMobile, //联系人电话
  227. legalPerson: thisData.legalPerson, //法人
  228. legalPersonTel: thisData.legalPersonTel, //法人电话
  229. orgCodeUrl: thisData.contractPictureUrl
  230. ? splitUrl(
  231. thisData.contractPictureUrl,
  232. ",",
  233. globalConfig.avatarHost + "/upload"
  234. )
  235. : [], //图片地址
  236. replenishUrl: thisData.agreementUrl
  237. ? splitUrl(
  238. thisData.agreementUrl,
  239. ",",
  240. globalConfig.avatarHost + "/upload"
  241. )
  242. : [], //图片地址
  243. contentUrl: thisData.serviceContent
  244. ? splitUrl(
  245. thisData.serviceContent,
  246. ",",
  247. globalConfig.avatarHost + "/upload"
  248. )
  249. : [], //图片地址
  250. signDate: thisData.signDate, //签单时间
  251. userName: thisData.userName, //客户名称
  252. salesmanName: thisData.salesmanName, //营销员名称
  253. salesmanMobile: thisData.salesmanMobile, //营销员电话
  254. oldSalesmanName: thisData.oldSalesmanName, //营销员名称
  255. oldSalesmanMobile: thisData.oldSalesmanMobile, //营销员电话
  256. financeName: thisData.financeName, //财务名称
  257. financeMobile: thisData.financeMobile, //财务电话
  258. nowFinanceMobile: thisData.nowFinanceMobile,
  259. nowFinance: thisData.nowFinance,
  260. approval:
  261. thisData.approval == 0
  262. ? thisData.approval.toString()
  263. : thisData.approval,
  264. organizationSearch: thisData.orderDep,
  265. depName: thisData.depName,
  266. status: thisData.status,
  267. outsource: thisData.outsource,
  268. deleteSign: thisData.deleteSign,
  269. orderUid: thisData.uid,
  270. });
  271. }.bind(this),
  272. }).always(
  273. function () {
  274. this.setState({
  275. loading: false,
  276. });
  277. }.bind(this)
  278. );
  279. }
  280. jiedian() {
  281. this.setState({
  282. loadData: true,
  283. });
  284. $.ajax({
  285. method: "get",
  286. dataType: "json",
  287. crossDomain: false,
  288. url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
  289. data: {
  290. orderNo: this.props.orderNo,
  291. },
  292. success: function (data) {
  293. let theArr = [];
  294. let thisData = [];
  295. if (data.error.length || data.data.list == "") {
  296. if (data.error && data.error.length) {
  297. message.warning(data.error[0].message);
  298. }
  299. } else {
  300. for (let i = 0; i < data.data.length; i++) {
  301. thisData = data.data[i];
  302. theArr.push({
  303. key: i,
  304. dunSubject: thisData.dunSubject
  305. ? thisData.dunSubject.toString()
  306. : "", //催款科目
  307. id: thisData.id, //节点Id
  308. money: thisData.money, //催款金额
  309. dunStatus: thisData.dunStatus, //催款状态
  310. orderNo: thisData.orderNo,
  311. });
  312. }
  313. this.setState({
  314. contactList: theArr,
  315. });
  316. }
  317. }.bind(this),
  318. }).always(
  319. function () {
  320. this.setState({
  321. loading: false,
  322. });
  323. }.bind(this)
  324. );
  325. }
  326. render() {
  327. const formItemList = [
  328. {
  329. label: "企业联系人",
  330. content: <span>{this.state.contacts}</span>,
  331. },
  332. {
  333. label: "客户名称",
  334. content: <span>
  335. {this.state.userName}
  336. <EnterpriseNameChange
  337. type='journal'
  338. style={{ marginLeft: 10 }}
  339. enterpriseId={this.state.orderUid} />
  340. </span>,
  341. },
  342. {
  343. label: "联系人电话",
  344. content: <span>{this.state.contactMobile}</span>,
  345. },
  346. {
  347. label: "企业法人",
  348. content: <span>{this.state.legalPerson}</span>,
  349. },
  350. {
  351. label: "法人电话",
  352. content: <span>{this.state.legalPersonTel}</span>,
  353. },
  354. ];
  355. return (
  356. <Modal
  357. maskClosable={false}
  358. visible={this.props.visible}
  359. onOk={this.props.onCancel}
  360. onCancel={this.props.onCancel}
  361. width={800}
  362. title='订单详情'
  363. footer=""
  364. className="admin-desc-content"
  365. >
  366. <div className="clearfix">
  367. <div className="clearfix">
  368. <FormItem
  369. className="half-item"
  370. {...formItemLayout}
  371. label="合同编号"
  372. >
  373. {<span>{this.state.contractNo}</span>}
  374. </FormItem>
  375. <FormItem
  376. className="half-item"
  377. {...formItemLayout}
  378. label="订单编号"
  379. >
  380. <span>{this.state.orderNo}</span>
  381. </FormItem>
  382. <FormItem
  383. className="half-item"
  384. {...formItemLayout}
  385. label="流程状态"
  386. >
  387. <span>
  388. {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)}
  389. </span>
  390. </FormItem>
  391. <FormItem
  392. className="half-item"
  393. {...formItemLayout}
  394. label="结算状态"
  395. >
  396. <span>
  397. {getLiquidationStatus(
  398. this.state.liquidationStatus
  399. )}
  400. </span>
  401. </FormItem>
  402. <div className="clearfix">
  403. <FormItem
  404. className="half-item"
  405. {...formItemLayout}
  406. label="特批立项"
  407. >
  408. <span>
  409. {getApprovedState(this.state.approval)}
  410. </span>
  411. </FormItem>
  412. <FormItem
  413. className="half-item"
  414. {...formItemLayout}
  415. label="合同签订时间"
  416. >
  417. <span>{this.state.signDate}</span>
  418. </FormItem>
  419. <FormItem
  420. className="half-item"
  421. {...formItemLayout}
  422. label="订单部门"
  423. >
  424. <span>{this.state.depName}</span>
  425. </FormItem>
  426. <FormItem
  427. className="half-item"
  428. {...formItemLayout}
  429. label="是否外包"
  430. >
  431. <span>
  432. {this.state.outsource == 0 ? "否" : "是"}
  433. </span>
  434. </FormItem>
  435. </div>
  436. </div>
  437. <h3
  438. style={{
  439. marginLeft: 10,
  440. fontWeight: 800,
  441. marginBottom: 10,
  442. }}
  443. >
  444. 收款项目
  445. </h3>
  446. {this.state.processStatus === 0 ? (
  447. <div className="clearfix">
  448. <FormItem
  449. className="half-item"
  450. {...formItemLayout}
  451. label="签单金额(万元)"
  452. >
  453. <Input
  454. placeholder="签单金额"
  455. ref="totalAmountRef"
  456. value={this.state.totalAmount}
  457. onChange={(e) => {
  458. this.setState({
  459. totalAmount: e.target.value,
  460. });
  461. }}
  462. style={{ width: "240px" }}
  463. />
  464. </FormItem>
  465. <FormItem
  466. className="half-item"
  467. {...formItemLayout}
  468. label="首付金额(万元)"
  469. >
  470. <Input
  471. placeholder="请输入实签首款金额"
  472. ref="firstAmountRef"
  473. value={this.state.firstAmount}
  474. onChange={(e) => {
  475. this.setState({
  476. firstAmount: e.target.value,
  477. });
  478. }}
  479. style={{ width: "240px" }}
  480. />
  481. </FormItem>
  482. <FormItem
  483. className="half-item"
  484. {...formItemLayout}
  485. label="已收款项"
  486. >
  487. <span>
  488. {this.state.settlementAmount + "万元"}
  489. </span>
  490. </FormItem>
  491. </div>
  492. ) : (
  493. <div className="clearfix">
  494. <FormItem
  495. className="half-item"
  496. {...formItemLayout}
  497. label="签单金额(万元)"
  498. >
  499. <span>{this.state.totalAmount}</span>
  500. </FormItem>
  501. <FormItem
  502. className="half-item"
  503. {...formItemLayout}
  504. label="首付金额(万元)"
  505. >
  506. <span>{this.state.firstAmount}</span>
  507. </FormItem>
  508. <FormItem
  509. className="half-item"
  510. {...formItemLayout}
  511. label="已收款项"
  512. >
  513. <span>
  514. {this.state.settlementAmount + "万元"}
  515. </span>
  516. </FormItem>
  517. </div>
  518. )}
  519. <h3
  520. style={{
  521. marginLeft: 10,
  522. fontWeight: 800,
  523. marginBottom: 10,
  524. }}
  525. >
  526. 联系信息
  527. </h3>
  528. <div className="clearfix">
  529. {formItemList.map((data, index) => {
  530. return (
  531. <FormItem
  532. className="half-item"
  533. {...formItemLayout}
  534. key={index}
  535. label={data.label}
  536. >
  537. {data.content}
  538. </FormItem>
  539. );
  540. })}
  541. </div>
  542. <div className="clearfix">
  543. <div>
  544. <FormItem
  545. labelCol={{ span: 4 }}
  546. wrapperCol={{ span: 18 }}
  547. label="合同扫描件"
  548. >
  549. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  550. {this.state.orgCodeUrl && this.state.visible && this.state.activeKey === '1' ? <ImgList domId={'addService3'} fileList={this.state.orgCodeUrl} ItemWidth={'96px'} /> : <div />}
  551. </div>
  552. <Modal
  553. maskClosable={false}
  554. footer={null}
  555. width={"50%"}
  556. visible={this.state.previewVisible}
  557. onCancel={() => {
  558. this.setState({
  559. previewVisible: false,
  560. rotateDeg: 0,
  561. });
  562. }}
  563. >
  564. <img
  565. alt=""
  566. style={{
  567. width: "100%",
  568. transform: `rotate(${this.state.rotateDeg}deg)`,
  569. }}
  570. src={this.state.previewImage || ""}
  571. />
  572. <Button
  573. onClick={this.rotate}
  574. style={{
  575. position: "relative",
  576. left: "50%",
  577. transform: "translateX(-50%)",
  578. }}
  579. >
  580. 旋转
  581. </Button>
  582. <Button
  583. onClick={this.upImg}
  584. style={{
  585. position: "absolute",
  586. left: -81,
  587. top: "50%",
  588. transform: "translateY(-50%)",
  589. }}
  590. >
  591. 上一张
  592. </Button>
  593. <Button
  594. onClick={this.downImg}
  595. style={{
  596. position: "absolute",
  597. right: -81,
  598. top: "50%",
  599. transform: "translateY(-50%)",
  600. }}
  601. >
  602. 下一张
  603. </Button>
  604. </Modal>
  605. <Button
  606. style={{
  607. float: "right",
  608. marginRight: "140px",
  609. marginTop: "20px",
  610. }}
  611. onClick={this.getOrderLog}
  612. >
  613. 查看订单日志
  614. </Button>
  615. </FormItem>
  616. <FormItem
  617. labelCol={{ span: 4 }}
  618. wrapperCol={{ span: 18 }}
  619. label="补充协议"
  620. >
  621. {/*<Upload*/}
  622. {/* className="demandDetailShow-upload"*/}
  623. {/* listType="picture-card"*/}
  624. {/* fileList={this.state.replenishUrl}*/}
  625. {/* onPreview={(file) => {*/}
  626. {/* this.setState({*/}
  627. {/* previewImage: file.url || file.thumbUrl,*/}
  628. {/* previewVisibles: true,*/}
  629. {/* });*/}
  630. {/* }}*/}
  631. {/*/>*/}
  632. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  633. {
  634. this.state.visible && this.state.activeKey === '1' && this.state.replenishUrl ?
  635. <ImgList domId={'addService4'} fileList={this.state.replenishUrl} ItemWidth={'96px'} /> :
  636. <div />
  637. }
  638. </div>
  639. <Modal
  640. maskClosable={false}
  641. footer={null}
  642. width={"50%"}
  643. visible={this.state.previewVisibles}
  644. onCancel={() => {
  645. this.setState({
  646. previewVisibles: false,
  647. rotateDeg: 0,
  648. });
  649. }}
  650. >
  651. <img
  652. alt=""
  653. style={{
  654. width: "100%",
  655. transform: `rotate(${this.state.rotateDeg}deg)`,
  656. }}
  657. src={this.state.previewImage || ""}
  658. />
  659. <Button
  660. onClick={this.rotates}
  661. style={{
  662. position: "relative",
  663. left: "50%",
  664. transform: "translateX(-50%)",
  665. }}
  666. >
  667. 旋转
  668. </Button>
  669. <Button
  670. onClick={this.upImgs}
  671. style={{
  672. position: "absolute",
  673. left: -81,
  674. top: "50%",
  675. transform: "translateY(-50%)",
  676. }}
  677. >
  678. 上一张
  679. </Button>
  680. <Button
  681. onClick={this.downImgs}
  682. style={{
  683. position: "absolute",
  684. right: -81,
  685. top: "50%",
  686. transform: "translateY(-50%)",
  687. }}
  688. >
  689. 下一张
  690. </Button>
  691. </Modal>
  692. </FormItem>
  693. </div>
  694. </div>
  695. <ContentUrl
  696. processStatus={2}
  697. domId={"inforContents"}
  698. contentUrl={this.state.contentUrl}
  699. imgId={"inforContentsImg"}
  700. />
  701. <div className="clearfix">
  702. <FormItem
  703. labelCol={{ span: 4 }}
  704. wrapperCol={{ span: 16 }}
  705. label="订单留言"
  706. >
  707. <p
  708. style={{ width: 500, wordWrap: "break-word" }}
  709. >
  710. {this.state.orderRemarks}
  711. </p>
  712. </FormItem>
  713. </div>
  714. <div className="clearfix">
  715. <FormItem
  716. className="half-item"
  717. {...formItemLayout}
  718. label="订单负责人"
  719. >
  720. <span>{this.state.salesmanName}</span>
  721. </FormItem>
  722. <FormItem
  723. className="half-item"
  724. {...formItemLayout}
  725. label="订单负责人电话"
  726. >
  727. <span>{this.state.salesmanMobile}</span>
  728. </FormItem>
  729. </div>
  730. <div className="clearfix">
  731. <FormItem
  732. className="half-item"
  733. {...formItemLayout}
  734. label="当前财务负责人"
  735. >
  736. <span>{this.state.nowFinance}</span>
  737. </FormItem>
  738. <FormItem
  739. className="half-item"
  740. {...formItemLayout}
  741. label="当前财务负责人电话"
  742. >
  743. <span>{this.state.nowFinanceMobile}</span>
  744. </FormItem>
  745. </div>
  746. <div className="clearfix">
  747. <FormItem
  748. className="half-item"
  749. {...formItemLayout}
  750. style={{ opacity: ".5" }}
  751. label="原订单负责人"
  752. >
  753. <span>{this.state.oldSalesmanName}</span>
  754. </FormItem>
  755. <FormItem
  756. className="half-item"
  757. {...formItemLayout}
  758. style={{ opacity: ".5" }}
  759. label="原订单负责人电话"
  760. >
  761. <span>{this.state.oldSalesmanMobile}</span>
  762. </FormItem>
  763. </div>
  764. <div className="clearfix">
  765. <FormItem
  766. className="half-item"
  767. style={{ opacity: ".5" }}
  768. {...formItemLayout}
  769. label="实际财务操作人"
  770. >
  771. <span>{this.state.financeName}</span>
  772. </FormItem>
  773. <FormItem
  774. className="half-item"
  775. {...formItemLayout}
  776. style={{ opacity: ".5" }}
  777. label="实际财务操作人电话"
  778. >
  779. <span>{this.state.financeMobile}</span>
  780. </FormItem>
  781. </div>
  782. {/* 协单人员 */}
  783. <OrderCoor orderNo={this.props.orderNo} />
  784. <div>
  785. <span style={{ marginLeft: "50px", fontSize: "20px" }}>
  786. 项目业务
  787. </span>
  788. </div>
  789. <div
  790. className="patent-table"
  791. style={{ marginBottom: 10 }}
  792. >
  793. <Spin spinning={this.state.loading}>
  794. <Table
  795. columns={this.state.columns}
  796. scroll={{ x: "max-content", y: 0 }}
  797. dataSource={this.state.dataSource}
  798. pagination={false}
  799. onRowClick={this.tableRowClick}
  800. bordered
  801. size="small"
  802. />
  803. </Spin>
  804. </div>
  805. </div>
  806. </Modal>
  807. )
  808. }
  809. }
  810. export default OrderInfor;