Commit 2f165371fbb8479c02faff8f82488b89014f0978

Authored by fengwotao
1 parent df9f5749

perf(src/views/chart): 优化背景图片选择,应用类型自动选择应用背景

... ... @@ -2,9 +2,10 @@
2 2 import { EditCanvasConfigEnum } from '@/store/modules/chartEditStore/chartEditStore.d';
3 3 import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore';
4 4 import { NEllipsis, NImage, NSelect, NSpace, NText, SelectOption } from 'naive-ui';
5   -import { computed, h, unref } from 'vue';
  5 +import { h } from 'vue';
6 6 import { useBackgroundSelect } from '@/utils/external/useBackgroundImageSelect';
7 7
  8 +const emit = defineEmits(['bgChange'])
8 9 const chartEditStore = useChartEditStore()
9 10 const canvasConfig = chartEditStore.getEditCanvasConfig
10 11
... ... @@ -17,10 +18,15 @@ const renderOption = (option: SelectOption) => {
17 18 ])
18 19 }
19 20
20   -const handleUpdateValue = (value: string, _option: SelectOption) => {
  21 +const handleUpdateValue = (value: string) => {
21 22 chartEditStore.setEditCanvasConfig(EditCanvasConfigEnum.BACKGROUND_IMAGE, value)
  23 + emit('bgChange',value)
22 24 }
23 25
  26 +const removeBg = ()=> canvasConfig.backgroundImage = null
  27 +defineExpose({
  28 + removeBg
  29 +})
24 30 </script>
25 31
26 32
... ...
... ... @@ -43,7 +43,7 @@
43 43 <n-space vertical :size="12">
44 44 <n-space>
45 45 <!-- THINGS_KIT 新增预置背景选择 -->
46   - <SelectBackgroundImage />
  46 + <SelectBackgroundImage ref="selectBackgroundImageRef" @bgChange="handleBgChange" />
47 47 <n-text>背景颜色</n-text>
48 48 <div class="picker-height">
49 49 <n-color-picker
... ... @@ -248,10 +248,15 @@ const selectColorValueHandle = (value: number) => {
248 248 canvasConfig.selectColor = value == 0
249 249 }
250 250
  251 +// THINGS_KIT 优化清除背景,背景选择下拉框值还存在
  252 +const selectBackgroundImageRef=ref<typeof SelectBackgroundImage|null>()
  253 +
251 254 // 清除背景
252 255 const clearImage = () => {
253 256 chartEditStore.setEditCanvasConfig(EditCanvasConfigEnum.BACKGROUND_IMAGE, undefined)
254 257 chartEditStore.setEditCanvasConfig(EditCanvasConfigEnum.SELECT_COLOR, true)
  258 + // THINGS_KIT 优化清除背景,背景选择下拉框值还存在
  259 + selectBackgroundImageRef.value?.removeBg()
255 260 }
256 261
257 262 // 启用/关闭 颜色(强制更新)
... ... @@ -291,6 +296,13 @@ const customRequest = (options: UploadCustomRequestOptions) => {
291 296 const selectPreviewType = (key: PreviewScaleEnum) => {
292 297 chartEditStore.setEditCanvasConfig(EditCanvasConfigEnum.PREVIEW_SCALE_TYPE, key)
293 298 }
  299 +
  300 +// THINGS_KIT 优化背景图片选择,应用类型自动选择应用背景
  301 +const handleBgChange=(value:string)=>{
  302 + if(!value) return
  303 + selectColorValue.value = 1,selectColorValueHandle(1),chartEditStore.setEditCanvasConfig(EditCanvasConfigEnum.BACKGROUND_IMAGE, value)
  304 +}
  305 +
294 306 </script>
295 307
296 308 <style lang="scss" scoped>
... ...