4.10 收藏需求

This commit is contained in:
jl-zhoujl2
2022-04-10 19:38:19 +08:00
parent fd1cfa84f2
commit 0aff663908
6 changed files with 508 additions and 137 deletions

View File

@ -5,7 +5,7 @@ import Tabs from '@material-ui/core/Tabs';
import { PageHeader, Button, message, Steps, Space, Card, Dropdown, Menu } from 'antd';
import { Link, history } from 'umi';
import './index.less';
import { menuList } from './service/service';
import { getReadInfo, menuList, updateReadStatus } from './service/service';
import { getProName, getSessionRoleData, getProTypeCode, getDefId, getPurchaseCanOperate, getReturnURL, getProId, getProMethod } from '@/utils/session';
import { Step, StepButton, StepLabel, Stepper, Toolbar, Popover, Typography } from '@material-ui/core';
import { isEmpty } from '@/utils/CommonUtils';
@ -35,7 +35,7 @@ function getUrlRelativePath() {
const Promenu: React.FC<{}> = () => {
//获取采购方式
const MethodDict = getProMethod();
const MethodDict = getProMethod();
const classes = useStyles();
//流程数据
const [data, setData] = React.useState<any>([]);
@ -51,6 +51,12 @@ const Promenu: React.FC<{}> = () => {
const defId = getDefId();
//项目名称
const [proName, setProName] = useState<string>("");
//收藏状态 0-已收藏 d-未收藏
const [subStatus, setSubStatus] = useState<string | null>(null);
//收藏数据
const [subData, setSubData] = useState<any>();
//收藏loading
const [subLoading, setSubLoading] = useState<boolean>(false);
const [anchorEl, setAnchorEl] = React.useState<HTMLElement | null>(null);
@ -68,6 +74,17 @@ const Promenu: React.FC<{}> = () => {
setButtonValue(stepButtonClick(findURL(data)));
}
})
getReadInfo({ projectId: projectId }).then(res => {
if (res?.code == 200) {
const data = res?.data;
if (data) {
setSubStatus(data.status);
setSubData(data);
} else {
setSubStatus("");
}
}
})
setProName(getProName());
}, []);
/**
@ -84,6 +101,27 @@ const Promenu: React.FC<{}> = () => {
return num;
}
/**
* 变更收藏状态
* @param status
* @returns
*/
const changeSubStatus = (data: any, status: string) => {
const params = {
id: data ? data?.id : null,
projectId: projectId,
status
}
setSubLoading(true);
updateReadStatus(params).then(res => {
if (res?.code == 200) {
setSubStatus(status);
message.success(status == '0' ? '添加收藏成功' : '移除收藏成功')
}
}).finally(() => {
setSubLoading(false);
})
}
const stepButtonClick = (data: any) => {
if (isEmpty(data) || isEmpty(data.funcList)) {
@ -163,12 +201,17 @@ const Promenu: React.FC<{}> = () => {
title="项目名称"
subTitle={proName}
extra={[
(randerRole == 'ebtp-supervision' && subStatus == "0")
? <Button key="qxdy" disabled={subLoading} onClick={() => changeSubStatus(subData, "d")}></Button> : null,
(randerRole == 'ebtp-supervision' && (subStatus == "d" || subStatus == ""))
? <Button key="daiyue" disabled={subLoading} onClick={() => changeSubStatus(subData, "0")}></Button> : null,
(randerRole == 'ebtp-agency-project-manager' || randerRole == 'ebtp-purchase' || randerRole == 'ebtp-supervision')
? <Button key="jiandang" onClick={() => history.push("/Project/ProjectManage/ProjectManager/ProjectInformationManagement")}></Button> : null,
(randerRole == 'ebtp-agency-project-manager' || randerRole == 'ebtp-purchase' || randerRole == 'ebtp-supervision') && defId != 'inquiry'
? <Button key="guidang" onClick={() =>{
? <Button key="guidang" onClick={() => {
history.push("/ProjectLayout/Archive/projectArchive")
setButtonValue(stepButtonClick(data?.[data?.length - 1]))}}></Button> : null,
setButtonValue(stepButtonClick(data?.[data?.length - 1]))
}}></Button> : null,
((randerRole == 'ebtp-agency-project-manager' || randerRole == 'ebtp-purchase' || randerRole == 'ebtp-supervision') && MethodDict != "procurement_mode_7")
? <Button key="manageyiyi" onClick={() => history.push("/Project/ProjectManage/ProjectManager/ObjectionComplaint")}></Button> : null,
(randerRole == 'ebtp-supplier' && MethodDict != "procurement_mode_7")

View File

@ -15,4 +15,26 @@ export async function menuList(params: any) {
method: 'GET',
params: { ...params }
});
}
/**
* 收藏用-查询收藏信息项目id或收藏id
* @param params
* @returns
*/
export async function getReadInfo(params: any) {
return request('/api/biz-service-ebtp-project/v1/notification/getReading', {
method: 'POST',
data: { ...params },
});
}
/**
* 收藏用-变更收藏状态0-已收藏 d-未收藏)
* @param params
* @returns
*/
export async function updateReadStatus(params: any) {
return request('/api/biz-service-ebtp-project/v1/notification/addOrUpdate', {
method: 'POST',
data: { ...params },
});
}