VIEW-BASE.vue.ftl 2.3 KB
Newer Older
1 2 3
<#ibizinclude>
../@MACRO/LAYOUTPANEL_VIEW.template.ftl
</#ibizinclude>
4
// 基于 @VIEW/实体卡片视图导航视图/VIEW-BASE.vue.ftl 生成
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
<#ibizinclude>
../@MACRO/VIEW_HEADER-BASE.vue.ftl
</#ibizinclude>


<#ibizinclude>
../@MACRO/VIEW_CONTENT-BASE.vue.ftl
</#ibizinclude>

    /**
     * 视图唯一标识
     *
     * @type {string}
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public viewUID: string = '${srffilepath2(view.getPSAppModule().getCodeName())}-${srffilepath2(view.getCodeName())}';

    /**
     * 分隔值
     *
     * @type {number}
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public split: number = 0.5;

    /**
     * 导航项
     *
     * @type {*}
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public navItem: any = {};

    /**
     * split值变化事件
     *
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public onSplitChange() {
        if (this.split) {
            this.$store.commit("setViewSplit", { viewUID: this.viewUID, viewSplit: this.split });
        }
    }

    /**
     * 初始化分隔值
     *
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public initSplit() {
        if (this.$store.getters.getViewSplit(this.viewUID)) {
            this.split = this.$store.getters.getViewSplit(this.viewUID);
        } else {
<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">
            const containerWidth = (this.$el as any).offsetWidth;
    <#list view.getPSControls() as singleCtrl>
        <#if singleCtrl.getControlType() == 'DATAVIEWEXPBAR' && singleCtrl.getWidth()??>
            this.split = ${singleCtrl.getWidth()?c} / containerWidth;
        </#if>
    </#list>
<#else>
            const containerHeight = (this.$el as any).offsetHeight;
    <#list view.getPSControls() as singleCtrl>
        <#if singleCtrl.getControlType() == 'DATAVIEWEXPBAR' && singleCtrl.getHeight()??>
            this.split = ${singleCtrl.getHeight()?c} / containerHeight;
        </#if>
    </#list>
</#if>
            this.$store.commit("setViewSplit", { viewUID: this.viewUID, viewSplit: this.split }); 
        }  
    }
<#ibizinclude>
../@MACRO/VIEW_BOTTOM-BASE.vue.ftl
</#ibizinclude>

<#ibizinclude>
../@MACRO/VIEW-BASE.style.ftl
82
</#ibizinclude>