userDesc.jsx 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. import React from 'react';
  2. import { Icon, Modal, message, Spin, Input, Select, DatePicker, Button, Radio, Form, Cascader } from 'antd';
  3. import moment from 'moment';
  4. import './userList.less';
  5. import ajax from 'jquery/src/ajax/xhr.js';
  6. import $ from 'jquery/src/ajax';
  7. import { areaSelect, getProvince } from '../../NewDicProvinceList.js';
  8. import { getAuditState } from '../../tools.js';
  9. import { auditStatusList, certifyStepList } from '../../dataDic.js';
  10. const UserShow = Form.create()(React.createClass({
  11. getInitialState() {
  12. return {
  13. visible: false,
  14. loading: false
  15. };
  16. },
  17. loadData(uid) {
  18. this.setState({
  19. loading: true
  20. });
  21. $.ajax({
  22. method: "get",
  23. dataType: "json",
  24. crossDomain: false,
  25. url: globalConfig.context + "/api/admin/userCertify/userDetail",
  26. data: {
  27. uid: uid
  28. },
  29. success: function (data) {
  30. let thisData = data.data;
  31. if (!thisData) {
  32. if (data.error && data.error.length) {
  33. message.warning(data.error[0].message);
  34. };
  35. thisData = {};
  36. };
  37. this.setState({
  38. username: thisData.username,
  39. sex: thisData.sex,
  40. id: thisData.id,
  41. birth: thisData.dateOfBirthYear + '-' + thisData.dateOfBirthMonth,
  42. idNumber: thisData.idNumber,
  43. province: thisData.province,
  44. city: thisData.city,
  45. area: thisData.area,
  46. positiveIdUrl: thisData.positiveIdUrl,
  47. oppositeIdUrl: thisData.oppositeIdUrl,
  48. aftUsername: thisData.aftUsername,
  49. contactMobile: thisData.contactMobile,
  50. bankName: thisData.bankName,
  51. bankAccount: thisData.bankAccount,
  52. bankCardNumber: thisData.bankCardNumber,
  53. amountMoney: thisData.amountMoney,
  54. auditStatus: thisData.auditStatus,
  55. process: thisData.process ? String(thisData.process) : undefined,
  56. paymentDateFormattedDate: thisData.paymentDateFormattedDate,
  57. paymentDate: thisData.paymentDate,
  58. expert: thisData.expert,
  59. celebrity: thisData.celebrity,
  60. level: thisData.level,
  61. aid: thisData.aid, //业务员ID
  62. mid: thisData.mid //客户经理ID
  63. });
  64. this.props.form.resetFields();
  65. }.bind(this),
  66. }).always(function () {
  67. this.setState({
  68. loading: false
  69. });
  70. }.bind(this));
  71. },
  72. getAccountManagerList() {
  73. this.setState({
  74. loading: true
  75. });
  76. $.ajax({
  77. method: "get",
  78. dataType: "json",
  79. crossDomain: false,
  80. url: globalConfig.context + "/api/admin/userCertify/accountManager",
  81. success: function (data) {
  82. let theArr = [];
  83. if (!data.data) {
  84. if (data.error && data.error.length) {
  85. message.warning(data.error[0].message);
  86. };
  87. return;
  88. };
  89. for (var item in data.data) {
  90. theArr.push(
  91. <Select.Option value={item} key={item}>{data.data[item]}</Select.Option>
  92. )
  93. };
  94. this.setState({
  95. accountManagerOption: theArr,
  96. accountManagerList: data.data
  97. });
  98. }.bind(this),
  99. }).always(function () {
  100. this.setState({
  101. loading: false
  102. });
  103. }.bind(this));
  104. },
  105. getTechnicianList() {
  106. this.setState({
  107. loading: true
  108. });
  109. $.ajax({
  110. method: "get",
  111. dataType: "json",
  112. crossDomain: false,
  113. url: globalConfig.context + "/api/admin/userCertify/technician",
  114. success: function (data) {
  115. let theArr = [];
  116. if (!data.data) {
  117. if (data.error && data.error.length) {
  118. message.warning(data.error[0].message);
  119. };
  120. return;
  121. };
  122. for (var item in data.data) {
  123. theArr.push(
  124. <Select.Option value={item} key={item}>{data.data[item]}</Select.Option>
  125. )
  126. };
  127. this.setState({
  128. technicianOption: theArr,
  129. technicianList: data.data
  130. });
  131. }.bind(this),
  132. }).always(function () {
  133. this.setState({
  134. loading: false
  135. });
  136. }.bind(this));
  137. },
  138. handleSubmit(e) {
  139. e.preventDefault();
  140. this.props.form.validateFields((err, values) => {
  141. if (!err) {
  142. this.setState({
  143. loading: true
  144. });
  145. $.ajax({
  146. method: "POST",
  147. dataType: "json",
  148. crossDomain: false,
  149. url: globalConfig.context + "/api/admin/userCertify/updateUserDetail",
  150. data: {
  151. uid: this.props.uid,
  152. id: this.state.id,
  153. auditStatus: values.auditStatus,
  154. level: this.state.level,
  155. aid: values.aid, //指派业务员ID
  156. mid: values.mid, //指派客户经理ID
  157. }
  158. }).done(function (data) {
  159. if (!data.error.length) {
  160. message.success('保存成功!');
  161. } else {
  162. message.warning(data.error[0].message);
  163. }
  164. }.bind(this)).always(function () {
  165. this.setState({
  166. visible: false
  167. });
  168. this.props.handleOk();
  169. }.bind(this));
  170. }
  171. });
  172. },
  173. componentWillMount() {
  174. this.loadData(this.props.uid);
  175. this.getAccountManagerList();
  176. this.getTechnicianList();
  177. },
  178. componentWillReceiveProps(nextProps) {
  179. if (!this.props.visible && nextProps.visible) {
  180. this.loadData(nextProps.uid);
  181. };
  182. },
  183. render() {
  184. const { getFieldDecorator } = this.props.form;
  185. const FormItem = Form.Item
  186. const formItemLayout = {
  187. labelCol: { span: 6 },
  188. wrapperCol: { span: 12 },
  189. };
  190. return (
  191. <Form horizontal onSubmit={this.handleSubmit} className="person-form">
  192. <FormItem
  193. {...formItemLayout}
  194. label="用户名" >
  195. {getFieldDecorator('username')(
  196. <span>{this.state.username}</span>
  197. )}
  198. </FormItem>
  199. <FormItem
  200. {...formItemLayout}
  201. label="性别" >
  202. {getFieldDecorator('sex')(
  203. <span>{this.state.sex}</span>
  204. )}
  205. </FormItem>
  206. <FormItem
  207. {...formItemLayout}
  208. label="出生日期" >
  209. {getFieldDecorator('birth')(
  210. <span>{this.state.birth}</span>
  211. )}
  212. </FormItem>
  213. <FormItem
  214. {...formItemLayout}
  215. label="身份证号" >
  216. {getFieldDecorator('idNumber')(
  217. <span>{this.state.idNumber}</span>
  218. )}
  219. </FormItem>
  220. <FormItem
  221. labelCol={{ span: 6 }}
  222. wrapperCol={{ span: 18 }}
  223. label="身份证图片" >
  224. <div className="idcard-img clearfix">
  225. {this.state.positiveIdUrl ? <div>
  226. <div className="idcard-imgbox">
  227. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.positiveIdUrl} alt="点击查看大图"
  228. onClick={(e) => { window.open(e.target.src) }} />
  229. </div>
  230. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  231. {this.state.oppositeIdUrl ? <div>
  232. <div className="idcard-imgbox">
  233. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.oppositeIdUrl} alt="点击查看大图"
  234. onClick={(e) => { window.open(e.target.src) }} />
  235. </div>
  236. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  237. </div>
  238. </FormItem>
  239. <FormItem
  240. {...formItemLayout}
  241. label="认证姓名" >
  242. {getFieldDecorator('aftUsername')(
  243. <span>{this.state.aftUsername}</span>
  244. )}
  245. </FormItem>
  246. <FormItem
  247. {...formItemLayout}
  248. label="联系电话" >
  249. {getFieldDecorator('contactMobile')(
  250. <span>{this.state.contactMobile}</span>
  251. )}
  252. </FormItem>
  253. <FormItem
  254. {...formItemLayout}
  255. label="所在地" >
  256. {getFieldDecorator('address')(
  257. <span>{getProvince(this.state.province, this.state.city, this.state.area)}</span>
  258. )}
  259. </FormItem>
  260. <FormItem
  261. {...formItemLayout}
  262. label="开户银行" >
  263. {getFieldDecorator('bankAccount')(
  264. <span>{this.state.bankAccount}</span>
  265. )}
  266. </FormItem>
  267. <FormItem
  268. {...formItemLayout}
  269. label="银行卡号" >
  270. {getFieldDecorator('bankCardNumber')(
  271. <span>{this.state.bankCardNumber}</span>
  272. )}
  273. </FormItem>
  274. <FormItem
  275. {...formItemLayout}
  276. label="用户等级" >
  277. {getFieldDecorator('level')(
  278. <span>{"Lv." + (this.state.level || 0)}</span>
  279. )}
  280. </FormItem>
  281. <FormItem
  282. {...formItemLayout}
  283. label="是否专家" >
  284. {getFieldDecorator('expert')(
  285. <span>{this.state.expert ? "否" : "是"}</span>
  286. )}
  287. </FormItem>
  288. <FormItem
  289. {...formItemLayout}
  290. label="是否专家" >
  291. {getFieldDecorator('celebrity')(
  292. <span>{this.state.celebrity ? "否" : "是"}</span>
  293. )}
  294. </FormItem>
  295. <FormItem
  296. {...formItemLayout}
  297. label="认证状态" >
  298. {getFieldDecorator('auditStatus', {
  299. initialValue: this.state.auditStatus
  300. })(
  301. <Select placeholder="选择要修改的认证状态" style={{ width: 200 }}
  302. onChange={(e) => { this.state.auditStatus = e }}>
  303. {
  304. auditStatusList.map(function (item, i) {
  305. return <Select.Option key={i} value={item.value} >{item.key}</Select.Option>
  306. })
  307. }
  308. </Select>
  309. )}
  310. </FormItem>
  311. <FormItem
  312. {...formItemLayout}
  313. label="业务员" >
  314. {getFieldDecorator('aid', {
  315. initialValue: this.state.aid
  316. })(
  317. <Select placeholder="选择一个业务员" style={{ width: 200 }}>
  318. {this.state.technicianOption}
  319. </Select>
  320. )}
  321. </FormItem>
  322. <FormItem
  323. {...formItemLayout}
  324. label="客户经理" >
  325. {getFieldDecorator('mid', {
  326. initialValue: this.state.mid
  327. })(
  328. <Select placeholder="选择一个客户经理" style={{ width: 200 }}>
  329. {this.state.accountManagerOption}
  330. </Select>
  331. )}
  332. </FormItem>
  333. <FormItem wrapperCol={{ span: 12, offset: 4 }}>
  334. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  335. <Button className="set-submit" type="ghost" onClick={this.props.closeDesc}>取消</Button>
  336. </FormItem>
  337. </Form >
  338. )
  339. }
  340. }));
  341. const UserForm = Form.create()(React.createClass({
  342. getInitialState() {
  343. return {
  344. visible: false,
  345. loading: false,
  346. saveSign: "save"
  347. };
  348. },
  349. loadData(uid) {
  350. this.setState({
  351. loading: true
  352. });
  353. $.ajax({
  354. method: "post",
  355. dataType: "json",
  356. crossDomain: false,
  357. url: globalConfig.context + "/api/admin/userDetail",
  358. data: {
  359. uid: uid
  360. },
  361. success: function (data) {
  362. let thisData = data.data;
  363. if (!thisData) {
  364. if (data.error && data.error.length) {
  365. message.warning(data.error[0].message);
  366. };
  367. thisData = {};
  368. };
  369. let d = new Date()
  370. if (thisData && thisData.dateOfBirthMonth && thisData.dateOfBirthYear) {
  371. d.setMonth(thisData.dateOfBirthMonth - 1);
  372. d.setYear(parseInt(thisData.dateOfBirthYear));
  373. };
  374. this.setState({
  375. username: thisData.username,
  376. sex: thisData.sex,
  377. id: thisData.id,
  378. birth: d,
  379. idNumber: thisData.idNumber,
  380. address: [thisData.province, thisData.city, thisData.area],
  381. positiveIdUrl: thisData.positiveIdUrl,
  382. oppositeIdUrl: thisData.oppositeIdUrl,
  383. aftUsername: thisData.aftUsername,
  384. contactMobile: thisData.contactMobile,
  385. bankName: thisData.bankName,
  386. bankAccount: thisData.bankAccount,
  387. bankCardNumber: thisData.bankCardNumber,
  388. amountMoney: thisData.amountMoney,
  389. auditStatus: thisData.auditStatus,
  390. process: thisData.process ? String(thisData.process) : undefined,
  391. paymentDateFormattedDate: thisData.paymentDateFormattedDate,
  392. paymentDate: thisData.paymentDate,
  393. level: thisData.level,
  394. expert: thisData.expert,
  395. celebrity: thisData.celebrity,
  396. aid: thisData.aid, //业务员ID
  397. mid: thisData.mid //客户经理ID
  398. });
  399. this.props.form.resetFields();
  400. }.bind(this),
  401. }).always(function () {
  402. this.setState({
  403. loading: false
  404. });
  405. }.bind(this));
  406. },
  407. handleSubmit(e) {
  408. if (e) {
  409. e.preventDefault();
  410. };
  411. this.props.form.validateFields((err, values) => {
  412. // //金额判断
  413. // if (values.amountMoney && values.amountMoney < 0 && values.amountMoney > 100 && /^\d+(\.\d{2})?$/.test(values.amountMoney)) {
  414. // message.warning('请输入0-100以内的金额');
  415. // return;
  416. // };
  417. if ((this.state.auditStatus == "5" && values.level == "0") || (this.state.auditStatus != "5" && values.level != "0")) {
  418. message.warning('认证状态和用户等级不匹配!');
  419. return;
  420. };
  421. if (!err) {
  422. this.setState({
  423. loading: true
  424. });
  425. $.ajax({
  426. method: "POST",
  427. dataType: "json",
  428. crossDomain: false,
  429. url: globalConfig.context + "/api/admin/updateUserDetail",
  430. data: {
  431. uid: this.props.uid,
  432. id: this.state.id,
  433. username: values.username,
  434. sex: values.sex,
  435. dateOfBirthYear: values.birth ? values.birth._d.getFullYear() : undefined,
  436. dateOfBirthMonth: values.birth ? values.birth._d.getMonth() + 1 : undefined,
  437. idNumber: values.idNumber,
  438. aftUsername: values.aftUsername,
  439. province: values.address[0],
  440. city: values.address[1],
  441. area: values.address[2],
  442. contactMobile: values.contactMobile,
  443. bankName: values.bankName,
  444. bankAccount: values.bankAccount,
  445. bankCardNumber: values.bankCardNumber,
  446. amountMoney: values.amountMoney,
  447. //auditStatus: values.auditStatus,
  448. paymentDateFormattedDate: values.paymentDateFormattedDate ? values.paymentDateFormattedDate.format("YYYY-MM-DD") : undefined,
  449. level: values.level,
  450. expert: values.expert,
  451. celebrity: values.celebrity,
  452. //aid: values.aid, //指派业务员ID
  453. //mid: values.mid, //指派客户经理ID
  454. saveSign: this.state.saveSign
  455. }
  456. }).done(function (data) {
  457. if (!data.error.length) {
  458. message.success('保存成功!');
  459. } else {
  460. message.warning(data.error[0].message);
  461. }
  462. }.bind(this)).always(function () {
  463. this.setState({
  464. visible: false,
  465. saveSign: "save"
  466. });
  467. this.props.handleOk();
  468. }.bind(this));
  469. }
  470. });
  471. },
  472. componentWillMount() {
  473. this.loadData(this.props.uid);
  474. },
  475. componentWillReceiveProps(nextProps) {
  476. if (!this.props.visible && nextProps.visible) {
  477. this.loadData(nextProps.uid);
  478. };
  479. },
  480. render() {
  481. const { getFieldDecorator } = this.props.form;
  482. const { MonthPicker } = DatePicker;
  483. const FormItem = Form.Item
  484. const formItemLayout = {
  485. labelCol: { span: 6 },
  486. wrapperCol: { span: 12 },
  487. };
  488. return (
  489. <Form horizontal onSubmit={this.handleSubmit} className="person-form">
  490. <FormItem
  491. {...formItemLayout}
  492. label="用户名" >
  493. {getFieldDecorator('username', {
  494. initialValue: this.state.username
  495. })(
  496. <Input />
  497. )}
  498. </FormItem>
  499. <FormItem
  500. {...formItemLayout}
  501. label="性别" >
  502. {getFieldDecorator('sex', {
  503. initialValue: this.state.sex
  504. })(
  505. <Radio.Group>
  506. <Radio value="男">男</Radio>
  507. <Radio value="女">女</Radio>
  508. </Radio.Group>
  509. )}
  510. </FormItem>
  511. <FormItem
  512. {...formItemLayout}
  513. label="出生日期" >
  514. {getFieldDecorator('birth', {
  515. initialValue: !this.state.birth ? null : moment(this.state.birth, 'YYYY/MM')
  516. })(
  517. <MonthPicker />
  518. )}
  519. </FormItem>
  520. <FormItem
  521. {...formItemLayout}
  522. label="身份证号" >
  523. {getFieldDecorator('idNumber', {
  524. initialValue: this.state.idNumber
  525. })(
  526. <Input />
  527. )}
  528. </FormItem>
  529. <FormItem
  530. labelCol={{ span: 6 }}
  531. wrapperCol={{ span: 18 }}
  532. label="身份证图片" >
  533. <div className="idcard-img clearfix">
  534. {this.state.positiveIdUrl ? <div>
  535. <div className="idcard-imgbox">
  536. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.positiveIdUrl} alt="点击查看大图"
  537. onClick={(e) => { window.open(e.target.src) }} />
  538. </div>
  539. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  540. {this.state.oppositeIdUrl ? <div>
  541. <div className="idcard-imgbox">
  542. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.oppositeIdUrl} alt="点击查看大图"
  543. onClick={(e) => { window.open(e.target.src) }} />
  544. </div>
  545. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  546. </div>
  547. </FormItem>
  548. <FormItem
  549. {...formItemLayout}
  550. label="认证姓名" >
  551. {getFieldDecorator('aftUsername', {
  552. initialValue: this.state.aftUsername
  553. })(
  554. <Input />
  555. )}
  556. </FormItem>
  557. <FormItem
  558. {...formItemLayout}
  559. label="联系电话" >
  560. {getFieldDecorator('contactMobile', {
  561. initialValue: this.state.contactMobile
  562. })(
  563. <Input />
  564. )}
  565. </FormItem>
  566. <FormItem
  567. {...formItemLayout}
  568. label="所在地" >
  569. {getFieldDecorator('address', {
  570. initialValue: this.state.address
  571. })(
  572. <Cascader options={areaSelect()} placeholder="请选择地址" />
  573. )}
  574. </FormItem>
  575. <FormItem
  576. {...formItemLayout}
  577. label="开户银行" >
  578. {getFieldDecorator('bankAccount', {
  579. initialValue: this.state.bankAccount
  580. })(
  581. <Input />
  582. )}
  583. </FormItem>
  584. <FormItem
  585. {...formItemLayout}
  586. label="银行卡号" >
  587. {getFieldDecorator('bankCardNumber', {
  588. initialValue: this.state.bankCardNumber
  589. })(
  590. <Input />
  591. )}
  592. </FormItem>
  593. <FormItem
  594. {...formItemLayout}
  595. label="用户等级" >
  596. {getFieldDecorator('level', {
  597. initialValue: this.state.level
  598. })(
  599. <Select placeholder="选择要修改的用户等级" style={{ width: 200 }} >
  600. <Select.Option value="0" >Lv.0</Select.Option>
  601. <Select.Option value="1" >Lv.1</Select.Option>
  602. <Select.Option value="2" >Lv.2</Select.Option>
  603. <Select.Option value="3" >Lv.3</Select.Option>
  604. <Select.Option value="4" >Lv.4</Select.Option>
  605. <Select.Option value="5" >Lv.5</Select.Option>
  606. </Select>
  607. )}
  608. </FormItem>
  609. <FormItem
  610. {...formItemLayout}
  611. label="专家" >
  612. {getFieldDecorator('expert', {
  613. initialValue: this.state.expert
  614. })(
  615. <RadioGroup>
  616. <Radio value={0}>否</Radio>
  617. <Radio value={1}>是</Radio>
  618. </RadioGroup>
  619. )}
  620. </FormItem>
  621. <FormItem
  622. {...formItemLayout}
  623. label="明星" >
  624. {getFieldDecorator('celebrity', {
  625. initialValue: this.state.celebrity
  626. })(
  627. <RadioGroup>
  628. <Radio value={0}>否</Radio>
  629. <Radio value={1}>是</Radio>
  630. </RadioGroup>
  631. )}
  632. </FormItem>
  633. <FormItem
  634. {...formItemLayout}
  635. label="认证状态" >
  636. {getFieldDecorator('auditStatus')(
  637. <span>{getAuditState(this.state.auditStatus)}</span>
  638. )}
  639. </FormItem>
  640. <FormItem
  641. {...formItemLayout}
  642. label="业务员" >
  643. {getFieldDecorator('aid', )(
  644. <span>{this.props.data.adminName}</span>
  645. )}
  646. </FormItem>
  647. <FormItem
  648. {...formItemLayout}
  649. label="客户经理" >
  650. {getFieldDecorator('mid')(
  651. <span>{this.props.data.managerName}</span>
  652. )}
  653. </FormItem>
  654. <FormItem wrapperCol={{ span: 12, offset: 4 }}>
  655. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  656. <Button className="set-submit" type="ghost"
  657. onClick={() => {
  658. this.state.saveSign = "submit";
  659. this.handleSubmit();
  660. }}>提交审核</Button>
  661. </FormItem>
  662. </Form >
  663. )
  664. }
  665. }));
  666. const PatentDesc = React.createClass({
  667. getInitialState() {
  668. return {
  669. visible: false,
  670. loading: false
  671. };
  672. },
  673. showModal() {
  674. this.setState({
  675. visible: true,
  676. });
  677. },
  678. handleCancel(e) {
  679. this.setState({
  680. visible: false,
  681. });
  682. this.props.closeDesc(false);
  683. },
  684. handleOk(e) {
  685. this.setState({
  686. visible: false,
  687. });
  688. this.props.closeDesc(false, true);
  689. },
  690. componentWillReceiveProps(nextProps) {
  691. this.state.visible = nextProps.showDesc;
  692. },
  693. render() {
  694. if (this.props.data) {
  695. return (
  696. <div className="patent-desc">
  697. <Spin spinning={this.state.loading} className='spin-box'>
  698. <Modal maskClosable={false} title="用户详情" visible={this.state.visible}
  699. onOk={this.checkPatentProcess} onCancel={this.handleCancel}
  700. width='600px'
  701. footer=''
  702. className="admin-desc-content">
  703. {window.showAuditStatus ? <UserShow
  704. uid={this.props.data.id}
  705. data={this.props.data}
  706. closeDesc={this.handleCancel}
  707. visible={this.state.visible}
  708. handleOk={this.handleOk} />
  709. : <UserForm
  710. uid={this.props.data.id}
  711. data={this.props.data}
  712. closeDesc={this.handleCancel}
  713. visible={this.state.visible}
  714. handleOk={this.handleOk} />}
  715. </Modal>
  716. </Spin>
  717. </div>
  718. );
  719. } else {
  720. return <div></div>
  721. }
  722. },
  723. });
  724. export default PatentDesc;
  725. // <FormItem
  726. // {...formItemLayout}
  727. // label="打款金额"
  728. // >
  729. // {getFieldDecorator('amountMoney', {
  730. // initialValue: this.state.amountMoney
  731. // })(
  732. // <Input />
  733. // )}
  734. // </FormItem>
  735. // <FormItem
  736. // {...formItemLayout}
  737. // label="打款日期"
  738. // >
  739. // {getFieldDecorator('paymentDateFormattedDate', {
  740. // initialValue: this.state.paymentDate ? moment(this.state.paymentDate) : null
  741. // })(
  742. // <DatePicker />
  743. // )}
  744. // </FormItem>