Commit 3765aba3 by 和金晶

资产订阅

parent 83ce8ea8
......@@ -83,6 +83,9 @@ export function* listRecycleBinDataAssetsByPage(payload) {
export function* getSubscriptionAssetByPage(payload) {
return yield call(service.getSubscriptionAssetByPage, payload);
}
export function* startAssetSubscriptionFlow(payload) {
return yield call(service.startAssetSubscriptionFlow, payload);
}
export function* addOrUpdateDirectory(payload) {
return yield call(service.addOrUpdateDirectory, payload);
}
......@@ -279,3 +282,6 @@ export function* listWorkbooksByType(payload) {
export function* getViewUrlByWorkbookId(payload) {
return yield call(service.getViewUrlByWorkbookId, payload)
}
export function* getSSOUrlByUserId(payload) {
return yield call(service.getSSOUrlByUserId, payload)
}
\ No newline at end of file
......@@ -78,6 +78,9 @@ export function listRecycleBinDataAssetsByPage(payload) {
export function getSubscriptionAssetByPage(payload) {
return GetJSON("/dataassetmanager/dataAssetApi/getSubscriptionAssetByPage", payload);
}
export function startAssetSubscriptionFlow(payload) {
return PostJSON("/dataassetmanager/flowApi/startAssetSubscriptionFlow", payload);
}
export function loadDataAssets(payload) {
return PostJSON("/dataassetmanager/dataAssetApi/loadDataAssets", payload);
......@@ -286,3 +289,6 @@ export function listWorkbooksByType(payload) {
export function getViewUrlByWorkbookId(payload) {
return Get("/dataassetmanager/reportApi/getViewUrlByWorkbookId", payload)
}
export function getSSOUrlByUserId(payload) {
return Post("/dataassetmanager/reportApi/getSSOUrlByUserId", payload)
}
......@@ -563,6 +563,20 @@ const AssetTable = (props) => {
setMyApplyVisible(true);
}
}
const openFinReport = () => {
dispatch({
type: 'assetmanage.getSSOUrlByUserId',
payload: {
params: {type:'fineReport'}
},
callback: data => {
window.open(data);
},
error: () => {
}
})
}
const onRecursiveChange = (e) => {
setRecursive(!e.target.checked);
......@@ -738,6 +752,7 @@ const AssetTable = (props) => {
}
const onReportAnalyseClick = (val) => {
console.log(val)
if ((checkedKeys||[]).length === 0) {
showMessage('warn', '请先选择一个资产');
} else if ((checkedKeys||[]).length > 1) {
......@@ -878,7 +893,7 @@ const AssetTable = (props) => {
</Menu.Item>
{
(reference===AssetManageReference || reference===MyAssetReference) && reportTypes?.map(item =>
(reference===AssetManageReference ) && reportTypes?.map(item =>
<React.Fragment key={item.code}>
<Menu.Item disabled={(checkedKeys||[]).length===0}>
<div className='text-center' onClick={() => { onReportAnalyseClick(item) }}>
......@@ -934,7 +949,7 @@ const AssetTable = (props) => {
(reference===AssetManageReference && nodeLevel!==1 && nodeType!=='custom') && <Button onClick={addAsset}>新增</Button>
}
{
(reference===AssetManageReference || reference===MyAssetReference) ? <Dropdown overlay={moreMenu} placement="bottomCenter">
(reference===AssetManageReference) ? <Dropdown overlay={moreMenu} placement="bottomCenter">
<Button>其他操作</Button>
</Dropdown> : <React.Fragment>
{
......@@ -963,6 +978,9 @@ const AssetTable = (props) => {
}
<Button onClick={onFilterElementClick}>可见列设置</Button>
{
(reference==MyAssetReference) &&<Button onClick={openFinReport}>帆软报表自助分析</Button>
}
{
(reference==AssetBrowseReference) && <Button onClick={onMyApply}>资产订阅</Button>
}
</React.Fragment>
......@@ -976,7 +994,7 @@ const AssetTable = (props) => {
(reference!==AssetRecycleReference && reference!==MyAssetReference) && <Checkbox onChange={onFullSearchChange} checked={fullSearch}>全部数据</Checkbox>
}
{
(reference!==MyAssetReference) &&<Search
<Search
placeholder="请输入资产要素值"
allowClear
onSearch={onSearchInputChange}
......@@ -985,7 +1003,7 @@ const AssetTable = (props) => {
/>
}
{
(reference!==AssetRecycleReference) && <Tooltip title={fullScreen?'取消全屏':'全屏'}>
(reference!==AssetRecycleReference && reference!==MyAssetReference) && <Tooltip title={fullScreen?'取消全屏':'全屏1'}>
<Button onClick={onFullScreenClick} icon={fullScreen?<CancelFullScreenSvg style={{ width: 20, height: 20 }} />:<FullScreenSvg style={{ width: 20, height: 20 }} />} type='text'></Button>
</Tooltip>
}
......@@ -1096,7 +1114,6 @@ const AssetTable = (props) => {
onCancel={ onFilterElementModalCancel}
/>
<MyApplyModal
selectItem = {selectItem}
visible={ myApplyVisible }
id={ (checkedKeys||[]).length>0?checkedKeys[0]:'' }
onCancel={ onMyApplyCancel}
......
import React, { useEffect, useState,useMemo } from 'react';
import { Row, Col, Checkbox, Typography, Button, Switch, Modal,Form, Input, InputNumber,Select,DatePicker } from 'antd';
import { dispatch } from '../../../../model';
import { dispatch,dispatchLatestHomepage } from '../../../../model';
import { showMessage } from '../../../../util';
import './FilterElementModal.less';
import moment from "moment"
......@@ -14,9 +16,7 @@ const {Option} = Select
const MyApplyModal = (props) => {
const { visible, onCancel, type = 'global',id,selectItem } = props;
console.log(id);
console.log(selectItem);
const { visible, onCancel, id, } = props;
const [ elements, setElements ] = useState([]);
const [ typesOfElements, setTypesOfElements ] = useState([]);
const [ selectedKeys, setSelectedKeys ] = useState([]);
......@@ -24,69 +24,6 @@ const MyApplyModal = (props) => {
const [form] = Form.useForm()
useEffect(() => {
if (visible) {
getAllFilterElementIdsThenGetAllElements();
}
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [visible]);
const getAllFilterElementIdsThenGetAllElements = () => {
let url = '';
if (type === 'global') {
url = 'assetmanage.listFilterElementIdsConfig';
} else {
url = 'assetmanage.listFilterElementIds';
}
dispatch({
type: url,
callback: data => {
setSelectedKeys(data||[]);
getAllElements();
}
})
}
const getAllElements = () => {
let url = '';
if (type === 'user') {
url = 'assetmanage.listUserElements';
} else {
url = 'assetmanage.listElements';
}
dispatch({
type: url,
callback: data => {
setElements(data||[]);
convertElements(data||[]);
}
})
}
const convertElements = (elements) => {
const _typesOfElements = [];
const _types = [];
(elements||[]).forEach(element => {
if (_types.indexOf(element.type||'') === -1) {
_types.push(element.type||'');
}
})
_types.forEach(type => {
const _elements = (elements||[]).filter(element => (element.type||'') === type);
_typesOfElements.push({ type, elements: _elements||[] });
})
setTypesOfElements(_typesOfElements);
}
const onCheckChange = (e) => {
if (e.target.checked) {
setSelectedKeys([...selectedKeys, e.target.value]);
......@@ -120,36 +57,31 @@ const MyApplyModal = (props) => {
form.validateFields().then((values) => {
if (Object.keys(values).length > 0) {
// 表单通过校验,做相应操作
console.log('表单数据通过校验', values);
const tempexpiryDateEnd = values.expiryDateEnd.format("YYYY-MM-DD")
const tempapplyReason = values.applyReason
console.log(values)
dispatch({
type: 'assetmanage.startAssetSubscriptionFlow',
payload:{
params:{
dataAssetId:id,
applyReason:tempapplyReason,
expiryDateEnd:tempexpiryDateEnd
}
},
callback: data => {
showMessage("success","发送申请成功");
onCancel()
},
error: (err) => {
setConfirmLoading(false);
}
})
}
}).catch((errorInfo) => {
console.log('校验错误', errorInfo);
});
// setConfirmLoading(true);
// let url = '';
// if (type === 'global') {
// url = 'assetmanage.setupFilterElementIdsConfig';
// } else {
// url = 'assetmanage.setupFilterElementIds';
// }
// dispatch({
// type: url,
// payload: {
// data: selectedKeys
// },
// callback: () => {
// reset();
// onCancel && onCancel(true);
// },
// error: () => {
// reset();
// }
// })
}
const cancel = () => {
......@@ -171,20 +103,6 @@ const MyApplyModal = (props) => {
},
};
const onFinish = (values) => {
console.log(values);
};
const validateMessages = {
required: '${label} is required!',
types: {
email: '${label} is not a valid email!',
number: '${label} is not a valid number!',
},
number: {
range: '${label} must be between ${min} and ${max}',
},
};
const SelectTime=(props)=>{
const {value,onChange,disabledDate} = props
......@@ -228,7 +146,6 @@ const MyApplyModal = (props) => {
}
const disabledDate= (current) => {
// Can not select days before today and today
return current && current < moment().endOf('day');
};
......@@ -258,7 +175,7 @@ const disabledDate= (current) => {
>
<div>
<Form {...layout} name="nest-messages" style={{maxWidth: 600, }} validateMessages={validateMessages} form={form}>
<Form {...layout} name="nest-messages" style={{maxWidth: 600, }} form={form}>
<Form.Item label={'有效时限'} name={'expiryDateEnd'} rules={[{ required: true,message:'必填项' }]}>
<SelectTime disabledDate={disabledDate} />
</Form.Item>
......
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