taskQuery.jsx 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920
  1. import React,{Component} from 'react';
  2. import ajax from 'jquery/src/ajax/xhr.js';
  3. import $ from 'jquery/src/ajax';
  4. import moment from 'moment';
  5. import '@/manageCenter/financialManage/distribute/public.less';
  6. import { Icon, Button, Form, Radio, Input, InputNumber, Select, Upload,Col,Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
  7. import OrderDesc from '@/manageCenter/financialManage/orderDetail/orderDesc'
  8. import Assign from '@/manageCenter/publicComponent/assign';
  9. import './table.less';
  10. import {getProcessStatus,getApproval,getTaskStatus,getLiquidationStatus,getApprovedState,getProjectState,splitUrl,getProjectStatus,getboutique} from '@/tools';
  11. const FormItem =Form.Item;
  12. const Task = React.createClass({
  13. loadData(pageNo) {
  14. this.state.data = [];
  15. this.setState({
  16. page:pageNo,
  17. loading: true
  18. });
  19. $.ajax({
  20. method: "get",
  21. dataType: "json",
  22. crossDomain: false,
  23. url: globalConfig.context + "/api/admin/orderProject/selectTaskList",
  24. data: {
  25. pageNo: pageNo || 1,
  26. pageSize: this.state.pagination.pageSize,
  27. specially:1,//经理
  28. name: this.state.nameSearch,//客户名称
  29. orderNo:this.state.orderNoSearch,//订单编号
  30. depId: this.state.departmenttSearch,//订单部门
  31. taskId:this.state.taskId, //任务编号
  32. taskStatus:this.state.taskStatus,//任务状态
  33. adminName:this.state.adminName,//任务受理人
  34. },
  35. success: function (data) {
  36. let theArr = [];
  37. if (!data.data || !data.data.list) {
  38. if (data.error && data.error.length) {
  39. message.warning(data.error[0].message);
  40. };
  41. } else {
  42. for (let i = 0; i < data.data.list.length; i++) {
  43. let thisdata = data.data.list[i];
  44. theArr.push({
  45. key: i,
  46. orderNo: thisdata.orderNo,//订单编号
  47. id:thisdata.id,//任务ID
  48. taskName:thisdata.taskName,//名称
  49. cname:thisdata.cname,//项目品类
  50. receiverName:thisdata.receiverName,//受理人
  51. projectStatus:thisdata.projectStatus,//项目状态
  52. taskStatus:thisdata.taskStatus,//任务状态
  53. taskDate:thisdata.taskDate,//分配时间
  54. commodityQuantity:thisdata.commodityQuantity,//数量
  55. userName:thisdata.userName,//用户名
  56. depName:thisdata.depName,//部门名称
  57. receiverName:thisdata.receiverName,//任务责任人
  58. });
  59. };
  60. }
  61. this.state.pagination.current = data.data.pageNo;
  62. this.state.pagination.total = data.data.totalCount;
  63. if(data.data&&data.data.list&&!data.data.list.length){
  64. this.state.pagination.current=0
  65. this.state.pagination.total=0
  66. }
  67. this.setState({
  68. dataSource: theArr,
  69. pagination: this.state.pagination
  70. });
  71. }.bind(this),
  72. }).always(function () {
  73. this.setState({
  74. loading: false
  75. });
  76. }.bind(this));
  77. },
  78. getInitialState() {
  79. return {
  80. searchMore: true,
  81. assignVisible:false,
  82. releaseDate: [],
  83. roleName:'',
  84. testFlag:true,
  85. departmentArr: [],
  86. boHuivisible:false,
  87. selectedRowKeys: [],
  88. selectedRows: [],
  89. paginations:false,
  90. loading: false,
  91. pagination: {
  92. defaultCurrent: 1,
  93. defaultPageSize: 10,
  94. showQuickJumper: true,
  95. pageSize: 10,
  96. onChange: function (page) {
  97. this.loadData(page);
  98. }.bind(this),
  99. showTotal: function (total) {
  100. return '共' + total + '条数据';
  101. }
  102. },
  103. columns: [
  104. {
  105. title: '任务编号',
  106. dataIndex: 'id',
  107. key: 'id',
  108. }, {
  109. title: '任务名称',
  110. dataIndex: 'taskName',
  111. key: 'taskName',
  112. }, {
  113. title: '订单编号',
  114. dataIndex: 'orderNo',
  115. key: 'orderNo',
  116. },
  117. {
  118. title: '业务类别',
  119. dataIndex: 'cname',
  120. key: 'cname',
  121. },
  122. {
  123. title: '客户名称(软著数/下证数)',
  124. dataIndex: 'userName',
  125. key: 'userName',
  126. },
  127. {
  128. title: '任务状态',
  129. dataIndex: 'taskStatus',
  130. key: 'taskStatus',
  131. render: text => { return getTaskStatus(text)}
  132. },
  133. {
  134. title: '项目状态',
  135. dataIndex: 'projectStatus',
  136. key: 'projectStatus',
  137. render: text => { return getProjectStatus(text)}
  138. },
  139. {
  140. title: '分配时间',
  141. dataIndex: 'taskDate',
  142. key: 'taskDate'
  143. },
  144. {
  145. title: '任务数量',
  146. dataIndex: 'commodityQuantity',
  147. key: 'commodityQuantity'
  148. },
  149. {
  150. title: '任务责任人',
  151. dataIndex: 'receiverName',
  152. key: 'receiverName'
  153. },{
  154. title: '订单部门',
  155. dataIndex: 'depName',
  156. key: 'depName'
  157. }
  158. ],
  159. dataSource: [],
  160. searchTime: [],
  161. columnsX: [
  162. {
  163. title: '业务项目名称',
  164. dataIndex: 'commodityName',
  165. key: 'commodityName'
  166. }, {
  167. title: '项目类别',
  168. dataIndex: 'cname',
  169. key: 'cname',
  170. },{
  171. title: '项目数量',
  172. dataIndex: 'commodityQuantity',
  173. key: 'commodityQuantity'
  174. }, {
  175. title: '金额(万元)',
  176. dataIndex: 'commodityPrice',
  177. key: 'commodityPrice'
  178. }, {
  179. title: '负责人',
  180. dataIndex: 'contacts',
  181. key: 'contacts'
  182. }, {
  183. title: '负责人电话',
  184. dataIndex: 'contactsMobile',
  185. key: 'contactsMobile'
  186. }, {
  187. title: '主要项目',
  188. dataIndex: 'main',
  189. key: 'main',
  190. render:(text)=>{
  191. return (text?'是':'否')
  192. }
  193. }, {
  194. title: '项目说明',
  195. dataIndex: 'taskComment',
  196. key: 'taskComment',
  197. render:(text)=>{
  198. return (text&&text.length>8?text.substr(0,8)+'…':text)
  199. }
  200. }
  201. ],
  202. dataSourceX: [],
  203. columnsY: [
  204. {
  205. title: '批次',
  206. dataIndex: 'a',
  207. key: 'a',
  208. align:'center'
  209. }, {
  210. title: '下注时间',
  211. dataIndex: 'a',
  212. key: 'a',
  213. align:'center'
  214. }, {
  215. title: '下证数量',
  216. dataIndex: 'a',
  217. key: 'a',
  218. align:'center'
  219. }, {
  220. title: '未下证数量',
  221. dataIndex: 'a',
  222. key: 'a',
  223. align:'center'
  224. },
  225. ]
  226. }
  227. },
  228. /* 分派 */
  229. evaluate(record,nub){
  230. this.state.assignData=record;
  231. this.setState({
  232. nub,
  233. assignVisible:true
  234. })
  235. },
  236. componentWillMount() {
  237. this.departmentList();
  238. this.loadData();
  239. },
  240. tableRowClick(record, index) {
  241. this.state.RowData = record;
  242. this.setState({
  243. visible: true,
  244. });
  245. this.xiangqing(record.orderNo);
  246. this.xiangmu(record.orderNo);
  247. },
  248. //订单详情
  249. xiangqing(orderNos) {
  250. $.ajax({
  251. method: "get",
  252. dataType: "json",
  253. crossDomain: false,
  254. url: globalConfig.context +"/api/admin/newOrder/getOrderNewDetail",
  255. data: {
  256. orderNo:orderNos
  257. },
  258. success: function(data) {
  259. let theArr = [];
  260. if(data.error.length || data.data.list == "") {
  261. if(data.error && data.error.length) {
  262. message.warning(data.error[0].message);
  263. };
  264. } else {
  265. let thisdata=data.data;
  266. this.setState({
  267. orderNo: thisdata.orderNo,//订单编号
  268. contractNo: thisdata.contractNo,//合同编号
  269. userName:thisdata.userName,//客户名称
  270. signDate:thisdata.signDate,//签单时间
  271. processStatus:thisdata.processStatus,//流程状态
  272. liquidationStatus:thisdata.liquidationStatus,//结算状态
  273. contacts:thisdata.contacts,//企业联系人
  274. contactMobile:thisdata.contactMobile,//联系人电话
  275. legalPerson:thisdata.legalPerson,//法人
  276. legalPersonTel:thisdata.legalPersonTel,//法人电话
  277. firstAmount:thisdata.firstAmount,//签单金额
  278. totalAmount:thisdata.totalAmount,//首付金额
  279. approval:thisdata.approval,//特批状态
  280. settlementAmount:thisdata.settlementAmount,//已收款项
  281. orderRemarks:thisdata.orderRemarks,//订单留言
  282. orgCodeUrl: thisdata.contractPictureUrl ? splitUrl(thisdata.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],//图片地址
  283. salesmanName:thisdata.salesmanName,//营销员名称
  284. salesmanMobile:thisdata.salesmanMobile,//营销员电话
  285. financeName:thisdata.financeName,//财务名称
  286. financeMobile:thisdata.financeMobile,//财务电话
  287. depName:thisdata.depName,//订单部门
  288. })
  289. };
  290. }.bind(this),
  291. }).always(function() {
  292. this.setState({
  293. loading: false
  294. });
  295. }.bind(this));
  296. },
  297. //项目列表
  298. xiangmu(orderNos) {
  299. $.ajax({
  300. method: "get",
  301. dataType: "json",
  302. crossDomain: false,
  303. url: globalConfig.context +"/api/admin/newOrder/getOrderTask",
  304. data: {
  305. orderNo:orderNos
  306. },
  307. success: function(data) {
  308. let theArr = [];
  309. if(data.error.length || data.data.list == "") {
  310. if(data.error && data.error.length) {
  311. message.warning(data.error[0].message);
  312. };
  313. } else {
  314. for (let i = 0; i < data.data.length; i++) {
  315. let thisdata = data.data[i];
  316. theArr.push({
  317. key: i,
  318. id:thisdata.id,
  319. orderNo:thisdata.orderNo,//订单编号
  320. commodityId:thisdata.commodityId,//项目ID
  321. commodityName:thisdata.commodityName,//项目名称
  322. cname:thisdata.cname,//项目类别
  323. commodityPrice:thisdata.commodityPrice,//项目价格
  324. commodityQuantity:thisdata.commodityQuantity,//项目数量
  325. main:thisdata.main,//是否为主要任务
  326. taskComment:thisdata.taskComment,//任务说明
  327. contacts:thisdata.contacts,//联系人
  328. contactsMobile:thisdata.contactsMobile,//联系人电话
  329. taskStatus:thisdata.taskStatus,//是否分配
  330. });
  331. };
  332. };
  333. this.setState({
  334. dataSourceX: theArr,
  335. });
  336. }.bind(this),
  337. }).always(function() {
  338. this.setState({
  339. loading: false
  340. });
  341. }.bind(this));
  342. },
  343. //关闭详情
  344. visitCancel(e){
  345. this.setState({
  346. visible:false
  347. })
  348. this.reset();
  349. },
  350. visitOk(e){
  351. this.setState({
  352. visible:false
  353. })
  354. this.reset();
  355. },
  356. foo(){
  357. this.setState({
  358. testFlag:false
  359. })
  360. },
  361. closeDesc(e, s) {
  362. this.state.showDesc = e;
  363. if (s) {
  364. this.loadData(this.state.page);
  365. };
  366. },
  367. closeAssign(e, s) {
  368. this.state.roleName='';
  369. this.state.assignVisible = e;
  370. if (s) {
  371. this.loadData(this.state.page);
  372. };
  373. },
  374. nextCancel() {
  375. this.setState({
  376. addnextVisible: false
  377. })
  378. },
  379. //点击打卡项目详情
  380. tableRowClickX(record, index) {
  381. this.setState({
  382. jid:record.id,//项目ID
  383. kid:record.commodityId,//商品ID
  384. commodityName:record.commodityName,//金额
  385. commodityPrice:record.commodityPrice,//金额
  386. commodityQuantity:record.commodityQuantity,//数量
  387. taskComment:record.taskComment,//备注
  388. main:record.main.toString(),//是否为主要
  389. addnextVisible:true,
  390. addState:0,
  391. });
  392. },
  393. search() {
  394. this.loadData();
  395. },
  396. reset() {
  397. this.state.nameSearch = '';
  398. this.state.releaseDate = [];
  399. this.state.orderNoSearch='';
  400. this.state.taskNoSearch='';
  401. this.state.departmenttSearch=undefined;
  402. this.loadData(this.state.page);
  403. },
  404. searchSwitch() {
  405. this.setState({
  406. searchMore: !this.state.searchMore
  407. });
  408. },
  409. //部门
  410. departmentList() {
  411. this.setState({
  412. loading: true
  413. });
  414. $.ajax({
  415. method: "get",
  416. dataType: "json",
  417. crossDomain: false,
  418. url: globalConfig.context + "/api/admin/organization/selectSuperId",
  419. data: {
  420. },
  421. success: function(data) {
  422. let thedata = data.data;
  423. let theArr = [];
  424. if(!thedata) {
  425. if(data.error && data.error.length) {
  426. message.warning(data.error[0].message);
  427. };
  428. thedata = {};
  429. } else {
  430. thedata.map(function(item, index) {
  431. theArr.push({
  432. key: index,
  433. name: item.name,
  434. id: item.id,
  435. })
  436. })
  437. }
  438. this.setState({
  439. departmentArr: theArr,
  440. })
  441. }.bind(this),
  442. }).always(function() {
  443. this.setState({
  444. loading: false
  445. });
  446. }.bind(this));
  447. },
  448. render() {
  449. const rowSelection = {
  450. selectedRowKeys: this.state.selectedRowKeys,
  451. onChange: (selectedRowKeys, selectedRows) => {
  452. this.setState({
  453. selectedRows: selectedRows.slice(-1),
  454. selectedRowKeys: selectedRowKeys.slice(-1)
  455. });
  456. }
  457. };
  458. const formItemLayout = {
  459. labelCol: { span: 8 },
  460. wrapperCol: { span: 14 },
  461. };
  462. const hasSelected = this.state.selectedRowKeys.length > 0;
  463. const { RangePicker } = DatePicker;
  464. let departmentArr = this.state.departmentArr || [];
  465. return ( <div className="user-content">
  466. <div className="content-title">
  467. <span>任务查询</span>
  468. </div>
  469. <div className="user-search">
  470. <Input placeholder="客户名称"
  471. value={this.state.nameSearch}
  472. onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} />
  473. <Input placeholder="订单编号"
  474. value={this.state.orderNoSearch}
  475. onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
  476. <Input placeholder="任务编号"
  477. value={this.state.taskNoSearch}
  478. onChange={(e) => { this.setState({ taskNoSearch: e.target.value }); }} />
  479. <Select placeholder="选择部门"
  480. style={{ width: 150 ,marginRight:'10px'}}
  481. value={this.state.departmenttSearch}
  482. onChange={(e) => { this.setState({ departmenttSearch: e }) }}>
  483. {
  484. departmentArr.map(function (item) {
  485. return <Select.Option key={item.id} >{item.name}</Select.Option>
  486. })
  487. }
  488. </Select>
  489. <Button type="primary" onClick={this.search}>搜索</Button>
  490. <Button onClick={this.reset}>重置</Button>
  491. <Button type='primary' style={{marginLeft:'10px'}}>导出Excel</Button>
  492. {/* <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch.bind(this)} /></span>
  493. <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
  494. <span>订单时间 :</span>
  495. <RangePicker
  496. value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null,
  497. this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null]}
  498. onChange={(data, dataString) => { this.setState({ releaseDate: dataString }); }} />
  499. </div> */}
  500. </div>
  501. <div className="patent-table">
  502. <Spin spinning={this.state.loading}>
  503. <Table columns={this.state.columns}
  504. dataSource={this.state.dataSource}
  505. rowSelection={rowSelection}
  506. onHeaderRow={(column,index) =>{console.log(column.index)}}
  507. pagination={this.state.pagination}
  508. onRowClick={this.tableRowClick.bind(this)} />
  509. </Spin>
  510. </div>
  511. <Assign
  512. title="任务"
  513. selApi={"/api/admin/orderProject/projectDistribution"}
  514. data={this.state.assignData}
  515. showDesc={this.state.assignVisible}
  516. closeDesc={this.closeAssign.bind(this)}
  517. fenpaiData={8}
  518. specially={0}
  519. roleName={this.state.nub}
  520. />
  521. <Modal
  522. className="customeDetails"
  523. footer=''
  524. title="任务详情"
  525. width='900px'
  526. visible={this.state.visible}
  527. onOk={this.visitOk}
  528. onCancel={this.visitCancel}
  529. >
  530. <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
  531. <Spin spinning={this.state.loading}>
  532. <div className="clearfix">
  533. <FormItem className="half-item"
  534. {...formItemLayout}
  535. label="订单编号" >
  536. <span>{this.state.orderNo}</span>
  537. </FormItem>
  538. <FormItem className="half-item"
  539. {...formItemLayout}
  540. label="合同编号" >
  541. <span>{this.state.contractNo}</span>
  542. </FormItem>
  543. <FormItem className="half-item"
  544. {...formItemLayout}
  545. label="客户名称" >
  546. <span>{this.state.userName}</span>
  547. </FormItem>
  548. <FormItem className="half-item"
  549. {...formItemLayout}
  550. label="合同签订时间" >
  551. <span>{this.state.signDate}</span>
  552. </FormItem>
  553. <FormItem className="half-item"
  554. {...formItemLayout}
  555. label="流程状态" >
  556. <span>{getProcessStatus(this.state.processStatus)}</span>
  557. </FormItem>
  558. <FormItem className="half-item"
  559. {...formItemLayout}
  560. label="结算状态" >
  561. <span>{getLiquidationStatus(this.state.liquidationStatus)}</span>
  562. </FormItem>
  563. <FormItem className="half-item"
  564. {...formItemLayout}
  565. label="企业联系人" >
  566. <span>{this.state.contacts}</span>
  567. </FormItem>
  568. <FormItem className="half-item"
  569. {...formItemLayout}
  570. label="联系人电话" >
  571. <span>{this.state.contactMobile}</span>
  572. </FormItem>
  573. <FormItem className="half-item"
  574. {...formItemLayout}
  575. label="企业法人" >
  576. <span>{this.state.legalPerson}</span>
  577. </FormItem>
  578. <FormItem className="half-item"
  579. {...formItemLayout}
  580. label="法人电话" >
  581. <span>{this.state.legalPersonTel}</span>
  582. </FormItem>
  583. <FormItem className="half-item"
  584. {...formItemLayout}
  585. label="签单金额(万元)" >
  586. <span>{this.state.totalAmount}</span>
  587. </FormItem>
  588. <FormItem className="half-item"
  589. {...formItemLayout}
  590. label="首付金额(万元)" >
  591. <span>{this.state.firstAmount}</span>
  592. </FormItem>
  593. <FormItem className="half-item"
  594. {...formItemLayout}
  595. label="特批立项" >
  596. <span>{getApprovedState(this.state.approval)}</span>
  597. </FormItem>
  598. <FormItem className="half-item"
  599. {...formItemLayout}
  600. label="已收款项(万元)" >
  601. <span>{this.state.settlementAmount}</span>
  602. </FormItem>
  603. <div className='clearfix'>
  604. <FormItem
  605. labelCol={{ span: 4 }}
  606. wrapperCol={{ span: 16 }}
  607. label="订单留言" >
  608. <span>{this.state.orderRemarks}</span>
  609. </FormItem>
  610. </div>
  611. <div className='clearfix'>
  612. <FormItem className="half-item"
  613. {...formItemLayout}
  614. label="订单负责人" >
  615. <span>{this.state.salesmanName}</span>
  616. </FormItem>
  617. <FormItem className="half-item"
  618. {...formItemLayout}
  619. label="订单负责人电话" >
  620. <span>{this.state.salesmanMobile}</span>
  621. </FormItem>
  622. <FormItem className="half-item"
  623. {...formItemLayout}
  624. label="订单部门" >
  625. <span>{this.state.depName}</span>
  626. </FormItem>
  627. </div>
  628. <div className='clearfix'>
  629. <FormItem className="half-item"
  630. {...formItemLayout}
  631. label="财务负责人" >
  632. <span>{this.state.financeName}</span>
  633. </FormItem>
  634. <FormItem className="half-item"
  635. {...formItemLayout}
  636. label="财务负责人电话" >
  637. <span>{this.state.financeMobile}</span>
  638. </FormItem>
  639. </div>
  640. <div>
  641. <span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
  642. {this.state.processStatus==0?<Button type='primary' onClick={this.addDetailed} style={{float:'right',marginRight:'50px',marginBottom:'15px'}}>添加项目明细</Button>:""}
  643. </div>
  644. <div className="patent-table">
  645. <Spin spinning={this.state.loading}>
  646. <Table columns={this.state.columnsX}
  647. dataSource={this.state.dataSourceX}
  648. pagination={this.state.paginations}
  649. onRowClick={this.tableRowClickX}
  650. />
  651. </Spin>
  652. </div>
  653. </div>
  654. </Spin>
  655. </Form>
  656. </Modal>
  657. <Modal maskClosable={false} visible={this.state.addnextVisible}
  658. onOk={this.nextCancel} onCancel={this.nextCancel}
  659. width='900px'
  660. title='项目任务详情'
  661. footer=''
  662. className="admin-desc-content">
  663. <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form">
  664. <Spin spinning={this.state.loading}>
  665. <div className='clearfix'>
  666. <FormItem className="half-item"
  667. {...formItemLayout}
  668. label="项目名称" >
  669. <span>{this.state.commodityName}</span>
  670. </FormItem>
  671. <FormItem className="half-item"
  672. {...formItemLayout}
  673. label="项目数量" >
  674. <span>{this.state.commodityQuantity}</span>
  675. </FormItem>
  676. <FormItem className="half-item"
  677. {...formItemLayout}
  678. label="金额(万元)" >
  679. <span>{this.state.commodityPrice}</span>
  680. </FormItem>
  681. <FormItem className="half-item"
  682. {...formItemLayout}
  683. label="主要项目" >
  684. <span>{getboutique(this.state.main)}</span>
  685. </FormItem>
  686. <div className='clearfix'>
  687. <FormItem
  688. labelCol={{ span: 4 }}
  689. wrapperCol={{ span: 16 }}
  690. label="服务说明" >
  691. <span>{this.state.taskComment}</span>
  692. </FormItem>
  693. </div>
  694. </div>
  695. </Spin>
  696. </Form >
  697. </Modal>
  698. <Modal maskClosable={false} visible={this.state.testFlag}
  699. onOk={this.nextCancel} onCancel={this.foo}
  700. width='800px'
  701. title='项目概况'
  702. footer=''
  703. className="admin-desc-content">
  704. <div className="clearfix">
  705. <FormItem className="large-item"
  706. labelCol={{ span: 5 }}
  707. wrapperCol={{ span: 14 }}
  708. label="当前项目情况">
  709. <Radio.Group value={this.state.aaa}>
  710. <Radio value={1}>开启</Radio>
  711. <Radio value={2}>暂停</Radio>
  712. </Radio.Group>
  713. <Button type='primary' size='small' style={{marginTop:'5px',position:'absolute'}}>操作日志</Button>
  714. </FormItem>
  715. </div>
  716. <div className="clearfix">
  717. <FormItem className="large-item"
  718. labelCol={{ span: 5 }}
  719. wrapperCol={{ span: 14 }}
  720. label="退单">
  721. <Radio.Group value={this.state.aaa}>
  722. <Radio value={1}>项目已完成退单</Radio>
  723. <Radio value={2}>项目未完成退单</Radio>
  724. <Radio value={3}>其他</Radio>
  725. </Radio.Group>
  726. </FormItem>
  727. </div>
  728. <div className="clearfix">
  729. <FormItem className="large-item"
  730. labelCol={{ span: 5 }}
  731. wrapperCol={{ span: 14 }}
  732. label="请备注退单原因">
  733. <Input.TextArea />
  734. </FormItem>
  735. </div>
  736. <div className="clearfix">
  737. <FormItem className="large-item"
  738. labelCol={{ span: 5 }}
  739. wrapperCol={{ span: 14 }}
  740. label="满意度表格">
  741. <Radio.Group value={this.state.aaa}>
  742. <Radio value={1}>已收回</Radio>
  743. <Radio value={2}>未收回</Radio>
  744. <Radio value={3}>其他</Radio>
  745. </Radio.Group>
  746. </FormItem>
  747. </div>
  748. <hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>
  749. <div className="clearfix">
  750. <FormItem className="half-item"
  751. {...formItemLayout}
  752. label="是否特批">
  753. <span></span>
  754. </FormItem>
  755. <FormItem className="half-item"
  756. {...formItemLayout}
  757. label="项目进度">
  758. <span></span>
  759. </FormItem>
  760. <FormItem className="half-item"
  761. {...formItemLayout}
  762. label="合同编号">
  763. <span></span>
  764. </FormItem>
  765. <FormItem className="half-item"
  766. {...formItemLayout}
  767. label="结算状态">
  768. <span></span>
  769. </FormItem>
  770. <FormItem className="half-item"
  771. {...formItemLayout}
  772. label="流程状态">
  773. <span></span>
  774. </FormItem>
  775. <FormItem className="half-item"
  776. {...formItemLayout}
  777. label="订单编号">
  778. <span></span>
  779. </FormItem>
  780. <FormItem className="half-item"
  781. {...formItemLayout}
  782. label="材料是否启动">
  783. <span></span>
  784. </FormItem>
  785. </div>
  786. <hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>
  787. <div className="clearfix">
  788. <h3 style={{marginTop:'10px',marginLeft:'10px'}}>任务信息</h3>
  789. <FormItem className="half-item"
  790. {...formItemLayout}
  791. label="任务编号">
  792. <span></span>
  793. </FormItem>
  794. <FormItem className="half-item"
  795. {...formItemLayout}
  796. label="任务名称">
  797. <span></span>
  798. </FormItem>
  799. <FormItem className="half-item"
  800. {...formItemLayout}
  801. label="任务状态">
  802. <span></span>
  803. </FormItem>
  804. <FormItem className="half-item"
  805. {...formItemLayout}
  806. label="任务类别">
  807. <span></span>
  808. </FormItem>
  809. <FormItem className="half-item"
  810. {...formItemLayout}
  811. label="证书编号">
  812. <span></span>
  813. </FormItem>
  814. </div>
  815. <hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>
  816. <div className="clearfix">
  817. <h3 style={{marginTop:'10px',marginLeft:'10px'}}>联系信息</h3>
  818. <FormItem className="half-item"
  819. {...formItemLayout}
  820. label="客户名称">
  821. <span></span>
  822. </FormItem>
  823. <FormItem className="half-item"
  824. {...formItemLayout}
  825. label="企业法人">
  826. <span></span>
  827. </FormItem>
  828. <FormItem className="half-item"
  829. {...formItemLayout}
  830. label="法人电话">
  831. <span></span>
  832. </FormItem>
  833. <FormItem className="half-item"
  834. {...formItemLayout}
  835. label="客户联系人">
  836. <span></span>
  837. </FormItem>
  838. <FormItem className="half-item"
  839. {...formItemLayout}
  840. label="联系人电话">
  841. <span></span>
  842. </FormItem>
  843. <FormItem className="half-item"
  844. {...formItemLayout}
  845. label="企业地址">
  846. <span></span>
  847. </FormItem>
  848. </div>
  849. <hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>
  850. <div className="clearfix">
  851. <h3 style={{marginTop:'10px',marginLeft:'10px'}}>订单负责人</h3>
  852. <FormItem className="half-item"
  853. {...formItemLayout}
  854. label="负责人">
  855. <span></span>
  856. </FormItem>
  857. <FormItem className="half-item"
  858. {...formItemLayout}
  859. label="负责人电话">
  860. <span></span>
  861. </FormItem>
  862. <FormItem className="half-item"
  863. {...formItemLayout}
  864. label="财务负责人">
  865. <span></span>
  866. </FormItem>
  867. <FormItem className="half-item"
  868. {...formItemLayout}
  869. label="财务负责人电话">
  870. <span></span>
  871. </FormItem>
  872. <FormItem className="half-item"
  873. {...formItemLayout}
  874. label="附件">
  875. <span></span>
  876. </FormItem>
  877. <FormItem className="half-item"
  878. {...formItemLayout}
  879. label="备注">
  880. <Input.TextArea />
  881. </FormItem>
  882. </div>
  883. <hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>
  884. <div className="clearfix">
  885. <h3 style={{marginTop:'10px',marginLeft:'10px'}}>项目申报进度</h3>
  886. <FormItem className="half-item"
  887. {...formItemLayout}
  888. label="启动时间">
  889. <DatePicker style={{marginTop:'5px'}}/>
  890. </FormItem>
  891. <FormItem className="half-item"
  892. {...formItemLayout}
  893. label="软著派单数量">
  894. <InputNumber />
  895. </FormItem>
  896. <div className='half-item'>
  897. </div>
  898. <div className='half-item'>
  899. <Button type='primary' style={{marginLeft:'45px'}}>+增加下证信息</Button>
  900. </div>
  901. <div className="patent-table">
  902. <Spin spinning={this.state.loading}>
  903. <Table columns={this.state.columnsY} width={400}/>
  904. </Spin>
  905. </div>
  906. </div>
  907. </Modal>
  908. </div> )
  909. }
  910. })
  911. export default Task;