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