fix: 验证字段
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="previewerRef.show()">预览</a>
|
||||
<a href="javascript:;" @click="previewerCreationRef.show()">预览</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="renameMeterialRef.show(row)">重命名</a>
|
||||
@@ -62,7 +62,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Previewer ref="previewerRef" />
|
||||
<PreviewerCreation ref="previewerCreationRef" />
|
||||
<RenameMeterial ref="renameMeterialRef" @complete="query" />
|
||||
<CreateMaterial ref="createMaterialRef" @complete="query" />
|
||||
</div>
|
||||
@@ -74,13 +74,13 @@
|
||||
import { SearchOutlined, PlusOutlined } from "@ant-design/icons-vue"
|
||||
import { computed, ref, watch } from "@vue/runtime-core";
|
||||
import { Modal } from "ant-design-vue";
|
||||
import Previewer from "./components/Previewer.vue";
|
||||
import PreviewerCreation from "./components/PreviewerCreation/Index.vue";
|
||||
import RenameMeterial from "./components/RenameMeterial.vue";
|
||||
import CreateMaterial from "./components/CreateMaterial.vue";
|
||||
import { THREE_D_TYPE, THREE_D_TYPE_S } from "./components/CreateMaterial.constant";
|
||||
import { getMaterialLibrary, delMaterialLibrary } from "./api";
|
||||
|
||||
const previewerRef = ref();
|
||||
const previewerCreationRef = ref();
|
||||
const renameMeterialRef = ref();
|
||||
const createMaterialRef = ref();
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="choose-marerial">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" :class="current.includes(item) ? 'selected' : ''" @click="toggle(item)">
|
||||
<div class="cover">
|
||||
<img :src="item.material_json?.urlThumb" alt="">
|
||||
<img v-if="item.cover" :src="item.cover" alt="">
|
||||
</div>
|
||||
<div class="title">
|
||||
{{item.title}}
|
||||
@@ -59,8 +59,10 @@ onMounted(async () => {
|
||||
.cover{
|
||||
width: 100%;
|
||||
height: 120px;
|
||||
overflow: hidden;
|
||||
img{
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.title{
|
||||
@@ -69,7 +71,7 @@ onMounted(async () => {
|
||||
}
|
||||
}
|
||||
.selected{
|
||||
outline: solid 1px green;
|
||||
border: solid 1px green;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -99,10 +99,12 @@ const factorys = [
|
||||
const data = origin.data;
|
||||
var key = new Date().getTime();
|
||||
|
||||
origin = {
|
||||
imgs: data.data.fileList.map(x => ({name: x.name, url: x.response.url}))
|
||||
origin.data = {
|
||||
imgs: data.fileList.map(x => ({name: x.name, url: x.response.url}))
|
||||
};
|
||||
|
||||
origin.cover = data.fileList[0].response.url;
|
||||
|
||||
return origin;
|
||||
}
|
||||
},
|
||||
|
||||
@@ -64,6 +64,7 @@ import ChooseMarerial from "./ChooseMarerial.vue"
|
||||
const { ref, reactive }=require("@vue/reactivity");
|
||||
import common from "@/api/common.js";
|
||||
import { createMaterialCenter } from "../api";
|
||||
import { message } from 'ant-design-vue';
|
||||
|
||||
const emit = defineEmits(["complete"]);
|
||||
|
||||
@@ -113,7 +114,35 @@ const show = (type) => {
|
||||
}
|
||||
|
||||
const ok = async () => {
|
||||
if(step.value == 0) {
|
||||
if(!formData.value.title) {
|
||||
message.warning("请输入素材名称")
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(formData.value.type == CREATIVE_TYPE.THREE_D) {
|
||||
if(step.value == 1) {
|
||||
if(formData.value.data.panorama.length <= 0) {
|
||||
message.warning("请请选择一个场景")
|
||||
return;
|
||||
}
|
||||
if(formData.value.data.panorama.length > 1) {
|
||||
message.warning("请请选择一个场景")
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(step.value == 2) {
|
||||
if(formData.value.data.shelves.length <= 0) {
|
||||
message.warning("请请选择货架")
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(step.value == 3) {
|
||||
if(formData.value.data.wares.length <= 0) {
|
||||
message.warning("请请选择商品")
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(step.value >= 3) {
|
||||
const data = JSON.parse(JSON.stringify(formData.value));
|
||||
await createMaterialCenter(buildData(data));
|
||||
@@ -121,8 +150,12 @@ const ok = async () => {
|
||||
emit("complete");
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(formData.value.type == CREATIVE_TYPE.RING_360) {
|
||||
if(step.value >= 1) {
|
||||
if(formData.value.data.fileList.length <= 0) {
|
||||
message.warning("请上传3D环物资源")
|
||||
return;
|
||||
}
|
||||
const data = JSON.parse(JSON.stringify(formData.value));
|
||||
await createMaterialCenter(buildData(data));
|
||||
visible.value = false;
|
||||
@@ -156,8 +189,8 @@ defineExpose({
|
||||
position: relative;
|
||||
font-size: 40px;
|
||||
img{
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.del{
|
||||
color: red;
|
||||
|
||||
@@ -145,6 +145,21 @@ const onCustomRequest = async (upload) => {
|
||||
}
|
||||
|
||||
const ok = async () => {
|
||||
|
||||
if(step.value == 0) {
|
||||
if(!formData.value.title) {
|
||||
message.warning("请输入素材名称")
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(step.value == 1) {
|
||||
if(formData.value.fileList.length <= 0) {
|
||||
message.warning("请上传资源文件")
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(step.value >= 1) {
|
||||
|
||||
if([THREE_D_TYPE.ENV_3D, THREE_D_TYPE.SHELF, THREE_D_TYPE.EXHIBITION_BOOTH, THREE_D_TYPE.WARE].includes(formData.value.type)){
|
||||
|
||||
Reference in New Issue
Block a user