<#ibizinclude>
../@MACRO/LAYOUTPANEL_VIEW.template.ftl
</#ibizinclude>

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

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

    /**
     * 布局大小
     *
     * @protected
     * @memberof ${srfclassname('${view.name}')}Base
     */
    protected size =  "6"

    /**
     * 按钮icon
     *
     * @protected
     * @memberof ${srfclassname('${view.name}')}Base
     */
    protected iconname = "grid-outline"


    /**
     * 布局切换事件
     *
     * @protected
     * @memberof ${srfclassname('${view.name}')}Base
     */ 
    protected changeSize(){
        if (this.size == "6") {
            this.size = "12";
            this.iconname = "list-outline"
        } else {
            this.size = "6";
            this.iconname = "grid-outline"
        }
    }

    /**
     * 排序对象
     *
     * @type {*}
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public sort: any = { asc: "", desc: "" };

   /**
     * 排序
     *
     * @param {*} field
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public setSort(field: any) {
        if (this.sort.desc == field) {
            this.sort.desc = "";
            this.viewState.next({ tag: 'dataview', action: 'load', data: {} });
            return
        }
        if (this.sort.asc == field) {
            this.sort.asc = "";
            this.sort.desc = field;
            this.viewState.next({ tag: 'dataview', action: 'load', data: { sort: field + ",desc" } });
        } else {
            this.sort.asc = field;
            this.sort.desc = "";
            this.viewState.next({ tag: 'dataview', action: 'load', data: { sort: field + ",asc" } });
        }
    }

    /**
     * 打开搜索表单
     *
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public openSearchform() {
      let search :any = this.$refs.searchform<#if view.getName()??>${view.getName()?lower_case}</#if>;
      if(search){
          search.open();
      }
    }

    /**
     * 关闭搜索表单
     *
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public closeSearchform(){
      let search :any = this.$refs.searchform<#if view.getName()??>${view.getName()?lower_case}</#if>;
      if(search){
          search.close();
      }
    }

    /**
     * 多选状态改变事件
     *
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public showCheackChange(value:any){
        this.showCheack = value;
    }

    /**
     * 多选状态
     *
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public showCheack = false;

    /**
     * 取消选择状态
     * @memberof ${srfclassname('${view.name}')}Base
     */
    public cancelSelect() {
        this.showCheackChange(false);
    }

    <#if view.hasPSControl('dataview')>
    <#assign dataview = view.getPSControl('dataview')>
    <#if dataview.getBatchPSDEToolbar?? && dataview.getBatchPSDEToolbar()??>
    <#assign batchToolbar = dataview.getBatchPSDEToolbar()>
    public <#if batchToolbar.getName()??> ${batchToolbar.getName()}_click</#if>(tag:string,event:any) {
       let dataview: any = this.$refs.dataview;
        if(dataview && dataview.<#if batchToolbar.getName()??> ${batchToolbar.getName()}_click</#if> instanceof Function){
            dataview.<#if batchToolbar.getName()??> ${batchToolbar.getName()}_click</#if>(tag,event);
        }
    }
    </#if>
    </#if>

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

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