样式修改
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user