orderInfor.jsx 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  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. processStatus: thisData.processStatus, //流程状态
  222. orderRemarks: thisData.orderRemarks, //订单备注
  223. contractNo: thisData.contractNo, //合同编号
  224. contacts: thisData.contacts, //联系人
  225. contactMobile: thisData.contactMobile, //联系人电话
  226. legalPerson: thisData.legalPerson, //法人
  227. legalPersonTel: thisData.legalPersonTel, //法人电话
  228. orgCodeUrl: thisData.contractPictureUrl
  229. ? splitUrl(
  230. thisData.contractPictureUrl,
  231. ",",
  232. globalConfig.avatarHost + "/upload"
  233. )
  234. : [], //图片地址
  235. replenishUrl: thisData.agreementUrl
  236. ? splitUrl(
  237. thisData.agreementUrl,
  238. ",",
  239. globalConfig.avatarHost + "/upload"
  240. )
  241. : [], //图片地址
  242. contentUrl: thisData.serviceContent
  243. ? splitUrl(
  244. thisData.serviceContent,
  245. ",",
  246. globalConfig.avatarHost + "/upload"
  247. )
  248. : [], //图片地址
  249. signDate: thisData.signDate, //签单时间
  250. userName: thisData.userName, //客户名称
  251. salesmanName: thisData.salesmanName, //营销员名称
  252. salesmanMobile: thisData.salesmanMobile, //营销员电话
  253. oldSalesmanName: thisData.oldSalesmanName, //营销员名称
  254. oldSalesmanMobile: thisData.oldSalesmanMobile, //营销员电话
  255. financeName: thisData.financeName, //财务名称
  256. financeMobile: thisData.financeMobile, //财务电话
  257. nowFinanceMobile: thisData.nowFinanceMobile,
  258. nowFinance: thisData.nowFinance,
  259. approval:
  260. thisData.approval == 0
  261. ? thisData.approval.toString()
  262. : thisData.approval,
  263. organizationSearch: thisData.orderDep,
  264. depName: thisData.depName,
  265. status: thisData.status,
  266. outsource: thisData.outsource,
  267. deleteSign: thisData.deleteSign,
  268. orderUid: thisData.uid,
  269. });
  270. }.bind(this),
  271. }).always(
  272. function () {
  273. this.setState({
  274. loading: false,
  275. });
  276. }.bind(this)
  277. );
  278. }
  279. jiedian() {
  280. this.setState({
  281. loadData: true,
  282. });
  283. $.ajax({
  284. method: "get",
  285. dataType: "json",
  286. crossDomain: false,
  287. url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
  288. data: {
  289. orderNo: this.props.orderNo,
  290. },
  291. success: function (data) {
  292. let theArr = [];
  293. let thisData = [];
  294. if (data.error.length || data.data.list == "") {
  295. if (data.error && data.error.length) {
  296. message.warning(data.error[0].message);
  297. }
  298. } else {
  299. for (let i = 0; i < data.data.length; i++) {
  300. thisData = data.data[i];
  301. theArr.push({
  302. key: i,
  303. dunSubject: thisData.dunSubject
  304. ? thisData.dunSubject.toString()
  305. : "", //催款科目
  306. id: thisData.id, //节点Id
  307. money: thisData.money, //催款金额
  308. dunStatus: thisData.dunStatus, //催款状态
  309. orderNo: thisData.orderNo,
  310. });
  311. }
  312. this.setState({
  313. contactList: theArr,
  314. });
  315. }
  316. }.bind(this),
  317. }).always(
  318. function () {
  319. this.setState({
  320. loading: false,
  321. });
  322. }.bind(this)
  323. );
  324. }
  325. render() {
  326. const formItemList = [
  327. {
  328. label: "企业联系人",
  329. content: <span>{this.state.contacts}</span>,
  330. },
  331. {
  332. label: "客户名称",
  333. content: <span>
  334. {this.state.userName}
  335. <EnterpriseNameChange
  336. type='journal'
  337. style={{ marginLeft: 10 }}
  338. enterpriseId={this.state.orderUid} />
  339. </span>,
  340. },
  341. {
  342. label: "联系人电话",
  343. content: <span>{this.state.contactMobile}</span>,
  344. },
  345. {
  346. label: "企业法人",
  347. content: <span>{this.state.legalPerson}</span>,
  348. },
  349. {
  350. label: "法人电话",
  351. content: <span>{this.state.legalPersonTel}</span>,
  352. },
  353. ];
  354. return (
  355. <Modal
  356. maskClosable={false}
  357. visible={this.props.visible}
  358. onOk={this.props.onCancel}
  359. onCancel={this.props.onCancel}
  360. width={800}
  361. title='订单详情'
  362. footer=""
  363. className="admin-desc-content"
  364. >
  365. <div className="clearfix">
  366. <div className="clearfix">
  367. <FormItem
  368. className="half-item"
  369. {...formItemLayout}
  370. label="合同编号"
  371. >
  372. {<span>{this.state.contractNo}</span>}
  373. </FormItem>
  374. <FormItem
  375. className="half-item"
  376. {...formItemLayout}
  377. label="订单编号"
  378. >
  379. <span>{this.state.orderNo}</span>
  380. </FormItem>
  381. <FormItem
  382. className="half-item"
  383. {...formItemLayout}
  384. label="流程状态"
  385. >
  386. <span>
  387. {getProcessStatus(this.state.processStatus)}
  388. </span>
  389. </FormItem>
  390. <FormItem
  391. className="half-item"
  392. {...formItemLayout}
  393. label="结算状态"
  394. >
  395. <span>
  396. {getLiquidationStatus(
  397. this.state.liquidationStatus
  398. )}
  399. </span>
  400. </FormItem>
  401. <div className="clearfix">
  402. <FormItem
  403. className="half-item"
  404. {...formItemLayout}
  405. label="特批立项"
  406. >
  407. <span>
  408. {getApprovedState(this.state.approval)}
  409. </span>
  410. </FormItem>
  411. <FormItem
  412. className="half-item"
  413. {...formItemLayout}
  414. label="合同签订时间"
  415. >
  416. <span>{this.state.signDate}</span>
  417. </FormItem>
  418. <FormItem
  419. className="half-item"
  420. {...formItemLayout}
  421. label="订单部门"
  422. >
  423. <span>{this.state.depName}</span>
  424. </FormItem>
  425. <FormItem
  426. className="half-item"
  427. {...formItemLayout}
  428. label="是否外包"
  429. >
  430. <span>
  431. {this.state.outsource == 0 ? "否" : "是"}
  432. </span>
  433. </FormItem>
  434. </div>
  435. </div>
  436. <h3
  437. style={{
  438. marginLeft: 10,
  439. fontWeight: 800,
  440. marginBottom: 10,
  441. }}
  442. >
  443. 收款项目
  444. </h3>
  445. {this.state.processStatus === 0 ? (
  446. <div className="clearfix">
  447. <FormItem
  448. className="half-item"
  449. {...formItemLayout}
  450. label="签单金额(万元)"
  451. >
  452. <Input
  453. placeholder="签单金额"
  454. ref="totalAmountRef"
  455. value={this.state.totalAmount}
  456. onChange={(e) => {
  457. this.setState({
  458. totalAmount: e.target.value,
  459. });
  460. }}
  461. style={{ width: "240px" }}
  462. />
  463. </FormItem>
  464. <FormItem
  465. className="half-item"
  466. {...formItemLayout}
  467. label="首付金额(万元)"
  468. >
  469. <Input
  470. placeholder="请输入实签首款金额"
  471. ref="firstAmountRef"
  472. value={this.state.firstAmount}
  473. onChange={(e) => {
  474. this.setState({
  475. firstAmount: e.target.value,
  476. });
  477. }}
  478. style={{ width: "240px" }}
  479. />
  480. </FormItem>
  481. <FormItem
  482. className="half-item"
  483. {...formItemLayout}
  484. label="已收款项"
  485. >
  486. <span>
  487. {this.state.settlementAmount + "万元"}
  488. </span>
  489. </FormItem>
  490. </div>
  491. ) : (
  492. <div className="clearfix">
  493. <FormItem
  494. className="half-item"
  495. {...formItemLayout}
  496. label="签单金额(万元)"
  497. >
  498. <span>{this.state.totalAmount}</span>
  499. </FormItem>
  500. <FormItem
  501. className="half-item"
  502. {...formItemLayout}
  503. label="首付金额(万元)"
  504. >
  505. <span>{this.state.firstAmount}</span>
  506. </FormItem>
  507. <FormItem
  508. className="half-item"
  509. {...formItemLayout}
  510. label="已收款项"
  511. >
  512. <span>
  513. {this.state.settlementAmount + "万元"}
  514. </span>
  515. </FormItem>
  516. </div>
  517. )}
  518. <h3
  519. style={{
  520. marginLeft: 10,
  521. fontWeight: 800,
  522. marginBottom: 10,
  523. }}
  524. >
  525. 联系信息
  526. </h3>
  527. <div className="clearfix">
  528. {formItemList.map((data, index) => {
  529. return (
  530. <FormItem
  531. className="half-item"
  532. {...formItemLayout}
  533. key={index}
  534. label={data.label}
  535. >
  536. {data.content}
  537. </FormItem>
  538. );
  539. })}
  540. </div>
  541. <div className="clearfix">
  542. <div>
  543. <FormItem
  544. labelCol={{ span: 4 }}
  545. wrapperCol={{ span: 18 }}
  546. label="合同扫描件"
  547. >
  548. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  549. {this.state.orgCodeUrl && this.state.visible && this.state.activeKey === '1' ? <ImgList domId={'addService3'} fileList={this.state.orgCodeUrl} ItemWidth={'96px'} /> : <div />}
  550. </div>
  551. <Modal
  552. maskClosable={false}
  553. footer={null}
  554. width={"50%"}
  555. visible={this.state.previewVisible}
  556. onCancel={() => {
  557. this.setState({
  558. previewVisible: false,
  559. rotateDeg: 0,
  560. });
  561. }}
  562. >
  563. <img
  564. alt=""
  565. style={{
  566. width: "100%",
  567. transform: `rotate(${this.state.rotateDeg}deg)`,
  568. }}
  569. src={this.state.previewImage || ""}
  570. />
  571. <Button
  572. onClick={this.rotate}
  573. style={{
  574. position: "relative",
  575. left: "50%",
  576. transform: "translateX(-50%)",
  577. }}
  578. >
  579. 旋转
  580. </Button>
  581. <Button
  582. onClick={this.upImg}
  583. style={{
  584. position: "absolute",
  585. left: -81,
  586. top: "50%",
  587. transform: "translateY(-50%)",
  588. }}
  589. >
  590. 上一张
  591. </Button>
  592. <Button
  593. onClick={this.downImg}
  594. style={{
  595. position: "absolute",
  596. right: -81,
  597. top: "50%",
  598. transform: "translateY(-50%)",
  599. }}
  600. >
  601. 下一张
  602. </Button>
  603. </Modal>
  604. <Button
  605. style={{
  606. float: "right",
  607. marginRight: "140px",
  608. marginTop: "20px",
  609. }}
  610. onClick={this.getOrderLog}
  611. >
  612. 查看订单日志
  613. </Button>
  614. </FormItem>
  615. <FormItem
  616. labelCol={{ span: 4 }}
  617. wrapperCol={{ span: 18 }}
  618. label="补充协议"
  619. >
  620. {/*<Upload*/}
  621. {/* className="demandDetailShow-upload"*/}
  622. {/* listType="picture-card"*/}
  623. {/* fileList={this.state.replenishUrl}*/}
  624. {/* onPreview={(file) => {*/}
  625. {/* this.setState({*/}
  626. {/* previewImage: file.url || file.thumbUrl,*/}
  627. {/* previewVisibles: true,*/}
  628. {/* });*/}
  629. {/* }}*/}
  630. {/*/>*/}
  631. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  632. {
  633. this.state.visible && this.state.activeKey === '1' && this.state.replenishUrl ?
  634. <ImgList domId={'addService4'} fileList={this.state.replenishUrl} ItemWidth={'96px'} /> :
  635. <div />
  636. }
  637. </div>
  638. <Modal
  639. maskClosable={false}
  640. footer={null}
  641. width={"50%"}
  642. visible={this.state.previewVisibles}
  643. onCancel={() => {
  644. this.setState({
  645. previewVisibles: false,
  646. rotateDeg: 0,
  647. });
  648. }}
  649. >
  650. <img
  651. alt=""
  652. style={{
  653. width: "100%",
  654. transform: `rotate(${this.state.rotateDeg}deg)`,
  655. }}
  656. src={this.state.previewImage || ""}
  657. />
  658. <Button
  659. onClick={this.rotates}
  660. style={{
  661. position: "relative",
  662. left: "50%",
  663. transform: "translateX(-50%)",
  664. }}
  665. >
  666. 旋转
  667. </Button>
  668. <Button
  669. onClick={this.upImgs}
  670. style={{
  671. position: "absolute",
  672. left: -81,
  673. top: "50%",
  674. transform: "translateY(-50%)",
  675. }}
  676. >
  677. 上一张
  678. </Button>
  679. <Button
  680. onClick={this.downImgs}
  681. style={{
  682. position: "absolute",
  683. right: -81,
  684. top: "50%",
  685. transform: "translateY(-50%)",
  686. }}
  687. >
  688. 下一张
  689. </Button>
  690. </Modal>
  691. </FormItem>
  692. </div>
  693. </div>
  694. <ContentUrl
  695. processStatus={1}
  696. domId={"inforContents"}
  697. contentUrl={this.state.contentUrl}
  698. imgId={"inforContentsImg"}
  699. />
  700. <div className="clearfix">
  701. <FormItem
  702. labelCol={{ span: 4 }}
  703. wrapperCol={{ span: 16 }}
  704. label="订单留言"
  705. >
  706. <p
  707. style={{ width: 500, wordWrap: "break-word" }}
  708. >
  709. {this.state.orderRemarks}
  710. </p>
  711. </FormItem>
  712. </div>
  713. <div className="clearfix">
  714. <FormItem
  715. className="half-item"
  716. {...formItemLayout}
  717. label="订单负责人"
  718. >
  719. <span>{this.state.salesmanName}</span>
  720. </FormItem>
  721. <FormItem
  722. className="half-item"
  723. {...formItemLayout}
  724. label="订单负责人电话"
  725. >
  726. <span>{this.state.salesmanMobile}</span>
  727. </FormItem>
  728. </div>
  729. <div className="clearfix">
  730. <FormItem
  731. className="half-item"
  732. {...formItemLayout}
  733. label="当前财务负责人"
  734. >
  735. <span>{this.state.nowFinance}</span>
  736. </FormItem>
  737. <FormItem
  738. className="half-item"
  739. {...formItemLayout}
  740. label="当前财务负责人电话"
  741. >
  742. <span>{this.state.nowFinanceMobile}</span>
  743. </FormItem>
  744. </div>
  745. <div className="clearfix">
  746. <FormItem
  747. className="half-item"
  748. {...formItemLayout}
  749. style={{ opacity: ".5" }}
  750. label="原订单负责人"
  751. >
  752. <span>{this.state.oldSalesmanName}</span>
  753. </FormItem>
  754. <FormItem
  755. className="half-item"
  756. {...formItemLayout}
  757. style={{ opacity: ".5" }}
  758. label="原订单负责人电话"
  759. >
  760. <span>{this.state.oldSalesmanMobile}</span>
  761. </FormItem>
  762. </div>
  763. <div className="clearfix">
  764. <FormItem
  765. className="half-item"
  766. style={{ opacity: ".5" }}
  767. {...formItemLayout}
  768. label="实际财务操作人"
  769. >
  770. <span>{this.state.financeName}</span>
  771. </FormItem>
  772. <FormItem
  773. className="half-item"
  774. {...formItemLayout}
  775. style={{ opacity: ".5" }}
  776. label="实际财务操作人电话"
  777. >
  778. <span>{this.state.financeMobile}</span>
  779. </FormItem>
  780. </div>
  781. {/* 协单人员 */}
  782. <OrderCoor orderNo={this.props.orderNo} />
  783. <div>
  784. <span style={{ marginLeft: "50px", fontSize: "20px" }}>
  785. 项目业务
  786. </span>
  787. </div>
  788. <div
  789. className="patent-table"
  790. style={{ marginBottom: 10 }}
  791. >
  792. <Spin spinning={this.state.loading}>
  793. <Table
  794. columns={this.state.columns}
  795. scroll={{ x: "max-content", y: 0 }}
  796. dataSource={this.state.dataSource}
  797. pagination={false}
  798. onRowClick={this.tableRowClick}
  799. bordered
  800. size="small"
  801. />
  802. </Spin>
  803. </div>
  804. </div>
  805. </Modal>
  806. )
  807. }
  808. }
  809. export default OrderInfor;