editIcons.jsx 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import React, { useState, useEffect } from 'react';
  2. import { Input, Menu, Dropdown, Button, Icon, message, Table, Divider, Tag, Select, Form, Alert } from 'antd';
  3. import { FormattedMessage } from 'umi-plugin-react/locale';
  4. import channels from '../channel/channelList.less';
  5. import MiniappIconSelect from '../../components/SelectButton/MiniappIconSelect'
  6. import XForm, { FieldTypes } from '../../components/XForm';
  7. import Wangedit from '../../components/Wangedit/Wangedit'
  8. import router from 'umi/router';
  9. import apis from '../../services/apis';
  10. import request from '../../utils/request'
  11. const { TextArea } = Input;
  12. const { Option } = Select;
  13. const header = props => {
  14. const goodsId = props.location.query.goodsId
  15. const [ goodsData, setGoodsData ] = useState({})
  16. if(goodsId){
  17. useEffect(() => {
  18. getGoodsData(goodsId);
  19. },[])
  20. // 查询列表
  21. const getGoodsData = (goodsId) => {
  22. request({ ...apis.integralMall.taGoods, urlData: { id: goodsId },}).then((data) => {
  23. console.log(data)
  24. setGoodsData(data)
  25. })
  26. }
  27. }
  28. const fields = [
  29. {
  30. label: '请选择首页功能',
  31. name: 'iconCode',
  32. render: <MiniappIconSelect />,
  33. value: goodsData.iconCode,
  34. rules: [
  35. {required: true, message: '请选择所属项目'},
  36. ]
  37. },
  38. {
  39. label: '功能名称',
  40. name: 'iconName',
  41. type: FieldTypes.Text,
  42. value: goodsData.iconName ,
  43. help: '不填就使用默认名称',
  44. },
  45. {
  46. label: '权重',
  47. name: 'sort',
  48. type: FieldTypes.Number,
  49. render: <Input type="number" style={{ width: 80}} />,
  50. value: goodsData.sort,
  51. rules: [
  52. { required: true, message: '请输入权重' },
  53. ],
  54. help: '数字越大越靠前',
  55. },
  56. ]
  57. const handleSubmit = values => {
  58. if (values.inventory > values.totalNum) {
  59. message.error('商品剩余数量不能大于商品总数量')
  60. return
  61. }
  62. if (goodsId) {
  63. values.goodsId = goodsId
  64. request({ ...apis.integralMall.updateTaGoods, data: values,}).then((data) => {
  65. cancelPage()
  66. }).catch((err) => {
  67. message.info(err.msg || err.message)
  68. })
  69. }else{
  70. request({ ...apis.integralMall.addTaGoods, data: values,}).then((data) => {
  71. cancelPage()
  72. }).catch((err) => {
  73. message.info(err.msg || err.message)
  74. })
  75. }
  76. }
  77. const cancelPage = () => {
  78. router.push({
  79. pathname: '/integralMall/GoodsList',
  80. });
  81. }
  82. return (
  83. <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
  84. )
  85. }
  86. const WrappedNormalLoginForm = Form.create({ name: 'header' })(header);
  87. export default WrappedNormalLoginForm