Commit 79a8c7f8 by 放生的三文鱼

新增草稿

parent 62da8f61
......@@ -21,6 +21,7 @@ import AssetDetail from './view/Manage/AssetManage/Component/AssetDetail';
import ImportAction from './view/Manage/Model/Component/ImportAction';
import EditModel from './view/Manage/Model/Component/EditModel';
import EditTemplate from './view/Manage/ModelConfig/Component/EditTemplate';
import AssetDraft from './view/Manage/AssetDraft';
import AssetTree from './view/Manage/AssetManage/Component/AssetManageTree';
import AssetNewDetail from "./view/Manage/AssetManage/Component/AssetAction"
......@@ -178,6 +179,7 @@ export class App extends React.Component {
<Route path={'/center-home/menu/asset-browse'} component={AssetBrowse} exact />
<Route path={'/center-home/menu/asset-recycle'} component={AssetRecycle} exact />
<Route path={'/center-home/data-model-action'} component={EditModel} exact />
<Route path={'/center-home/menu/asset-draft'} component={AssetDraft} exact />
<Route path={'/center-home/asset-detail'} component={AssetDetailPage} exact />
<Route path={'/center-home/session/asset-detail'} component={AssetDetailPage} exact />
</Switch>
......
......@@ -334,4 +334,20 @@ export function* getTemplates() {
export function* getMetadataTemplates(payload) {
return yield call(service.getMetadataTemplates, payload)
}
export function* saveAsDraft(payload) {
return yield call(service.saveAsDraft, payload)
}
export function* createDraftDataAssetByMetadataIds(payload) {
return yield call(service.createDraftDataAssetByMetadataIds, payload)
}
export function* listDraftDataAssetsByPage(payload) {
return yield call(service.listDraftDataAssetsByPage, payload)
}
export function* checkIsNeedSaveAsDraft(payload) {
return yield call(service.checkIsNeedSaveAsDraft, payload)
}
\ No newline at end of file
......@@ -48,6 +48,10 @@ export const routes = [
text: '未挂载资产',
},
{
name:'asset-draft',
text:'资产草稿'
},
{
name: 'asset-task',
text: '资产盘点任务',
}
......
......@@ -318,4 +318,28 @@ export function getTemplates() {
export function getMetadataTemplates(payload) {
return GetJSON("/dataassetmanager/elementTemplateApi/listSupportElementTemplatesByMetadataIdPath", payload)
}
\ No newline at end of file
}
export function saveAsDraft(payload) {
return PostJSON('/dataassetmanager/draftApi/saveAsDraft', payload);
}
export function createDraftDataAssetByMetadataIds(payload) {
return PostJSON('/dataassetmanager/draftApi/createDataAssetByMetadataIds', payload);
}
export function listDraftDataAssetsByPage(payload) {
return GetJSON('/dataassetmanager/draftApi/listDataAssetsByPage', payload);
}
export function checkIsNeedSaveAsDraft(payload) {
return PostJSON('/dataassetmanager/draftApi/checkIsNeedSaveAsDraft', payload);
}
// /draftApi/listDataAssetsByPage
export function getDraftDataAsset(payload) {
return GetJSON('/dataassetmanager/draftApi/listDataAssetsByPage', payload);
}
......@@ -33,4 +33,5 @@ export const Asset1104ManageReference = 'asset-1104-manage';
export const AssetBrowseReference = 'asset-browse';
export const ResourceBrowseReference = 'resource-browse';
export const AssetRecycleReference = 'asset-recycle';
export const AssetDraftReference = 'asset-draft';
export const AssetMountReference = 'asset-mount';
\ No newline at end of file
import React, { useState, useEffect, useMemo } from "react";
import { Table, Button, Space, Input, Select, Tag, Modal, message } from "antd";
import { useGetAssetDraft } from "../hooks/assetData";
const { Option } = Select;
// 主组件
const AssetManagementTable = () => {
const {
loading,
templates,
currentTemplate,
setCurrentTemplate,
setParams,
} = useGetAssetDraft();
const changeTemplate = (value) => {
setCurrentTemplate(value);
};
const changeParams = (key, value) => {
setParams((prev) => ({
...prev,
[key]: value,
}));
};
return (
<div style={{ background: "#fff" }}>
{/* 操作按钮区域 */}
<div
style={{
marginBottom: 16,
display: "flex",
justifyContent: "space-between",
flexWrap: "wrap",
}}
>
<Space>
<Select
loading={loading}
style={{ width: 100 }}
options={templates}
fieldNames={{ label: "name", value: "type" }}
value={currentTemplate}
onChange={changeTemplate}
/>
<Button>批量修改</Button>
<Button>导出</Button>
<Button type="primary">送审</Button>
<Button danger>删除</Button>
</Space>
<Space>
<Select
placeholder="请选择状态"
style={{ width: 120 }}
allowClear
options={[
{ label: "草稿", value: "draft" },
{ label: "审核中", value: "auditing" },
]}
onChange={(value) => {
changeParams("state", value);
}}
/>
<Select placeholder="请选择搜索属性" style={{ width: 140 }}>
<Option value="id">资产编号</Option>
<Option value="engName">资产英文名</Option>
<Option value="chnName">资产中文名</Option>
<Option value="assetItem">资产项</Option>
</Select>
<Input placeholder="请输入关键字" style={{ width: 200 }} allowClear />
</Space>
</div>
{/* 表格区域 */}
<Table
// rowSelection={rowSelection}
// columns={}
// dataSource={filteredData}
// loading={loading}
pagination={null}
size="middle"
/>
</div>
);
};
export default AssetManagementTable;
import { useEffect, useState, useMemo } from "react";
import {
getTemplates,
getDraftDataAsset,
} from "../../../../service/dataassetmanager";
// ../standardmanage/hooks/sourceMap
export function useGetAssetDraft() {
const [loading, setLoading] = useState(false);
const [templates, setTemplates] = useState();
const [currentTemplate, setCurrentTemplate] = useState();
const [params, setParams] = useState({
state: "",
});
const [pagination, setPagination] = useState({
pageNum: 1,
pageSize: 10,
total: 0,
});
const [dataLoading, setDataLoading] = useState(false);
const [draftData, setDraftData] = useState();
const getTemplatesList = async () => {
try {
setLoading(true);
const res = await getTemplates();
setTemplates(res);
setCurrentTemplate(res?.[0]?.type);
setLoading(false);
} catch (error) {
setLoading(false);
}
};
// 获取模板
useEffect(() => {
getTemplatesList();
}, []);
const getDraftData = async () => {
try {
// 设置数据加载状态为true,表示开始加载
setDataLoading(true);
const res = await getDraftDataAsset({
...pagination,
...params,
templateType: currentTemplate,
total: undefined,
});
console.log("data", res);
setDataLoading(false);
} catch (error) {
setDataLoading(false);
}
};
useEffect(() => {
if (currentTemplate) {
getDraftData();
}
}, [currentTemplate, pagination.pageNum, pagination.pageSize, params]);
return {
loading,
templates,
currentTemplate,
setCurrentTemplate,
setParams,
};
}
import React, { useState } from "react";
import { Tabs } from "antd";
import AssetDraft from "./component/AssetDraft";
const { TabPane } = Tabs;
const Index = () => {
const [tabKey, setTabKey] = useState("1");
const onTabChange = (key) => {
setTabKey(key);
};
return (
<div className="model-config">
<Tabs activeKey={tabKey} onChange={onTabChange}>
<TabPane tab="草稿" key="1">
<AssetDraft />
</TabPane>
</Tabs>
</div>
);
};
export default Index;
......@@ -236,7 +236,7 @@ const AssetTable = (props) => {
})
},
render:(_,record)=>{
const payload = {id:record.id,type:'dataAsset',reload:tableReload,creator:app.user.userName}
const payload = {id:record.id,type:'dataAsset',reload:tableReload,creator:app.user?.userName}
console.log('payload',payload)
return (record._id===mouseEnterKey)?<TagColumnConnect {...{...payload,styleType:'complex'}} />:<TagColumnConnect {...payload} />
}
......
......@@ -15,7 +15,7 @@ import AssetBrowse from './AssetBrowse';
import AssetRecycle from './AssetRecycle';
import AssetTask from './AssetTask';
import Asset1104Manage from "./Asset1104Manage";
import AssetDraft from "./AssetDraft";
class Manage extends Component {
render() {
......@@ -39,6 +39,8 @@ class Manage extends Component {
<Route path={`${match.path}/asset-recycle`} component={AssetRecycle} />
<Route path={`${match.path}/asset-task`} component={AssetTask} />
<Route path={`${match.path}/1104-asset`} component={Asset1104Manage} />
<Route path={`${match.path}/asset-draft`} component={AssetDraft} />
</Switch>
) : (
<GetSession {...this.props} />
......
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