{{#* inline 'getViewDataModel' container}}
{{#if container.psAppViewLogics}}
	{{#each container.psAppViewLogics as | viewLogic |}}
    {{#and viewLogic.name 'opendata' viewLogic.psAppUILogic viewLogic.psAppUILogic.openDataPSAppView viewLogic.psAppUILogic.openDataPSAppView.refPSAppView}}
openData: {
    {{#if viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.redirectView}}
    redirectView: {{viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.redirectView}},
    redirectParam: {
        redirectAction: '{{ viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.getDataPSAppDEAction.codeName}}',
        {{#and viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.psAppDataEntity viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.psAppDataEntity.minorPSAppDERSs}}
        minorDERSs: [
            {{#each viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.psAppDataEntity.minorPSAppDERSs as | minDERSs |}}
            { parentDeField: '{{minDERSs.parentPSAppDEField.codeName}}', majorDeCodeName: '{{minDERSs.majorPSAppDataEntity.codeName}}' }{{#unless @last}},{{/unless}}
            {{/each}}
        ]
        {{/and}}
    },
    {{/if}}
    deCodeName: '{{#if viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.psAppDataEntity}}{{viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.psAppDataEntity.codeName}}{{/if}}',
    openDataViewName: '{{viewLogic.psAppUILogic.openDataPSAppView.refPSAppView.codeName}}',
    {{#if viewLogic.psAppUILogic.openDataPSAppView.psNavigateContexts}}
    navContext:"{{> @macro/common/navparam.hbs appNavParams=viewLogic.psAppUILogic.openDataPSAppView.psNavigateContexts}}",
    {{/if}}
    {{#if viewLogic.psAppUILogic.openDataPSAppView.psNavigateParams}}
    navViewParams:"{{> @macro/common/navparam.hbs appNavParams=viewLogic.psAppUILogic.openDataPSAppView.psNavigateParams}}",
    {{/if}}
},
    {{/and}}
    {{#and viewLogic.name 'newdata' viewLogic.psAppUILogic viewLogic.psAppUILogic.newDataPSAppView viewLogic.psAppUILogic.newDataPSAppView.refPSAppView}}
newData: {
    {{#if viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.redirectView}}
    redirectView: {{viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.redirectView}},
    redirectParam: {
        redirectAction: '{{ viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.getDataPSAppDEAction.codeName}}',
        {{#and viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.psAppDataEntity viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.psAppDataEntity.minorPSAppDERSs}}
        minorDERSs: [
            {{#each viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.psAppDataEntity.minorPSAppDERSs as | minDERSs |}}
            { parentDeField: '{{minDERSs.parentPSAppDEField.codeName}}', majorDeCodeName: '{{minDERSs.majorPSAppDataEntity.codeName}}' }{{#unless @last}},{{/unless}}
            {{/each}}
        ]
        {{/and}}
    },
    {{/if}}
    deCodeName: '{{#if viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.psAppDataEntity}}{{viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.psAppDataEntity.codeName}}{{/if}}',
    newDataViewName: '{{viewLogic.psAppUILogic.newDataPSAppView.refPSAppView.codeName}}',
    {{#if viewLogic.psAppUILogic.newDataPSAppView.psNavigateContexts}}
    navContext:"{{> @macro/common/navparam.hbs appNavParams=viewLogic.psAppUILogic.newDataPSAppView.psNavigateContexts}}",
    {{/if}}
    {{#if viewLogic.psAppUILogic.newDataPSAppView.psNavigateParams}}
    navViewParams:"{{> @macro/common/navparam.hbs appNavParams=viewLogic.psAppUILogic.newDataPSAppView.psNavigateParams}}",
    {{/if}}
},
    {{/and}}
	{{/each}}
{{/if}}
{{/inline}}
caption: "{{page.caption}}",
title: "{{page.title}}",
capPSLanguageRes: "{{page.capPSLanguageRes.lanResTag}}",
titlePSLanguageRes: "{{page.titlePSLanguageRes.lanResTag}}",
showDataInfoBar: {{#if page.showDataInfoBar}}true{{else}}false{{/if}},
codeName: '{{page.codeName}}',
{{#and page.psViewLayoutPanel (eq page.psViewLayoutPanel.useDefaultLayout false) page.psViewLayoutPanel.viewProxyMode}}
uiEngineModel: {{> @macro/ui-engine/view-ui-engine-model.hbs item=page.psViewLayoutPanel}},
{{else}}
uiEngineModel: {{> @macro/ui-engine/view-ui-engine-model.hbs item=page}},
{{/and}}
ctrls: [
{{#if (and page.psViewLayoutPanel page.psViewLayoutPanel.psControls)}}
    {{#each page.psViewLayoutPanel.psControls as | ctrl |}}
    {
        name: '{{ctrl.name}}',
        codeName: '{{ctrl.codeName}}',
        controlType: '{{ctrl.controlType}}',
    }{{#unless @last}},{{/unless}}
    {{/each}}
{{else}}
    {{#if page.ctrls}}
        {{#each page.ctrls as | ctrl |}}
    {
        name: '{{ctrl.name}}',
        codeName: '{{ctrl.codeName}}',
        controlType: '{{ctrl.controlType}}',
    }{{#unless @last}},{{/unless}}
        {{/each}}
    {{/if}}
{{/if}}
],
ctrlParams: {
{{#if (and page.psViewLayoutPanel page.psViewLayoutPanel.psControls)}}
    {{#each page.psViewLayoutPanel.psControls as | ctrl |}}
    {{ctrl.psAppDataEntity.codeName}}{{ctrl.name}}: {{CustomParams 'ctrl' ctrl.psControlParam.ctrlParams}},
    {{/each}}
{{else if page.ctrls}}
{{#and (neq page.type 'DEWFDYNAACTIONVIEW') (neq page.type 'DEWFDYNAEDITVIEW') (neq page.type 'DEWFDYNAEDITVIEW3') (neq page.type 'DEWFDYNASTARTVIEW')}}
    {{#each page.ctrls as | ctrl |}}
    {{ctrl.psAppDataEntity.codeName}}{{ctrl.name}}: {{CustomParams 'ctrl' ctrl.psControlParam.ctrlParams}},
    {{/each}}
{{/and}}
{{/if}}
},
{{#if page.psViewLayoutPanel.useDefaultLayout}}
cssName: "{{#if page.psSysCss}}{{page.psSysCss.cssName}}{{/if}}",
{{else}}
cssName: "{{#if page.psViewLayoutPanel.psSysCss}}{{page.psViewLayoutPanel.psSysCss.cssName}}{{else if page.psSysCss}}{{page.psSysCss.cssName}}{{/if}}",
{{/if}}
name: "{{page.name}}",
viewType: "{{page.viewType}}",
viewStyle: "{{page.viewStyle}}",
showCaption: {{#if page.showCaptionBar}}true{{else}}false{{/if}},
isLoadDefault: {{#if (eq page.loadDefault false)}}false{{else}}true{{/if}},
{{#if page.psAppDataEntity}}
entityCodeName: "{{page.psAppDataEntity.codeName}}",
keyPSAppDEField: "{{page.psAppDataEntity.keyPSAppDEField.codeName}}",
majorPSAppDEField: "{{page.psAppDataEntity.majorPSAppDEField.codeName}}",
{{/if}}
{{#if page.enableQuickSearch}}
enableQuickSearch: true,
{{/if}}
expandSearchForm:{{#if page.expandSearchForm}}true{{else}}false{{/if}},
{{#and page.enableQuickGroup page.quickGroupPSCodeList}}
enableQuickGroup: true,
quickGroupCodeList: "{{page.quickGroupPSCodeList.codeListTag}}",
{{/and}}
{{!-- 存在视图布局面板，且是视图代理模式 --}}
{{#and page.psViewLayoutPanel (eq page.psViewLayoutPanel.useDefaultLayout false) page.psViewLayoutPanel.viewProxyMode}}
{{> getViewDataModel container=page.psViewLayoutPanel}}
{{else}}
{{> getViewDataModel container=page}}
{{/and}}
{{#page.ctrls}}
  {{#eq controlType 'TOOLBAR'}}
toolbarItems: [
  {{> @macro/widgets/toolbar/toolbar-item.hbs items=psDEToolbarItems view=page toolbar=this}}
],
  {{/eq}}
{{/page.ctrls}}
{{#if page.xDataControlName}}
xDataCtrlName: "{{page.xDataControlName}}",
{{/if}}
{{!-- {{#if page.psAppViewMsgGroup}}
viewMsgGroupName: "{{page.psAppViewMsgGroup.codeName}}",
{{/if}} --}}
{{> @macro/common/counter.hbs page=page}}
quickSearchPlaceholder: [{{#if page.psAppDataEntity}}{{#each page.psAppDataEntity.allPSAppDEFields as | field | }}{{#if field.enableQuickSearch}}'{{field.logicName}}'{{#unless @last}},{{/unless}}{{/if}}{{/each}}{{/if}}].join(","),
{{#if page.psViewLayoutPanel}}
useDefaultLayout: {{page.psViewLayoutPanel.useDefaultLayout}},
  {{#unless page.psViewLayoutPanel.useDefaultLayout}}
layoutMode: "{{page.psViewLayoutPanel.layoutMode}}",
rootLayoutDetailNames: [
    {{~#if page.psViewLayoutPanel.rootPSPanelItems~}}
      {{~#each page.psViewLayoutPanel.rootPSPanelItems as | panelItem |~}}
  "{{panelItem.name}}"{{#unless @last}},{{/unless}}
      {{~/each~}}
    {{~/if~}}
],
    {{#if page.psViewLayoutPanel.psControls}}
      {{#each page.psViewLayoutPanel.psControls as | ctrl |}}
        {{#eq ctrl.controlType 'TOOLBAR'}}
toolbarItems: [
  {{> @macro/widgets/toolbar/toolbar-item.hbs items=ctrl.psDEToolbarItems view=page toolbar=ctrl}}
],
        {{/eq}}
      {{/each}}
    {{/if}}
layoutItems: {
    {{#if page.psViewLayoutPanel.rootPSPanelItems}}
      {{#each page.psViewLayoutPanel.rootPSPanelItems as | panelItem |}}
  {{> @macro/widgets/panel-detail/include-panel.hbs type="PANELDETAILSMODEL" item=panelItem panelType="VIEWLAYOUT" xDataCtrlName=page.xDataControlName page=page}}
      {{/each}}
    {{/if}}
},
  {{/unless}}
{{/if}}