| | |
| | | :key="item.label" |
| | | @click="handleQuickTool(item)" |
| | | > |
| | | <view class="quick-icon" :style="{ background: item.bgColor }"> |
| | | <image :src="item.icon" class="quick-icon-img" mode="aspectFit" /> |
| | | <view class="icon-container"> |
| | | <image :src="item.icon" class="item-icon" mode="aspectFit" /> |
| | | </view> |
| | | <text class="quick-text">{{ item.label }}</text> |
| | | <text class="item-label">{{ item.label }}</text> |
| | | </up-grid-item> |
| | | </up-grid> |
| | | </view> |
| | |
| | | const quickTools = [ |
| | | { |
| | | label: "生产报工", |
| | | icon: "/static/images/icon/shengchanbaogong@2x.png", |
| | | bgColor: "linear-gradient(135deg,#3b82f6,#2563eb)", |
| | | icon: "/static/images/icon/shengchanbaogong.svg", |
| | | action: "scan", |
| | | }, |
| | | { |
| | | label: "设备巡检", |
| | | icon: "/static/images/icon/xunjianshangchuan@2x.png", |
| | | bgColor: "linear-gradient(135deg,#22c55e,#16a34a)", |
| | | icon: "/static/images/icon/xunjianshangchuan.svg", |
| | | route: "/pages/inspectionUpload/index", |
| | | }, |
| | | { |
| | | label: "设备保养", |
| | | icon: "/static/images/icon/shbeibaoyang@2x.png", |
| | | bgColor: "linear-gradient(135deg,#f97316,#ea580c)", |
| | | icon: "/static/images/icon/shebeibaoyang.svg", |
| | | route: "/pages/equipmentManagement/upkeep/index", |
| | | }, |
| | | { |
| | | label: "设备报修", |
| | | icon: "/static/images/icon/shbeibaoxiu@2x.png", |
| | | bgColor: "linear-gradient(135deg,#a855f7,#7c3aed)", |
| | | icon: "/static/images/icon/shebeibaoxiu.svg", |
| | | route: "/pages/equipmentManagement/repair/index", |
| | | }, |
| | | ]; |
| | |
| | | padding: 6px 0 2px; |
| | | } |
| | | |
| | | .quick-icon { |
| | | width: 44px; |
| | | height: 44px; |
| | | .icon-container { |
| | | width: 36px; |
| | | height: 36px; |
| | | border-radius: 12px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18); |
| | | margin-bottom: 0.375rem; |
| | | transition: all 0.2s ease; |
| | | position: relative; |
| | | overflow: hidden; |
| | | animation: fadeInScale 0.5s ease both; |
| | | } |
| | | |
| | | .quick-icon-img { |
| | | width: 26px; |
| | | height: 26px; |
| | | .item-icon { |
| | | width: 36px; |
| | | height: 36px; |
| | | display: block; |
| | | } |
| | | |
| | | .quick-text { |
| | | margin-top: 6px; |
| | | .icon-container:active { |
| | | transform: scale(0.97); |
| | | } |
| | | |
| | | .item-label { |
| | | font-size: 12px; |
| | | color: #555555; |
| | | text-align: center; |
| | | white-space: nowrap; |
| | | display: block; |
| | | line-height: 1.4; |
| | | font-weight: 500; |
| | | margin-top: 4px; |
| | | margin-bottom: 6px; |
| | | } |
| | | |
| | | :deep(.up-grid-item) { |
| | | padding: 6px 0; |
| | | } |
| | | |
| | | :deep(.up-grid-item__content) { |
| | | padding: 0; |
| | | } |
| | | |
| | | .section-header { |
| | |
| | | color: #e9edf3; |
| | | } |
| | | } |
| | | |
| | | @keyframes fadeInScale { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(0.5rem) scale(0.96); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateY(0) scale(1); |
| | | } |
| | | } |
| | | </style> |