unit.jsx 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  1. /*
  2. @author:李霆
  3. @update:2018/05/29
  4. */
  5. import React from 'react';
  6. import {
  7. Radio,
  8. Icon,
  9. Button,
  10. Input,
  11. Select,
  12. Spin,
  13. message,
  14. DatePicker,
  15. Modal,
  16. Upload,
  17. Form,
  18. Row,
  19. Col,
  20. InputNumber
  21. } from 'antd';
  22. import $ from 'jquery/src/ajax';
  23. import './unit.less';
  24. import {
  25. socialAttribute,
  26. industry,
  27. } from '@/dataDic.js';
  28. import {
  29. splitUrl,
  30. } from '@/tools.js';
  31. const FormItem = Form.Item;
  32. import Crop from '@/crop/cropBlock';
  33. //图片组件
  34. const PicturesWall = React.createClass({
  35. getInitialState() {
  36. return {
  37. previewVisible: false,
  38. previewImage: '',
  39. fileList: []
  40. };
  41. },
  42. handleCancel() {
  43. this.setState({
  44. previewVisible: false
  45. });
  46. },
  47. handlePreview(file) {
  48. this.setState({
  49. previewImage: file.url || file.thumbUrl,
  50. previewVisible: true
  51. });
  52. },
  53. handleChange(info) {
  54. let fileList = info.fileList;
  55. this.setState({
  56. fileList
  57. });
  58. this.props.fileList(fileList);
  59. },
  60. componentWillReceiveProps(nextProps) {
  61. this.state.fileList = nextProps.pictureUrl;
  62. },
  63. render() {
  64. const { previewVisible, previewImage, fileList } = this.state;
  65. const uploadButton = (
  66. <div>
  67. <Icon type="plus" />
  68. <div className="ant-upload-text">点击上传</div>
  69. </div>
  70. );
  71. return (
  72. <div style={{ display: 'inline-block' }}>
  73. <Upload
  74. action={globalConfig.context + '/api/user/uploadPicture'}
  75. data={{ sign: 'user_picture' }}
  76. listType="picture-card"
  77. fileList={fileList}
  78. onPreview={this.handlePreview}
  79. onChange={this.handleChange}
  80. >
  81. {fileList.length >= 1 ? null : uploadButton}
  82. </Upload>
  83. <Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
  84. <img alt="example" style={{ width: '100%' }} src={previewImage} />
  85. </Modal>
  86. </div>
  87. );
  88. }
  89. });
  90. const PicturesWallMore = React.createClass({
  91. getInitialState() {
  92. return {
  93. previewVisible: false,
  94. previewImage: '',
  95. fileList: []
  96. };
  97. },
  98. handleCancel() {
  99. this.setState({
  100. previewVisible: false
  101. });
  102. },
  103. handlePreview(file) {
  104. this.setState({
  105. previewImage: file.url || file.thumbUrl,
  106. previewVisible: true
  107. });
  108. },
  109. handleChange(info) {
  110. let fileList = info.fileList;
  111. this.setState({
  112. fileList
  113. });
  114. this.props.fileList(fileList);
  115. },
  116. componentWillReceiveProps(nextProps) {
  117. this.state.fileList = nextProps.pictureUrl;
  118. },
  119. render() {
  120. const { previewVisible, previewImage, fileList } = this.state;
  121. const uploadButton = (
  122. <div>
  123. <Icon type="plus" />
  124. <div className="ant-upload-text">点击上传</div>
  125. </div>
  126. );
  127. return (
  128. <div style={{ display: 'inline-block' }}>
  129. <Upload
  130. action={globalConfig.context + '/api/user/uploadHonerPicture'}
  131. data={{ sign: 'honor_picture' }}
  132. listType="picture-card"
  133. fileList={fileList}
  134. onPreview={this.handlePreview}
  135. onChange={this.handleChange}
  136. >
  137. {fileList.length >= 8 ? null : uploadButton}
  138. </Upload>
  139. <Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
  140. <img alt="example" style={{ width: '100%' }} src={previewImage} />
  141. </Modal>
  142. </div>
  143. );
  144. }
  145. });
  146. const Unit = React.createClass({
  147. getInitialState() {
  148. return {
  149. loading: false,
  150. orgCodeUrl: [],
  151. companyLogoUrl: [],
  152. ProvinceCity:[],
  153. qualiUrl:[]
  154. };
  155. },
  156. loadInformation(record) {
  157. this.setState({
  158. loading:true
  159. })
  160. $.ajax({
  161. method: 'get',
  162. dataType: 'json',
  163. url: globalConfig.context + '/api/user/getOrganizationDetail',
  164. success: function(data) {
  165. let thisData = data.data;
  166. if (!thisData) {
  167. if (data.error && data.error.length) {
  168. message.warning(data.error[0].message);
  169. }
  170. thisData = {};
  171. }
  172. // thisData.companyLogoUrl='/user/33e04d30-d001-45c5-8e1e-33a1964d2498/1104216629777565_user_picture.jpg'
  173. // let ProvinceCityArr = [];
  174. // let ProvinceS = thisData.locationProvince; //getprovince
  175. // let citys = thisData.locationCity;
  176. // let Areas = thisData.locationArea;
  177. // ProvinceCityArr.push(ProvinceS, citys, Areas);
  178. this.setState({
  179. InformationId: thisData.id,
  180. InformationUid: thisData.uid,
  181. identifyName: thisData.identifyName,
  182. listed: thisData.listed,
  183. highTechZone: thisData.highTechZone,
  184. orgCodeUrl: thisData.orgCodeUrl
  185. ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload')
  186. : [],
  187. // companyLogoUrl: thisData.companyLogoUrl
  188. // ? splitUrl(thisData.companyLogoUrl, ',', globalConfig.avatarHost + '/upload')
  189. // : [],
  190. companyLogoUrl:thisData.companyLogoUrl?thisData.companyLogoUrl.split(','):[],
  191. qualiUrl: thisData.honorPicture
  192. ? splitUrl(thisData.honorPicture, ',', globalConfig.avatarHost + '/upload')
  193. : [],
  194. dataInformation: thisData,
  195. //ProvinceCity: ProvinceCityArr[0] != null ? ProvinceCityArr : undefined,
  196. industry: String(thisData.industry) == 'null' ? undefined : String(thisData.industry),
  197. societyTag: thisData.societyTag || undefined,
  198. introduction: thisData.introduction,
  199. postalAddress: thisData.postalAddress,
  200. fixedTel: thisData.fixedTel,
  201. registeredCapital: thisData.registeredCapital,
  202. enterpriseScale: thisData.enterpriseScale,
  203. legalPerson: thisData.legalPerson,
  204. legalPersonIdCard: thisData.legalPersonIdCard,
  205. legalPersonTel: thisData.legalPersonTel,
  206. legalPersonEmail: thisData.legalPersonEmail,
  207. businessScope: thisData.businessScope,
  208. orgCode: thisData.orgCode,
  209. type:thisData.type,
  210. qq:thisData.qq,
  211. email:thisData.email,
  212. authentication:thisData.authentication
  213. });
  214. }.bind(this)
  215. }).always(
  216. function() {
  217. this.setState({
  218. loading: false
  219. });
  220. }.bind(this)
  221. );
  222. },
  223. //图片
  224. getOrgCodeUrl(e) {
  225. this.setState({
  226. orgCodeUrl: e
  227. });
  228. },
  229. getCompanyLogoUrl(e) {
  230. this.setState({
  231. companyLogoUrl: e
  232. });
  233. },
  234. getQualiUrl(e) {
  235. this.setState({
  236. qualiUrl: e
  237. });
  238. },
  239. //基本信息提交
  240. newSubmit(e) {
  241. this.setState({
  242. selectedRowKeys: []
  243. });
  244. let theorgCodeUrl = [];
  245. if (this.state.orgCodeUrl.length) {
  246. let picArr = [];
  247. this.state.orgCodeUrl.map(function(item) {
  248. if (item.response && item.response.data && item.response.data.length) {
  249. picArr.push(item.response.data);
  250. }
  251. });
  252. theorgCodeUrl = picArr.join(',');
  253. }
  254. //let thecompanyLogoUrl = [];
  255. // if (this.state.companyLogoUrl.length) {
  256. // let picArr = [];
  257. // this.state.companyLogoUrl.map(function(item) {
  258. // if (item.response && item.response.data && item.response.data.length) {
  259. // picArr.push(item.response.data);
  260. // }
  261. // });
  262. // thecompanyLogoUrl = picArr.join(',');
  263. // } let thequaliUrl = [];
  264. if (this.state.qualiUrl.length) {
  265. let picArr = [];
  266. this.state.qualiUrl.map(function(item) {
  267. if (item.response && item.response.data && item.response.data.length) {
  268. picArr.push(item.response.data);
  269. }
  270. });
  271. thequaliUrl = picArr.join(',');
  272. }
  273. this.setState({
  274. loading: true
  275. });
  276. $.ajax({
  277. method: 'post',
  278. dataType: 'json',
  279. url: globalConfig.context + '/api/user/updateOrganizationDetail',
  280. data: {
  281. id: this.state.InformationId,
  282. uid: this.state.InformationUid,
  283. societyTag: this.state.societyTag,
  284. identifyName: this.state.identifyName, //单位名称
  285. introduction: this.state.introduction,
  286. unitName: this.state.unitName,
  287. industry: this.state.industry,
  288. postalAddress: this.state.postalAddress,
  289. fixedTel: this.state.fixedTel,
  290. contactsFax: this.state.contactsFax,
  291. registeredCapital: this.state.registeredCapital ? this.state.registeredCapital : 0,
  292. enterpriseScale: this.state.enterpriseScale,
  293. legalPerson: this.state.legalPerson,
  294. legalPersonIdCard: this.state.legalPersonIdCard,
  295. legalPersonTel: this.state.legalPersonTel,
  296. legalPersonEmail: this.state.legalPersonEmail,
  297. highTechZone: this.state.highTechZone,
  298. listed: this.state.listed,
  299. contacts: this.state.contacts,
  300. orgCode: this.state.orgCode,
  301. businessScope: this.state.businessScope,
  302. introduction: this.state.introduction,
  303. // companyLogoUrl: thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '',
  304. companyLogoUrl:this.state.companyLogoUrl.length>0?(this.state.companyLogoUrl).join(','):[],
  305. honorPicture: thequaliUrl.length != 0 ? thequaliUrl : '',
  306. orgCodeUrl: theorgCodeUrl.length != 0 ? theorgCodeUrl : '',
  307. auditStatus: this.state.auditStatus,
  308. authentication:this.state.authentication,
  309. type:this.state.type,
  310. qq:this.state.qq,
  311. email:this.state.email
  312. }
  313. }).done(
  314. function(data) {
  315. this.setState({
  316. loading: false
  317. });
  318. if (!data.error.length) {
  319. message.success('保存成功');
  320. this.loadInformation();
  321. } else {
  322. message.warning(data.error[0].message);
  323. }
  324. }.bind(this)
  325. );
  326. },
  327. subFun(){
  328. if(!this.state.identifyName){
  329. message.warning("请填写单位名称")
  330. return;
  331. }
  332. if (!this.state.industry) {
  333. message.warning('请选择行业!');
  334. return false;
  335. }
  336. if (!this.state.societyTag) {
  337. message.warning('请选择社会性质!');
  338. return false;
  339. }
  340. if (isNaN(this.state.registeredCapital)) {
  341. message.warning('注册资本只能输入数字!');
  342. return false;
  343. }
  344. if (!this.state.email) {
  345. message.warning('请填写企业邮箱!');
  346. return false;
  347. }
  348. if (!this.state.qq) {
  349. message.warning('请填写企业QQ!');
  350. return false;
  351. }
  352. if (this.state.companyLogoUrl&&(this.state.companyLogoUrl.length)<1) {
  353. message.warning('请上传企业LOGO.');
  354. return false;
  355. }
  356. if(!this.state.businessScope){
  357. message.warning('请填写业务范围!');
  358. return false;
  359. }
  360. if(!this.state.introduction){
  361. message.warning('请填写企业简介!');
  362. return false;
  363. }
  364. if (this.state.qualiUrl&&(this.state.qualiUrl.length)<1) {
  365. message.warning('请上传资质荣誉照片.');
  366. return false;
  367. }
  368. this.newSubmit()
  369. },
  370. handleOk(){
  371. this.newSubmit();
  372. this.setState({
  373. visible:false
  374. })
  375. },
  376. handleCancel(){
  377. this.setState({
  378. visible:false
  379. })
  380. },
  381. //logo图片获取
  382. getAllImg(imgArr){
  383. this.setState({
  384. companyLogoUrl:imgArr
  385. })
  386. },
  387. componentWillMount() {
  388. this.loadInformation();
  389. },
  390. componentWillReceiveProps(nextProps) {
  391. },
  392. render() {
  393. return (
  394. <div className="unit-wrap">
  395. <Form layout="horizontal" onSubmit={this.newSubmit} id="demand-form" style={{width:'80%'}}>
  396. <Spin spinning={this.state.loading}>
  397. <Row style={{ marginBottom: 20 }}>
  398. <Col offset={2} span={4}>
  399. <h4 style={{fontSize:20}}>企业资料</h4>
  400. </Col>
  401. </Row>
  402. <div className="clearfix" style={{ paddingLeft: '60px' }}>
  403. <FormItem
  404. className="half-item"
  405. labelCol={{ span: 4 }}
  406. wrapperCol={{ span: 18 }}
  407. label={<span><span className="color-red"> * </span>企业名称</span>}
  408. >
  409. <Input
  410. maxLength={128}
  411. value={this.state.identifyName}
  412. onChange={(e) => {
  413. this.setState({ identifyName: e.target.value });
  414. }}
  415. placeholder="请输入企业名称"
  416. />
  417. </FormItem>
  418. <FormItem
  419. className="half-item"
  420. labelCol={{ span: 4 }}
  421. wrapperCol={{ span: 18 }}
  422. label="企业规模"
  423. >
  424. <InputNumber
  425. placeholder="企业规模"
  426. value={this.state.enterpriseScale}
  427. InputNumber min={0} maxLength={16}
  428. style={{width:120,marginRight:10}}
  429. onChange={(e) => {
  430. this.setState({ enterpriseScale: e });
  431. }}
  432. />
  433. <span>人</span>
  434. </FormItem>
  435. </div>
  436. <div className="clearfix" style={{ paddingLeft: '60px' }}>
  437. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label={<span><span className="color-red"> * </span>行业</span>}>
  438. <Select
  439. placeholder="选择行业"
  440. value={this.state.industry}
  441. onChange={(e) => {
  442. this.setState({ industry: e });
  443. }}
  444. >
  445. {industry.map(function(item) {
  446. return <Select.Option key={item.value}>{item.key}</Select.Option>;
  447. })}
  448. </Select>
  449. </FormItem>
  450. <FormItem
  451. className="half-item"
  452. labelCol={{ span: 4 }}
  453. wrapperCol={{ span: 18 }}
  454. label={<span><span className="color-red"> * </span>社会属性</span>}
  455. >
  456. <Select
  457. placeholder="客户社会属性"
  458. value={this.state.societyTag}
  459. onChange={(e) => {
  460. this.setState({ societyTag: e });
  461. }}
  462. >
  463. {socialAttribute.map(function(item) {
  464. return <Select.Option key={item.value}>{item.key}</Select.Option>;
  465. })}
  466. </Select>
  467. </FormItem>
  468. <FormItem
  469. className="half-item"
  470. labelCol={{ span: 4 }}
  471. wrapperCol={{ span: 18 }}
  472. label="通信地址"
  473. >
  474. <Input
  475. maxLength={255}
  476. placeholder="客户通信地址"
  477. value={this.state.postalAddress}
  478. onChange={(e) => {
  479. this.setState({ postalAddress: e.target.value });
  480. }}
  481. />
  482. </FormItem>
  483. <FormItem
  484. className="half-item"
  485. labelCol={{ span: 4 }}
  486. wrapperCol={{ span: 18 }}
  487. label="固定电话"
  488. >
  489. <Input
  490. maxLength={16}
  491. placeholder="客户固定电话"
  492. value={this.state.fixedTel}
  493. onChange={(e) => {
  494. this.setState({ fixedTel: e.target.value });
  495. }}
  496. />
  497. </FormItem>
  498. <FormItem
  499. className="half-item"
  500. labelCol={{ span: 4 }}
  501. wrapperCol={{ span: 18 }}
  502. label="注册资本"
  503. >
  504. <Input
  505. placeholder="注册资本单位为万元"
  506. value={this.state.registeredCapital}
  507. maxLength={6}
  508. onChange={(e) => {
  509. this.setState({ registeredCapital: e.target.value });
  510. }}
  511. />
  512. </FormItem>
  513. <FormItem
  514. className="half-item"
  515. labelCol={{ span: 4 }}
  516. wrapperCol={{ span: 18 }}
  517. label="法人名称"
  518. >
  519. <Input
  520. maxLength={16}
  521. placeholder="法人名称"
  522. value={this.state.legalPerson}
  523. onChange={(e) => {
  524. this.setState({ legalPerson: e.target.value });
  525. }}
  526. />
  527. </FormItem>
  528. <FormItem
  529. className="half-item"
  530. labelCol={{ span: 4 }}
  531. wrapperCol={{ span: 18 }}
  532. label="法人身份证号码"
  533. >
  534. <Input
  535. maxLength={32}
  536. placeholder="法人身份证号码"
  537. value={this.state.legalPersonIdCard}
  538. onChange={(e) => {
  539. this.setState({ legalPersonIdCard: e.target.value });
  540. }}
  541. />
  542. </FormItem>
  543. <FormItem
  544. className="half-item"
  545. labelCol={{ span: 4 }}
  546. wrapperCol={{ span: 18 }}
  547. label="法人电话"
  548. >
  549. <Input
  550. maxLength={16}
  551. placeholder="法人电话"
  552. value={this.state.legalPersonTel}
  553. onChange={(e) => {
  554. this.setState({ legalPersonTel: e.target.value });
  555. }}
  556. />
  557. </FormItem>
  558. <FormItem
  559. className="half-item"
  560. labelCol={{ span: 4 }}
  561. wrapperCol={{ span: 18 }}
  562. label="法人电子邮箱"
  563. >
  564. <Input
  565. maxLength={32}
  566. placeholder="法人电子邮箱"
  567. value={this.state.legalPersonEmail}
  568. onChange={(e) => {
  569. this.setState({ legalPersonEmail: e.target.value });
  570. }}
  571. />
  572. </FormItem>
  573. <FormItem
  574. className="half-item"
  575. labelCol={{ span: 4 }}
  576. wrapperCol={{ span: 18 }}
  577. label="机构代码"
  578. >
  579. <Input
  580. maxLength={32}
  581. placeholder="社会同意机构代码"
  582. value={this.state.orgCode}
  583. onChange={(e) => {
  584. this.setState({ orgCode: e.target.value });
  585. }}
  586. />
  587. </FormItem>
  588. <FormItem
  589. className="half-item"
  590. labelCol={{ span: 4 }}
  591. wrapperCol={{ span: 18 }}
  592. label={<span><span className="color-red"> * </span>企业邮箱</span>}
  593. >
  594. <Input
  595. maxLength={32}
  596. placeholder="请填写企业邮箱"
  597. value={this.state.email}
  598. onChange={(e) => {
  599. this.setState({ email: e.target.value });
  600. }}
  601. />
  602. </FormItem>
  603. <FormItem
  604. className="half-item"
  605. labelCol={{ span: 4 }}
  606. wrapperCol={{ span: 18 }}
  607. label={<span><span className="color-red"> * </span>企业QQ</span>}
  608. >
  609. <Input
  610. maxLength={16}
  611. placeholder="填写企业QQ"
  612. value={this.state.qq}
  613. onChange={(e) => {
  614. this.setState({ qq: e.target.value });
  615. }}
  616. />
  617. </FormItem>
  618. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="高新">
  619. <Radio.Group
  620. value={this.state.highTechZone}
  621. onChange={(e) => {
  622. this.setState({ highTechZone: e.target.value });
  623. }}
  624. >
  625. <Radio value={0}>是</Radio>
  626. <Radio value={1}>否 </Radio>
  627. </Radio.Group>
  628. </FormItem>
  629. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="上市">
  630. <Radio.Group
  631. value={this.state.listed}
  632. onChange={(e) => {
  633. this.setState({ listed: e.target.value });
  634. }}
  635. >
  636. <Radio value={0}>是</Radio>
  637. <Radio value={1}>否 </Radio>
  638. </Radio.Group>
  639. </FormItem>
  640. <div className="clearfix pictures">
  641. <FormItem
  642. className="half-item"
  643. labelCol={{ span: 4 }}
  644. wrapperCol={{ span: 18 }}
  645. style={{ marginTop: 15 }}
  646. label="机构证(PIC)"
  647. >
  648. <PicturesWall
  649. pictureSign="PIC"
  650. fileList={this.getOrgCodeUrl}
  651. pictureUrl={this.state.orgCodeUrl}
  652. />
  653. <p>图片建议:图片要清晰。</p>
  654. </FormItem>
  655. <FormItem
  656. className="half-item"
  657. style={{paddingTop:15}}
  658. labelCol={{ span: 4 }}
  659. wrapperCol={{ span: 18 }}
  660. label={<span><span className="color-red"> * </span>企业logo</span>}
  661. >
  662. {/* <PicturesWall
  663. pictureSign="logo"
  664. fileList={this.getCompanyLogoUrl}
  665. pictureUrl={this.state.companyLogoUrl}
  666. />
  667. <p>图片建议:图片要清晰。</p> */}
  668. <Crop
  669. getAllImg={this.getAllImg}
  670. number = {1}
  671. aspectRatio = {1/1}
  672. url ={globalConfig.context + '/api/user/uploadPicture64'}
  673. uploadData = {{sign:'user_picture'}}
  674. urlArr = {this.state.companyLogoUrl}
  675. />
  676. <p>图片建议 : 图片要清晰。</p>
  677. </FormItem>
  678. </div>
  679. <div className="clearfix">
  680. <FormItem
  681. className="half-item"
  682. labelCol={{ span: 4 }}
  683. wrapperCol={{ span: 18 }}
  684. label={<span><span className="color-red"> * </span>业务范围</span>}
  685. >
  686. <Input
  687. type="textarea"
  688. rows={4}
  689. maxLength={400}
  690. value={this.state.businessScope}
  691. placeholder="请输入业务范围"
  692. onChange={(e) => {
  693. this.setState({ businessScope: e.target.value });
  694. }}
  695. />
  696. </FormItem>
  697. <FormItem
  698. className="half-item"
  699. labelCol={{ span: 4 }}
  700. wrapperCol={{ span: 18 }}
  701. label={<span><span className="color-red"> * </span>企业简介</span>}
  702. >
  703. <Input
  704. type="textarea"
  705. rows={4}
  706. maxLength={512}
  707. value={this.state.introduction}
  708. placeholder="请输入企业简介"
  709. onChange={(e) => {
  710. this.setState({ introduction: e.target.value });
  711. }}
  712. />
  713. </FormItem>
  714. </div>
  715. <div className="clearfix">
  716. <FormItem
  717. labelCol={{ span: 2 }}
  718. wrapperCol={{ span: 18 }}
  719. style={{ marginTop: 15 }}
  720. label={<span><span className="color-red"> * </span>荣誉资质</span>}
  721. >
  722. <PicturesWallMore
  723. pictureSign="PIC"
  724. fileList={this.getQualiUrl}
  725. pictureUrl={this.state.qualiUrl}
  726. />
  727. <p>图片建议:图片要清晰。</p>
  728. </FormItem>
  729. </div>
  730. <Row style={{ marginBottom: 20 ,marginTop:10}}>
  731. <Col offset={2} span={4}>
  732. <Button size="large" className="set-submit" type="primary" onClick={this.subFun} >
  733. 保存
  734. </Button>
  735. </Col>
  736. </Row>
  737. </div>
  738. </Spin>
  739. </Form>
  740. </div>
  741. );
  742. }
  743. });
  744. export default Unit;