Files
lilishop-ui/im/src/components/chat/panel/PanelToolbar.vue
田香琪 4bcaf14bad fix(im): 迁移 Element UI 图标并修复 Vue 3 兼容问题
- 新增 migrate-legacy-icons 脚本,批量将旧图标替换为 legacy-el-icon 组件
- 多个组件中将 <i class="el-icon-*"> 统一改为 <legacy-el-icon name="el-icon-*">
- 将 size="mini"/"medium" 调整为 Element Plus 的 small/default
- 新增 legacy-el-icon 全局组件及图标映射逻辑
2026-07-22 13:36:44 +08:00

102 lines
2.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="multi-select">
<div class="multi-title">
<span>已选中{{ value }} 条消息</span>
</div>
<div class="multi-main">
<div class="btn-group">
<div
class="multi-icon pointer"
@click="$emit('event', 'merge_forward')"
>
<legacy-el-icon name="el-icon-position" />
</div>
<p>合并转发</p>
</div>
<div class="btn-group">
<div class="multi-icon pointer" @click="$emit('event', 'forward')">
<legacy-el-icon name="el-icon-position" />
</div>
<p>逐条转发</p>
</div>
<div class="btn-group">
<div class="multi-icon pointer" @click="$emit('event', 'delete')">
<legacy-el-icon name="el-icon-delete" />
</div>
<p>批量删除</p>
</div>
<div class="btn-group">
<div class="multi-icon pointer" @click="$emit('event', 'close')">
<legacy-el-icon name="el-icon-close" />
</div>
<p>关闭</p>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
value: {
default: 0,
},
},
}
</script>
<style lang="less" scoped>
.multi-select {
width: 100%;
height: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
.multi-title {
width: 100%;
height: 50px;
line-height: 50px;
text-align: center;
color: #878484;
font-weight: 300;
font-size: 14px;
}
.multi-main {
.btn-group {
display: inline-block;
width: 70px;
height: 70px;
margin-right: 15px;
.multi-icon {
width: 45px;
height: 45px;
display: flex;
align-items: center;
justify-content: center;
background-color: #f5f5f5;
border-radius: 50%;
margin: 0 auto;
border: 1px solid transparent;
&:hover {
color: red;
border-color: red;
background: transparent;
font-size: 18px;
}
}
p {
font-size: 12px;
margin-top: 8px;
text-align: center;
}
}
}
}
</style>