@charset "UTF-8"; /** * 这里是uni-app内置的常用样式变量 * * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App * */ /** * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 * * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ /* 颜色变量 */ /* 行为相关颜色 */ /* 文字基本颜色 */ /* 背景颜色 */ /* 边框颜色 */ /* 尺寸变量 */ /* 文字尺寸 */ /* 图片尺寸 */ /* Border Radius */ /* 水平间距 */ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ .container.data-v-0486d8eb { min-height: 100vh; background: linear-gradient(135deg, #e8f5e9 0%, #b2dfdb 100%); padding: 40rpx; box-sizing: border-box; } .detail-card.data-v-0486d8eb { background: #fff; border-radius: 32rpx; box-shadow: 0 8rpx 32rpx rgba(76, 175, 80, 0.1); overflow: hidden; } .card-header.data-v-0486d8eb { background: linear-gradient(120deg, #43e97b 0%, #38f9d7 100%); padding: 32rpx 40rpx; color: #fff; font-size: 36rpx; font-weight: 600; letter-spacing: 2rpx; text-align: center; } .detail-content.data-v-0486d8eb { padding: 40rpx; } .loading.data-v-0486d8eb { text-align: center; padding: 80rpx 40rpx; color: #6a9c6a; font-size: 28rpx; } .error-state.data-v-0486d8eb { text-align: center; padding: 80rpx 40rpx; color: #f56c6c; font-size: 28rpx; } .retry-btn.data-v-0486d8eb { margin-top: 32rpx; } .info-sections.data-v-0486d8eb { display: flex; flex-direction: column; gap: 32rpx; } .info-section.data-v-0486d8eb { background: #f9fff9; border-radius: 24rpx; padding: 32rpx; border: 2rpx solid #e8f5e9; } .section-title.data-v-0486d8eb { font-size: 32rpx; font-weight: 600; color: #2e7d32; margin-bottom: 24rpx; padding-bottom: 16rpx; border-bottom: 2rpx solid #c8e6c9; } .info-grid.data-v-0486d8eb { display: grid; grid-template-columns: 1fr 1fr; gap: 24rpx; } .info-item.data-v-0486d8eb { display: flex; flex-direction: column; gap: 8rpx; } .info-label.data-v-0486d8eb { font-size: 24rpx; color: #6a9c6a; font-weight: 500; } .info-value.data-v-0486d8eb { font-size: 28rpx; color: #2e7d32; font-weight: 500; word-break: break-all; } .info-value.amount.data-v-0486d8eb { color: #f57c00; font-weight: 600; font-size: 32rpx; } .status-badge.data-v-0486d8eb { display: inline-block; padding: 8rpx 24rpx; border-radius: 40rpx; font-size: 24rpx; font-weight: 500; text-align: center; width: -webkit-fit-content; width: fit-content; } .status-badge.unapproved.data-v-0486d8eb { background: #fff3e0; color: #ef6c00; border: 2rpx solid #ffe0b2; } .status-badge.pending.data-v-0486d8eb { background: #e3f2fd; color: #1976d2; border: 2rpx solid #bbdefb; } .status-badge.approved.data-v-0486d8eb { background: #e8f5e9; color: #2e7d32; border: 2rpx solid #c8e6c9; } .status-badge.rejected.data-v-0486d8eb { background: #ffebee; color: #c62828; border: 2rpx solid #ffcdd2; } .purchase-records-list.data-v-0486d8eb { display: flex; flex-direction: column; gap: 16rpx; } .purchase-record-item.data-v-0486d8eb { background: #fff; border-radius: 16rpx; padding: 24rpx; border: 2rpx solid #e0e0e0; } .record-header.data-v-0486d8eb { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16rpx; padding-bottom: 16rpx; border-bottom: 2rpx solid #f0f0f0; } .record-category.data-v-0486d8eb { font-size: 28rpx; color: #2e7d32; font-weight: 600; } .record-amount.data-v-0486d8eb { font-size: 32rpx; color: #f57c00; font-weight: 600; } .record-details.data-v-0486d8eb { display: flex; flex-wrap: wrap; gap: 24rpx; margin-bottom: 12rpx; } .record-detail-item.data-v-0486d8eb { display: flex; align-items: center; gap: 8rpx; } .record-label.data-v-0486d8eb { font-size: 24rpx; color: #6a9c6a; } .record-value.data-v-0486d8eb { font-size: 26rpx; color: #2e7d32; font-weight: 500; } .record-memo.data-v-0486d8eb { margin-top: 12rpx; padding-top: 12rpx; border-top: 1rpx solid #f0f0f0; display: flex; gap: 8rpx; } .record-memo .record-value.data-v-0486d8eb { flex: 1; word-break: break-all; } .record-attachment.data-v-0486d8eb { margin-top: 12rpx; padding-top: 12rpx; border-top: 1rpx solid #f0f0f0; display: flex; flex-direction: column; gap: 8rpx; } .attachment-list.data-v-0486d8eb { display: flex; flex-direction: column; gap: 8rpx; margin-top: 8rpx; } .attachment-count.data-v-0486d8eb { display: flex; align-items: center; gap: 8rpx; margin-bottom: 16rpx; } .file-icon.data-v-0486d8eb { font-size: 24rpx; } .file-count.data-v-0486d8eb { font-size: 24rpx; color: #606266; } .attachment-items.data-v-0486d8eb { display: flex; flex-wrap: wrap; gap: 16rpx; margin-top: 16rpx; } .attachment-item.data-v-0486d8eb { display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; } .attachment-item.data-v-0486d8eb:active { opacity: 0.7; -webkit-transform: scale(0.98); transform: scale(0.98); } .attachment-image-wrapper.data-v-0486d8eb { width: 200rpx; height: 200rpx; border-radius: 12rpx; overflow: hidden; border: 2rpx solid #e0e0e0; background: #f5f5f5; } .attachment-image.data-v-0486d8eb { width: 100%; height: 100%; } .attachment-file-info.data-v-0486d8eb { display: flex; align-items: center; gap: 12rpx; padding: 16rpx 24rpx; background: #f9fff9; border: 2rpx solid #c8e6c9; border-radius: 12rpx; min-width: 200rpx; } .attachment-file-info .file-icon.data-v-0486d8eb { font-size: 32rpx; } .attachment-file-info .file-name.data-v-0486d8eb { font-size: 24rpx; color: #2e7d32; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* 审批流程样式 */ .approval-flow.data-v-0486d8eb { display: flex; flex-direction: column; gap: 24rpx; } .flow-node.data-v-0486d8eb { padding: 24rpx; border: 2rpx solid #e4e7ed; border-radius: 16rpx; background: #fafafa; transition: all 0.3s; } .flow-node.node-active.data-v-0486d8eb { border-color: #409EFF; background: #ecf5ff; } .flow-node.node-completed.data-v-0486d8eb { border-color: #67C23A; background: #f0f9ff; } .flow-node.node-pending.data-v-0486d8eb { border-color: #e4e7ed; background: #fafafa; opacity: 0.6; } .node-header.data-v-0486d8eb { display: flex; align-items: center; margin-bottom: 24rpx; } .node-order.data-v-0486d8eb { width: 64rpx; height: 64rpx; line-height: 64rpx; text-align: center; background: #409EFF; color: #fff; border-radius: 50%; font-weight: 600; font-size: 28rpx; margin-right: 24rpx; flex-shrink: 0; } .node-info.data-v-0486d8eb { flex: 1; } .node-name.data-v-0486d8eb { font-size: 32rpx; font-weight: 600; color: #303133; margin-bottom: 16rpx; } .node-type.data-v-0486d8eb { display: flex; gap: 16rpx; } .node-type-tag.data-v-0486d8eb { display: inline-block; padding: 4rpx 16rpx; border-radius: 8rpx; font-size: 22rpx; font-weight: 500; } .node-type-tag.type-success.data-v-0486d8eb { background: #f0f9ff; color: #67C23A; border: 2rpx solid #c8e6c9; } .node-type-tag.type-warning.data-v-0486d8eb { background: #fff3e0; color: #e6a23c; border: 2rpx solid #ffe0b2; } .node-type-tag.type-info.data-v-0486d8eb { background: #e3f2fd; color: #909399; border: 2rpx solid #bbdefb; } .approvers-list.data-v-0486d8eb { margin-bottom: 24rpx; display: flex; align-items: flex-start; gap: 16rpx; } .approvers-label.data-v-0486d8eb { min-width: 160rpx; color: #606266; font-weight: 500; font-size: 26rpx; } .approvers-items.data-v-0486d8eb { flex: 1; display: flex; flex-wrap: wrap; gap: 12rpx; } .approver-tag.data-v-0486d8eb { display: inline-block; padding: 8rpx 16rpx; background: #e8f5e9; border: 2rpx solid #c8e6c9; border-radius: 16rpx; font-size: 24rpx; color: #2e7d32; } .approval-records.data-v-0486d8eb { margin-top: 24rpx; padding-top: 24rpx; border-top: 2rpx solid #e4e7ed; } .records-label.data-v-0486d8eb { color: #606266; font-weight: 500; font-size: 26rpx; margin-bottom: 16rpx; display: block; } .records-list.data-v-0486d8eb { display: flex; flex-direction: column; gap: 16rpx; } .record-item.data-v-0486d8eb { padding: 16rpx; background: #fff; border-radius: 8rpx; border-left: 6rpx solid #409EFF; } .record-header.data-v-0486d8eb { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8rpx; } .record-approver.data-v-0486d8eb { font-weight: 500; color: #303133; font-size: 26rpx; } .record-result-tag.data-v-0486d8eb { display: inline-block; padding: 4rpx 12rpx; border-radius: 8rpx; font-size: 22rpx; font-weight: 500; } .record-result-tag.result-success.data-v-0486d8eb { background: #f0f9ff; color: #67C23A; } .record-result-tag.result-danger.data-v-0486d8eb { background: #ffebee; color: #F56C6C; } .record-result-tag.result-warning.data-v-0486d8eb { background: #fff3e0; color: #e6a23c; } .record-result-tag.result-info.data-v-0486d8eb { background: #e3f2fd; color: #909399; } .record-opinion.data-v-0486d8eb { color: #606266; font-size: 24rpx; margin-bottom: 8rpx; line-height: 1.6; } .record-time.data-v-0486d8eb { color: #909399; font-size: 22rpx; } /* 当前审批人样式 */ .current-approvers.data-v-0486d8eb { padding: 24rpx; background: #fff3cd; border-radius: 16rpx; display: flex; flex-wrap: wrap; gap: 16rpx; } .current-approver-tag.data-v-0486d8eb { display: inline-block; padding: 12rpx 24rpx; background: #fff; border: 2rpx solid #e6a23c; border-radius: 16rpx; font-size: 26rpx; color: #e6a23c; font-weight: 500; } /* 退回原因样式 */ .returned-reason.data-v-0486d8eb { padding: 24rpx; background: #fef0f0; border-radius: 16rpx; color: #F56C6C; line-height: 1.6; font-size: 26rpx; } /* 审批操作表单样式 */ .approval-form.data-v-0486d8eb { display: flex; flex-direction: column; gap: 32rpx; } .form-item.data-v-0486d8eb { display: flex; flex-direction: column; gap: 16rpx; } .form-label.data-v-0486d8eb { font-size: 28rpx; color: #2e7d32; font-weight: 600; } .radio-group.data-v-0486d8eb { display: flex; gap: 24rpx; } .radio-item.data-v-0486d8eb { flex: 1; padding: 20rpx; background: #f9fff9; border: 3rpx solid #c8e6c9; border-radius: 16rpx; text-align: center; font-size: 26rpx; color: #2e7d32; transition: all 0.2s; } .radio-item.active.data-v-0486d8eb { background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); border-color: #43e97b; color: #fff; font-weight: 600; } .form-textarea.data-v-0486d8eb { width: 100%; min-height: 200rpx; padding: 24rpx; background: #f9fff9; border: 3rpx solid #c8e6c9; border-radius: 16rpx; font-size: 26rpx; color: #2e7d32; box-sizing: border-box; } .form-actions.data-v-0486d8eb { margin-top: 16rpx; } .approve-btn.data-v-0486d8eb { width: 100%; padding: 10rpx 32rpx; background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); color: #fff; border-radius: 48rpx; font-size: 32rpx; font-weight: 600; border: none; box-shadow: 0 8rpx 24rpx rgba(67, 233, 123, 0.3); } .approve-btn.data-v-0486d8eb:active { -webkit-transform: scale(0.98); transform: scale(0.98); box-shadow: 0 4rpx 12rpx rgba(67, 233, 123, 0.4); } .approve-btn.data-v-0486d8eb:disabled { opacity: 0.5; }