Commit 161e6bae authored by 郭志伟's avatar 郭志伟

fix(dashboard.ts): 问题修复

parent fae97f85
...@@ -338,7 +338,7 @@ export default class DynamicForm extends Mixins(ContextMenuMixin, DynamicFormMix ...@@ -338,7 +338,7 @@ export default class DynamicForm extends Mixins(ContextMenuMixin, DynamicFormMix
const ele = this.getCurElement(); const ele = this.getCurElement();
const prevCommonStyle = cloneDeep(ele.commonStyle || {}); const prevCommonStyle = cloneDeep(ele.commonStyle || {});
// this.point.w = this.point.w - (this.commonStyle.paddingLeft || 0) - (this.commonStyle.paddingRight || 0); // this.point.w = this.point.w - (this.commonStyle.paddingLeft || 0) - (this.commonStyle.paddingRight || 0);
this.point.h = this.point.h - (prevCommonStyle.paddingTop || 0) - (prevCommonStyle.paddingBottom || 0) + (this.commonStyle.paddingTop || 0) + (this.commonStyle.paddingBottom || 0); // this.point.h = this.point.h - (prevCommonStyle.paddingTop || 0) - (prevCommonStyle.paddingBottom || 0) + (this.commonStyle.paddingTop || 0) + (this.commonStyle.paddingBottom || 0);
this.updateCommonStyle({ containerIndex: this.curEleIndex, childIndex: this.curChildIndex, data: this.commonStyle }); this.updateCommonStyle({ containerIndex: this.curEleIndex, childIndex: this.curChildIndex, data: this.commonStyle });
this.updatePoint(); this.updatePoint();
// this.adjustHeight(); // this.adjustHeight();
......
...@@ -76,20 +76,31 @@ export default class GoodsTabsMixin extends Vue { ...@@ -76,20 +76,31 @@ export default class GoodsTabsMixin extends Vue {
}); });
}); });
} }
handleTabsRepaetCom() {
const selectedComponentIds = [];
this.pageData.elements.forEach(element => {
if (element.name === 'cs-goods-tabs' || element.name === 'cs-floor-nav') {
element.props?.list.forEach(item => {
if (selectedComponentIds.includes(item.componentId)) {
throw new Error(`组件<${element.title}${element.id}>存在重复组件,请修改后继续操作`);
} else {
selectedComponentIds.push(item.componentId);
}
});
}
});
}
handleComAchorScrollEnable() { handleComAchorScrollEnable() {
const pageData = cloneDeep(this.pageData); const pageData = cloneDeep(this.pageData);
const hasMoreGoodsTabs = pageData.elements.filter(element => element.name === 'cs-goods-tabs').length > 1; const hasMoreGoodsTabs = pageData.elements.filter(element => element.name === 'cs-floor-nav').length > 1;
pageData.elements.forEach((element, idx) => { pageData.elements.forEach((element, idx) => {
if (element.name === 'cs-floor-nav') { if (element.name === 'cs-floor-nav') {
const idList = element.props.list.map(v => v.componentId); const idList = element.props.list.map(v => v.componentId);
if (idList.some(v => !v)) { if (idList.some(v => !v)) {
throw new Error('楼层导航组件不可为空'); throw new Error('楼层导航组件不可为空');
} }
if (idList.length && idList.length !== Array.from(new Set(idList)).length) {
throw new Error('楼层导航不可重复选择组件');
}
} }
if ((this.hasFloorNavCom || hasMoreGoodsTabs) && element.name === 'cs-goods-tabs') { if ((this.hasFloorNavCom || hasMoreGoodsTabs) && element.name === 'cs-floor-nav') {
element.props.anchor = false; element.props.anchor = false;
} }
}); });
......
...@@ -84,7 +84,8 @@ export default class DashBoard extends Mixins(ContextMenuMixin, GoodsTabsMixin, ...@@ -84,7 +84,8 @@ export default class DashBoard extends Mixins(ContextMenuMixin, GoodsTabsMixin,
} else { } else {
this.pageData.elements.sort((a, b) => a.point.y - b.point.y); this.pageData.elements.sort((a, b) => a.point.y - b.point.y);
// 处理商品标签组件 // 处理商品标签组件
let pageData = this.handleComAchorScrollEnable(); let pageData = this.handleTabsRepaetCom();
pageData = this.handleComAchorScrollEnable();
pageData = this.handleGoodsTabs(); pageData = this.handleGoodsTabs();
const { pageName, pageDescribe, pageKeywords, coverImage, isPublish, isTemplate, shareCoverImage, shareOpenMethod } = pageConfig; const { pageName, pageDescribe, pageKeywords, coverImage, isPublish, isTemplate, shareCoverImage, shareOpenMethod } = pageConfig;
const pageInfo = { page: JSON.stringify(pageData), author: user?.account, isPublish, pageName, pageDescribe, pageKeywords, coverImage, isTemplate, shareCoverImage, shareOpenMethod } as pageInfo; const pageInfo = { page: JSON.stringify(pageData), author: user?.account, isPublish, pageName, pageDescribe, pageKeywords, coverImage, isTemplate, shareCoverImage, shareOpenMethod } as pageInfo;
...@@ -102,7 +103,7 @@ export default class DashBoard extends Mixins(ContextMenuMixin, GoodsTabsMixin, ...@@ -102,7 +103,7 @@ export default class DashBoard extends Mixins(ContextMenuMixin, GoodsTabsMixin,
} }
} catch (e) { } catch (e) {
this.showSubmitPopup = false; this.showSubmitPopup = false;
this.$Notice.error({ title: e?.message || '出现未知错误!' }); this.$Notice.error({ title: '提示', desc: e?.message || '出现未知错误!'});
} finally { } finally {
this.inTheSave = false; this.inTheSave = false;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment