diff --git a/src/store/index.js b/src/store/index.js index 8e7d379..c877770 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -14,6 +14,13 @@ export const useLotteryStore = defineStore('lottery', () => { const displayMode = ref('scroll') const backgroundImage = ref('') const columnsPerRow = ref(3) // 每行显示的人数 + const displayFontColor = ref('#FFFFFF') // 大屏端字体颜色 + const prizeNameFontColor = ref('#00B4D8') // 奖品名称字体颜色 + const roundNameFontSize = ref(36) // 轮次名称字体大小 + const prizeNameFontSize = ref(64) // 奖品名称字体大小 + const participantFontSize = ref(32) // 人名字体大小 + const displayFields = ref([]) // 大屏端显示的字段列表 + const showFieldLabels = ref(true) // 是否显示字段标签 const isInitialized = ref(false) // 从IndexedDB初始化数据 @@ -35,6 +42,13 @@ export const useLotteryStore = defineStore('lottery', () => { displayMode.value = data.lottery_displayMode || 'scroll' backgroundImage.value = data.lottery_backgroundImage || '' columnsPerRow.value = data.lottery_columnsPerRow || 3 + displayFontColor.value = data.lottery_displayFontColor || '#FFFFFF' + prizeNameFontColor.value = data.lottery_prizeNameFontColor || '#00B4D8' + roundNameFontSize.value = data.lottery_roundNameFontSize || 36 + prizeNameFontSize.value = data.lottery_prizeNameFontSize || 64 + participantFontSize.value = data.lottery_participantFontSize || 32 + displayFields.value = data.lottery_displayFields || [] + showFieldLabels.value = data.lottery_showFieldLabels !== undefined ? data.lottery_showFieldLabels : true console.log('Initialized background image:', backgroundImage.value ? 'Yes' : 'No') console.log('Initialization completed') @@ -392,10 +406,18 @@ export const useLotteryStore = defineStore('lottery', () => { } const exportWinners = () => { - const headers = ['姓名', '奖品', '轮次', '时间'] - const rows = winners.value.map(w => [w.name, w.prizeName, w.roundName, w.time]) + // 动态生成表头 + const headers = fields.value.map(f => f.label) + headers.push('奖品', '轮次', '时间') + + // 动态生成数据行 + const rows = winners.value.map(w => { + const participantFields = fields.value.map(f => w.participant ? (w.participant[f.key] || '') : '') + participantFields.push(w.prizeName, w.roundName, w.time) + return participantFields + }) - const csv = [headers.join(','), ...rows].join('\n') + const csv = [headers.join(','), ...rows.map(row => row.join(','))].join('\n') const blob = new Blob(['\ufeff' + csv], { type: 'text/csv;charset=utf-8' }) const url = URL.createObjectURL(blob) const link = document.createElement('a') @@ -438,6 +460,41 @@ export const useLotteryStore = defineStore('lottery', () => { } } + const setDisplayFontColor = async (color) => { + displayFontColor.value = color + await saveData('lottery_displayFontColor', displayFontColor.value) + } + + const setPrizeNameFontColor = async (color) => { + prizeNameFontColor.value = color + await saveData('lottery_prizeNameFontColor', prizeNameFontColor.value) + } + + const setRoundNameFontSize = async (size) => { + roundNameFontSize.value = size + await saveData('lottery_roundNameFontSize', roundNameFontSize.value) + } + + const setPrizeNameFontSize = async (size) => { + prizeNameFontSize.value = size + await saveData('lottery_prizeNameFontSize', prizeNameFontSize.value) + } + + const setParticipantFontSize = async (size) => { + participantFontSize.value = size + await saveData('lottery_participantFontSize', participantFontSize.value) + } + + const setDisplayFields = async (fields) => { + displayFields.value = fields + await saveData('lottery_displayFields', displayFields.value) + } + + const setShowFieldLabels = async (show) => { + showFieldLabels.value = show + await saveData('lottery_showFieldLabels', showFieldLabels.value) + } + return { // 状态 fields, @@ -450,6 +507,13 @@ export const useLotteryStore = defineStore('lottery', () => { displayMode, backgroundImage, columnsPerRow, + displayFontColor, + prizeNameFontColor, + roundNameFontSize, + prizeNameFontSize, + participantFontSize, + displayFields, + showFieldLabels, isInitialized, // 初始化 @@ -491,6 +555,13 @@ export const useLotteryStore = defineStore('lottery', () => { switchDisplayMode, setColumnsPerRow, setBackgroundImage, - clearBackgroundImage + clearBackgroundImage, + setDisplayFontColor, + setPrizeNameFontColor, + setRoundNameFontSize, + setPrizeNameFontSize, + setParticipantFontSize, + setDisplayFields, + setShowFieldLabels } }) \ No newline at end of file diff --git a/src/styles/element-plus.css b/src/styles/element-plus.css index d443cff..a5ce5e5 100644 --- a/src/styles/element-plus.css +++ b/src/styles/element-plus.css @@ -1,22 +1,22 @@ -/* Element Plus Custom Styles */ +/* Element Plus Custom Styles - 基于参考图设计风格 */ /* Element Plus Variables Override */ :root { --el-color-primary: var(--color-primary); - --el-color-primary-light-3: #8fa3f7; - --el-color-primary-light-5: #b8c5f8; - --el-color-primary-light-7: #dce0fa; - --el-color-primary-light-8: #ebeefc; - --el-color-primary-light-9: #f5f6fe; - --el-color-primary-dark-2: #5369d6; + --el-color-primary-light-3: rgba(var(--color-primary-rgb), 0.3); + --el-color-primary-light-5: rgba(var(--color-primary-rgb), 0.5); + --el-color-primary-light-7: rgba(var(--color-primary-rgb), 0.7); + --el-color-primary-light-8: rgba(var(--color-primary-rgb), 0.8); + --el-color-primary-light-9: rgba(var(--color-primary-rgb), 0.9); + --el-color-primary-dark-2: var(--color-primary-dark); --el-color-success: var(--color-success); --el-color-warning: var(--color-warning); --el-color-danger: var(--color-danger); --el-color-info: var(--color-info); - --el-border-radius-base: var(--border-radius-md); - --el-border-radius-small: var(--border-radius-sm); + --el-border-radius-base: var(--border-radius-sm); + --el-border-radius-small: 4px; --el-border-radius-round: 20px; --el-border-radius-circle: 100%; @@ -32,54 +32,74 @@ .el-button { font-family: var(--font-family-primary); font-weight: var(--font-weight-medium); - border-radius: var(--border-radius-md); + border-radius: var(--border-radius-sm); transition: all var(--transition-normal); -} - -.el-button:hover { - transform: translateY(-1px); - box-shadow: var(--shadow-small); -} - -.el-button:active { - transform: translateY(0); -} - -.el-button--primary { - background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%); border: none; } +.el-button:hover { + transform: none; + box-shadow: none; + opacity: 0.9; +} + +.el-button:active { + transform: none; +} + +.el-button--primary { + background: var(--color-info); + color: var(--color-text-white); +} + .el-button--primary:hover { - background: linear-gradient(135deg, var(--color-primary-dark-2) 0%, var(--color-secondary) 100%); + background: #1565C0; } .el-button--success { background: var(--color-success); - border: none; + color: var(--color-text-white); +} + +.el-button--success:hover { + background: #27AE60; } .el-button--danger { background: var(--color-danger); - border: none; + color: var(--color-text-white); +} + +.el-button--danger:hover { + background: #C0392B; } .el-button--warning { background: var(--color-warning); - border: none; + color: var(--color-text-white); +} + +.el-button--warning:hover { + background: #F39C12; } .el-button--info { - background: var(--color-info); - border: none; + background: var(--color-background-tertiary); + color: var(--color-text-primary); + border: 1px solid var(--color-border); +} + +.el-button--info:hover { + background: #E9ECEF; } /* Element Plus Card Customization */ .el-card { - border-radius: var(--border-radius-lg); + border-radius: var(--border-radius-md); box-shadow: var(--shadow-small); transition: all var(--transition-normal); - border: 1px solid var(--color-border); + border: none; + background: var(--color-background); } .el-card:hover { @@ -89,9 +109,10 @@ .el-card__header { border-bottom: 1px solid var(--color-border); padding: var(--spacing-lg) var(--spacing-xl); - font-family: var(--font-family-secondary); + font-family: var(--font-family-primary); font-weight: var(--font-weight-semibold); font-size: var(--font-size-lg); + color: var(--color-text-primary); } .el-card__body { @@ -100,19 +121,19 @@ /* Element Plus Dialog Customization */ .el-dialog { - border-radius: var(--border-radius-lg); + border-radius: var(--border-radius-md); box-shadow: var(--shadow-large); } .el-dialog__header { - background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%); - color: var(--color-text-white); + background: var(--color-background); + color: var(--color-text-primary); padding: var(--spacing-xl) var(--spacing-2xl); - border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0; + border-bottom: 1px solid var(--color-border); } .el-dialog__title { - font-family: var(--font-family-secondary); + font-family: var(--font-family-primary); font-weight: var(--font-weight-semibold); font-size: var(--font-size-lg); } @@ -128,10 +149,11 @@ /* Element Plus Input Customization */ .el-input__wrapper { - border-radius: var(--border-radius-md); + border-radius: var(--border-radius-sm); box-shadow: none; border: 1px solid var(--color-border); transition: all var(--transition-normal); + background: var(--color-background); } .el-input__wrapper:hover { @@ -151,7 +173,7 @@ /* Element Plus Select Customization */ .el-select .el-input__wrapper { - border-radius: var(--border-radius-md); + border-radius: var(--border-radius-sm); } .el-select-dropdown__item { @@ -186,12 +208,12 @@ } .el-table th { - background: var(--color-background); + background: var(--color-background-secondary); color: var(--color-text-primary); font-weight: var(--font-weight-semibold); - font-family: var(--font-family-secondary); + font-family: var(--font-family-primary); font-size: var(--font-size-base); - border-bottom: 2px solid var(--color-border); + border-bottom: 1px solid var(--color-border); } .el-table td { @@ -201,11 +223,11 @@ } .el-table .el-table__row:hover > td { - background: rgba(var(--color-primary-rgb), 0.05); + background: var(--color-background-tertiary); } .el-table--striped .el-table__body tr.el-table__row--striped td { - background: rgba(var(--color-primary-rgb), 0.03); + background: var(--color-background); } .el-table__body tr.current-row > td { @@ -214,7 +236,7 @@ /* Element Plus Upload Customization */ .el-upload-dragger { - border-radius: var(--border-radius-lg); + border-radius: var(--border-radius-md); border: 2px dashed var(--color-border); transition: all var(--transition-normal); background: var(--color-background); @@ -233,7 +255,7 @@ /* Element Plus Message Customization */ .el-message { - border-radius: var(--border-radius-lg); + border-radius: var(--border-radius-md); box-shadow: var(--shadow-large); font-family: var(--font-family-primary); font-weight: var(--font-weight-medium); @@ -246,7 +268,7 @@ /* Element Plus Message Box Customization */ .el-message-box { - border-radius: var(--border-radius-lg); + border-radius: var(--border-radius-md); box-shadow: var(--shadow-large); } @@ -256,7 +278,7 @@ } .el-message-box__title { - font-family: var(--font-family-secondary); + font-family: var(--font-family-primary); font-weight: var(--font-weight-semibold); font-size: var(--font-size-lg); } @@ -304,37 +326,33 @@ /* Element Plus Tag Customization */ .el-tag { - border-radius: var(--border-radius-md); + border-radius: var(--border-radius-sm); font-family: var(--font-family-primary); font-weight: var(--font-weight-medium); + border: none; } .el-tag--primary { - background: rgba(var(--color-primary-rgb), 0.1); - color: var(--color-primary); - border-color: var(--color-primary); + background: var(--color-info-light); + color: var(--color-info); } .el-tag--success { - background: rgba(var(--color-success), 0.1); + background: var(--color-success-light); color: var(--color-success); - border-color: var(--color-success); } .el-tag--warning { - background: rgba(var(--color-warning), 0.1); + background: var(--color-warning-light); color: var(--color-warning); - border-color: var(--color-warning); } .el-tag--danger { - background: rgba(var(--color-danger), 0.1); + background: var(--color-danger-light); color: var(--color-danger); - border-color: var(--color-danger); } .el-tag--info { - background: rgba(var(--color-info), 0.1); - color: var(--color-info); - border-color: var(--color-info); + background: rgba(var(--color-primary-rgb), 0.1); + color: var(--color-primary); } \ No newline at end of file diff --git a/src/styles/global.css b/src/styles/global.css index db53bc7..fe159cc 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -1,4 +1,4 @@ -/* Global Styles */ +/* Global Styles - 基于参考图设计风格 */ * { margin: 0; padding: 0; @@ -17,7 +17,7 @@ body { font-size: var(--font-size-base); line-height: var(--line-height-normal); color: var(--color-text-primary); - background: var(--color-background); + background: var(--color-background-secondary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @@ -25,12 +25,17 @@ body { #app { width: 100%; height: 100%; + overflow-y: scroll; } -/* Scrollbar Styling */ +.el-container { + min-height: 100vh; +} + +/* Scrollbar Styling - 更符合参考图的轻量级设计 */ ::-webkit-scrollbar { - width: 8px; - height: 8px; + width: 6px; + height: 6px; } ::-webkit-scrollbar-track { @@ -49,19 +54,36 @@ body { } /* Typography */ -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { font-family: var(--font-family-secondary); font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); margin-bottom: var(--spacing-lg); } -h1 { font-size: var(--font-size-4xl); } -h2 { font-size: var(--font-size-3xl); } -h3 { font-size: var(--font-size-2xl); } -h4 { font-size: var(--font-size-xl); } -h5 { font-size: var(--font-size-lg); } -h6 { font-size: var(--font-size-base); } +h1 { + font-size: var(--font-size-4xl); +} +h2 { + font-size: var(--font-size-3xl); +} +h3 { + font-size: var(--font-size-2xl); +} +h4 { + font-size: var(--font-size-xl); +} +h5 { + font-size: var(--font-size-lg); +} +h6 { + font-size: var(--font-size-base); +} p { margin-bottom: var(--spacing-md); @@ -76,11 +98,12 @@ a { } a:hover { - color: var(--color-secondary); + color: var(--color-primary-dark); } /* Lists */ -ul, ol { +ul, +ol { margin-bottom: var(--spacing-md); padding-left: var(--spacing-2xl); } @@ -121,7 +144,8 @@ table { margin-bottom: var(--spacing-lg); } -th, td { +th, +td { padding: var(--spacing-md); text-align: left; border-bottom: 1px solid var(--color-border); @@ -133,7 +157,7 @@ th { } tr:hover { - background: var(--color-border-light); + background: var(--color-background-tertiary); } /* Forms */ @@ -167,75 +191,197 @@ img { } /* Utilities */ -.text-center { text-align: center; } -.text-left { text-align: left; } -.text-right { text-align: right; } +.text-center { + text-align: center; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} -.text-primary { color: var(--color-primary); } -.text-secondary { color: var(--color-secondary); } -.text-success { color: var(--color-success); } -.text-danger { color: var(--color-danger); } -.text-warning { color: var(--color-warning); } -.text-light { color: var(--color-text-light); } +.text-primary { + color: var(--color-primary); +} +.text-secondary { + color: var(--color-secondary); +} +.text-success { + color: var(--color-success); +} +.text-danger { + color: var(--color-danger); +} +.text-warning { + color: var(--color-warning); +} +.text-light { + color: var(--color-text-light); +} -.bg-primary { background: var(--color-primary); } -.bg-secondary { background: var(--color-secondary); } -.bg-success { background: var(--color-success); } -.bg-danger { background: var(--color-danger); } -.bg-warning { background: var(--color-warning); } +.bg-primary { + background: var(--color-primary); +} +.bg-secondary { + background: var(--color-secondary); +} +.bg-success { + background: var(--color-success); +} +.bg-danger { + background: var(--color-danger); +} +.bg-warning { + background: var(--color-warning); +} -.mt-0 { margin-top: 0; } -.mt-1 { margin-top: var(--spacing-xs); } -.mt-2 { margin-top: var(--spacing-sm); } -.mt-3 { margin-top: var(--spacing-md); } -.mt-4 { margin-top: var(--spacing-lg); } -.mt-5 { margin-top: var(--spacing-xl); } +.mt-0 { + margin-top: 0; +} +.mt-1 { + margin-top: var(--spacing-xs); +} +.mt-2 { + margin-top: var(--spacing-sm); +} +.mt-3 { + margin-top: var(--spacing-md); +} +.mt-4 { + margin-top: var(--spacing-lg); +} +.mt-5 { + margin-top: var(--spacing-xl); +} -.mb-0 { margin-bottom: 0; } -.mb-1 { margin-bottom: var(--spacing-xs); } -.mb-2 { margin-bottom: var(--spacing-sm); } -.mb-3 { margin-bottom: var(--spacing-md); } -.mb-4 { margin-bottom: var(--spacing-lg); } -.mb-5 { margin-bottom: var(--spacing-xl); } +.mb-0 { + margin-bottom: 0; +} +.mb-1 { + margin-bottom: var(--spacing-xs); +} +.mb-2 { + margin-bottom: var(--spacing-sm); +} +.mb-3 { + margin-bottom: var(--spacing-md); +} +.mb-4 { + margin-bottom: var(--spacing-lg); +} +.mb-5 { + margin-bottom: var(--spacing-xl); +} -.p-0 { padding: 0; } -.p-1 { padding: var(--spacing-xs); } -.p-2 { padding: var(--spacing-sm); } -.p-3 { padding: var(--spacing-md); } -.p-4 { padding: var(--spacing-lg); } -.p-5 { padding: var(--spacing-xl); } +.p-0 { + padding: 0; +} +.p-1 { + padding: var(--spacing-xs); +} +.p-2 { + padding: var(--spacing-sm); +} +.p-3 { + padding: var(--spacing-md); +} +.p-4 { + padding: var(--spacing-lg); +} +.p-5 { + padding: var(--spacing-xl); +} -.d-flex { display: flex; } -.d-inline-flex { display: inline-flex; } -.d-block { display: block; } -.d-inline-block { display: inline-block; } -.d-none { display: none; } +.d-flex { + display: flex; +} +.d-inline-flex { + display: inline-flex; +} +.d-block { + display: block; +} +.d-inline-block { + display: inline-block; +} +.d-none { + display: none; +} -.flex-row { flex-direction: row; } -.flex-column { flex-direction: column; } -.flex-wrap { flex-wrap: wrap; } -.flex-nowrap { flex-wrap: nowrap; } +.flex-row { + flex-direction: row; +} +.flex-column { + flex-direction: column; +} +.flex-wrap { + flex-wrap: wrap; +} +.flex-nowrap { + flex-wrap: nowrap; +} -.justify-start { justify-content: flex-start; } -.justify-center { justify-content: center; } -.justify-end { justify-content: flex-end; } -.justify-between { justify-content: space-between; } -.justify-around { justify-content: space-around; } +.justify-start { + justify-content: flex-start; +} +.justify-center { + justify-content: center; +} +.justify-end { + justify-content: flex-end; +} +.justify-between { + justify-content: space-between; +} +.justify-around { + justify-content: space-around; +} -.align-start { align-items: flex-start; } -.align-center { align-items: center; } -.align-end { align-items: flex-end; } -.align-stretch { align-items: stretch; } +.align-start { + align-items: flex-start; +} +.align-center { + align-items: center; +} +.align-end { + align-items: flex-end; +} +.align-stretch { + align-items: stretch; +} -.gap-0 { gap: 0; } -.gap-1 { gap: var(--spacing-xs); } -.gap-2 { gap: var(--spacing-sm); } -.gap-3 { gap: var(--spacing-md); } -.gap-4 { gap: var(--spacing-lg); } -.gap-5 { gap: var(--spacing-xl); } +.gap-0 { + gap: 0; +} +.gap-1 { + gap: var(--spacing-xs); +} +.gap-2 { + gap: var(--spacing-sm); +} +.gap-3 { + gap: var(--spacing-md); +} +.gap-4 { + gap: var(--spacing-lg); +} +.gap-5 { + gap: var(--spacing-xl); +} -.w-100 { width: 100%; } -.h-100 { height: 100%; } -.position-relative { position: relative; } -.position-absolute { position: absolute; } -.position-fixed { position: fixed; } \ No newline at end of file +.w-100 { + width: 100%; +} +.h-100 { + height: 100%; +} +.position-relative { + position: relative; +} +.position-absolute { + position: absolute; +} +.position-fixed { + position: fixed; +} diff --git a/src/styles/variables.css b/src/styles/variables.css index 54eb656..a66b5a1 100644 --- a/src/styles/variables.css +++ b/src/styles/variables.css @@ -1,36 +1,62 @@ -/* CSS Variables */ +/* CSS Variables - 基于参考图设计风格 */ + :root { /* Colors */ - --color-primary: #667eea; - --color-primary-rgb: 102, 126, 234; - --color-secondary: #764ba2; - --color-secondary-rgb: 118, 75, 162; - --color-accent: #f093fb; - --color-accent-rgb: 240, 147, 251; + /* 主色 - 青绿色 */ + --color-primary: #00C897; + --color-primary-rgb: 0, 200, 151; + --color-primary-dark: #00A67C; - --color-success: #00b894; - --color-danger: #e74c3c; - --color-info: #14b8a6; - --color-warning: #f39c12; + /* 辅助色 */ + --color-secondary: #00B4D8; + --color-secondary-rgb: 0, 180, 216; - --color-background: #f5f7fa; - --color-border: #e2e8f0; - --color-border-light: #f8fafc; + /* 功能色 */ + --color-success: #2ECC71; + --color-success-rgb: 46, 204, 113; + --color-success-light: #E8F5E9; - --color-text-primary: #2d3748; - --color-text-secondary: #4a5568; - --color-text-light: #718096; - --color-text-white: #ffffff; + --color-danger: #E74C3C; + --color-danger-rgb: 231, 76, 60; + --color-danger-light: #FDE8E8; + + --color-info: #1877F2; + --color-info-rgb: 24, 119, 242; + --color-info-light: #E3F2FD; + + --color-warning: #FFA500; + --color-warning-rgb: 255, 165, 0; + --color-warning-light: #FFF3E0; + + /* 背景色 */ + --color-background: #FFFFFF; + --color-background-secondary: #FAFAFA; + --color-background-tertiary: #F8F9FA; + + /* 深色导航栏 */ + --color-sidebar-bg: #221E1E; + --color-header-bg: #221E1E; + + /* 边框色 */ + --color-border: #E9ECEF; + --color-border-light: #F0F0F0; + + /* 文字颜色 */ + --color-text-primary: #333333; + --color-text-secondary: #666666; + --color-text-light: #6C757D; + --color-text-white: #FFFFFF; + --color-text-disabled: #999999; /* Spacing */ --spacing-xs: 4px; --spacing-sm: 8px; --spacing-md: 12px; --spacing-lg: 16px; - --spacing-xl: 24px; - --spacing-2xl: 32px; - --spacing-3xl: 48px; - --spacing-4xl: 64px; + --spacing-xl: 20px; + --spacing-2xl: 24px; + --spacing-3xl: 32px; + --spacing-4xl: 48px; /* Typography */ --font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; @@ -60,10 +86,10 @@ --border-radius-lg: 12px; --border-radius-xl: 16px; - /* Shadows */ - --shadow-small: 0 1px 3px rgba(0, 0, 0, 0.1); - --shadow-medium: 0 4px 6px rgba(0, 0, 0, 0.1); - --shadow-large: 0 10px 25px rgba(0, 0, 0, 0.15); + /* Shadows - 轻量级阴影 */ + --shadow-small: 0 2px 8px rgba(0, 0, 0, 0.08); + --shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.05); + --shadow-large: 0 8px 24px rgba(0, 0, 0, 0.12); /* Transitions */ --transition-fast: 150ms; @@ -76,7 +102,7 @@ --transition-box-shadow: box-shadow var(--transition-normal) ease; /* Layout */ - --header-height: 64px; + --header-height: 60px; --sidebar-width: 240px; - --content-max-width: 1200px; + --content-max-width: 1400px; } \ No newline at end of file diff --git a/src/views/Admin.vue b/src/views/Admin.vue index 55bf453..1898bce 100644 --- a/src/views/Admin.vue +++ b/src/views/Admin.vue @@ -118,7 +118,7 @@ - + + + +
+ 设置大屏端文字颜色(轮次名称、人名) +
+
+ + +
+ 设置奖品名称的文字颜色 +
+
+ + +
+ 设置轮次名称的字体大小,建议值:28-48 +
+
+ + +
+ 设置奖品名称的字体大小,建议值:48-80 +
+
+ + +
+ 设置人名的字体大小,建议值:24-48 +
+
+ + + + {{ field.label }} + + +
+ 选择在大屏端显示的字段,至少选择一个 +
+
+ + +
+ 开启后显示"姓名: 张三"格式,关闭后只显示"张三" +
+