Merge branch 'main' of http://113.45.157.195:3003/insiinc/leader-mail
This commit is contained in:
commit
06cec01b74
|
@ -22,7 +22,11 @@ export default function PostCommentCard({
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
className="bg-white rounded-lg border p-4"
|
className={` rounded-xl shadow-sm border p-4 ${
|
||||||
|
isReceiverComment
|
||||||
|
? "border-primary border-2 bg-primary-50"
|
||||||
|
: "border-slate-200 bg-white"
|
||||||
|
}`}
|
||||||
layout>
|
layout>
|
||||||
<div className="flex items-start space-x-2 gap-2">
|
<div className="flex items-start space-x-2 gap-2">
|
||||||
<div className="flex-shrink-0">
|
<div className="flex-shrink-0">
|
||||||
|
@ -45,10 +49,9 @@ export default function PostCommentCard({
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
{isReceiverComment && (
|
{isReceiverComment && (
|
||||||
<div className=" py-1 px-4 rounded-full bg-primary-50 text-primary-500">
|
<span className=" text-sm text-primary font-bold">
|
||||||
|
|
||||||
官方回复
|
官方回复
|
||||||
</div>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{/* 添加有帮助按钮 */}
|
{/* 添加有帮助按钮 */}
|
||||||
|
|
|
@ -25,8 +25,15 @@ export default function Header() {
|
||||||
{post?.title}
|
{post?.title}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div className="space-y-2">
|
<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">
|
<Space className="mr-4">
|
||||||
|
|
||||||
<span className="text-white">发件人</span>
|
<span className="text-white">发件人</span>
|
||||||
|
@ -47,7 +54,10 @@ export default function Header() {
|
||||||
</Text>
|
</Text>
|
||||||
))}
|
))}
|
||||||
</Space>
|
</Space>
|
||||||
|
|
||||||
|
{/* Date Info Badge */}
|
||||||
<Space className="mr-4">
|
<Space className="mr-4">
|
||||||
|
<CalendarOutlined className="text-white" />
|
||||||
|
|
||||||
<span className="text-white">创建于</span>
|
<span className="text-white">创建于</span>
|
||||||
<Text className="text-white">
|
<Text 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 { useLetterEditor } from "../context/LetterEditorContext";
|
||||||
import { SendOutlined } from "@ant-design/icons";
|
import { SendOutlined } from "@ant-design/icons";
|
||||||
import QuillEditor from "@web/src/components/common/editor/quill/QuillEditor";
|
import QuillEditor from "@web/src/components/common/editor/quill/QuillEditor";
|
||||||
import { TusUploader } from "@web/src/components/common/uploader/TusUploader";
|
import { TusUploader } from "@web/src/components/common/uploader/TusUploader";
|
||||||
import StaffSelect from "../../../staff/staff-select";
|
import StaffSelect from "../../../staff/staff-select";
|
||||||
import TermSelect from "../../../term/term-select";
|
import TermSelect from "../../../term/term-select";
|
||||||
|
import TabPane from "antd/es/tabs/TabPane";
|
||||||
|
|
||||||
export function LetterBasicForm() {
|
export function LetterBasicForm() {
|
||||||
const { onSubmit, receiverId, termId, form } = useLetterEditor();
|
const { onSubmit, receiverId, termId, form } = useLetterEditor();
|
||||||
|
@ -66,31 +67,40 @@ export function LetterBasicForm() {
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
||||||
{/* Content Editor */}
|
<Tabs defaultActiveKey="1">
|
||||||
<Form.Item
|
{/* Content Editor */}
|
||||||
name="content"
|
<TabPane tab="正文" key="1">
|
||||||
rules={[{ required: true, message: "请输入内容" }]}
|
<Form.Item
|
||||||
required={false}>
|
name="content"
|
||||||
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
rules={[{ required: true, message: "请输入内容" }]}
|
||||||
<QuillEditor
|
required={false}>
|
||||||
maxLength={10000}
|
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
||||||
placeholder="请输入内容"
|
<QuillEditor
|
||||||
minRows={16}
|
maxLength={10000}
|
||||||
onChange={(content) =>
|
placeholder="请输入内容"
|
||||||
form.setFieldValue("content", content)
|
minRows={16}
|
||||||
}
|
onChange={(content) =>
|
||||||
/>
|
form.setFieldValue("content", content)
|
||||||
</div>
|
}
|
||||||
</Form.Item>
|
/>
|
||||||
<Form.Item name="resources" required={false}>
|
</div>
|
||||||
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
</Form.Item>
|
||||||
<TusUploader
|
</TabPane>
|
||||||
onChange={(resources) =>
|
<TabPane tab="附件" key="2">
|
||||||
form.setFieldValue("resources", resources)
|
<Form.Item name="resources" required={false}>
|
||||||
}
|
<div className="rounded-lg border border-gray-200 bg-white shadow-sm">
|
||||||
/>
|
<TusUploader
|
||||||
</div>
|
onChange={(resources) =>
|
||||||
</Form.Item>
|
form.setFieldValue(
|
||||||
|
"resources",
|
||||||
|
resources
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Form.Item>
|
||||||
|
</TabPane>
|
||||||
|
</Tabs>
|
||||||
{/* Footer Actions */}
|
{/* Footer Actions */}
|
||||||
<div className="flex flex-col-reverse sm:flex-row items-center justify-between gap-4 mt-6">
|
<div className="flex flex-col-reverse sm:flex-row items-center justify-between gap-4 mt-6">
|
||||||
<Form.Item name="isPublic" valuePropName="checked">
|
<Form.Item name="isPublic" valuePropName="checked">
|
||||||
|
|
|
@ -71,11 +71,11 @@ server {
|
||||||
|
|
||||||
# 文件访问认证
|
# 文件访问认证
|
||||||
# 通过内部认证服务验证
|
# 通过内部认证服务验证
|
||||||
# auth_request /auth-file;
|
auth_request /auth-file;
|
||||||
# 存储认证状态和用户信息
|
# 存储认证状态和用户信息
|
||||||
# auth_request_set $auth_status $upstream_status;
|
auth_request_set $auth_status $upstream_status;
|
||||||
# auth_request_set $auth_user_id $upstream_http_x_user_id;
|
auth_request_set $auth_user_id $upstream_http_x_user_id;
|
||||||
# auth_request_set $auth_resource_type $upstream_http_x_resource_type;
|
auth_request_set $auth_resource_type $upstream_http_x_resource_type;
|
||||||
# 不缓存
|
# 不缓存
|
||||||
expires 0;
|
expires 0;
|
||||||
# 私有缓存,禁止转换
|
# 私有缓存,禁止转换
|
||||||
|
|
Loading…
Reference in New Issue