更新
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import uploadImage from '@/components/UploadImage/index.vue';
|
||||
import { queryClassifyList } from '@/api/modules/decorate';
|
||||
import uploadImage from "@/components/UploadImage/index.vue";
|
||||
import { queryClassifyList } from "@/api/modules/decorate";
|
||||
const ruleFormRef = ref();
|
||||
const formRules = ref({
|
||||
title: [{ required: true, message: "请输入道具标题", trigger: "change" }],
|
||||
@@ -10,10 +10,12 @@ const formRules = ref({
|
||||
type: [{ required: true, message: "请选择道具类型", trigger: "change" }],
|
||||
show_status: [{ required: true, message: "请选择状态", trigger: "change" }],
|
||||
is_buy: [{ required: true, message: "请选择状态", trigger: "change" }],
|
||||
base_image: [{ required: true, message: "请上传道具展示图片", trigger: "change" }],
|
||||
file_type: [{ required: true, message: "请选择道具类型", trigger: "change" }],
|
||||
base_image: [
|
||||
{ required: true, message: "请上传道具展示图片", trigger: "change" }
|
||||
],
|
||||
file_type: [{ required: true, message: "请选择道具类型", trigger: "change" }]
|
||||
});
|
||||
const typeList = ref([])
|
||||
const typeList = ref([]);
|
||||
const props = defineProps(["formInline"]);
|
||||
const newFormInline = ref(
|
||||
props.formInline
|
||||
@@ -32,43 +34,42 @@ const newFormInline = ref(
|
||||
}
|
||||
);
|
||||
function handleFileSuccess(list) {
|
||||
newFormInline.value.base_image = list.join(',')
|
||||
newFormInline.value.base_image = list.join(",");
|
||||
}
|
||||
function getRef() {
|
||||
return ruleFormRef.value;
|
||||
}
|
||||
const getTypeList = async () => {
|
||||
const { data, code } = await queryClassifyList()
|
||||
typeList.value = code ? data : []
|
||||
}
|
||||
const { data, code } = await queryClassifyList();
|
||||
typeList.value = code ? data : [];
|
||||
};
|
||||
function handlePlayFile(list) {
|
||||
newFormInline.value.play_image = list.join(',')
|
||||
newFormInline.value.play_image = list.join(",");
|
||||
}
|
||||
function handlePlayFileSuccess(list) {
|
||||
newFormInline.value.play_image = list.join(',')
|
||||
newFormInline.value.play_image = list.join(",");
|
||||
}
|
||||
onMounted(() => {
|
||||
getTypeList()
|
||||
})
|
||||
getTypeList();
|
||||
});
|
||||
defineExpose({ getRef });
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-form ref="ruleFormRef" :model="newFormInline" :rules="formRules" label-width="120px">
|
||||
<el-form-item label="道具标题" prop="title">
|
||||
<el-input v-model="newFormInline.title" placeholder="请输入道具标题"></el-input>
|
||||
<el-input v-model="newFormInline.title" placeholder="请输入道具标题" />
|
||||
</el-form-item>
|
||||
<el-form-item label="道具靓号" prop="special_num">
|
||||
<el-input v-model="newFormInline.special_num" placeholder="请输入靓号"></el-input>
|
||||
<el-input v-model="newFormInline.special_num" placeholder="请输入靓号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="道具类型" prop="type">
|
||||
<el-select v-model="newFormInline.type" placeholder="请选择道具类型">
|
||||
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="newFormInline.type === 12" label="降身比例" prop="ext_value">
|
||||
<el-input-number v-model="newFormInline.ext_value" :min="0"></el-input-number>
|
||||
<el-input-number v-model="newFormInline.ext_value" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否显示" prop="show_status">
|
||||
<el-radio-group v-model="newFormInline.show_status">
|
||||
@@ -82,11 +83,11 @@ defineExpose({ getRef });
|
||||
<el-radio :label="2">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="newFormInline.is_buy === 1 && newFormInline.type === 12" label="购买价格" prop="price">
|
||||
<el-input-number v-model="newFormInline.price" :min="0"></el-input-number>
|
||||
<el-form-item v-if="newFormInline.is_buy === 1 && [12, 13].includes(newFormInline.type)" label="购买价格" prop="price">
|
||||
<el-input-number v-model="newFormInline.price" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="展示图片" prop="base_image">
|
||||
<uploadImage @handleSuccess="handleFileSuccess" :limit="1" :echoUrl="newFormInline.base_image" />
|
||||
<uploadImage :limit="1" :echoUrl="newFormInline.base_image" @handleSuccess="handleFileSuccess" />
|
||||
</el-form-item>
|
||||
<template v-if="[1, 2, 3].includes(newFormInline.type)">
|
||||
<el-form-item label="上传类型" prop="file_type">
|
||||
@@ -96,16 +97,19 @@ defineExpose({ getRef });
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="播放图像" prop="play_image">
|
||||
<uploadImage @handleSuccess="handlePlayFile"
|
||||
:acceptType="newFormInline.file_type === 1 ? '.svg,.svga' : newFormInline.file_type === 2 ? '.mp4' : ''"
|
||||
:limit="1" :echoUrl="newFormInline.play_image" />
|
||||
<uploadImage :acceptType="newFormInline.file_type === 1
|
||||
? '.svg,.svga'
|
||||
: newFormInline.file_type === 2
|
||||
? '.mp4'
|
||||
: ''
|
||||
" :limit="1" :echoUrl="newFormInline.play_image" @handleSuccess="handlePlayFile" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<template v-if="[10, 11].includes(newFormInline.type)">
|
||||
<el-form-item label="播放图像" prop="play_image">
|
||||
<uploadImage @handleSuccess="handlePlayFileSuccess" :acceptType="'.mp4'" :limit="1"
|
||||
:echoUrl="newFormInline.play_image" />
|
||||
<uploadImage :acceptType="'.mp4'" :limit="1" :echoUrl="newFormInline.play_image"
|
||||
@handleSuccess="handlePlayFileSuccess" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-form>
|
||||
|
||||
Reference in New Issue
Block a user