approvedvipproject.jsx 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. import React from "react";
  2. import $ from "jquery/src/ajax";
  3. import { AutoComplete, Button, Input, Spin, Table, Select, message, Tabs, Tag, Tooltip, Modal } from "antd";
  4. import OrderDesc from "../../financialManage/orderDetail/orderDesc"
  5. import ResolutionDetail from "@/resolutionDetail";
  6. import { ChooseList } from "../../order/orderNew/chooseList"
  7. import ReactToPrint from "react-to-print";
  8. import OrderItemStatus from "../../../common/orderItemStatus";
  9. import { salesList } from "@/dataDic.js";
  10. import ShowModalDiv from "@/showModal.jsx";
  11. import VipLogs from "../../../common/logPopup/viplogs";//会员日志
  12. const { TabPane } = Tabs;
  13. //总裁特批会员项目
  14. const ApprovedVipProject = React.createClass({
  15. //
  16. getInitialState() {
  17. return {
  18. dvisible: false,
  19. pageNo: 1,
  20. totalPage: 0,
  21. searchValues: {
  22. status: "2"
  23. },//查询条件
  24. loading: false,
  25. changeList: undefined,// 子组件改变的表格title数组
  26. pagination: {
  27. defaultCurrent: 1,
  28. defaultPageSize: 10,
  29. showQuickJumper: true,
  30. pageSize: 10,
  31. onChange: function (page) {
  32. this.setState({
  33. pageNo: page,
  34. });
  35. this.loadData(page);
  36. }.bind(this),
  37. showTotal: function (total) {
  38. return "共" + total + "条数据";
  39. },
  40. },
  41. columns: [
  42. {
  43. title: "销售类型",
  44. dataIndex: "salesType",
  45. key: "salesType",
  46. render: (text, record) => {
  47. return (
  48. <Tooltip
  49. title={salesList[text] + ((text == 3 || text == 4 || text == 5) ? (!record.other ? "" : "," + record.other) : "")}
  50. >
  51. <span>
  52. {salesList[text]}
  53. </span>
  54. </Tooltip>
  55. );
  56. },
  57. },
  58. {
  59. title: "合同编号",
  60. dataIndex: "contractNo",
  61. key: "contractNo",
  62. width: 160,
  63. render: (text, record) => {
  64. return (
  65. <Tooltip
  66. title={
  67. <Button
  68. type="primary"
  69. onClick={(e) => {
  70. e.stopPropagation();
  71. let input = document.getElementById("copyText");
  72. input.value = text;
  73. input.select();
  74. document.execCommand("copy");
  75. message.success("复制成功");
  76. }}
  77. >
  78. 复制
  79. </Button>
  80. }
  81. >
  82. <div>
  83. {text}
  84. <div style={{ display: "flex" }}>
  85. <OrderItemStatus deleteSign={record.deleteSign} />
  86. {
  87. record.approval == 1
  88. ? <Tag color="#faa755">特批待审</Tag> :
  89. record.approval == 2 && <Tag color="#ff0000">特批通过</Tag>
  90. }
  91. </div>
  92. </div>
  93. </Tooltip>
  94. );
  95. },
  96. },
  97. {
  98. title: "客户名称",
  99. dataIndex: "userName",
  100. key: "userName",
  101. width: 200,
  102. render: text => {
  103. return (
  104. <Tooltip title={text}>
  105. <div>{text}</div>
  106. </Tooltip>
  107. )
  108. }
  109. },
  110. {
  111. title: "订单编号",
  112. dataIndex: "orderNo",
  113. key: "orderNo",
  114. width: 140,
  115. render: (text, record) => {
  116. return (
  117. <Tooltip
  118. title={
  119. <Button
  120. type="primary"
  121. onClick={(e) => {
  122. e.stopPropagation();
  123. let input = document.getElementById("copyText");
  124. input.value = text;
  125. input.select();
  126. document.execCommand("copy");
  127. message.success("复制成功");
  128. }}
  129. >
  130. 复制
  131. </Button>
  132. }
  133. >
  134. <div>
  135. {text}
  136. <div>
  137. {record.totalAmount >= 10 && <Tag color="#ef7207">大客户</Tag>}
  138. {record.projectType == 1 && <Tag color="rgb(22, 155, 213)">会员</Tag>}
  139. </div>
  140. </div>
  141. </Tooltip>
  142. );
  143. },
  144. },
  145. {
  146. title: "订单部门",
  147. dataIndex: "depName",
  148. key: "depName",
  149. className: "title-table",
  150. },
  151. {
  152. title: "订单负责人",
  153. dataIndex: "salesmanName",
  154. key: "salesmanName",
  155. className: "title-table",
  156. },
  157. {
  158. title: "财务负责人",
  159. dataIndex: "financeName",
  160. key: "financeName",
  161. className: "title-table",
  162. },
  163. {
  164. title: "会员项目",
  165. dataIndex: "projectName",
  166. key: "projectName",
  167. className: "title-table",
  168. render: (text, record) => {
  169. return (
  170. <div>
  171. {text}
  172. {(record.memberType == 1 || record.memberType == 2) && <Tag color="#ff0000">特批项目</Tag>}
  173. </div>
  174. )
  175. }
  176. },
  177. {
  178. title: "项目说明",
  179. dataIndex: "taskComment",
  180. key: "taskComment",
  181. className: "title-table",
  182. width: 300,
  183. },
  184. {
  185. title: "状态",
  186. dataIndex: "status",
  187. key: "status",
  188. className: "title-table",
  189. width: 80,
  190. render: (text) => {
  191. return (
  192. <div>
  193. {["", "财务审核", "特批审核", "通过", "驳回"][text]}
  194. </div>
  195. );
  196. }
  197. },
  198. {
  199. title: "操作",
  200. dataIndex: "caozuo",
  201. key: "caouzo",
  202. className: "title-table",
  203. render: (text, recard) => {
  204. return (
  205. <div>
  206. {
  207. recard.status == 2 &&
  208. <Button
  209. type="primary"
  210. onClick={(e) => {
  211. e.stopPropagation(),
  212. this.checkRemark(recard, 1);
  213. }}
  214. >
  215. 通过
  216. </Button>
  217. }
  218. {
  219. recard.status == 2 &&
  220. <Button
  221. type="danger"
  222. style={{ marginLeft: 10, }}
  223. onClick={(e) => {
  224. e.stopPropagation(),
  225. this.checkRemark(recard, 0);
  226. }}
  227. >
  228. 驳回
  229. </Button>
  230. }
  231. <VipLogs id={recard.id} />
  232. </div>
  233. );
  234. },
  235. },
  236. ],
  237. dataSource: [],
  238. fjlist: [],// 营销员列表
  239. checkOrderNo: "",//操作订单编号
  240. checkData: "",//操作描述
  241. checkVisible: "",//审核弹窗开关
  242. checkId: "",//会员项目编号
  243. result: -1,//1同意 0驳回
  244. };
  245. },
  246. componentWillMount() {
  247. this.loadData();
  248. this.departmentList();
  249. },
  250. // 获取订单部门
  251. departmentList() {
  252. $.ajax({
  253. method: "get",
  254. dataType: "json",
  255. crossDomain: false,
  256. url: globalConfig.context + "/api/admin/organization/selectSuperId",
  257. data: {},
  258. success: function (data) {
  259. let thedata = data.data;
  260. let theArr = [];
  261. if (!thedata) {
  262. if (data.error && data.error.length) {
  263. message.warning(data.error[0].message);
  264. }
  265. } else {
  266. thedata.map(function (item, index) {
  267. theArr.push({
  268. key: index,
  269. name: item.name,
  270. id: item.id,
  271. });
  272. });
  273. }
  274. this.setState({
  275. departmentArr: theArr,
  276. });
  277. }.bind(this),
  278. }).always(
  279. function () {
  280. }.bind(this)
  281. );
  282. },
  283. // 列表数据
  284. loadData(pageNo, pageSize) {
  285. const { searchValues, pagination } = this.state
  286. this.setState({
  287. loading: true,
  288. });
  289. let datas = Object.assign(searchValues, {
  290. pageNo: pageNo || 1,
  291. pageSize: pageSize || 10,
  292. shiroType: 3, //特批审核
  293. });
  294. $.ajax({
  295. method: "get",
  296. dataType: "json",
  297. crossDomain: false,
  298. url: globalConfig.context + "/api/admin/orderProject/memberList",
  299. data: datas,
  300. success: function (data) {
  301. this.setState({
  302. loading: false,
  303. });
  304. if (data.error && data.error.length === 0) {
  305. if (data.data.list) {
  306. pagination.current = data.data.pageNo;
  307. pagination.total = data.data.totalCount;
  308. if (data.data && data.data.list && !data.data.list.length) {
  309. pagination.current = 0;
  310. pagination.total = 0;
  311. }
  312. this.setState({
  313. dataSource: data.data.list,
  314. pagination: this.state.pagination,
  315. pageNo: data.data.pageNo,
  316. totalPage: data.data.totalPage,
  317. });
  318. } else {
  319. this.setState({
  320. dataSource: data.data,
  321. pagination: false,
  322. });
  323. }
  324. } else {
  325. message.warning(data.error[0].message);
  326. }
  327. }.bind(this),
  328. }).always(
  329. function () {
  330. this.setState({
  331. loading: false,
  332. });
  333. }.bind(this)
  334. );
  335. },
  336. // 点击行
  337. tableRowClick(record) {
  338. this.state.RowData = record;
  339. this.setState({
  340. showDesc: true,
  341. });
  342. },
  343. // 关闭
  344. closeDesc(e, s) {
  345. this.state.showDesc = e;
  346. if (s) {
  347. this.loadData(this.state.page);
  348. }
  349. },
  350. // 搜索
  351. search() {
  352. this.setState({
  353. selectedRowKeys: []
  354. })
  355. this.loadData();
  356. },
  357. // 重置
  358. reset() {
  359. this.setState({
  360. searchValues: JSON.parse(JSON.stringify({})),
  361. }, () => {
  362. this.loadData();
  363. })
  364. },
  365. // 点击审核
  366. checkRemark(record, nmb) {
  367. this.setState({
  368. checkVisible: true,
  369. checkId: record.id,
  370. result: nmb
  371. });
  372. },
  373. // 审核
  374. toExamine() {
  375. if (!this.state.checkData) {
  376. message.warning("请填写审核说明~");
  377. return;
  378. }
  379. this.setState({
  380. loading: true,
  381. });
  382. $.ajax({
  383. method: "POST",
  384. dataType: "json",
  385. crossDomain: false,
  386. url: globalConfig.context + "/api/admin/orderProject/examineMemberProject",
  387. data: {
  388. id: this.state.checkId,
  389. remarks: this.state.checkData,
  390. result: this.state.result, //1同意 0驳回
  391. type: 1, //0财务审核 1特批审核
  392. },
  393. }).done(
  394. function (data) {
  395. if (!data.error.length) {
  396. message.success("审核成功!");
  397. this.setState({
  398. loading: false,
  399. checkVisible: false,
  400. checkData: '',
  401. });
  402. this.loadData()
  403. } else {
  404. message.warning(data.error[0].message);
  405. }
  406. }.bind(this)
  407. );
  408. },
  409. // 更改表格显示数据
  410. changeList(arr) {
  411. const newArr = [];
  412. this.state.columns.forEach((item) => {
  413. arr.forEach((val) => {
  414. if (val === item.title) {
  415. newArr.push(item);
  416. }
  417. });
  418. });
  419. this.setState({
  420. changeList: newArr,
  421. });
  422. },
  423. // 导出当前列表
  424. exportAll() {
  425. message.config({
  426. duration: 20,
  427. });
  428. let loading = message.loading("下载中...");
  429. this.setState({
  430. exportPendingLoading: true,
  431. });
  432. let data = {
  433. shiroType: 3, //特批审核
  434. };
  435. let obj1 = JSON.parse(JSON.stringify(this.state.searchValues));
  436. data = Object.assign(data, obj1);
  437. $.ajax({
  438. method: "get",
  439. dataType: "json",
  440. crossDomain: false,
  441. url: "/api/admin/orderProject/memberList/export",
  442. data,
  443. success: function (data) {
  444. if (data.error.length === 0) {
  445. this.download(data.data);
  446. } else {
  447. message.warning(data.error[0].message);
  448. }
  449. }.bind(this),
  450. }).always(
  451. function () {
  452. loading();
  453. this.setState({
  454. exportPendingLoading: false,
  455. });
  456. }.bind(this)
  457. );
  458. },
  459. // 打印
  460. printAll() {
  461. this.setState({
  462. dvisible: true,
  463. });
  464. this.loadData(1, 9999999);
  465. },
  466. // 下载
  467. download(fileName) {
  468. window.location.href =
  469. globalConfig.context + "/open/download?fileName=" + fileName;
  470. },
  471. // 查询订单负责人列表
  472. followUp(e) {
  473. const { searchValues } = this.state;
  474. this.setState({
  475. searchValues: Object.assign(searchValues, {
  476. aname: e,
  477. }),
  478. });
  479. $.ajax({
  480. method: "get",
  481. dataType: "json",
  482. crossDomain: false,
  483. url: globalConfig.context + "/api/admin/customer/listAdminByName",
  484. data: {
  485. adminName: e,
  486. },
  487. success: function (data) {
  488. let thedata = data.data;
  489. if (!thedata) {
  490. if (data.error && data.error.length) {
  491. message.warning(data.error[0].message);
  492. }
  493. thedata = {};
  494. }
  495. this.setState({
  496. fjlist: thedata,
  497. });
  498. }.bind(this),
  499. }).always(
  500. function () {
  501. this.setState({
  502. loading: false,
  503. });
  504. }.bind(this)
  505. );
  506. },
  507. // 选中订单负责人
  508. selectF(value) {
  509. const { searchValues, fjlist } = this.state;
  510. const newdataSources = JSON.stringify(fjlist) == "{}" ? [] : fjlist;
  511. this.setState({
  512. searchValues: Object.assign(searchValues, {
  513. salesmanId: newdataSources.find((item) => item.name == value).id,
  514. }),
  515. });
  516. },
  517. // 失去焦点
  518. blurChange(e) {
  519. let theType = "";
  520. let contactLists = this.state.customerArr || [];
  521. if (e) {
  522. contactLists.map(function (item) {
  523. if (item.name == e.toString()) {
  524. theType = item.id;
  525. }
  526. });
  527. }
  528. this.setState({
  529. theTypes: theType,
  530. });
  531. },
  532. // 删除数组最后一项(删除操作列)
  533. truncate(arr) {
  534. return arr.filter(function (v, i, ar) {
  535. return i !== ar.length - 1
  536. })
  537. },
  538. render() {
  539. const { TextArea } = Input
  540. const { searchValues, departmentArr = [] } = this.state
  541. const dataSources = this.state.fjlist || [];
  542. const options = dataSources.map((group) => (
  543. <Select.Option key={group.id} value={group.name}>
  544. {group.name}
  545. </Select.Option>
  546. ));
  547. return (
  548. <div className="user-content">
  549. <ShowModalDiv ShowModal={this.state.showModal} />
  550. <div className="content-title" style={{ marginBottom: 10 }}>
  551. <span style={{ fontWeight: 900, fontSize: 16 }}>特批会员项目</span>
  552. </div>
  553. <Tabs defaultActiveKey="2" onChange={this.callback} className="test">
  554. <TabPane tab="更改表格显示数据" key="1">
  555. <div style={{ marginLeft: 10 }}>
  556. <ChooseList
  557. columns={this.state.columns}
  558. changeFn={this.changeList}
  559. changeList={this.state.changeList}
  560. top={55}
  561. margin={11}
  562. />
  563. </div>
  564. </TabPane>
  565. <TabPane tab="搜索" key="2">
  566. <div className="user-search" style={{ marginLeft: 10 }}>
  567. <Input
  568. placeholder="订单编号"
  569. value={searchValues["orderNo"]
  570. ? searchValues["orderNo"]
  571. : ""}
  572. onChange={(e) => {
  573. searchValues["orderNo"] = e.target.value;
  574. this.setState({
  575. searchValues: searchValues,
  576. });
  577. }}
  578. />
  579. <Input
  580. placeholder="客户名称"
  581. value={searchValues["userName"]
  582. ? searchValues["userName"]
  583. : ""}
  584. onChange={(e) => {
  585. searchValues["userName"] = e.target.value;
  586. this.setState({
  587. searchValues: searchValues,
  588. });
  589. }}
  590. />
  591. <Select
  592. placeholder="订单部门"
  593. style={{ width: 190, marginRight: 10 }}
  594. value={searchValues["depId"]
  595. ? searchValues["depId"]
  596. : undefined}
  597. onChange={(e) => {
  598. searchValues["depId"] = e;
  599. this.setState({
  600. searchValues: searchValues,
  601. });
  602. }}
  603. >
  604. {departmentArr.map(function (item) {
  605. return (
  606. <Select.Option key={item.id}>{item.name}</Select.Option>
  607. );
  608. })}
  609. </Select>
  610. <Input
  611. placeholder="合同编号"
  612. value={searchValues["contractNo"]
  613. ? searchValues["contractNo"]
  614. : ""}
  615. onChange={(e) => {
  616. searchValues["contractNo"] = e.target.value;
  617. this.setState({
  618. searchValues: searchValues,
  619. });
  620. }}
  621. />
  622. <AutoComplete
  623. className="certain-category-search"
  624. dropdownClassName="certain-category-search-dropdown"
  625. dropdownMatchSelectWidth={false}
  626. style={{ width: "120px" }}
  627. dataSource={options}
  628. placeholder="订单负责人"
  629. value={searchValues.aname || undefined}
  630. onChange={this.followUp.bind(this)}
  631. filterOption={true}
  632. onSelect={this.selectF.bind(this)}
  633. >
  634. <Input />
  635. </AutoComplete>
  636. <Input
  637. placeholder="项目名称"
  638. value={searchValues["projectName"]
  639. ? searchValues["projectName"]
  640. : ""}
  641. onChange={(e) => {
  642. searchValues["projectName"] = e.target.value;
  643. this.setState({
  644. searchValues: searchValues,
  645. });
  646. }}
  647. />
  648. <Select
  649. style={{ width: 120 }}
  650. placeholder="签单金额"
  651. value={searchValues["amountStatus"]
  652. ? searchValues["amountStatus"]
  653. : undefined}
  654. onChange={(e) => {
  655. searchValues["amountStatus"] = e;
  656. this.setState({
  657. searchValues: searchValues,
  658. });
  659. }}
  660. >
  661. <Option value="0">10万元以下</Option>
  662. <Option value="1">10~20万元</Option>
  663. <Option value="2">20~30万元</Option>
  664. <Option value="3">30~40万元</Option>
  665. <Option value="4">40万元以上</Option>
  666. </Select>
  667. <Select
  668. style={{ width: 120 }}
  669. placeholder="特批状态"
  670. value={searchValues["approval"]
  671. ? searchValues["approval"]
  672. : undefined}
  673. onChange={(e) => {
  674. searchValues["approval"] = e;
  675. this.setState({
  676. searchValues: searchValues,
  677. });
  678. }}
  679. >
  680. <Option value="0">非特批</Option>
  681. <Option value="1">特批待审</Option>
  682. <Option value="2">特批通过</Option>
  683. <Option value="4">全部特批</Option>
  684. </Select>
  685. <Select
  686. style={{ width: 120 }}
  687. placeholder="审核状态"
  688. value={searchValues["status"]
  689. ? searchValues["status"]
  690. : undefined}
  691. onChange={(e) => {
  692. searchValues["status"] = e;
  693. this.setState({
  694. searchValues: searchValues,
  695. });
  696. }}
  697. >
  698. <Option value="1">财务审核</Option>
  699. <Option value="2">特批审核</Option>
  700. <Option value="3">通过</Option>
  701. <Option value="5">全部</Option>
  702. </Select>
  703. <Button
  704. type="primary"
  705. onClick={this.search}
  706. style={{ marginLeft: 10 }}
  707. disabled={this.state.loading ? true : false}
  708. >
  709. 搜索
  710. </Button>
  711. <Button onClick={this.reset}>重置</Button>
  712. </div>
  713. </TabPane>
  714. <TabPane tab="打印" key="3">
  715. <Button
  716. type="primary"
  717. style={{ margin: "11px 0px 10px 10px" }}
  718. onClick={this.printAll}
  719. >
  720. 打印当前列表
  721. </Button>
  722. </TabPane>
  723. <TabPane tab="导出Excel" key="4">
  724. <Button
  725. type="primary"
  726. style={{ margin: "11px 0px 10px 10px" }}
  727. onClick={this.exportAll}
  728. >
  729. 导出当前列表
  730. </Button>
  731. </TabPane>
  732. </Tabs>
  733. <div className="patent-table">
  734. <Spin spinning={this.state.loading}>
  735. <Table
  736. bordered
  737. columns={
  738. this.state.changeList == undefined
  739. ? this.state.columns
  740. : this.state.changeList
  741. }
  742. dataSource={this.state.dataSource}
  743. pagination={this.state.pagination}
  744. onRowDoubleClick={this.tableRowClick.bind(this)}
  745. size="small"
  746. />
  747. </Spin>
  748. </div>
  749. <textarea id="copyText" style={{ opacity: 0 }} />
  750. {/* 订单详情 */}
  751. <OrderDesc
  752. data={this.state.RowData}
  753. showDesc={this.state.showDesc}
  754. closeDesc={this.closeDesc.bind(this)}
  755. />
  756. {
  757. //打印预览
  758. this.state.dvisible &&
  759. <Modal
  760. visible={this.state.dvisible}
  761. footer=""
  762. title="所有列表信息"
  763. className="admin-desc-content"
  764. width="1300px"
  765. onCancel={() => {
  766. this.loadData();
  767. this.setState({
  768. dvisible: false,
  769. });
  770. }}
  771. >
  772. <Spin spinning={this.state.loading}>
  773. <div
  774. className="patent-table"
  775. style={{
  776. padding: "25px 0 30px 30px",
  777. }}
  778. ref={(e) => {
  779. this.refs.all = e;
  780. }}
  781. >
  782. <Table
  783. columns={this.truncate(this.state.columns)}
  784. dataSource={this.state.dataSource}
  785. pagination={false}
  786. bordered
  787. size="small"
  788. />
  789. </div>
  790. </Spin>
  791. <ReactToPrint
  792. trigger={() => (
  793. <Button
  794. type="primary"
  795. style={{
  796. float: "right",
  797. marginTop: 10,
  798. position: "absolute",
  799. top: 0,
  800. right: 30,
  801. }}
  802. >
  803. 打印
  804. </Button>
  805. )}
  806. content={() => this.refs.all}
  807. />
  808. </Modal>
  809. }
  810. {
  811. //审核弹窗
  812. this.state.checkVisible &&
  813. <Modal
  814. maskClosable={false}
  815. title="审核订单"
  816. confirmLoading={this.state.loading}
  817. visible={this.state.checkVisible}
  818. onOk={this.toExamine}
  819. okText={this.state.result == 1 ? "通过" : this.state.result == 0 && "驳回"}
  820. onCancel={() => {
  821. this.loadData()
  822. this.setState({
  823. checkVisible: false,
  824. checkData: '',
  825. })
  826. }}
  827. >
  828. <TextArea
  829. value={this.state.checkData}
  830. onChange={(e) => {
  831. this.setState({
  832. checkData: e.target.value,
  833. })
  834. }}
  835. placeholder="请填写审核内容"
  836. />
  837. </Modal>
  838. }
  839. </div>
  840. );
  841. },
  842. });
  843. export default ApprovedVipProject;