LOGIC.vue.ftl 3.8 KB
Newer Older
ibizdev's avatar
ibizdev committed
1 2
<#ibizinclude>../../@MACRO/View.ftl</#ibizinclude>
<#ibizinclude>../../@MACRO/RouteParameters.ftl</#ibizinclude>
KK's avatar
KK committed
3
<#ibizinclude>../../../@NAVPARAMS/FUNC/PUBLIC.vue.ftl</#ibizinclude>
ibizdev's avatar
ibizdev committed
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<#if item.getPSViewLogic?? && item.getPSViewLogic()??>
<#assign viewlogic = item.getPSViewLogic()/>
    /**
     * 打开编辑数据视图
     *
     * @param {any[]} args
     * @param {*} [contextJO={}]
     * @param {*} [paramJO={}]
     * @param {*} [$event]
     * @param {*} [xData]
     * @param {*} [container]
     * @param {string} [srfParentDeName]
     * @returns {Promise<any>}
     * @memberof ${srfclassname('${view.name}')}
     */
    public async ${item.name}(args: any[], contextJO: any = {}, paramJO: any = {}, $event?: any, xData?: any, container?: any, srfParentDeName?: string): Promise<any> {
    <#if viewlogic.getOpenDataPSAppView()??>
        <#assign dataview = viewlogic.getOpenDataPSAppView()/>
22 23
        const params: any = { ...paramJO };
        let context = { ...this.context, ...contextJO };
ibizdev's avatar
ibizdev committed
24 25 26 27
        if (args.length > 0) {
            Object.assign(context, args[0]);
        }
        let response: any = null;
28 29 30 31 32
        <#if view.getPSAppViewRefs?? && view.getPSAppViewRefs()??>
        <#list view.getPSAppViewRefs() as refItem>
        <#if refItem.getName() == 'EDITDATA'>
        let panelNavParam = <@getNavigateParams refItem />;
        let panelNavContext = <@getNavigateContext refItem />;
33 34
        //导航参数处理
        const { context: _context, param: _params } = this.$viewTool.formatNavigateParam( panelNavContext, panelNavParam, context, params, {});
35 36 37
        </#if>
        </#list>
        </#if>
ibizdev's avatar
ibizdev committed
38 39 40 41 42 43 44 45
<#--  BEGIN: 输出视图数据  -->
<#if !(dataview.isRedirectView()) && (dataview.getOpenMode() == 'POPUPMODAL' || dataview.getOpenMode()?index_of('DRAWER') == 0 || dataview.getOpenMode() =='POPOVER')>
<@outPutViewInfo dataview/>
</#if>
<#--  END: 输出视图数据  -->
        <#if dataview.isRedirectView()>
        <#assign dataview_de = dataview.getPSDataEntity()/>
        const url: string = '/${app.getPKGCodeName()?lower_case}/${dataview_de.getPSSystemModule().codeName?lower_case}/${dataview_de.codeName?lower_case}/${dataview.getPSDEViewCodeName()?lower_case}/getmodel';
46
        response = await this.globaluiservice.openService.openRedirect(url, _context, _params);
ibizdev's avatar
ibizdev committed
47 48 49 50 51
        <#elseif dataview.getOpenMode() == 'INDEXVIEWTAB' || dataview.getOpenMode() == ''>
        <#--  打开顶级分页视图 -->
            <#--  BEGIN:准备参数  -->
            <@outPutRouteParameters dataview/>
            <#--  END:准备参数  -->
52
        const routeParam: any = this.globaluiservice.openService.formatRouteParam(_context, deResParameters, parameters, args, _params);
ibizdev's avatar
ibizdev committed
53 54 55
        response = await this.globaluiservice.openService.openView(routeParam);
        <#elseif dataview.getOpenMode() = 'POPUPMODAL'>
        <#--  打开模态  -->
56
        response = await this.globaluiservice.openService.openModal(view, _context, _params);
ibizdev's avatar
ibizdev committed
57 58
        <#elseif dataview.getOpenMode()?index_of('DRAWER') == 0>
        <#--  打开抽屉  -->
59
        response = await this.globaluiservice.openService.openDrawer(view, _context, _params);
ibizdev's avatar
ibizdev committed
60 61
        <#elseif dataview.getOpenMode() == 'POPOVER'>
        <#--  打开气泡卡片  -->
62
        response = await this.globaluiservice.openService.openPopOver(view, _context, _params);
ibizdev's avatar
ibizdev committed
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
        <#else>
        this.$notice.warning('${dataview.title} 不支持该模式打开');
        </#if>
        if (response) {
            if (!response || !Object.is(response.ret, 'OK')) {
                return;
            }
            if (!xData || !(xData.refresh instanceof Function)) {
                return;
            }
            xData.refresh(response.datas);
        }
    <#else>
        this.$notice.warning('未指定关系视图');
    </#if>
    }
</#if>