fix: 接入3D编辑器
This commit is contained in:
@@ -42,6 +42,12 @@ const constantRoutes = [
|
|||||||
component: () => import(/* webpackChunkName: 'home' */ '@views/Home/Index.vue'),
|
component: () => import(/* webpackChunkName: 'home' */ '@views/Home/Index.vue'),
|
||||||
children: [...ProjectManage, ...TemplateMarket, ...Contact, ...DocumentLibrary, ...DataStatistics, ...Creative]
|
children: [...ProjectManage, ...TemplateMarket, ...Contact, ...DocumentLibrary, ...DataStatistics, ...Creative]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: '/edit-creative',
|
||||||
|
name: 'editCreative',
|
||||||
|
component: () => import(/* webpackChunkName: 'creative' */ '@views/Creative/Creation.vue')
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/luck',
|
path: '/luck',
|
||||||
name: 'luck',
|
name: 'luck',
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
const Creative = () => import(/* webpackChunkName: 'creative' */ '@views/Creative/index.vue');
|
const Creative = () => import(/* webpackChunkName: 'home' */ '@views/Creative/index.vue');
|
||||||
const MyCreation = () => import(/* webpackChunkName: 'creative' */ '@views/Creative/MyCreation.vue');
|
const MyCreation = () => import(/* webpackChunkName: 'home' */ '@views/Creative/MyCreation.vue');
|
||||||
const Material = () => import(/* webpackChunkName: 'creative' */ '@views/Creative/Material.vue');
|
const Material = () => import(/* webpackChunkName: 'home' */ '@views/Creative/Material.vue');
|
||||||
const Creation = () => import(/* webpackChunkName: 'creative' */ '@views/Creative/Creation.vue');
|
|
||||||
|
|
||||||
const router = [
|
const router = [
|
||||||
{
|
{
|
||||||
@@ -24,11 +23,5 @@ const router = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'edit-creative',
|
|
||||||
name: 'material',
|
|
||||||
meta: { title: '我的作品' },
|
|
||||||
component: Creation
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@@ -1,25 +1,36 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div style="height: 100%;">
|
||||||
<a-modal v-model:visible="visible" title="Basic Modal" width="1200px" @ok="handleOk">
|
<Header />
|
||||||
<div style="width: 100%; height: 600px;">
|
<div style="height: calc(100% - 70px); display: flex; flex-direction: row;">
|
||||||
<SceneShopPanoEditor v-if="visible" />
|
<div style="width: 370px;">
|
||||||
|
<CreationResource />
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
<div style="flex: 1;">
|
||||||
|
<SceneShopPanoEditor :shopData="creationMock"/>
|
||||||
|
</div>
|
||||||
|
<div style="width: 300px;">
|
||||||
|
<CreationProperty />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "@vue/reactivity"
|
import { reactive, ref } from "@vue/reactivity"
|
||||||
|
import Header from "./components/Header.vue"
|
||||||
import SceneShopPanoEditor from "./lib/SceneShopPanoEditor.vue"
|
import SceneShopPanoEditor from "./lib/SceneShopPanoEditor.vue"
|
||||||
|
import CreationProperty from "./components/CreationProperty.vue"
|
||||||
|
import CreationResource from "./components/CreationResource.vue"
|
||||||
|
|
||||||
const visible = ref(false);
|
import mockData from "./creation.mock";
|
||||||
|
|
||||||
defineExpose({
|
const creative = JSON.parse(JSON.stringify(mockData[0]));
|
||||||
show(){
|
|
||||||
visible.value = true;
|
creative.shelf = creative.shelves[0];
|
||||||
},
|
|
||||||
});
|
creative.ext__ = {};
|
||||||
|
|
||||||
|
const creationMock = reactive(creative);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<template #overlay>
|
<template #overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a href="javascript:;" @click="creationRef.show()">编辑</a>
|
<a href="javascript:;" @click="$router.push('/edit-creative')">编辑</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item>
|
<a-menu-item>
|
||||||
<a href="javascript:;" @click="renameCreationRef.show()">重命名</a>
|
<a href="javascript:;" @click="renameCreationRef.show()">重命名</a>
|
||||||
@@ -99,7 +99,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<RenameCreation ref="renameCreationRef" />
|
<RenameCreation ref="renameCreationRef" />
|
||||||
<Creation ref="creationRef" />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -110,10 +109,8 @@ import { computed, ref } from "@vue/runtime-core";
|
|||||||
import { Modal } from "ant-design-vue";
|
import { Modal } from "ant-design-vue";
|
||||||
import RenameCreation from "./components/RenameCreation.vue";
|
import RenameCreation from "./components/RenameCreation.vue";
|
||||||
import creationMock from "./creation.mock";
|
import creationMock from "./creation.mock";
|
||||||
import Creation from "./Creation.vue";
|
|
||||||
|
|
||||||
const renameCreationRef = ref();
|
const renameCreationRef = ref();
|
||||||
const creationRef = ref();
|
|
||||||
|
|
||||||
const search = () => {
|
const search = () => {
|
||||||
alert();
|
alert();
|
||||||
|
|||||||
21
src/views/Creative/components/CreationProperty.vue
Normal file
21
src/views/Creative/components/CreationProperty.vue
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<template>
|
||||||
|
<div style="height: 100%;">
|
||||||
|
环境设置
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
const { useRouter }=require("vue-router")
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
const back = () => {
|
||||||
|
router.back();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.back{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
62
src/views/Creative/components/CreationResource.vue
Normal file
62
src/views/Creative/components/CreationResource.vue
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<template>
|
||||||
|
<div style="height: 100%; display: flex; flex-direction: row;">
|
||||||
|
<div style="width: 70px; border-right: solid 1px #eee;">
|
||||||
|
<ul>
|
||||||
|
<li @click="viewType='envirionment'">
|
||||||
|
环境
|
||||||
|
</li>
|
||||||
|
<li @click="viewType='shelf'">
|
||||||
|
货架
|
||||||
|
</li>
|
||||||
|
<li @click="viewType='ware'">
|
||||||
|
商品
|
||||||
|
</li>
|
||||||
|
<li @click="viewType='element'">
|
||||||
|
元素
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div style="flex: 1;">
|
||||||
|
<div v-if="viewType=='envirionment'">
|
||||||
|
环境库
|
||||||
|
</div>
|
||||||
|
<div v-if="viewType=='shelf'">
|
||||||
|
货架库
|
||||||
|
</div>
|
||||||
|
<div v-if="viewType=='ware'">
|
||||||
|
商品库
|
||||||
|
</div>
|
||||||
|
<div v-if="viewType=='element'">
|
||||||
|
元素
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
const { ref }=require("@vue/reactivity");
|
||||||
|
const { useRouter }=require("vue-router")
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
const viewType = ref("envirionment");
|
||||||
|
|
||||||
|
const back = () => {
|
||||||
|
router.back();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.back{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul{
|
||||||
|
padding: 10px 0;
|
||||||
|
li{
|
||||||
|
line-height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
27
src/views/Creative/components/Header.vue
Normal file
27
src/views/Creative/components/Header.vue
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<template>
|
||||||
|
<div style="height: 70px; padding: 0 34px; line-height: 70px; border-bottom: solid 1px #eee;">
|
||||||
|
<span @click="back" class="back">
|
||||||
|
<i class="iconfont icon-xiangzuo-moren"></i>
|
||||||
|
<span>3D虚拟门店</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
const { useRouter }=require("vue-router")
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
const back = () => {
|
||||||
|
router.back();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.back{
|
||||||
|
cursor: pointer;
|
||||||
|
.icon-xiangzuo-moren {
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user