releaseDemand.jsx 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. import React from 'react';
  2. import ReactDom from 'react-dom';
  3. import ajax from 'jquery/src/ajax/xhr.js';
  4. import $ from 'jquery/src/ajax';
  5. import './content.less';
  6. import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, DatePicker, Modal, Upload,Popconfirm,AutoComplete } from 'antd';
  7. import {patternOrganization,conditionOrganization,client,stick} from '../../dataDic.js';
  8. import {getPattern,getAchievementCategory,getboutique,getClient,getStick} from '../../tools.js';
  9. const Organization=Form.create()(React.createClass({
  10. loadData(pageNo) {
  11. this.state.data = [];
  12. this.setState({
  13. loading: true,
  14. ispage:pageNo,
  15. });
  16. let nameText=this.state.SuperArr;
  17. let superText=(this.state.superId)?nameText[parseInt(this.state.superId)].id:undefined;
  18. let nameTexts=this.state.SuperArrs;
  19. let superTexts=(this.state.publishPage)?nameTexts[parseInt(this.state.publishPage)].id:undefined;
  20. $.ajax({
  21. method: "get",
  22. dataType: "json",
  23. crossDomain: false,
  24. url: globalConfig.context + '/api/admin/demand/listPublish',
  25. data: {
  26. pageNo: pageNo || 1,
  27. pageSize: this.state.pagination.pageSize,
  28. name: this.state.name, //需求名称
  29. publishPlatform:superText,//发布子平台
  30. publishClient:this.state.publishClient,//发布客户端
  31. publishPage:superTexts,//发布页面
  32. ifTop:this.state.ifTop,//是否置顶
  33. },
  34. success: function (data) {
  35. let theArr = [];
  36. if (!data.data || !data.data.list) {
  37. if (data.error && data.error.length) {
  38. message.warning(data.error[0].message);
  39. };
  40. } else {
  41. for (let i = 0; i < data.data.list.length; i++) {
  42. let thisdata = data.data.list[i];
  43. theArr.push({
  44. key: i,
  45. id: thisdata.id,//发布需求ID
  46. achievementId:thisdata.demandId,//成果ID
  47. publishPlatform:thisdata.publishPlatform,//发布子平台ID
  48. platformName:thisdata.platformName,//发布子平台ID
  49. publishClient:thisdata.publishClient.toString(),//发布客户端
  50. publishPage:thisdata.publishPage,//发布页面
  51. publishPageName:thisdata.publishPageName,//发布页面
  52. ifTop:thisdata.ifTop.toString(),//是否置顶
  53. topNumber:thisdata.topNumber,//置顶编号
  54. showNumber:thisdata.showNumber,//显示编号
  55. publisher:thisdata.publisher,//发布人ID
  56. publishTime:thisdata.publishTime,//发布时间
  57. serialNumber:thisdata.serialNumber,//成果编号
  58. name:thisdata.name,//成果名称
  59. userName:thisdata.userName,//成果所有人
  60. publisherName:thisdata.publisherName,//发布人名称
  61. publishTimeFormattedDate:thisdata.publishTimeFormattedDate,//发布时间
  62. });
  63. };
  64. this.state.pagination.current = data.data.pageNo;
  65. this.state.pagination.total = data.data.totalCount;
  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. loadDatas(pageNo, apiUrl) {
  79. this.state.data = [];
  80. if(this.state.serialNumber&&isNaN(this.state.serialNumber)){
  81. message.warning('请输入正确的编号格式');
  82. return false;
  83. }
  84. this.setState({
  85. loading: true,
  86. ispage:pageNo,
  87. });
  88. $.ajax({
  89. method: "get",
  90. dataType: "json",
  91. crossDomain: false,
  92. url: globalConfig.context + '/api/admin/demand/orgList',
  93. data: {
  94. pageNo: pageNo || 1,
  95. pageSize: this.state.pagination.pageSize,
  96. serialNumber: this.state.serialNumber, //编号
  97. name: this.state.name,
  98. auditStatus:3,//名称
  99. keyword: this.state.keyword, // 关键词
  100. category: this.state.category, //类型(0--专利, 2--软著, 3--项目, 4--版权, 5--工业设计, 6--配方, 7--非标)
  101. releaseDateStartDate: this.state.releaseDate[0],
  102. releaseDateEndDate: this.state.releaseDate[1],
  103. releaseStatus: this.state.releaseStatus ? Number(this.state.releaseStatus) : undefined, //是否发布(0--未发布,1--已发布)
  104. boutique:this.state.boutique,
  105. hot:this.state.hot,
  106. createDateStartDate: this.state.releaseDateS[0],
  107. createDateEndDate: this.state.releaseDateS[1],
  108. ownerType:this.state.ownerType,
  109. },
  110. success: function (data) {
  111. let theArr = [];
  112. if (!data.data || !data.data.list) {
  113. if (data.error && data.error.length) {
  114. message.warning(data.error[0].message);
  115. };
  116. } else {
  117. for (let i = 0; i < data.data.list.length; i++) {
  118. let thisdata = data.data.list[i];
  119. theArr.push({
  120. key: thisdata.id,
  121. id: thisdata.id,
  122. serialNumber: thisdata.serialNumber,
  123. dataCategory: thisdata.dataCategory,
  124. name: thisdata.name,
  125. keyword: thisdata.keyword,
  126. theName: thisdata.username || thisdata.ownerName,
  127. category: thisdata.category,
  128. ownerName: thisdata.username ? thisdata.username : thisdata.ownerName,
  129. ownerType: thisdata.ownerType,
  130. ownerMobile: thisdata.ownerMobile,
  131. status: thisdata.status,
  132. releaseDate: thisdata.releaseDate,
  133. releaseDateFormattedDate: thisdata.releaseDateFormattedDate,
  134. auditStatus: thisdata.auditStatus,
  135. boutique: thisdata.boutique,
  136. hot: thisdata.hot,
  137. releaseStatus: thisdata.releaseStatus,
  138. techBrokerId:thisdata.techBrokerId,
  139. createTimeFormattedDate: thisdata.createTimeFormattedDate,
  140. remark:thisdata.remark,
  141. ispage:pageNo,
  142. });
  143. };
  144. this.state.paginations.current = data.data.pageNo;
  145. this.state.paginations.total = data.data.totalCount;
  146. };
  147. this.setState({
  148. dataSourcesli: theArr,
  149. paginations: this.state.paginations
  150. });
  151. }.bind(this),
  152. }).always(function () {
  153. this.setState({
  154. loading: false,
  155. visible: true
  156. });
  157. }.bind(this));
  158. },
  159. getInitialState() {
  160. return {
  161. searchMore: true,
  162. selectedRowKeys: [],
  163. selectedRowKeysli:[],
  164. selectedRows: [],
  165. releaseDate: [],
  166. releaseDateS: [],
  167. loading: false,
  168. pagination: {
  169. defaultCurrent: 1,
  170. defaultPageSize: 10,
  171. showQuickJumper: true,
  172. pageSize: 10,
  173. onChange: function (page) {
  174. this.loadData(page);
  175. }.bind(this),
  176. showTotal: function (total) {
  177. return '共' + total + '条数据';
  178. }
  179. },
  180. paginations: {
  181. defaultCurrent: 1,
  182. defaultPageSize: 10,
  183. showQuickJumper: true,
  184. pageSize: 10,
  185. onChange: function (page) {
  186. this.loadDatas(page);
  187. }.bind(this),
  188. showTotal: function (total) {
  189. return '共' + total + '条数据';
  190. }
  191. },
  192. columns: [
  193. {
  194. title: '需求编号',
  195. dataIndex: 'serialNumber',
  196. key: 'serialNumber',
  197. }, {
  198. title: '需求名称',
  199. dataIndex: 'name',
  200. key: 'name',
  201. }, {
  202. title: '客户名称',
  203. dataIndex: 'userName',
  204. key: 'userName',
  205. }, {
  206. title: '发布子平台',
  207. dataIndex: 'platformName',
  208. key: 'platformName',
  209. },{
  210. title: '发布客户端',
  211. dataIndex: 'publishClient',
  212. key: 'publishClient',
  213. render: text => { return getClient(text) }
  214. }, {
  215. title: '发布页面',
  216. dataIndex: 'publishPageName',
  217. key: 'publishPageName',
  218. },{
  219. title: '是否置顶',
  220. dataIndex: 'ifTop',
  221. key: 'ifTop',
  222. render: text => { return getStick(text) }
  223. }, {
  224. title: '展示序号',
  225. dataIndex: 'showNumber',
  226. key: 'showNumber',
  227. }, {
  228. title: '发布人',
  229. dataIndex: 'publisherName',
  230. key: 'publisherName',
  231. }, {
  232. title: '发布时间',
  233. dataIndex: 'publishTimeFormattedDate',
  234. key: 'publishTimeFormattedDate',
  235. }, {
  236. title: '操作',
  237. dataIndex: 'ee',
  238. key: 'ee',
  239. render: (text, record, index) => {
  240. return <div>
  241. <Popconfirm title={'请确认撤销发布成果【'+record.name+'】'} onConfirm={(e)=>{this.examine(record)}} okText="确认" cancelText="取消">
  242. <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">撤销发布</Button>
  243. </Popconfirm>
  244. </div>
  245. }
  246. }
  247. ],
  248. dataSource: [],
  249. searchTime: [,],
  250. column: [
  251. {
  252. title: '编号',
  253. dataIndex: 'serialNumber',
  254. key: 'serialNumber',
  255. }, {
  256. title: '名称',
  257. dataIndex: 'name',
  258. key: 'name',
  259. }, {
  260. title: '关键字',
  261. dataIndex: 'keyword',
  262. key: 'keyword',
  263. }, {
  264. title: '类型',
  265. dataIndex: 'category',
  266. key: 'category',
  267. render: text => { return getAchievementCategory(text); }
  268. }, {
  269. title: '录入人',
  270. dataIndex: 'techBrokerId',
  271. key: 'techBrokerId',
  272. },
  273. {
  274. title: '是否精品',
  275. dataIndex: 'boutique',
  276. key: 'boutique',
  277. render: text => { return getboutique(text) }
  278. },
  279. {
  280. title: '发布时间',
  281. dataIndex: 'releaseDateFormattedDate',
  282. key: 'releaseDateFormattedDate',
  283. },{
  284. title: '录入时间',
  285. dataIndex: 'createTimeFormattedDate',
  286. key: 'createTimeFormattedDate',
  287. }
  288. ],
  289. dataSourcesli: [],
  290. searchTime: [,]
  291. };
  292. },
  293. componentWillMount() {
  294. this.selectSuperIds();
  295. },
  296. examine(record) {
  297. this.setState({
  298. selectedRowKeys: [],
  299. });
  300. $.ajax({
  301. method: "get",
  302. dataType: "json",
  303. crossDomain: false,
  304. url: globalConfig.context + '/api/admin/demand/deletePublish',
  305. data: {
  306. id:record.id,
  307. }
  308. }).done(function (data) {
  309. if (!data.error.length) {
  310. message.success('操作成功');
  311. this.setState({
  312. loading: false,
  313. });
  314. } else {
  315. message.warning(data.error[0].message);
  316. };
  317. this.loadData(this.state.ispage);
  318. }.bind(this));
  319. },
  320. //获取发布子平台
  321. selectSuperId() {
  322. this.state.data = []
  323. $.ajax({
  324. method: "get",
  325. dataType: "json",
  326. crossDomain: false,
  327. url: globalConfig.context + "/api/admin/achievement/getBranchInformation",
  328. data:{
  329. },
  330. success: function (data) {
  331. let theArr = [];
  332. let thedata=data.data;
  333. if (!thedata) {
  334. if (data.error && data.error.length) {
  335. message.warning(data.error[0].message);
  336. };
  337. thedata = {};
  338. };
  339. var contactIds=[];
  340. for(var i=0;i<data.data.length;i++){
  341. let theData = data.data[i];
  342. theArr.push(
  343. <Select.Option value={i.toString()} key={theData.platformName}>{theData.platformName}</Select.Option>
  344. );
  345. };
  346. this.setState({
  347. SuperArr:thedata,
  348. contactsOption: theArr,
  349. orderStatusOptions:data.data,
  350. });
  351. }.bind(this),
  352. }).always(function () {
  353. this.loadData();
  354. this.setState({
  355. loading: false
  356. });
  357. }.bind(this));
  358. },
  359. //获取发布页面
  360. selectSuperIds() {
  361. this.state.data = []
  362. $.ajax({
  363. method: "get",
  364. dataType: "json",
  365. crossDomain: false,
  366. url: globalConfig.context + "/api/admin/achievement/getPublishPage",
  367. data:{
  368. },
  369. success: function (data) {
  370. let theArr = [];
  371. let thedata=data.data;
  372. if (!thedata) {
  373. if (data.error && data.error.length) {
  374. message.warning(data.error[0].message);
  375. };
  376. thedata = {};
  377. };
  378. var contactIds=[];
  379. for(var i=0;i<data.data.length;i++){
  380. let theData = data.data[i];
  381. theArr.push(
  382. <Select.Option value={i.toString()} key={theData.name}>{theData.name}</Select.Option>
  383. );
  384. };
  385. this.setState({
  386. SuperArrs:thedata,
  387. contactsOptions: theArr,
  388. orderStatusOptions:data.data,
  389. });
  390. }.bind(this),
  391. }).always(function () {
  392. this.selectSuperId();
  393. this.setState({
  394. loading: false
  395. });
  396. }.bind(this));
  397. },
  398. //编辑部门,保存
  399. edithandleSubmit(e){
  400. e.preventDefault();
  401. //上级组织字典
  402. let nameText=this.state.SuperArr;
  403. let nameTexts=this.state.SuperArrs;
  404. let superText=(parseInt(this.state.editpublishPlatform).toString()=='NaN')?undefined:nameText[parseInt(this.state.editpublishPlatform)].id;
  405. let superTexts=(parseInt(this.state.editpublishPage).toString()=='NaN')?undefined:nameTexts[parseInt(this.state.editpublishPage)].id;
  406. $.ajax({
  407. method: "get",
  408. dataType: "json",
  409. crossDomain: false,
  410. url:globalConfig.context + '/api/admin/demand/updatePublish',
  411. data:{
  412. id:this.state.editid,//成果发布ID
  413. demandId:this.state.editachievementId, //成果ID
  414. publishPlatform:superText,//发布平台
  415. publishClient:this.state.editpublishClient,//发布客户端
  416. publishPage:superTexts,//发布页面
  417. ifTop:this.state.editifTop,//是否置顶
  418. topNumber:this.state.edittopNumber,//置顶序号
  419. showNumber:this.state.editshowNumber,//展示序号
  420. }
  421. }).done(function (data) {
  422. this.setState({
  423. loading: false
  424. });
  425. if (!data.error.length) {
  426. message.success('保存成功!');
  427. this.edithandleCancel();
  428. this.selectSuperId();
  429. } else {
  430. message.warning(data.error[0].message);
  431. }
  432. }.bind(this));
  433. },
  434. //整行点击
  435. tableRowClick(record, index) {
  436. this.selectSuperIds();
  437. this.state.RowData = record;
  438. this.setState({
  439. editvisible: true,
  440. selectedRowKeys:[],
  441. editid:record.id,
  442. editachievementId:record.achievementId,
  443. editpublishPlatform:record.platformName,
  444. editpublishClient:record.publishClient,
  445. editpublishPage:record.publishPageName,
  446. editifTop:record.ifTop,
  447. edittopNumber:record.topNumber,
  448. editshowNumber:record.showNumber,
  449. editserialNumber:record.serialNumber,
  450. editname:record.name,
  451. edituserName:record.userName,
  452. })
  453. },
  454. //新增一个部门,保存
  455. addhandleSubmit(e){
  456. e.preventDefault();
  457. if(!this.state.publishPlatform){
  458. message.warning('请选择发布子平台');
  459. return false;
  460. }
  461. if(!this.state.publishClient){
  462. message.warning('请选择发布客户端');
  463. return false;
  464. }
  465. if(!this.state.publishPage){
  466. message.warning('请选择发布页面');
  467. return false;
  468. }
  469. if(!this.state.ifTop){
  470. message.warning('请确认是否置顶');
  471. return false;
  472. }
  473. if(!this.state.topNumber){
  474. message.warning('请输入置顶序号');
  475. return false;
  476. }
  477. if(!this.state.showNumber){
  478. message.warning('请输入展示序号');
  479. return false;
  480. }
  481. this.props.form.validateFields((err, values) => {
  482. if (!err) {
  483. this.setState({
  484. loading: true
  485. });
  486. //上级组织字典
  487. let nameText=this.state.SuperArr;
  488. let superText=nameText[parseInt(this.state.publishPlatform)].id;
  489. let nameTexts=this.state.SuperArrs;
  490. let superTexts=nameTexts[parseInt(this.state.publishPage)].id;
  491. $.ajax({
  492. method: "post",
  493. dataType: "json",
  494. crossDomain: false,
  495. url:globalConfig.context + '/api/admin/demand/addDemandPublish',
  496. data:{
  497. demandId:this.state.selectedRowKeysli?this.state.selectedRowKeysli.join(","):undefined,//成果ID
  498. publishPlatform:superText,//发布平台
  499. publishClient:this.state.publishClient,//发布客户端
  500. publishPage:superTexts, //发布页面
  501. ifTop:this.state.ifTop,//是否置顶
  502. topNumber:this.state.topNumber,//置顶序号
  503. showNumber:this.state.showNumber,//展示序号
  504. }
  505. }).done(function (data) {
  506. this.setState({
  507. loading: false
  508. });
  509. if (!data.error.length) {
  510. message.success('保存成功!');
  511. this.handleCancel();
  512. this.selectSuperId();
  513. } else {
  514. message.warning(data.error[0].message);
  515. }
  516. }.bind(this));
  517. }
  518. });
  519. },
  520. //主管初始加载(自动补全)
  521. supervisor(e){
  522. $.ajax({
  523. method: "post",
  524. dataType: "json",
  525. crossDomain: false,
  526. url: globalConfig.context + "/api/admin/organization/selectName",
  527. data:{
  528. name:e
  529. },
  530. success: function (data) {
  531. let thedata=data.data;
  532. if (!thedata) {
  533. if (data.error && data.error.length) {
  534. message.warning(data.error[0].message);
  535. };
  536. thedata = {};
  537. };
  538. this.setState({
  539. customerArr:thedata,
  540. });
  541. }.bind(this),
  542. }).always(function () {
  543. this.setState({
  544. loading: false
  545. });
  546. }.bind(this));
  547. },
  548. //上级主管输入框失去焦点是判断客户是否存在
  549. selectAuto(value,options){
  550. this.setState({
  551. managerIdOrganization:value
  552. })
  553. },
  554. //失去焦点时
  555. blurChange(e){
  556. // let theType='';
  557. // let contactLists=this.state.customerArr||[];
  558. // if (e) {
  559. // contactLists.map(function (item) {
  560. // if (item.name == e.toString()) {
  561. // theType = item.id;
  562. // }
  563. // });
  564. // }
  565. this.setState({
  566. theTypes:e
  567. })
  568. },
  569. //值改变时请求客户名称
  570. httpChange(e){
  571. if(e.length>=2){
  572. this.supervisor(e);
  573. }
  574. this.setState({
  575. managerIdOrganization:e
  576. })
  577. },
  578. addClick() {
  579. this.state.name = undefined;//成果名称清零
  580. this.state.publishPlatform = undefined;//发布子平台清零
  581. this.state.publishClient = undefined;//发布客户端清零
  582. this.state.publishPage = undefined;//发布页面清零
  583. this.state.ifTop = undefined;//是否置顶清零
  584. this.state.topNumber = undefined;//置顶序号清零
  585. this.state.showNumber = undefined;//展示序号清零
  586. this.state.selectedRowKeysli=undefined;//选定的成果ID清零
  587. this.state.RowData = {};
  588. this.selectSuperId();
  589. this.loadDatas();
  590. },
  591. editClick() {
  592. this.state.RowData = {};
  593. this.setState({
  594. editvisible: true
  595. });
  596. },
  597. handleCancel() {
  598. this.setState({ visible: false })
  599. },
  600. edithandleCancel() {
  601. this.setState({ editvisible: false })
  602. },
  603. search() {
  604. this.loadData();
  605. },
  606. //把搜索的部分置零
  607. reset() {
  608. this.state.name = undefined;//成果名称清零
  609. this.state.superId = undefined;//发布子平台清零
  610. this.state.publishClient = undefined;//发布客户端清零
  611. this.state.publishPage = undefined;//发布页面清零
  612. this.state.ifTop = undefined;//是否置顶清零
  613. this.loadData();
  614. },
  615. searchSwitch() {
  616. this.setState({
  617. searchMore: !this.state.searchMore
  618. });
  619. },
  620. render() {
  621. const FormItem = Form.Item
  622. const rowSelection = {
  623. selectedRowKeys: this.state.selectedRowKeys,
  624. onChange: (selectedRowKeys, selectedRows) => {
  625. this.setState({
  626. selectedRows: selectedRows.slice(-1),
  627. selectedRowKeys: selectedRowKeys.slice(-1)
  628. });
  629. },
  630. onSelect: (recordt, selected, selectedRows) => {
  631. this.setState({
  632. recordt:recordt.id
  633. })
  634. },
  635. };
  636. const rowSelections = {
  637. selectedRowKeysli: this.state.selectedRowKeysli,
  638. onChange: (selectedRowKeysli, selectedRows) => {
  639. this.setState({
  640. selectedRows: selectedRows,
  641. selectedRowKeysli: selectedRowKeysli
  642. });
  643. },
  644. onSelect: (recordt, selected, selectedRows) => {
  645. this.setState({
  646. recordt:recordt.id
  647. })
  648. },
  649. };
  650. const formItemLayout = {
  651. labelCol: { span: 8 },
  652. wrapperCol: { span: 14 },
  653. };
  654. const { getFieldDecorator } = this.props.form;
  655. const hasSelected = this.state.selectedRowKeys.length > 0;
  656. const { RangePicker } = DatePicker;
  657. const dataSources=this.state.customerArr || [];
  658. const options = dataSources.map((group,index) =>
  659. <Option key={index} value={group.name}>{group.name}</Option>
  660. )
  661. return (
  662. <div className="user-content" >
  663. <div className="content-title">
  664. <div className="user-search">
  665. <Input placeholder="需求名称" style={{width:'150px',marginRight:'10px',marginBottom:'10px'}}
  666. value={this.state.name}
  667. onChange={(e) => { this.setState({ name: e.target.value }); }} />
  668. <Select placeholder="发布子平台"
  669. style={{ width:'200px',marginRight:'10px' }}
  670. value={this.state.superId}
  671. onChange={(e) => { this.setState({ superId: e }) }} notFoundContent="未获取到上级组织列表">
  672. {this.state.contactsOption}
  673. </Select>
  674. <Select placeholder="发布客户端"
  675. style={{width:'150px',marginRight:'20px'}}
  676. value={this.state.publishClient}
  677. onChange={(e) => { this.setState({ publishClient: e }) }}>
  678. <Select.Option value="0" >网站</Select.Option>
  679. <Select.Option value="1" >APP</Select.Option>
  680. </Select>
  681. <Button type="primary" onClick={this.search} style={{marginRight:'10px'}}>搜索</Button>
  682. <Button onClick={this.reset} style={{marginRight:'10px'}}>重置</Button>
  683. <span style={{marginRight:'20px'}}>更多搜索 <Switch defaultChecked={false} onChange={this.searchSwitch} /></span>
  684. <div style={this.state.searchMore ? { display: 'none' } : {display: 'inline-block'}}>
  685. <Select placeholder="发布页面"
  686. style={{ width:'200px',marginRight:'10px' }}
  687. value={this.state.publishPage}
  688. onChange={(e) => { this.setState({ publishPage: e }) }} notFoundContent="未获取到发布页面">
  689. {this.state.contactsOptions}
  690. </Select>
  691. <Select placeholder="是否置顶"
  692. style={{width:'150px',marginRight:'50px'}}
  693. value={this.state.ifTop}
  694. onChange={(e) => { this.setState({ ifTop: e }) }}>
  695. <Select.Option value="0" >置顶</Select.Option>
  696. <Select.Option value="1" >不置顶</Select.Option>
  697. </Select>
  698. </div>
  699. <Button type="primary" className="addButton" onClick={this.addClick} style={{marginBottom:'10px'}}>发布需求<Icon type="plus" /></Button>
  700. </div>
  701. <div className="patent-table">
  702. <Spin spinning={this.state.loading}>
  703. <Table columns={this.state.columns}
  704. dataSource={this.state.dataSource}
  705. rowSelection={rowSelection}
  706. pagination={this.state.pagination}
  707. onRowClick={this.tableRowClick} />
  708. </Spin>
  709. </div>
  710. <div className="patent-desc">
  711. <Modal maskClosable={false} visible={this.state.visible}
  712. onOk={this.checkPatentProcess} onCancel={this.handleCancel}
  713. width='1200px'
  714. title='发布需求'
  715. footer=''
  716. className="admin-desc-content">
  717. <Form horizontal onSubmit={this.addhandleSubmit} id="add-form">
  718. <Spin spinning={this.state.loading}>
  719. <div className="clearfix">
  720. <FormItem className="half-item"
  721. labelCol={{ span: 7 }}
  722. wrapperCol={{ span: 12 }}
  723. label="发布子平台"
  724. >
  725. <Select placeholder="请选择子平台" value={this.state.publishPlatform} onChange={(e)=>{this.setState({publishPlatform:e})}}
  726. notFoundContent="未获取到子平台">
  727. {this.state.contactsOption}
  728. </Select>
  729. </FormItem>
  730. <FormItem className="half-item"
  731. labelCol={{ span: 7 }}
  732. wrapperCol={{ span: 12 }}
  733. label="发布客户端"
  734. >
  735. <Select placeholder="选择客户端" value={this.state.publishClient}
  736. onChange={(e)=>{this.setState({publishClient:e})}}>
  737. {
  738. client.map(function (item) {
  739. return <Select.Option key={item.value} >{item.key}</Select.Option>
  740. })
  741. }
  742. </Select>
  743. </FormItem>
  744. </div>
  745. <div className="clearfix">
  746. <FormItem className="half-item"
  747. labelCol={{ span: 7 }}
  748. wrapperCol={{ span: 12 }}
  749. label="发布页面位置"
  750. >
  751. <Select placeholder="请选择页面位置" value={this.state.publishPage} onChange={(e)=>{this.setState({publishPage:e})}}
  752. notFoundContent="未获取到页面位置">
  753. {this.state.contactsOptions}
  754. </Select>
  755. </FormItem>
  756. <FormItem className="half-item"
  757. labelCol={{ span: 7 }}
  758. wrapperCol={{ span: 12 }}
  759. label="是否置顶"
  760. >
  761. <Select placeholder="选择是否置顶" value={this.state.ifTop}
  762. onChange={(e)=>{this.setState({ifTop:e})}}>
  763. {
  764. stick.map(function (item) {
  765. return <Select.Option key={item.value} >{item.key}</Select.Option>
  766. })
  767. }
  768. </Select>
  769. </FormItem>
  770. </div>
  771. <div className="clearfix">
  772. <FormItem className="half-item"
  773. labelCol={{ span: 7 }}
  774. wrapperCol={{ span: 12 }}
  775. label="置顶序号" >
  776. <Input placeholder="请输入置顶序号" value={this.state.topNumber}
  777. onChange={(e)=>{this.setState({topNumber:e.target.value})}}/>
  778. </FormItem>
  779. <FormItem className="half-item"
  780. labelCol={{ span: 7 }}
  781. wrapperCol={{ span: 12}}
  782. label="展示序号" >
  783. <Input placeholder="请输入展示序号" value={this.state.showNumber}
  784. onChange={(e)=>{this.setState({showNumber:e.target.value})}}/>
  785. </FormItem>
  786. </div>
  787. <div className="patent-table">
  788. <Spin spinning={this.state.loading}>
  789. <Table columns={this.state.column}
  790. dataSource={this.state.dataSourcesli}
  791. rowSelection={rowSelections}
  792. pagination={this.state.paginations}
  793. />
  794. </Spin>
  795. </div>
  796. <FormItem wrapperCol={{ span: 12, offset: 7 }}>
  797. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  798. <Button className="set-submit" type="ghost" onClick={this.handleCancel} style={{marginLeft:'100px'}}>取消</Button>
  799. </FormItem>
  800. </Spin>
  801. </Form >
  802. </Modal>
  803. </div>
  804. <div className="patent-desc">
  805. <Modal maskClosable={false} visible={this.state.editvisible}
  806. onOk={this.checkPatentProcess} onCancel={this.edithandleCancel}
  807. width='900px'
  808. title='编辑发布'
  809. footer=''
  810. className="admin-desc-content">
  811. <Form horizontal onSubmit={this.edithandleSubmit} id="edit-form">
  812. <Spin spinning={this.state.loading}>
  813. <div className="clearfix">
  814. <FormItem className="half-item"
  815. labelCol={{ span: 6 }}
  816. wrapperCol={{ span: 12 }}
  817. label="发布子平台"
  818. >
  819. <Select placeholder="请选择子平台" value={this.state.editpublishPlatform} onChange={(e)=>{this.setState({editpublishPlatform:e})}}
  820. notFoundContent="未获取到子平台">
  821. {this.state.contactsOption}
  822. </Select>
  823. </FormItem>
  824. <FormItem className="half-item"
  825. labelCol={{ span: 6 }}
  826. wrapperCol={{ span: 12 }}
  827. label="发布客户端"
  828. >
  829. <Select placeholder="选择客户端" value={this.state.editpublishClient}
  830. onChange={(e)=>{this.setState({editpublishClient:e})}}>
  831. {
  832. client.map(function (item) {
  833. return <Select.Option key={item.value} >{item.key}</Select.Option>
  834. })
  835. }
  836. </Select>
  837. </FormItem>
  838. </div>
  839. <div className="clearfix">
  840. <FormItem className="half-item"
  841. labelCol={{ span: 6 }}
  842. wrapperCol={{ span: 12 }}
  843. label="发布页面位置"
  844. >
  845. <Select placeholder="请选择页面位置" value={this.state.editpublishPage} onChange={(e)=>{this.setState({editpublishPage:e})}}
  846. notFoundContent="未获取到页面位置">
  847. {this.state.contactsOptions}
  848. </Select>
  849. </FormItem>
  850. <FormItem className="half-item"
  851. labelCol={{ span: 6 }}
  852. wrapperCol={{ span: 12 }}
  853. label="是否置顶"
  854. >
  855. <Select placeholder="选择是否置顶" value={this.state.editifTop}
  856. onChange={(e)=>{this.setState({editifTop:e})}}>
  857. {
  858. stick.map(function (item) {
  859. return <Select.Option key={item.value} >{item.key}</Select.Option>
  860. })
  861. }
  862. </Select>
  863. </FormItem>
  864. </div>
  865. <div className="clearfix">
  866. <FormItem className="half-item"
  867. labelCol={{ span: 6 }}
  868. wrapperCol={{ span: 12 }}
  869. label="置顶序号" >
  870. <Input placeholder="请输入置顶序号" value={this.state.edittopNumber}
  871. onChange={(e)=>{this.setState({edittopNumber:e.target.value})}}/>
  872. </FormItem>
  873. <FormItem className="half-item"
  874. labelCol={{ span: 6 }}
  875. wrapperCol={{ span: 12}}
  876. label="展示序号" >
  877. <Input placeholder="请输入展示序号" value={this.state.editshowNumber}
  878. onChange={(e)=>{this.setState({editshowNumber:e.target.value})}}/>
  879. </FormItem>
  880. </div>
  881. <div className="clearfix">
  882. <FormItem className="half-item"
  883. labelCol={{ span: 6 }}
  884. wrapperCol={{ span: 12 }}
  885. label="需求编号"
  886. >
  887. <span>{this.state.editserialNumber}</span>
  888. </FormItem>
  889. <FormItem className="half-item"
  890. labelCol={{ span: 6 }}
  891. wrapperCol={{ span: 12 }}
  892. label="客户名称"
  893. >
  894. <span>{this.state.edituserName}</span>
  895. </FormItem>
  896. </div>
  897. <div className="clearfix">
  898. <FormItem
  899. labelCol={{ span: 3 }}
  900. wrapperCol={{ span: 18 }}
  901. label="需求名称"
  902. >
  903. <span>{this.state.editname}</span>
  904. </FormItem>
  905. </div>
  906. <FormItem wrapperCol={{ span: 12, offset: 7 }}>
  907. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  908. <Button className="set-submit" type="ghost" onClick={this.edithandleCancel} style={{marginLeft:'100px'}}>取消</Button>
  909. </FormItem>
  910. </Spin>
  911. </Form >
  912. </Modal>
  913. </div>
  914. </div>
  915. </div>
  916. );
  917. }
  918. }));
  919. export default Organization;