orderInfor.jsx 26 KB

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