Skip to content

Commit 656b25c

Browse files
pythonHuangclaude
andcommitted
fix: 报表设计器字体/字号设置无效-与颜色同因(@change未传值导致style.fontName/fontSize写入undefined),统一onStyleChange从v-model读最新值写入选中单元格
Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 9ff676f commit 656b25c

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

‎JuggleNet6.Frontend/src/views/report/ReportDesigner.vue‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,19 @@
4646
</div>
4747
<div class="center-panel">
4848
<div class="style-toolbar">
49-
<el-select v-model="selFontName" size="small" style="width:110px" @change="applyStyle('fontName')">
49+
<el-select v-model="selFontName" size="small" style="width:110px" @change="onStyleChange('fontName')">
5050
<el-option v-for="f in ['Microsoft YaHei','SimSun','SimHei','Arial','Times New Roman']" :key="f" :label="f" :value="f" />
5151
</el-select>
52-
<el-select v-model="selFontSize" size="small" style="width:55px" @change="applyStyle('fontSize')">
52+
<el-select v-model="selFontSize" size="small" style="width:55px" @change="onStyleChange('fontSize')">
5353
<el-option v-for="s in [8,9,10,11,12,14,16,18,20,24,28,36]" :key="s" :label="String(s)" :value="s" />
5454
</el-select>
5555
<el-button-group size="small">
5656
<el-button :type="boldActive?'primary':''" @click="applyStyle('bold')"><b>B</b></el-button>
5757
<el-button :type="italicActive?'primary':''" @click="applyStyle('italic')"><i>I</i></el-button>
5858
<el-button @click="applyStyle('underline')"><u>U</u></el-button>
5959
</el-button-group>
60-
<el-color-picker v-model="selColor" size="small" @change="onColorChange('color')" />
61-
<el-color-picker v-model="selBgColor" size="small" @change="onColorChange('bgColor')" />
60+
<el-color-picker v-model="selColor" size="small" @change="onStyleChange('color')" />
61+
<el-color-picker v-model="selBgColor" size="small" @change="onStyleChange('bgColor')" />
6262
<el-button-group size="small">
6363
<el-button @click="applyStyle('align','left')">左</el-button>
6464
<el-button @click="applyStyle('align','center')">中</el-button>
@@ -777,9 +777,13 @@ function applyStyle(prop:string, val?:any) {
777777
})
778778
}
779779
780-
/** 颜色选择器变更(v-model 已更新,读取最新值写入选中单元格) */
781-
function onColorChange(prop: 'color' | 'bgColor') {
782-
applyStyle(prop, prop==='color' ? selColor.value : selBgColor.value)
780+
/** 字体/字号/颜色选择器变更(v-model 已更新,读取最新值写入选中单元格) */
781+
function onStyleChange(prop: 'color' | 'bgColor' | 'fontName' | 'fontSize') {
782+
const val = prop === 'color' ? selColor.value
783+
: prop === 'bgColor' ? selBgColor.value
784+
: prop === 'fontName' ? selFontName.value
785+
: selFontSize.value
786+
applyStyle(prop, val)
783787
}
784788
785789
function toggleBorder() { pushHistory(); forEachSelected((r,c)=>{const key=`${r},${c}`,ex=cells.value[key]||{value:''},s=ex.style||{}; s.border=s.border===false?true:false; cells.value[key]={...ex,style:s}}) }

0 commit comments

Comments
 (0)