知与行后台管理端

editCarousel.jsx 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import React, { useState, useEffect } from 'react';
  2. import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker,message } from 'antd';
  3. import { FormattedMessage } from 'umi-plugin-react/locale';
  4. import styles from '../style/GoodsList.less';
  5. import moment from 'moment';
  6. import router from 'umi/router';
  7. import BuildSelect from '../../components/SelectButton/BuildSelect'
  8. import XForm, { FieldTypes } from '../../components/XForm';
  9. import Wangedit from '../../components/Wangedit/Wangedit'
  10. import apis from '../../services/apis';
  11. import request from '../../utils/request'
  12. const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
  13. /**
  14. *
  15. *
  16. * @param {*} props
  17. * @returns
  18. */
  19. const Edit = (props) => {
  20. const [ tab, changeTab ] = useState('basic')
  21. const contentId = props.location.query.contentId
  22. const [ data, setData ] = useState({})
  23. if(contentId){
  24. useEffect(() => {
  25. getDetail(contentId);
  26. },[])
  27. // 查询列表
  28. const getDetail = (contentId) => {
  29. request({ ...apis.carsuseFigure.getExtendContent,urlData:{id: contentId}}).then((data) => {
  30. console.log(data)
  31. setData(data)
  32. })
  33. }
  34. }
  35. const cancelPage = () =>{
  36. router.push({
  37. pathname: '/carouselFigure/carouselFigureList',
  38. });
  39. }
  40. const fields = [
  41. {
  42. label: '所属项目',
  43. name: 'buildingId',
  44. render: <BuildSelect />,
  45. value: data.buildingId,
  46. },
  47. {
  48. label: '商品图片',
  49. name: 'image',
  50. type: FieldTypes.ImageUploader,
  51. value: data.image,
  52. },
  53. {
  54. label: '标题',
  55. name: 'title',
  56. type: FieldTypes.Text,
  57. value: data.title,
  58. },
  59. {
  60. label: '发布位置',
  61. name: 'showPosition',
  62. type: FieldTypes.Select,
  63. dict: [{
  64. label: '首页',
  65. value: 'index'
  66. },
  67. {
  68. label: '商城',
  69. value: 'mall'
  70. }],
  71. value: data.showPosition,
  72. },
  73. {
  74. label: '类型',
  75. name: 'contentType',
  76. type: FieldTypes.Select,
  77. dict: [{
  78. label: '活动',
  79. value: 'activity'
  80. },
  81. {
  82. label: '项目',
  83. value: 'project'
  84. },
  85. {
  86. label: '资讯',
  87. value: 'news'
  88. },
  89. {
  90. label: '其他',
  91. value: 'other'
  92. }],
  93. value: data.contentType,
  94. },
  95. {
  96. label: '发布内容',
  97. name: 'content',
  98. render: <Wangedit />,
  99. value: data.content,
  100. },
  101. {
  102. label: '状态',
  103. name: 'status',
  104. type: FieldTypes.Select,
  105. dict: [{
  106. label: "启用",
  107. value: 1
  108. },
  109. {
  110. label: "停用",
  111. value: 0
  112. },],
  113. value: data.status != null ? data.status : 1,
  114. },
  115. ]
  116. const handleSubmit = val => {
  117. val.showType = 'banner'
  118. if(contentId){
  119. request({ ...apis.carsuseFigure.updataExtendContent,urlData:{id: contentId}, data: val,}).then((data) => {
  120. cancelPage()
  121. }).catch((err) => {
  122. message.info(err.msg || err.message)
  123. })
  124. }else{
  125. request({ ...apis.carsuseFigure.addExtendContent, data: val,}).then((data) => {
  126. cancelPage()
  127. }).catch((err) => {
  128. message.info(err.msg || err.message)
  129. })
  130. }
  131. }
  132. return (
  133. <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
  134. );
  135. }
  136. export default Edit