Commit 743c10f0 by zhaochengxiang

资产收藏和取消收藏

parent 347c7970
......@@ -383,6 +383,14 @@ export function* addSubscribe(payload) {
return yield call(service.addSubscribe, payload);
}
export function* deleteSubsribe(payload) {
return yield call(service.deleteSubsribe, payload);
}
export function* subsribeDataList(payload) {
return yield call(service.subsribeDataList, payload);
}
export function* startProcess(payload) {
return yield call(service.startProcess, payload);
}
......
import { PostJSON, GetJSON, PostFile, Post, Get, callFetchRawByFormData } from "../util/axios"
import { PostJSON, GetJSON, PostFile, Post, Get, callFetchRawByFormData, Delete } from "../util/axios"
export function importElement(payload) {
return PostFile("/dataassetmanager/elementApi/import", payload);
......@@ -365,6 +365,14 @@ export function addSubscribe(payload) {
return PostJSON("/informationmanagement/subscribe/add", payload)
}
export function deleteSubsribe(payload) {
return Delete("/informationmanagement/subscribe/dels", payload)
}
export function subsribeDataList(payload) {
return GetJSON("/informationmanagement/subscribe/subscribeDataList", payload)
}
export function startProcess(payload) {
return PostJSON("/dataassetmanager/flowApi/startProcess", payload)
}
......
......@@ -15,6 +15,7 @@ import { AnchorId, AnchorDirId, AssetManageReference, AssetRecycleReference, Ass
import IndexCode from './IndexCode';
import Upload from './Upload';
import Table from '../../ResizeableTable';
import SubsribeButton from './subscribe-button';
import { CancelSvg, EditSvg, SaveSvg, FullScreenSvg, CancelFullScreenSvg } from './AssetSvg';
import SelectUser from '../../Model/Component/SelectUsers';
......@@ -1150,30 +1151,30 @@ const AssetAction = (props) => {
}
}
const onSubsrcibeClick = () => {
modal.confirm({
title: '提示',
content: '是否确认收藏该资产目录?',
onOk: () => {
dispatch({
type: 'assetmanage.addSubscribe',
payload: {
params: {
appType: 'dataAssetManager',
subType: assets?.templateType,
resourceIds: id,
env: app?.env?.domainId||catalog||LocalStorage.get('assetsEnv'),
}
},
callback: () => {
showMessage("success","收藏成功");
},
error: () => {
}
})
}
})
}
// const onSubsrcibeClick = () => {
// modal.confirm({
// title: '提示',
// content: '是否确认收藏该资产目录?',
// onOk: () => {
// dispatch({
// type: 'assetmanage.addSubscribe',
// payload: {
// params: {
// appType: 'dataAssetManager',
// subType: assets?.templateType,
// resourceIds: id,
// env: app?.env?.domainId||catalog||LocalStorage.get('assetsEnv'),
// }
// },
// callback: () => {
// showMessage("success","收藏成功");
// },
// error: () => {
// }
// })
// }
// })
// }
const onValuesChange = (changedValues, allValues) => {
if (changedValues.hasOwnProperty('主题域分组')) {
......@@ -1268,7 +1269,7 @@ const AssetAction = (props) => {
}
<Button onClick={shareAsset}>分享</Button>
<Button onClick={onSubsrcibeClick}>收藏</Button>
<SubsribeButton id={assets?.id} appType='dataAssetManager' subType={assets?.templateType} env={app?.env?.domainId||catalog||LocalStorage.get('assetsEnv')} />
{
!isPostAsset(assets?.templateType) && <Dropdown overlay={
<Menu onClick={({ key })=>{
......
import React from "react"
import { Button, Spin } from "antd"
import { dispatch } from '../../../../model'
import { showMessage } from "../../../../util"
const FC = ({ id, appType, subType, env }) => {
const [loading, setLoading] = React.useState(false)
const [waiting, setWaiting] = React.useState(false)
const [subsribeData, setSubsribeData] = React.useState()
React.useEffect(() => {
if (id && appType && subType && env) {
getSubsribeData()
}
}, [id, appType, env])
const title = React.useMemo(() => {
return subsribeData ? '取消收藏' : '收藏'
}, [subsribeData])
const getSubsribeData = () => {
setLoading(true)
dispatch({
type: 'assetmanage.subsribeDataList',
payload: {
appType,
subType,
env,
resourceIds: id,
},
callback: (data) => {
setLoading(false)
setSubsribeData(data?.[id])
},
error: () => {
setLoading(false)
}
})
}
const onSubsribeClick = () => {
if (waiting || loading) return
setWaiting(true)
if (subsribeData?.id) {
dispatch({
type: 'assetmanage.deleteSubsribe',
payload: {
subscribeIds: subsribeData?.id,
},
callback: () => {
setWaiting(false)
showMessage("success","操作成功")
getSubsribeData()
},
error: () => {
setWaiting(false)
}
})
} else {
dispatch({
type: 'assetmanage.addSubscribe',
payload: {
params: {
appType,
subType,
resourceIds: id,
env,
}
},
callback: () => {
setWaiting(false)
showMessage("success","操作成功")
getSubsribeData()
},
error: () => {
setWaiting(false)
}
})
}
}
return (
<Button onClick={onSubsribeClick} loading={loading || waiting}>{title}</Button>
)
}
export default FC
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment