changeDetailJsy.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  1. import React, { Component } from "react";
  2. import { Form, Upload, Modal, Button, message, Select, Input } from "antd";
  3. import AgreeButton from "./agreeButton.js";
  4. import Rizhi from "./rizhi.js";
  5. import { getProcessStatusNew, changeColor } from "@/tools.js";
  6. import { shenghePeo } from "@/tools.js"
  7. import { typeList } from '@/dataDic.js'
  8. import $ from "jquery/src/ajax";
  9. import tongguo from "../../../../../../image/tongguo.png";
  10. import quxiao from "../../../../../../image/quxiao.png";
  11. import ProAndCuiList from "./proAndCuiList.jsx";
  12. import "./xButton.less";
  13. // import ReactToPrint from "react-to-print";
  14. const FormItem = Form.Item;
  15. import Refund from "./refund.js"
  16. import ImgList from "../../../../common/imgList";
  17. import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
  18. const { TextArea } = Input;
  19. const formItemLayout = {
  20. labelCol: { span: 8 },
  21. wrapperCol: { span: 14 }
  22. };
  23. const getChangeType = function (e) {
  24. if (e || e == 0) {
  25. let str = e.toString();
  26. let theType = "";
  27. typeList.map(function (item) {
  28. if (item.value == str) {
  29. theType = item.key;
  30. }
  31. });
  32. return theType;
  33. }
  34. };
  35. class Itemlist extends Component {
  36. constructor(props) {
  37. super(props);
  38. }
  39. render() {
  40. let pageData = this.props.pageData;
  41. return (
  42. <div className="clearfix">
  43. <Form.Item
  44. label={pageData.labelA}
  45. {...pageData.formItemLayoutA}
  46. className="half-item"
  47. >
  48. <p style={{ width: 350, wordWrap: "break-word" }}>
  49. {pageData.dataA}
  50. {pageData.labelA === '客户名称' ? <EnterpriseNameChange
  51. type='journal'
  52. style={{ marginLeft: 10 }}
  53. enterpriseId={this.props.orderUid}/> : null}
  54. </p>
  55. </Form.Item>
  56. <Form.Item
  57. label={pageData.labelB}
  58. {...pageData.formItemLayoutB}
  59. className="half-item"
  60. >
  61. <span>{pageData.dataB}</span>
  62. </Form.Item>
  63. </div>
  64. );
  65. }
  66. }
  67. class ChangeDetail extends Component {
  68. constructor(props) {
  69. super(props);
  70. this.state = {
  71. rotateDeg: 0,
  72. previewVisible: false,
  73. buttonStatus: true,
  74. changeType: 1,
  75. dataSource: [],
  76. reason: "",
  77. // 累计回收退票
  78. refundInvoice: 0,
  79. // 退票数组
  80. contactList: [],
  81. rejectState: 0,
  82. // 收款信息
  83. proceedsData: [],
  84. proceedsTotal: this.props.proceedsTotal,
  85. // 开票信息
  86. invoiceData: [],
  87. invoiceTotal: this.props.invoiceTotal,
  88. cost: 10,
  89. refund: 8,
  90. // 测试添加退票
  91. contactList: this.props.contactList,
  92. ContactsLists: [
  93. {
  94. title: "金额(万元)",
  95. dataIndex: "amount",
  96. key: "amount",
  97. render: (text, record) => {
  98. return (
  99. <div>
  100. 实际回收退票(万元)
  101. <Input
  102. value={record.amount}
  103. placeholder="请输入金额(必填项)"
  104. disabled={record.load}
  105. key={record.id}
  106. required="required"
  107. onChange={(e) => {
  108. record.amount = e.target.value;
  109. this.setState({ contactList: this.state.contactList });
  110. }}
  111. style={{ width: "120px" }}
  112. />
  113. </div>
  114. );
  115. },
  116. },
  117. {
  118. title: "时间",
  119. dataIndex: "createTimes",
  120. key: "createTimes",
  121. render: (text, record) => {
  122. return <div>{record.createTimes}</div>;
  123. },
  124. },
  125. ],
  126. };
  127. this.getOrgCodeUrl = this.getOrgCodeUrl.bind(this);
  128. this.changeButtonStatus = this.changeButtonStatus.bind(this);
  129. this.moneyOld = this.moneyOld.bind(this);
  130. this.rotate = this.rotate.bind(this);
  131. this.downImg = this.downImg.bind(this);
  132. this.upImg = this.upImg.bind(this);
  133. }
  134. getOrgCodeUrl(e) {
  135. this.setState({
  136. orgCodeUrl: e,
  137. });
  138. }
  139. changeButtonStatus() {
  140. this.setState({
  141. buttonStatus: !this.state.buttonStatus,
  142. });
  143. }
  144. downImg() {
  145. let num = 0;
  146. for (let i = 0; i < this.props.pictureUrl.length; i++) {
  147. if (this.props.pictureUrl[i].url == this.state.previewImage) {
  148. num = i;
  149. }
  150. }
  151. if (num == this.props.pictureUrl.length - 1) {
  152. return message.warning("已经是最后一张了哦");
  153. }
  154. this.state.previewImage = this.props.pictureUrl[num + 1].url;
  155. this.setState({
  156. previewImage: this.state.previewImage,
  157. rotateDeg: 0,
  158. });
  159. }
  160. upImg() {
  161. let num = 0;
  162. for (let i = 0; i < this.props.pictureUrl.length; i++) {
  163. if (this.props.pictureUrl[i].url == this.state.previewImage) {
  164. num = i;
  165. }
  166. }
  167. if (num == 0) {
  168. return message.warning("已经是第一张了哦");
  169. }
  170. this.state.previewImage = this.props.pictureUrl[num - 1].url;
  171. this.setState({
  172. previewImage: this.state.previewImage,
  173. rotateDeg: 0,
  174. });
  175. }
  176. rotate() {
  177. let rotateDeg = this.state.rotateDeg + 90;
  178. this.setState({
  179. rotateDeg,
  180. });
  181. }
  182. moneyOld(str, money) {
  183. if (money) {
  184. return (
  185. <span style={{ color: "red", fontWeight: 900, fontSize: 16 }}>
  186. {str}(原合同金额{money}万元)
  187. </span>
  188. );
  189. } else {
  190. return (
  191. <span style={{ color: "red", fontWeight: 900, fontSize: 16 }}>
  192. {str}
  193. </span>
  194. );
  195. }
  196. }
  197. render() {
  198. const pageData = [
  199. {
  200. labelA: "客户名称",
  201. formItemLayoutA: formItemLayout,
  202. dataA: this.props.data.userName,
  203. labelB: "合同编号",
  204. formItemLayoutB: formItemLayout,
  205. dataB: this.props.data.contractNo,
  206. },
  207. {
  208. labelA: "时间",
  209. formItemLayoutA: formItemLayout,
  210. dataA: this.props.data.createTimes,
  211. labelB: "发起人",
  212. formItemLayoutB: formItemLayout,
  213. dataB: this.props.data.applicant,
  214. },
  215. {
  216. labelA: "当前进度",
  217. formItemLayoutA: formItemLayout,
  218. // 当前是咨询师以及咨询师经理时使用shenhePeo函数,其他流程正常显示
  219. dataA:
  220. this.props.data.processState == 2 || this.props.data.processState == 3
  221. ? shenghePeo(
  222. this.props.data.processState == 2
  223. ? this.props.data.consultantExamine
  224. : this.props.data.managerExamine,
  225. this.props.data.processState
  226. )
  227. : getProcessStatusNew(
  228. this.props.data.processState,
  229. this.props.data.status
  230. ),
  231. labelB: "变更类型",
  232. formItemLayoutB: formItemLayout,
  233. dataB: getChangeType(this.props.data.type),
  234. },
  235. {
  236. labelA: "合同额(万元)",
  237. formItemLayoutA: formItemLayout,
  238. dataA: "***",
  239. labelB: "已收款(万元)",
  240. formItemLayoutB: formItemLayout,
  241. dataB: "***",
  242. },
  243. {
  244. labelA: "欠款(万元)",
  245. formItemLayoutA: formItemLayout,
  246. dataA: "***",
  247. labelB: "申请退款(万元)",
  248. formItemLayoutB: formItemLayout,
  249. dataB: "***",
  250. },
  251. {
  252. labelA: "变更原因",
  253. formItemLayoutA: formItemLayout,
  254. dataA: this.props.data.remarks,
  255. },
  256. ];
  257. const planData = [
  258. {
  259. labelA: "项目进度",
  260. formItemLayoutA: formItemLayout,
  261. dataA: this.props.data.projectState,
  262. labelB: "发生成本费用(万元)",
  263. formItemLayoutB: formItemLayout,
  264. dataB: "***",
  265. },
  266. {
  267. labelA: "备注",
  268. formItemLayoutA: formItemLayout,
  269. dataA: this.props.data.zxsRemarks,
  270. },
  271. ];
  272. const financeData = [
  273. {
  274. labelA: "收款时间",
  275. formItemLayoutA: formItemLayout,
  276. dataA: this.props.data.paymentTimes,
  277. labelB: "收款金额(万元)",
  278. formItemLayoutB: formItemLayout,
  279. dataB: "***",
  280. },
  281. {
  282. labelA: "开票时间",
  283. formItemLayoutA: formItemLayout,
  284. dataA: this.props.data.invoiceTimes,
  285. labelB: "已开票金额(万元)",
  286. formItemLayoutB: formItemLayout,
  287. dataB: "***",
  288. },
  289. {
  290. labelA: "发生成本(万元)",
  291. formItemLayoutA: formItemLayout,
  292. dataA: "***",
  293. labelB: "应退金额(万元)",
  294. formItemLayoutB: formItemLayout,
  295. dataB: "***",
  296. },
  297. {
  298. labelA: "补充资料/备注",
  299. formItemLayoutA: formItemLayout,
  300. dataA: this.props.data.cwRemarks,
  301. },
  302. ];
  303. const buttonData = [
  304. {
  305. name: "同意",
  306. title: "理由",
  307. placeholder: "请输入理由",
  308. type: "primary",
  309. status: 2,
  310. onChange: (value) => {
  311. this.setState({
  312. remarks: value,
  313. });
  314. },
  315. },
  316. {
  317. name: "拒绝",
  318. title: "理由",
  319. placeholder: "请输入理由",
  320. type: "danger",
  321. status: 3,
  322. onChange: (value) => {
  323. this.setState({
  324. remarks: value,
  325. });
  326. },
  327. },
  328. ];
  329. const orgCodeUrl = this.props.pictureUrl;
  330. const attachment = this.props.attachment
  331. return (
  332. <div className="clearfix changeDetail">
  333. <div
  334. className="clearfix"
  335. ref={(e) => {
  336. this.refs = e;
  337. }}
  338. >
  339. <div
  340. style={{
  341. borderRadius: "50%",
  342. width: 300,
  343. height: 300,
  344. position: "absolute",
  345. top: 230,
  346. left: 525,
  347. transform: "rotate(-5deg)",
  348. zIndex: 1,
  349. display:
  350. (this.props.data.processState == 7 ||
  351. this.props.data.processState == 8) &&
  352. this.props.data.status == 4
  353. ? "block"
  354. : "none",
  355. }}
  356. >
  357. {/* <span
  358. style={{
  359. fontSize: 29,
  360. position: "absolute",
  361. left: "50%",
  362. top: "50%",
  363. transform: "translate(-50%,-50%)",
  364. color: "red"
  365. }}
  366. >
  367. 通过
  368. </span> */}
  369. <img src={tongguo} style={{ width: "100%" }} />
  370. </div>
  371. <div
  372. style={{
  373. borderRadius: "50%",
  374. width: 300,
  375. height: 300,
  376. position: "absolute",
  377. top: 284,
  378. left: 586,
  379. transform: "rotate(-5deg)",
  380. zIndex: 1,
  381. display: this.props.data.status == 5 ? "block" : "none",
  382. }}
  383. >
  384. <img src={quxiao} style={{ width: "63%" }} />
  385. </div>
  386. <h2 style={{ textAlign: "center", marginBottom: 10 }}>
  387. 合同变更记录
  388. </h2>
  389. {pageData.map((item, index) => {
  390. return <Itemlist key={index} pageData={item} orderUid={this.props.orderUid}/>;
  391. })}
  392. <Form.Item
  393. label="变更凭证"
  394. labelCol={{ span: 4 }}
  395. wrapperCol={{ span: 18 }}
  396. >
  397. <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
  398. <ImgList domId={this.props.domId ? this.props.domId : 'changeDetailJsy1'} fileList={orgCodeUrl} ItemWidth={'96px'}/>
  399. </div>
  400. <Modal
  401. maskClosable={false}
  402. footer={null}
  403. width={"50%"}
  404. visible={this.state.previewVisible}
  405. onCancel={() => {
  406. this.state.rotateDeg = 0;
  407. this.setState({
  408. previewVisible: false,
  409. rotateDeg: this.state.rotateDeg,
  410. });
  411. }}
  412. >
  413. <img
  414. alt=""
  415. style={{
  416. width: "100%",
  417. transform: `rotate(${this.state.rotateDeg}deg)`,
  418. }}
  419. src={this.state.previewImage || ""}
  420. />
  421. <Button
  422. onClick={this.rotate}
  423. style={{
  424. position: "relative",
  425. left: "50%",
  426. transform: "translateX(-50%)",
  427. }}
  428. >
  429. 旋转
  430. </Button>
  431. <Button
  432. onClick={this.upImg}
  433. style={{
  434. position: "absolute",
  435. left: -81,
  436. top: "50%",
  437. transform: "translateY(-50%)",
  438. }}
  439. >
  440. 上一张
  441. </Button>
  442. <Button
  443. onClick={this.downImg}
  444. style={{
  445. position: "absolute",
  446. right: -81,
  447. top: "50%",
  448. transform: "translateY(-50%)",
  449. }}
  450. >
  451. 下一张
  452. </Button>
  453. </Modal>
  454. <Rizhi changeId={this.props.id} />
  455. </Form.Item>
  456. {
  457. this.props.contractPictureUrl && this.props.contractPictureUrl.length != 0 &&
  458. <div className="clearfix">
  459. <Form.Item
  460. labelCol={{ span: 4 }}
  461. wrapperCol={{ span: 18 }}
  462. label="最新合同"
  463. >
  464. <div style={{ paddingTop: 10 }}>
  465. <ImgList
  466. fileList={
  467. this.props.contractPictureUrl
  468. }
  469. ItemWidth={"96px"}
  470. />
  471. </div>
  472. </Form.Item>
  473. </div>
  474. }
  475. {/* <ul>
  476. {this.props.data.consultantExamine.map((item, index) => {
  477. return (
  478. <li>
  479. )
  480. })}
  481. </ul> */}
  482. {/* <h2 style={{ textAlign: "center", marginBottom: 0 }}>变更日志</h2> */}
  483. <ul
  484. style={{
  485. width: "868px",
  486. overflow: "hidden",
  487. paddingLeft: "90px",
  488. position: "relative",
  489. bottom: "0px",
  490. }}
  491. >
  492. {/* <span>操作人:</span> */}
  493. {this.props.dataSource.map((item, index) => {
  494. if (item.status == 0) {
  495. item.status = "发起";
  496. } else if (item.status == 1) {
  497. item.status = "审核中";
  498. } else if (item.status == 2) {
  499. item.status = "通过";
  500. } else if (item.status == 3) {
  501. item.status = "驳回";
  502. } else if (item.status == 4) {
  503. item.status = "完成";
  504. }
  505. return (
  506. <li
  507. key={index}
  508. style={{
  509. width: "100%",
  510. height: "auto",
  511. wordBreak: "break-all",
  512. marginBottom: "10px",
  513. }}
  514. >
  515. {item.aname + ":" + "(" + item.status + ")" + item.remarks}
  516. </li>
  517. );
  518. })}
  519. </ul>
  520. <ProAndCuiList id={this.props.id} isZxs={true} />
  521. {/* {this.props.data.processState >= 3 ? (
  522. <div>
  523. <h3 style={{ marginLeft: 10, fontWeight: 800, marginBottom: 10 }}>
  524. 当前项目进度(咨询师填写)
  525. </h3>
  526. {planData.map((item, index) => {
  527. return <Itemlist key={index} pageData={item} />;
  528. })}
  529. </div>
  530. ) : (
  531. ""
  532. )} */}
  533. {/* {this.props.data.processState >= 5 ? (
  534. <div>
  535. <h3 style={{ marginLeft: 10, fontWeight: 800, marginBottom: 10 }}>
  536. 当前财务状态(财务填写)
  537. </h3>
  538. {financeData.map((item, index) => {
  539. return <Itemlist key={index} pageData={item} />;
  540. })}
  541. </div>
  542. ) : (
  543. ""
  544. )} */}
  545. {/* 完成审核,上传附件 */}
  546. <div style={{
  547. position: "relative",
  548. display:
  549. (this.props.data.processState == 7 ||
  550. this.props.data.processState == 8) &&
  551. this.props.data.status == 2 || this.props.data.status == 4 || this.props.data.status == 3 || this.props.data.status == 6
  552. ? "block"
  553. : "none",
  554. marginTop: 10,
  555. }}
  556. >
  557. <hr
  558. style={{
  559. marginTop: 12,
  560. marginBottom: 10,
  561. backgroundColor: "black",
  562. height: 1,
  563. border: "none",
  564. }}
  565. />
  566. <h3
  567. style={{
  568. marginLeft: 20,
  569. fontWeight: 800,
  570. marginBottom: 10,
  571. display: "inline-block",
  572. }}
  573. >
  574. 完成审核,上传附件{" "}
  575. <span
  576. style={{ fontSize: 12, fontWeight: "normal", color: "red" }}
  577. >
  578. (注:由营销员上传变更后附件,全变更流程完成。)
  579. </span>
  580. </h3>
  581. <div>
  582. <Form.Item
  583. label="变更附件"
  584. labelCol={{ span: 4 }}
  585. wrapperCol={{ span: 18 }}
  586. >
  587. <div style={{paddingTop:'10px',paddingBottom:'10px'}}>
  588. { attachment.length > 0 ? <ImgList domId={this.props.domId+2 ? this.props.domId+2 : 'changeDetailJsy2'} fileList={attachment} ItemWidth={'96px'}/> :'无附件'}
  589. </div>
  590. <Modal
  591. maskClosable={false}
  592. footer={null}
  593. width={"50%"}
  594. visible={this.state.previewVisible}
  595. onCancel={() => {
  596. this.setState({ previewVisible: false, rotateDeg: 0 }, () => {
  597. // this.reset();
  598. });
  599. }}
  600. >
  601. <img
  602. alt=""
  603. style={{
  604. width: "100%",
  605. transform: `rotate(${this.state.rotateDeg}deg)`,
  606. }}
  607. src={this.state.previewImage || ""}
  608. />
  609. <Button
  610. onClick={this.rotate}
  611. style={{
  612. position: "relative",
  613. left: "50%",
  614. transform: "translateX(-50%)",
  615. }}
  616. >
  617. 旋转
  618. </Button>
  619. <Button
  620. onClick={this.upImg}
  621. style={{
  622. position: "absolute",
  623. left: -81,
  624. top: "50%",
  625. transform: "translateY(-50%)",
  626. }}
  627. >
  628. 上一张
  629. </Button>
  630. <Button
  631. onClick={this.downImg}
  632. style={{
  633. position: "absolute",
  634. right: -81,
  635. top: "50%",
  636. transform: "translateY(-50%)",
  637. }}
  638. >
  639. 下一张
  640. </Button>
  641. </Modal>
  642. {/* <Rizhi changeId={this.props.id} /> */}
  643. </Form.Item>
  644. </div>
  645. </div>
  646. <div
  647. style={{
  648. display:
  649. (this.props.data.processState == 7 ||
  650. this.props.data.processState == 8) &&
  651. this.props.data.status == 4 &&
  652. this.props.data.refundStatus
  653. ? "block"
  654. : "none",
  655. }}
  656. >
  657. <Refund data={this.props.data} id={this.props.id} />
  658. </div>
  659. </div>
  660. {this.props.processState === this.props.data.processState ? (
  661. <div
  662. style={{
  663. display: this.props.data.isExamine == 0 ? "block" : "none",
  664. }}
  665. >
  666. <div className="clearfix" style={{ marginBottom: "10px" }}>
  667. <FormItem
  668. style={{ height: "auto" }}
  669. labelCol={{ span: 4 }}
  670. wrapperCol={{ span: 18 }}
  671. label="备注"
  672. >
  673. <TextArea
  674. rows={4}
  675. placeholder="请输入备注信息"
  676. style={{ width: "95%" }}
  677. value={this.state.reason}
  678. onChange={(e) => {
  679. let reason = e.target.value;
  680. this.setState({ reason });
  681. }}
  682. />
  683. </FormItem>
  684. </div>
  685. <div
  686. className="clearfix"
  687. style={{ display: "flex", justifyContent: "space-around" }}
  688. >
  689. {buttonData.map((item, index) => {
  690. return (
  691. <AgreeButton
  692. data={item}
  693. key={index}
  694. backData={this.props.data}
  695. processState={this.props.processState}
  696. visible={this.changeButtonStatus}
  697. ajaxData={this.state}
  698. loadData={this.props.loadData}
  699. rejectState={this.state.rejectState}
  700. reason={this.state.reason}
  701. onCancel={this.props.onCancel}
  702. />
  703. );
  704. })}
  705. </div>
  706. <Select
  707. defaultValue="0"
  708. style={{
  709. width: 120,
  710. float: "left",
  711. position: "relative",
  712. bottom: "28px",
  713. right: "-600px",
  714. }}
  715. onChange={(val) => {
  716. this.setState({ rejectState: val });
  717. }}
  718. >
  719. <Option
  720. value="0"
  721. style={{
  722. display: this.props.processState >= 1 ? "block" : "none",
  723. }}
  724. >
  725. 营销员
  726. </Option>
  727. <Option
  728. value="1"
  729. style={{
  730. display: this.props.processState >= 2 ? "block" : "none",
  731. }}
  732. >
  733. 营销管理员
  734. </Option>
  735. <Option
  736. value="2"
  737. style={{
  738. display: this.props.processState >= 3 ? "block" : "none",
  739. }}
  740. >
  741. 咨询师
  742. </Option>
  743. <Option
  744. value="3"
  745. style={{
  746. display: this.props.processState >= 4 ? "block" : "none",
  747. }}
  748. >
  749. 咨询师经理
  750. </Option>
  751. <Option
  752. value="4"
  753. style={{
  754. display: this.props.processState >= 5 ? "block" : "none",
  755. }}
  756. >
  757. 咨询师总监
  758. </Option>
  759. <Option
  760. value="5"
  761. style={{
  762. display: this.props.processState >= 6 ? "block" : "none",
  763. }}
  764. >
  765. 财务专员(退单)
  766. </Option>
  767. <Option
  768. value="6"
  769. style={{
  770. display: this.props.processState >= 7 ? "block" : "none",
  771. }}
  772. >
  773. 财务总监
  774. </Option>
  775. <Option
  776. value="7"
  777. style={{
  778. display: this.props.processState >= 8 ? "block" : "none",
  779. }}
  780. >
  781. 总裁
  782. </Option>
  783. </Select>
  784. </div>
  785. ) : (
  786. ""
  787. )}
  788. {/* <ReactToPrint
  789. trigger={() => (
  790. <div className="clearfix">
  791. <Button type="primary" style={{ float: "right", marginTop: 10 }}>
  792. 打印
  793. </Button>
  794. </div>
  795. )}
  796. content={() => this.refs}
  797. /> */}
  798. </div>
  799. );
  800. }
  801. }
  802. export { ChangeDetail };