diff --git a/src/packages/components/Informations/Mores/Carousel/config.ts b/src/packages/components/Informations/Mores/Carousel/config.ts deleted file mode 100644 index 78a6f284..00000000 --- a/src/packages/components/Informations/Mores/Carousel/config.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { PublicConfigClass } from '@/packages/public' -import { CreateComponentType } from '@/packages/index.d' -import { CarouselConfig } from './index' -import cloneDeep from 'lodash/cloneDeep' -import logo from '@/assets/logo.png' - -// 示例图片资源 -const modules = import.meta.globEager("./images/*"); -const dataset = [logo] -for (var item in modules) { - dataset.push(modules[item].default) -} - -export const option = { - // 图片资源列表 - dataset: dataset, - // 自动播放 - autoplay: true, - // 自动播放的间隔(ms) - interval: 5000, - // 每页显示的图片数量 - slidesPerview: 1, - // 轮播方向 - direction: "horizontal", - // 拖曳切换 - draggable: true, - // 居中显示 - centeredSlides: false, - // 过渡效果 - effect: "slide", - // 是否显示指示点 - showDots: true, - // 指示器样式 - dotType: "dot", - // 指示器位置 - dotPlacement: "bottom", - // 显示箭头 - showArrow: false, - // 图片样式 - fit: "contain", -} - -export default class Config extends PublicConfigClass implements CreateComponentType { - public key = CarouselConfig.key - public chartConfig = cloneDeep(CarouselConfig) - public option = cloneDeep(option) -} diff --git a/src/packages/components/Informations/Mores/Carousel/config.vue b/src/packages/components/Informations/Mores/Carousel/config.vue deleted file mode 100644 index da3f7492..00000000 --- a/src/packages/components/Informations/Mores/Carousel/config.vue +++ /dev/null @@ -1,176 +0,0 @@ -<template> - <collapse-item name="属性" :expanded="true"> - <setting-item-box name="路径" :alone="true"> - <setting-item v-for="item, index in optionData.dataset" :key="index"> - <n-input-group> - <n-input v-model:value="optionData.dataset[index]" size="small" placeholder="请输入图片地址"></n-input> - <n-button ghost @click="optionData.dataset.splice(index, 1)"> - - - </n-button> - </n-input-group> - </setting-item> - <setting-item> - <n-button size="small" @click="optionData.dataset.push('')"> - + - </n-button> - </setting-item> - </setting-item-box> - <setting-item-box name="播放器"> - <setting-item> - <n-space> - <n-switch v-model:value="optionData.autoplay" size="small" /> - <n-text>自动播放</n-text> - </n-space> - </setting-item> - <!-- 开启自动播放时,设置间隔时间 --> - <setting-item name="间隔时间"> - <n-input-number v-model:value="optionData.interval" size="small" placeholder=""></n-input-number> - </setting-item> - <setting-item name="轮播方向"> - <n-select v-model:value="optionData.direction" :options="directions" placeholder="选择方向" /> - </setting-item> - <setting-item name="过渡效果"> - <n-select v-model:value="optionData.effect" :options="effects" placeholder="效果" /> - </setting-item> - <setting-item name="每页数量"> - <n-input-number v-model:value="optionData.slidesPerview" size="small" placeholder=""></n-input-number> - </setting-item> - <setting-item> - <n-space> - <n-switch v-model:value="optionData.centeredSlides" size="small" /> - <n-text>居中显示</n-text> - </n-space> - </setting-item> - <setting-item name="图片样式"> - <n-select v-model:value="optionData.fit" :options="fitList" placeholder="样式" /> - </setting-item> - </setting-item-box> - - <setting-item-box name="指示器"> - <setting-item name="样式"> - <n-select v-model:value="optionData.dotType" :options="dotTypes" placeholder="选择样式" /> - </setting-item> - <setting-item name="位置"> - <n-select v-model:value="optionData.dotPlacement" :options="dotPlacements" placeholder="选择位置" /> - </setting-item> - <setting-item> - <n-space> - <n-switch v-model:value="optionData.showDots" size="small" /> - <n-text>显示</n-text> - </n-space> - </setting-item> - <setting-item> - <n-space> - <n-switch v-model:value="optionData.showArrow" size="small" /> - <n-text>箭头</n-text> - </n-space> - </setting-item> - <setting-item> - <n-space> - <n-switch v-model:value="optionData.draggable" size="small" /> - <n-text>拖曳切换</n-text> - </n-space> - </setting-item> - </setting-item-box> - - </collapse-item> -</template> - -<script setup lang="ts"> -import { PropType } from 'vue' -import { option } from './config' -import { - CollapseItem, - SettingItemBox, - SettingItem -} from '@/components/Pages/ChartItemSetting' - -const props = defineProps({ - optionData: { - type: Object as PropType<typeof option>, - required: true - } -}) - -// 字典 -const dotTypes = [ - { - label: "点", - value: "dot" - }, - { - label: "线", - value: "line" - } -] -const directions = [ - { - label: "水平方向", - value: "horizontal" - }, - { - label: "垂直方向", - value: "vertical" - } -] -const effects = [ - { - label: "slide", - value: "slide" - }, - { - label: "fade", - value: "fade" - }, - { - label: "card", - value: "card" - }, - { - label: "custom", - value: "custom" - } -] -const dotPlacements = [ - { - label: "上边", - value: "top" - }, - { - label: "下边", - value: "bottom" - }, - { - label: "左边", - value: "left" - }, - { - label: "右边", - value: "right" - } -] - -// 适应类型 -const fitList = [ - { - value: 'fill', - label: 'fill' - }, - { - value: 'contain', - label: 'contain' - }, - { - value: 'cover', - label: 'cover' - }, - { - value: 'scale-down', - label: 'scale-down' - }, - { - value: 'none', - label: 'none' - }, -] -</script> diff --git a/src/packages/components/Informations/Mores/Carousel/images/carousel.png b/src/packages/components/Informations/Mores/Carousel/images/carousel.png deleted file mode 100644 index 95f366b1..00000000 Binary files a/src/packages/components/Informations/Mores/Carousel/images/carousel.png and /dev/null differ diff --git a/src/packages/components/Informations/Mores/Carousel/images/carousel2.png b/src/packages/components/Informations/Mores/Carousel/images/carousel2.png deleted file mode 100644 index d8a6859f..00000000 Binary files a/src/packages/components/Informations/Mores/Carousel/images/carousel2.png and /dev/null differ diff --git a/src/packages/components/Informations/Mores/Carousel/index.ts b/src/packages/components/Informations/Mores/Carousel/index.ts deleted file mode 100644 index fbb8d35c..00000000 --- a/src/packages/components/Informations/Mores/Carousel/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d' -import { ChatCategoryEnum,ChatCategoryEnumName } from '../../index.d' - -export const CarouselConfig: ConfigType = { - key: 'Carousel', - chartKey: 'VCarousel', - conKey: 'VCCarousel', - title: '轮播图', - category: ChatCategoryEnum.MORE, - categoryName: ChatCategoryEnumName.MORE, - package: PackagesCategoryEnum.INFORMATIONS, - chartFrame: ChartFrameEnum.NAIVE_UI, - image: 'photo.png' -} diff --git a/src/packages/components/Informations/Mores/Carousel/index.vue b/src/packages/components/Informations/Mores/Carousel/index.vue deleted file mode 100644 index 3018fbc2..00000000 --- a/src/packages/components/Informations/Mores/Carousel/index.vue +++ /dev/null @@ -1,47 +0,0 @@ -<template> - <div> - <n-carousel :autoplay="autoplay" :interval="interval" :centered-slides="centeredSlides" :direction="direction" - :dot-placement="dotPlacement" :dot-type="dotType" :draggable="draggable" :effect="effect" - :slides-per-view="slidesPerview" :show-arrow="showArrow" :show-dots="showDots"> - <n-image v-for="url in option.dataset" :object-fit="fit" preview-disabled :src="url" - :fallback-src="requireErrorImg()" :width="w" :height="h"></n-image> - </n-carousel> - </div> -</template> -<script setup lang="ts"> -import { PropType, toRefs, shallowReactive, watch } from 'vue' -import { CreateComponentType } from '@/packages/index.d' -import { requireErrorImg } from '@/utils' -import { useChartDataFetch } from '@/hooks' -import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' -import { option as configOption } from './config' - -const props = defineProps({ - chartConfig: { - type: Object as PropType<CreateComponentType>, - required: true - } -}) - -const option = shallowReactive({ - dataset: configOption.dataset -}) - -const { w, h } = toRefs(props.chartConfig.attr) -const { autoplay, interval, slidesPerview, direction, draggable, centeredSlides, effect, dotType, dotPlacement, showArrow, showDots, fit } = toRefs(props.chartConfig.option) - -watch( - () => props.chartConfig.option.dataset, - (newData: any) => { - option.dataset = newData - }, - { - immediate: true, - deep: false - } -) - -useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { - option.dataset = newData -}) -</script>