Commit 743c10f0 by zhaochengxiang

资产收藏和取消收藏

parent 347c7970
...@@ -383,6 +383,14 @@ export function* addSubscribe(payload) { ...@@ -383,6 +383,14 @@ export function* addSubscribe(payload) {
return yield call(service.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) { export function* startProcess(payload) {
return yield call(service.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) { export function importElement(payload) {
return PostFile("/dataassetmanager/elementApi/import", payload); return PostFile("/dataassetmanager/elementApi/import", payload);
...@@ -365,6 +365,14 @@ export function addSubscribe(payload) { ...@@ -365,6 +365,14 @@ export function addSubscribe(payload) {
return PostJSON("/informationmanagement/subscribe/add", 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) { export function startProcess(payload) {
return PostJSON("/dataassetmanager/flowApi/startProcess", payload) return PostJSON("/dataassetmanager/flowApi/startProcess", payload)
} }
......
...@@ -15,6 +15,7 @@ import { AnchorId, AnchorDirId, AssetManageReference, AssetRecycleReference, Ass ...@@ -15,6 +15,7 @@ import { AnchorId, AnchorDirId, AssetManageReference, AssetRecycleReference, Ass
import IndexCode from './IndexCode'; import IndexCode from './IndexCode';
import Upload from './Upload'; import Upload from './Upload';
import Table from '../../ResizeableTable'; import Table from '../../ResizeableTable';
import SubsribeButton from './subscribe-button';
import { CancelSvg, EditSvg, SaveSvg, FullScreenSvg, CancelFullScreenSvg } from './AssetSvg'; import { CancelSvg, EditSvg, SaveSvg, FullScreenSvg, CancelFullScreenSvg } from './AssetSvg';
import SelectUser from '../../Model/Component/SelectUsers'; import SelectUser from '../../Model/Component/SelectUsers';
...@@ -1150,30 +1151,30 @@ const AssetAction = (props) => { ...@@ -1150,30 +1151,30 @@ const AssetAction = (props) => {
} }
} }
const onSubsrcibeClick = () => { // const onSubsrcibeClick = () => {
modal.confirm({ // modal.confirm({
title: '提示', // title: '提示',
content: '是否确认收藏该资产目录?', // content: '是否确认收藏该资产目录?',
onOk: () => { // onOk: () => {
dispatch({ // dispatch({
type: 'assetmanage.addSubscribe', // type: 'assetmanage.addSubscribe',
payload: { // payload: {
params: { // params: {
appType: 'dataAssetManager', // appType: 'dataAssetManager',
subType: assets?.templateType, // subType: assets?.templateType,
resourceIds: id, // resourceIds: id,
env: app?.env?.domainId||catalog||LocalStorage.get('assetsEnv'), // env: app?.env?.domainId||catalog||LocalStorage.get('assetsEnv'),
} // }
}, // },
callback: () => { // callback: () => {
showMessage("success","收藏成功"); // showMessage("success","收藏成功");
}, // },
error: () => { // error: () => {
} // }
}) // })
} // }
}) // })
} // }
const onValuesChange = (changedValues, allValues) => { const onValuesChange = (changedValues, allValues) => {
if (changedValues.hasOwnProperty('主题域分组')) { if (changedValues.hasOwnProperty('主题域分组')) {
...@@ -1268,7 +1269,7 @@ const AssetAction = (props) => { ...@@ -1268,7 +1269,7 @@ const AssetAction = (props) => {
} }
<Button onClick={shareAsset}>分享</Button> <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={ !isPostAsset(assets?.templateType) && <Dropdown overlay={
<Menu onClick={({ key })=>{ <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