releaseResults.jsx 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  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/achievement/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.achievementId,//成果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/achievement/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/achievement/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/achievement/updatePublish',
  411. data:{
  412. id:this.state.editid,//成果发布ID
  413. achievementId: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. if(!this.state.topNumber){
  482. message.warning('请输入置顶序号');
  483. return false;
  484. }
  485. if(!this.state.showNumber){
  486. message.warning('请输入展示序号');
  487. return false;
  488. }
  489. this.props.form.validateFields((err, values) => {
  490. if (!err) {
  491. this.setState({
  492. loading: true
  493. });
  494. //上级组织字典
  495. let nameText=this.state.SuperArr;
  496. let superText=nameText[parseInt(this.state.publishPlatform)].id;
  497. let nameTexts=this.state.SuperArrs;
  498. let superTexts=nameTexts[parseInt(this.state.publishPage)].id;
  499. $.ajax({
  500. method: "post",
  501. dataType: "json",
  502. crossDomain: false,
  503. url:globalConfig.context + '/api/admin/achievement/addAchievementPublish',
  504. data:{
  505. achievementId:this.state.selectedRowKeysli?this.state.selectedRowKeysli.join(","):undefined,//成果ID
  506. publishPlatform:superText,//发布平台
  507. publishClient:this.state.publishClient,//发布客户端
  508. publishPage:superTexts, //发布页面
  509. ifTop:this.state.ifTop,//是否置顶
  510. topNumber:this.state.topNumber,//置顶序号
  511. showNumber:this.state.showNumber,//展示序号
  512. }
  513. }).done(function (data) {
  514. this.setState({
  515. loading: false
  516. });
  517. if (!data.error.length) {
  518. message.success('保存成功!');
  519. this.handleCancel();
  520. this.selectSuperId();
  521. } else {
  522. message.warning(data.error[0].message);
  523. }
  524. }.bind(this));
  525. }
  526. });
  527. },
  528. //主管初始加载(自动补全)
  529. supervisor(e){
  530. $.ajax({
  531. method: "post",
  532. dataType: "json",
  533. crossDomain: false,
  534. url: globalConfig.context + "/api/admin/organization/selectName",
  535. data:{
  536. name:e
  537. },
  538. success: function (data) {
  539. let thedata=data.data;
  540. if (!thedata) {
  541. if (data.error && data.error.length) {
  542. message.warning(data.error[0].message);
  543. };
  544. thedata = {};
  545. };
  546. this.setState({
  547. customerArr:thedata,
  548. });
  549. }.bind(this),
  550. }).always(function () {
  551. this.setState({
  552. loading: false
  553. });
  554. }.bind(this));
  555. },
  556. //上级主管输入框失去焦点是判断客户是否存在
  557. selectAuto(value,options){
  558. this.setState({
  559. managerIdOrganization:value
  560. })
  561. },
  562. //失去焦点时
  563. blurChange(e){
  564. // let theType='';
  565. // let contactLists=this.state.customerArr||[];
  566. // if (e) {
  567. // contactLists.map(function (item) {
  568. // if (item.name == e.toString()) {
  569. // theType = item.id;
  570. // }
  571. // });
  572. // }
  573. this.setState({
  574. theTypes:e
  575. })
  576. },
  577. //值改变时请求客户名称
  578. httpChange(e){
  579. if(e.length>=2){
  580. this.supervisor(e);
  581. }
  582. this.setState({
  583. managerIdOrganization:e
  584. })
  585. },
  586. addClick() {
  587. this.state.name = undefined;//成果名称清零
  588. this.state.publishPlatform = undefined;//发布子平台清零
  589. this.state.publishClient = undefined;//发布客户端清零
  590. this.state.publishPage = undefined;//发布页面清零
  591. this.state.ifTop = undefined;//是否置顶清零
  592. this.state.topNumber = undefined;//置顶序号清零
  593. this.state.showNumber = undefined;//展示序号清零
  594. this.state.selectedRowKeysli=undefined;//选定的成果ID清零
  595. this.state.RowData = {};
  596. this.selectSuperId();
  597. this.loadDatas();
  598. },
  599. editClick() {
  600. this.state.RowData = {};
  601. this.setState({
  602. editvisible: true
  603. });
  604. },
  605. handleCancel() {
  606. this.setState({ visible: false })
  607. },
  608. edithandleCancel() {
  609. this.setState({ editvisible: false })
  610. },
  611. search() {
  612. this.loadData();
  613. },
  614. //把搜索的部分置零
  615. reset() {
  616. this.state.name = undefined;//成果名称清零
  617. this.state.superId = undefined;//发布子平台清零
  618. this.state.publishClient = undefined;//发布客户端清零
  619. this.state.publishPage = undefined;//发布页面清零
  620. this.state.ifTop = undefined;//是否置顶清零
  621. this.loadData();
  622. },
  623. searchSwitch() {
  624. this.setState({
  625. searchMore: !this.state.searchMore
  626. });
  627. },
  628. render() {
  629. const FormItem = Form.Item
  630. const rowSelection = {
  631. selectedRowKeys: this.state.selectedRowKeys,
  632. onChange: (selectedRowKeys, selectedRows) => {
  633. this.setState({
  634. selectedRows: selectedRows.slice(-1),
  635. selectedRowKeys: selectedRowKeys.slice(-1)
  636. });
  637. },
  638. onSelect: (recordt, selected, selectedRows) => {
  639. this.setState({
  640. recordt:recordt.id
  641. })
  642. },
  643. };
  644. const rowSelections = {
  645. selectedRowKeysli: this.state.selectedRowKeysli,
  646. onChange: (selectedRowKeysli, selectedRows) => {
  647. this.setState({
  648. selectedRows: selectedRows,
  649. selectedRowKeysli: selectedRowKeysli
  650. });
  651. },
  652. onSelect: (recordt, selected, selectedRows) => {
  653. this.setState({
  654. recordt:recordt.id
  655. })
  656. },
  657. };
  658. const formItemLayout = {
  659. labelCol: { span: 8 },
  660. wrapperCol: { span: 14 },
  661. };
  662. const { getFieldDecorator } = this.props.form;
  663. const hasSelected = this.state.selectedRowKeys.length > 0;
  664. const { RangePicker } = DatePicker;
  665. const dataSources=this.state.customerArr || [];
  666. const options = dataSources.map((group,index) =>
  667. <Option key={index} value={group.name}>{group.name}</Option>
  668. )
  669. return (
  670. <div className="user-content" >
  671. <div className="content-title">
  672. <div className="user-search">
  673. <Input placeholder="成果名称" style={{width:'150px',marginRight:'10px',marginBottom:'10px'}}
  674. value={this.state.name}
  675. onChange={(e) => { this.setState({ name: e.target.value }); }} />
  676. <Select placeholder="发布子平台"
  677. style={{ width:'200px',marginRight:'10px' }}
  678. value={this.state.superId}
  679. onChange={(e) => { this.setState({ superId: e }) }} notFoundContent="未获取到上级组织列表">
  680. {this.state.contactsOption}
  681. </Select>
  682. <Select placeholder="发布客户端"
  683. style={{width:'150px',marginRight:'20px'}}
  684. value={this.state.publishClient}
  685. onChange={(e) => { this.setState({ publishClient: e }) }}>
  686. <Select.Option value="0" >网站</Select.Option>
  687. <Select.Option value="1" >APP</Select.Option>
  688. </Select>
  689. <Button type="primary" onClick={this.search} style={{marginRight:'10px'}}>搜索</Button>
  690. <Button onClick={this.reset} style={{marginRight:'10px'}}>重置</Button>
  691. <span style={{marginRight:'20px'}}>更多搜索 <Switch defaultChecked={false} onChange={this.searchSwitch} /></span>
  692. <div style={this.state.searchMore ? { display: 'none' } : {display: 'inline-block'}}>
  693. <Select placeholder="发布页面"
  694. style={{ width:'200px',marginRight:'10px' }}
  695. value={this.state.publishPage}
  696. onChange={(e) => { this.setState({ publishPage: e }) }} notFoundContent="未获取到发布页面">
  697. {this.state.contactsOptions}
  698. </Select>
  699. <Select placeholder="是否置顶"
  700. style={{width:'150px',marginRight:'50px'}}
  701. value={this.state.ifTop}
  702. onChange={(e) => { this.setState({ ifTop: e }) }}>
  703. <Select.Option value="0" >置顶</Select.Option>
  704. <Select.Option value="1" >不置顶</Select.Option>
  705. </Select>
  706. </div>
  707. <Button type="primary" className="addButton" onClick={this.addClick} style={{marginBottom:'10px'}}>发布成果<Icon type="plus" /></Button>
  708. </div>
  709. <div className="patent-table">
  710. <Spin spinning={this.state.loading}>
  711. <Table columns={this.state.columns}
  712. dataSource={this.state.dataSource}
  713. rowSelection={rowSelection}
  714. pagination={this.state.pagination}
  715. onRowClick={this.tableRowClick} />
  716. </Spin>
  717. </div>
  718. <div className="patent-desc">
  719. <Modal maskClosable={false} visible={this.state.visible}
  720. onOk={this.checkPatentProcess} onCancel={this.handleCancel}
  721. width='1200px'
  722. title='发布成果'
  723. footer=''
  724. className="admin-desc-content">
  725. <Form horizontal onSubmit={this.addhandleSubmit} id="add-form">
  726. <Spin spinning={this.state.loading}>
  727. <div className="clearfix">
  728. <FormItem className="half-item"
  729. labelCol={{ span: 7 }}
  730. wrapperCol={{ span: 12 }}
  731. label="发布子平台"
  732. >
  733. <Select placeholder="请选择子平台" value={this.state.publishPlatform} onChange={(e)=>{this.setState({publishPlatform:e})}}
  734. notFoundContent="未获取到子平台">
  735. {this.state.contactsOption}
  736. </Select>
  737. </FormItem>
  738. <FormItem className="half-item"
  739. labelCol={{ span: 7 }}
  740. wrapperCol={{ span: 12 }}
  741. label="发布客户端"
  742. >
  743. <Select placeholder="选择客户端" value={this.state.publishClient}
  744. onChange={(e)=>{this.setState({publishClient:e})}}>
  745. {
  746. client.map(function (item) {
  747. return <Select.Option key={item.value} >{item.key}</Select.Option>
  748. })
  749. }
  750. </Select>
  751. </FormItem>
  752. </div>
  753. <div className="clearfix">
  754. <FormItem className="half-item"
  755. labelCol={{ span: 7 }}
  756. wrapperCol={{ span: 12 }}
  757. label="发布页面位置"
  758. >
  759. <Select placeholder="请选择页面位置" value={this.state.publishPage} onChange={(e)=>{this.setState({publishPage:e})}}
  760. notFoundContent="未获取到页面位置">
  761. {this.state.contactsOptions}
  762. </Select>
  763. </FormItem>
  764. <FormItem className="half-item"
  765. labelCol={{ span: 7 }}
  766. wrapperCol={{ span: 12 }}
  767. label="是否置顶"
  768. >
  769. <Select placeholder="选择是否置顶" value={this.state.ifTop}
  770. onChange={(e)=>{this.setState({ifTop:e})}}>
  771. {
  772. stick.map(function (item) {
  773. return <Select.Option key={item.value} >{item.key}</Select.Option>
  774. })
  775. }
  776. </Select>
  777. </FormItem>
  778. </div>
  779. <div className="clearfix">
  780. <FormItem className="half-item"
  781. labelCol={{ span: 7 }}
  782. wrapperCol={{ span: 12 }}
  783. label="置顶序号" >
  784. <Input placeholder="请输入置顶序号" value={this.state.topNumber}
  785. onChange={(e)=>{this.setState({topNumber:e.target.value})}}/>
  786. </FormItem>
  787. <FormItem className="half-item"
  788. labelCol={{ span: 7 }}
  789. wrapperCol={{ span: 12}}
  790. label="展示序号" >
  791. <Input placeholder="请输入展示序号" value={this.state.showNumber}
  792. onChange={(e)=>{this.setState({showNumber:e.target.value})}}/>
  793. </FormItem>
  794. </div>
  795. <div className="patent-table">
  796. <Spin spinning={this.state.loading}>
  797. <Table columns={this.state.column}
  798. dataSource={this.state.dataSourcesli}
  799. rowSelection={rowSelections}
  800. pagination={this.state.paginations}
  801. />
  802. </Spin>
  803. </div>
  804. <FormItem wrapperCol={{ span: 12, offset: 7 }}>
  805. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  806. <Button className="set-submit" type="ghost" onClick={this.handleCancel} style={{marginLeft:'100px'}}>取消</Button>
  807. </FormItem>
  808. </Spin>
  809. </Form >
  810. </Modal>
  811. </div>
  812. <div className="patent-desc">
  813. <Modal maskClosable={false} visible={this.state.editvisible}
  814. onOk={this.checkPatentProcess} onCancel={this.edithandleCancel}
  815. width='900px'
  816. title='编辑发布'
  817. footer=''
  818. className="admin-desc-content">
  819. <Form horizontal onSubmit={this.edithandleSubmit} id="edit-form">
  820. <Spin spinning={this.state.loading}>
  821. <div className="clearfix">
  822. <FormItem className="half-item"
  823. labelCol={{ span: 6 }}
  824. wrapperCol={{ span: 12 }}
  825. label="发布子平台"
  826. >
  827. <Select placeholder="请选择子平台" value={this.state.editpublishPlatform} onChange={(e)=>{this.setState({editpublishPlatform:e})}}
  828. notFoundContent="未获取到子平台">
  829. {this.state.contactsOption}
  830. </Select>
  831. </FormItem>
  832. <FormItem className="half-item"
  833. labelCol={{ span: 6 }}
  834. wrapperCol={{ span: 12 }}
  835. label="发布客户端"
  836. >
  837. <Select placeholder="选择客户端" value={this.state.editpublishClient}
  838. onChange={(e)=>{this.setState({editpublishClient:e})}}>
  839. {
  840. client.map(function (item) {
  841. return <Select.Option key={item.value} >{item.key}</Select.Option>
  842. })
  843. }
  844. </Select>
  845. </FormItem>
  846. </div>
  847. <div className="clearfix">
  848. <FormItem className="half-item"
  849. labelCol={{ span: 6 }}
  850. wrapperCol={{ span: 12 }}
  851. label="发布页面位置"
  852. >
  853. <Select placeholder="请选择页面位置" value={this.state.editpublishPage} onChange={(e)=>{this.setState({editpublishPage:e})}}
  854. notFoundContent="未获取到页面位置">
  855. {this.state.contactsOptions}
  856. </Select>
  857. </FormItem>
  858. <FormItem className="half-item"
  859. labelCol={{ span: 6 }}
  860. wrapperCol={{ span: 12 }}
  861. label="是否置顶"
  862. >
  863. <Select placeholder="选择是否置顶" value={this.state.editifTop}
  864. onChange={(e)=>{this.setState({editifTop:e})}}>
  865. {
  866. stick.map(function (item) {
  867. return <Select.Option key={item.value} >{item.key}</Select.Option>
  868. })
  869. }
  870. </Select>
  871. </FormItem>
  872. </div>
  873. <div className="clearfix">
  874. <FormItem className="half-item"
  875. labelCol={{ span: 6 }}
  876. wrapperCol={{ span: 12 }}
  877. label="置顶序号" >
  878. <Input placeholder="请输入置顶序号" value={this.state.edittopNumber}
  879. onChange={(e)=>{this.setState({edittopNumber:e.target.value})}}/>
  880. </FormItem>
  881. <FormItem className="half-item"
  882. labelCol={{ span: 6 }}
  883. wrapperCol={{ span: 12}}
  884. label="展示序号" >
  885. <Input placeholder="请输入展示序号" value={this.state.editshowNumber}
  886. onChange={(e)=>{this.setState({editshowNumber:e.target.value})}}/>
  887. </FormItem>
  888. </div>
  889. <div className="clearfix">
  890. <FormItem className="half-item"
  891. labelCol={{ span: 6 }}
  892. wrapperCol={{ span: 12 }}
  893. label="成果编号"
  894. >
  895. <span>{this.state.editserialNumber}</span>
  896. </FormItem>
  897. <FormItem className="half-item"
  898. labelCol={{ span: 6 }}
  899. wrapperCol={{ span: 12 }}
  900. label="客户名称"
  901. >
  902. <span>{this.state.edituserName}</span>
  903. </FormItem>
  904. </div>
  905. <div className="clearfix">
  906. <FormItem
  907. labelCol={{ span: 3 }}
  908. wrapperCol={{ span: 18 }}
  909. label="成果名称"
  910. >
  911. <span>{this.state.editname}</span>
  912. </FormItem>
  913. </div>
  914. <FormItem wrapperCol={{ span: 12, offset: 7 }}>
  915. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  916. <Button className="set-submit" type="ghost" onClick={this.edithandleCancel} style={{marginLeft:'100px'}}>取消</Button>
  917. </FormItem>
  918. </Spin>
  919. </Form >
  920. </Modal>
  921. </div>
  922. </div>
  923. </div>
  924. );
  925. }
  926. }));
  927. export default Organization;