|
@@ -1,15 +1,30 @@
|
|
import { useResource } from "@/modules/resource";
|
|
import { useResource } from "@/modules/resource";
|
|
|
|
+import { AssetItemFile } from "@queenjs-modules/queentree-explorer/objects/fileSystem/assetFiles";
|
|
import { Image, List } from "@queenjs/ui";
|
|
import { Image, List } from "@queenjs/ui";
|
|
import { Button } from "ant-design-vue";
|
|
import { Button } from "ant-design-vue";
|
|
import { defineComponent } from "vue";
|
|
import { defineComponent } from "vue";
|
|
import { any } from "vue-types";
|
|
import { any } from "vue-types";
|
|
|
|
+import LibraryModal from "./LibraryModal";
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
setup() {
|
|
setup() {
|
|
const resource = useResource();
|
|
const resource = useResource();
|
|
|
|
|
|
|
|
+ const replaceMat = async () => {
|
|
|
|
+ const res = await resource.showModal<AssetItemFile>(
|
|
|
|
+ <LibraryModal nodeTypes={["matGroupItem", "mat", "packMat"]} />,
|
|
|
|
+ {
|
|
|
|
+ width: "900px",
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ console.log("res: ", res);
|
|
|
|
+
|
|
|
|
+ const data = await res.getAssetDetail();
|
|
|
|
+ console.log("data: ", data);
|
|
|
|
+ };
|
|
|
|
+
|
|
return () => {
|
|
return () => {
|
|
- const list = resource.store.sourceDetail.webEditor?.matSlots || [];
|
|
|
|
|
|
+ const list = resource.store.currentMats || [];
|
|
return (
|
|
return (
|
|
<div class="w-300px flex flex-col">
|
|
<div class="w-300px flex flex-col">
|
|
<div class="p-15px text-16px text-white border-dark-800 border-0 border-b-1 border-solid">
|
|
<div class="p-15px text-16px text-white border-dark-800 border-0 border-b-1 border-solid">
|
|
@@ -17,7 +32,9 @@ export default defineComponent({
|
|
</div>
|
|
</div>
|
|
<List data={list} gap="10px" class="scrollbar flex-1 py-15px px-15px">
|
|
<List data={list} gap="10px" class="scrollbar flex-1 py-15px px-15px">
|
|
{{
|
|
{{
|
|
- item: (record: any) => <CompItem record={record} />,
|
|
|
|
|
|
+ item: (record: any) => (
|
|
|
|
+ <CompItem record={record} onClick={replaceMat} />
|
|
|
|
+ ),
|
|
loadmore: () => (
|
|
loadmore: () => (
|
|
<div class="text-center py-20px text-12px opacity-80">
|
|
<div class="text-center py-20px text-12px opacity-80">
|
|
没有更多了
|
|
没有更多了
|
|
@@ -35,7 +52,8 @@ const CompItem = defineComponent({
|
|
props: {
|
|
props: {
|
|
record: any().isRequired,
|
|
record: any().isRequired,
|
|
},
|
|
},
|
|
- setup(props) {
|
|
|
|
|
|
+ emits: ["change", "click"],
|
|
|
|
+ setup(props, { emit }) {
|
|
return () => {
|
|
return () => {
|
|
const { record } = props;
|
|
const { record } = props;
|
|
return (
|
|
return (
|
|
@@ -45,7 +63,12 @@ const CompItem = defineComponent({
|
|
>
|
|
>
|
|
<Image src={record.thumbnail} class="w-48px rounded-4px" />
|
|
<Image src={record.thumbnail} class="w-48px rounded-4px" />
|
|
<div class="ml-10px flex-1 mr-5px w-0">{record.name || "未命名"}</div>
|
|
<div class="ml-10px flex-1 mr-5px w-0">{record.name || "未命名"}</div>
|
|
- <Button type="primary" ghost size="small">
|
|
|
|
|
|
+ <Button
|
|
|
|
+ ghost
|
|
|
|
+ type="primary"
|
|
|
|
+ size="small"
|
|
|
|
+ onClick={() => emit("click", record)}
|
|
|
|
+ >
|
|
替换
|
|
替换
|
|
</Button>
|
|
</Button>
|
|
</div>
|
|
</div>
|