organization.jsx 35 KB

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