projectvipall.jsx 25 KB

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