changeDetailJsy.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816
  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(this.props.data.examineName, this.props.data.processState)
  222. : getProcessStatusNew(
  223. this.props.data.examineName,
  224. this.props.data.processState,
  225. this.props.data.status
  226. ),
  227. labelB: "变更类型",
  228. formItemLayoutB: formItemLayout,
  229. dataB: getChangeType(this.props.data.type),
  230. },
  231. {
  232. labelA: "合同额(万元)",
  233. formItemLayoutA: formItemLayout,
  234. dataA: "***",
  235. labelB: "已收款(万元)",
  236. formItemLayoutB: formItemLayout,
  237. dataB: "***",
  238. },
  239. {
  240. labelA: "欠款(万元)",
  241. formItemLayoutA: formItemLayout,
  242. dataA: "***",
  243. labelB: "申请退款(万元)",
  244. formItemLayoutB: formItemLayout,
  245. dataB: "***",
  246. },
  247. {
  248. labelA: "变更原因",
  249. formItemLayoutA: formItemLayout,
  250. dataA: this.props.data.remarks,
  251. },
  252. ];
  253. const planData = [
  254. {
  255. labelA: "项目进度",
  256. formItemLayoutA: formItemLayout,
  257. dataA: this.props.data.projectState,
  258. labelB: "发生成本费用(万元)",
  259. formItemLayoutB: formItemLayout,
  260. dataB: "***",
  261. },
  262. {
  263. labelA: "备注",
  264. formItemLayoutA: formItemLayout,
  265. dataA: this.props.data.zxsRemarks,
  266. },
  267. ];
  268. const financeData = [
  269. {
  270. labelA: "收款时间",
  271. formItemLayoutA: formItemLayout,
  272. dataA: this.props.data.paymentTimes,
  273. labelB: "收款金额(万元)",
  274. formItemLayoutB: formItemLayout,
  275. dataB: "***",
  276. },
  277. {
  278. labelA: "开票时间",
  279. formItemLayoutA: formItemLayout,
  280. dataA: this.props.data.invoiceTimes,
  281. labelB: "已开票金额(万元)",
  282. formItemLayoutB: formItemLayout,
  283. dataB: "***",
  284. },
  285. {
  286. labelA: "发生成本(万元)",
  287. formItemLayoutA: formItemLayout,
  288. dataA: "***",
  289. labelB: "应退金额(万元)",
  290. formItemLayoutB: formItemLayout,
  291. dataB: "***",
  292. },
  293. {
  294. labelA: "补充资料/备注",
  295. formItemLayoutA: formItemLayout,
  296. dataA: this.props.data.cwRemarks,
  297. },
  298. ];
  299. const buttonData = [
  300. {
  301. name: "同意",
  302. title: "理由",
  303. placeholder: "请输入理由",
  304. type: "primary",
  305. status: 2,
  306. onChange: (value) => {
  307. this.setState({
  308. remarks: value,
  309. });
  310. },
  311. },
  312. {
  313. name: "拒绝",
  314. title: "理由",
  315. placeholder: "请输入理由",
  316. type: "danger",
  317. status: 3,
  318. onChange: (value) => {
  319. this.setState({
  320. remarks: value,
  321. });
  322. },
  323. },
  324. ];
  325. const orgCodeUrl = this.props.pictureUrl;
  326. const attachment = this.props.attachment
  327. return (
  328. <div className="clearfix changeDetail">
  329. <div
  330. className="clearfix"
  331. ref={(e) => {
  332. this.refs = e;
  333. }}
  334. >
  335. <div
  336. style={{
  337. borderRadius: "50%",
  338. width: 300,
  339. height: 300,
  340. position: "absolute",
  341. top: 230,
  342. left: 525,
  343. transform: "rotate(-5deg)",
  344. zIndex: 1,
  345. display:
  346. (this.props.data.processState == 7 ||
  347. this.props.data.processState == 8) &&
  348. this.props.data.status == 4
  349. ? "block"
  350. : "none",
  351. }}
  352. >
  353. {/* <span
  354. style={{
  355. fontSize: 29,
  356. position: "absolute",
  357. left: "50%",
  358. top: "50%",
  359. transform: "translate(-50%,-50%)",
  360. color: "red"
  361. }}
  362. >
  363. 通过
  364. </span> */}
  365. <img src={tongguo} style={{ width: "100%" }} />
  366. </div>
  367. <div
  368. style={{
  369. borderRadius: "50%",
  370. width: 300,
  371. height: 300,
  372. position: "absolute",
  373. top: 284,
  374. left: 586,
  375. transform: "rotate(-5deg)",
  376. zIndex: 1,
  377. display: this.props.data.status == 5 ? "block" : "none",
  378. }}
  379. >
  380. <img src={quxiao} style={{ width: "63%" }} />
  381. </div>
  382. <h2 style={{ textAlign: "center", marginBottom: 10 }}>
  383. 合同变更记录
  384. </h2>
  385. {pageData.map((item, index) => {
  386. return <Itemlist key={index} pageData={item} orderUid={this.props.orderUid} />;
  387. })}
  388. <Form.Item
  389. label="变更凭证"
  390. labelCol={{ span: 4 }}
  391. wrapperCol={{ span: 18 }}
  392. >
  393. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  394. <ImgList domId={this.props.domId ? this.props.domId : 'changeDetailJsy1'} fileList={orgCodeUrl} ItemWidth={'96px'} />
  395. </div>
  396. <Modal
  397. maskClosable={false}
  398. footer={null}
  399. width={"50%"}
  400. visible={this.state.previewVisible}
  401. onCancel={() => {
  402. this.state.rotateDeg = 0;
  403. this.setState({
  404. previewVisible: false,
  405. rotateDeg: this.state.rotateDeg,
  406. });
  407. }}
  408. >
  409. <img
  410. alt=""
  411. style={{
  412. width: "100%",
  413. transform: `rotate(${this.state.rotateDeg}deg)`,
  414. }}
  415. src={this.state.previewImage || ""}
  416. />
  417. <Button
  418. onClick={this.rotate}
  419. style={{
  420. position: "relative",
  421. left: "50%",
  422. transform: "translateX(-50%)",
  423. }}
  424. >
  425. 旋转
  426. </Button>
  427. <Button
  428. onClick={this.upImg}
  429. style={{
  430. position: "absolute",
  431. left: -81,
  432. top: "50%",
  433. transform: "translateY(-50%)",
  434. }}
  435. >
  436. 上一张
  437. </Button>
  438. <Button
  439. onClick={this.downImg}
  440. style={{
  441. position: "absolute",
  442. right: -81,
  443. top: "50%",
  444. transform: "translateY(-50%)",
  445. }}
  446. >
  447. 下一张
  448. </Button>
  449. </Modal>
  450. <Rizhi changeId={this.props.id} />
  451. </Form.Item>
  452. {
  453. this.props.contractPictureUrl && this.props.contractPictureUrl.length != 0 &&
  454. <div className="clearfix">
  455. <Form.Item
  456. labelCol={{ span: 4 }}
  457. wrapperCol={{ span: 18 }}
  458. label="最新合同"
  459. >
  460. <div style={{ paddingTop: 10 }}>
  461. <ImgList
  462. fileList={
  463. this.props.contractPictureUrl
  464. }
  465. ItemWidth={"96px"}
  466. />
  467. </div>
  468. </Form.Item>
  469. </div>
  470. }
  471. {/* <ul>
  472. {this.props.data.consultantExamine.map((item, index) => {
  473. return (
  474. <li>
  475. )
  476. })}
  477. </ul> */}
  478. {/* <h2 style={{ textAlign: "center", marginBottom: 0 }}>变更日志</h2> */}
  479. <ul
  480. style={{
  481. width: "868px",
  482. overflow: "hidden",
  483. paddingLeft: "90px",
  484. position: "relative",
  485. bottom: "0px",
  486. }}
  487. >
  488. {/* <span>操作人:</span> */}
  489. {this.props.dataSource.map((item, index) => {
  490. if (item.status == 0) {
  491. item.status = "发起";
  492. } else if (item.status == 1) {
  493. item.status = "审核中";
  494. } else if (item.status == 2) {
  495. item.status = "通过";
  496. } else if (item.status == 3) {
  497. item.status = "驳回";
  498. } else if (item.status == 4) {
  499. item.status = "完成";
  500. }
  501. return (
  502. <li
  503. key={index}
  504. style={{
  505. width: "100%",
  506. height: "auto",
  507. wordBreak: "break-all",
  508. marginBottom: "10px",
  509. }}
  510. >
  511. {item.aname + ":" + "(" + item.status + ")" + item.remarks}
  512. </li>
  513. );
  514. })}
  515. </ul>
  516. <ProAndCuiList id={this.props.id} isZxs={true} />
  517. {/* {this.props.data.processState >= 3 ? (
  518. <div>
  519. <h3 style={{ marginLeft: 10, fontWeight: 800, marginBottom: 10 }}>
  520. 当前项目进度(咨询师填写)
  521. </h3>
  522. {planData.map((item, index) => {
  523. return <Itemlist key={index} pageData={item} />;
  524. })}
  525. </div>
  526. ) : (
  527. ""
  528. )} */}
  529. {/* {this.props.data.processState >= 5 ? (
  530. <div>
  531. <h3 style={{ marginLeft: 10, fontWeight: 800, marginBottom: 10 }}>
  532. 当前财务状态(财务填写)
  533. </h3>
  534. {financeData.map((item, index) => {
  535. return <Itemlist key={index} pageData={item} />;
  536. })}
  537. </div>
  538. ) : (
  539. ""
  540. )} */}
  541. {/* 完成审核,上传附件 */}
  542. <div style={{
  543. position: "relative",
  544. display:
  545. (this.props.data.processState == 7 ||
  546. this.props.data.processState == 8) &&
  547. this.props.data.status == 2 || this.props.data.status == 4 || this.props.data.status == 3 || this.props.data.status == 6
  548. ? "block"
  549. : "none",
  550. marginTop: 10,
  551. }}
  552. >
  553. <hr
  554. style={{
  555. marginTop: 12,
  556. marginBottom: 10,
  557. backgroundColor: "black",
  558. height: 1,
  559. border: "none",
  560. }}
  561. />
  562. <h3
  563. style={{
  564. marginLeft: 20,
  565. fontWeight: 800,
  566. marginBottom: 10,
  567. display: "inline-block",
  568. }}
  569. >
  570. 完成审核,上传附件{" "}
  571. <span
  572. style={{ fontSize: 12, fontWeight: "normal", color: "red" }}
  573. >
  574. (注:由营销员上传变更后附件,全变更流程完成。)
  575. </span>
  576. </h3>
  577. <div>
  578. <Form.Item
  579. label="变更附件"
  580. labelCol={{ span: 4 }}
  581. wrapperCol={{ span: 18 }}
  582. >
  583. <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
  584. {attachment.length > 0 ? <ImgList domId={this.props.domId + 2 ? this.props.domId + 2 : 'changeDetailJsy2'} fileList={attachment} ItemWidth={'96px'} /> : '无附件'}
  585. </div>
  586. <Modal
  587. maskClosable={false}
  588. footer={null}
  589. width={"50%"}
  590. visible={this.state.previewVisible}
  591. onCancel={() => {
  592. this.setState({ previewVisible: false, rotateDeg: 0 }, () => {
  593. // this.reset();
  594. });
  595. }}
  596. >
  597. <img
  598. alt=""
  599. style={{
  600. width: "100%",
  601. transform: `rotate(${this.state.rotateDeg}deg)`,
  602. }}
  603. src={this.state.previewImage || ""}
  604. />
  605. <Button
  606. onClick={this.rotate}
  607. style={{
  608. position: "relative",
  609. left: "50%",
  610. transform: "translateX(-50%)",
  611. }}
  612. >
  613. 旋转
  614. </Button>
  615. <Button
  616. onClick={this.upImg}
  617. style={{
  618. position: "absolute",
  619. left: -81,
  620. top: "50%",
  621. transform: "translateY(-50%)",
  622. }}
  623. >
  624. 上一张
  625. </Button>
  626. <Button
  627. onClick={this.downImg}
  628. style={{
  629. position: "absolute",
  630. right: -81,
  631. top: "50%",
  632. transform: "translateY(-50%)",
  633. }}
  634. >
  635. 下一张
  636. </Button>
  637. </Modal>
  638. {/* <Rizhi changeId={this.props.id} /> */}
  639. </Form.Item>
  640. </div>
  641. </div>
  642. <div
  643. style={{
  644. display:
  645. (this.props.data.processState == 7 ||
  646. this.props.data.processState == 8) &&
  647. this.props.data.status == 4 &&
  648. this.props.data.refundStatus
  649. ? "block"
  650. : "none",
  651. }}
  652. >
  653. <Refund data={this.props.data} id={this.props.id} />
  654. </div>
  655. </div>
  656. {this.props.processState === this.props.data.processState ? (
  657. <div
  658. style={{
  659. display: this.props.data.isExamine == 0 ? "block" : "none",
  660. }}
  661. >
  662. <div className="clearfix" style={{ marginBottom: "10px" }}>
  663. <FormItem
  664. style={{ height: "auto" }}
  665. labelCol={{ span: 4 }}
  666. wrapperCol={{ span: 18 }}
  667. label="备注"
  668. >
  669. <TextArea
  670. rows={4}
  671. placeholder="请输入备注信息"
  672. style={{ width: "95%" }}
  673. value={this.state.reason}
  674. onChange={(e) => {
  675. let reason = e.target.value;
  676. this.setState({ reason });
  677. }}
  678. />
  679. </FormItem>
  680. </div>
  681. <div
  682. className="clearfix"
  683. style={{ display: "flex", justifyContent: "space-around" }}
  684. >
  685. {buttonData.map((item, index) => {
  686. return (
  687. <AgreeButton
  688. data={item}
  689. key={index}
  690. backData={this.props.data}
  691. processState={this.props.processState}
  692. visible={this.changeButtonStatus}
  693. ajaxData={this.state}
  694. loadData={this.props.loadData}
  695. rejectState={this.state.rejectState}
  696. reason={this.state.reason}
  697. onCancel={this.props.onCancel}
  698. />
  699. );
  700. })}
  701. </div>
  702. <Select
  703. defaultValue="0"
  704. style={{
  705. width: 120,
  706. float: "left",
  707. position: "relative",
  708. bottom: "28px",
  709. right: "-600px",
  710. }}
  711. onChange={(val) => {
  712. this.setState({ rejectState: val });
  713. }}
  714. >
  715. <Option
  716. value="0"
  717. style={{
  718. display: this.props.processState >= 1 ? "block" : "none",
  719. }}
  720. >
  721. 营销员
  722. </Option>
  723. <Option
  724. value="1"
  725. style={{
  726. display: this.props.processState >= 2 ? "block" : "none",
  727. }}
  728. >
  729. 营销管理员
  730. </Option>
  731. <Option
  732. value="2"
  733. style={{
  734. display: this.props.processState >= 3 ? "block" : "none",
  735. }}
  736. >
  737. 咨询师
  738. </Option>
  739. <Option
  740. value="3"
  741. style={{
  742. display: this.props.processState >= 4 ? "block" : "none",
  743. }}
  744. >
  745. 咨询师经理
  746. </Option>
  747. <Option
  748. value="4"
  749. style={{
  750. display: this.props.processState >= 5 ? "block" : "none",
  751. }}
  752. >
  753. 咨询师总监
  754. </Option>
  755. <Option
  756. value="5"
  757. style={{
  758. display: this.props.processState >= 6 ? "block" : "none",
  759. }}
  760. >
  761. 财务专员(退单)
  762. </Option>
  763. <Option
  764. value="6"
  765. style={{
  766. display: this.props.processState >= 7 ? "block" : "none",
  767. }}
  768. >
  769. 财务总监
  770. </Option>
  771. <Option
  772. value="7"
  773. style={{
  774. display: this.props.processState >= 8 ? "block" : "none",
  775. }}
  776. >
  777. 总裁
  778. </Option>
  779. </Select>
  780. </div>
  781. ) : (
  782. ""
  783. )}
  784. {/* <ReactToPrint
  785. trigger={() => (
  786. <div className="clearfix">
  787. <Button type="primary" style={{ float: "right", marginTop: 10 }}>
  788. 打印
  789. </Button>
  790. </div>
  791. )}
  792. content={() => this.refs}
  793. /> */}
  794. </div>
  795. );
  796. }
  797. }
  798. export { ChangeDetail };