invoiceApplyList.jsx 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948
  1. import React from "react";
  2. import $ from "jquery/src/ajax";
  3. import "./public.less";
  4. import {
  5. Form,
  6. Button,
  7. Input,
  8. Select,
  9. Spin,
  10. Table,
  11. message,
  12. Modal,
  13. Upload
  14. } from "antd";
  15. import {
  16. getProjectStatus,
  17. getProvinceA,
  18. getInvoiceStatus,
  19. getprovince,
  20. splitUrl
  21. } from "@/tools";
  22. const FormItem = Form.Item;
  23. const invoiceApplyList = React.createClass({
  24. departmentList() {
  25. this.setState({
  26. loading: true
  27. });
  28. $.ajax({
  29. method: "get",
  30. dataType: "json",
  31. crossDomain: false,
  32. url: globalConfig.context + "/api/admin/organization/selectSuperId",
  33. data: {},
  34. success: function(data) {
  35. let thedata = data.data;
  36. let theArr = [];
  37. if (!thedata) {
  38. if (data.error && data.error.length) {
  39. message.warning(data.error[0].message);
  40. }
  41. } else {
  42. thedata.map(function(item, index) {
  43. theArr.push({
  44. key: index,
  45. name: item.name,
  46. id: item.id
  47. });
  48. });
  49. }
  50. this.setState({
  51. departmentArr: theArr
  52. });
  53. }.bind(this)
  54. }).always(
  55. function() {
  56. this.setState({
  57. loading: false
  58. });
  59. }.bind(this)
  60. );
  61. },
  62. loadData(pageNo) {
  63. this.state.data = [];
  64. this.setState({
  65. loading: true
  66. });
  67. $.ajax({
  68. method: "get",
  69. dataType: "json",
  70. crossDomain: false,
  71. url:
  72. globalConfig.context +
  73. "/api/admin/orderInvoice/financeOrderInvoiceList",
  74. data: {
  75. pageNo: pageNo || 1,
  76. pageSize: this.state.pagination.pageSize,
  77. name: this.state.nameSearch, //客户名称
  78. orderNo: this.state.orderNoSearch,
  79. orderDep: this.state.departmenttList,
  80. type: 0
  81. },
  82. success: function(data) {
  83. let theArr = [];
  84. if (!data.data || !data.data.list) {
  85. if (data.error && data.error.length) {
  86. message.warning(data.error[0].message);
  87. }
  88. } else {
  89. for (let i = 0; i < data.data.list.length; i++) {
  90. let thisdata = data.data.list[i];
  91. theArr.push({
  92. key: i,
  93. id: thisdata.id,
  94. status: thisdata.status,
  95. unitName: thisdata.unitName,
  96. orderno: thisdata.orderno,
  97. name: thisdata.name,
  98. projectStatus: thisdata.projectStatus,
  99. amount: thisdata.amount,
  100. sumAmount: thisdata.sumAmount,
  101. createTime: thisdata.createTime
  102. ? new Date(thisdata.createTime).toLocaleString()
  103. : "",
  104. settlementAmount: thisdata.settlementAmount,
  105. notAmount: thisdata.notAmount
  106. });
  107. }
  108. }
  109. this.state.pagination.current = data.data.pageNo;
  110. this.state.pagination.total = data.data.totalCount;
  111. if (data.data && data.data.list && !data.data.list.length) {
  112. this.state.pagination.current = 0;
  113. this.state.pagination.total = 0;
  114. }
  115. this.setState({
  116. totalPage: data.data.totalPage,
  117. dataSource: theArr,
  118. pagination: this.state.pagination
  119. });
  120. }.bind(this)
  121. }).always(
  122. function() {
  123. this.setState({
  124. loading: false
  125. });
  126. }.bind(this)
  127. );
  128. },
  129. invoiceData() {
  130. this.setState({
  131. loading: true
  132. });
  133. $.ajax({
  134. method: "get",
  135. dataType: "json",
  136. crossDomain: false,
  137. url:
  138. globalConfig.context + "/api/admin/orderInvoice/selectByIdOrderInvoice",
  139. data: {
  140. id: this.state.id
  141. },
  142. success: function(data) {
  143. let thisdata = data.data;
  144. this.setState({
  145. contractNo: thisdata.contractNo,
  146. orderNo: thisdata.orderNo,
  147. approval: thisdata.approval,
  148. type: thisdata.type,
  149. status: thisdata.status,
  150. remarks: thisdata.remarks,
  151. invoiceType: thisdata.invoiceType,
  152. unitName: thisdata.unitName,
  153. taxNumber: thisdata.taxNumber,
  154. amount: thisdata.amount,
  155. banks: thisdata.banks,
  156. content: thisdata.content,
  157. unitAddress: thisdata.unitAddress,
  158. invoiceRemarks: thisdata.invoiceRemarks,
  159. unitMobile: thisdata.unitMobile,
  160. post: thisdata.post,
  161. addressee: thisdata.addressee,
  162. addresseeMobile: thisdata.addresseeMobile,
  163. addresseeProvince: thisdata.addresseeProvince,
  164. addresseeCity: thisdata.addresseeCity,
  165. addresseeArea: thisdata.addresseeArea,
  166. alreadyAmount: thisdata.alreadyAmount,
  167. recipientAddress: thisdata.recipientAddress,
  168. orgCodeUrl: thisdata.voucherUrl
  169. ? splitUrl(
  170. thisdata.voucherUrl,
  171. ",",
  172. globalConfig.avatarHost + "/upload"
  173. )
  174. : []
  175. });
  176. }.bind(this)
  177. }).done(
  178. function() {
  179. this.setState({
  180. loading: false
  181. });
  182. }.bind(this)
  183. );
  184. },
  185. getInitialState() {
  186. return {
  187. searchMore: true,
  188. assignVisible: false,
  189. releaseDate: [],
  190. totalPage: 0,
  191. boHuivisible: false,
  192. selectedRowKeys: [],
  193. selectedRows: [],
  194. loading: false,
  195. reason: "",
  196. foo: 0,
  197. pagination: {
  198. defaultCurrent: 1,
  199. defaultPageSize: 10,
  200. showQuickJumper: true,
  201. pageSize: 10,
  202. onChange: function(page) {
  203. this.loadData(page);
  204. }.bind(this),
  205. showTotal: function(total) {
  206. return "共" + total + "条数据";
  207. }
  208. },
  209. columns: [
  210. {
  211. title: "编号",
  212. dataIndex: "id",
  213. key: "id",
  214. fixed: "left"
  215. },
  216. {
  217. title: "客户",
  218. dataIndex: "unitName",
  219. key: "unitName"
  220. },
  221. {
  222. title: "跟单人/签单人",
  223. dataIndex: "name",
  224. key: "name"
  225. },
  226. {
  227. title: "项目状态",
  228. dataIndex: "projectStatus",
  229. key: "projectStatus",
  230. render: text => {
  231. return getProjectStatus(text);
  232. }
  233. },
  234. {
  235. title: "申请开票(万)",
  236. dataIndex: "amount",
  237. key: "amount"
  238. },
  239. {
  240. title: "已开票(万)",
  241. dataIndex: "sumAmount",
  242. key: "sumAmount"
  243. },
  244. {
  245. title: "已收款",
  246. dataIndex: "settlementAmount",
  247. key: "settlementAmount"
  248. },
  249. {
  250. title: "未收款",
  251. dataIndex: "notAmount",
  252. key: "notAmount"
  253. },
  254. {
  255. title: "申请时间",
  256. dataIndex: "createTime",
  257. key: "createTime"
  258. },
  259. {
  260. title: "操作",
  261. dataIndex: "caozuo",
  262. key: "caouzo",
  263. render: (text, record, index) => {
  264. return (
  265. <div>
  266. {
  267. <Button
  268. type="primary"
  269. onClick={e => {
  270. e.stopPropagation(), this.visit(index);
  271. }}
  272. style={{ background: "deepskyblue", border: "none" }}
  273. >
  274. 申请内容
  275. </Button>
  276. }
  277. {record.status !== 2 ? (
  278. <Button
  279. type="primary"
  280. style={{ marginLeft: "10px" }}
  281. onClick={e => {
  282. e.stopPropagation(),
  283. this.setState({ examine: 2 }, () => {
  284. this.sende(record);
  285. });
  286. }}
  287. >
  288. 通过
  289. </Button>
  290. ) : (
  291. ""
  292. )}
  293. {record.status !== 2 ? (
  294. <Button
  295. type="danger"
  296. onClick={e => {
  297. e.stopPropagation(),
  298. this.setState({ examine: 3 }, () => {
  299. this.reject(record);
  300. });
  301. }}
  302. style={{ marginLeft: "10px" }}
  303. >
  304. 拒绝
  305. </Button>
  306. ) : (
  307. ""
  308. )}
  309. {record.status === 2 ? (
  310. <Button
  311. style={{ marginLeft: "10px", color: "black" }}
  312. disabled={true}
  313. >
  314. 已通过
  315. </Button>
  316. ) : (
  317. ""
  318. )}
  319. {
  320. <Button
  321. type="primary"
  322. style={{
  323. marginLeft: "10px",
  324. background: "orangered",
  325. border: "none"
  326. }}
  327. onClick={e => {
  328. e.stopPropagation(), this.inRecord(record, index);
  329. }}
  330. >
  331. 开票记录
  332. </Button>
  333. }
  334. </div>
  335. );
  336. }
  337. }
  338. ],
  339. columnsDate: [
  340. {
  341. title: "编号",
  342. dataIndex: "id",
  343. key: "id"
  344. },
  345. {
  346. title: "订单编号",
  347. dataIndex: "orderno",
  348. key: "orderno"
  349. },
  350. {
  351. title: "开票金额(万元)",
  352. dataIndex: "amount",
  353. key: "amount"
  354. },
  355. {
  356. title: "申请时间",
  357. dataIndex: "createTime",
  358. key: "createTime"
  359. },
  360. {
  361. title: "开票状态",
  362. dataIndex: "status",
  363. key: "status",
  364. render: text => {
  365. return getInvoiceStatus(text);
  366. }
  367. }
  368. ],
  369. dataSource: [],
  370. searchTime: [,]
  371. };
  372. },
  373. loadSend(record) {
  374. this.setState({
  375. loading: true
  376. });
  377. if (this.state.examine === 3 && this.state.reason === "") {
  378. message.warning("拒绝理由不能为空!");
  379. return;
  380. }
  381. $.ajax({
  382. method: "post",
  383. dataType: "json",
  384. crossDomain: false,
  385. url: globalConfig.context + "/api/admin/orderInvoice/financeExamine",
  386. data: {
  387. id: this.state.examine === 2 ? record.id : this.state.id,
  388. examine: this.state.examine,
  389. reason: this.state.reason
  390. },
  391. success: function() {}.bind(this)
  392. }).done(
  393. function() {
  394. this.setState({
  395. loading: false
  396. });
  397. if (this.state.examine === 2) {
  398. message.success("通过成功!");
  399. this.loadData();
  400. } else {
  401. message.success("拒绝成功!");
  402. this.resetReason();
  403. this.rejectCancels();
  404. this.loadData();
  405. }
  406. }.bind(this)
  407. );
  408. },
  409. //重置拒绝理由
  410. resetReason() {
  411. this.setState({
  412. reason: ""
  413. });
  414. },
  415. sende(record) {
  416. this.loadSend(record);
  417. },
  418. commit() {
  419. this.loadSend();
  420. this.setState({
  421. avisible: false
  422. });
  423. },
  424. visit(index) {
  425. this.setState(
  426. {
  427. id: this.state.dataSource[index].id,
  428. avisible: true
  429. },
  430. () => {
  431. this.invoiceData();
  432. }
  433. );
  434. },
  435. visitCancels() {
  436. this.setState({
  437. avisible: false
  438. });
  439. },
  440. reject(record) {
  441. this.setState({
  442. visibleR: true,
  443. id: record.id
  444. });
  445. },
  446. rejectCancels() {
  447. this.setState({
  448. visibleR: false
  449. });
  450. },
  451. inRecordData() {
  452. this.setState({
  453. loading: true
  454. });
  455. $.ajax({
  456. method: "get",
  457. dataType: "json",
  458. crossDomain: false,
  459. url:
  460. globalConfig.context +
  461. "/api/admin/orderInvoice/salesmanOrderInvoiceList",
  462. data: {
  463. orderNo: this.state.orderNo2
  464. },
  465. success: function(data) {
  466. let theArr = [];
  467. let sum = 0;
  468. if (!data.data) {
  469. if (data.error && data.error.length) {
  470. message.warning(data.error[0].message);
  471. }
  472. } else {
  473. for (let i = 0; i < data.data.list.length; i++) {
  474. let thisdata = data.data.list[i];
  475. sum += parseFloat(thisdata.amount);
  476. theArr.push({
  477. id: thisdata.id,
  478. orderno: thisdata.orderno, //订单编号
  479. amount: thisdata.amount, //签单金额
  480. createTime: thisdata.createTime, //流程状态
  481. status: thisdata.status, //结算状态
  482. rejectReason: thisdata.rejectReason
  483. });
  484. }
  485. }
  486. this.setState({
  487. recordData: theArr,
  488. sum: sum.toFixed(4)
  489. });
  490. }.bind(this)
  491. }).done(
  492. function() {
  493. this.setState({
  494. loading: false
  495. });
  496. }.bind(this)
  497. );
  498. },
  499. inRecord(record) {
  500. this.setState(
  501. {
  502. bvisible: true,
  503. orderNo2: record.orderno
  504. },
  505. () => {
  506. this.inRecordData();
  507. }
  508. );
  509. },
  510. inRecordCanl() {
  511. this.setState({
  512. bvisible: false
  513. });
  514. },
  515. search() {
  516. this.loadData();
  517. },
  518. componentWillMount() {
  519. this.departmentList();
  520. this.loadData();
  521. },
  522. reset() {
  523. this.state.nameSearch = "";
  524. this.state.releaseDate = [];
  525. this.state.orderNoSearch = "";
  526. this.state.processStatus = [];
  527. this.state.departmenttList = [];
  528. this.loadData();
  529. },
  530. render() {
  531. const formItemLayout = {
  532. labelCol: { span: 8 },
  533. wrapperCol: { span: 14 }
  534. };
  535. var departmentArr = this.state.departmentArr || [];
  536. return (
  537. <div className="user-content">
  538. <div className="content-title">
  539. <span>省内开票审核</span>
  540. </div>
  541. <div className="user-search">
  542. <Input
  543. placeholder="营销员名称"
  544. value={this.state.nameSearch}
  545. onChange={e => {
  546. this.setState({ nameSearch: e.target.value });
  547. }}
  548. />
  549. <Input
  550. placeholder="订单编号"
  551. value={this.state.orderNoSearch}
  552. onChange={e => {
  553. this.setState({ orderNoSearch: e.target.value });
  554. }}
  555. />
  556. <Select
  557. placeholder="订单部门"
  558. style={{ width: 150, marginRight: 10 }}
  559. value={this.state.departmenttList}
  560. onChange={e => {
  561. this.setState({ departmenttList: e });
  562. }}
  563. >
  564. {departmentArr.map(function(item) {
  565. return <Select.Option key={item.id}>{item.name}</Select.Option>;
  566. })}
  567. </Select>
  568. <Button
  569. type="primary"
  570. onClick={this.search}
  571. style={{ marginLeft: 10 }}
  572. >
  573. 搜索
  574. </Button>
  575. <Button onClick={this.reset}>重置</Button>
  576. </div>
  577. <div className="patent-table">
  578. <Spin spinning={this.state.loading}>
  579. <Table
  580. columns={this.state.columns}
  581. scroll={{ x: 1500, y: 0 }}
  582. dataSource={this.state.dataSource}
  583. pagination={this.state.pagination}
  584. />
  585. </Spin>
  586. </div>
  587. <Modal
  588. visible={this.state.visibleR}
  589. className="admin-desc-content"
  590. footer=""
  591. title="拒绝理由"
  592. width="400px"
  593. onCancel={this.rejectCancels}
  594. >
  595. <Input.TextArea
  596. placeholder="请输入拒绝理由"
  597. rows={4}
  598. value={this.state.reason}
  599. onChange={e => {
  600. this.setState({ reason: e.target.value });
  601. }}
  602. ></Input.TextArea>
  603. <div className="clearfix" style={{ marginTop: "20px" }}>
  604. <Button
  605. type="primary"
  606. onClick={e => {
  607. e.stopPropagation(), this.commit();
  608. }}
  609. style={{ float: "right" }}
  610. >
  611. 提交
  612. </Button>
  613. </div>
  614. </Modal>
  615. <Modal
  616. className="admin-desc-content"
  617. footer=""
  618. title="开具发票申请单"
  619. width="900px"
  620. visible={this.state.avisible}
  621. onOk={this.visitOks}
  622. onCancel={this.visitCancels}
  623. >
  624. <Form
  625. layout="horizontal"
  626. id="demand-form"
  627. style={{ paddingBottom: "40px" }}
  628. >
  629. <Spin spinning={this.state.loading}>
  630. <div className="clearfix">
  631. <div className="clearfix">
  632. <FormItem
  633. className="half-item"
  634. {...formItemLayout}
  635. label="合同编号"
  636. >
  637. <span>{this.state.contractNo}</span>
  638. </FormItem>
  639. <FormItem
  640. className="half-item"
  641. {...formItemLayout}
  642. label="备注"
  643. >
  644. <span>{this.state.remarks}</span>
  645. </FormItem>
  646. </div>
  647. <div className="clearfix">
  648. <FormItem
  649. className="half-item"
  650. {...formItemLayout}
  651. label={
  652. <span>
  653. <strong style={{ color: "#f00" }}>*</strong>省内/外
  654. </span>
  655. }
  656. >
  657. <span>{getProvinceA(this.state.type)}</span>
  658. </FormItem>
  659. <FormItem
  660. className="half-item"
  661. {...formItemLayout}
  662. label={
  663. <span>
  664. <strong style={{ color: "#f00" }}>*</strong>特批
  665. </span>
  666. }
  667. >
  668. <span>{this.state.approval === 0 ? "否" : "是"}</span>
  669. </FormItem>
  670. </div>
  671. <hr
  672. style={{
  673. border: "1px dashed #aaa",
  674. width: "90%",
  675. margin: "auto"
  676. }}
  677. />
  678. <div style={{ marginTop: "13px", marginLeft: "16px" }}>
  679. <span style={{ fontSize: "14px" }}>发票内容</span>
  680. </div>
  681. <div className="clearfix">
  682. <FormItem
  683. className="half-item"
  684. {...formItemLayout}
  685. label={
  686. <span>
  687. <strong style={{ color: "#f00" }}>*</strong>发票类型
  688. </span>
  689. }
  690. >
  691. <span>
  692. {this.state.invoiceType === 0
  693. ? "增值税专用发票"
  694. : this.state.invoiceType === 1
  695. ? "增值税普通发票"
  696. : "其他"}
  697. </span>
  698. </FormItem>
  699. </div>
  700. <div className="clearfix">
  701. <FormItem
  702. className="half-item"
  703. {...formItemLayout}
  704. label={
  705. <span>
  706. <strong style={{ color: "#f00" }}>*</strong>单位名称
  707. </span>
  708. }
  709. >
  710. <span>{this.state.unitName}</span>
  711. </FormItem>
  712. <FormItem
  713. className="half-item"
  714. {...formItemLayout}
  715. label={
  716. <span>
  717. <strong style={{ color: "#f00" }}>*</strong>税号
  718. </span>
  719. }
  720. >
  721. <span>{this.state.taxNumber}</span>
  722. </FormItem>
  723. <FormItem
  724. className="half-item"
  725. {...formItemLayout}
  726. label={
  727. <span>
  728. <strong style={{ color: "#f00" }}>*</strong>
  729. 开票金额(万元)
  730. </span>
  731. }
  732. >
  733. <span>{this.state.amount}</span>
  734. </FormItem>
  735. <FormItem
  736. className="half-item"
  737. {...formItemLayout}
  738. label={
  739. <span>
  740. <strong style={{ color: "#f00" }}>*</strong>
  741. 开户行银行账号
  742. </span>
  743. }
  744. >
  745. <span>{this.state.banks}</span>
  746. </FormItem>
  747. <FormItem
  748. className="half-item"
  749. {...formItemLayout}
  750. label={
  751. <span>
  752. <strong style={{ color: "#f00" }}>*</strong>
  753. 开票内容及说明
  754. </span>
  755. }
  756. >
  757. <span>{this.state.content}</span>
  758. </FormItem>
  759. <FormItem
  760. className="half-item"
  761. {...formItemLayout}
  762. label={
  763. <span>
  764. <strong style={{ color: "#f00" }}>*</strong>单位地址
  765. </span>
  766. }
  767. >
  768. <span>{this.state.unitAddress}</span>
  769. </FormItem>
  770. <FormItem
  771. className="half-item"
  772. {...formItemLayout}
  773. label="备注"
  774. >
  775. <span>{this.state.invoiceRemarks}</span>
  776. </FormItem>
  777. <FormItem
  778. className="half-item"
  779. {...formItemLayout}
  780. label={
  781. <span>
  782. <strong style={{ color: "#f00" }}>*</strong>单位电话
  783. </span>
  784. }
  785. >
  786. <span>{this.state.unitMobile}</span>
  787. </FormItem>
  788. </div>
  789. <div className="clearfix">
  790. <FormItem
  791. labelCol={{ span: 4 }}
  792. wrapperCol={{ span: 18 }}
  793. label={
  794. <span>
  795. <strong style={{ color: "#f00" }}>*</strong>附件
  796. </span>
  797. }
  798. >
  799. <Upload
  800. className="demandDetailShow-upload"
  801. listType="picture-card"
  802. fileList={this.state.orgCodeUrl}
  803. onPreview={file => {
  804. this.setState({
  805. previewImage: file.url || file.thumbUrl,
  806. previewVisible: true
  807. });
  808. }}
  809. ></Upload>
  810. <Modal
  811. maskClosable={false}
  812. footer={null}
  813. visible={this.state.previewVisible}
  814. onCancel={() => {
  815. this.setState({ previewVisible: false });
  816. }}
  817. >
  818. <img
  819. alt=""
  820. style={{ width: "100%" }}
  821. src={this.state.previewImage || ""}
  822. />
  823. </Modal>
  824. </FormItem>
  825. </div>
  826. <hr
  827. style={{
  828. border: "1px dashed #aaa",
  829. width: "90%",
  830. margin: "auto"
  831. }}
  832. />
  833. <div className="clearfix" style={{ marginTop: "10px" }}>
  834. <FormItem
  835. className="half-item"
  836. {...formItemLayout}
  837. label="发票是否邮寄:"
  838. >
  839. <span>{this.state.post === 0 ? "是" : "否"}</span>
  840. </FormItem>
  841. </div>
  842. {this.state.post === 0 ? (
  843. <div>
  844. <div className="clearfix">
  845. <FormItem
  846. className="half-item"
  847. {...formItemLayout}
  848. label="收信人姓名"
  849. >
  850. <span>{this.state.addressee}</span>
  851. </FormItem>
  852. <FormItem
  853. className="half-item"
  854. {...formItemLayout}
  855. label="电话"
  856. >
  857. <span>{this.state.addresseeMobile}</span>
  858. </FormItem>
  859. </div>
  860. <div className="clearfix">
  861. <FormItem
  862. className="half-item"
  863. {...formItemLayout}
  864. label="省-市-区"
  865. >
  866. <span>
  867. {getprovince(this.state.addresseeProvince)}/
  868. {getprovince(this.state.addresseeCity)}/
  869. {getprovince(this.state.addresseeArea)}
  870. </span>
  871. </FormItem>
  872. </div>
  873. <div className="clearfix">
  874. <FormItem
  875. className="half-item"
  876. {...formItemLayout}
  877. label="详细地址"
  878. >
  879. <span>{this.state.recipientAddress}</span>
  880. </FormItem>
  881. </div>
  882. </div>
  883. ) : (
  884. ""
  885. )}
  886. <FormItem
  887. className="half-item"
  888. {...formItemLayout}
  889. label={
  890. <span>
  891. <strong style={{ color: "#f00" }}>*</strong>开票金额总计
  892. </span>
  893. }
  894. >
  895. <span>{this.state.alreadyAmount}万元</span>
  896. </FormItem>
  897. </div>
  898. </Spin>
  899. </Form>
  900. </Modal>
  901. <Modal
  902. visible={this.state.bvisible}
  903. footer=""
  904. title="开票历史记录"
  905. className="admin-desc-content"
  906. width="900px"
  907. onCancel={this.inRecordCanl}
  908. >
  909. <Spin spinning={this.state.loading}>
  910. <div className="patent-table">
  911. <Table
  912. columns={this.state.columnsDate}
  913. dataSource={this.state.recordData}
  914. pagination={false}
  915. />
  916. <div className="clearfix" style={{ marginTop: "20px" }}>
  917. <FormItem
  918. className="half-item"
  919. {...formItemLayout}
  920. label={<span style={{ fontSize: "14px" }}>开票总计</span>}
  921. >
  922. <span>{this.state.sum + "(万元)"}</span>
  923. </FormItem>
  924. </div>
  925. </div>
  926. </Spin>
  927. </Modal>
  928. </div>
  929. );
  930. }
  931. });
  932. export default invoiceApplyList;