胡思旗
2023-08-29 b80ee8c883f279e843071e6b53ab9cddec3f88a0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!--
 * @Author: 胡思旗 931347610@qq.com
 * @Date: 2023-08-28 15:23:47
 * @LastEditors: 胡思旗 931347610@qq.com
 * @LastEditTime: 2023-08-28 16:19:49
 * @FilePath: \Cloud-API-Demo-Web\src\pages\page-web\projects\project_list\list_page.vue\components\ProjectList.vue
 * @Description:项目列表组件
 *
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
-->
<template>
    <div class="project-box flex-display flex-align-center">
        <div class="project-card" v-for="item in cardList" :key="item.id">
            <div class="project-left">
                <div class="head mb10 flex-display flex-align-center flex-justify-between">
                    <div class="head-left flex-display flex-align-center">
                        <a-tag color="#87d068">进行中</a-tag>
                        <span class="head-text">5</span>
                    </div>
                    <div class="head-right">
                        <a-dropdown>
                            <dash-outlined />
                            <template #overlay>
                                <a-menu>
                                    <a-menu-item>
                                        <a href="javascript:;">编辑</a>
                                    </a-menu-item>
                                    <a-menu-item>
                                        <a href="javascript:;">归档</a>
                                    </a-menu-item>
                                    <a-menu-item>
                                        <a href="javascript:;">删除</a>
                                    </a-menu-item>
                                </a-menu>
                            </template>
                        </a-dropdown>
                    </div>
                </div>
                <div class="wrapper">
                    <div class="introduction mb10">5</div>
                    <div class="time mb5">创建时间: 2023/08/28</div>
                    <div class="manager mb5 flex-display flex-align-center">
                        <user-outlined />
                        <div class="user_name ml10">接口活</div>
                    </div>
                </div>
            </div>
            <div>
                <div class="enter">
                    <export-outlined />
                </div>
            </div>
        </div>
    </div>
</template>
 
<script setup lang="ts">
import { DashOutlined, UserOutlined, ExportOutlined } from '@ant-design/icons-vue'
import { defineProps } from 'vue'
import { status, projectCard } from './data'
const props = defineProps({
  cardList: {
    type: Array as () => projectCard[],
    required: true,
  },
})
</script>
 
<style scoped lang="scss">
.project-box {
    .project-card {
        cursor: pointer;
        width: 100%;
        min-height: 120px;
        background: #232323;
        user-select: none;
        border-bottom: 1px solid #4f4f4f;
        display: flex;
    }
 
    .project-left {
        padding: 16px;
        flex: 1;
        width: calc(100% - 48px);
        box-sizing: border-box;
 
        .head {
            .head-left {
                font-size: 16px;
            }
        }
    }
 
    .enter {
        background: #303030;
        width: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        height: 100%;
        cursor: pointer;
    }
}
</style>