Compare commits
2 Commits
9d1dfe962f
...
befc27adae
| Author | SHA1 | Date | |
|---|---|---|---|
| befc27adae | |||
| bef39f6894 |
@@ -247,6 +247,12 @@ const PortalJobFairDetailPage: React.FC = () => {
|
|||||||
<Title level={4}>招聘会简介</Title>
|
<Title level={4}>招聘会简介</Title>
|
||||||
<Paragraph>{detail.jobFairIntroduction || '暂未提供招聘会简介。'}</Paragraph>
|
<Paragraph>{detail.jobFairIntroduction || '暂未提供招聘会简介。'}</Paragraph>
|
||||||
</section>
|
</section>
|
||||||
|
{channel === 'outdoor' && (
|
||||||
|
<section className="job-fair-detail-introduction">
|
||||||
|
<Title level={4}>招聘会整体流程</Title>
|
||||||
|
<Paragraph>{detail.jobFairProcess || '暂未提供招聘会整体流程。'}</Paragraph>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
</Card>
|
</Card>
|
||||||
) : (
|
) : (
|
||||||
!loading && (
|
!loading && (
|
||||||
|
|||||||
@@ -157,6 +157,12 @@ const FairInfoTab: React.FC<Props> = ({ fairInfo, onFairUpdate }) => {
|
|||||||
'--'
|
'--'
|
||||||
)}
|
)}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
<Descriptions.Item label="招聘会简介" span={3}>
|
||||||
|
<div style={{ whiteSpace: 'pre-wrap' }}>{fairInfo.fairIntroduction || '--'}</div>
|
||||||
|
</Descriptions.Item>
|
||||||
|
<Descriptions.Item label="招聘会整体流程" span={3}>
|
||||||
|
<div style={{ whiteSpace: 'pre-wrap' }}>{fairInfo.fairProcess || '--'}</div>
|
||||||
|
</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import {
|
|||||||
ProFormSwitch,
|
ProFormSwitch,
|
||||||
ProFormSelect,
|
ProFormSelect,
|
||||||
ProFormText,
|
ProFormText,
|
||||||
|
ProFormTextArea,
|
||||||
} from '@ant-design/pro-components';
|
} from '@ant-design/pro-components';
|
||||||
import { Button, Divider, Form, Image, Input, message, Modal, Space, Upload } from 'antd';
|
import { Button, Divider, Form, Image, Input, message, Modal, Space, Upload } from 'antd';
|
||||||
import { PlusOutlined, UploadOutlined } from '@ant-design/icons';
|
import { PlusOutlined, UploadOutlined } from '@ant-design/icons';
|
||||||
@@ -297,6 +298,18 @@ const EditModal: React.FC<EditModalProps> = ({
|
|||||||
colProps={{ md: 24 }}
|
colProps={{ md: 24 }}
|
||||||
initialValue={false}
|
initialValue={false}
|
||||||
/>
|
/>
|
||||||
|
<ProFormTextArea
|
||||||
|
name="fairIntroduction"
|
||||||
|
label="招聘会简介"
|
||||||
|
placeholder="请输入招聘会简介"
|
||||||
|
fieldProps={{ maxLength: 5000, showCount: true, autoSize: { minRows: 4, maxRows: 8 } }}
|
||||||
|
/>
|
||||||
|
<ProFormTextArea
|
||||||
|
name="fairProcess"
|
||||||
|
label="招聘会整体流程"
|
||||||
|
placeholder="请输入招聘会整体流程"
|
||||||
|
fieldProps={{ maxLength: 5000, showCount: true, autoSize: { minRows: 4, maxRows: 8 } }}
|
||||||
|
/>
|
||||||
<ProForm.Item label="招聘会照片" required>
|
<ProForm.Item label="招聘会照片" required>
|
||||||
<Space direction="vertical" size={12}>
|
<Space direction="vertical" size={12}>
|
||||||
<Upload
|
<Upload
|
||||||
|
|||||||
@@ -1,9 +1,20 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Descriptions, Modal, Tag, Typography } from 'antd';
|
import { Descriptions, Modal, Tag, Typography } from 'antd';
|
||||||
|
import { createStyles } from 'antd-style';
|
||||||
import DictTag from '@/components/DictTag';
|
import DictTag from '@/components/DictTag';
|
||||||
import type { DictValueEnumObj } from '@/components/DictTag';
|
import type { DictValueEnumObj } from '@/components/DictTag';
|
||||||
import { normalizeNewsContent } from '@/utils/newsImageUrl';
|
import { normalizeNewsContent } from '@/utils/newsImageUrl';
|
||||||
|
|
||||||
|
const useStyles = createStyles(() => ({
|
||||||
|
content: {
|
||||||
|
'& img': {
|
||||||
|
display: 'block',
|
||||||
|
maxWidth: '100%',
|
||||||
|
height: 'auto',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
interface DetailModalProps {
|
interface DetailModalProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
data?: API.NewsInfo.NewsInfoItem;
|
data?: API.NewsInfo.NewsInfoItem;
|
||||||
@@ -11,7 +22,10 @@ interface DetailModalProps {
|
|||||||
onCancel: () => void;
|
onCancel: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
const DetailModal: React.FC<DetailModalProps> = ({ open, data, moduleEnum, onCancel }) => (
|
const DetailModal: React.FC<DetailModalProps> = ({ open, data, moduleEnum, onCancel }) => {
|
||||||
|
const { styles } = useStyles();
|
||||||
|
|
||||||
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
title="新闻资讯详情"
|
title="新闻资讯详情"
|
||||||
open={open}
|
open={open}
|
||||||
@@ -37,7 +51,7 @@ const DetailModal: React.FC<DetailModalProps> = ({ open, data, moduleEnum, onCan
|
|||||||
<Descriptions.Item label="正文" span={2}>
|
<Descriptions.Item label="正文" span={2}>
|
||||||
{data?.content ? (
|
{data?.content ? (
|
||||||
<Typography
|
<Typography
|
||||||
className="news-detail-content"
|
className={`${styles.content} news-detail-content`}
|
||||||
dangerouslySetInnerHTML={{ __html: normalizeNewsContent(data.content) }}
|
dangerouslySetInnerHTML={{ __html: normalizeNewsContent(data.content) }}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
@@ -49,6 +63,7 @@ const DetailModal: React.FC<DetailModalProps> = ({ open, data, moduleEnum, onCan
|
|||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
</Descriptions>
|
</Descriptions>
|
||||||
</Modal>
|
</Modal>
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
|
||||||
export default DetailModal;
|
export default DetailModal;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export interface PortalJobFairItem {
|
|||||||
jobFairHostUnit?: string;
|
jobFairHostUnit?: string;
|
||||||
jobFairOrganizeUnit?: string;
|
jobFairOrganizeUnit?: string;
|
||||||
jobFairIntroduction?: string;
|
jobFairIntroduction?: string;
|
||||||
|
jobFairProcess?: string;
|
||||||
jobFairPhone?: string;
|
jobFairPhone?: string;
|
||||||
jobFairImage?: string;
|
jobFairImage?: string;
|
||||||
enterpriseNum?: string;
|
enterpriseNum?: string;
|
||||||
@@ -71,6 +72,8 @@ interface PortalOutdoorFairDetailData extends Partial<PortalJobFairItem> {
|
|||||||
holdTime?: string;
|
holdTime?: string;
|
||||||
endTime?: string;
|
endTime?: string;
|
||||||
photoUrl?: string;
|
photoUrl?: string;
|
||||||
|
fairIntroduction?: string;
|
||||||
|
fairProcess?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface PortalOutdoorFairDetailResult {
|
interface PortalOutdoorFairDetailResult {
|
||||||
@@ -197,7 +200,8 @@ export async function getPortalJobFairDetail(channel: JobFairChannel, jobFairId:
|
|||||||
jobFairEndTime: fair.jobFairEndTime || fair.endTime,
|
jobFairEndTime: fair.jobFairEndTime || fair.endTime,
|
||||||
jobFairHostUnit: fair.jobFairHostUnit || fair.hostUnit,
|
jobFairHostUnit: fair.jobFairHostUnit || fair.hostUnit,
|
||||||
jobFairOrganizeUnit: fair.jobFairOrganizeUnit,
|
jobFairOrganizeUnit: fair.jobFairOrganizeUnit,
|
||||||
jobFairIntroduction: fair.jobFairIntroduction,
|
jobFairIntroduction: fair.jobFairIntroduction || fair.fairIntroduction,
|
||||||
|
jobFairProcess: fair.jobFairProcess || fair.fairProcess,
|
||||||
jobFairPhone: fair.jobFairPhone,
|
jobFairPhone: fair.jobFairPhone,
|
||||||
jobFairImage: fair.jobFairImage || fair.photoUrl,
|
jobFairImage: fair.jobFairImage || fair.photoUrl,
|
||||||
boothNum:
|
boothNum:
|
||||||
|
|||||||
@@ -33,6 +33,10 @@ export interface OutdoorFairItem {
|
|||||||
onlineApply: boolean;
|
onlineApply: boolean;
|
||||||
/** 招聘会照片 */
|
/** 招聘会照片 */
|
||||||
photoUrl: string;
|
photoUrl: string;
|
||||||
|
/** 招聘会简介 */
|
||||||
|
fairIntroduction?: string;
|
||||||
|
/** 招聘会整体流程 */
|
||||||
|
fairProcess?: string;
|
||||||
/** 当前企业ID */
|
/** 当前企业ID */
|
||||||
companyId?: number;
|
companyId?: number;
|
||||||
/** 当前企业名称 */
|
/** 当前企业名称 */
|
||||||
@@ -88,6 +92,10 @@ export interface OutdoorFairForm {
|
|||||||
applyEndTime: string;
|
applyEndTime: string;
|
||||||
onlineApply: boolean;
|
onlineApply: boolean;
|
||||||
photoUrl: string;
|
photoUrl: string;
|
||||||
|
/** 招聘会简介 */
|
||||||
|
fairIntroduction?: string;
|
||||||
|
/** 招聘会整体流程 */
|
||||||
|
fairProcess?: string;
|
||||||
/** 更换场地时确认清空旧展位图与预定,并按新模板重建 */
|
/** 更换场地时确认清空旧展位图与预定,并按新模板重建 */
|
||||||
resetBoothMap?: boolean;
|
resetBoothMap?: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user