organization.jsx 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832
  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} from '../../../dataDic.js';
  8. import {getPattern,getCondition} 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)].name:"";
  18. $.ajax({
  19. method: "post",
  20. dataType: "json",
  21. crossDomain: false,
  22. url: globalConfig.context + '/api/admin/organization/listOrganizationManagement',
  23. data: {
  24. pageNo: pageNo || 1,
  25. pageSize: this.state.pagination.pageSize,
  26. name: this.state.name, //组织名称
  27. superId:superText,//上级组织
  28. type:this.state.type,//组织类型
  29. depNo:this.state.depNo,//组织编号
  30. },
  31. success: function (data) {
  32. let theArr = [];
  33. if (!data.data || !data.data.list) {
  34. if (data.error && data.error.length) {
  35. message.warning(data.error[0].message);
  36. };
  37. } else {
  38. for (let i = 0; i < data.data.list.length; i++) {
  39. let thisdata = data.data.list[i];
  40. theArr.push({
  41. key: i,
  42. id: thisdata.id,//每一条记录的ID
  43. depNo:thisdata.depNo,//组织编号
  44. name:thisdata.name,//组织名称
  45. type:thisdata.type,//组织类型
  46. managerId:thisdata.managerId,//负责人
  47. superId:thisdata.superId,//上级组织
  48. status:thisdata.status,//组织状态
  49. });
  50. };
  51. this.state.pagination.current = data.data.pageNo;
  52. this.state.pagination.total = data.data.totalCount;
  53. };
  54. this.setState({
  55. dataSource: theArr,
  56. pagination: this.state.pagination
  57. });
  58. }.bind(this),
  59. }).always(function () {
  60. this.setState({
  61. loading: false
  62. });
  63. }.bind(this));
  64. },
  65. getInitialState() {
  66. return {
  67. searchMore: true,
  68. selectedRowKeys: [],
  69. selectedRows: [],
  70. loading: false,
  71. pagination: {
  72. defaultCurrent: 1,
  73. defaultPageSize: 10,
  74. showQuickJumper: true,
  75. pageSize: 10,
  76. onChange: function (page) {
  77. this.loadData(page);
  78. }.bind(this),
  79. showTotal: function (total) {
  80. return '共' + total + '条数据';
  81. }
  82. },
  83. columns: [
  84. {
  85. title: '组织编号',
  86. dataIndex: 'depNo',
  87. key: 'depNo',
  88. }, {
  89. title: '组织名称',
  90. dataIndex: 'name',
  91. key: 'name',
  92. }, {
  93. title: '负责人',
  94. dataIndex: 'managerId',
  95. key: 'managerId',
  96. },{
  97. title: '组织类型',
  98. dataIndex: 'type',
  99. key: 'type',
  100. render: text => { return getPattern(text) }
  101. }, {
  102. title: '上级组织',
  103. dataIndex: 'superId',
  104. key: 'superId',
  105. },{
  106. title: '组织状态',
  107. dataIndex: 'status',
  108. key: 'status',
  109. render: text => { return getCondition(text) }
  110. }
  111. ],
  112. dataSource: [],
  113. searchTime: [,]
  114. };
  115. },
  116. componentWillMount() {
  117. this.selectSuperId();
  118. },
  119. //获取上级组织
  120. selectSuperId() {
  121. this.state.data = []
  122. $.ajax({
  123. method: "post",
  124. dataType: "json",
  125. crossDomain: false,
  126. url: globalConfig.context + "/api/admin/organization/selectSuperId",
  127. data:{
  128. },
  129. success: function (data) {
  130. let theArr = [];
  131. let thedata=data.data;
  132. if (!thedata) {
  133. if (data.error && data.error.length) {
  134. message.warning(data.error[0].message);
  135. };
  136. thedata = {};
  137. };
  138. var contactIds=[];
  139. //for (let item in data.data) {
  140. for(var i=0;i<data.data.length;i++){
  141. let theData = data.data[i];
  142. theArr.push(
  143. <Select.Option value={i.toString()} key={theData.name}>{theData.name}</Select.Option>
  144. );
  145. };
  146. this.setState({
  147. SuperArr:thedata,
  148. contactsOption: theArr,
  149. orderStatusOptions:data.data,
  150. });
  151. }.bind(this),
  152. }).always(function () {
  153. this.loadData();
  154. this.setState({
  155. loading: false
  156. });
  157. }.bind(this));
  158. },
  159. //编辑部门,保存
  160. edithandleSubmit(e){
  161. e.preventDefault();
  162. //上级组织字典
  163. let nameText=this.state.SuperArr
  164. let superText=this.state.editSuperId;
  165. //let superText=(this.state.editSuperId).length<=1?nameText[parseInt(this.state.editSuperId)].name:''
  166. let superOne=this.state.editDataSource[0].editSuperId;
  167. let remarksText=(this.state.editRemarks)?this.state.editRemarks:'该组织没有职能说明,请完善!';
  168. let isStatus=this.state.editStatus;
  169. if(isStatus==1){
  170. if(confirm('是否要解散该部门?')){
  171. if(!(superOne==superText)){
  172. let changeSuper=nameText[parseInt(this.state.editSuperId)].name;
  173. if(confirm('上级组织已修改,是否保存?')){
  174. $.ajax({
  175. method: "post",
  176. dataType: "json",
  177. crossDomain: false,
  178. url:globalConfig.context + '/api/admin/organization/updateOrganization',
  179. data:{
  180. name:this.state.editName,//组织名称
  181. type:this.state.editType, //组织类型
  182. managerId:this.state.editManagerId,//负责人ID
  183. superId:changeSuper,//上级组织
  184. status:this.state.editStatus,//组织状态
  185. remarks:remarksText,//组织职能说明
  186. id:this.state.editId,//组织ID
  187. }
  188. }).done(function (data) {
  189. this.setState({
  190. loading: false
  191. });
  192. if (!data.error.length) {
  193. message.success('保存成功!');
  194. this.edithandleCancel();
  195. this.selectSuperId();
  196. } else {
  197. message.warning(data.error[0].message);
  198. }
  199. }.bind(this));
  200. return false
  201. }
  202. }else {
  203. $.ajax({
  204. method: "post",
  205. dataType: "json",
  206. crossDomain: false,
  207. url:globalConfig.context + '/api/admin/organization/updateOrganization',
  208. data:{
  209. name:this.state.editName,//组织名称
  210. type:this.state.editType, //组织类型
  211. managerId:this.state.editManagerId,//负责人ID
  212. superId:superText,//上级组织
  213. status:this.state.editStatus,//组织状态
  214. remarks:remarksText,//组织职能说明
  215. id:this.state.editId,//组织ID
  216. }
  217. }).done(function (data) {
  218. this.setState({
  219. loading: false
  220. });
  221. if (!data.error.length) {
  222. message.success('保存成功!');
  223. this.edithandleCancel();
  224. this.selectSuperId();
  225. } else {
  226. message.warning(data.error[0].message);
  227. }
  228. }.bind(this));
  229. }
  230. }
  231. }else{
  232. if(!(superOne==superText)){
  233. let changeSuper=nameText[parseInt(this.state.editSuperId)].name;
  234. if(confirm('上级组织已修改,是否保存?')){
  235. $.ajax({
  236. method: "post",
  237. dataType: "json",
  238. crossDomain: false,
  239. url:globalConfig.context + '/api/admin/organization/updateOrganization',
  240. data:{
  241. name:this.state.editName,//组织名称
  242. type:this.state.editType, //组织类型
  243. managerId:this.state.editManagerId,//负责人ID
  244. superId:changeSuper,//上级组织
  245. status:this.state.editStatus,//组织状态
  246. remarks:remarksText,//组织职能说明
  247. id:this.state.editId,//组织ID
  248. }
  249. }).done(function (data) {
  250. this.setState({
  251. loading: false
  252. });
  253. if (!data.error.length) {
  254. message.success('保存成功!');
  255. this.edithandleCancel();
  256. this.selectSuperId();
  257. } else {
  258. message.warning(data.error[0].message);
  259. }
  260. }.bind(this));
  261. return false
  262. }
  263. }else {
  264. $.ajax({
  265. method: "post",
  266. dataType: "json",
  267. crossDomain: false,
  268. url:globalConfig.context + '/api/admin/organization/updateOrganization',
  269. data:{
  270. name:this.state.editName,//组织名称
  271. type:this.state.editType, //组织类型
  272. managerId:this.state.editManagerId,//负责人ID
  273. superId:superText,//上级组织
  274. status:this.state.editStatus,//组织状态
  275. remarks:remarksText,//组织职能说明
  276. id:this.state.editId,//组织ID
  277. }
  278. }).done(function (data) {
  279. this.setState({
  280. loading: false
  281. });
  282. if (!data.error.length) {
  283. message.success('保存成功!');
  284. this.edithandleCancel();
  285. this.selectSuperId();
  286. } else {
  287. message.warning(data.error[0].message);
  288. }
  289. }.bind(this));
  290. }
  291. }
  292. },
  293. //整行点击
  294. tableRowClick(record, index) {
  295. this.selectSuperId();
  296. this.state.RowData = record;
  297. this.setState({
  298. editvisible: true,
  299. selectedRowKeys:[],
  300. rowId:record.businessId,
  301. })
  302. $.ajax({
  303. method: "post",
  304. dataType: "json",
  305. crossDomain: false,
  306. url: globalConfig.context +"/api/admin/organization/selectAllById" ,
  307. data: {
  308. id: record.id
  309. },
  310. success: function (data) {
  311. let theArr = [];
  312. let thisdata = data;
  313. if (!data) {
  314. if (data.error && data.error.length) {
  315. message.warning(data.error[0].message);
  316. };
  317. } else {
  318. theArr.push({
  319. editId: thisdata.id,//每一条记录的ID
  320. editName:thisdata.name,//组织名称
  321. editManagerId:thisdata.managerId,//负责人
  322. editType:thisdata.type,//组织类型
  323. editStatus:thisdata.status,//组织状态
  324. editSuperId:thisdata.superId,//上级组织
  325. editDepNo: thisdata.depNo,//组织编号
  326. editCreateId:thisdata.createId,//创建人
  327. editTime:thisdata.createTime,//创建时间
  328. editRemarks:thisdata.remarks,//组织职能说明
  329. });
  330. };
  331. this.setState({
  332. editId: thisdata.id,//每一条记录的ID
  333. editName:thisdata.name,//组织名称
  334. editManagerId:thisdata.managerId,//负责人
  335. editType:thisdata.type,//组织类型
  336. editStatus:thisdata.status,//组织状态
  337. editSuperId:thisdata.superId,//上级组织
  338. editDepNo: thisdata.depNo,//组织编号
  339. editCreateId:thisdata.createId,//创建人
  340. editTime:thisdata.createTime,//创建时间
  341. editRemarks: thisdata.remarks,//组织职能说明
  342. editDataSource: theArr,
  343. });
  344. }.bind(this),
  345. }).always(function () {
  346. this.setState({
  347. loading: false
  348. });
  349. }.bind(this));
  350. },
  351. //整行删除
  352. delectRow() {
  353. let deletedIds ='';
  354. for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
  355. let rowItem = this.state.selectedRows[idx];
  356. if (rowItem.id) {
  357. deletedIds=rowItem.id;
  358. };
  359. };
  360. this.setState({
  361. selectedRowKeys: [],
  362. loading: deletedIds.length > 0
  363. });
  364. $.ajax({
  365. method: "POST",
  366. dataType: "json",
  367. crossDomain: false,
  368. url: globalConfig.context + "/api/admin/organization/deleteById",
  369. data: {
  370. id: deletedIds
  371. }
  372. }).done(function (data) {
  373. if (!data.error.length) {
  374. message.success('删除成功!');
  375. this.setState({
  376. loading: false,
  377. });
  378. } else {
  379. message.warning(data.error[0].message);
  380. };
  381. this.selectSuperId();
  382. }.bind(this));
  383. },
  384. //新增一个部门,保存
  385. addhandleSubmit(e){
  386. e.preventDefault();
  387. if(!this.state.theTypes){
  388. message.warning('请输入负责人姓名');
  389. return false;
  390. }
  391. if(!this.state.typeOrganization){
  392. message.warning('请选择组织类型');
  393. return false;
  394. }
  395. if(!this.state.upOrganization){
  396. message.warning('请选择上级组织');
  397. return false;
  398. }
  399. this.props.form.validateFields((err, values) => {
  400. if (!err) {
  401. this.setState({
  402. loading: true
  403. });
  404. //上级组织字典
  405. let nameText=this.state.SuperArr
  406. let superText=nameText[parseInt(this.state.upOrganization)].name
  407. $.ajax({
  408. method: "post",
  409. dataType: "json",
  410. crossDomain: false,
  411. url:globalConfig.context + '/api/admin/organization/addOrganization',
  412. data:{
  413. name:this.state.nameOrganization,//组织名称
  414. managerId:this.state.theTypes,//负责人ID
  415. type:this.state.typeOrganization, //组织类型
  416. superId:superText,//上级组织
  417. remarks:this.state.remarksOrganization,//组织职能说明
  418. }
  419. }).done(function (data) {
  420. this.setState({
  421. loading: false
  422. });
  423. if (!data.error.length) {
  424. message.success('保存成功!');
  425. this.handleCancel();
  426. this.selectSuperId();
  427. } else {
  428. message.warning(data.error[0].message);
  429. }
  430. }.bind(this));
  431. }
  432. });
  433. },
  434. //主管初始加载(自动补全)
  435. supervisor(e){
  436. $.ajax({
  437. method: "post",
  438. dataType: "json",
  439. crossDomain: false,
  440. url: globalConfig.context + "/api/admin/organization/selectName",
  441. data:{
  442. name:e
  443. },
  444. success: function (data) {
  445. let thedata=data.data;
  446. if (!thedata) {
  447. if (data.error && data.error.length) {
  448. message.warning(data.error[0].message);
  449. };
  450. thedata = {};
  451. };
  452. this.setState({
  453. customerArr:thedata,
  454. });
  455. }.bind(this),
  456. }).always(function () {
  457. this.setState({
  458. loading: false
  459. });
  460. }.bind(this));
  461. },
  462. //上级主管输入框失去焦点是判断客户是否存在
  463. selectAuto(value,options){
  464. this.setState({
  465. managerIdOrganization:value
  466. })
  467. },
  468. //失去焦点时
  469. blurChange(e){
  470. // let theType='';
  471. // let contactLists=this.state.customerArr||[];
  472. // if (e) {
  473. // contactLists.map(function (item) {
  474. // if (item.name == e.toString()) {
  475. // theType = item.id;
  476. // }
  477. // });
  478. // }
  479. this.setState({
  480. theTypes:e
  481. })
  482. },
  483. //值改变时请求客户名称
  484. httpChange(e){
  485. if(e.length>=2){
  486. this.supervisor(e);
  487. }
  488. this.setState({
  489. managerIdOrganization:e
  490. })
  491. },
  492. addClick() {
  493. this.state.nameOrganization='';//组织名称清零
  494. this.state.managerIdOrganization= '';//负责人ID清零
  495. this.state.typeOrganization= undefined; //组织类型清零
  496. this.state.upOrganization= undefined;//上级组织清零
  497. this.state.remarksOrganization= '';//组织职能说明清零
  498. this.state.RowData = {};
  499. this.setState({
  500. visible: true
  501. });
  502. this.selectSuperId();
  503. },
  504. editClick() {
  505. this.state.RowData = {};
  506. this.setState({
  507. editvisible: true
  508. });
  509. },
  510. handleCancel() {
  511. this.setState({ visible: false })
  512. },
  513. edithandleCancel() {
  514. this.setState({ editvisible: false })
  515. },
  516. search() {
  517. this.loadData();
  518. },
  519. //把搜索的部分置零
  520. reset() {
  521. this.state.superId = undefined;//上级组织清零
  522. this.state.name = '';//组织名称清零
  523. this.state.type = undefined;//组织类型清零
  524. this.state.depNo = '';//组织编号清零
  525. this.loadData();
  526. },
  527. searchSwitch() {
  528. this.setState({
  529. searchMore: !this.state.searchMore
  530. });
  531. },
  532. render() {
  533. const FormItem = Form.Item
  534. const rowSelection = {
  535. selectedRowKeys: this.state.selectedRowKeys,
  536. onChange: (selectedRowKeys, selectedRows) => {
  537. this.setState({
  538. selectedRows: selectedRows.slice(-1),
  539. selectedRowKeys: selectedRowKeys.slice(-1)
  540. });
  541. },
  542. onSelect: (recordt, selected, selectedRows) => {
  543. this.setState({
  544. recordt:recordt.id
  545. })
  546. },
  547. };
  548. const formItemLayout = {
  549. labelCol: { span: 8 },
  550. wrapperCol: { span: 14 },
  551. };
  552. const { getFieldDecorator } = this.props.form;
  553. const hasSelected = this.state.selectedRowKeys.length > 0;
  554. const { RangePicker } = DatePicker;
  555. const dataSources=this.state.customerArr || [];
  556. const options = dataSources.map((group,index) =>
  557. <Option key={index} value={group.name}>{group.name}</Option>
  558. )
  559. return (
  560. <div className="user-content" >
  561. <div className="content-title">
  562. <div className="user-search">
  563. <Input placeholder="组织名称" style={{width:'150px',marginRight:'10px',marginBottom:'10px'}}
  564. value={this.state.name}
  565. onChange={(e) => { this.setState({ name: e.target.value }); }} />
  566. <Select placeholder="上级组织"
  567. style={{ width:'200px',marginRight:'10px' }}
  568. value={this.state.superId}
  569. onChange={(e) => { this.setState({ superId: e }) }} notFoundContent="未获取到上级组织列表">
  570. {this.state.contactsOption}
  571. </Select>
  572. <Button type="primary" onClick={this.search} style={{marginRight:'10px'}}>搜索</Button>
  573. <Button onClick={this.reset} style={{marginRight:'10px'}}>重置</Button>
  574. <Popconfirm title="是否删除?" onConfirm={this.delectRow} okText="是" cancelText="否">
  575. <Button style={{ background: "#ea0862", border: "none", color: "#fff",marginRight:'10px' ,marginLeft:'10px'}}
  576. disabled={!hasSelected}
  577. >删除<Icon type="minus" />
  578. </Button>
  579. </Popconfirm>
  580. <span style={{marginRight:'20px'}}>更多搜索 <Switch defaultChecked={false} onChange={this.searchSwitch} /></span>
  581. <div style={this.state.searchMore ? { display: 'none' } : {display: 'inline-block'}}>
  582. <Input placeholder="组织编号" style={{width:'150px',marginRight:'10px'}}
  583. value={this.state.depNo}
  584. onChange={(e) => { this.setState({ depNo: e.target.value }); }} />
  585. <Select placeholder="组织类型"
  586. style={{width:'150px',marginRight:'50px'}}
  587. value={this.state.type}
  588. onChange={(e) => { this.setState({ type: e }) }}>
  589. <Select.Option value="0" >公司</Select.Option>
  590. <Select.Option value="1" >部门</Select.Option>
  591. <Select.Option value="2" >团队</Select.Option>
  592. </Select>
  593. </div>
  594. <Button type="primary" className="addButton" onClick={this.addClick} style={{marginBottom:'10px'}}>新增组织<Icon type="plus" /></Button>
  595. </div>
  596. <div className="patent-table">
  597. <Spin spinning={this.state.loading}>
  598. <Table columns={this.state.columns}
  599. dataSource={this.state.dataSource}
  600. rowSelection={rowSelection}
  601. pagination={this.state.pagination}
  602. onRowClick={this.tableRowClick} />
  603. </Spin>
  604. </div>
  605. <div className="patent-desc">
  606. <Modal maskClosable={false} visible={this.state.visible}
  607. onOk={this.checkPatentProcess} onCancel={this.handleCancel}
  608. width='600px'
  609. title='新增组织'
  610. footer=''
  611. className="admin-desc-content">
  612. <Form horizontal onSubmit={this.addhandleSubmit} id="add-form">
  613. <Spin spinning={this.state.loading}>
  614. <div className="clearfix">
  615. <FormItem
  616. labelCol={{ span: 7 }}
  617. wrapperCol={{ span: 12 }}
  618. label="组织名称" >
  619. <Input placeholder="组织名称" value={this.state.nameOrganization} style={{width:'95%'}}
  620. onChange={(e)=>{this.setState({nameOrganization:e.target.value})}} required="required"/>
  621. <span className="mandatory" style={{color:'red',marginLeft:'5px'}}>*</span>
  622. </FormItem>
  623. </div>
  624. <div className="clearfix">
  625. <FormItem
  626. labelCol={{ span: 7 }}
  627. wrapperCol={{ span: 12}}
  628. label="负责人"
  629. >
  630. <AutoComplete
  631. className="certain-category-search"
  632. dropdownClassName="certain-category-search-dropdown"
  633. dropdownMatchSelectWidth={false}
  634. dataSource={options}
  635. placeholder="输入名称"
  636. value={this.state.managerIdOrganization}
  637. onChange={this.httpChange}
  638. filterOption={true}
  639. onBlur={this.blurChange}
  640. onSelect={this.selectAuto}
  641. style={{width:'95%'}}
  642. >
  643. <Input />
  644. </AutoComplete>
  645. <span className="mandatory" style={{color:'red',marginLeft:'5px'}}>*</span>
  646. </FormItem>
  647. </div>
  648. <div className="clearfix">
  649. <FormItem
  650. labelCol={{ span: 7 }}
  651. wrapperCol={{ span: 12 }}
  652. label="组织类型"
  653. >
  654. <Select placeholder="组织类型" value={this.state.typeOrganization}
  655. onChange={(e)=>{this.setState({typeOrganization:e})}} style={{width:'95%'}} required="required">
  656. {
  657. patternOrganization.map(function (item) {
  658. return <Select.Option key={item.value} >{item.key}</Select.Option>
  659. })
  660. }
  661. </Select>
  662. <span className="mandatory" style={{color:'red',marginLeft:'5px'}}>*</span>
  663. </FormItem>
  664. </div>
  665. <div className="clearfix">
  666. <FormItem
  667. labelCol={{ span: 7 }}
  668. wrapperCol={{ span: 12 }}
  669. label="上级组织"
  670. >
  671. <Select placeholder="请选择上级组织" value={this.state.upOrganization} onChange={(e)=>{this.setState({upOrganization:e})}}
  672. notFoundContent="未获取到上级组织列表" style={{width:'95%'}} required="required">
  673. {this.state.contactsOption}
  674. </Select>
  675. <span className="mandatory" style={{color:'red',marginLeft:'5px'}}>*</span>
  676. </FormItem>
  677. </div>
  678. <div className="clearfix">
  679. <FormItem
  680. labelCol={{ span: 7 }}
  681. wrapperCol={{ span: 12 }}
  682. label="组织职能说明" >
  683. <Input type="textarea" rows={4} placeholder="组织职能说明" value={this.state.remarksOrganization}
  684. onChange={(e) => { this.setState({ remarksOrganization: e.target.value }) }} style={{width:'95%'}}/>
  685. </FormItem>
  686. </div>
  687. <FormItem wrapperCol={{ span: 12, offset: 7 }}>
  688. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  689. <Button className="set-submit" type="ghost" onClick={this.handleCancel} style={{marginLeft:'100px'}}>取消</Button>
  690. </FormItem>
  691. </Spin>
  692. </Form >
  693. </Modal>
  694. </div>
  695. <div className="patent-desc">
  696. <Modal maskClosable={false} visible={this.state.editvisible}
  697. onOk={this.checkPatentProcess} onCancel={this.edithandleCancel}
  698. width='600px'
  699. title='编辑组织'
  700. footer=''
  701. className="admin-desc-content">
  702. <Form horizontal onSubmit={this.edithandleSubmit} id="edit-form">
  703. <Spin spinning={this.state.loading}>
  704. <div className="clearfix">
  705. <FormItem
  706. labelCol={{ span: 7 }}
  707. wrapperCol={{ span: 12 }}
  708. label="组织名称" >
  709. <Input placeholder="组织名称" value={this.state.editName}
  710. onChange={(e)=>{this.setState({editName:e.target.value})}}/>
  711. </FormItem>
  712. </div>
  713. <div className="clearfix">
  714. <FormItem
  715. labelCol={{ span: 7 }}
  716. wrapperCol={{ span: 12}}
  717. label="负责人" >
  718. <Input placeholder="负责人" value={this.state.editManagerId}
  719. onChange={(e)=>{this.setState({editManagerId:e.target.value})}}/>
  720. </FormItem>
  721. </div>
  722. <div className="clearfix">
  723. <FormItem
  724. labelCol={{ span: 7 }}
  725. wrapperCol={{ span: 12 }}
  726. label="组织类型"
  727. >
  728. <Select placeholder="组织类型" value={this.state.editType}
  729. onChange={(e)=>{this.setState({editType:e})}}>
  730. {
  731. patternOrganization.map(function (item) {
  732. return <Select.Option key={item.value} >{item.key}</Select.Option>
  733. })
  734. }
  735. </Select>
  736. </FormItem>
  737. </div>
  738. <div className="clearfix">
  739. <FormItem
  740. labelCol={{ span: 7 }}
  741. wrapperCol={{ span: 12 }}
  742. label="组织状态"
  743. >
  744. <Select placeholder="组织状态" value={this.state.editStatus}
  745. onChange={(e)=>{this.setState({editStatus:e})}}>
  746. {
  747. conditionOrganization.map(function (item) {
  748. return <Select.Option key={item.value} >{item.key}</Select.Option>
  749. })
  750. }
  751. </Select>
  752. </FormItem>
  753. </div>
  754. <div className="clearfix">
  755. <FormItem
  756. labelCol={{ span: 7 }}
  757. wrapperCol={{ span: 12 }}
  758. label="上级组织"
  759. >
  760. <Select placeholder="请选择上级组织" value={this.state.editSuperId} onChange={(e)=>{this.setState({editSuperId:e})}}
  761. notFoundContent="未获取到上级组织列表">
  762. {this.state.contactsOption}
  763. </Select>
  764. </FormItem>
  765. </div>
  766. <div className="clearfix">
  767. <FormItem
  768. labelCol={{ span: 7 }}
  769. wrapperCol={{ span: 12 }}
  770. label="组织编号"
  771. >
  772. <span>{this.state.editDepNo}</span>
  773. </FormItem>
  774. </div>
  775. <div className="clearfix" >
  776. <FormItem
  777. labelCol={{ span: 7 }}
  778. wrapperCol={{ span: 12 }}
  779. label="创建人"
  780. >
  781. <span>{this.state.editCreateId}</span>
  782. </FormItem>
  783. </div>
  784. <div className="clearfix">
  785. <FormItem
  786. labelCol={{ span: 7 }}
  787. wrapperCol={{ span: 12 }}
  788. label="创建时间"
  789. >
  790. <span>{this.state.editTime}</span>
  791. </FormItem>
  792. </div>
  793. <div className="clearfix">
  794. <FormItem
  795. labelCol={{ span: 7 }}
  796. wrapperCol={{ span: 12 }}
  797. label="组织职能说明" >
  798. <Input type="textarea" rows={4} placeholder="组织职能说明" value={this.state.editRemarks}
  799. onChange={(e) => { this.setState({ editRemarks: e.target.value }) }}/>
  800. </FormItem>
  801. </div>
  802. <FormItem wrapperCol={{ span: 12, offset: 7 }}>
  803. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  804. <Button className="set-submit" type="ghost" onClick={this.edithandleCancel} style={{marginLeft:'100px'}}>取消</Button>
  805. </FormItem>
  806. </Spin>
  807. </Form >
  808. </Modal>
  809. </div>
  810. </div>
  811. </div>
  812. );
  813. }
  814. }));
  815. export default Organization;