This commit is contained in:
chashaobao
2025-12-27 16:21:33 +08:00
parent 365f3f6dd6
commit 14853bcda2
8 changed files with 38 additions and 6 deletions

View File

@ -45,7 +45,7 @@ const GET_CONTACT_TYPE_OPTIONS = [
{ {
type: GET_CONTACT_TYPE.INVITE, type: GET_CONTACT_TYPE.INVITE,
icon: 'https://publiccdn.neighbourhood.com.cn/img/invite-operations.png', icon: 'https://publiccdn.neighbourhood.com.cn/img/invite-operations.png',
title: '邀请运营进群(会员)', title: '邀请运营进群(会员)',
desc: '每邀请进一个主播群送一个日会员', desc: '每邀请进一个主播群送一个日会员',
btnText: '邀请', btnText: '邀请',
}, },

View File

@ -161,7 +161,7 @@ export default function CompanyPublishJobBuy(props: IProps) {
<div <div
key={item.payPrice} key={item.payPrice}
className={classNames(`${PREFIX}__company-publish-job-buy__item`, { className={classNames(`${PREFIX}__company-publish-job-buy__item`, {
selected: selectItem && item.payPrice === selectItem.payPrice, selected: selectItem && item.id === selectItem.id,
disabled: item.payPrice === 0, disabled: item.payPrice === 0,
})} })}
onClick={item.payPrice === 0 ? undefined : () => handleClickItem(item)} onClick={item.payPrice === 0 ? undefined : () => handleClickItem(item)}

View File

@ -167,9 +167,9 @@ export default function JobBuy(props: IProps) {
{productList.map(item => { {productList.map(item => {
return ( return (
<div <div
key={item.payPrice} key={item.id}
className={classNames(`${PREFIX}__job-buy__item`, { className={classNames(`${PREFIX}__job-buy__item`, {
selected: selectItem && item.payPrice === selectItem.payPrice, selected: selectItem && item.id === selectItem.id,
disabled: item.payPrice === 0, disabled: item.payPrice === 0,
})} })}
onClick={item.payPrice === 0 ? undefined : () => handleClickItem(item)} onClick={item.payPrice === 0 ? undefined : () => handleClickItem(item)}

View File

@ -17,4 +17,25 @@
border-radius: 16px; border-radius: 16px;
margin-top: 24px; margin-top: 24px;
} }
&__recommend {
display: inline-flex;
line-height: 36px;
padding: 0 8px;
height: 36px;
background: rgb(255, 80, 81);
border-radius: 4px;
font-size: 24px;
color: #fff;
align-items: center;
gap: 6px;
position: absolute;
left: 208px;
top: 8px;
width: 128px;
&-cell {
position: relative;
}
}
} }

View File

@ -1,6 +1,7 @@
import { Image } from '@tarojs/components'; import { Image } from '@tarojs/components';
import { Cell } from '@taroify/core'; import { Cell } from '@taroify/core';
import { GoodJob } from '@taroify/icons';
import { useCallback } from 'react'; import { useCallback } from 'react';
import MaterialCard from '@/components/material-card'; import MaterialCard from '@/components/material-card';
@ -34,7 +35,15 @@ export default function AnchorFragment() {
<Cell <Cell
isLink isLink
align="center" align="center"
title="免费领主播会员" title={
<div className={`${PREFIX}__recommend-cell`}>
<div className={`${PREFIX}__recommend`}>
<GoodJob />
</div>
</div>
}
className={`${PREFIX}__cell`} className={`${PREFIX}__cell`}
onClick={handleClickInviteOperations} onClick={handleClickInviteOperations}
/> />

View File

@ -27,6 +27,7 @@ export enum RESPONSE_ERROR_CODE {
INSUFFICIENT_FREE_BALANCE = 'INSUFFICIENT_FREE_BALANCE', // 免费查看次数(未购买会员)超限 INSUFFICIENT_FREE_BALANCE = 'INSUFFICIENT_FREE_BALANCE', // 免费查看次数(未购买会员)超限
BOSS_VIP_EXPIRED = 'BOSS_VIP_EXPIRED', // 会员过期 BOSS_VIP_EXPIRED = 'BOSS_VIP_EXPIRED', // 会员过期
CHAT_MSG_SEND_NOT_ALLOW = 'CHAT_MSG_SEND_NOT_ALLOW', CHAT_MSG_SEND_NOT_ALLOW = 'CHAT_MSG_SEND_NOT_ALLOW',
JOB_EXIST_ONE_PUBLISHED = 'JOB_EXIST_ONE_PUBLISHED',
} }
export const RESPONSE_ERROR_INFO: { [key in RESPONSE_ERROR_CODE]?: string } = { export const RESPONSE_ERROR_INFO: { [key in RESPONSE_ERROR_CODE]?: string } = {

View File

@ -19,7 +19,7 @@ const PREFIX = 'invite-operations';
export default function InviteOperations() { export default function InviteOperations() {
const location = useLocation(); const location = useLocation();
const userInfo = useUserInfo(); const userInfo = useUserInfo();
const [cityCode, setCityCode] = useState<string>(location.cityCode); const [cityCode, setCityCode] = useState<string>();
const [staffInfo, setStaffInfo] = useState<StaffInfo | null>(null); const [staffInfo, setStaffInfo] = useState<StaffInfo | null>(null);
const handleClickCityMenu = useCallback(() => { const handleClickCityMenu = useCallback(() => {

View File

@ -114,6 +114,7 @@ export interface GetOrderInfoRequest {
} }
export interface ProductSpecResult { export interface ProductSpecResult {
id: string;
productId: string; productId: string;
productSpecId: ProductSpecId; productSpecId: ProductSpecId;
productType: ProductType; productType: ProductType;