|
@@ -1,23 +1,20 @@
|
|
|
import { useResource } from "@/modules/resource";
|
|
|
import { css, cx } from "@linaria/core";
|
|
|
-import { Button, Space } from "ant-design-vue";
|
|
|
-import { defineComponent, onMounted, reactive } from "vue";
|
|
|
+import { Button } from "ant-design-vue";
|
|
|
+import { defineComponent, onMounted } from "vue";
|
|
|
import AssetsList from "../components/AssetsList";
|
|
|
import MaterialTemplateModal from "./components/MaterialTemplateModal";
|
|
|
|
|
|
const materialType = [
|
|
|
{ name: "视频", key: "video" },
|
|
|
{ name: "图片", key: "image" },
|
|
|
+ { name: "渲染任务", key: "task" },
|
|
|
];
|
|
|
|
|
|
export default defineComponent({
|
|
|
setup() {
|
|
|
const resource = useResource();
|
|
|
|
|
|
- const state = reactive({
|
|
|
- type: "video",
|
|
|
- });
|
|
|
-
|
|
|
const showModal = (type: string) => {
|
|
|
resource.showModal(<MaterialTemplateModal type={type} />, {
|
|
|
title: `${type === "image" ? "图片" : "视频"}模板中心`,
|
|
@@ -25,31 +22,38 @@ export default defineComponent({
|
|
|
});
|
|
|
};
|
|
|
|
|
|
- onMounted(() => {
|
|
|
- resource.controls.materialListCtrl.state.query = { type: state.type };
|
|
|
- // resource.controls.materialListCtrl.loadPage(1);
|
|
|
- });
|
|
|
+ const changeType = (v: string) => {
|
|
|
+ resource.store.setSourceType(v);
|
|
|
+ loadPage();
|
|
|
+ };
|
|
|
+
|
|
|
+ const loadPage = () => {
|
|
|
+ resource.controls.materialListCtrl.state.query = {
|
|
|
+ fileType: resource.store.type,
|
|
|
+ };
|
|
|
+ resource.controls.materialListCtrl.loadPage(1);
|
|
|
+ };
|
|
|
+
|
|
|
+ onMounted(() => loadPage());
|
|
|
|
|
|
return () => {
|
|
|
return (
|
|
|
<div class={rootStyles}>
|
|
|
<h3 class="text-22px">我的素材</h3>
|
|
|
<div class="flex items-center justify-between mt-20px">
|
|
|
- <div class="filter">
|
|
|
- <Space size={60}>
|
|
|
- {materialType.map((d) => (
|
|
|
- <span
|
|
|
- key={d.key}
|
|
|
- onClick={() => (state.type = d.key)}
|
|
|
- class={cx(
|
|
|
- state.type == d.key && "active",
|
|
|
- "cursor-pointer btn_tab"
|
|
|
- )}
|
|
|
- >
|
|
|
- {d.name}
|
|
|
- </span>
|
|
|
- ))}
|
|
|
- </Space>
|
|
|
+ <div class="filter space-x-60px">
|
|
|
+ {materialType.map((d) => (
|
|
|
+ <span
|
|
|
+ key={d.key}
|
|
|
+ onClick={() => changeType(d.key)}
|
|
|
+ class={cx(
|
|
|
+ resource.store.type == d.key && "active",
|
|
|
+ "cursor-pointer btn_tab"
|
|
|
+ )}
|
|
|
+ >
|
|
|
+ {d.name}
|
|
|
+ </span>
|
|
|
+ ))}
|
|
|
</div>
|
|
|
<div>
|
|
|
<Button
|
|
@@ -83,6 +87,7 @@ export default defineComponent({
|
|
|
control={resource.controls.materialListCtrl}
|
|
|
item={(record: any) => (
|
|
|
<resource.components.MaterialItem
|
|
|
+ use="show"
|
|
|
record={record}
|
|
|
onDelete={() => resource.actions.deleteMaterial(record)}
|
|
|
onDownload={() => resource.actions.downloadMaterial(record)}
|