知与行后台管理端

editStaff.jsx 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. import React, { useState, useEffect } from 'react';
  2. import { Input, Menu, Dropdown, Button, Icon, message, Table, Tooltip, Tabs, Radio, Divider, Tag, Select, Form, Alert } from 'antd';
  3. import { FormattedMessage } from 'umi-plugin-react/locale';
  4. import BuildSelect from '../../../components/SelectButton/BuildSelect'
  5. import router from 'umi/router';
  6. import styles from '../../style/GoodsList.less';
  7. import XForm, { FieldTypes } from '../../../components/XForm';
  8. import Wangedit from '../../../components/Wangedit/Wangedit'
  9. import channels from './channelList.less';
  10. import Tagss from '../components/Tagss.jsx';
  11. import apis from '../../../services/apis';
  12. import request from '../../../utils/request'
  13. const { TextArea } = Input;
  14. const { Option } = Select;
  15. /**
  16. *
  17. *
  18. * @param {*} props
  19. * @returns
  20. */
  21. const Edit = (props) => {
  22. const userId = props.location.query.userId
  23. const [userData, setUserData] = useState({})
  24. const [tagData, setTagData] = useState([])
  25. const [roleData, setRoleData] = useState([])
  26. const getTagList = () => {
  27. request({ ...apis.staff.taTags, params: {pageNum:1,pageSize:999} }).then((data) => {
  28. setTagData(data.records)
  29. })
  30. }
  31. const getRoleList = () => {
  32. request({ ...apis.role.getRoleList, params: {pageNum:1,pageSize:999} }).then((data) => {
  33. console.log(data)
  34. setRoleData(data.records)
  35. })
  36. }
  37. // 查询列表
  38. const getUserData = (userId) => {
  39. request({ ...apis.staff.getTaUser, urlData: {id:userId} }).then((data) => {
  40. console.log(data,"tauser")
  41. setUserData(data)
  42. })
  43. }
  44. useEffect(() => {
  45. getTagList();
  46. getRoleList();
  47. if (userId) {
  48. getUserData(userId);
  49. }
  50. }, [])
  51. const tagsChange = (value) => {
  52. console.log(`selected ${value}`);
  53. }
  54. const handleSubmit = val => {
  55. if(userId){
  56. request({ ...apis.staff.updateTaUser, urlData: {id:userId},data: val, }).then((data) => {
  57. console.log(data,"tauser")
  58. message.info("保存成功")
  59. router.go(-1)
  60. }).catch(error => {
  61. // message.info(error.message)
  62. })
  63. }else{
  64. request({ ...apis.staff.addTaUser, data: val, }).then((data) => {
  65. console.log(data,"tauser")
  66. message.info("保存成功")
  67. router.go(-1)
  68. }).catch(error => {
  69. // message.info(error.message)
  70. })
  71. }
  72. }
  73. const fields = [
  74. {
  75. label: '名称',
  76. name: 'userName',
  77. type: FieldTypes.Text,
  78. value: userData.userName
  79. },
  80. {
  81. label: '公司',
  82. name: 'orgName',
  83. type: FieldTypes.Text,
  84. placeholder: '请输入公司名称',
  85. value: userData.orgName
  86. },
  87. {
  88. label: '部门',
  89. name: 'department',
  90. type: FieldTypes.Text,
  91. placeholder: '请输入部门',
  92. value: userData.department
  93. },
  94. {
  95. label: '职位',
  96. name: 'position',
  97. type: FieldTypes.Text,
  98. placeholder: '请输入职位',
  99. value: userData.position
  100. },
  101. {
  102. label: '是否置业顾问',
  103. name: 'isConsultant',
  104. type: FieldTypes.Switch,
  105. value: userData.isConsultant
  106. },
  107. {
  108. label: '电话',
  109. name: 'phone',
  110. type: FieldTypes.Text,
  111. placeholder: '请输入电话号码',
  112. value: userData.phone,
  113. },
  114. {
  115. label: '角色',
  116. name: 'roleIds',
  117. render: <Select
  118. mode="multiple"
  119. style={{ width: '100%' }}
  120. placeholder="请选择标签"
  121. onChange={tagsChange} >
  122. {roleData.map(item => (
  123. <Select.Option key={item.roleId} value={item.roleId}>
  124. {item.roleName}
  125. </Select.Option>
  126. ))}
  127. </Select>,
  128. value: userData.roleIds,
  129. },
  130. {
  131. label: '标签',
  132. name: 'taTags',
  133. render: <Select
  134. mode="multiple"
  135. style={{ width: '100%' }}
  136. placeholder="请选择标签"
  137. onChange={tagsChange} >
  138. {tagData.map(item => (
  139. <Select.Option key={item.tagId} value={item.tagId}>
  140. {item.tagName}
  141. </Select.Option>
  142. ))}
  143. </Select>,
  144. value: userData.taTags,
  145. },
  146. {
  147. label: '地址',
  148. name: 'address',
  149. type: FieldTypes.Text,
  150. placeholder: '请输入地址',
  151. value: userData.address
  152. },
  153. {
  154. label: '授权项目',
  155. name: 'buildingId',
  156. render: <BuildSelect />,
  157. value: userData.buildingId
  158. },
  159. {
  160. label: '图片',
  161. name: 'photo',
  162. type: FieldTypes.ImageUploader,
  163. extra: '建议图片大小 640 * 640',
  164. value: userData.photo
  165. },
  166. {
  167. label: '简介',
  168. name: 'description',
  169. render: <TextArea className={channels.inpuitTxt} ></TextArea>,
  170. value: userData.description
  171. },
  172. {
  173. label: '状态',
  174. name: 'status',
  175. render: <Radio.Group>
  176. <Radio.Button style={{background:'#f0f0f0'}} value="0">禁用</Radio.Button>
  177. <Radio.Button style={{background:'#f0f0f0',color:'#ff7e48'}} value="1">启用</Radio.Button>
  178. </Radio.Group>,
  179. value: null != userData.status ? userData.status : '1'
  180. },
  181. ]
  182. console.log('--------->', fields)
  183. return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
  184. }
  185. export default Edit