wms-antdvue/.svn/pristine/2a/2a76d200422b1a2d703b686a4a0341c13ddf3664.svn-base
2024-11-07 16:33:03 +08:00

166 lines
5.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div>
<div class="n-layout-page-header">
<a-card :bordered="false" title="拖拽"> 常用于卡片,事项,预约,流程,计划等 </a-card>
</div>
<a-alert message="花式拖拽演示" type="info" class="mt-4">
<template #description>
每个卡片都可以上下拖拽顺序另外不同卡片也可以拖拽过去拖拽过来都不在话下呢快试试O(∩_∩)O哈哈~
</template>
</a-alert>
<a-row :gutter="[16, 16]" class="mt-4 proCard">
<a-col>
<a-card
title="需求池"
:segmented="{ content: 'hard', footer: 'hard' }"
size="small"
:bordered="false"
>
<template #header-extra>
<a-tag type="info">月</a-tag>
</template>
<Draggable
class="draggable-ul"
animation="300"
:list="demandList"
group="people"
itemKey="name"
>
<template #item="{ element }">
<div class="cursor-move draggable-li">
<a-tag color="#2db7f5">需求</a-tag><span class="ml-2">{{ element.name }}</span>
</div>
</template>
</Draggable>
<a-empty :image="simpleImage" v-if="!demandList.length" class="mx-16" />
</a-card>
</a-col>
<a-col>
<a-card
title="开发中"
:segmented="{ content: 'hard', footer: 'hard' }"
size="small"
:bordered="false"
>
<template #header-extra>
<a-tag type="info">月</a-tag>
</template>
<Draggable
class="draggable-ul"
animation="300"
:list="exploitList"
group="people"
itemKey="name"
>
<template #item="{ element }">
<div class="cursor-move draggable-li">
<a-tag color="orange">开发中</a-tag><span class="ml-2">{{ element.name }}</span>
</div>
</template>
</Draggable>
<a-empty :image="simpleImage" v-if="!exploitList.length" class="mx-16" />
</a-card>
</a-col>
<a-col>
<a-card
title="已完成"
:segmented="{ content: 'hard', footer: 'hard' }"
size="small"
:bordered="false"
>
<template #header-extra>
<a-tag type="info">月</a-tag>
</template>
<Draggable
class="draggable-ul"
animation="300"
:list="completeList"
group="people"
itemKey="name"
>
<template #item="{ element }">
<div class="cursor-move draggable-li">
<a-tag color="green">已完成</a-tag><span class="ml-2">{{ element.name }}</span>
</div>
</template>
</Draggable>
<a-empty :image="simpleImage" v-if="!completeList.length" class="mx-16" />
</a-card>
</a-col>
<a-col>
<a-card
title="已验收"
:segmented="{ content: 'hard', footer: 'hard' }"
size="small"
:bordered="false"
>
<template #header-extra>
<a-tag type="info">月</a-tag>
</template>
<Draggable
class="draggable-ul"
animation="300"
:list="approvedList"
group="people"
itemKey="name"
>
<template #item="{ element }">
<div class="cursor-move draggable-li">
<a-tag color="#87d068">已验收</a-tag><span class="ml-2">{{ element.name }}</span>
</div>
</template>
</Draggable>
<a-empty :image="simpleImage" v-if="!approvedList.length" class="mx-16" />
</a-card>
</a-col>
</a-row>
</div>
</template>
<script lang="ts" setup>
import { reactive } from 'vue';
import Draggable from 'vuedraggable';
import { Empty } from 'ant-design-vue';
const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
const demandList = reactive([
{ name: '预约表单页面,能填写预约相关信息', id: 1 },
{ name: '促销活动页面,包含促销广告展示', id: 2 },
{ name: '商品列表,需要一个到货提醒功能', id: 3 },
{ name: '商品需要一个评价功能', id: 4 },
{ name: '商品图片需要提供放大镜', id: 5 },
{ name: '订单需要提供删除到回收站', id: 6 },
{ name: '用户头像上传,需要支持裁剪', id: 7 },
{ name: '据说Vue3.2发布了setup啥时候支持', id: 8 },
]);
const exploitList = reactive([{ name: '商品图片需要提供放大镜', id: 5 }]);
const completeList = reactive([{ name: '商品图片需要提供放大镜', id: 5 }]);
const approvedList = reactive([{ name: '商品图片需要提供放大镜', id: 5 }]);
</script>
<style lang="less" scoped>
.draggable-ul {
width: 100%;
min-height: 40px;
overflow: hidden;
margin-top: -16px;
.draggable-li {
width: 100%;
padding: 16px 10px;
border-bottom: 1px solid var(--border-color);
}
}
</style>