Files
jyls_front/src/views/registration/index.vue
2025-12-08 12:44:45 +08:00

139 lines
3.1 KiB
Vue
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 class="performance-list-container">
<el-button type="primary" icon="edit" style="margin-bottom: 20px">入库登记</el-button>
<div
v-for="(item, index) in performanceList"
:key="index"
class="performance-item"
@click="handleItemClick(item)"
>
<div class="item-header">
<img :src="item.imageUrl" :alt="item.title" class="item-image" />
</div>
<div class="item-content">
<h3 class="item-title">{{ item.title }}</h3>
<p class="item-description">{{ item.description }}</p>
</div>
<div class="item-arrow">
<el-icon><ArrowRight /></el-icon>
</div>
</div>
</div>
</template>
<script setup>
import { ref } from "vue";
import { ArrowRight } from "@element-plus/icons-vue";
import { ElMessage } from "element-plus";
// 定义列表数据
const performanceList = ref([
{
id: 1,
title: "案件办理效率提升",
description: "本月案件办理时间平均缩短20%,客户满意度显著提升",
imageUrl: "https://via.placeholder.com/100x100?text=Case+Efficiency",
},
{
id: 2,
title: "团队协作优化",
description: "通过新的协作工具团队沟通效率提升30%",
imageUrl: "https://via.placeholder.com/100x100?text=Team+Collab",
},
{
id: 3,
title: "客户反馈分析",
description: "收集并分析了100份客户反馈制定了改进计划",
imageUrl: "https://via.placeholder.com/100x100?text=Feedback",
},
{
id: 4,
title: "知识库更新",
description: "新增50篇法律知识库文章提升了团队专业能力",
imageUrl: "https://via.placeholder.com/100x100?text=Knowledge",
},
]);
// 点击事件处理
function handleItemClick(item) {
ElMessage.info(`您点击了:${item.title}`);
// 这里可以添加跳转或其他逻辑
}
</script>
<style lang="scss" scoped>
.performance-list-container {
width: 100%;
padding: 20px;
box-sizing: border-box;
}
.performance-item {
display: flex;
align-items: center;
height: 120px;
width: 100%;
padding: 15px;
margin-bottom: 15px;
border: 1px solid #e0e0e0;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
box-sizing: border-box;
background-color: #fff;
&:hover {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
border-color: #409eff;
}
.item-header {
flex-shrink: 0;
margin-right: 20px;
}
.item-image {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 4px;
}
.item-content {
flex: 1;
min-width: 0;
}
.item-title {
margin: 0 0 8px 0;
font-size: 18px;
font-weight: 500;
color: #303133;
}
.item-description {
margin: 0;
font-size: 14px;
color: #909399;
line-height: 1.5;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.item-arrow {
flex-shrink: 0;
margin-left: 20px;
color: #c0c4cc;
font-size: 16px;
transition: color 0.3s ease;
&:hover {
color: #409eff;
}
}
}
</style>