样式修改

This commit is contained in:
2025-12-17 15:32:58 +08:00
parent ded3eddc56
commit aa8ce553b0
52 changed files with 3145 additions and 2010 deletions

View File

@@ -0,0 +1,360 @@
// ==================== 品牌色变量 ====================
$brand-color: #0055AA;
$brand-color-light: #EBF5FF;
$brand-color-hover: #004488;
// ==================== 工单管理页面样式 ====================
.workcase-container {
display: flex;
flex-direction: column;
gap: 24px;
padding: 0;
}
// 筛选卡片
.filter-card {
background: #fff;
border-radius: 16px;
border: 1px solid #f1f5f9;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
:deep(.el-card__body) {
padding: 20px;
}
}
.ticket-filters {
display: flex;
flex-direction: column;
gap: 16px;
@media (min-width: 1024px) {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
}
// 状态标签组
:deep(.el-radio-group) {
display: inline-flex;
background: #f1f5f9;
padding: 4px;
border-radius: 8px;
.el-radio-button {
.el-radio-button__inner {
border: none;
background: transparent;
color: #64748b;
font-weight: 500;
padding: 8px 16px;
border-radius: 6px;
box-shadow: none;
&:hover {
color: #1e293b;
}
}
&.is-active {
.el-radio-button__inner {
background: $brand-color;
color: #fff;
box-shadow: 0 2px 8px rgba($brand-color, 0.25);
}
}
}
}
.filter-right {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}
// 下拉选择框样式
:deep(.el-select) {
.el-input__wrapper {
border-radius: 8px;
border: 1px solid #e2e8f0;
box-shadow: none;
&:hover {
border-color: $brand-color;
}
&.is-focus {
border-color: $brand-color;
box-shadow: 0 0 0 2px rgba($brand-color, 0.1);
}
}
}
// 搜索输入框
:deep(.el-input) {
.el-input__wrapper {
border-radius: 8px;
border: 1px solid #e2e8f0;
box-shadow: none;
&:hover {
border-color: $brand-color;
}
&.is-focus {
border-color: $brand-color;
box-shadow: 0 0 0 2px rgba($brand-color, 0.1);
}
}
}
// 工单列表卡片
:deep(.el-card) {
border-radius: 16px;
border: 1px solid #f1f5f9;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
overflow: hidden;
}
// 表格样式
:deep(.el-table) {
--el-table-header-bg-color: #fff;
--el-table-row-hover-bg-color: rgba(248, 250, 252, 0.5);
thead {
th {
background: #fff;
border-bottom: 1px solid #f1f5f9;
color: #94a3b8;
font-weight: 500;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 12px 16px;
}
}
tbody {
tr {
transition: background 0.15s;
&:hover {
background: rgba(248, 250, 252, 0.5);
}
td {
padding: 16px;
border-bottom: 1px solid #f8fafc;
}
}
}
}
// 工单号链接
.ticket-no {
color: $brand-color;
font-weight: 600;
cursor: pointer;
transition: color 0.2s;
&:hover {
color: $brand-color-hover;
text-decoration: underline;
}
}
// 客户信息
.customer-info {
display: flex;
flex-direction: column;
gap: 4px;
.name {
font-weight: 600;
color: #1e293b;
font-size: 14px;
}
.phone {
font-size: 12px;
color: #94a3b8;
}
}
// 未指派标签
.unassigned {
color: #94a3b8;
font-style: italic;
}
// 标签样式覆盖
:deep(.el-tag) {
border-radius: 9999px;
padding: 4px 10px;
font-size: 12px;
font-weight: 500;
border: none;
&.el-tag--warning {
background: #fef3c7;
color: #d97706;
}
&.el-tag--info {
background: #dbeafe;
color: #2563eb;
}
&.el-tag--success {
background: #dcfce7;
color: #16a34a;
}
&.el-tag--danger {
background: #fee2e2;
color: #dc2626;
}
}
// 操作按钮
:deep(.el-button--link) {
padding: 4px 8px;
&.el-button--primary {
color: $brand-color;
&:hover {
color: $brand-color-hover;
}
}
&.el-button--warning {
color: #f59e0b;
&:hover {
color: #d97706;
}
}
&.el-button--success {
color: #22c55e;
&:hover {
color: #16a34a;
}
}
}
// 分页样式
.table-pagination {
padding: 16px 20px;
display: flex;
justify-content: flex-end;
border-top: 1px solid #f1f5f9;
background: #fff;
}
:deep(.el-pagination) {
.el-pager {
li {
border-radius: 6px;
&.is-active {
background: $brand-color;
color: #fff;
}
}
}
.btn-prev,
.btn-next {
border-radius: 6px;
}
}
// 弹窗样式
:deep(.el-dialog) {
border-radius: 16px;
overflow: hidden;
.el-dialog__header {
padding: 20px 24px;
border-bottom: 1px solid #f1f5f9;
margin-right: 0;
.el-dialog__title {
font-size: 18px;
font-weight: 600;
color: #1e293b;
}
}
.el-dialog__body {
padding: 24px;
}
.el-dialog__footer {
padding: 16px 24px;
border-top: 1px solid #f1f5f9;
}
}
// 表单样式
:deep(.el-form) {
.el-form-item__label {
color: #64748b;
font-weight: 500;
}
.el-input__wrapper,
.el-textarea__inner {
border-radius: 8px;
}
}
// 主按钮样式
:deep(.el-button--primary) {
background: $brand-color;
border-color: $brand-color;
border-radius: 8px;
font-weight: 500;
&:hover {
background: $brand-color-hover;
border-color: $brand-color-hover;
}
}
// 响应式
@media (max-width: 768px) {
.workcase-container {
gap: 16px;
}
.ticket-filters {
flex-direction: column;
align-items: stretch;
}
.filter-right {
flex-direction: column;
align-items: stretch;
:deep(.el-select),
:deep(.el-input) {
width: 100% !important;
}
}
:deep(.el-radio-group) {
display: flex;
flex-wrap: wrap;
.el-radio-button {
flex: 1;
min-width: fit-content;
}
}
}

View File

@@ -219,32 +219,5 @@ const createTicket = () => {
</script>
<style lang="scss" scoped>
@import url("./WorkcaseView.scss");
.workcase-container {
display: flex;
flex-direction: column;
gap: 16px;
}
.customer-info {
display: flex;
flex-direction: column;
gap: 2px;
}
.customer-info .name {
font-weight: 500;
color: #303133;
}
.customer-info .phone {
font-size: 12px;
color: #909399;
}
.ticket-no {
color: #409eff;
font-weight: 500;
}
@import "./WorkcaseView.scss";
</style>