|
@@ -1,6 +1,7 @@
|
|
|
import { BusController } from "@/controllers/natsController";
|
|
|
import { TreeController } from "@/controllers/queentreeController";
|
|
|
import "@/modules/_default/viewerStorage";
|
|
|
+import { useQueditor } from "@queenjs-modules/queditor";
|
|
|
import {
|
|
|
initQueentreeExplorer,
|
|
|
NodeTypes,
|
|
@@ -10,15 +11,19 @@ import PickNodeStep from "@queenjs-modules/queentree-explorer/components/PickNod
|
|
|
import { StepController } from "@queenjs-modules/queentree-explorer/components/PickNodeSteps/StepController";
|
|
|
import { Exception, useModal } from "queenjs";
|
|
|
import { defineComponent } from "vue";
|
|
|
-import { array } from "vue-types";
|
|
|
+import { array, string } from "vue-types";
|
|
|
|
|
|
export default defineComponent({
|
|
|
props: {
|
|
|
nodeTypes: array<NodeTypes>().def(["packProd"]),
|
|
|
+ apiName: string().isRequired,
|
|
|
+ title:string().isRequired,
|
|
|
},
|
|
|
|
|
|
setup(props) {
|
|
|
- document.title = "选择材质球";
|
|
|
+
|
|
|
+ document.title = props.title || "queentree选择资源";
|
|
|
+ const queditor = useQueditor();
|
|
|
|
|
|
const stepCtrol = new StepController(1);
|
|
|
// const modal = useModal();
|
|
@@ -33,33 +38,61 @@ export default defineComponent({
|
|
|
},
|
|
|
});
|
|
|
|
|
|
+ // 获取Pack中场景相关的资源
|
|
|
+ function getRelatedSourceByScene(
|
|
|
+ pack: any,
|
|
|
+ sceneId: any
|
|
|
+ ) {
|
|
|
+
|
|
|
+ const packNew = {...pack};
|
|
|
+ const scenes = packNew.scenes.filter((item:any)=>item.id==sceneId);
|
|
|
+ packNew.scenes = scenes;
|
|
|
+ return packNew;
|
|
|
+ }
|
|
|
+
|
|
|
async function submit() {
|
|
|
try {
|
|
|
- const branchFolder = stepCtrol.state.data.pickNodes[0];
|
|
|
- const pack = await branchFolder.getAssetDetail();
|
|
|
+ const pickedNode = stepCtrol.state.data.pickNodes[0];
|
|
|
+ const pack = await pickedNode.getAssetDetail();
|
|
|
|
|
|
- let mat;
|
|
|
- switch (branchFolder.nodeType) {
|
|
|
+ let ret;
|
|
|
+ switch (pickedNode.nodeType) {
|
|
|
case "matGroupItem":
|
|
|
- mat = pack.source.colorCards.find(
|
|
|
- (d: any) => d.id == branchFolder.state.id
|
|
|
+ ret = pack.source.colorCards.find(
|
|
|
+ (d: any) => d.id == pickedNode.state.id
|
|
|
);
|
|
|
break;
|
|
|
case "packMat":
|
|
|
- mat = pack.source.mats.find(
|
|
|
- (d: any) => d.id == branchFolder.state.id
|
|
|
+ ret = pack.source.mats.find(
|
|
|
+ (d: any) => d.id == pickedNode.state.id
|
|
|
);
|
|
|
break;
|
|
|
case "mat":
|
|
|
- mat = pack.source
|
|
|
+ ret = pack.source
|
|
|
break;
|
|
|
- }
|
|
|
- _tree.CloseTreeOpen("selmatblack", mat)
|
|
|
+
|
|
|
+ case "packProd":
|
|
|
+ ret = queditor.helper.getRelatedSourceByProduct(
|
|
|
+ pack.source as any,
|
|
|
+ pickedNode.state.id
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case "packItem":
|
|
|
+ ret = getRelatedSourceByScene(
|
|
|
+ pack.source as any,
|
|
|
+ pickedNode.state.id
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ console.log( props.apiName, ret);
|
|
|
+
|
|
|
+ _tree.CloseTreeOpen(props.apiName, ret)
|
|
|
+
|
|
|
return;
|
|
|
} catch (error: any) {
|
|
|
Exception.error(error?.toString());
|
|
|
}
|
|
|
- _tree.CloseTreeOpen("selmatblack")
|
|
|
+ _tree.CloseTreeOpen(props.apiName)
|
|
|
}
|
|
|
|
|
|
return () => {
|
|
@@ -69,7 +102,7 @@ export default defineComponent({
|
|
|
onSubmit={submit}
|
|
|
onCancel={() =>{
|
|
|
console.log("cancel")
|
|
|
- _tree.CloseTreeOpen("selmatblack");
|
|
|
+ _tree.CloseTreeOpen(props.apiName);
|
|
|
}}
|
|
|
control={stepCtrol}
|
|
|
lastStepText="确定"
|
|
@@ -81,7 +114,6 @@ export default defineComponent({
|
|
|
control={stepCtrol}
|
|
|
options={{
|
|
|
nodeTypes: nodeTypes,
|
|
|
- // childNodeType: "packProd",
|
|
|
}}
|
|
|
/>
|
|
|
),
|