fix: 不能打包
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import type { MallCouponTemplateApi } from '#/api/mall/promotion/coupon/couponTe
|
|||||||
|
|
||||||
import { onMounted, ref, watch } from 'vue';
|
import { onMounted, ref, watch } from 'vue';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CouponDiscount,
|
CouponDiscount,
|
||||||
CouponDiscountDesc,
|
CouponDiscountDesc,
|
||||||
@@ -23,9 +21,7 @@ watch(
|
|||||||
() => props.property.couponIds,
|
() => props.property.couponIds,
|
||||||
async () => {
|
async () => {
|
||||||
if (props.property.couponIds?.length > 0) {
|
if (props.property.couponIds?.length > 0) {
|
||||||
couponList.value = await getCouponTemplateList(
|
couponList.value = await getCouponTemplateList(props.property.couponIds);
|
||||||
props.property.couponIds,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|||||||
@@ -122,8 +122,8 @@ watch(
|
|||||||
button {
|
button {
|
||||||
width: 6px;
|
width: 6px;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
border-radius: 6px;
|
|
||||||
background: #ff6000;
|
background: #ff6000;
|
||||||
|
border-radius: 6px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|||||||
@@ -6,13 +6,7 @@ import type { Rect } from '#/views/mall/promotion/components/magic-cube-editor/u
|
|||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
import {
|
import { FormItem, Input, Radio, RadioGroup, Slider } from 'ant-design-vue';
|
||||||
FormItem,
|
|
||||||
Input,
|
|
||||||
Radio,
|
|
||||||
RadioGroup,
|
|
||||||
Slider,
|
|
||||||
} from 'ant-design-vue';
|
|
||||||
|
|
||||||
import appNavBarMp from '#/assets/imgs/diy/app-nav-bar-mp.png';
|
import appNavBarMp from '#/assets/imgs/diy/app-nav-bar-mp.png';
|
||||||
import UploadImg from '#/components/upload/image-upload.vue';
|
import UploadImg from '#/components/upload/image-upload.vue';
|
||||||
@@ -86,7 +80,7 @@ const handleHotAreaSelected = (
|
|||||||
</div>
|
</div>
|
||||||
<template v-for="(cell, cellIndex) in cellList" :key="cellIndex">
|
<template v-for="(cell, cellIndex) in cellList" :key="cellIndex">
|
||||||
<template v-if="selectedHotAreaIndex === Number(cellIndex)">
|
<template v-if="selectedHotAreaIndex === Number(cellIndex)">
|
||||||
<FormItem :label="`类型`">
|
<FormItem label="类型">
|
||||||
<RadioGroup v-model:value="cell.type">
|
<RadioGroup v-model:value="cell.type">
|
||||||
<Radio value="text">文字</Radio>
|
<Radio value="text">文字</Radio>
|
||||||
<Radio value="image">图片</Radio>
|
<Radio value="image">图片</Radio>
|
||||||
@@ -95,19 +89,19 @@ const handleHotAreaSelected = (
|
|||||||
</FormItem>
|
</FormItem>
|
||||||
<!-- 1. 文字 -->
|
<!-- 1. 文字 -->
|
||||||
<template v-if="cell.type === 'text'">
|
<template v-if="cell.type === 'text'">
|
||||||
<FormItem :label="`内容`">
|
<FormItem label="内容">
|
||||||
<Input v-model:value="cell!.text" :maxlength="10" show-count />
|
<Input v-model:value="cell!.text" :maxlength="10" show-count />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem :label="`颜色`">
|
<FormItem label="颜色">
|
||||||
<ColorInput v-model="cell!.textColor" />
|
<ColorInput v-model="cell!.textColor" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem :label="`链接`">
|
<FormItem label="链接">
|
||||||
<AppLinkInput v-model="cell.url" />
|
<AppLinkInput v-model="cell.url" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</template>
|
</template>
|
||||||
<!-- 2. 图片 -->
|
<!-- 2. 图片 -->
|
||||||
<template v-else-if="cell.type === 'image'">
|
<template v-else-if="cell.type === 'image'">
|
||||||
<FormItem :label="`图片`">
|
<FormItem label="图片">
|
||||||
<UploadImg
|
<UploadImg
|
||||||
v-model="cell.imgUrl"
|
v-model="cell.imgUrl"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
@@ -118,21 +112,17 @@ const handleHotAreaSelected = (
|
|||||||
<template #tip>建议尺寸 56*56</template>
|
<template #tip>建议尺寸 56*56</template>
|
||||||
</UploadImg>
|
</UploadImg>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem :label="`链接`">
|
<FormItem label="链接">
|
||||||
<AppLinkInput v-model="cell.url" />
|
<AppLinkInput v-model="cell.url" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</template>
|
</template>
|
||||||
<!-- 3. 搜索框 -->
|
<!-- 3. 搜索框 -->
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<FormItem :label="`提示文字`">
|
<FormItem label="提示文字">
|
||||||
<Input v-model:value="cell.placeholder" :maxlength="10" show-count />
|
<Input v-model:value="cell.placeholder" :maxlength="10" show-count />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem :label="`圆角`">
|
<FormItem label="圆角">
|
||||||
<Slider
|
<Slider v-model:value="cell.borderRadius" :max="100" :min="0" />
|
||||||
v-model:value="cell.borderRadius"
|
|
||||||
:max="100"
|
|
||||||
:min="0"
|
|
||||||
/>
|
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
@@ -140,8 +130,3 @@ const handleHotAreaSelected = (
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ const props = defineProps<{ modelValue: NavigationBarProperty }>();
|
|||||||
const emit = defineEmits(['update:modelValue']);
|
const emit = defineEmits(['update:modelValue']);
|
||||||
|
|
||||||
// 表单校验
|
// 表单校验
|
||||||
const rules = {
|
const rules: Record<string, any> = {
|
||||||
name: [{ required: true, message: '请输入页面名称', trigger: 'blur' }],
|
name: [{ required: true, message: '请输入页面名称', trigger: 'blur' }],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
import type { PageConfigProperty } from './config';
|
import type { PageConfigProperty } from './config';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
|
|
||||||
import { Form, FormItem, Textarea } from 'ant-design-vue';
|
import { Form, FormItem, Textarea } from 'ant-design-vue';
|
||||||
|
|
||||||
import UploadImg from '#/components/upload/image-upload.vue';
|
import UploadImg from '#/components/upload/image-upload.vue';
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import type { ProductListProperty } from './config';
|
|||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Card,
|
Card,
|
||||||
Checkbox,
|
Checkbox,
|
||||||
@@ -34,7 +33,11 @@ const formData = useVModel(props, 'modelValue', emit);
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ComponentContainerProperty v-model="formData.style">
|
<ComponentContainerProperty v-model="formData.style">
|
||||||
<Form :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" :model="formData">
|
<Form
|
||||||
|
:label-col="{ span: 6 }"
|
||||||
|
:wrapper-col="{ span: 18 }"
|
||||||
|
:model="formData"
|
||||||
|
>
|
||||||
<Card title="商品列表" class="property-group" :bordered="false">
|
<Card title="商品列表" class="property-group" :bordered="false">
|
||||||
<!-- <SpuShowcase v-model="formData.spuIds" /> -->
|
<!-- <SpuShowcase v-model="formData.spuIds" /> -->
|
||||||
</Card>
|
</Card>
|
||||||
@@ -102,11 +105,7 @@ const formData = useVModel(props, 'modelValue', emit);
|
|||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="间隔" prop="space">
|
<FormItem label="间隔" prop="space">
|
||||||
<Slider
|
<Slider v-model:value="formData.space" :max="100" :min="0" />
|
||||||
v-model:value="formData.space"
|
|
||||||
:max="100"
|
|
||||||
:min="0"
|
|
||||||
/>
|
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import type { MallArticleApi } from '#/api/mall/promotion/article';
|
|||||||
|
|
||||||
import { ref, watch } from 'vue';
|
import { ref, watch } from 'vue';
|
||||||
|
|
||||||
|
import { getArticle } from '#/api/mall/promotion/article';
|
||||||
|
|
||||||
/** 营销文章 */
|
/** 营销文章 */
|
||||||
defineOptions({ name: 'PromotionArticle' });
|
defineOptions({ name: 'PromotionArticle' });
|
||||||
|
|||||||
@@ -6,10 +6,9 @@ import type { MallArticleApi } from '#/api/mall/promotion/article';
|
|||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
|
|
||||||
import { Form, FormItem, Select } from 'ant-design-vue';
|
import { Form, FormItem, Select } from 'ant-design-vue';
|
||||||
|
|
||||||
|
import { getArticlePage } from '#/api/mall/promotion/article';
|
||||||
|
|
||||||
import ComponentContainerProperty from '../../component-container-property.vue';
|
import ComponentContainerProperty from '../../component-container-property.vue';
|
||||||
|
|
||||||
@@ -44,7 +43,11 @@ onMounted(() => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ComponentContainerProperty v-model="formData.style">
|
<ComponentContainerProperty v-model="formData.style">
|
||||||
<Form :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" :model="formData">
|
<Form
|
||||||
|
:label-col="{ span: 6 }"
|
||||||
|
:wrapper-col="{ span: 18 }"
|
||||||
|
:model="formData"
|
||||||
|
>
|
||||||
<FormItem label="文章" prop="id">
|
<FormItem label="文章" prop="id">
|
||||||
<Select
|
<Select
|
||||||
v-model:value="formData.id"
|
v-model:value="formData.id"
|
||||||
@@ -52,7 +55,9 @@ onMounted(() => {
|
|||||||
class="w-full"
|
class="w-full"
|
||||||
filterable
|
filterable
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:options="articles.map((item) => ({ label: item.title, value: item.id }))"
|
:options="
|
||||||
|
articles.map((item) => ({ label: item.title, value: item.id }))
|
||||||
|
"
|
||||||
@search="queryArticleList"
|
@search="queryArticleList"
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { fenToYuan } from '@vben/utils';
|
|||||||
import { Image } from 'ant-design-vue';
|
import { Image } from 'ant-design-vue';
|
||||||
|
|
||||||
import { getSpuDetailList } from '#/api/mall/product/spu';
|
import { getSpuDetailList } from '#/api/mall/product/spu';
|
||||||
import { getCombinationActivityListByIds, getCombinationActivityPage } from '#/api/mall/promotion/combination/combinationActivity';
|
import { getCombinationActivityListByIds } from '#/api/mall/promotion/combination/combinationActivity';
|
||||||
|
|
||||||
/** 拼团卡片 */
|
/** 拼团卡片 */
|
||||||
defineOptions({ name: 'PromotionCombination' });
|
defineOptions({ name: 'PromotionCombination' });
|
||||||
@@ -34,9 +34,7 @@ watch(
|
|||||||
if (Array.isArray(activityIds) && activityIds.length > 0) {
|
if (Array.isArray(activityIds) && activityIds.length > 0) {
|
||||||
// 获取拼团活动详情列表
|
// 获取拼团活动详情列表
|
||||||
combinationActivityList.value =
|
combinationActivityList.value =
|
||||||
await getCombinationActivityListByIds(
|
await getCombinationActivityListByIds(activityIds);
|
||||||
activityIds,
|
|
||||||
);
|
|
||||||
|
|
||||||
// 获取拼团活动的 SPU 详情列表
|
// 获取拼团活动的 SPU 详情列表
|
||||||
spuList.value = [];
|
spuList.value = [];
|
||||||
|
|||||||
@@ -9,14 +9,12 @@ import { CommonStatusEnum } from '@vben/constants';
|
|||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Card,
|
Card,
|
||||||
Checkbox,
|
Checkbox,
|
||||||
Form,
|
Form,
|
||||||
FormItem,
|
FormItem,
|
||||||
Input,
|
Input,
|
||||||
Radio,
|
|
||||||
RadioButton,
|
RadioButton,
|
||||||
RadioGroup,
|
RadioGroup,
|
||||||
Slider,
|
Slider,
|
||||||
@@ -24,9 +22,9 @@ import {
|
|||||||
Tooltip,
|
Tooltip,
|
||||||
} from 'ant-design-vue';
|
} from 'ant-design-vue';
|
||||||
|
|
||||||
import { getCombinationActivityListByIds, getCombinationActivityPage } from '#/api/mall/promotion/combination/combinationActivity';
|
import { getCombinationActivityPage } from '#/api/mall/promotion/combination/combinationActivity';
|
||||||
import UploadImg from '#/components/upload/image-upload.vue';
|
import UploadImg from '#/components/upload/image-upload.vue';
|
||||||
import CombinationShowcase from '#/views/mall/promotion/combination/components/combination-showcase.vue';
|
// import CombinationShowcase from '#/views/mall/promotion/combination/components/combination-showcase.vue';
|
||||||
import { ColorInput } from '#/views/mall/promotion/components';
|
import { ColorInput } from '#/views/mall/promotion/components';
|
||||||
|
|
||||||
// 拼团属性面板
|
// 拼团属性面板
|
||||||
@@ -49,7 +47,11 @@ onMounted(async () => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<ComponentContainerProperty v-model="formData.style">
|
<ComponentContainerProperty v-model="formData.style">
|
||||||
<Form :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" :model="formData">
|
<Form
|
||||||
|
:label-col="{ span: 6 }"
|
||||||
|
:wrapper-col="{ span: 18 }"
|
||||||
|
:model="formData"
|
||||||
|
>
|
||||||
<Card title="拼团活动" class="property-group" :bordered="false">
|
<Card title="拼团活动" class="property-group" :bordered="false">
|
||||||
<CombinationShowcase v-model="formData.activityIds" />
|
<CombinationShowcase v-model="formData.activityIds" />
|
||||||
</Card>
|
</Card>
|
||||||
@@ -167,11 +169,7 @@ onMounted(async () => {
|
|||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="间隔" prop="space">
|
<FormItem label="间隔" prop="space">
|
||||||
<Slider
|
<Slider v-model:value="formData.space" :max="100" :min="0" />
|
||||||
v-model:value="formData.space"
|
|
||||||
:max="100"
|
|
||||||
:min="0"
|
|
||||||
/>
|
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Card>
|
</Card>
|
||||||
</Form>
|
</Form>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { fenToYuan } from '@vben/utils';
|
|||||||
import { Image } from 'ant-design-vue';
|
import { Image } from 'ant-design-vue';
|
||||||
|
|
||||||
import { getSpuDetailList } from '#/api/mall/product/spu';
|
import { getSpuDetailList } from '#/api/mall/product/spu';
|
||||||
|
import { getPointActivityListByIds } from '#/api/mall/promotion/point';
|
||||||
|
|
||||||
/** 积分商城卡片 */
|
/** 积分商城卡片 */
|
||||||
defineOptions({ name: 'PromotionPoint' });
|
defineOptions({ name: 'PromotionPoint' });
|
||||||
@@ -30,8 +30,7 @@ watch(
|
|||||||
// 检查活动ID的有效性
|
// 检查活动ID的有效性
|
||||||
if (Array.isArray(activityIds) && activityIds.length > 0) {
|
if (Array.isArray(activityIds) && activityIds.length > 0) {
|
||||||
// 获取积分商城活动详情列表
|
// 获取积分商城活动详情列表
|
||||||
pointActivityList.value =
|
pointActivityList.value = await getPointActivityListByIds(activityIds);
|
||||||
await getPointActivityListByIds(activityIds);
|
|
||||||
|
|
||||||
// 获取积分商城活动的 SPU 详情列表
|
// 获取积分商城活动的 SPU 详情列表
|
||||||
spuList.value = [];
|
spuList.value = [];
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script lang="ts" setup>
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import type { TabBarProperty } from './config';
|
|||||||
import { IconifyIcon } from '@vben/icons';
|
import { IconifyIcon } from '@vben/icons';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Form,
|
Form,
|
||||||
FormItem,
|
FormItem,
|
||||||
@@ -45,7 +44,11 @@ const handleThemeChange = () => {
|
|||||||
<template>
|
<template>
|
||||||
<div class="tab-bar">
|
<div class="tab-bar">
|
||||||
<!-- 表单 -->
|
<!-- 表单 -->
|
||||||
<Form :model="formData" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
<Form
|
||||||
|
:model="formData"
|
||||||
|
:label-col="{ span: 6 }"
|
||||||
|
:wrapper-col="{ span: 18 }"
|
||||||
|
>
|
||||||
<FormItem label="主题" name="theme">
|
<FormItem label="主题" name="theme">
|
||||||
<Select v-model:value="formData!.theme" @change="handleThemeChange">
|
<Select v-model:value="formData!.theme" @change="handleThemeChange">
|
||||||
<SelectOption
|
<SelectOption
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { Page } from '@vben/common-ui';
|
||||||
|
</script>
|
||||||
|
<template><Page>待完成</Page></template>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
import type { VideoPlayerProperty } from './config';
|
import type { VideoPlayerProperty } from './config';
|
||||||
|
|
||||||
import { useVModel } from '@vueuse/core';
|
import { useVModel } from '@vueuse/core';
|
||||||
|
|
||||||
import { Form, FormItem, Slider, Switch } from 'ant-design-vue';
|
import { Form, FormItem, Slider, Switch } from 'ant-design-vue';
|
||||||
|
|
||||||
import UploadFile from '#/components/upload/file-upload.vue';
|
import UploadFile from '#/components/upload/file-upload.vue';
|
||||||
@@ -25,7 +24,11 @@ const formData = useVModel(props, 'modelValue', emit);
|
|||||||
<Slider v-model:value="formData.style.height" :max="500" :min="100" />
|
<Slider v-model:value="formData.style.height" :max="500" :min="100" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</template>
|
</template>
|
||||||
<Form :model="formData" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
<Form
|
||||||
|
:model="formData"
|
||||||
|
:label-col="{ span: 6 }"
|
||||||
|
:wrapper-col="{ span: 18 }"
|
||||||
|
>
|
||||||
<FormItem label="上传视频" name="videoUrl">
|
<FormItem label="上传视频" name="videoUrl">
|
||||||
<UploadFile
|
<UploadFile
|
||||||
v-model="formData.videoUrl"
|
v-model="formData.videoUrl"
|
||||||
|
|||||||
@@ -608,12 +608,12 @@ $phone-width: 375px;
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
:deep(.ant-tag) {
|
:deep(.ant-tag) {
|
||||||
border: none;
|
|
||||||
box-shadow: 0 2px 8px 0 rgb(0 0 0 / 10%);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
border: none;
|
||||||
|
box-shadow: 0 2px 8px 0 rgb(0 0 0 / 10%);
|
||||||
|
|
||||||
.anticon {
|
.anticon {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ defineExpose({ setRuleCoupon });
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Form :model="rule">
|
<Form :model="rule">
|
||||||
<FormItem label="优惠门槛:" label-col="{ span: 4 }">
|
<FormItem label="优惠门槛:" :label-col="{ span: 4 }">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<span>满</span>
|
<span>满</span>
|
||||||
<InputNumber
|
<InputNumber
|
||||||
@@ -118,7 +118,7 @@ defineExpose({ setRuleCoupon });
|
|||||||
</div>
|
</div>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<FormItem label="优惠内容:" label-col="{ span: 4 }">
|
<FormItem label="优惠内容:" :label-col="{ span: 4 }">
|
||||||
<div class="flex flex-col gap-4">
|
<div class="flex flex-col gap-4">
|
||||||
<!-- 订单金额优惠 -->
|
<!-- 订单金额优惠 -->
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
|
|||||||
Reference in New Issue
Block a user