浏览代码

feat(marketingEdit): 添加元素类型标识支持

- 在添加文字和图片元素时增加 data-type 属性
- 更新画布序列化逻辑以保留 data-type 信息
- 注释掉动态属性菜单项避免重复功能入口
panqiuyao 1 周之前
父节点
当前提交
19c9085db6

+ 1 - 1
frontend/src/views/components/marketingEdit/index.vue

@@ -373,7 +373,7 @@ export default {
       if(!this.fcanvas || snapshotIndex === undefined || snapshotIndex === null) return
       const canvasData = this.data[snapshotIndex]
       if(!canvasData) return
-      const json = JSON.stringify(this.fcanvas.toJSON(['name','sort','mtr','id','selectable','erasable','data-key','data-value']))
+      const json = JSON.stringify(this.fcanvas.toJSON(['name','sort','mtr','id','selectable','erasable','data-key','data-type','data-value']))
       let preview = canvasData.preview || ''
       try{
         preview = this.fcanvas.toDataURL({

+ 4 - 2
frontend/src/views/components/marketingEdit/tpl/add.js

@@ -38,7 +38,7 @@ let add = () => {
                   </template>
                   <el-menu-item-group >
                         <el-menu-item index="1-1" @click.native="addText">普通文字</el-menu-item>
-                        <el-menu-item index="1-2" @click.native="addText({
+          <!--              <el-menu-item index="1-2" @click.native="addText({
                                   left:50,
                                   top:50,
                                   'data-key':'{{text}}',
@@ -51,7 +51,7 @@ let add = () => {
                                   >
                                     动态属性
                                   </el-tooltip>
-                        </el-menu-item>
+                        </el-menu-item>-->
                         <el-sub-menu index="1-3">
                           <template #title>
                             <span>商品文字</span>
@@ -62,6 +62,7 @@ let add = () => {
                                   left:50,
                                   top:50,
                                   'data-key':item.key,
+                                  'data-type':'text',
                                   'data-value':item.value,
                                   text:item.value
                               })"
@@ -110,6 +111,7 @@ let add = () => {
                                   top:50,
                                     maxWidth:fcanvas.width*0.8,
                                     maxHeight:fcanvas.height*0.8,
+                                  'data-type':'img',
                                   'data-key':item.key,
                                   'data-value':item.value,
                               })"