|
@@ -7,6 +7,11 @@
|
|
|
:key="item.id"
|
|
|
:style="{ backgroundColor: item.color || '#f0f0f0' }"
|
|
|
>
|
|
|
+ <img
|
|
|
+ :src="getSystemIcon(item.name)"
|
|
|
+ :alt="item.name"
|
|
|
+ class="system-icon"
|
|
|
+ />
|
|
|
<div class="system-item-label">{{ item.name }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -430,6 +435,21 @@ const handleMatch = () => {
|
|
|
|
|
|
const systemList = ref([]);
|
|
|
|
|
|
+// 获取系统对应的图标
|
|
|
+const getSystemIcon = (systemName) => {
|
|
|
+ const iconMap = {
|
|
|
+ 'ERP': '/src/assets/arrow_arrow01.png',
|
|
|
+ 'MES': '/src/assets/arrow_arrow02.png',
|
|
|
+ 'PLM': '/src/assets/arrow_arrow03.png',
|
|
|
+ 'QMS': '/src/assets/arrow_arrow04.png',
|
|
|
+ 'PMS': '/src/assets/arrow_arrow05.png',
|
|
|
+ 'WMS': '/src/assets/arrow_arrow16.png',
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+ return iconMap[systemName] || '/src/assets/svg/setting.svg'; // 默认图标
|
|
|
+};
|
|
|
+
|
|
|
const transformSystemsToArray = (systems) => {
|
|
|
return Object.entries(systems).map(([name, data]) => ({
|
|
|
id: name,
|
|
@@ -636,39 +656,60 @@ onUnmounted(() => {
|
|
|
|
|
|
.system-list {
|
|
|
width: 100%;
|
|
|
- padding: 20px;
|
|
|
+ padding: 24px;
|
|
|
display: flex;
|
|
|
-
|
|
|
- gap: 10px;
|
|
|
+ gap: 16px;
|
|
|
justify-content: flex-start;
|
|
|
flex-wrap: wrap;
|
|
|
+ background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
|
|
|
+ border-radius: 12px;
|
|
|
+ margin: 16px;
|
|
|
+ box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
|
|
|
}
|
|
|
|
|
|
.system-item {
|
|
|
- padding: 10px 10px;
|
|
|
- border-radius: 6px;
|
|
|
+ padding: 12px 16px;
|
|
|
+ border-radius: 8px;
|
|
|
cursor: pointer;
|
|
|
transition: all 0.3s ease;
|
|
|
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
|
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- gap: 8px;
|
|
|
- min-width: 120px;
|
|
|
+ gap: 10px;
|
|
|
+ min-width: 140px;
|
|
|
justify-content: center;
|
|
|
+ border: 1px solid rgba(255,255,255,0.2);
|
|
|
}
|
|
|
|
|
|
-.system-item:hover {
|
|
|
- transform: translateY(-2px);
|
|
|
- box-shadow: 0 4px 8px rgba(0,0,0,0.15);
|
|
|
+.system-icon {
|
|
|
+ width: 22px;
|
|
|
+ height: 22px;
|
|
|
+ filter: brightness(0) invert(1); /* 让图标变成白色 */
|
|
|
opacity: 0.9;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ flex-shrink: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.system-item:hover .system-icon {
|
|
|
+ opacity: 1;
|
|
|
+ transform: scale(1.1) rotate(5deg);
|
|
|
+}
|
|
|
+
|
|
|
+.system-item:hover {
|
|
|
+ transform: translateY(-3px);
|
|
|
+ box-shadow: 0 6px 16px rgba(0,0,0,0.2);
|
|
|
+ opacity: 0.95;
|
|
|
+ border-color: rgba(255,255,255,0.4);
|
|
|
}
|
|
|
|
|
|
.system-item-label {
|
|
|
color: #fff;
|
|
|
- font-size: 14px;
|
|
|
- font-weight: 500;
|
|
|
- text-shadow: 0 1px 2px rgba(0,0,0,0.1);
|
|
|
+ font-size: 15px;
|
|
|
+ font-weight: 600;
|
|
|
+ text-shadow: 0 1px 3px rgba(0,0,0,0.2);
|
|
|
text-align: center;
|
|
|
+ letter-spacing: 0.5px;
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
#container {
|