projectOrderDetaile.jsx 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783
  1. import React from 'react';
  2. import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form, Upload, Popconfirm, AutoComplete } from 'antd';
  3. import ajax from 'jquery/src/ajax/xhr.js';
  4. import $ from 'jquery/src/ajax';
  5. import '../userMangagement.less';
  6. import { getApprovedState, getPaymentState, getOrderState, getProjectState, getOrderChannel, getOrderType, getTransactionProject, getTransactionChannel } from '../../../../tools.js';
  7. import ProjectOperation from "../../../../common/projectOperation";
  8. const MySettlementDetaile = Form.create()(React.createClass({
  9. loadData(record) {
  10. this.state.data = [];
  11. this.setState({
  12. loading: true
  13. });
  14. $.ajax({
  15. method: "get",
  16. dataType: "json",
  17. crossDomain: false,
  18. url: globalConfig.context + '/api/admin/order/getOrderCommodity',
  19. data: {
  20. orderNo: record ? record.orderNo : this.props.datauser.orderNo
  21. },
  22. success: function (data) {
  23. let theArr = [];
  24. if (!data.data) {
  25. if (data.error && data.error.length) {
  26. message.warning(data.error[0].message);
  27. };
  28. } else {
  29. for (let i = 0; i < data.data.length; i++) {
  30. let thisdata = data.data[i];
  31. theArr.push({
  32. key: i,
  33. id: thisdata.id,
  34. orderNo: thisdata.orderNo,
  35. commodityName: thisdata.commodityName,
  36. commodityType: thisdata.commodityType,
  37. commodityMode: thisdata.commodityMode,
  38. commodityQuantity: thisdata.commodityQuantity,
  39. commodityPrice: thisdata.commodityPrice,
  40. discountPrice: thisdata.discountPrice,
  41. commodityFirstPayment: thisdata.commodityFirstPayment,
  42. createTimes: thisdata.createTimes,
  43. discountFirstPayment: thisdata.discountFirstPayment,
  44. remarks: thisdata.remarks,
  45. });
  46. };
  47. }
  48. this.setState({
  49. dataSource: theArr,
  50. });
  51. }.bind(this),
  52. }).always(function () {
  53. this.setState({
  54. loading: false
  55. });
  56. }.bind(this));
  57. },
  58. getInitialState() {
  59. return {
  60. loading: false,
  61. visible: false,
  62. lookState: true,
  63. orgCodeUrl: [],
  64. lookflowList: [],
  65. checkedKeys: [],
  66. columns: [
  67. {
  68. title: '业务项目名称',
  69. dataIndex: 'commodityName',
  70. key: 'commodityName',
  71. render: (text, record) => {
  72. return (
  73. <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span></span>
  74. )
  75. }
  76. }, {
  77. title: '项目类别',
  78. dataIndex: 'commodityType',
  79. key: 'commodityType',
  80. render: (text) => {
  81. return (getOrderType(text))
  82. }
  83. }, {
  84. title: '项目数量',
  85. dataIndex: 'commodityQuantity',
  86. key: 'commodityQuantity'
  87. }, {
  88. title: '服务市价(万元)',
  89. dataIndex: 'commodityPrice',
  90. key: 'commodityPrice'
  91. }, {
  92. title: '实签价格(万元)',
  93. dataIndex: 'discountPrice',
  94. key: 'discountPrice'
  95. }, {
  96. title: '下单时间',
  97. dataIndex: 'createTimes',
  98. key: 'createTimes'
  99. }, {
  100. title: '项目说明',
  101. dataIndex: 'remarks',
  102. key: 'remarks',
  103. render: (text) => {
  104. return (text && text.length > 8 ? text.substr(0, 8) + '…' : text)
  105. }
  106. }
  107. ],
  108. userList: [
  109. {
  110. title: '用户编号',
  111. dataIndex: 'userNo',
  112. key: 'userNo'
  113. }, {
  114. title: '用户姓名',
  115. dataIndex: 'name',
  116. key: 'name'
  117. }, {
  118. title: '部门机构',
  119. dataIndex: 'departmentName',
  120. key: 'departmentName'
  121. }, {
  122. title: '职务',
  123. dataIndex: 'position',
  124. key: 'position'
  125. }, {
  126. title: '联系手机',
  127. dataIndex: 'mobile',
  128. key: 'mobile'
  129. }, {
  130. title: '操作',
  131. dataIndex: 'abc',
  132. key: 'abc',
  133. render: (text, record, index) => {
  134. return (
  135. <Popconfirm title={'您确认指定【' + record.departmentName + '-' + record.name + '】为项目负责人?'} onConfirm={(e) => { this.confirmSelect(record) }} okText="确认" cancelText="取消">
  136. <Button style={{ marginRight: '5px' }} type="primary">选定</Button>
  137. </Popconfirm>
  138. )
  139. }
  140. }
  141. ],
  142. flowList: [
  143. {
  144. title: '平台流水号',
  145. dataIndex: 'billNo',
  146. key: 'billNo',
  147. }, {
  148. title: '平台流水时间',
  149. dataIndex: 'createTime',
  150. key: 'createTime'
  151. }, {
  152. title: '流水金额(万元)',
  153. dataIndex: 'transactionAmount',
  154. key: 'transactionAmount'
  155. }, {
  156. title: '付款人名称',
  157. dataIndex: 'payerName',
  158. key: 'payerName'
  159. }, {
  160. title: '收款人名称',
  161. dataIndex: 'payeeName',
  162. key: 'payeeName'
  163. },
  164. {
  165. title: '流水科目',
  166. dataIndex: 'transactionSubject',
  167. key: 'transactionSubject',
  168. render: (text) => { return getTransactionProject(text) }
  169. }, {
  170. title: '流水外联',
  171. dataIndex: 'transactionChannel',
  172. key: 'transactionChannel',
  173. render: (text) => { return getTransactionChannel(text) }
  174. }, {
  175. title: '财务流水号',
  176. dataIndex: 'financialPayNo',
  177. key: 'financialPayNo',
  178. }, {
  179. title: '财务流水时间',
  180. dataIndex: 'financialPayTime',
  181. key: 'financialPayTime',
  182. }, {
  183. title: '流水确认',
  184. dataIndex: 'confirmSign',
  185. key: 'confirmSign',
  186. render: (text) => { return text ? '已确认' : '待确认' }
  187. }, {
  188. title: '确认时间',
  189. dataIndex: 'confirmTime',
  190. key: 'confirmTime',
  191. }
  192. ],
  193. contractList: [
  194. {
  195. title: '姓名',
  196. dataIndex: 'name',
  197. key: 'name'
  198. }, {
  199. title: '部门',
  200. dataIndex: 'depatrment',
  201. key: 'depatrment'
  202. }, {
  203. title: '联系方式',
  204. dataIndex: 'mobile',
  205. key: 'mobile'
  206. }, {
  207. title: '是否为主要联系人',
  208. dataIndex: 'major',
  209. key: 'major',
  210. render: (text) => {
  211. return text ? '是' : "否"
  212. }
  213. }, {
  214. title: '职务',
  215. dataIndex: 'position',
  216. key: 'position'
  217. }, {
  218. title: '微信',
  219. dataIndex: 'wechat',
  220. key: 'wechat'
  221. }, {
  222. title: 'QQ',
  223. dataIndex: 'qq',
  224. key: 'qq'
  225. },
  226. ],
  227. };
  228. },
  229. seeContract() {
  230. this.contract();
  231. this.setState({
  232. orderVisible: true
  233. })
  234. },
  235. orderCancel() {
  236. this.setState({
  237. orderVisible: false
  238. })
  239. },
  240. //查看联系人
  241. contract() {
  242. $.ajax({
  243. method: "get",
  244. dataType: "json",
  245. crossDomain: false,
  246. url: globalConfig.context + '/api/admin/customer/findAllContacts',
  247. data: {
  248. uid: this.state.buyerId
  249. },
  250. success: function (data) {
  251. let thisData = data.data;
  252. if (!thisData) {
  253. if (data.error && data.error.length) {
  254. message.warning(data.error[0].message);
  255. };
  256. thisData = {};
  257. };
  258. this.setState({
  259. contractArr: thisData,
  260. });
  261. }.bind(this),
  262. }).always(function () {
  263. this.setState({
  264. loading: false
  265. });
  266. }.bind(this));
  267. },
  268. //查看基本详情基本信息
  269. loaduser(record) {
  270. if (record) {
  271. this.state.orderList = []
  272. $.ajax({
  273. method: "get",
  274. dataType: "json",
  275. crossDomain: false,
  276. url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
  277. data: {
  278. orderNo: record
  279. },
  280. success: function (data) {
  281. let thisData = data.data;
  282. if (!thisData) {
  283. if (data.error && data.error.length) {
  284. message.warning(data.error[0].message);
  285. };
  286. thisData = {};
  287. };
  288. this.setState({
  289. id: thisData.id,
  290. buyerId: thisData.buyerId,
  291. orderList: thisData,
  292. orderAmount: thisData.orderAmount,
  293. firstPayment: thisData.firstPayment,
  294. signTotalAmount: thisData.signTotalAmount,
  295. signFirstPayment: thisData.signFirstPayment,
  296. approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval,
  297. orderRemarks: thisData.orderRemarks,
  298. orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],
  299. //签单
  300. orderNo: thisData.orderNo,//订单编号
  301. buyerName: thisData.buyerName,
  302. });
  303. }.bind(this),
  304. }).always(function () {
  305. this.setState({
  306. loading: false
  307. });
  308. }.bind(this));
  309. }
  310. },
  311. handleOk(e) {
  312. this.setState({
  313. visible: false,
  314. });
  315. this.props.closeDesc(false, true);
  316. },
  317. handleCancel(e) {
  318. this.setState({
  319. visible: false,
  320. });
  321. this.props.closeDesc(false);
  322. },
  323. lookflow() {
  324. this.setState({
  325. loading: true,
  326. lookVisible: true,
  327. })
  328. this.state.lookSource = [];
  329. $.ajax({
  330. method: "get",
  331. dataType: "json",
  332. crossDomain: false,
  333. url: globalConfig.context + '/api/admin/order/getBillByOrderNo',
  334. data: {
  335. orderNo: this.props.datauser.orderNo,
  336. },
  337. success: function (data) {
  338. let theArr = [];
  339. if (!data.data) {
  340. if (data.error && data.error.length) {
  341. message.warning(data.error[0].message);
  342. };
  343. } else {
  344. for (let i = 0; i < data.data.length; i++) {
  345. let thisdata = data.data[i];
  346. theArr.push({
  347. key: i,
  348. billNo: thisdata.billNo,
  349. transactionAmount: thisdata.transactionAmount,
  350. createTime: thisdata.createTime,
  351. payerName: thisdata.payerName,
  352. payeeName: thisdata.payeeName,
  353. transactionSubject: thisdata.transactionSubject,
  354. transactionChannel: thisdata.transactionChannel,
  355. financialPayNo: thisdata.financialPayNo,
  356. financialPayTime: thisdata.financialPayTime,
  357. orderNo: thisdata.orderNo,
  358. departmentName: thisdata.departmentName,
  359. salesmanName: thisdata.salesmanName,
  360. financeName: thisdata.financeName,
  361. confirmSign: thisdata.confirmSign,
  362. deleteSign: thisdata.deleteSign,
  363. confirmTime: thisdata.confirmTime
  364. });
  365. };
  366. };
  367. this.setState({
  368. lookflowList: theArr,
  369. });
  370. }.bind(this),
  371. }).always(function () {
  372. this.setState({
  373. loading: false
  374. });
  375. }.bind(this));
  376. },
  377. lookCancel() {
  378. this.setState({
  379. lookVisible: false
  380. })
  381. },
  382. tableRowClick(record, index) {
  383. this.setState({
  384. editFw: record,
  385. projectOperationVisible: true,
  386. });
  387. },
  388. /*
  389. * 选择负责人
  390. */
  391. //转交
  392. confirmDelet(index) {
  393. this.setState({
  394. showDesc: false,
  395. distributionVisible: true
  396. });
  397. this.departmentList()
  398. },
  399. distributionCancel() {
  400. this.setState({
  401. distributionVisible: false
  402. })
  403. },
  404. //分配对象列表
  405. contactList() {
  406. $.ajax({
  407. method: "get",
  408. dataType: "json",
  409. crossDomain: false,
  410. url: globalConfig.context + '/api/admin/superviser/adminList',
  411. data: {
  412. pageNo: 1,
  413. pageSize: 99,
  414. departmentId: this.state.departmenttList,
  415. name: this.state.financeNameSearch,
  416. },
  417. success: function (data) {
  418. let theArr = [];
  419. if (!data.data) {
  420. if (data.error && data.error.length) {
  421. message.warning(data.error[0].message);
  422. };
  423. } else {
  424. for (let i = 0; i < data.data.list.length; i++) {
  425. let thisdata = data.data.list[i];
  426. theArr.push({
  427. key: i,
  428. id: thisdata.id,
  429. userNo: thisdata.userNo,
  430. name: thisdata.name,
  431. departmentName: thisdata.departmentName,
  432. departmentId: thisdata.departmentId,
  433. position: thisdata.position,
  434. mobile: thisdata.mobile,
  435. });
  436. };
  437. };
  438. this.setState({
  439. distributionList: theArr,
  440. });
  441. }.bind(this),
  442. }).always(function () {
  443. this.setState({
  444. loading: false
  445. });
  446. }.bind(this));
  447. },
  448. //选定对象
  449. confirmSelect(record) {
  450. this.setState({
  451. loading: true
  452. });
  453. $.ajax({
  454. method: "POST",
  455. dataType: "json",
  456. crossDomain: false,
  457. url: globalConfig.context + "/api/admin/order/transferOrder",
  458. data: {
  459. orderNo: this.state.orderNo,
  460. aid: record.id,
  461. targetType: 2
  462. }
  463. }).done(function (data) {
  464. if (!data.error.length) {
  465. message.success('转交成功!');
  466. this.setState({
  467. loading: false,
  468. });
  469. this.distributionCancel();
  470. this.loaduser(this.state.orderNo);
  471. } else {
  472. message.warning(data.error[0].message);
  473. };
  474. }.bind(this));
  475. },
  476. //部门
  477. departmentList() {
  478. this.setState({
  479. loading: true
  480. });
  481. $.ajax({
  482. method: "get",
  483. dataType: "json",
  484. crossDomain: false,
  485. url: globalConfig.context + "/api/admin/organization/selectSuperId",
  486. data: {
  487. },
  488. success: function (data) {
  489. let thedata = data.data;
  490. let theArr = [];
  491. if (!thedata) {
  492. if (data.error && data.error.length) {
  493. message.warning(data.error[0].message);
  494. };
  495. thedata = {};
  496. } else {
  497. thedata.map(function (item, index) {
  498. theArr.push({
  499. key: index,
  500. name: item.name,
  501. id: item.id,
  502. })
  503. })
  504. }
  505. this.setState({
  506. departmentArr: theArr,
  507. })
  508. }.bind(this),
  509. }).always(function () {
  510. this.setState({
  511. loading: false
  512. });
  513. }.bind(this));
  514. },
  515. searchOrder() {
  516. this.contactList();
  517. },
  518. resetOrder() {
  519. this.state.departmenttList = undefined;
  520. this.state.financeNameSearch = '';
  521. this.setState({
  522. distributionList: []
  523. });
  524. },
  525. componentWillMount() {
  526. },
  527. componentWillReceiveProps(nextProps) { //props改变时触发
  528. this.state.visible = nextProps.showDesc;
  529. if (nextProps.userDetaile && nextProps.showDesc) {
  530. this.loaduser(nextProps.datauser.orderNo);
  531. this.loadData(nextProps.datauser);
  532. }
  533. },
  534. render() {
  535. const FormItem = Form.Item;
  536. let departmentArr = this.state.departmentArr || [];
  537. const formItemLayout = {
  538. labelCol: { span: 8 },
  539. wrapperCol: { span: 14 },
  540. };
  541. const orderDetaiel = this.state.orderList || [];
  542. return (
  543. <div>
  544. <Modal maskClosable={false} visible={this.state.visible}
  545. onOk={this.handleOk} onCancel={this.handleCancel}
  546. width='1200px'
  547. title='订单详情'
  548. footer=''
  549. className="admin-desc-content">
  550. <Form layout="horizontal" id="demand-form" style={{ paddingBottom: '40px' }} >
  551. <Spin spinning={this.state.loading}>
  552. <div className="clearfix">
  553. <div className="clearfix">
  554. <FormItem className="half-item"
  555. {...formItemLayout}
  556. label="订单编号" >
  557. <span>{orderDetaiel.orderNo}</span>
  558. </FormItem>
  559. <FormItem className="half-item"
  560. {...formItemLayout}
  561. label="下单时间" >
  562. <span>{orderDetaiel.createTime}</span>
  563. </FormItem>
  564. <FormItem className="half-item"
  565. {...formItemLayout}
  566. label="客户名称" >
  567. <span>{orderDetaiel.buyerName}</span>
  568. <Button onClick={this.seeContract} style={{ float: 'right', fontSize: '12px' }}>查看联系人</Button>
  569. </FormItem>
  570. <FormItem className="half-item"
  571. {...formItemLayout}
  572. label="订单类型" >
  573. <span>{getOrderType(orderDetaiel.orderType)}</span>
  574. </FormItem>
  575. <FormItem className="half-item"
  576. {...formItemLayout}
  577. label="订单外联" >
  578. <span>{getOrderChannel(orderDetaiel.orderChannel)}</span>
  579. </FormItem>
  580. <FormItem className="half-item"
  581. {...formItemLayout}
  582. label="订单状态" >
  583. <span>{getOrderState(orderDetaiel.orderStatus)}</span>
  584. </FormItem>
  585. <FormItem className="half-item"
  586. {...formItemLayout}
  587. label="已收款项" >
  588. <span>{orderDetaiel.actuallyTotalAmount + '万元'}</span>
  589. </FormItem>
  590. <FormItem className="half-item"
  591. {...formItemLayout}
  592. label="结算状态" >
  593. <span>{getPaymentState(orderDetaiel.liquidationStatus)}</span>
  594. </FormItem>
  595. <div className='clearfix'>
  596. <FormItem className="half-item"
  597. {...formItemLayout}
  598. label="实签订单金额" >
  599. <span>{orderDetaiel.signTotalAmount + '万元'}</span>
  600. </FormItem>
  601. <FormItem className="half-item"
  602. {...formItemLayout}
  603. label="实签首款金额" >
  604. <span>{orderDetaiel.signFirstPayment + '万元'}</span>
  605. </FormItem>
  606. <FormItem className="half-item"
  607. {...formItemLayout}
  608. label="特批立项" >
  609. <span>{getApprovedState(orderDetaiel.approval)}</span>
  610. </FormItem>
  611. <FormItem className="half-item"
  612. {...formItemLayout}
  613. label="合同编号" >
  614. <span>{orderDetaiel.contractNo}</span>
  615. </FormItem>
  616. <div className='clearfix'>
  617. <FormItem
  618. labelCol={{ span: 4 }}
  619. wrapperCol={{ span: 16 }}
  620. label="订单留言" >
  621. <span>{orderDetaiel.orderRemarks}</span>
  622. </FormItem>
  623. </div>
  624. </div>
  625. </div>
  626. <div className='clearfix'>
  627. <FormItem className="half-item"
  628. {...formItemLayout}
  629. label="订单负责人" >
  630. <span>{orderDetaiel.salesmanName}</span>
  631. </FormItem>
  632. <FormItem className="half-item"
  633. {...formItemLayout}
  634. label="业务品类" >
  635. <span>{orderDetaiel.projectType}</span>
  636. </FormItem>
  637. </div>
  638. <div className='clearfix'>
  639. <FormItem className="half-item"
  640. {...formItemLayout}
  641. label="意向时间" >
  642. <span>{orderDetaiel.createTime}</span>
  643. </FormItem>
  644. <FormItem className="half-item"
  645. {...formItemLayout}
  646. label="签单时间" >
  647. <span>{orderDetaiel.signTime}</span>
  648. </FormItem>
  649. <FormItem className="half-item"
  650. {...formItemLayout}
  651. label="财务负责人" >
  652. <span>{orderDetaiel.financeName}</span>
  653. <Button onClick={this.lookflow} style={{ float: 'right' }}>查看流水</Button>
  654. </FormItem>
  655. <FormItem className="half-item"
  656. {...formItemLayout}
  657. label="项目负责人" >
  658. <span>{orderDetaiel.technicianName}</span>
  659. {!orderDetaiel.technicianName ? <Button onClick={this.confirmDelet} style={{ float: 'right' }}>选择负责人</Button> : ''}
  660. </FormItem>
  661. <FormItem className="half-item"
  662. {...formItemLayout}
  663. label="立项时间" >
  664. <span>{orderDetaiel.setUpTime}</span>
  665. </FormItem>
  666. <FormItem className="half-item"
  667. {...formItemLayout}
  668. label="项目状态" >
  669. <span>{getProjectState(orderDetaiel.projectStage)}</span>
  670. </FormItem>
  671. </div>
  672. <div>
  673. <span style={{ marginLeft: '50px', fontSize: '20px' }}>业务项目</span>
  674. </div>
  675. <div className="patent-table">
  676. <Spin spinning={this.state.loading}>
  677. <Table columns={this.state.columns}
  678. dataSource={this.state.dataSource}
  679. pagination={false}
  680. onRowClick={this.tableRowClick}
  681. />
  682. </Spin>
  683. </div>
  684. </div>
  685. </Spin>
  686. </Form >
  687. </Modal>
  688. {this.state.projectOperationVisible ? <ProjectOperation
  689. readOnly={true}
  690. orderNo={this.state.orderNo}
  691. visible={this.state.projectOperationVisible}
  692. dataInfor={this.state.editFw}
  693. onCancel={() => {
  694. this.setState({
  695. projectOperationVisible: false,
  696. editFw: {},
  697. });
  698. }}
  699. /> : null}
  700. <Modal maskClosable={false} visible={this.state.lookVisible}
  701. onOk={this.lookCancel} onCancel={this.lookCancel}
  702. width='1300px'
  703. title='查看流水'
  704. footer=''
  705. className="admin-desc-content">
  706. <Form layout="horizontal" id="demand-form">
  707. <Spin spinning={this.state.loading}>
  708. <div className="clearfix">
  709. <Table columns={this.state.flowList}
  710. dataSource={this.state.lookflowList}
  711. pagination={false}
  712. />
  713. </div>
  714. </Spin>
  715. </Form >
  716. </Modal>
  717. <Modal maskClosable={false} visible={this.state.distributionVisible}
  718. onOk={this.distributionCancel} onCancel={this.distributionCancel}
  719. width='800px'
  720. title='请选择'
  721. footer=''
  722. className="admin-desc-content">
  723. <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{ paddingBottom: '40px' }} >
  724. <Spin spinning={this.state.loading}>
  725. <div>
  726. <Select placeholder="订单部门"
  727. style={{ width: 150, marginRight: '10px', marginLeft: '10px' }}
  728. value={this.state.departmenttList}
  729. onChange={(e) => { this.setState({ departmenttList: e }) }}>
  730. {
  731. departmentArr.map(function (item) {
  732. return <Select.Option key={item.id} >{item.name}</Select.Option>
  733. })
  734. }
  735. </Select>
  736. <Input placeholder="项目负责人" style={{ width: '150px', marginLeft: '10px' }}
  737. value={this.state.financeNameSearch}
  738. onChange={(e) => { this.setState({ financeNameSearch: e.target.value }); }} />
  739. <Button type="primary" onClick={this.searchOrder} style={{ marginLeft: '10px', marginRight: '10px' }}>搜索</Button>
  740. <Button onClick={this.resetOrder}>重置</Button>
  741. </div>
  742. <div className="patent-table" style={{ marginTop: '10px' }}>
  743. <Spin spinning={this.state.loading}>
  744. <Table columns={this.state.userList}
  745. dataSource={this.state.distributionList}
  746. pagination={false}
  747. />
  748. </Spin>
  749. </div>
  750. </Spin>
  751. </Form>
  752. </Modal>
  753. <Modal maskClosable={false} visible={this.state.orderVisible}
  754. onOk={this.orderCancel} onCancel={this.orderCancel}
  755. width='800px'
  756. title='查看联系人'
  757. footer=''
  758. className="admin-desc-content">
  759. <Form layout="horizontal" id="demand-form" style={{ paddingBottom: '40px' }} >
  760. <Spin spinning={this.state.loading}>
  761. <div className="patent-table" style={{ marginTop: '10px' }}>
  762. <Spin spinning={this.state.loading}>
  763. <Table columns={this.state.contractList}
  764. dataSource={this.state.contractArr}
  765. pagination={false}
  766. />
  767. </Spin>
  768. </div>
  769. </Spin>
  770. </Form>
  771. </Modal>
  772. </div>
  773. )
  774. }
  775. }));
  776. export default MySettlementDetaile;