Commit 12082f00 by zhaochengxiang

是否需要保存为草稿接口修改

parent 8367fce5
......@@ -339,6 +339,10 @@ export function* checkAdmin() {
return yield call(service.checkAdmin)
}
export function* checkIsNeedSaveAsDraft(payload) {
return yield call(service.checkIsNeedSaveAsDraft, payload)
}
export function* checkDataKeyUser() {
return yield call(service.checkDataKeyUser)
}
......
......@@ -320,6 +320,10 @@ export function checkAdmin() {
return Post("/dataassetmanager/dataAssetApi/checkCurrentUserIsAdmin")
}
export function checkIsNeedSaveAsDraft(payload) {
return Post("/dataassetmanager/dataAssetApi/checkIsNeedSaveAsDraft", payload)
}
export function checkDataKeyUser() {
return Post("/dataassetmanager/dataAssetApi/checkCurrentUserIsDataKeyUser")
}
......
......@@ -50,12 +50,12 @@ const AddAssetModel = (props) => {
showMessage('warn', '已存在相同的资产目录编号,请重新输入');
} else {
dispatch({
type: 'assetmanage.checkAdmin',
type: 'assetmanage.checkIsNeedSaveAsDraft',
callback: (data) => {
const isAdmin = (data==='true')?true:false
const needSaveAsDraft = (data==='true')?true:false
dispatch({
type: isAdmin?'assetmanage.addOrUpdateDataAsset':'assetmanage.saveAsDraft',
type: needSaveAsDraft?'assetmanage.saveAsDraft':'assetmanage.addOrUpdateDataAsset',
payload: {
params: {
dirId: nodeId,
......
......@@ -72,8 +72,8 @@ const AssetAction = (props) => {
const [keyword, setKeyword] = useState('');
const [publishedAsset, setPublishedAsset] = useState();
const [isMetadataEdit, setMetadataEdit] = useState(false);
const [loadingAdmin, setLoadingAdmin] = useState(false);
const [isAdmin, setAdmin] = React.useState()
const [loadingSaveAsDraft, setLoadingSaveAsDraft] = React.useState(false)
const [needSaveAsDraft, setNeedSaveAsDraft] = React.useState()
const app = useContext(AppContext);
const uploadRef = useRef(undefined);
......@@ -411,7 +411,6 @@ const AssetAction = (props) => {
setPagination({...pagination, pageNum: 1});
getAssetPaths();
checkDataAssetEditable();
getAdmin();
getAsset();
} else {
......@@ -424,6 +423,12 @@ const AssetAction = (props) => {
}, [id, dirId])
useEffect(() => {
if (assets?.templateType) {
judgeNeedSaveAsDraft()
}
}, [assets])
useEffect(() => {
if (permissionId) {
getPermission();
}
......@@ -626,16 +631,21 @@ const AssetAction = (props) => {
})
}
const getAdmin = () => {
setLoadingAdmin(true)
const judgeNeedSaveAsDraft = () => {
setLoadingSaveAsDraft(true)
dispatch({
type: 'assetmanage.checkAdmin',
type: 'assetmanage.checkIsNeedSaveAsDraft',
payload: {
params: {
templateType: assets?.templateType,
}
},
callback: (data) => {
setLoadingAdmin(false)
setAdmin((data==='true')?true:false)
setLoadingSaveAsDraft(false)
setNeedSaveAsDraft((data==='true')?true:false)
},
error: () => {
setLoadingAdmin(false)
setLoadingSaveAsDraft(false)
}
})
}
......@@ -913,7 +923,7 @@ const AssetAction = (props) => {
}
dispatch({
type: isAdmin?'assetmanage.addOrUpdateDataAsset':'assetmanage.saveAsDraft',
type: needSaveAsDraft?'assetmanage.saveAsDraft':'assetmanage.addOrUpdateDataAsset',
payload: {
params,
data,
......@@ -1219,7 +1229,7 @@ const AssetAction = (props) => {
flexDirection: 'column',
}}
>
<Spin spinning={loading||loadingAdmin||loadingEditPermission}>
<Spin spinning={loading||loadingSaveAsDraft||loadingEditPermission}>
{
(action!=='add' && (id||'')!=='') && <div>
<div className='mb-3'>
......@@ -1263,7 +1273,7 @@ const AssetAction = (props) => {
{
currentAction==='detail' ? <Button onClick={onActionButtonClick}>编辑</Button> : <React.Fragment>
<Button onClick={onCancelButtonClick}>取消</Button>
<Button onClick={onActionButtonClick}>{(reference===AssetDraftReference||isAdmin)?'保存':'保存草稿'}</Button>
<Button onClick={onActionButtonClick}>{(reference===AssetDraftReference||!needSaveAsDraft)?'保存':'保存草稿'}</Button>
</React.Fragment>
}
{
......
......@@ -155,13 +155,13 @@ const ImportAssetDrawer = (props) => {
setConfirmLoading(true);
dispatch({
type: 'assetmanage.checkAdmin',
type: 'assetmanage.checkIsNeedSaveAsDraft',
callback: (data) => {
const isAdmin = (data==='true')?true:false
const needSaveAsDraft = (data==='true')?true:false
dispatch({
type: 'assetmanage.assetImport',
payload: { fileList: fileList, params: { env: `${app?.env?.domainId}`, saveAsDraft: isAdmin?false:true } },
payload: { fileList: fileList, params: { env: `${app?.env?.domainId}`, saveAsDraft: needSaveAsDraft } },
callback: data => {
setConfirmLoading(false);
setFileList([]);
......
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