add
This commit is contained in:
parent
741ff22489
commit
5a68eabbfd
|
@ -22,7 +22,11 @@ export default function PostCommentCard({
|
|||
}) {
|
||||
return (
|
||||
<motion.div
|
||||
className="bg-white rounded-lg shadow-sm border border-slate-200 p-4"
|
||||
className={` rounded-xl shadow-sm border p-4 ${
|
||||
isReceiverComment
|
||||
? "border-primary border-2 bg-primary-50"
|
||||
: "border-slate-200 bg-white"
|
||||
}`}
|
||||
layout>
|
||||
<div className="flex items-start space-x-2 gap-2">
|
||||
<div className="flex-shrink-0">
|
||||
|
@ -45,11 +49,9 @@ export default function PostCommentCard({
|
|||
)}
|
||||
</span>
|
||||
{isReceiverComment && (
|
||||
<div className=" ">
|
||||
<span className=" py-0.5 px-2 text-xs rounded-full bg-blue-100 text-blue-800">
|
||||
官方回复
|
||||
</span>
|
||||
</div>
|
||||
<span className=" text-sm text-primary font-bold">
|
||||
官方回复
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
{/* 添加有帮助按钮 */}
|
||||
|
|
|
@ -30,6 +30,13 @@ export default function Header() {
|
|||
</h1>
|
||||
</div>
|
||||
<div className="space-y-1">
|
||||
<Space className="mr-4">
|
||||
<SendOutlined className="text-white" />
|
||||
<span className="text-white">发件人:</span>
|
||||
<Text className="text-white" strong>
|
||||
{post?.author?.showname || "匿名用户"}
|
||||
</Text>
|
||||
</Space>
|
||||
{/* 收件人信息行 */}
|
||||
<Space className="mr-4">
|
||||
<MailOutlined className="text-white" />
|
||||
|
@ -44,13 +51,7 @@ export default function Header() {
|
|||
</Text>
|
||||
))}
|
||||
</Space>
|
||||
<Space className="mr-4">
|
||||
<SendOutlined className="text-white" />
|
||||
<span className="text-white">发件人:</span>
|
||||
<Text className="text-white" strong>
|
||||
{post?.author?.showname || "匿名用户"}
|
||||
</Text>
|
||||
</Space>
|
||||
|
||||
{/* Date Info Badge */}
|
||||
<Space className="mr-4">
|
||||
<CalendarOutlined className="text-white" />
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { Form, Input, Button, Checkbox, Select } from "antd";
|
||||
import { Form, Input, Button, Checkbox, Select, Tabs } from "antd";
|
||||
import { useLetterEditor } from "../context/LetterEditorContext";
|
||||
import { SendOutlined } from "@ant-design/icons";
|
||||
import QuillEditor from "@web/src/components/common/editor/quill/QuillEditor";
|
||||
import { TusUploader } from "@web/src/components/common/uploader/TusUploader";
|
||||
import StaffSelect from "../../../staff/staff-select";
|
||||
import TermSelect from "../../../term/term-select";
|
||||
import TabPane from "antd/es/tabs/TabPane";
|
||||
|
||||
export function LetterBasicForm() {
|
||||
const { onSubmit, receiverId, termId, form } = useLetterEditor();
|
||||
|
@ -66,31 +67,40 @@ export function LetterBasicForm() {
|
|||
/>
|
||||
</Form.Item>
|
||||
|
||||
{/* Content Editor */}
|
||||
<Form.Item
|
||||
name="content"
|
||||
rules={[{ required: true, message: "请输入内容" }]}
|
||||
required={false}>
|
||||
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
||||
<QuillEditor
|
||||
maxLength={10000}
|
||||
placeholder="请输入内容"
|
||||
minRows={16}
|
||||
onChange={(content) =>
|
||||
form.setFieldValue("content", content)
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</Form.Item>
|
||||
<Form.Item name="resources" required={false}>
|
||||
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
||||
<TusUploader
|
||||
onChange={(resources) =>
|
||||
form.setFieldValue("resources", resources)
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</Form.Item>
|
||||
<Tabs defaultActiveKey="1">
|
||||
{/* Content Editor */}
|
||||
<TabPane tab="正文" key="1">
|
||||
<Form.Item
|
||||
name="content"
|
||||
rules={[{ required: true, message: "请输入内容" }]}
|
||||
required={false}>
|
||||
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
||||
<QuillEditor
|
||||
maxLength={10000}
|
||||
placeholder="请输入内容"
|
||||
minRows={16}
|
||||
onChange={(content) =>
|
||||
form.setFieldValue("content", content)
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</Form.Item>
|
||||
</TabPane>
|
||||
<TabPane tab="附件" key="2">
|
||||
<Form.Item name="resources" required={false}>
|
||||
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
||||
<TusUploader
|
||||
onChange={(resources) =>
|
||||
form.setFieldValue(
|
||||
"resources",
|
||||
resources
|
||||
)
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</Form.Item>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
{/* Footer Actions */}
|
||||
<div className="flex flex-col-reverse sm:flex-row items-center justify-between gap-4 mt-6">
|
||||
<Form.Item name="isPublic" valuePropName="checked">
|
||||
|
|
Loading…
Reference in New Issue