| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import {
- ProForm,
- ProFormText,
- ProFormTextArea,
- } from "@ant-design/pro-components";
- import { message } from "antd";
- import type {
- IProjectData,
- IProjectResponse,
- IProjectUpdateRequest,
- } from "../../api/task";
- import { get, patch } from "../../request";
- import { useIntl } from "react-intl";
- import Publicity from "../studio/Publicity";
- interface IWidget {
- projectId?: string;
- studioName?: string;
- }
- const ProjectEdit = ({ projectId }: IWidget) => {
- const intl = useIntl();
- return (
- <ProForm<IProjectData>
- onFinish={async (values) => {
- const url = `/v2/project/${projectId}`;
- console.info("api request", url, values);
- const res = await patch<IProjectUpdateRequest, IProjectResponse>(
- url,
- values
- );
- console.log("api response", res);
- message.success("提交成功");
- }}
- params={{}}
- request={async () => {
- const url = `/v2/project/${projectId}`;
- console.info("api request", url);
- const res = await get<IProjectResponse>(url);
- console.log("api response", res);
- return res.data;
- }}
- >
- <ProForm.Group>
- <ProFormText
- width="md"
- name="title"
- label={intl.formatMessage({
- id: "forms.fields.title.label",
- })}
- />
- </ProForm.Group>
- <ProForm.Group>
- <ProFormText
- width="md"
- name="type"
- label={intl.formatMessage({
- id: "forms.fields.type.label",
- })}
- readonly
- />
- </ProForm.Group>
- <ProForm.Group>
- <Publicity
- name="privacy"
- disable={["disable", "public_no_list", "blocked"]}
- />
- </ProForm.Group>
- <ProForm.Group>
- <ProFormTextArea
- width="md"
- name="description"
- label={intl.formatMessage({
- id: "forms.fields.description.label",
- })}
- />
- </ProForm.Group>
- </ProForm>
- );
- };
- export default ProjectEdit;
|