提交 722f860e 编写于 作者: RedPig97's avatar RedPig97

update:多语言优化

上级 4dbf3083
......@@ -32,10 +32,6 @@ import ${srfclassname('${curAppEntity.getCodeName()}')}UIService from '@/uiservi
<#if appde?? && !hasAppDE??>
import ${srfclassname('${appde.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(appde.getCodeName())}/${srffilepath2(appde.getCodeName())}-ui-service';
</#if>
<#-- 语言资源入口 -->
<#ibizinclude>
./LANGBASE.vue.ftl
</#ibizinclude>
<#if import_block??>${import_block}</#if>
@Component({
......
......@@ -32,10 +32,6 @@ import ${srfclassname('${curAppEntity.getCodeName()}')}UIService from '@/uiservi
<#if appde?? && !hasAppDE??>
import ${srfclassname('${appde.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(appde.getCodeName())}/${srffilepath2(appde.getCodeName())}-ui-service';
</#if>
<#-- 语言资源入口 -->
<#ibizinclude>
./LANGBASE.vue.ftl
</#ibizinclude>
<#if import_block??>${import_block}</#if>
@Component({
......
<#assign langbase><#if appde??>entities.${appde.getCodeName()?lower_case}.${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}</#if></#assign>
\ No newline at end of file
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#assign ListContent>
<div class="app-list-item-content">
......@@ -85,7 +85,7 @@
</div>
</div>
<div v-else style="text-align: center;">
{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}
{{<@getEmptyTextLanguage ctrl/>}}
</div>
</el-collapse-item>
</el-collapse>
......@@ -96,7 +96,7 @@
</template>
</div>
<div v-else>
{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}
{{ <@getEmptyTextLanguage ctrl/>}}
<#if ctrl.getQuickPSDEToolbar?? && ctrl.getQuickPSDEToolbar()??>
<span class="quick-toolbar">
<#assign quickToolbar = ctrl.getQuickPSDEToolbar()/>
......
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
${ctrl.render.code}
......
<#ibizinclude>../@MACRO/FUNC/MACRO.ftl</#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if ctrl.getName() != 'toolbar'>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}Models</#assign>
......@@ -14,7 +14,7 @@ ${item.render.code}
<#if item.getTooltip()?? && item.getTooltip() != ''>
<tooltip :transfer="true" :max-width="600">
<#if deuiaction.getUIActionTag() == 'ExportExcel'>
<app-export-excel :item="${ModelsName}.${item.name}" :caption="$t('${langbase}.${item.name}.caption')" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel>
<app-export-excel :item="${ModelsName}.${item.name}" :caption="<@getItemLanguageCaption item />" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel>
<#else>
<#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
<#assign uiaction = item.getPSUIAction() />
......@@ -23,17 +23,17 @@ ${item.render.code}
</#if>
<i-button v-show="${ModelsName}.${item.name}.visabled" :disabled="${ModelsName}.${item.name}.disabled" class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' v-button-loading:i-button @click="${ctrl.name}_click({ tag: '${item.name}' }, $event)">
<#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??><@getItemLanguageCaption item /><#else>'${item.getCaption()}'</#if>}}</span></#if>
</i-button>
<#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
</Badge>
</#if>
</#if>
<div slot='content'>{{<#if langbase??>$t('${langbase}.${item.name}.tip')<#else>'${item.getTooltip()}'</#if>}}</div>
<div slot='content'>{{<@getItemLanguageCaption item />}}</div>
</tooltip>
<#else>
<#if deuiaction.getUIActionTag() == 'ExportExcel'>
<app-export-excel :item="${ModelsName}.${item.name}" :caption="$t('${langbase}.${item.name}.caption')" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel>
<app-export-excel :item="${ModelsName}.${item.name}" :caption="<@getItemLanguageCaption item />" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel>
<#else>
<#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
<#assign uiaction = item.getPSUIAction() />
......@@ -42,7 +42,7 @@ ${item.render.code}
</#if>
<i-button v-show="${ModelsName}.${item.name}.visabled" :disabled="${ModelsName}.${item.name}.disabled" class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' v-button-loading:i-button @click="${ctrl.name}_click({ tag: '${item.name}' }, $event)">
<#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??><@getItemLanguageCaption item /><#else>'${item.getCaption()}'</#if>}}</span></#if>
</i-button>
<#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
</Badge>
......
<#ibizinclude>../@MACRO/FUNC/MACRO.ftl</#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if ctrl.getName() != 'toolbar'>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}Models</#assign>
......@@ -16,17 +16,17 @@ ${item.render.code}
<@badge item>
<i-button class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>'>
<#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if>
<#if item.isShowCaption()><span class='caption'>{{<@getItemLanguageCaption item />}}</span></#if>
<icon type="ios-arrow-down"></icon>
</i-button>
</@badge>
<div slot='content'><#if langbase??>{{<#if langbase??>$t('${langbase}.${item.name}.tip')<#else>'${item.getTooltip()}'</#if>}}</#if></div>
<div slot='content'>{{<@getItemLanguageCaption item />}}</div>
</tooltip>
<#else>
<@badge item>
<i-button class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>'>
<#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if>
<#if item.isShowCaption()><span class='caption'>{{<@getItemLanguageCaption item />}}</span></#if>
<icon type="ios-arrow-down"></icon>
</i-button>
</@badge>
......
......@@ -29,6 +29,11 @@
</#if>
resourcetag: '<#if item.getAccessKey()??>${item.getAccessKey()}</#if>',
authtag:'${app.getCodeName()}-${ctrl.getCodeName()}-${item.getName()}',
<#if item.getCapPSLanguageRes()??>
cappslanguageres: '${item.getCapPSLanguageRes().getLanResTag()}',
<#else>
cappslanguageres: '',
</#if>
<#if item.getPSAppMenuItems()??>
items: [
<#list item.getPSAppMenuItems() as child>
......
......@@ -9,7 +9,7 @@
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')"/>
<i class='fa fa-cogs' v-else></i>
</span>
<span>{{$t('app.menus.${ctrl.codeName?lower_case}.' + item.name)}}</span>
<span>{{$t(item.cappslanguageres, item.text)}}</span>
<span class="line"></span>
</p>
<p style=" display: 'flex' ">
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if item.render??>
${item.render.code}
......@@ -7,6 +7,6 @@ ${item.render.code}
<i-button type="primary" @click="${item.getName()}_click($event)"<#if item.getPSSysCss?? && item.getPSSysCss()??> class="${item.getPSSysCss().getCssName()}"</#if>
style="<#if item.getHeight() gt 0>height: ${item.getHeight()?c}px;</#if><#if item.getWidth() gt 0>width: ${item.getWidth()?c}px;</#if>">
<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}" style="margin-right: 2px;"></i></#if></#if>
<#if item.isShowCaption()><span ><#if item.getCaptionItemName()?? && item.getCaptionItemName()?length gt 0>{{data.${item.getCaptionItemName()}}}<#else><#if langbase??>{{$t('${langbase}.details.${item.name}')}}<#else>${item.getCaption()}</#if></#if></span></#if>
<#if item.isShowCaption()><span ><#if item.getCaptionItemName()?? && item.getCaptionItemName()?length gt 0>{{data.${item.getCaptionItemName()}}}<#else><@getItemLanguageCaption item /></#if></span></#if>
</i-button>
</#if>
\ No newline at end of file
<#if !item.isHidden()>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-form-item name='${item.name}' :itemRules="this.rules.${item.name}" class='<#if item.getPSSysCss?? && item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if>'<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??> labelStyle="${item.getLabelPSSysCss().getCssName()}"</#if> :caption="<#if langbase??>$t('${langbase}.details.${item.name}')<#else>'${item.getCaption()}'</#if>" uiStyle="${item.getDetailStyle()}" :labelWidth="${item.getLabelWidth()?c}" :isShowCaption="${item.isShowCaption()?c}" :error="detailsModel.${item.name}.error" :isEmptyCaption="${item.isEmptyCaption()?c}" labelPos="${item.getLabelPos()}">
<app-form-item name='${item.name}' :itemRules="this.rules.${item.name}" class='<#if item.getPSSysCss?? && item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if>'<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??> labelStyle="${item.getLabelPSSysCss().getCssName()}"</#if> :caption="<@getItemLanguageCaption item />" uiStyle="${item.getDetailStyle()}" :labelWidth="${item.getLabelWidth()?c}" :isShowCaption="${item.isShowCaption()?c}" :error="detailsModel.${item.name}.error" :isEmptyCaption="${item.isEmptyCaption()?c}" labelPos="${item.getLabelPos()}">
<#if item.isCompositeItem()>
<#assign formitems=item.getPSDEFormItems()>
<app-range-editor v-model="data.${item.name}" :activeData="data" :disabled="detailsModel.${item.name}.disabled" name="${item.name}" editorType="${item.getEditorType()}" format="${item.getEditorParam("TIMEFMT","")}" :refFormItem="[<#list formitems as formitem><#if formitem_index gt 0>,</#if>'${formitem.name}'</#list>]" @formitemvaluechange="onFormItemValueChange" style="${item.getEditorCssStyle()}"></app-range-editor>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-form-group layoutType="<#if item.getPSLayoutPos()??>${item.getPSLayoutPos().getLayout()}</#if>" titleStyle="<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??>${item.getLabelPSSysCss().getCssName()}</#if>" class='<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' uiActionGroup="detailsModel.${item.name}.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="<#if langbase??>$t('${langbase}.details.${item.name}')<#else>'${item.getCaption()}'</#if>" :isShowCaption="${item.isShowCaption()?c}" uiStyle="${item.getDetailStyle()}" :titleBarCloseMode="${item.getTitleBarCloseMode()}" :isInfoGroupMode="${item.isInfoGroupMode()?c}">
<app-form-group layoutType="<#if item.getPSLayoutPos()??>${item.getPSLayoutPos().getLayout()}</#if>" titleStyle="<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??>${item.getLabelPSSysCss().getCssName()}</#if>" class='<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' uiActionGroup="detailsModel.${item.name}.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="<@getItemLanguageCaption item />" :isShowCaption="${item.isShowCaption()?c}" uiStyle="${item.getDetailStyle()}" :titleBarCloseMode="${item.getTitleBarCloseMode()}" :isInfoGroupMode="${item.isInfoGroupMode()?c}">
<#assign content>
<#list item.getPSDEFormDetails() as formmenber>
<#if !(formmenber.isHidden?? && formmenber.isHidden())>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#assign detail>caption: '${item.getCaption()}', detailType: '${item.getDetailType()}', name: '${item.getName()}', visible: <#if item.getPSDEFDGroupLogic('PANELVISIBLE')??>false<#else>true</#if>, isShowCaption: ${item.isShowCaption()?c}, form: this</#assign>
<#if item.getDetailType() == 'BUTTON'>
......@@ -14,7 +14,7 @@ new FormPageModel({ ${detail} })
<#elseif item.getDetailType() == 'FORMPART'>
new FormPartModel({ ${detail} })
<#elseif item.getDetailType() == 'GROUPPANEL'>
new FormGroupPanelModel({ ${detail}, uiActionGroup: { caption: '<#if item.getPSUIActionGroup()??>${item.getPSUIActionGroup().getName()}</#if>', langbase: '<#if langbase??>${langbase}</#if>', extractMode: '<#if item.getActionGroupExtractMode?? && item.getActionGroupExtractMode()??>${item.getActionGroupExtractMode()}<#else>ITEM</#if>', details: [<#if item.getPSUIActionGroup()??><#list item.getPSUIActionGroup().getPSUIActionGroupDetails() as uadetails><#if uadetails_index gt 0>, </#if>{ name: '${item.getName()}_${uadetails.getName()}', caption: '${uadetails.getPSUIAction().getCaption()}', uiactiontag: '${uadetails.getPSUIAction().getUIActionTag()?lower_case}'<#if uadetails.getPSUIAction().getPSSysImage()??>, <#assign viewimg=uadetails.getPSUIAction().getPSSysImage()/><#if viewimg.getCssClass() != ''>icon: '${viewimg.getCssClass()}'<#else>img: '${viewimg.getImagePath()}'</#if></#if> }</#list></#if>] } })
new FormGroupPanelModel({ ${detail}, uiActionGroup: { caption: '<#if item.getPSUIActionGroup()??>${item.getPSUIActionGroup().getName()}</#if>', langbase: '<#if item.getCapPSLanguageRes?? && item.getCapPSLanguageRes()??>${item.getCapPSLanguageRes().getLanResTag()}</#if>', extractMode: '<#if item.getActionGroupExtractMode?? && item.getActionGroupExtractMode()??>${item.getActionGroupExtractMode()}<#else>ITEM</#if>', details: [<#if item.getPSUIActionGroup()??><#list item.getPSUIActionGroup().getPSUIActionGroupDetails() as uadetails><#if uadetails_index gt 0>, </#if>{ name: '${item.getName()}_${uadetails.getName()}', caption: '${uadetails.getPSUIAction().getCaption()}',<#if uadetails.getPSUIAction().getCapPSLanguageRes?? && uadetails.getPSUIAction().getCapPSLanguageRes()??>captionLanbase: '${uadetails.getPSUIAction().getCapPSLanguageRes().getLanResTag()}',</#if> uiactiontag: '${uadetails.getPSUIAction().getUIActionTag()?lower_case}'<#if uadetails.getPSUIAction().getPSSysImage()??>, <#assign viewimg=uadetails.getPSUIAction().getPSSysImage()/><#if viewimg.getCssClass() != ''>icon: '${viewimg.getCssClass()}'<#else>img: '${viewimg.getImagePath()}'</#if></#if> }</#list></#if>] } })
<#elseif item.getDetailType() == 'IFRAME'>
new FormIFrameModel({ ${detail} })
<#elseif item.getDetailType() == 'RAWITEM'>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<tabs :animated="false" name='${item.getCodeName()?lower_case}' v-show="detailsModel.${item.name}.visible" class='<#if item.getPSSysCss?? && item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if><#if item.getPSLayoutPos()?? && item.getPSLayoutPos().getLayout() == "FLEX"> app-tabpanel-flex</#if>'
:value="detailsModel.${item.name}.activiedPage" @on-click="detailsModel.${item.name}.clickPage($event)">
......@@ -27,7 +27,7 @@
}),
</#if>
</#if>
<#if langbase??>$t('${langbase}.details.${formmenber.name}')<#else>'${formmenber.getCaption()}'</#if>
<@getItemLanguageCaption formmenber />
])
}">
${P.getPartCode(formmenber).code}
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if ctrl.render??>
${ctrl.render.code}
......@@ -42,7 +42,7 @@ ${ctrl.render.code}
}),
</#if>
</#if>
<#if langbase??>$t('${langbase}.details.${formpage.name}')<#else>'${formpage.getCaption()}'</#if>
<@getItemLanguageCaption formpage />
])
}">
${P.getPartCode(formpage).code}
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
${ctrl.render.code}
<#else>
<div class="app-data-chart<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>">
<div v-show="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>{{$t('<#if langbase??>${langbase}.nodata</#if>')}}</div>
<div v-show="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>{{<@getEmptyTextLanguage ctrl/>}}</div>
<div v-show="!isNoData" class="app-charts" :id="chartId" style="<#if ctrl.getWidth()?? && ctrl.getWidth() gt 0>width: ${ctrl.getWidth()?c}px;</#if>height: <#if ctrl.getHeight() gt 0>${ctrl.getHeight()?c}px<#else>100%</#if>;padding: 6px 0;"></div>
</div>
</#if>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
${ctrl.render.code}
<#else>
<div class="app-data-chart<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>">
<div v-show="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>{{$t('<#if langbase??>${langbase}.nodata</#if>')}}</div>
<div v-show="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>{{<@getEmptyTextLanguage ctrl/>}}</div>
<div v-show="!isNoData" class="app-charts" :id="chartId" style="<#if ctrl.getWidth()?? && ctrl.getWidth() gt 0>width: ${ctrl.getWidth()?c}px;</#if>height: <#if ctrl.getHeight() gt 0>${ctrl.getHeight()?c}px<#else>100%</#if>;padding: 6px 0;"></div>
</div>
</#if>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<#if ctrl.render??><#t>
......@@ -98,7 +98,7 @@
</a>
</div>
<div v-else class="item-nodata">
{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}
{{ <@getEmptyTextLanguage ctrl/>}}
</div>
</el-collapse-item>
</el-collapse>
......@@ -120,7 +120,7 @@
</#if>
</row>
<div v-show="items.length == 0" class="app-data-empty">
{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}
{{ <@getEmptyTextLanguage ctrl/>}}
<#if ctrl.getQuickPSDEToolbar?? && ctrl.getQuickPSDEToolbar()??>
<span class="quick-toolbar">
<#assign quickToolbar = ctrl.getQuickPSDEToolbar()/>
......@@ -570,7 +570,13 @@ import CodeListService from "@/codelist/codelist-service";
<#list ctrl.getPSDEDataViewDataItems() as dataItem>
<#if dataItem.getPSAppDEField?? && dataItem.getPSAppDEField()?? && !dataItem.getPSAppDEField().isKeyField()>
<#if !P.exists("sort", dataItem.getPSDEField().getCodeName(), "") >
'${dataItem.getPSDEField().getCodeName()?lower_case}'<#if dataItem_has_next>,</#if>
{
codeName: '${dataItem.getPSDEField().getCodeName()?lower_case}',
logicName: '${dataItem.getPSDEField().getLogicName()}',
<#if dataItem.getPSDEField().getLNPSLanguageRes?? && dataItem.getPSDEField().getLNPSLanguageRes()??>
logicNameLenRes: '${dataItem.getPSDEField().getLNPSLanguageRes().getLanResTag()}'
</#if>
}<#if dataItem_has_next>,</#if>
</#if>
</#if>
</#list>
......
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
${ctrl.render.code}
......@@ -43,7 +40,7 @@ ${ctrl.render.code}
</el-timeline>
</template>
<template v-else>
<span class="app-data-empty">{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}</span>
<span class="app-data-empty">{{ <@getEmptyTextLanguage ctrl/>}}</span>
<#if ctrl.getQuickPSDEToolbar?? && ctrl.getQuickPSDEToolbar()??>
<span class="quick-toolbar">
<#assign quickToolbar = ctrl.getQuickPSDEToolbar()/>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
......@@ -22,7 +19,7 @@
@current-change="select"
>
<template slot="empty">
{{$t('<#if langbase??>${langbase}.nodata</#if>')}}
{{<@getEmptyTextLanguage ctrl/>}}
</template>
<#if ctrl.getPSDETreeColumns()??>
<#list ctrl.getPSDETreeColumns() as column>
......
// 基于 @CONTROL/树表格(增强)/SERVICE.ts.ftl 生成
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#assign import_block>
import CodeListService from "@/codelist/codelist-service";
import i18n from '@/locale';
......@@ -252,11 +255,11 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
return new Promise((resolve:any,reject:any) =>{
<#if node.getTreeNodeType() == 'STATIC'>
let treeNode: any = {};
Object.assign(treeNode, { text: 'entities.${appde.getCodeName()?lower_case}.${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}.nodes.${node.getNodeType()?lower_case}' });
Object.assign(treeNode, { text: <@getNameLanguage node /> });
Object.assign(treeNode, { isUseLangRes: true });
<#if node.isEnableQuickSearch()>
if(filter.srfnodefilter && !Object.is(filter.srfnodefilter,"")){
if((i18n.t(treeNode.text) as string).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
if((treeNode.text).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
return Promise.reject();
}
</#if>
......@@ -342,7 +345,7 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
const handleChildData = (context:any,item:any,) =>{
Object.assign(item,{srfappctx:context});
<#if node.getPSCodeList().getCodeListType() == 'STATIC'>
Object.assign(item, { text: 'codelist.${node.getPSCodeList().codeName}.'+item.value });
Object.assign(item, { text: <@getNameLanguage node /> });
Object.assign(item, { isUseLangRes: true });
<#else>
Object.assign(item, { text: item.text });
......@@ -393,14 +396,14 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
let treeNode: any = {};
Object.assign(treeNode,{srfappctx:context});
<#if node.getPSCodeList().getCodeListType() == 'STATIC'>
Object.assign(treeNode, { text: 'codelist.${node.getPSCodeList().codeName}.'+item.value });
Object.assign(treeNode, { text: <@getNameLanguage node /> });
Object.assign(treeNode, { isUseLangRes: true });
<#else>
Object.assign(treeNode, { text: item.text });
</#if>
<#if node.isEnableQuickSearch()>
if(filter.srfnodefilter && !Object.is(filter.srfnodefilter,"")){
if((i18n.t(treeNode.text) as string).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
if((treeNode.text).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
return;
}
</#if>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
......@@ -27,7 +27,7 @@
@check="onCheck"
@current-change="selectionChange"
:filter-node-method="filterNode"
:empty-text="$t('<#if langbase??>${langbase}.nodata</#if>')"
:empty-text="<@getEmptyTextLanguage ctrl/>"
>
<template slot-scope="{ node, data }">
<context-menu :ref='data.id' :isBlocked="true" :contextMenuStyle="{width: '100%'}" :data="node" :renderContent="renderContextMenu" @showContext="showContext(data,$event)">
......
// 基于 @CONTROL/树视图/SERVICE.ts.ftl 生成
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#assign import_block>
import CodeListService from "@/codelist/codelist-service";
import i18n from '@/locale';
......@@ -221,11 +224,11 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
return new Promise((resolve:any,reject:any) =>{
<#if node.getTreeNodeType() == 'STATIC'>
let treeNode: any = {};
Object.assign(treeNode, { text: i18n.t('entities.${appde.getCodeName()?lower_case}.${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}.nodes.${node.getNodeType()?lower_case}') });
Object.assign(treeNode, { text: <@getNameLanguage node /> });
Object.assign(treeNode, { isUseLangRes: true });
<#if node.isEnableQuickSearch()>
if(filter.srfnodefilter && !Object.is(filter.srfnodefilter,"")){
if((i18n.t(treeNode.text) as string).toUpperCase().indexOf(filter.srfnodefilter.toUpperCase())==-1)
if((treeNode.text).toUpperCase().indexOf(filter.srfnodefilter.toUpperCase())==-1)
return resolve(list);
}
</#if>
......@@ -308,7 +311,7 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
const handleChildData = (context:any,item:any,) =>{
Object.assign(item,{srfappctx:context});
<#if node.getPSCodeList().getCodeListType() == 'STATIC'>
Object.assign(item, { text: i18n.t('codelist.${node.getPSCodeList().codeName}.'+item.value) });
Object.assign(item, { text: <@getNameLanguage node /> });
Object.assign(item, { isUseLangRes: true });
<#else>
Object.assign(item, { text: item.text });
......@@ -372,14 +375,14 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
let treeNode: any = {};
Object.assign(treeNode,{srfappctx:context});
<#if node.getPSCodeList().getCodeListType() == 'STATIC'>
Object.assign(treeNode, { text: i18n.t('codelist.${node.getPSCodeList().codeName}.'+item.value) });
Object.assign(treeNode, { text: <@getNameLanguage node /> });
Object.assign(treeNode, { isUseLangRes: true });
<#else>
Object.assign(treeNode, { text: item.text });
</#if>
<#if node.isEnableQuickSearch()>
if(filter.srfnodefilter && !Object.is(filter.srfnodefilter,"")){
if((i18n.t(treeNode.text) as string).toUpperCase().indexOf(filter.srfnodefilter.toUpperCase())==-1)
if((treeNode.text).toUpperCase().indexOf(filter.srfnodefilter.toUpperCase())==-1)
return;
}
</#if>
......
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
${ctrl.render.code}
......@@ -11,7 +8,7 @@
<div class="app-gantt">
<gantt-elastic v-if="tasks.length >0" :class="ganttClass<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>" :tasks="tasks" :options="getOptions(this.locale)" :dynamic-style="dynamicStyle" @taskList-item-dblclick="taskClick" @task-item-expand="taskItemExpand">
</gantt-elastic>
<div v-else class="app-data-empty">{{$t('<#if langbase??>${langbase}.nodata</#if>')}}</div>
<div v-else class="app-data-empty">{{<@getEmptyTextLanguage ctrl/>}}</div>
</div>
</#if>
</template>
......
// 基于 @CONTROL/甘特图部件/SERVICE.ts.ftl 生成
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#assign import_block>
import CodeListService from "@/codelist/codelist-service";
import i18n from '@/locale';
......@@ -252,11 +255,11 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
return new Promise((resolve:any,reject:any) =>{
<#if node.getTreeNodeType() == 'STATIC'>
let treeNode: any = {};
Object.assign(treeNode, { text: 'entities.${appde.getCodeName()?lower_case}.${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}.nodes.${node.getNodeType()?lower_case}' });
Object.assign(treeNode, { text: <@getNameLanguage node /> });
Object.assign(treeNode, { isUseLangRes: true });
<#if node.isEnableQuickSearch()>
if(filter.srfnodefilter && !Object.is(filter.srfnodefilter,"")){
if((i18n.t(treeNode.text) as string).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
if((treeNode.text).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
return Promise.reject();
}
</#if>
......@@ -342,7 +345,7 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
const handleChildData = (context:any,item:any,) =>{
Object.assign(item,{srfappctx:context});
<#if node.getPSCodeList().getCodeListType() == 'STATIC'>
Object.assign(item, { text: 'codelist.${node.getPSCodeList().codeName}.'+item.value });
Object.assign(item, { text: <@getNameLanguage node /> });
Object.assign(item, { isUseLangRes: true });
<#else>
Object.assign(item, { text: item.text });
......@@ -393,14 +396,14 @@ import ${srfclassname('${node.getPSAppDataEntity().codeName}')}Service from '@se
let treeNode: any = {};
Object.assign(treeNode,{srfappctx:context});
<#if node.getPSCodeList().getCodeListType() == 'STATIC'>
Object.assign(treeNode, { text: 'codelist.${node.getPSCodeList().codeName}.'+item.value });
Object.assign(treeNode, { text: <@getNameLanguage node /> });
Object.assign(treeNode, { isUseLangRes: true });
<#else>
Object.assign(treeNode, { text: item.text });
</#if>
<#if node.isEnableQuickSearch()>
if(filter.srfnodefilter && !Object.is(filter.srfnodefilter,"")){
if((i18n.t(treeNode.text) as string).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
if((treeNode.text).toUpperCase().indexOf(filter.getSrfnodefilter().toUpperCase())==-1)
return;
}
</#if>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
......@@ -65,7 +65,7 @@ ${ctrl.render.code}
</div>
</draggable>
<div v-else class="app-data-empty">
<span>{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}</span>
<span>{{ <@getEmptyTextLanguage ctrl/>}}</span>
</div>
</div>
</#if>
......
<#ibizinclude>../@MACRO/FUNC/MACRO.ftl</#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if item.render??>
${item.render.code}
......@@ -21,7 +21,7 @@ ${item.render.code}
</#if>
</#if>
</#if>
<#if item.isShowCaption()><span ><#if item.getCaptionItemName()?? && item.getCaptionItemName()?length gt 0>{{data.${item.getCaptionItemName()}}}<#else><#if langbase??>{{$t('${langbase}.details.${item.name}')}}<#else>${item.getCaption()}</#if></#if></span></#if>
<#if item.isShowCaption()><span ><#if item.getCaptionItemName()?? && item.getCaptionItemName()?length gt 0>{{data.${item.getCaptionItemName()}}}<#else>{{ <@getItemLanguageCaption item /> }}</#if></span></#if>
</i-button>
</@badge>
</#if>
\ No newline at end of file
<#if !item.isHidden()>
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-form-item name='${item.name}' :itemRules="this.rules().${item.name}" class='<#if item.getPSSysCss?? && item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if>'<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??> labelStyle="${item.getLabelPSSysCss().getCssName()}"</#if> :caption="<#if langbase??>$t('${langbase}.details.${item.name}')<#else>'${item.getCaption()}'</#if>" uiStyle="${item.getDetailStyle()}" :labelWidth="${item.getLabelWidth()?c}" :isShowCaption="${item.isShowCaption()?c}" :error="detailsModel.${item.name}.error" :isEmptyCaption="${item.isEmptyCaption()?c}" labelPos="${item.getLabelPos()}">
<app-form-item name='${item.name}' :itemRules="this.rules().${item.name}" class='<#if item.getPSSysCss?? && item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if>'<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??> labelStyle="${item.getLabelPSSysCss().getCssName()}"</#if> :caption="<@getItemLanguageCaption item />" uiStyle="${item.getDetailStyle()}" :labelWidth="${item.getLabelWidth()?c}" :isShowCaption="${item.isShowCaption()?c}" :error="detailsModel.${item.name}.error" :isEmptyCaption="${item.isEmptyCaption()?c}" labelPos="${item.getLabelPos()}">
<#if item.isCompositeItem()>
<#assign formitems=item.getPSDEFormItems()>
<app-range-editor v-model="data.${item.name}" :activeData="data" :disabled="detailsModel.${item.name}.disabled" name="${item.name}" editorType="${item.getEditorType()}" format="${item.getEditorParam("TIMEFMT","")}" :refFormItem="[<#list formitems as formitem><#if formitem_index gt 0>,</#if>'${formitem.name}'</#list>]" @formitemvaluechange="onFormItemValueChange" style="<#if item.getContentWidth()?? && item.getContentWidth() != 0>width:${item.getContentWidth()}px;</#if><#if item.getContentHeight()?? && item.getContentHeight() != 0>height:${item.getContentHeight()}px;</#if>"></app-range-editor>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-form-group :uiService="appUIService" :data="transformData(data)" :manageContainerStatus="detailsModel.${item.name}.manageContainerStatus" :isManageContainer="detailsModel.${item.name}.isManageContainer" @managecontainerclick="manageContainerClick('${item.name}')" layoutType="<#if item.getPSLayout()??>${item.getPSLayout().getLayout()}</#if>" titleStyle="<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??>${item.getLabelPSSysCss().getCssName()}</#if>" class='<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' :uiActionGroup="detailsModel.${item.name}.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="<#if langbase??>$t('${langbase}.details.${item.name}')<#else>'${item.getCaption()}'</#if>" :isShowCaption="${item.isShowCaption()?c}" uiStyle="${item.getDetailStyle()}" :titleBarCloseMode="${item.getTitleBarCloseMode()}" :isInfoGroupMode="${item.isInfoGroupMode()?c}" <#if item.getPSSysImage()??>:iconInfo="{<#assign img=item.getPSSysImage()><#if img.getImagePath() == "">'iconclass':'${img.getCssClass()}'<#else>'iconpath':'${img.getImagePath()}'</#if>}"</#if>>
<app-form-group :uiService="appUIService" :data="transformData(data)" :manageContainerStatus="detailsModel.${item.name}.manageContainerStatus" :isManageContainer="detailsModel.${item.name}.isManageContainer" @managecontainerclick="manageContainerClick('${item.name}')" layoutType="<#if item.getPSLayout()??>${item.getPSLayout().getLayout()}</#if>" titleStyle="<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??>${item.getLabelPSSysCss().getCssName()}</#if>" class='<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' :uiActionGroup="detailsModel.${item.name}.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="<@getItemLanguageCaption item />" :isShowCaption="${item.isShowCaption()?c}" uiStyle="${item.getDetailStyle()}" :titleBarCloseMode="${item.getTitleBarCloseMode()}" :isInfoGroupMode="${item.isInfoGroupMode()?c}" <#if item.getPSSysImage()??>:iconInfo="{<#assign img=item.getPSSysImage()><#if img.getImagePath() == "">'iconclass':'${img.getCssClass()}'<#else>'iconpath':'${img.getImagePath()}'</#if>}"</#if>>
<#assign content>
<#list item.getPSDEFormDetails() as formmenber>
<#if !(formmenber.isHidden?? && formmenber.isHidden())>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#assign detail>caption: '${item.getCaption()}', detailType: '${item.getDetailType()}', name: '${item.getName()}', visible: <#if item.getPSDEFDGroupLogic('PANELVISIBLE')??>false<#else>true</#if>, isShowCaption: ${item.isShowCaption()?c}, form: this, isControlledContent: <#if item.getShowMoreMode?? && item.getShowMoreMode()?? && item.getShowMoreMode() == 1>true<#else>false</#if> </#assign>
<#if item.getDetailType() == 'BUTTON'>
......@@ -14,7 +14,7 @@ new FormPageModel({ ${detail} })
<#elseif item.getDetailType() == 'FORMPART'>
new FormPartModel({ ${detail} })
<#elseif item.getDetailType() == 'GROUPPANEL'>
new FormGroupPanelModel({ ${detail}, uiActionGroup: { caption: '<#if item.getPSUIActionGroup()??>${item.getPSUIActionGroup().getName()}</#if>', langbase: '<#if langbase??>${langbase}</#if>', extractMode: '<#if item.getActionGroupExtractMode?? && item.getActionGroupExtractMode()??>${item.getActionGroupExtractMode()}<#else>ITEM</#if>', details: [<#if item.getPSUIActionGroup()??><#list item.getPSUIActionGroup().getPSUIActionGroupDetails() as uadetails><#if uadetails_index gt 0>, </#if>{ name: '${item.getName()}_${uadetails.getName()}', caption: '${uadetails.getPSUIAction().getCaption()}',disabled: false, visabled: true, noprivdisplaymode:<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getNoPrivDisplayMode(view)??>${uadetails.getPSUIAction().getNoPrivDisplayMode(view)}</#if>,actiontarget: '<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getActionTarget()??>${uadetails.getPSUIAction().getActionTarget()}</#if>',dataaccaction: '<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getDataAccessAction()??>${uadetails.getPSUIAction().getDataAccessAction()}</#if>',uiactiontag: '<#if uadetails.getPSUIAction().getPSAppDataEntity?? && uadetails.getPSUIAction().getPSAppDataEntity()??>${uadetails.getPSUIAction().getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uadetails.getPSUIAction().getUIActionTag()?lower_case}'<#if uadetails.getPSUIAction().getPSSysImage()??>, <#assign viewimg=uadetails.getPSUIAction().getPSSysImage()/><#if viewimg.getCssClass() != ''>icon: '${viewimg.getCssClass()}'<#else>img: '${viewimg.getImagePath()}'</#if></#if>,isShowCaption:${uadetails.isShowCaption()?c},isShowIcon:${uadetails.isShowIcon()?c} }</#list></#if>] }, isManageContainer: <#if item.getShowMoreMode?? && item.getShowMoreMode()?? && item.getShowMoreMode() == 2>true<#else>false</#if>, showMoreModeItems: [<#if item.getPSDEFormDetails()??><#list item.getPSDEFormDetails() as moreItem><#if moreItem.getShowMoreMode?? && moreItem.getShowMoreMode()?? && moreItem.getShowMoreMode() == 1>'${moreItem.getName()}',</#if></#list></#if>] })
new FormGroupPanelModel({ ${detail}, uiActionGroup: { caption: '<#if item.getPSUIActionGroup()??>${item.getPSUIActionGroup().getName()}</#if>', langbase: '<#if item.getCapPSLanguageRes?? && item.getCapPSLanguageRes()??>${item.getCapPSLanguageRes().getLanResTag()}</#if>', extractMode: '<#if item.getActionGroupExtractMode?? && item.getActionGroupExtractMode()??>${item.getActionGroupExtractMode()}<#else>ITEM</#if>', details: [<#if item.getPSUIActionGroup()??><#list item.getPSUIActionGroup().getPSUIActionGroupDetails() as uadetails><#if uadetails_index gt 0>, </#if>{ name: '${item.getName()}_${uadetails.getName()}', caption: '${uadetails.getPSUIAction().getCaption()}',<#if uadetails.getPSUIAction().getCapPSLanguageRes?? && uadetails.getPSUIAction().getCapPSLanguageRes()??>captionLanbase: '${uadetails.getPSUIAction().getCapPSLanguageRes().getLanResTag()}',</#if>disabled: false, visabled: true, noprivdisplaymode:<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getNoPrivDisplayMode(view)??>${uadetails.getPSUIAction().getNoPrivDisplayMode(view)}</#if>,actiontarget: '<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getActionTarget()??>${uadetails.getPSUIAction().getActionTarget()}</#if>',dataaccaction: '<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getDataAccessAction()??>${uadetails.getPSUIAction().getDataAccessAction()}</#if>',uiactiontag: '<#if uadetails.getPSUIAction().getPSAppDataEntity?? && uadetails.getPSUIAction().getPSAppDataEntity()??>${uadetails.getPSUIAction().getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uadetails.getPSUIAction().getUIActionTag()?lower_case}'<#if uadetails.getPSUIAction().getPSSysImage()??>, <#assign viewimg=uadetails.getPSUIAction().getPSSysImage()/><#if viewimg.getCssClass() != ''>icon: '${viewimg.getCssClass()}'<#else>img: '${viewimg.getImagePath()}'</#if></#if>,isShowCaption:${uadetails.isShowCaption()?c},isShowIcon:${uadetails.isShowIcon()?c} }</#list></#if>] }, isManageContainer: <#if item.getShowMoreMode?? && item.getShowMoreMode()?? && item.getShowMoreMode() == 2>true<#else>false</#if>, showMoreModeItems: [<#if item.getPSDEFormDetails()??><#list item.getPSDEFormDetails() as moreItem><#if moreItem.getShowMoreMode?? && moreItem.getShowMoreMode()?? && moreItem.getShowMoreMode() == 1>'${moreItem.getName()}',</#if></#list></#if>] })
<#elseif item.getDetailType() == 'IFRAME'>
new FormIFrameModel({ ${detail} })
<#elseif item.getDetailType() == 'RAWITEM'>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<tabs :animated="false" name='${item.getCodeName()?lower_case}' v-show="detailsModel.${item.name}.visible" class='<#if item.getPSSysCss?? && item.getPSSysCss()??>${item.getPSSysCss().getCssName()}</#if><#if item.getPSLayoutPos()?? && item.getPSLayoutPos().getLayout() == "FLEX"> app-tabpanel-flex</#if>'
:value="detailsModel.${item.name}.activiedPage" @on-click="detailsModel.${item.name}.clickPage($event)">
......@@ -27,7 +27,7 @@
}),
</#if>
</#if>
<#if langbase??>$t('${langbase}.details.${formmenber.name}')<#else>'${formmenber.getCaption()}'</#if>
<@getItemLanguageCaption formmenber />
])
}">
${P.getPartCode(formmenber).code}
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<i-form :model="this.data" class='app-form<#if ctrl.getPSSysCss()??> ${ctrl.getPSSysCss().getCssName()}</#if><#if ctrl.isInfoFormMode?? && ctrl.isInfoFormMode()> info-form-mode</#if>' ref='${ctrl.name}' id='${ctrl.getPSAppDataEntity().getCodeName()?lower_case}_${ctrl.getCodeName()?lower_case}' style="<#if ctrl.getFormWidth() gt 1>width: ${ctrl.getFormWidth()?c}px;</#if>" @on-validate="formItemValidate">
<input style="display:none;" />
......@@ -35,7 +35,7 @@
}),
</#if>
</#if>
<#if langbase??>$t('${langbase}.details.${formpage.name}')<#else>'${formpage.getCaption()}'</#if>
<@getItemLanguageCaption formpage />
])
}">
${P.getPartCode(formpage).code}
......
......@@ -46,21 +46,18 @@
<#assign img=item.getPSSysImage()>
<@insertBlank blankNum /> <i class='<#if img.getCssClass?? && img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if>'></i>
</#if>
<@insertBlank blankNum /> {{<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>}}
<@insertBlank blankNum /> {{<@getItemLanguageCaption item />}}
<@insertBlank blankNum /> </span>
<@insertBlank blankNum /></template>
</#macro>
<#-- END:表格列标题自定义绘制 -->
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template v-if="getColumnState('${item.getName()?lower_case}')">
<#if item.getColumnType() == 'GROUPGRIDCOLUMN' && item.getPSDEGridColumns()??>
<#-- [1]BEGIN:分组列 -->
<el-table-column show-overflow-tooltip :align="'${item.getAlign()?lower_case}'" :label="<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>">
<el-table-column show-overflow-tooltip :align="'${item.getAlign()?lower_case}'" :label="<@getItemLanguageCaption item />">
<@getColumnHeader item 4 />
<#list item.getPSDEGridColumns() as column>
${P.getPartCode(column,'COLUMN').code}
......@@ -69,7 +66,7 @@
<#-- [1]END:分组列 -->
<#elseif item.getColumnType() == 'UAGRIDCOLUMN'>
<#-- [2]BEGIN:操作列 -->
<el-table-column :column-key="'${item.getName()?lower_case}'" :label="<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'">
<el-table-column :column-key="'${item.getName()?lower_case}'" :label="<@getItemLanguageCaption item />"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'">
<@getColumnHeader item 8 />
<template slot-scope="scope">
<div style="text-align: center;">
......@@ -89,10 +86,10 @@
<a v-show="scope.row.${uiaction.getUIActionTag()}.visabled" <#if !preUIAction??>:class="{'grid-first-uiaction':scope.row.${uiaction.getUIActionTag()}.visabled && scope.row.${uiaction.getUIActionTag()}.visabled}"</#if> <#if preUIAction??>:class="{'grid-uiaction-divider': ${uiactionDetail.isAddSeparator()?c} && scope.row.${preUIAction.getUIActionTag()}.visabled && scope.row.${uiaction.getUIActionTag()}.visabled}"</#if> :style="{'pointer-events':scope.row.${uiaction.getUIActionTag()}.disabled?'none':'auto','color':scope.row.${uiaction.getUIActionTag()}.disabled?'#7b7979':'#2d8cf0'}" @click="uiAction(scope.row, '${uiaction.getUIActionTag()}', $event)">
<#-- 取消分割线标签,使用样式替代分割线 end -->
<#if uiactionDetail.isShowIcon()><i class='<#if uiaction.getIconCls?? && uiaction.getIconCls()??>${uiaction.getIconCls()}</#if>'></i></#if>
<#if uiactionDetail.isShowCaption()>{{<#if langbase??>$t('${langbase}.uiactions.${uiaction.getFullCodeName()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</#if>
<#if uiactionDetail.isShowCaption()>{{<@getItemLanguageCaption uiaction />}}</#if>
</a>
<#if !uiactionDetail.isShowCaption()>
<div slot='content'>{{<#if langbase??>$t('${langbase}.uiactions.<#if uiaction.getPSAppDataEntity?? && uiaction.getPSAppDataEntity()??>${uiaction.getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uiaction.getUIActionTag()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</div>
<div slot='content'>{{<@getItemLanguageCaption uiaction />}}</div>
</tooltip>
</#if>
<#assign preUIAction = uiaction />
......@@ -105,7 +102,7 @@
<#-- [2]END:操作列 -->
<#elseif item.getColumnType() == 'DEFGRIDCOLUMN'>
<#-- [3]BEGIN:数据列 -->
<el-table-column show-overflow-tooltip :prop="'${item.getName()?lower_case}'" :label="<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'"<#if (!ctrl.isNoSort()) && item.isEnableSort()> :sortable="'custom'"</#if>>
<el-table-column show-overflow-tooltip :prop="'${item.getName()?lower_case}'" :label="<@getItemLanguageCaption item />"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'"<#if (!ctrl.isNoSort()) && item.isEnableSort()> :sortable="'custom'"</#if>>
<@getColumnHeader item 8 />
<template v-slot="{row,column,$index}">
<#if (item.render??) || (item.getCodeList()?? && item.getCLConvertMode() == 'FRONT') || item.isEnableRowEdit()>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<template>
<#if ctrl.render??>
${ctrl.render.code}
......@@ -39,7 +36,7 @@ ${ctrl.render.code}
@row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty">
{{$t('<#if langbase??>${langbase}.nodata</#if>')}}
{{<@getEmptyTextLanguage ctrl/>}}
<#if ctrl.getQuickPSDEToolbar?? && ctrl.getQuickPSDEToolbar()??>
<span class="quick-toolbar">
<#assign quickToolbar = ctrl.getQuickPSDEToolbar()/>
......@@ -562,7 +559,7 @@ ${gridColumn.getName()}
{
name: '${column.getName()?lower_case}',
label: '${column.getCaption()}',
langtag: '<#if langbase??>${langbase}.columns.${column.getName()?lower_case}</#if>',
langtag: '<#if column.getCapPSLanguageRes?? && column.getCapPSLanguageRes()??>${column.getCapPSLanguageRes().getLanResTag()}</#if>',
show: <#if column.isHideDefault()>false<#else>true</#if>,
unit: '${column.getWidthUnit()}',
<#-- BEGIN:是否支持行编辑 -->
......@@ -710,8 +707,8 @@ ${gridColumn.getName()}
return {
<#list ctrl.getPSDEGridEditItems() as edititem>
${edititem.getName()}: [
{ required: <#if edititem.isAllowEmpty()>false<#else>true</#if>, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: `<#if langbase??><#noparse>${</#noparse>this.$t('${langbase}.columns.${edititem.getName()?lower_case}')<#noparse>}</#noparse><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse><#else><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse></#if>`, trigger: 'change' },
{ required: <#if edititem.isAllowEmpty()>false<#else>true</#if>, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: `<#if langbase??><#noparse>${</#noparse>this.$t('${langbase}.columns.${edititem.getName()?lower_case}')<#noparse>}</#noparse><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse><#else><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse></#if>`, trigger: 'blur' },
{ required: <#if edititem.isAllowEmpty()>false<#else>true</#if>, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: `<#if edititem.getPSDEGridColumn()?? && edititem.getPSDEGridColumn().getCapPSLanguageRes()??><#noparse>${</#noparse>this.$t('${edititem.getPSDEGridColumn().getCapPSLanguageRes().getLanResTag()}', '${edititem.getPSDEGridColumn().getCaption()}')<#noparse>}</#noparse><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse><#else><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse></#if>`, trigger: 'change' },
{ required: <#if edititem.isAllowEmpty()>false<#else>true</#if>, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: `<#if edititem.getPSDEGridColumn()?? && edititem.getPSDEGridColumn().getCapPSLanguageRes()??><#noparse>${</#noparse>this.$t('${edititem.getPSDEGridColumn().getCapPSLanguageRes().getLanResTag()}', '${edititem.getPSDEGridColumn().getCaption()}')<#noparse>}</#noparse><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse><#else><#noparse>${</#noparse>this.$t('app.commonWords.valueNotEmpty')<#noparse>}</#noparse></#if>`, trigger: 'blur' },
<#if ctrl.getPSDEGridEditItemVRs?? && ctrl.getPSDEGridEditItemVRs()??>
<#list ctrl.getPSDEGridEditItemVRs() as fideValueRule>
<#if fideValueRule.getPSDEGridEditItemName() == edititem.getName()>
......@@ -1156,7 +1153,7 @@ ${gridColumn.getName()}
{
name: '${column.getName()?lower_case}',
label: '${column.getCaption()}',
langtag: '<#if langbase??>${langbase}.exportColumns.${column.getName()?lower_case}</#if>',
langtag: '<#if column.getCapPSLanguageRes?? && column.getCapPSLanguageRes()??>${column.getCapPSLanguageRes().getLanResTag()}</#if>',
show: true,
},
</#list>
......@@ -1346,7 +1343,7 @@ ${gridColumn.getName()}
*/
public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value && value !== 0 && value !== false){
return this.$t('codelist.'+codelist.srfkey+'.empty');
return codelist.emptytextLanRes ? this.$t(codelist.emptytextLanRes, codelist.emptytext) : codelist.emptytext;
}
if (items) {
let result:any = [];
......@@ -1403,7 +1400,7 @@ ${gridColumn.getName()}
return undefined;
}
if(Object.is(codelist.codelistType,'STATIC')){
return this.$t('codelist.'+codelist.srfkey+'.'+arr[0].value);
return arr[0].textLanRes ? this.$t(arr[0].textLanRes, arr[0].text) : arr[0].text;
}else{
return arr[0].text;
}
......
......@@ -46,21 +46,18 @@
<#assign img=item.getPSSysImage()>
<@insertBlank blankNum /> <i class='<#if img.getCssClass?? && img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if>'></i>
</#if>
<@insertBlank blankNum /> {{<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>}}
<@insertBlank blankNum /> {{<@getItemLanguageCaption item />}}
<@insertBlank blankNum /> </span>
<@insertBlank blankNum /></template>
</#macro>
<#-- END:表格列标题自定义绘制 -->
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template v-if="getColumnState('${item.getName()?lower_case}')">
<#if item.getColumnType() == 'GROUPGRIDCOLUMN' && item.getPSDEGridColumns()??>
<#-- [1]BEGIN:分组列 -->
<el-table-column show-overflow-tooltip :align="'${item.getAlign()?lower_case}'" :label="<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>">
<el-table-column show-overflow-tooltip :align="'${item.getAlign()?lower_case}'" :label="<@getItemLanguageCaption item />">
<@getColumnHeader item 4 />
<#list item.getPSDEGridColumns() as column>
${P.getPartCode(column,'COLUMN').code}
......@@ -69,7 +66,7 @@
<#-- [1]END:分组列 -->
<#elseif item.getColumnType() == 'UAGRIDCOLUMN'>
<#-- [2]BEGIN:操作列 -->
<el-table-column :column-key="'${item.getName()?lower_case}'" :label="<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'">
<el-table-column :column-key="'${item.getName()?lower_case}'" :label="<@getItemLanguageCaption item />"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'">
<@getColumnHeader item 8 />
<template slot-scope="scope">
<div style="text-align: center;">
......@@ -89,10 +86,10 @@
<a v-show="scope.row.${uiaction.getUIActionTag()}.visible" <#if !preUIAction??>:class="{'grid-first-uiaction':scope.row.${uiaction.getUIActionTag()}.visible && scope.row.${uiaction.getUIActionTag()}.visible}"</#if> <#if preUIAction??>:class="{'grid-uiaction-divider':scope.row.${preUIAction.getUIActionTag()}.visible && scope.row.${uiaction.getUIActionTag()}.visible}"</#if> :style="{'pointer-events':scope.row.${uiaction.getUIActionTag()}.disabled?'none':'auto'}" @click="uiAction(scope.row, '${uiaction.getUIActionTag()}', $event)">
<#-- 取消分割线标签,使用样式替代分割线 end -->
<#if uiactionDetail.isShowIcon()><i class='<#if uiaction.getIconCls?? && uiaction.getIconCls()??>${uiaction.getIconCls()}</#if>'></i></#if>
<#if uiactionDetail.isShowCaption()>{{<#if langbase??>$t('${langbase}.uiactions.${uiaction.getFullCodeName()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</#if>
<#if uiactionDetail.isShowCaption()>{{<@getItemLanguageCaption uiaction />}}</#if>
</a>
<#if !uiactionDetail.isShowCaption()>
<div slot='content'>{{<#if langbase??>$t('${langbase}.uiactions.<#if uiaction.getPSAppDataEntity?? && uiaction.getPSAppDataEntity()??>${uiaction.getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uiaction.getUIActionTag()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</div>
<div slot='content'>{{<@getItemLanguageCaption uiaction />'</#if>}}</div>
</tooltip>
</#if>
<#assign preUIAction = uiaction />
......@@ -105,7 +102,7 @@
<#-- [2]END:操作列 -->
<#elseif item.getColumnType() == 'DEFGRIDCOLUMN'>
<#-- [3]BEGIN:数据列 -->
<el-table-column show-overflow-tooltip :prop="'${item.getName()?lower_case}'" :label="<#if langbase??>$t('${langbase}.columns.${item.getName()?lower_case}')<#else>'${item.getCaption()}'</#if>"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'"<#if (!ctrl.isNoSort()) && item.isEnableSort()> :sortable="'custom'"</#if>>
<el-table-column show-overflow-tooltip :prop="'${item.getName()?lower_case}'" :label="<@getItemLanguageCaption item />"<#if item.getWidthUnit()!='STAR'> :width="${item.width?c}" <#else> :min-width="${item.width?c}" </#if> :align="'${item.getAlign()?lower_case}'"<#if (!ctrl.isNoSort()) && item.isEnableSort()> :sortable="'custom'"</#if>>
<@getColumnHeader item 8 />
<template v-slot="{row,column,$index}">
<#if (item.render??) || (item.getCodeList()?? && item.getCLConvertMode() == 'FRONT') || item.isEnableRowEdit()>
......
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<template>
<div :class="{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }">
......@@ -421,7 +421,7 @@ import { FormItemModel } from '@/model/form-detail';
{
name: '${column.getName()?lower_case}',
label: '${column.getCaption()}',
langtag: '<#if langbase??>${langbase}.columns.${column.getName()?lower_case}</#if>',
langtag: '<#if column.getCapPSLanguageRes?? && column.getCapPSLanguageRes()??>${column.getCapPSLanguageRes().getLanResTag()}</#if>',
show: <#if column.isHideDefault()>false<#else>true</#if>,
util: '${column.getWidthUnit()}',
render: (val: any) => {
......@@ -883,7 +883,7 @@ import { FormItemModel } from '@/model/form-detail';
{
name: '${column.getName()?lower_case}',
label: '${column.getCaption()}',
langtag: '<#if langbase??>${langbase}.exportColumns.${column.getName()?lower_case}</#if>',
langtag: '<#if column.getCapPSLanguageRes?? && column.getCapPSLanguageRes()??>${column.getCapPSLanguageRes().getLanResTag()}</#if>',
show: true,
},
</#list>
......@@ -1047,7 +1047,7 @@ import { FormItemModel } from '@/model/form-detail';
*/
public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value){
return this.$t('codelist.'+codelist.srfkey+'.empty');
return codelist.emptytextLanRes ? this.$t(codelist.emptytextLanRes, codelist.emptytext) : codelist.emptytext;
}
if (items) {
let result:any = [];
......@@ -1104,7 +1104,7 @@ import { FormItemModel } from '@/model/form-detail';
return undefined;
}
if(Object.is(codelist.codelistType,'STATIC')){
return this.$t('codelist.'+codelist.srfkey+'.'+arr[0].value);
return arr[0].textLanRes ? this.$t(arr[0].textLanRes, arr[0].text) : arr[0].text;
}else{
return arr[0].text;
}
......
......@@ -9,6 +9,6 @@
<span class='caption-image'><img src='${viewimg.getImagePath()}'/></span>
</#if>
</#if>
<span class='caption-info' :title="$t(model.srfCaption)">{{$t(model.srfCaption)}}</span>
<span class='caption-info' :title="model.srfCaption">{{model.srfCaption}}</span>
</div>
</#if>
\ No newline at end of file
......@@ -10,7 +10,7 @@
<span class='caption-image'><img src='${viewimg.getImagePath()}'/></span>
</#if>
</#if>
<span class='caption-info'>{{$t(model.srfCaption)}}</span>
<span class='caption-info'>{{model.srfCaption}}</span>
</#if>
<#if view.hasPSControl('toolbar')>
<#if selfToolbarRender??>
......
......@@ -38,7 +38,7 @@
<span class='caption-image'><img src='${viewimg.getImagePath()}'/></span>
</#if>
</#if>
<span class='caption-info'>{{$t(model.srfCaption)}}</span>
<span class='caption-info'>{{model.srfCaption}}</span>
</#if>
</div>
</#if>
......
......@@ -17,7 +17,7 @@
<#else>
<span class="menuicon" v-if="isEnableAppSwitch" @click="contextMenuDragVisiable=!contextMenuDragVisiable"><Icon type="md-menu" /></span>
</#if>
<span v-show="!collapseChange" style="overflow-x: hidden;text-overflow: ellipsis;white-space: nowrap;display: block;text-align: center;font-weight: 300;font-size: 20px;">{{$t(model.srfCaption)}}</span>
<span v-show="!collapseChange" style="overflow-x: hidden;text-overflow: ellipsis;white-space: nowrap;display: block;text-align: center;font-weight: 300;font-size: 20px;">{{model.srfCaption}}</span>
</div>
</div>
${P.getCtrlCode('appmenu', 'CONTROL.html').code}
......@@ -60,7 +60,7 @@
<div class="header-left">
<div class="page-logo">
<img src="../../../assets/img/logo.png" height="32" />
<span style="display: inline-block;margin-left: 10px;font-size: 22px;">{{$t(model.srfCaption)}}</span>
<span style="display: inline-block;margin-left: 10px;font-size: 22px;">{{model.srfCaption}}</span>
</div>
<div <#if view.getMainMenuAlign()?? && view.getMainMenuAlign()!="TOP">style="margin-left: 50px;"</#if>>
${P.getCtrlCode('appmenu', 'CONTROL.html').code}
......
<#if ctrl.getPortletType() != 'CONTAINER'>
<#ibizinclude>../@MACRO/CONTROL/LANGBASE.vue.ftl</#ibizinclude>
<#ibizinclude>
../../@MACRO/LANG_FUN.ftl
</#ibizinclude>
<#macro renderUiaction>
<#if ctrl.getPSUIActionGroup?? && ctrl.getPSUIActionGroup()?? && ctrl.getPSUIActionGroup().getPSUIActionGroupDetails()??>
<#assign UIActionDetails=ctrl.getPSUIActionGroup().getPSUIActionGroupDetails() />
......@@ -25,7 +27,7 @@
</#if>
</#if>
</#if>
<#-- <#if uiactiondetail.isShowCaption()><span><#if langbase??>{{$t('${langbase}.uiactions.${uiactiondetail.getPSUIAction().getUIActionTag()?lower_case}')}}<#else>${uiactiondetail.getPSUIAction().getCaption()}</#if></span></#if> -->
<#-- <#if uiactiondetail.isShowCaption()><span><@getItemLanguageCaption uiactiondetail.getPSUIAction() /></span></#if> -->
<#if uiactiondetail.isShowCaption()>
<span>${uiactiondetail.getPSUIAction().getCaption()}</span>
</#if>
......
......@@ -35,10 +35,10 @@
<#assign pickupview=currentItem.getPickupPSAppView()>
"{ <#t>
viewname: '${srffilepath2(pickupview.codeName)}'<#t>
<#if pickupview.isPSDEView()>
, title: $t('entities.${pickupview.getPSAppDataEntity().getCodeName()?lower_case}.views.${pickupview.getPSDEViewCodeName()?lower_case}.title')<#t>
<#if pickupview.getCapPSLanguageRes?? && pickupview.getCapPSLanguageRes()??>
, title: $t('${pickupview.getCapPSLanguageRes().getLanResTag()}', '${pickupview.getCaption()}')<#t>
<#else>
, title: $t('app.views.${pickupview.getCodeName()?lower_case}.title')<#t>
, title: '${pickupview.getCaption()}'<#t>
</#if>
, deResParameters: <@getDeResParameters pickupview /><#t>
, parameters: <@getParameters pickupview /><#t>
......@@ -64,10 +64,10 @@
<#assign linkview=currentItem.getLinkPSAppView()>
"{ <#t>
viewname: '${linkview.codeName}'<#t>
<#if linkview.isPSDEView()>
, title: $t('entities.${linkview.getPSAppDataEntity().getCodeName()?lower_case}.views.${linkview.getPSDEViewCodeName()?lower_case}.title')<#t>
<#if linkview.getCapPSLanguageRes?? && linkview.getCapPSLanguageRes()??>
, title: $t('${linkview.getCapPSLanguageRes().getLanResTag()}', '${linkview.getCaption()}')<#t>
<#else>
, title: $t('app.views.${linkview.getCodeName()?lower_case}.title')<#t>
, title: '${linkview.getCaption()}'<#t>
</#if>
, deResParameters: <@getDeResParameters linkview /><#t>
, parameters: <@getParameters linkview /><#t>
......
<#macro getViewLanguageTitle tempView>
<#if tempView.isPSDEView()>
$t('entities.${tempView.getPSAppDataEntity().getCodeName()?lower_case}.views.${tempView.getPSDEViewCodeName()?lower_case}.title')<#t>
<#if tempView.getTitlePSLanguageRes()??>
$t('${tempView.getTitlePSLanguageRes().getLanResTag()}')<#t>
<#else>
$t('app.views.${tempView.getCodeName()?lower_case}.title')<#t>
<#if tempView.getTitle()??>
$t('', '${tempView.getTitle()}')<#t>
</#if>
</#if>
</#macro>
<#macro getItemLanguageCaption item>
<#if item.getCapPSLanguageRes?? && item.getCapPSLanguageRes()??>
$t('${item.getCapPSLanguageRes().getLanResTag()}', '${item.getCaption()}')<#t>
<#else>
'${item.getCaption()}'<#t>
</#if>
</#macro>
......@@ -34,7 +44,6 @@ ${navParam.getKey()}:<#if navParam.isRawValue()?? && navParam.isRawValue() == tr
type:"<#if condItem.getCondType?? && condItem.getCondType()??>${condItem.getCondType()}</#if>",
condOP:"<#if condItem.getCondOp?? && condItem.getCondOp()??>${condItem.getCondOp()}</#if>",
ruleInfo:"<#if condItem.getRuleInfo?? && condItem.getRuleInfo()??>${condItem.getRuleInfo()}</#if>",
<#-- ruleInfo:`<#noparse>${</#noparse>this.$t('entities.${curAppEntity.getCodeName()?lower_case}.derules.${deRule.getCodeName()?lower_case}<#if condItem.getDEFName?? && condItem.getDEFName()??>${condItem.getDEFName()?lower_case}</#if>${condItem.getCondType()?lower_case}')<#noparse>}</#noparse>`, -->
isKeyCond:<#if condItem.isKeyCond?? && condItem.isKeyCond()??>${condItem.isKeyCond()?c}</#if>,
<#if condItem.getParamValue?? && condItem.getParamValue()??>
paramValue:"${condItem.getParamValue()}",
......@@ -83,4 +92,55 @@ ${navParam.getKey()}:<#if navParam.isRawValue()?? && navParam.isRawValue() == tr
]
</#if>
},
</#macro>
\ No newline at end of file
</#macro>
<#-- BEGIN:获取标题语言资源 -->
<#macro getTitleLanguage obj>
<#if obj.getTitlePSLanguageRes()??>
$t('${obj.getTitlePSLanguageRes().getLanResTag()}')<#t>
<#elseif obj.getTitle()??>
'${obj.getTitle()}'<#t>
</#if>
</#macro>
<#-- END:获取标题语言资源 -->
<#-- BEGIN:获取文本语言资源 -->
<#macro getTextLanguage obj>
<#if obj.getTextPSLanguageRes()??>
$t('${obj.getTextPSLanguageRes().getLanResTag()}')<#t>
<#elseif obj.getText()??>
'${obj.getText()}'<#t>
</#if>
</#macro>
<#-- END:获取文本语言资源 -->
<#-- BEGIN:获取树节点名称语言资源 -->
<#macro getNameLanguage obj>
<#if obj.getNamePSLanguageRes()??>
i18n.t('${obj.getNamePSLanguageRes().getLanResTag()}', '${obj.getName()}')<#t>
<#else>
'${obj.getName()}'<#t>
</#if>
</#macro>
<#-- END:获取树节点名称语言资源 -->
<#-- BEGIN:获取空值语言资源 -->
<#macro getEmptyTextLanguage obj emptyValue='暂无数据'>
<#if obj.getEmptyTextPSLanguageRes()??>
$t('${obj.getEmptyTextPSLanguageRes().getLanResTag()}')<#t>
<#else>
'${emptyValue}'<#t>
</#if>
</#macro>
<#-- END:获取空值语言资源 -->
<#-- BEGIN:获取逻辑名称语言资源 -->
<#macro getLogicNameLanguage obj >
<#if obj.getLNPSLanguageRes()??>
$t('${obj.getLNPSLanguageRes().getLanResTag()}')<#t>
<#elseif obj.getLogicName()??>
'${obj.getLogicName()}'<#t>
</#if>
</#macro>
<#-- END:获取逻辑名称语言资源 -->
\ No newline at end of file
......@@ -41,7 +41,7 @@ ${generateTip}
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:<#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
};
......
......@@ -292,7 +292,7 @@
*/
public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){
this.navDataService.addNavData({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:isNew ? null : <#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
this.navDataService.addNavData({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:isNew ? null : <#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.model.srfCaption,data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
......@@ -303,7 +303,7 @@
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){
this.navDataService.addNavDataByOnly({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:<#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
this.navDataService.addNavDataByOnly({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:<#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.model.srfCaption,data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......
......@@ -178,9 +178,9 @@ export default class ${srfclassname('${view.name}')}Base extends Vue {
* @memberof ${srfclassname('${view.name}')}Base
*/
public model: any = {
srfCaption: '<#if view.getPSAppDataEntity()??>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${view.getCodeName()?lower_case}.caption</#if>',
srfTitle: '<#if view.getPSAppDataEntity()??>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.title<#else>app.views.${view.getCodeName()?lower_case}.title</#if>',
srfSubTitle: '<#if view.getPSAppDataEntity()??>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.subtitle<#else>app.views.${view.getCodeName()?lower_case}.subtitle</#if>',
srfCaption: <#if view.getCapPSLanguageRes()??>this.$t('${view.getCapPSLanguageRes().getLanResTag()}','<#if view.getCaption()??>${view.getCaption()}</#if>')<#else>'<#if view.getCaption()??>${view.getCaption()}</#if>'</#if>,
srfTitle: <#if view.getTitlePSLanguageRes()??>this.$t('${view.getTitlePSLanguageRes().getLanResTag()}','<#if view.getTitle()??>${view.getTitle()}</#if>')<#else>'<#if view.getTitle()??>${view.getTitle()}</#if>'</#if>,
srfSubTitle: <#if view.getSubCapPSLanguageRes()??>this.$t('${view.getSubCapPSLanguageRes().getLanResTag()}','<#if view.getSubCaption()??>${view.getSubCaption()}</#if>')<#else>'<#if view.getSubCaption()??>${view.getSubCaption()}</#if>'</#if>,
dataInfo: ''
}
......
......@@ -18,12 +18,12 @@
Object.assign(this.model, { dataInfo: _data.${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case} });
if(this.$tabPageExp){
let _this:any = this;
this.$tabPageExp.setCurPageCaption(_this.$t(this.model.srfCaption), this.model.srfCaption, _this.model.dataInfo);
this.$tabPageExp.setCurPageCaption(this.model.srfCaption, this.model.dataInfo);
}
if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo;
}
<#noparse>Object.assign(this.model, { srfCaption: `${this.$t(this.model.srfCaption)} - ${this.$t(this.model.dataInfo)}` });</#noparse>
<#noparse>Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });</#noparse>
}
})
}
......
......@@ -17,7 +17,7 @@
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title: <#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
</#if>
......
......@@ -63,7 +63,7 @@ import AppCenterService from '@/service/app/app-center-service';
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:<#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
</#if>
......
......@@ -75,7 +75,7 @@ import AppCenterService from '@/service/app/app-center-service';
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:<#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
</#if>
......
......@@ -21,12 +21,12 @@ this.$forceUpdate();
Object.assign(this.model, { dataInfo: _data.${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case} });
if(this.$tabPageExp){
let _this:any = this;
this.$tabPageExp.setCurPageCaption(_this.$t(this.model.srfCaption), this.model.srfCaption, _this.model.dataInfo);
this.$tabPageExp.setCurPageCaption(this.model.srfCaption, this.model.dataInfo);
}
if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo;
}
<#noparse>Object.assign(this.model, { srfCaption: `${this.$t(this.model.srfCaption)} - ${this.$t(this.model.dataInfo)}` });</#noparse>
<#noparse>Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });</#noparse>
}
})
}
......
......@@ -31,12 +31,12 @@ this.$forceUpdate();
Object.assign(this.model, { dataInfo: _data.${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case} });
if(this.$tabPageExp){
let _this:any = this;
this.$tabPageExp.setCurPageCaption(_this.$t(this.model.srfCaption), this.model.srfCaption, _this.model.dataInfo);
this.$tabPageExp.setCurPageCaption(this.model.srfCaption, this.model.dataInfo);
}
if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo;
}
<#noparse>Object.assign(this.model, { srfCaption: `${this.$t(this.model.srfCaption)} - ${this.$t(this.model.dataInfo)}` });</#noparse>
<#noparse>Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });</#noparse>
}
})
}
......
......@@ -31,12 +31,12 @@ this.$forceUpdate();
Object.assign(this.model, { dataInfo: _data.${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case} });
if(this.$tabPageExp){
let _this:any = this;
this.$tabPageExp.setCurPageCaption(_this.$t(this.model.srfCaption), this.model.srfCaption, _this.model.dataInfo);
this.$tabPageExp.setCurPageCaption(this.model.srfCaption, this.model.dataInfo);
}
if(this.$route && this.$route.meta){
this.$route.meta.info = this.model.dataInfo;
}
<#noparse>Object.assign(this.model, { srfCaption: `${this.$t(this.model.srfCaption)} - ${this.$t(this.model.dataInfo)}` });</#noparse>
<#noparse>Object.assign(this.model, { srfCaption: `${this.model.srfCaption} - ${this.model.dataInfo}` });</#noparse>
}
})
}
......
......@@ -241,9 +241,9 @@ export default class ${srfclassname('${view.name}')}Base extends Vue {
* @memberof ${srfclassname('${view.name}')}Base
*/
public model: any = {
srfCaption: '<#if view.getPSAppDataEntity()??>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${view.getCodeName()?lower_case}.caption</#if>',
srfTitle: '<#if view.getPSAppDataEntity()??>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.title<#else>app.views.${view.getCodeName()?lower_case}.title</#if>',
srfSubTitle: '<#if view.getPSAppDataEntity()??>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.subtitle<#else>app.views.${view.getCodeName()?lower_case}.subtitle</#if>',
srfCaption: <#if view.getCapPSLanguageRes()??>this.$t('${view.getCapPSLanguageRes().getLanResTag()}','<#if view.getCaption()??>${view.getCaption()}</#if>')<#else>'<#if view.getCaption()??>${view.getCaption()}</#if>'</#if>,
srfTitle: <#if view.getTitlePSLanguageRes()??>this.$t('${view.getTitlePSLanguageRes().getLanResTag()}','<#if view.getTitle()??>${view.getTitle()}</#if>')<#else>'<#if view.getTitle()??>${view.getTitle()}</#if>'</#if>,
srfSubTitle: <#if view.getSubCapPSLanguageRes()??>this.$t('${view.getSubCapPSLanguageRes().getLanResTag()}','<#if view.getSubCaption()??>${view.getSubCaption()}</#if>')<#else>'<#if view.getSubCaption()??>${view.getSubCaption()}</#if>'</#if>,
dataInfo: ''
}
......@@ -640,7 +640,7 @@ export default class ${srfclassname('${view.name}')}Base extends Vue {
*/
public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){
this.navDataService.addNavData({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:isNew ? null : <#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
this.navDataService.addNavData({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:isNew ? null : <#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.model.srfCaption,data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
......@@ -651,7 +651,7 @@ export default class ${srfclassname('${view.name}')}Base extends Vue {
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){
this.navDataService.addNavDataByOnly({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:<#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
this.navDataService.addNavDataByOnly({id:'${srffilepath2(view.getCodeName())}',tag:this.viewtag,srfkey:<#if appde??>this.context.${appde.getCodeName()?lower_case}<#else>null</#if>,title:this.model.srfCaption,data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -934,12 +934,12 @@ export default class ${srfclassname('${view.name}')}Base extends Vue {
}
// 解决表格视图标题问题
if (this.$tabPageExp && this.viewDefaultUsage) {
this.$tabPageExp.setCurPageCaption(this.$t(this.model.srfCaption) as string, this.model.srfCaption, info);
this.$tabPageExp.setCurPageCaption(this.model.srfCaption as string, this.model.srfCaption, info);
}
if (this.$route && this.$route.meta) {
this.$route.meta.info = info;
}
<#noparse>this.model.srfCaption = `${this.$t(this.model.srfCaption)}-${this.$t(this.model.dataInfo)}`;</#noparse>
<#noparse>this.model.srfCaption = `${this.model.srfCaption}-${this.model.dataInfo}`;</#noparse>
this.initNavDataWithRoute(null,isNew);
}
}
......@@ -1175,7 +1175,7 @@ ${P.getLogicCode(uiAction, "LOGIC.vue").code}
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:<#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
};
......
......@@ -34,7 +34,7 @@
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:<#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
};
......
......@@ -18,7 +18,7 @@
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title: <#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
};
......
......@@ -36,7 +36,7 @@
<#list view.getPSAppViewRefs() as viewRef>
<#if viewRef.getName?? && viewRef.getName()?? && viewRef.getRefPSAppView?? && viewRef.getRefPSAppView()??>
<#assign refAppView = viewRef.getRefPSAppView() />
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title:"<#if refAppView.getPSAppDataEntity()??>entities.${refAppView.getPSAppDataEntity().getCodeName()?lower_case}.views.${refAppView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${refAppView.getCodeName()?lower_case}.caption</#if>", width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
"${viewRef.getName()}":{viewname:"${srffilepath2(refAppView.getCodeName())}",title: <#if refAppView.getCapPSLanguageRes?? && refAppView.getCapPSLanguageRes()??>this.$t('${refAppView.getCapPSLanguageRes().getLanResTag()}', '${refAppView.getCaption()}')<#t><#else>'${refAppView.getCaption()}'<#t></#if>, width: <#if refAppView.getWidth?? && refAppView.getWidth() gt 0>${refAppView.getWidth()?c}<#else>800</#if>, height: <#if refAppView.getHeight?? && refAppView.getHeight() gt 0>${refAppView.getHeight()?c}<#else>500</#if>}<#if viewRef_has_next>,</#if>
</#if>
</#list>
};
......
......@@ -60,6 +60,13 @@ Vue.use(ViewUI, {
// Vue.use(utils);
Vue.prototype.$pathToRegExp = pathToRegExp;
Vue.prototype.$t = function (key: string, value?: string) {
if (i18n.te && i18n.te(key)) {
return i18n.t(key);
} else {
return value ? value : key;
}
}
<#-- Vue.use(Print); -->
Vue.use(AppComponents);
Vue.use(PageComponents);
......
......@@ -12,7 +12,10 @@ Vue.use(Router);
{
path: '<#if !isIncludeIndex>/</#if>appdataredirectview/:appdataredirectview?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
viewType: 'REDIRECTVIEW',
<#if subView.getPSSysImage()??>
......@@ -33,7 +36,10 @@ Vue.use(Router);
{
path: '<#if !isIncludeIndex>/</#if>appwfdataredirectview/:appwfdataredirectview?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
viewType: 'REDIRECTVIEW',
<#if subView.getPSSysImage()??>
......@@ -54,7 +60,10 @@ Vue.use(Router);
{
path: '<#if !isIncludeIndex>/</#if>${subView.getViewType()?lower_case}/:${subView.getViewType()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
viewType: 'REDIRECTVIEW',
<#if subView.getPSSysImage()??>
......@@ -77,7 +86,10 @@ Vue.use(Router);
{
path: '<#if !isIncludeIndex>/</#if>${srfpluralize(subView.getPSAppDataEntity().codeName)?lower_case}/:${subView.getPSAppDataEntity().getCodeName()?lower_case}?/${subView.getPSDEViewCodeName()?lower_case}/:${subView.getPSDEViewCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
viewType: 'REDIRECTVIEW',
<#if subView.getPSSysImage()??>
......@@ -100,7 +112,10 @@ Vue.use(Router);
{
path: '<#if !isIncludeIndex>/</#if>${subView.getCodeName()?lower_case}/:${subView.getCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
viewType: 'REDIRECTVIEW',
<#if subView.getPSSysImage()??>
......@@ -139,7 +154,10 @@ Vue.use(Router);
path: '/${path}${srfpluralize(appDataEntity.codeName)?lower_case}/:${appDataEntity.getCodeName()?lower_case}?/${subView.getPSDEViewCodeName()?lower_case}/:${subView.getPSDEViewCodeName()?lower_case}?',
<#-- 嵌入关系路由未设置name属性 -->
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
<#if subView.getPSSysImage()??>
imgPath: '${subView.getPSSysImage().getImagePath()}',
......@@ -163,7 +181,10 @@ Vue.use(Router);
{
path: '/${srfpluralize(appDataEntity.codeName)?lower_case}/:${appDataEntity.getCodeName()?lower_case}?/${subView.getPSDEViewCodeName()?lower_case}/:${subView.getPSDEViewCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
<#if subView.getPSSysImage()??>
imgPath: '${subView.getPSSysImage().getImagePath()}',
......@@ -181,7 +202,10 @@ Vue.use(Router);
{
path: '/${subView.getCodeName()?lower_case}/:${subView.getCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
<#if subView.getPSSysImage()??>
imgPath: '${subView.getPSSysImage().getImagePath()}',
......@@ -222,7 +246,10 @@ const router = new Router({
});
},
meta: {
caption: '<#if view.isPSDEView()>entities.${view.getPSAppDataEntity().getCodeName()?lower_case}.views.${view.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${view.getCodeName()?lower_case}.caption</#if>',
caption: '${view.getCaption()}',
<#if view.getCapPSLanguageRes?? && view.getCapPSLanguageRes()??>
captionLanResTag: '${view.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
viewType: 'APPINDEX',
<#if view.getPSSysImage()??>
......@@ -253,7 +280,10 @@ const router = new Router({
{
path: '${path}${srfpluralize(appDataEntity.codeName)?lower_case}/:${appDataEntity.getCodeName()?lower_case}?/${subView.getPSDEViewCodeName()?lower_case}/:${subView.getPSDEViewCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
<#if subView.getPSSysImage()??>
imgPath: '${subView.getPSSysImage().getImagePath()}',
......@@ -278,7 +308,10 @@ const router = new Router({
{
path: '${srfpluralize(appDataEntity.codeName)?lower_case}/:${appDataEntity.getCodeName()?lower_case}?/${subView.getPSDEViewCodeName()?lower_case}/:${subView.getPSDEViewCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
<#if subView.getPSSysImage()??>
imgPath: '${subView.getPSSysImage().getImagePath()}',
......@@ -297,7 +330,10 @@ const router = new Router({
{
path: '${subView.getCodeName()?lower_case}/:${subView.getCodeName()?lower_case}?',
meta: {
caption: '<#if subView.isPSDEView()>entities.${subView.getPSAppDataEntity().getCodeName()?lower_case}.views.${subView.getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${subView.getCodeName()?lower_case}.caption</#if>',
caption: '${subView.getCaption()}',
<#if subView.getCapPSLanguageRes?? && subView.getCapPSLanguageRes()??>
captionLanResTag: '${subView.getCapPSLanguageRes().getLanResTag()}',
</#if>
info:'',
<#if subView.getPSSysImage()??>
imgPath: '${subView.getPSSysImage().getImagePath()}',
......
......@@ -7,6 +7,9 @@ TARGET=PSSYSAPP
<#if codelist.getCodeListType() == "STATIC" && codelist.getAllPSCodeItems()??>
"srfkey": "${codelist.codeName}",
"emptytext": "${codelist.getEmptyText()}",
<#if codelist.getEmptyTextPSLanguageRes?? && codelist.getEmptyTextPSLanguageRes()??>
"emptytextLanRes": "${codelist.getEmptyTextPSLanguageRes().getLanResTag()}",
</#if>
"codelisttype":"static",
"items": [
<#if codelist.getAllPSCodeItems()??>
......@@ -15,6 +18,9 @@ TARGET=PSSYSAPP
"id": "${codeitem.getValue()?j_string}",
"label": "${codeitem.getText()?j_string}",
"text": "${codeitem.getText()?j_string}",
<#if codeitem.getTextPSLanguageRes?? && codeitem.getTextPSLanguageRes()??>
"textLanRes": "${codeitem.getTextPSLanguageRes().getLanResTag()}",
</#if>
<#if codeitem.getPSSysImage()??>
<#assign sysimage = codeitem.getPSSysImage()/>
<#if sysimage.getImagePath() == "">
......@@ -47,6 +53,9 @@ TARGET=PSSYSAPP
<#else>
"srfkey": "${codelist.codeName}",
"emptytext": "${codelist.getEmptyText()}",
<#if codelist.getEmptyTextPSLanguageRes?? && codelist.getEmptyTextPSLanguageRes()??>
"emptytextLanRes": "${codelist.getEmptyTextPSLanguageRes().getLanResTag()}",
</#if>
"codelisttype":"dynamic",
"appdataentity":"<#if codelist.getPSAppDataEntity?? && codelist.getPSAppDataEntity()??>${codelist.getPSAppDataEntity().codeName}</#if>",
"appdedataset":"<#if codelist.getPSAppDEDataSet?? && codelist.getPSAppDEDataSet()??>${codelist.getPSAppDEDataSet().codeName}</#if>",
......
<#if obj.getCapPSLanguageRes()?? && obj.getCapPSLanguageRes().getContent(langrestype, false)?? && obj.getCapPSLanguageRes().getContent(langrestype, false) != ''>commonLogic.appcommonhandle("${obj.getCapPSLanguageRes().getContent(langrestype, false)}",null)<#elseif obj.getCaption()??>commonLogic.appcommonhandle("${obj.getCaption()}",null)</#if>
\ No newline at end of file
<#-- BEGIN:获取标题语言资源 -->
<#macro getTitleLanguage obj langrestype>
<#if obj.getTitlePSLanguageRes()?? && obj.getTitlePSLanguageRes().getContent(langrestype, false)?? && obj.getTitlePSLanguageRes().getContent(langrestype, false) != ''>
${obj.getTitlePSLanguageRes().getContent(langrestype, false)}<#t>
<#elseif obj.getTitle()??>
${obj.getTitle()}<#t>
</#if>
</#macro>
<#-- END:获取标题语言资源 -->
<#-- BEGIN:获取文本语言资源 -->
<#macro getTextLanguage obj langrestype>
<#if obj.getTextPSLanguageRes()?? && obj.getTextPSLanguageRes().getContent(langrestype, false)?? && obj.getTextPSLanguageRes().getContent(langrestype, false) != ''>
${obj.getTextPSLanguageRes().getContent(langrestype, false)}<#t>
<#elseif obj.getText()??>
${obj.getText()}<#t>
</#if>
</#macro>
<#-- END:获取文本语言资源 -->
<#-- BEGIN:获取树节点名称语言资源 -->
<#macro getNameLanguage obj langrestype>
<#if obj.getNamePSLanguageRes()?? && obj.getNamePSLanguageRes().getContent(langrestype, false)?? && obj.getNamePSLanguageRes().getContent(langrestype, false) != ''>
${obj.getNamePSLanguageRes().getContent(langrestype, false)}<#t>
<#elseif obj.getText()??>
${obj.getText()?j_string}<#t>
</#if>
</#macro>
<#-- END:获取树节点名称语言资源 -->
<#-- BEGIN:获取空值语言资源 -->
<#macro getEmptyTextLanguage obj langrestype emptyValue>
<#if obj.getEmptyTextPSLanguageRes()?? && obj.getEmptyTextPSLanguageRes().getContent(langrestype, false)?? && obj.getEmptyTextPSLanguageRes().getContent(langrestype, false) != ''>
${obj.getEmptyTextPSLanguageRes().getContent(langrestype, false)}<#t>
<#elseif obj.getEmptyText() != '未定义'>
${obj.getEmptyText()}<#t>
<#else>
${emptyValue}<#t>
</#if>
</#macro>
<#-- END:获取空值语言资源 -->
<#-- BEGIN:获取逻辑名称语言资源 -->
<#macro getLogicNameLanguage obj langrestype>
<#if obj.getLNPSLanguageRes()?? && obj.getLNPSLanguageRes().getContent(langrestype, false)?? && obj.getLNPSLanguageRes().getContent(langrestype, false) != ''>
${obj.getLNPSLanguageRes().getContent(langrestype, false)}<#t>
<#elseif obj.getLogicName()??>
${obj.getLogicName()}<#t>
</#if>
</#macro>
<#-- END:获取逻辑名称语言资源 -->
\ No newline at end of file
<#if obj.getTooltipPSLanguageRes()?? && obj.getTooltipPSLanguageRes().getContent(langrestype, false)?? && obj.getTooltipPSLanguageRes().getContent(langrestype, false) != ''>${obj.getTooltipPSLanguageRes().getContent(langrestype, false)}<#elseif obj.getTooltip()??>${obj.getTooltip()}</#if>
\ No newline at end of file
......@@ -15,6 +15,10 @@ import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN';
const messages = {
'zh-CN': Object.assign(iviewZhCnLocale, elementZhLocale, zhCn()),
};
// i-view多语言调整
messages["zh-CN"].i.page.goto = "前往";
<#if app.getAllPSAppLans()??>
<#list app.getAllPSAppLans() as lans>
......@@ -27,20 +31,12 @@ Object.assign(messages, {
'en-US': Object.assign(iviewEnUsLocale, elementEnLocale, enUs()),
});
</#if>
<#if lans.getLanguage() == 'BO_CN'>
import BOCn from './lang/BO-CN';
import iviewBOCnLocale from './other/iview/BO-CN'
import elementBOLocale from './other/element/BO-CN'
Object.assign(messages, {
'BO-CN': Object.assign(iviewBOCnLocale,elementBOLocale,BOCn()),
});
</#if>
</#list>
</#if>
// 自动根据浏览器系统语言设置语言
const navLang = localStorage.getItem('local') || navigator.language;
const localLang = (navLang === 'zh-CN' || (navLang === 'en-US' && messages.hasOwnProperty('en-US')) || (navLang === 'ti-US' && messages.hasOwnProperty('ti-US'))) ? navLang : false;
const localLang = (navLang === 'zh-CN' || (navLang === 'en-US' && messages.hasOwnProperty('en-US'))) ? navLang : false;
let lang: string = localLang || 'zh-CN';
vueApp.config.lang = lang
......
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
<#ibizinclude>../@MACRO/FUNC.ts</#ibizinclude>
<#list app.getAllPSAppDataEntities() as dataEntitey>
import ${dataEntitey.getCodeName()?lower_case}_BO_CN from '@locale/lanres/entities/${srffilepath2(dataEntitey.getCodeName())}/${srffilepath2(dataEntitey.getCodeName())}_BO_CN';
</#list>
import components_BO_CN from '@locale/lanres/components/components_BO_CN';
import codelist_BO_CN from '@locale/lanres/codelist/codelist_BO_CN';
import userCustom_BO_CN from '@locale/lanres/userCustom/userCustom_BO_CN';
import commonLogic from '@/locale/logic/common/common-logic';
<#assign langrestype = 'BO_CN'/>
// 基于 APP/src/locale/lang/BO-CN-base.ts 生成
function getAppLocale(){
const data:any = {
<#-- 本地化语言资源 藏文 -->
app: {
commonWords:{
error: "ཕམ་པ།",
success: "ལེགས་འགྲུབ།",
ok: "ངོས་འཛིན་",
cancel: "མེད་པར་བཟོ་བ་",
save: "ཉར་ཚགས།",
codeNotExist: "ཚབ་ཨང་རེའུ་མིག",
reqException: "རེ་ཞུའི་རྒྱུན་འགལ།",
sysException: "རྒྱུད་ཁོངས་རྒྱུན་འགལ།",
warning: "ཐ་ཚིག་",
wrong: "ནོར་འཁྲུལ།",
rulesException: "གྲངས་ཐང་སྒྲིག་སྲོལ་དག་བཤེར་རྒྱུན་འགལ།",
saveSuccess: "ཉར་ཚགས་ལེགས་འགྲུབ་བྱུང་།",
saveFailed: "ཉར་ཚགས་ཕམ་པ།",
createFailed: 'གསར་འཛུགས་བྱེད་པར་ཕམ་ཉེས།',
deleteSuccess: "སུབ་པ་གྲུབ་འབྲས་ཐོབ་པའི་ངང་",
deleteError: "སུབ་པ་ཕམ་པ།",
delDataFail: "བསུབ་པའི་གཞི་གྲངས་ཕམ་པ།",
noData: "གནས་སྐབས་གཞི་གྲངས་མེད་པ་",
startsuccess:"འགོ་སློང་ལེགས་གྲུབ་",
loadmore:"མང་ཙམ་བླུགས་རོགས།",
nomore:"དེ་ལས་མང་བ་མི་འདུག",
other:"གཞན་དག",
isExist: 'གནས།',
valueNotEmpty:"སྟོང་མི་ཆོག",
globalerrortip:"གྲངས་ཐང་སྒྲིག་སྲོལ་དག་བཤེར་རྒྱུན་འགལ།",
},
local:{
new: "གསར་འཛུགས།",
add: "སྣོན་པ་",
},
grid: {
exportexcel: {
error: 'ཕྱིར་འདྲེན་ཕམ་པ།'
}
},
gridpage: {
choicecolumns: "གདམ་གསེས་གཞུང་སྟར།",
refresh: "གསར་འདོན་",
show: "མངོན་པ་",
records: "ལྕུག་མ།",
totle: "མཉམ་དུ།",
valueVail: "སྟོང་མི་ཆོག",
group:"ཚོ་བགོས་",
other:"གཞན་དག",
notConfig: {
fetchAction: "མཐོང་རིས་རེའུ་མིགfetchActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
removeAction: "མཐོང་རིས་རེའུ་མིགremoveActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
createAction: "མཐོང་རིས་རེའུ་མིགcreateActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
updateAction: "མཐོང་རིས་རེའུ་མིགupdateActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
loaddraftAction: "མཐོང་རིས་རེའུ་མིགloaddraftActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
},
data: "གཞི་གྲངས།",
delDataFail: "བསུབ་པའི་གཞི་གྲངས་ཕམ་པ།",
delSuccess: "ལེགས་པར་སུབ་པ།",
confirmDel: "ངོས་འཛིན་བསུབ་དགོས་།",
notRecoverable: "བསུབ་པའི་བཀོལ་སྤྱོད་སླར་གསོ་བྱེད་མི་ཐུབ།",
notBatch: "སྡེབ་འབོར་སྦྱོར་རྟ་མངོན་འགྱུར་བྱུང་མེད་།",
grid: "རེའུ་མིག",
exportFail: "གཞི་གྲངས་ཕྱིར་འདྲེན་ཕམ་པ།",
sum: "བསྡོམས་འབོར་",
formitemFailed: "རེའུ་མིག་ཁེར་རྐྱང་གསར་སྒྱུར་ཕམ་སོང་།",
},
list: {
notConfig: {
fetchAction: "མཐོང་རིས་རེའུ་མིག་fetchActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ།",
removeAction: "མཐོང་རིས་རེའུ་མིག་removeActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད།",
createAction: "མཐོང་རིས་རེའུ་མིག་createActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
updateAction: "མཐོང་རིས་རེའུ་མིག་updateActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ།",
},
confirmDel: "ངོས་འཛིན་བསུབ་དགོས་།",
notRecoverable: "བསུབ་པའི་བཀོལ་སྤྱོད་སླར་གསོ་བྱེད་མི་ཐུབ།",
},
listExpBar: {
title: "རེའུ་མིག་ཕྱོགས་སྟོན་སྡེ་",
},
wfExpBar: {
title: "རྒྱུན་རིམ་ཕྱོགས་སྟོན་སྡེ་",
},
calendarExpBar:{
title: "ལོ་ཐོ་ཕྱོགས་ཁྲིད་སྡེ་",
},
treeExpBar: {
title: "སྡོང་མཐོང་པར་རིས་ཕྱོགས་སྟོན།",
},
portlet: {
noExtensions: "རྒྱ་སྐྱེད་མེད་པའི་བསྒར་ལྷུ།",
},
tabpage: {
sureclosetip: {
title: "སྒོ་རྒྱག་དྲན་སྐུལ་",
content: "རེའུ་མིག་གི་གཞི་གྲངས་ལ་བཟོ་བཅོས་བྱས་ཟིན།སྒོ་རྒྱག་རྒྱུ་གཏན་འཁེལ་བྱས།",
},
closeall: "ཡོད་ཚད་ཁ་རྒྱག",
closeother: "གཞན་དག་སྒོ་རྒྱག་།",
},
fileUpload: {
caption: "ཡར་བསྐུར་",
},
searchButton: {
search: "བཤེར་འཚོལ་",
reset: "བསྐྱར་འཇོག",
},
calendar:{
today: "དེ་རིང་",
month: "ཟླ་བ།",
week: "གཟའ་འཁོར།",
day: "གནམ་",
list: "གཞུང་།",
dateSelectModalTitle: "བདམས་ནས་མཆོང་བའི་དུས་ཚོད་།",
gotoDate: "མཆོང་བ།མཆོང་བ།",
from: "ནས།",
to: "སླེབས་པ་",
},
// 非实体视图
views: {
<#if app.isPubRefViewOnly()><#assign allAppViews = app.getAllRefPSAppViews()/><#else><#assign allAppViews = app.getAllPSAppViews()/></#if>
<#if allAppViews??>
<#list allAppViews as obj>
<#if !obj.isPSDEView()>
${obj.getCodeName()?lower_case}: {
caption: <#ibizinclude>../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
title: commonLogic.appcommonhandle("<@getTitleLanguage obj langrestype />",null),
},
</#if>
</#list>
</#if>
},
utilview:{
importview:"ནང་འདྲེན་གཞི་གྲངས།",
warning:"ཐ་ཚིག་",
info:"གཞི་གྲངས་ནང་འདྲེན་རྣམ་གྲངས་བཀོད་སྒྲིག་བྱེད་རོགས་།",
nodatakey:"མེད་པའི་གྲངས་གཞི་གཙོ་འབྲེལ་རྡང།",
printerror:"ཐེལ་ཙེ་རྒྱག་པར་ཕམ་ཁ། ",
noprint:"མེད་པའི་ཐེལ་ཙེ་རྒྱག་པའི་རྣམ་གྲངས།"
},
menus: {
<#list app.getAllPSAppMenuModels() as menu>
${menu.getCodeName()?lower_case}: {
<#list menu.getAllPSAppMenuItems() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#list>
},
formpage:{
desc1: "བཀོལ་སྤྱོད་མ་ཐུབ་པར་མིག་སྔའི་རེའུ་མིག་གི་རྣམ་གྲངས་རྐྱང་པ་རྙེད་མ་ཐུབ་པ།",
desc2: "མུ་མཐུད་དུ་བཀོལ་སྤྱོད་བྱེད་ཐབས་མེད།",
notconfig: {
loadaction: "མཐོང་རིས་རེའུ་མིགloadActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
loaddraftaction: "མཐོང་རིས་རེའུ་མིག loaddraftActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
actionname: "མཐོང་རིས་རེའུ་མིག'+actionName+'ཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
removeaction: "མཐོང་རིས་རེའུ་མིགremoveActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
},
saveerror: "གཞི་གྲངས་ཉར་ཚགས་ནོར་འཁྲུལ་བྱུང་བ་",
savecontent: "གྲངས་གཞི་གཅིག་པ་མ་རེད།ཕལ་ཆེར་རྒྱབ་སྟེགས་ཀྱི་གྲངས་གཞི་བཟོ་བཅོས་བརྒྱབ་ཟིན་པས།གཞི་གྲངས་བསྐྱར་དུ་སྣོན་དགོས་སམ།",
valuecheckex: "གྲངས་ཐང་སྒྲིག་སྲོལ་དག་བཤེར་རྒྱུན་འགལ།",
savesuccess: "ཉར་ཚགས་ལེགས་འགྲུབ་བྱུང་།",
deletesuccess: "ལེགས་འགྲུབ་བསུབ་པ།",
workflow: {
starterror: "ལས་ཀའི་རྒྱུན་འགོ་སློང་ཕམ་པ།",
startsuccess: "ལས་ཀའི་རྒྱུན་གྱི་འགོ་སློང་ཐུབ་པ།",
submiterror: "ལས་དོན་ཡར་ཕུལ་ཕམ་།",
submitsuccess: "ལས་ཀའི་རྒྱུན་ལ་ཕུལ་གྲུབ་འབྲས་ཐོབ་པའི་ངང་།",
},
updateerror: "རེའུ་མིག་ཁེར་རྐྱང་གསར་སྒྱུར་ཕམ་སོང་།",
},
gridBar: {
title: "རེའུ་མིག་ཕྱོགས་སྟོན།",
},
multiEditView: {
notConfig: {
fetchAction: "མཐོང་རིས་མང་བའི་རྩོམ་སྒྲིག་མཐོང་རིས་ངོས་པང་fetchActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
loaddraftAction: "མཐོང་རིས་མང་བའི་རྩོམ་སྒྲིག་མཐོང་རིས་ངོས་པང་loaddraftActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
},
},
dataViewExpBar: {
title: "ཁཱ་མཐོང་རིས་ཕྱོགས་སྟོན།",
},
kanban: {
notConfig: {
fetchAction: "མཐོང་རིས་རེའུ་མིག་fetchActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
removeAction: "མཐོང་རིས་རེའུ་མིགremoveActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
},
delete1: "ངོས་འཛིན་བསུབ་དགོས་།",
delete2: "བསུབ་པའི་བཀོལ་སྤྱོད་སླར་གསོ་བྱེད་མི་ཐུབ།",
fold: "ལྟེབ་",
unfold: "བཀྲམ་པ་",
},
dashBoard: {
handleClick: {
title: "ངོས་པང་ཇུས་འགོད་",
},
},
dataView: {
sum: "མཉམ་དུ།",
data: "དོན་ཚན་གཞི་གྲངས།",
},
chart: {
undefined: "མཚན་ཉིད་མ་བཞག་པ།",
quarter: "དུས་ཚིགས་",
year: "ལོ་",
},
searchForm: {
notConfig: {
loadAction: "མཐོང་རིས་བཤེར་འཚོལ་རེའུ་མིགloadActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
loaddraftAction: "མཐོང་རིས་བཤེར་འཚོལ་རེའུ་མིགloaddraftActionཞུགས་གྲངས་བཀོད་སྒྲིག་བྱས་མེད་པ་",
},
custom: "གསོག་འཇོག་མཚན་ཉིད་རང་འདྲི་",
title: "མིང་།",
},
wizardPanel: {
back: "གོམ་གང་སྔོན་མ།",
next: "གོམ་པ་རྗེས་མ་",
complete: "གྲུབ་པ་",
preactionmessage:"བཀོད་སྒྲིག་མེད་པར་རྩིས་རྒྱག་སྐབས་རྐང་ཐང་མར་འགྲོ་དགོས།"
},
viewLayoutPanel: {
appLogoutView: {
prompt1: "གུས་པར་འོས་པའི་མཁོ་མཁན་ཁྱེད་རང་གི་གྲུབ་འབྲས་ཐོབ་པའི་ངང་ཕྱིར་འཐེན་མ་ལག་དང་།མ་འོངས་པར་།",
prompt2: "སྐར་ཆ་རྗེས་མཆོང་ནས་",
logingPage: "ཐོ་འཇུག་ལྡེབ་ངོས།",
},
appWfstepTraceView: {
title: "ཉེར་སྤྱོད་རྒྱུན་རིམ་སྒྲིག་གཅོད་ཟིན་ཐོའི་མཐོང་རིས་",
},
appWfstepDataView: {
title: "ཉེར་སྤྱོད་རྒྱུན་རིམ་རྗེས་འདེད་མཐོང་རིས་",
},
appLoginView: {
username: "སྤྱོད་མཁན་གྱི་མིང་",
password: "གསང་ཨང་",
login: "ཐོ་འགོད།",
},
},
},
entities: {
<#list app.getAllPSAppDataEntities() as dataEntitey>
${dataEntitey.getCodeName()?lower_case}: ${dataEntitey.getCodeName()?lower_case}_BO_CN(),
</#list>
},
components: components_BO_CN(),
codelist: codelist_BO_CN(),
userCustom: userCustom_BO_CN(),
};
return data;
}
export default getAppLocale;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import app_BO_CN_Base from './BO-CN-base';
// 基于 APP/src/locale/lang/BO-CN.ts 生成
function getLocaleResource(){
const app_BO_CN_OwnData = {};
const targetData = Object.assign(app_BO_CN_Base(), app_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
<#ibizinclude>../@MACRO/FUNC.ts</#ibizinclude>
<#list app.getAllPSAppDataEntities() as dataEntitey>
import ${dataEntitey.getCodeName()?lower_case}_en_US from '@locale/lanres/entities/${srffilepath2(dataEntitey.getCodeName())}/${srffilepath2(dataEntitey.getCodeName())}_en_US';
</#list>
import components_en_US from '@locale/lanres/components/components_en_US';
import codelist_en_US from '@locale/lanres/codelist/codelist_en_US';
import userCustom_en_US from '@locale/lanres/userCustom/userCustom_en_US';
import commonLogic from '@/locale/logic/common/common-logic';
<#assign langrestype = 'EN'/>
// 基于 APP/src/locale/lang/en-US-base.ts.ftl 生成
function getAppLocale(){
const data:any = {
<#-- local langue english -->
app: {
commonWords:{
error: "Error",
success: "Success",
ok: "OK",
cancel: "Cancel",
save: "Save",
codeNotExist: 'Code list does not exist',
reqException: "Request exception",
sysException: "System abnormality",
warning: "Warning",
wrong: "Error",
rulesException: "Abnormal value check rule",
saveSuccess: "Saved successfully",
saveFailed: "Save failed",
createFailed: 'Create Failed',
deleteSuccess: "Successfully deleted!",
deleteError: "Failed to delete",
delDataFail: "Failed to delete data",
noData: "No data",
startsuccess:"Start successful",
loadmore:"Load more",
nomore:"No more",
other:"other",
isExist: 'is exist',
valueNotEmpty:"The value cannot be null",
globalerrortip: "Please check if the information is incorrect"
},
local:{
new: "New",
add: "Add",
},
grid: {
exportexcel: {
error: 'Export Failed'
}
},
gridpage: {
choicecolumns: "Choice columns",
refresh: "refresh",
show: "Show",
records: "records",
totle: "totle",
valueVail: "Value cannot be empty",
group:"Group",
other:"Other",
notConfig: {
fetchAction: "The view table fetchaction parameter is not configured",
removeAction: "The view table removeaction parameter is not configured",
createAction: "The view table createaction parameter is not configured",
updateAction: "The view table updateaction parameter is not configured",
loaddraftAction: "The view table loadtrafaction parameter is not configured",
},
data: "Data",
delDataFail: "Failed to delete data",
delSuccess: "Delete successfully!",
confirmDel: "Are you sure you want to delete",
notRecoverable: "delete will not be recoverable?",
notBatch: "Batch addition not implemented",
grid: "Grid",
exportFail: "Data export failed",
sum: "Total",
formitemFailed: "Form item update failed",
},
list: {
notConfig: {
fetchAction: "View list fetchAction parameter is not configured",
removeAction: "View table removeAction parameter is not configured",
createAction: "View list createAction parameter is not configured",
updateAction: "View list updateAction parameter is not configured",
},
confirmDel: "Are you sure you want to delete",
notRecoverable: "delete will not be recoverable?",
},
listExpBar: {
title: "List navigation bar",
},
wfExpBar: {
title: "Process navigation bar",
},
calendarExpBar:{
title: "Calendar navigation bar",
},
treeExpBar: {
title: "Tree view navigation bar",
},
portlet: {
noExtensions: "No extensions",
},
tabpage: {
sureclosetip: {
title: "Close warning",
content: "Form data Changed, are sure close?",
},
closeall: "Close all",
closeother: "Close other",
},
fileUpload: {
caption: "Upload",
},
searchButton: {
search: "Search",
reset: "Reset",
},
calendar:{
today: "today",
month: "month",
week: "week",
day: "day",
list: "list",
dateSelectModalTitle: "select the time you wanted",
gotoDate: "goto",
from: "From",
to: "To",
},
// 非实体视图
views: {
<#if app.isPubRefViewOnly()><#assign allAppViews = app.getAllRefPSAppViews()/><#else><#assign allAppViews = app.getAllPSAppViews()/></#if>
<#if allAppViews??>
<#list allAppViews as obj>
<#if !obj.isPSDEView()>
${obj.getCodeName()?lower_case}: {
caption: <#ibizinclude>../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
title: commonLogic.appcommonhandle("<@getTitleLanguage obj langrestype />",null),
},
</#if>
</#list>
</#if>
},
utilview:{
importview:"Import Data",
warning:"warning",
info:"Please configure the data import item",
nodatakey:"No data primary key",
printerror:"Printing failed",
noprint:"No print items"
},
menus: {
<#list app.getAllPSAppMenuModels() as menu>
${menu.getCodeName()?lower_case}: {
<#list menu.getAllPSAppMenuItems() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#list>
},
formpage:{
error: "Error",
desc1: "Operation failed, failed to find current form item",
desc2: "Can't continue",
notconfig: {
loadaction: "View form loadAction parameter is not configured",
loaddraftaction: "View form loaddraftAction parameter is not configured",
actionname: "View form actionName parameter is not configured",
removeaction: "View form removeAction parameter is not configured",
},
saveerror: "Error saving data",
savecontent: "The data is inconsistent. The background data may have been modified. Do you want to reload the data?",
valuecheckex: "Value rule check exception",
savesuccess: "Saved successfully!",
deletesuccess: "Successfully deleted!",
workflow: {
starterror: "Workflow started successfully",
startsuccess: "Workflow failed to start",
submiterror: "Workflow submission failed",
submitsuccess: "Workflow submitted successfully",
},
updateerror: "Form item update failed",
},
gridBar: {
title: "Table navigation bar",
},
multiEditView: {
notConfig: {
fetchAction: "View multi-edit view panel fetchAction parameter is not configured",
loaddraftAction: "View multi-edit view panel loaddraftAction parameter is not configured",
},
},
dataViewExpBar: {
title: "Card view navigation bar",
},
kanban: {
notConfig: {
fetchAction: "View list fetchAction parameter is not configured",
removeAction: "View table removeAction parameter is not configured",
},
delete1: "Confirm to delete ",
delete2: "the delete operation will be unrecoverable!",
fold: "fold",
unfold: "upfold",
},
dashBoard: {
handleClick: {
title: "Panel design",
},
},
dataView: {
sum: "total",
data: "data",
},
chart: {
undefined: "Undefined",
quarter: "Quarter",
year: "Year",
},
searchForm: {
notConfig: {
loadAction: "View search form loadAction parameter is not configured",
loaddraftAction: "View search form loaddraftAction parameter is not configured",
},
custom: "Store custom queries",
title: "Name",
},
wizardPanel: {
back: "Back",
next: "Next",
complete: "Complete",
preactionmessage:"The calculation of the previous behavior is not configured"
},
viewLayoutPanel: {
appLogoutView: {
prompt1: "Dear customer, you have successfully exited the system, after",
prompt2: "seconds, we will jump to the",
logingPage: "login page",
},
appWfstepTraceView: {
title: "Application process processing record view",
},
appWfstepDataView: {
title: "Application process tracking view",
},
appLoginView: {
username: "Username",
password: "Password",
login: "Login",
},
},
},
entities: {
<#list app.getAllPSAppDataEntities() as dataEntitey>
${dataEntitey.getCodeName()?lower_case}: ${dataEntitey.getCodeName()?lower_case}_en_US(),
</#list>
},
components: components_en_US(),
codelist: codelist_en_US(),
userCustom: userCustom_en_US(),
};
return data;
}
export default getAppLocale;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import app_en_US_Base from './en-US-base';
// 基于 APP/src/locale/lang/en-US.ts.ftl 生成
import getCustomLocaleResource from '../custom/custom_en_US';
function getLocaleResource(){
const app_en_US_OwnData = {};
const targetData = Object.assign(app_en_US_Base(), app_en_US_OwnData);
return targetData;
const data:any = {
<#-- local langue english -->
app: {
commonWords:{
error: "Error",
success: "Success",
ok: "OK",
cancel: "Cancel",
save: "Save",
codeNotExist: 'Code list does not exist',
reqException: "Request exception",
sysException: "System abnormality",
warning: "Warning",
wrong: "Error",
rulesException: "Abnormal value check rule",
saveSuccess: "Saved successfully",
saveFailed: "Save failed",
createFailed: 'Create Failed',
deleteSuccess: "Successfully deleted!",
deleteError: "Failed to delete",
delDataFail: "Failed to delete data",
noData: "No data",
startsuccess:"Start successful",
loadmore:"Load more",
nomore:"No more",
other:"other",
isExist: 'is exist',
valueNotEmpty:"The value cannot be null",
},
local:{
new: "New",
add: "Add",
},
grid: {
exportexcel: {
error: 'Export Failed'
}
},
gridpage: {
choicecolumns: "Choice columns",
refresh: "refresh",
show: "Show",
records: "records",
totle: "totle",
valueVail: "Value cannot be empty",
group:"Group",
other:"Other",
notConfig: {
fetchAction: "The view table fetchaction parameter is not configured",
removeAction: "The view table removeaction parameter is not configured",
createAction: "The view table createaction parameter is not configured",
updateAction: "The view table updateaction parameter is not configured",
loaddraftAction: "The view table loadtrafaction parameter is not configured",
},
data: "Data",
delDataFail: "Failed to delete data",
delSuccess: "Delete successfully!",
confirmDel: "Are you sure you want to delete",
notRecoverable: "delete will not be recoverable?",
notBatch: "Batch addition not implemented",
grid: "Grid",
exportFail: "Data export failed",
sum: "Total",
formitemFailed: "Form item update failed",
},
list: {
notConfig: {
fetchAction: "View list fetchAction parameter is not configured",
removeAction: "View table removeAction parameter is not configured",
createAction: "View list createAction parameter is not configured",
updateAction: "View list updateAction parameter is not configured",
},
confirmDel: "Are you sure you want to delete",
notRecoverable: "delete will not be recoverable?",
},
listExpBar: {
title: "List navigation bar",
},
wfExpBar: {
title: "Process navigation bar",
},
calendarExpBar:{
title: "Calendar navigation bar",
},
treeExpBar: {
title: "Tree view navigation bar",
},
portlet: {
noExtensions: "No extensions",
},
tabpage: {
sureclosetip: {
title: "Close warning",
content: "Form data Changed, are sure close?",
},
closeall: "Close all",
closeother: "Close other",
},
fileUpload: {
caption: "Upload",
},
searchButton: {
search: "Search",
reset: "Reset",
},
calendar:{
today: "today",
month: "month",
week: "week",
day: "day",
list: "list",
dateSelectModalTitle: "select the time you wanted",
gotoDate: "goto",
from: "From",
to: "To",
},
utilview:{
importview:"Import Data",
warning:"warning",
info:"Please configure the data import item",
nodatakey:"No data primary key",
printerror:"Printing failed",
noprint:"No print items"
},
formpage:{
error: "Error",
desc1: "Operation failed, failed to find current form item",
desc2: "Can't continue",
notconfig: {
loadaction: "View form loadAction parameter is not configured",
loaddraftaction: "View form loaddraftAction parameter is not configured",
actionname: "View form actionName parameter is not configured",
removeaction: "View form removeAction parameter is not configured",
},
saveerror: "Error saving data",
savecontent: "The data is inconsistent. The background data may have been modified. Do you want to reload the data?",
valuecheckex: "Value rule check exception",
savesuccess: "Saved successfully!",
deletesuccess: "Successfully deleted!",
workflow: {
starterror: "Workflow started successfully",
startsuccess: "Workflow failed to start",
submiterror: "Workflow submission failed",
submitsuccess: "Workflow submitted successfully",
},
updateerror: "Form item update failed",
},
gridBar: {
title: "Table navigation bar",
},
multiEditView: {
notConfig: {
fetchAction: "View multi-edit view panel fetchAction parameter is not configured",
loaddraftAction: "View multi-edit view panel loaddraftAction parameter is not configured",
},
},
dataViewExpBar: {
title: "Card view navigation bar",
},
kanban: {
notConfig: {
fetchAction: "View list fetchAction parameter is not configured",
removeAction: "View table removeAction parameter is not configured",
},
delete1: "Confirm to delete ",
delete2: "the delete operation will be unrecoverable!",
fold: "fold",
unfold: "upfold",
},
dashBoard: {
handleClick: {
title: "Panel design",
},
},
dataView: {
sum: "total",
data: "data",
},
chart: {
undefined: "Undefined",
quarter: "Quarter",
year: "Year",
},
searchForm: {
notConfig: {
loadAction: "View search form loadAction parameter is not configured",
loaddraftAction: "View search form loaddraftAction parameter is not configured",
},
custom: "Store custom queries",
title: "Name",
},
wizardPanel: {
back: "Back",
next: "Next",
complete: "Complete",
preactionmessage:"The calculation of the previous behavior is not configured"
},
viewLayoutPanel: {
appLogoutView: {
prompt1: "Dear customer, you have successfully exited the system, after",
prompt2: "seconds, we will jump to the",
logingPage: "login page",
},
appWfstepTraceView: {
title: "Application process processing record view",
},
appWfstepDataView: {
title: "Application process tracking view",
},
appLoginView: {
username: "Username",
password: "Password",
login: "Login",
},
},
},
components: {
"404": {
errorText1: '抱歉,您访问的页面不存在!',
errorText2: '您要找的页面不存在,请返回',
indexPage: '首页',
continue: '继续浏览',
},
"500": {
errorText1: '抱歉,服务器出错了!',
errorText2: '服务器出错了,请返回 ',
indexPage: '首页',
continue: '继续浏览',
},
appOrgSector:{
successSwitch:'切换成功',
errorSwitch:'切换失败',
},
appAutocomplete: {
error: '错误',
miss: '缺少参数',
requestException: '请求异常!',
},
appBuild: {
custom: '定制',
},
appCheckBox: {
notExist: '代码表不存在',
},
appColumnLink: {
error: '错误',
valueItemException:"值项异常",
rowDataException:"表格行数据异常",
},
appColumnRender: {
select: '请选择...',
unsupported: '不支持',
},
appDashboardDesign: {
global: '全局',
},
appDataUploadView: {
"selectfile":"单击此区域进行上传",
"uploadserver":"上传数据",
"datatemplate":"导入数据模板",
"datatemplatemessage":"下载导入模版,并按要求填写:",
"read":"读取成功",
"completed":"导入完成",
"confirm":"确认",
"cancel":"取消",
"importfailed":"导入失败",
"selectfilesucess":"选取文件成功",
"importresult":"导入结果",
"totaldata": "共计导入数据",
"total": "条",
"errorinfo": "错误信息",
"start": "第",
"row": "行",
"downloadinfo": "下载反馈信息",
"downloaderror": "下载文件失败"
},
appDebugActions:{
button: '开启配置模式',
},
appExportExcel: {
total: '全部',
max: '最大',
row: '行',
currentPage: '当前页',
desc:'请输入起始页',
desc1:'请输入有效的起始页',
},
appFileUpload: {
preview: '查看',
uploadText: '将文件拖到此处,或<em>点击上传</em>',
uploadError: '上传失败',
fileTypeErrorTitle: '文件类型错误',
fileTypeErrorInfo: '请选择图片类型的文件,如JPEG,GIF,PNG,BMP',
limitselect: '当前限制选择数量为 ',
},
appFormDRUIPart: {
blockUITipInfo: '请先保存主数据',
viewLoadComp:'多数据视图加载完成,触发后续表单项更新',
save:'关系数据保存完成',
change:'关系数据值变化',
change1:'视图数据变化',
loadComp:'视图加载完成',
},
appHeaderMenus: {
ibizlab:{
title: 'iBiz开放平台',
},
publishProject:{
title: '项目文件',
},
ibizstudio:{
title: '模型设计工具',
},
ibizbbs:{
title: 'iBiz论坛',
},
},
appMpicker: {
error: '错误',
miss: '缺少参数',
requestException: '请求异常!',
},
appPicker: {
error: '错误',
miss: '缺少参数',
requestException: '请求异常!',
newAndEdit: '创建并编辑...',
systemException: '系统异常!',
valueitemException: '值项异常!',
formdataException: '表单数据异常!',
},
appPickerSelectView: {
error: '错误',
valueitemException: '值项异常!',
formdataException: '表单数据异常!',
placeholder: '请选择...',
},
appPortalDesign: {
customPortal: '自定义门户',
save: '保存',
},
appRangDate: {
placeholder: '请选择时间...',
from: '自',
daystart: '日 0 时 起 至',
dayend: '日 24 时 止',
},
appRangeEditor: {
placeholder: '请选择时间...',
input: '请输入...',
},
appStudioAction: {
configTitle: '进入当前视图配置界面',
configButton: '配置',
issueTitle: '建立当前界面的issues',
issueButton: '新建issues',
},
appTreePicker: {
placeholder: '请选择...',
},
dateRange: {
startText: '保险期限 : 自',
endText: '日 24 时 止',
startPlaceholder: '开始日期',
rangeSeparatorr: ' 0 时起 至',
endPlaceholder: '结束日期',
},
dropDownList: {
placeholder: '请选择...',
},
dropDownListDynamic: {
placeholder: '请选择...',
},
dropDownListMpicker: {
placeholder: '请选择...',
},
login: {
error: '错误',
caption: '欢迎登录',
placeholder1:'用户名',
placeholder2:'密码',
name: '登录',
reset:'重置',
register: '注册',
logout: '登出',
other:'其他登录方式',
tip: '输入用户名和密码',
warning1:'qq授权登录暂未支持',
warning2:'微信授权登录暂未支持',
loginname: {
placeholder: '请输入用户名',
message: '用户名不能为空',
},
password: {
placeholder: '请输入密码',
message: '密码不能为空',
},
loginfailed: '登录失败',
authfailed: '验证失败',
phoneplaceholder: '请输入手机号',
phonefailed: '手机号不正确',
codeplaceholder: '请输入验证码',
getcode: '获取验证码',
getcodeafter: '后获取验证码',
entervercode: '请输入验证码',
},
appUser: {
name: '系统管理员',
logout: '退出登录',
surelogout: '确认要退出登录?',
changepwd: "修改密码",
},
appTheme: {
caption: {
theme: '主题',
font: '字体',
},
fontFamilys: {
EYInterstate: '思源黑体',
SimHei: '黑体',
YouYuan: '幼圆',
},
},
appFormGroup: {
hide: '隐藏字段',
showMore: '显示更多字段',
},
appUpdatePassword: {
oldPwd: '原密码',
newPwd: '新密码',
confirmPwd: '确认密码',
sure: '确认修改',
oldPwdErr: '原密码不能为空!',
newPwdErr: '新密码不能为空!',
confirmPwdErr: '两次输入密码不一致!',
},
appAddressSelection: {
loadDataFail: '城市数据加载失败'
},
appGroupSelect:{
groupSelect:'分组选择',
},
appImageUpload:{
uploadFail:'上传失败',
limitselect: '当前限制选择数量为 ',
},
appOrgSelect:{
loadFail:'加载数据失败'
},
appTransfer:{
title1:'未选择',
title2:'已选择',
},
appWFApproval:{
commit:'提交',
wait:'等待',
handle:'处理',
placeholder:'请输入内容',
end:'结束'
},
contextMenuDrag:{
allApp:'全部应用',
noFind:'未找到该应用'
},
filterMode:{
placeholder:'条件逻辑',
},
filterTree:{
title1:'添加条件',
title2:'添加组',
placeholder:'属性',
},
iBizGroupPicker:{
ok:'确认',
cancel:'取消',
},
iBizGroupSelect:{
groupSelect:'分组选择'
},
tabPageExp:{
more:'更多',
},
uploadFile:{
imgMsg:'将图片拖到这里替换',
localUpload:'本地上传',
or:'或',
imgMsg1:'从素材库选择'
},
lockScren:{
title:'设置锁屏密码',
label:'锁屏密码',
message:'锁屏密码不能为空',
placeholder:'请输入锁屏密码',
placeholder1:'请输入登录密码',
message1: '解锁密码错误,请重新输入',
promptInformation:'是否退出系统, 是否继续?',
prompt:'提示',
confirmButtonText:'确定',
cancelButtonText:'取消',
},
cronEditor: {
label: {
second: '秒',
minute: '分',
hour: '时',
day: '日',
week: '周',
month: '月',
year: '年',
},
public : {
specify: '指定',
notSpecify: '不指定',
cycle: '周期',
from: '从',
to: '至',
loop: '循环',
every: '每',
once: '执行一次',
},
second: '秒',
minute: '分',
hour: {
title: '时',
everyHour: '每时',
hourStart: '时开始,每',
onceAHour: '时执行一次',
},
day: {
title: '日',
daily: '每日',
workDay: '工作日',
dayStart: '日开始,每',
onceADay: '日执行一次',
thisMonth: '本月',
lastWorkDay: '号,最近的工作日',
lastDayOfMonth: '本月最后一天',
},
month: {
title: '月',
everyMonth: '每月',
monthStart: '月开始,每',
onceAMonth: '月执行一次',
},
week: {
title: '周',
everyWeek: '每周',
from: '从星期',
to: '至星期',
start: '开始,每',
onceADay: '天执行一次',
specifyWeek: '指定周',
weekOfMonth: '本月第',
weekWeek: '周,星期',
lastOfMonth: '本月最后一个',
week: '星期',
},
year: {
title: '年',
everyYear: '每年',
},
message: {
error1: '日期与星期不可以同时为“不指定”',
error2: '日期与星期必须有一个为“不指定”',
},
},
appMessagePopover: {
loadMore: '加载更多',
noMore: '没有更多了'
},
appmessagebox: {
ok: "确 认",
cancel: "取 消"
},
diskFileUpload:{
fileDrag: '将文件拖到此处,或',
clickUpload: '点击上传',
load: '下载',
preview: '预览',
edit: '编辑',
delete: '删除',
clues: '单个文件大小不超过',
clues1: '文件不超过',
getFileFailure: '获取文件列表失败',
loadFailure: '上传文件失败',
loadFailure1: '上传失败,单个文件不得超过',
downloadFile: '下载文件失败',
downloadFile1: '下载文件失败,未获取到文件!',
deleteFile: '此操作将永久删除该文件, 是否继续?',
deleteFilePrompt: '提示',
true: '确定',
false: '取消',
deleteFileFailure: '删除文件失败',
updateFailure: '批量更新文件失败',
},
diskImageUpload:{
preview: '预览',
OCRdiscern: 'ORC识别',
load: '下载',
delete: '删除',
getImageFailure: '获取图片列表失败',
loadImageFailure: '下载缩略图失败',
loadImageFailure1: '下载缩略图失败,未获取到文件!',
loadImageFailure2:'下载图片失败',
loadImageFailure3:'下载图片失败,未找到图片!',
ImageIdNone: '图片id不存在!',
uploadImageFailure: '上传图片失败',
uploadImageFailure1: '上传失败,仅支持'gif,jpg,png,bmp'格式的图片!',
uploadFailure: '上传失败,单个图片不得超过',
notImageUrl: '图片url不存在',
deleteFile: '此操作将永久删除该文件, 是否继续?',
deleteFilePrompt: '提示',
true: '确定',
false: '取消',
deleteImageFailure:'删除图片失败',
updateFailure: '批量更新文件失败',
},
appMapPosition: {
submit: '确认',
title: '请选择地址'
},
appSortBar: {
title: '排序'
},
appAfterTime:{
minutesAgo: '分钟前',
hoursAgo: '小时前',
dayAgo: '天前',
monthsAgo: '月前',
yearsAgo: '年前'
},
timeline: {
index: "序号",
node: "节点",
author: "办理人员",
type: "操作",
lasttime: "完成时间",
opinion: "审批意见",
inhand: "待办理:",
}
},
codelist: {
AppCtrlType: {
"form": "表单类",
"navigation": "导航类",
"panel": "面板类",
"multidata": "多数据类",
"other": "其他类",
"empty": ""
},
AppEditorType: {
"basics": "基础类",
"exhibition": "展示类",
"choose": "选择类",
"datachoose": "数据选择类",
"datechoose": "时间选择类",
"fileupload": "文件上传类",
"empty": ""
},
AppViewType: {
"singledataview": "单数据视图",
"multidataview": "多数据视图",
"navigationview": "导航视图",
"chooseview": "选择视图",
"workflowview": "工作流视图",
"applicationview": "应用视图",
"functionalview": "功能视图",
"otherview": "其他视图",
"empty": ""
},
BOOKSTATUSGUIDE: {
"step1": "step1",
"step2": "step2",
"step3": "step3",
"empty": ""
},
BookSailState: {
"100": "未出版",
"200": "等待出版",
"300": "未上架",
"400": "已上架",
"empty": ""
},
BookType: {
"仙侠": "仙侠",
"武侠": "武侠",
"玄幻": "玄幻",
"都市": "都市",
"empty": ""
},
Bookgroup: {
"all": "全部",
"onshelf": "已上架",
"noshelf": "未上架",
"other": "其他",
"nopublish": "未出版",
"waitpublish": "等待出版",
"empty": ""
},
Booktag: {
"历史": "历史",
"数学": "数学",
"文学": "文学",
"科学": "科学",
"empty": ""
},
CodeList: {
"100": "第一图书馆",
"300": "第三图书馆",
"200": "第二图书馆",
"empty": ""
},
CodeList25: {
"10": "押金",
"20": "身份证",
"30": "学生证",
"empty": ""
},
CodeList43: {
"HTMLeditor": "HTML编辑器",
"droplist": "下拉列表框",
"picturecontrol": "图片控件",
"textarea": "多行输入框",
"picker": "数据选择",
"fileupload": "文件上传控件",
"textbox": "文本框",
"label": "标签",
"userdefined": "用户自定义",
"empty": ""
},
CodeList44: {
"10": "与客户服务相关的协议",
"400": "业务接洽阶段各类文本",
"1000": "保密协议",
"2000": "利益冲突披露及同意函",
"100": "服务协议及/或其附件",
"5000": "审计业务约定书",
"3000": "服务协议",
"4000": "服务协议附件",
"6000": "采购订单",
"200": "服务协议变更/废止/续约合同",
"300": "框架协议",
"40": "人力资源协议",
"50": "其他类协议",
"30": "合作类协议",
"20": "采购合同",
"60": "IT采购合同",
"70": "不动产相关协议",
"empty": ""
},
DYNAORDERTYPE: {
"empty": "",
},
HARDWARETYPE: {
"Storage": "存储",
"CPU": "处理器",
"empty": ""
},
ORDERENTITYDATA: {
"empty": "",
},
ORDERSTATE: {
"10": "未提交",
"20": "审核中",
"30": "已通过",
"40": "未通过",
"empty": ""
},
ORDERSTEP: {
"1": "发起人调整",
"5": "部门经理审核",
"10": "财务经理审核",
"20": "总经理审核",
"30": "财务总监审批",
"empty": ""
},
OrderType: {
"1": "已下单",
"2": "已取消",
"3": "已完成",
"empty": ""
},
SCODELIST_NUM: {
"1": "类型1",
"2": "类型2",
"4": "类型3",
"empty": ""
},
SCODELIST_TEXT: {
"A": "类型1",
"B": "类型2",
"C": "类型3",
"empty": ""
},
S_OrderType: {
"10": "销售订单",
"20": "采购订单",
"30": "生产订单",
"empty": ""
},
SysOperator: {
"empty": "",
},
UNIPRODUCTTYPE: {
"Software": "软件",
"Hardware": "硬件",
"empty": ""
},
WFStates: {
"0": "未启动",
"1": "流程中",
"2": "已完成",
"3": "已取消",
"31": "已取消(人工)",
"32": "已取消(超时)",
"4": "处理故障",
"empty": ""
},
YesNo: {
"1": "是",
"0": "否",
"empty": ""
},
},
custom: getCustomLocaleResource(),
<#if app.getAllPSAppLans()??>
<#list app.getAllPSAppLans() as lans>
<#if lans.getLanguage() == 'EN' && lans.getAllPSLanguageItems?? && lans.getAllPSLanguageItems()??>
<#list lans.getAllPSLanguageItems() as languageItem>
'${languageItem.getLanResTag()}': '<#compress><#if languageItem.getContent?? && languageItem.getContent()??>${languageItem.getContent()}</#if></#compress>',
</#list>
</#if>
</#list>
</#if>
};
return data;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
<#ibizinclude>../@MACRO/FUNC.ts</#ibizinclude>
<#list app.getAllPSAppDataEntities() as dataEntitey>
import ${dataEntitey.getCodeName()?lower_case}_zh_CN from '@locale/lanres/entities/${srffilepath2(dataEntitey.getCodeName())}/${srffilepath2(dataEntitey.getCodeName())}_zh_CN';
</#list>
import components_zh_CN from '@locale/lanres/components/components_zh_CN';
import codelist_zh_CN from '@locale/lanres/codelist/codelist_zh_CN';
import userCustom_zh_CN from '@locale/lanres/userCustom/userCustom_zh_CN';
import commonLogic from '@/locale/logic/common/common-logic';
<#assign langrestype = 'ZH_CN'/>
// 基于 APP/src/locale/lang/zh-CN-base.ts.ftl 生成
function getAppLocale(){
const data:any = {
<#-- 本地化语言资源 中文 -->
app: {
commonWords:{
error: "失败",
success: "成功",
ok: "确认",
cancel: "取消",
save: "保存",
codeNotExist: "代码表不存在",
reqException: "请求异常",
sysException: "系统异常",
warning: "警告",
wrong: "错误",
rulesException: "值规则校验异常",
saveSuccess: "保存成功",
saveFailed: "保存失败",
createFailed: '创建失败',
deleteSuccess: "删除成功",
deleteError: "删除失败",
delDataFail: "删除数据失败",
noData: "暂无数据",
startsuccess:"启动成功",
loadmore:"加载更多",
nomore:"没有更多了",
other:"其他",
isExist: '已经存在',
valueNotEmpty:"值不能为空",
globalerrortip:"填写信息有误,请检查"
},
local:{
new: "新建",
add: "增加",
},
grid: {
exportexcel: {
error: '导出失败'
}
},
gridpage: {
choicecolumns: "选择列",
refresh: "刷新",
show: "显示",
records: "条",
totle: "共",
valueVail: "值不能为空",
group:"分组",
other:"其他",
notConfig: {
fetchAction: "视图表格fetchAction参数未配置",
removeAction: "视图表格removeAction参数未配置",
createAction: "视图表格createAction参数未配置",
updateAction: "视图表格updateAction参数未配置",
loaddraftAction: "视图表格loaddraftAction参数未配置",
},
data: "数据",
delDataFail: "删除数据失败",
delSuccess: "删除成功!",
confirmDel: "确认要删除",
notRecoverable: "删除操作将不可恢复?",
notBatch: "批量添加未实现",
grid: "表",
exportFail: "数据导出失败",
sum: "合计",
formitemFailed: "表单项更新失败",
},
list: {
notConfig: {
fetchAction: "视图列表fetchAction参数未配置",
removeAction: "视图表格removeAction参数未配置",
createAction: "视图列表createAction参数未配置",
updateAction: "视图列表updateAction参数未配置",
},
confirmDel: "确认要删除",
notRecoverable: "删除操作将不可恢复?",
},
listExpBar: {
title: "列表导航栏",
},
wfExpBar: {
title: "流程导航栏",
},
calendarExpBar:{
title: "日历导航栏",
},
treeExpBar: {
title: "树视图导航栏",
},
portlet: {
noExtensions: "无扩展插件",
},
tabpage: {
sureclosetip: {
title: "关闭提醒",
content: "表单数据已经修改,确定要关闭?",
},
closeall: "关闭所有",
closeother: "关闭其他",
},
fileUpload: {
caption: "上传",
},
searchButton: {
search: "搜索",
reset: "重置",
},
calendar:{
today: "今天",
month: "月",
week: "周",
day: "天",
list: "列",
dateSelectModalTitle: "选择要跳转的时间",
gotoDate: "跳转",
from: "从",
to: "至",
},
// 非实体视图
views: {
<#if app.isPubRefViewOnly()><#assign allAppViews = app.getAllRefPSAppViews()/><#else><#assign allAppViews = app.getAllPSAppViews()/></#if>
<#if allAppViews??>
<#list allAppViews as obj>
<#if !obj.isPSDEView()>
${obj.getCodeName()?lower_case}: {
caption: <#ibizinclude>../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
title: commonLogic.appcommonhandle("<@getTitleLanguage obj langrestype />",null),
},
</#if>
</#list>
</#if>
},
utilview:{
importview:"导入数据",
warning:"警告",
info:"请配置数据导入项",
nodatakey:"无数据主键",
printerror:"打印失败",
noprint:"无打印项"
},
menus: {
<#list app.getAllPSAppMenuModels() as menu>
${menu.getCodeName()?lower_case}: {
<#list menu.getAllPSAppMenuItems() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#list>
},
formpage:{
desc1: "操作失败,未能找到当前表单项",
desc2: "无法继续操作",
notconfig: {
loadaction: "视图表单loadAction参数未配置",
loaddraftaction: "视图表单loaddraftAction参数未配置",
actionname: "视图表单'+actionName+'参数未配置",
removeaction: "视图表单removeAction参数未配置",
},
saveerror: "保存数据发生错误",
savecontent: "数据不一致,可能后台数据已经被修改,是否要重新加载数据?",
valuecheckex: "值规则校验异常",
savesuccess: "保存成功!",
deletesuccess: "删除成功!",
workflow: {
starterror: "工作流启动失败",
startsuccess: "工作流启动成功",
submiterror: "工作流提交失败",
submitsuccess: "工作流提交成功",
},
updateerror: "表单项更新失败",
},
gridBar: {
title: "表格导航栏",
},
multiEditView: {
notConfig: {
fetchAction: "视图多编辑视图面板fetchAction参数未配置",
loaddraftAction: "视图多编辑视图面板loaddraftAction参数未配置",
},
},
dataViewExpBar: {
title: "卡片视图导航栏",
},
kanban: {
notConfig: {
fetchAction: "视图列表fetchAction参数未配置",
removeAction: "视图表格removeAction参数未配置",
},
delete1: "确认要删除 ",
delete2: "删除操作将不可恢复?",
fold: "折叠",
unfold: "展开",
},
dashBoard: {
handleClick: {
title: "面板设计",
},
},
dataView: {
sum: "共",
data: "条数据",
},
chart: {
undefined: "未定义",
quarter: "季度",
year: "年",
},
searchForm: {
notConfig: {
loadAction: "视图搜索表单loadAction参数未配置",
loaddraftAction: "视图搜索表单loaddraftAction参数未配置",
},
custom: "存储自定义查询",
title: "名称",
},
wizardPanel: {
back: "上一步",
next: "下一步",
complete: "完成",
preactionmessage:"未配置计算上一步行为"
},
viewLayoutPanel: {
appLogoutView: {
prompt1: "尊敬的客户您好,您已成功退出系统,将在",
prompt2: "秒后跳转至",
logingPage: "登录页",
},
appWfstepTraceView: {
title: "应用流程处理记录视图",
},
appWfstepDataView: {
title: "应用流程跟踪视图",
},
appLoginView: {
username: "用户名",
password: "密码",
login: "登录",
},
},
},
entities: {
<#list app.getAllPSAppDataEntities() as dataEntitey>
${dataEntitey.getCodeName()?lower_case}: ${dataEntitey.getCodeName()?lower_case}_zh_CN(),
</#list>
},
components: components_zh_CN(),
codelist: codelist_zh_CN(),
userCustom: userCustom_zh_CN(),
};
return data;
}
export default getAppLocale;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import app_zh_CN_Base from './zh-CN-base';
// 基于 APP/src/locale/lang/zh-CN.ts.ftl 生成
import getCustomLocaleResource from '../custom/custom_zh_CN';
function getLocaleResource(){
const app_zh_CN_OwnData = {};
const targetData = Object.assign(app_zh_CN_Base(), app_zh_CN_OwnData);
return targetData;
const data:any = {
<#-- 本地化语言资源 中文 -->
app: {
commonWords:{
error: "失败",
success: "成功",
ok: "确认",
cancel: "取消",
save: "保存",
codeNotExist: "代码表不存在",
reqException: "请求异常",
sysException: "系统异常",
warning: "警告",
wrong: "错误",
rulesException: "值规则校验异常",
saveSuccess: "保存成功",
saveFailed: "保存失败",
createFailed: '创建失败',
deleteSuccess: "删除成功",
deleteError: "删除失败",
delDataFail: "删除数据失败",
noData: "暂无数据",
startsuccess:"启动成功",
loadmore:"加载更多",
nomore:"没有更多了",
other:"其他",
isExist: '已经存在',
valueNotEmpty:"值不能为空",
},
local:{
new: "新建",
add: "增加",
},
grid: {
exportexcel: {
error: '导出失败'
}
},
gridpage: {
choicecolumns: "选择列",
refresh: "刷新",
show: "显示",
records: "条",
totle: "共",
valueVail: "值不能为空",
group:"分组",
other:"其他",
notConfig: {
fetchAction: "视图表格fetchAction参数未配置",
removeAction: "视图表格removeAction参数未配置",
createAction: "视图表格createAction参数未配置",
updateAction: "视图表格updateAction参数未配置",
loaddraftAction: "视图表格loaddraftAction参数未配置",
},
data: "数据",
delDataFail: "删除数据失败",
delSuccess: "删除成功!",
confirmDel: "确认要删除",
notRecoverable: "删除操作将不可恢复?",
notBatch: "批量添加未实现",
grid: "表",
exportFail: "数据导出失败",
sum: "合计",
formitemFailed: "表单项更新失败",
},
list: {
notConfig: {
fetchAction: "视图列表fetchAction参数未配置",
removeAction: "视图表格removeAction参数未配置",
createAction: "视图列表createAction参数未配置",
updateAction: "视图列表updateAction参数未配置",
},
confirmDel: "确认要删除",
notRecoverable: "删除操作将不可恢复?",
},
listExpBar: {
title: "列表导航栏",
},
wfExpBar: {
title: "流程导航栏",
},
calendarExpBar:{
title: "日历导航栏",
},
treeExpBar: {
title: "树视图导航栏",
},
portlet: {
noExtensions: "无扩展插件",
},
tabpage: {
sureclosetip: {
title: "关闭提醒",
content: "表单数据已经修改,确定要关闭?",
},
closeall: "关闭所有",
closeother: "关闭其他",
},
fileUpload: {
caption: "上传",
},
searchButton: {
search: "搜索",
reset: "重置",
},
calendar:{
today: "今天",
month: "月",
week: "周",
day: "天",
list: "列",
dateSelectModalTitle: "选择要跳转的时间",
gotoDate: "跳转",
from: "从",
to: "至",
},
utilview:{
importview:"导入数据",
warning:"警告",
info:"请配置数据导入项",
nodatakey:"无数据主键",
printerror:"打印失败",
noprint:"无打印项"
},
formpage:{
desc1: "操作失败,未能找到当前表单项",
desc2: "无法继续操作",
notconfig: {
loadaction: "视图表单loadAction参数未配置",
loaddraftaction: "视图表单loaddraftAction参数未配置",
actionname: "视图表单'+actionName+'参数未配置",
removeaction: "视图表单removeAction参数未配置",
},
saveerror: "保存数据发生错误",
savecontent: "数据不一致,可能后台数据已经被修改,是否要重新加载数据?",
valuecheckex: "值规则校验异常",
savesuccess: "保存成功!",
deletesuccess: "删除成功!",
workflow: {
starterror: "工作流启动失败",
startsuccess: "工作流启动成功",
submiterror: "工作流提交失败",
submitsuccess: "工作流提交成功",
},
updateerror: "表单项更新失败",
},
gridBar: {
title: "表格导航栏",
},
multiEditView: {
notConfig: {
fetchAction: "视图多编辑视图面板fetchAction参数未配置",
loaddraftAction: "视图多编辑视图面板loaddraftAction参数未配置",
},
},
dataViewExpBar: {
title: "卡片视图导航栏",
},
kanban: {
notConfig: {
fetchAction: "视图列表fetchAction参数未配置",
removeAction: "视图表格removeAction参数未配置",
},
delete1: "确认要删除 ",
delete2: "删除操作将不可恢复?",
fold: "折叠",
unfold: "展开",
},
dashBoard: {
handleClick: {
title: "面板设计",
},
},
dataView: {
sum: "共",
data: "条数据",
},
chart: {
undefined: "未定义",
quarter: "季度",
year: "年",
},
searchForm: {
notConfig: {
loadAction: "视图搜索表单loadAction参数未配置",
loaddraftAction: "视图搜索表单loaddraftAction参数未配置",
},
custom: "存储自定义查询",
title: "名称",
},
wizardPanel: {
back: "上一步",
next: "下一步",
complete: "完成",
preactionmessage:"未配置计算上一步行为"
},
viewLayoutPanel: {
appLogoutView: {
prompt1: "尊敬的客户您好,您已成功退出系统,将在",
prompt2: "秒后跳转至",
logingPage: "登录页",
},
appWfstepTraceView: {
title: "应用流程处理记录视图",
},
appWfstepDataView: {
title: "应用流程跟踪视图",
},
appLoginView: {
username: "用户名",
password: "密码",
login: "登录",
},
},
},
components: {
"404": {
errorText1: '抱歉,您访问的页面不存在!',
errorText2: '您要找的页面不存在,请返回',
indexPage: '首页',
continue: '继续浏览',
},
"500": {
errorText1: '抱歉,服务器出错了!',
errorText2: '服务器出错了,请返回 ',
indexPage: '首页',
continue: '继续浏览',
},
appOrgSector:{
successSwitch:'切换成功',
errorSwitch:'切换失败',
},
appAutocomplete: {
error: '错误',
miss: '缺少参数',
requestException: '请求异常!',
},
appBuild: {
custom: '定制',
},
appCheckBox: {
notExist: '代码表不存在',
},
appColumnLink: {
error: '错误',
valueItemException:"值项异常",
rowDataException:"表格行数据异常",
},
appColumnRender: {
select: '请选择...',
unsupported: '不支持',
},
appDashboardDesign: {
global: '全局',
},
appDataUploadView: {
"selectfile":"单击此区域进行上传",
"uploadserver":"上传数据",
"datatemplate":"导入数据模板",
"datatemplatemessage":"下载导入模版,并按要求填写:",
"read":"读取成功",
"completed":"导入完成",
"confirm":"确认",
"cancel":"取消",
"importfailed":"导入失败",
"selectfilesucess":"选取文件成功",
"importresult":"导入结果",
"totaldata": "共计导入数据",
"total": "条",
"errorinfo": "错误信息",
"start": "第",
"row": "行",
"downloadinfo": "下载反馈信息",
"downloaderror": "下载文件失败"
},
appDebugActions:{
button: '开启配置模式',
},
appExportExcel: {
total: '全部',
max: '最大',
row: '行',
currentPage: '当前页',
desc:'请输入起始页',
desc1:'请输入有效的起始页',
},
appFileUpload: {
preview: '查看',
uploadText: '将文件拖到此处,或<em>点击上传</em>',
uploadError: '上传失败',
fileTypeErrorTitle: '文件类型错误',
fileTypeErrorInfo: '请选择图片类型的文件,如JPEG,GIF,PNG,BMP',
limitselect: '当前限制选择数量为 ',
},
appFormDRUIPart: {
blockUITipInfo: '请先保存主数据',
viewLoadComp:'多数据视图加载完成,触发后续表单项更新',
save:'关系数据保存完成',
change:'关系数据值变化',
change1:'视图数据变化',
loadComp:'视图加载完成',
},
appHeaderMenus: {
ibizlab:{
title: 'iBiz开放平台',
},
publishProject:{
title: '项目文件',
},
ibizstudio:{
title: '模型设计工具',
},
ibizbbs:{
title: 'iBiz论坛',
},
},
appMpicker: {
error: '错误',
miss: '缺少参数',
requestException: '请求异常!',
},
appPicker: {
error: '错误',
miss: '缺少参数',
requestException: '请求异常!',
newAndEdit: '创建并编辑...',
systemException: '系统异常!',
valueitemException: '值项异常!',
formdataException: '表单数据异常!',
},
appPickerSelectView: {
error: '错误',
valueitemException: '值项异常!',
formdataException: '表单数据异常!',
placeholder: '请选择...',
},
appPortalDesign: {
customPortal: '自定义门户',
save: '保存',
},
appRangDate: {
placeholder: '请选择时间...',
from: '自',
daystart: '日 0 时 起 至',
dayend: '日 24 时 止',
},
appRangeEditor: {
placeholder: '请选择时间...',
input: '请输入...',
},
appStudioAction: {
configTitle: '进入当前视图配置界面',
configButton: '配置',
issueTitle: '建立当前界面的issues',
issueButton: '新建issues',
},
appTreePicker: {
placeholder: '请选择...',
},
dateRange: {
startText: '保险期限 : 自',
endText: '日 24 时 止',
startPlaceholder: '开始日期',
rangeSeparatorr: ' 0 时起 至',
endPlaceholder: '结束日期',
},
dropDownList: {
placeholder: '请选择...',
},
dropDownListDynamic: {
placeholder: '请选择...',
},
dropDownListMpicker: {
placeholder: '请选择...',
},
login: {
error: '错误',
caption: '欢迎登录',
placeholder1:'用户名',
placeholder2:'密码',
name: '登录',
reset:'重置',
register: '注册',
logout: '登出',
other:'其他登录方式',
tip: '输入用户名和密码',
warning1:'qq授权登录暂未支持',
warning2:'微信授权登录暂未支持',
loginname: {
placeholder: '请输入用户名',
message: '用户名不能为空',
},
password: {
placeholder: '请输入密码',
message: '密码不能为空',
},
loginfailed: '登录失败',
authfailed: '验证失败',
phoneplaceholder: '请输入手机号',
phonefailed: '手机号不正确',
codeplaceholder: '请输入验证码',
getcode: '获取验证码',
getcodeafter: '后获取验证码',
entervercode: '请输入验证码',
},
appUser: {
name: '系统管理员',
logout: '退出登录',
surelogout: '确认要退出登录?',
changepwd: "修改密码",
},
appTheme: {
caption: {
theme: '主题',
font: '字体',
},
fontFamilys: {
EYInterstate: '思源黑体',
SimHei: '黑体',
YouYuan: '幼圆',
},
},
appFormGroup: {
hide: '隐藏字段',
showMore: '显示更多字段',
},
appUpdatePassword: {
oldPwd: '原密码',
newPwd: '新密码',
confirmPwd: '确认密码',
sure: '确认修改',
oldPwdErr: '原密码不能为空!',
newPwdErr: '新密码不能为空!',
confirmPwdErr: '两次输入密码不一致!',
},
appAddressSelection: {
loadDataFail: '城市数据加载失败'
},
appGroupSelect:{
groupSelect:'分组选择',
},
appImageUpload:{
uploadFail:'上传失败',
limitselect: '当前限制选择数量为 ',
},
appOrgSelect:{
loadFail:'加载数据失败'
},
appTransfer:{
title1:'未选择',
title2:'已选择',
},
appWFApproval:{
commit:'提交',
wait:'等待',
handle:'处理',
placeholder:'请输入内容',
end:'结束'
},
contextMenuDrag:{
allApp:'全部应用',
noFind:'未找到该应用'
},
filterMode:{
placeholder:'条件逻辑',
},
filterTree:{
title1:'添加条件',
title2:'添加组',
placeholder:'属性',
},
iBizGroupPicker:{
ok:'确认',
cancel:'取消',
},
iBizGroupSelect:{
groupSelect:'分组选择'
},
tabPageExp:{
more:'更多',
},
uploadFile:{
imgMsg:'将图片拖到这里替换',
localUpload:'本地上传',
or:'或',
imgMsg1:'从素材库选择'
},
lockScren:{
title:'设置锁屏密码',
label:'锁屏密码',
message:'锁屏密码不能为空',
placeholder:'请输入锁屏密码',
placeholder1:'请输入登录密码',
message1: '解锁密码错误,请重新输入',
promptInformation:'是否退出系统, 是否继续?',
prompt:'提示',
confirmButtonText:'确定',
cancelButtonText:'取消',
},
cronEditor: {
label: {
second: '秒',
minute: '分',
hour: '时',
day: '日',
week: '周',
month: '月',
year: '年',
},
public : {
specify: '指定',
notSpecify: '不指定',
cycle: '周期',
from: '从',
to: '至',
loop: '循环',
every: '每',
once: '执行一次',
},
second: '秒',
minute: '分',
hour: {
title: '时',
everyHour: '每时',
hourStart: '时开始,每',
onceAHour: '时执行一次',
},
day: {
title: '日',
daily: '每日',
workDay: '工作日',
dayStart: '日开始,每',
onceADay: '日执行一次',
thisMonth: '本月',
lastWorkDay: '号,最近的工作日',
lastDayOfMonth: '本月最后一天',
},
month: {
title: '月',
everyMonth: '每月',
monthStart: '月开始,每',
onceAMonth: '月执行一次',
},
week: {
title: '周',
everyWeek: '每周',
from: '从星期',
to: '至星期',
start: '开始,每',
onceADay: '天执行一次',
specifyWeek: '指定周',
weekOfMonth: '本月第',
weekWeek: '周,星期',
lastOfMonth: '本月最后一个',
week: '星期',
},
year: {
title: '年',
everyYear: '每年',
},
message: {
error1: '日期与星期不可以同时为“不指定”',
error2: '日期与星期必须有一个为“不指定”',
},
},
appMessagePopover: {
loadMore: '加载更多',
noMore: '没有更多了'
},
appmessagebox: {
ok: "确 认",
cancel: "取 消"
},
diskFileUpload:{
fileDrag: '将文件拖到此处,或',
clickUpload: '点击上传',
load: '下载',
preview: '预览',
edit: '编辑',
delete: '删除',
clues: '单个文件大小不超过',
clues1: '文件不超过',
getFileFailure: '获取文件列表失败',
loadFailure: '上传文件失败',
loadFailure1: '上传失败,单个文件不得超过',
downloadFile: '下载文件失败',
downloadFile1: '下载文件失败,未获取到文件!',
deleteFile: '此操作将永久删除该文件, 是否继续?',
deleteFilePrompt: '提示',
true: '确定',
false: '取消',
deleteFileFailure: '删除文件失败',
updateFailure: '批量更新文件失败',
},
diskImageUpload:{
preview: '预览',
OCRdiscern: 'ORC识别',
load: '下载',
delete: '删除',
getImageFailure: '获取图片列表失败',
loadImageFailure: '下载缩略图失败',
loadImageFailure1: '下载缩略图失败,未获取到文件!',
loadImageFailure2:'下载图片失败',
loadImageFailure3:'下载图片失败,未找到图片!',
ImageIdNone: '图片id不存在!',
uploadImageFailure: '上传图片失败',
uploadImageFailure1: '上传失败,仅支持'gif,jpg,png,bmp'格式的图片!',
uploadFailure: '上传失败,单个图片不得超过',
notImageUrl: '图片url不存在',
deleteFile: '此操作将永久删除该文件, 是否继续?',
deleteFilePrompt: '提示',
true: '确定',
false: '取消',
deleteImageFailure:'删除图片失败',
updateFailure: '批量更新文件失败',
},
appMapPosition: {
submit: '确认',
title: '请选择地址'
},
appSortBar: {
title: '排序'
},
appAfterTime:{
minutesAgo: '分钟前',
hoursAgo: '小时前',
dayAgo: '天前',
monthsAgo: '月前',
yearsAgo: '年前'
},
timeline: {
index: "序号",
node: "节点",
author: "办理人员",
type: "操作",
lasttime: "完成时间",
opinion: "审批意见",
inhand: "待办理:",
}
},
codelist: {
AppCtrlType: {
"form": "表单类",
"navigation": "导航类",
"panel": "面板类",
"multidata": "多数据类",
"other": "其他类",
"empty": "",
},
AppEditorType: {
"basics": "基础类",
"exhibition": "展示类",
"choose": "选择类",
"datachoose": "数据选择类",
"datechoose": "时间选择类",
"fileupload": "文件上传类",
"empty": "",
},
AppViewType: {
"singledataview": "单数据视图",
"multidataview": "多数据视图",
"navigationview": "导航视图",
"chooseview": "选择视图",
"workflowview": "工作流视图",
"applicationview": "应用视图",
"functionalview": "功能视图",
"otherview": "其他视图",
"empty": "",
},
BOOKSTATUSGUIDE: {
"step1": "step1",
"step2": "step2",
"step3": "step3",
"empty": "",
},
BookSailState: {
"100": "未出版",
"200": "等待出版",
"300": "未上架",
"400": "已上架",
"empty": "",
},
BookType: {
"仙侠": "仙侠",
"武侠": "武侠",
"玄幻": "玄幻",
"都市": "都市",
"empty": "",
},
Bookgroup: {
"all": "全部",
"onshelf": "已上架",
"noshelf": "未上架",
"other": "其他",
"nopublish": "未出版",
"waitpublish": "等待出版",
"empty": "",
},
Booktag: {
"历史": "历史",
"数学": "数学",
"文学": "文学",
"科学": "科学",
"empty": "",
},
CodeList: {
"100": "第一图书馆",
"300": "第三图书馆",
"200": "第二图书馆",
"empty": "",
},
CodeList25: {
"10": "押金",
"20": "身份证",
"30": "学生证",
"empty": "",
},
CodeList43: {
"HTMLeditor": "HTML编辑器",
"droplist": "下拉列表框",
"picturecontrol": "图片控件",
"textarea": "多行输入框",
"picker": "数据选择",
"fileupload": "文件上传控件",
"textbox": "文本框",
"label": "标签",
"userdefined": "用户自定义",
"empty": "",
},
CodeList44: {
"10": "与客户服务相关的协议",
"400": "业务接洽阶段各类文本",
"1000": "保密协议",
"2000": "利益冲突披露及同意函",
"100": "服务协议及/或其附件",
"5000": "审计业务约定书",
"3000": "服务协议",
"4000": "服务协议附件",
"6000": "采购订单",
"200": "服务协议变更/废止/续约合同",
"300": "框架协议",
"40": "人力资源协议",
"50": "其他类协议",
"30": "合作类协议",
"20": "采购合同",
"60": "IT采购合同",
"70": "不动产相关协议",
"empty": "",
},
DYNAORDERTYPE: {
"empty": "",
},
HARDWARETYPE: {
"Storage": "存储",
"CPU": "处理器",
"empty": "",
},
ORDERENTITYDATA: {
"empty": "",
},
ORDERSTATE: {
"10": "未提交",
"20": "审核中",
"30": "已通过",
"40": "未通过",
"empty": "",
},
ORDERSTEP: {
"1": "发起人调整",
"5": "部门经理审核",
"10": "财务经理审核",
"20": "总经理审核",
"30": "财务总监审批",
"empty": "",
},
OrderType: {
"1": "已下单",
"2": "已取消",
"3": "已完成",
"empty": "",
},
SCODELIST_NUM: {
"1": "类型1",
"2": "类型2",
"4": "类型3",
"empty": "",
},
SCODELIST_TEXT: {
"A": "类型1",
"B": "类型2",
"C": "类型3",
"empty": "",
},
S_OrderType: {
"10": "销售订单",
"20": "采购订单",
"30": "生产订单",
"empty": "",
},
SysOperator: {
"empty": "",
},
UNIPRODUCTTYPE: {
"Software": "软件",
"Hardware": "硬件",
"empty": "",
},
WFStates: {
"0": "未启动",
"1": "流程中",
"2": "已完成",
"3": "已取消",
"31": "已取消(人工)",
"32": "已取消(超时)",
"4": "处理故障",
"empty": "",
},
YesNo: {
"1": "是",
"0": "否",
"empty": "",
},
},
custom: getCustomLocaleResource(),
<#if app.getAllPSAppLans()??>
<#list app.getAllPSAppLans() as lans>
<#if lans.getLanguage() == 'ZH_CN' && lans.getAllPSLanguageItems?? && lans.getAllPSLanguageItems()??>
<#list lans.getAllPSLanguageItems() as languageItem>
'${languageItem.getLanResTag()}': '<#compress><#if languageItem.getContent?? && languageItem.getContent()??>${languageItem.getContent()}</#if></#compress>',
</#list>
</#if>
</#list>
</#if>
};
return data;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import codelist_BO_CN_Base from './codelist_BO_CN_base';
// 基于 APP/src/locale/lanres/codelist/codelist_BO_CN.ts.ftl 生成
function getLocaleResource(){
const codelist_BO_CN_OwnData = {};
const targetData = Object.assign(codelist_BO_CN_Base(), codelist_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import commonLogic from '@/locale/logic/common/common-logic';
<#ibizinclude>../../@MACRO/FUNC.ts</#ibizinclude>
<#assign langrestype = 'BO_CN'/>
// 基于 APP/src/locale/lanres/codelist/codelist_BO_CN_base.ts.ftl 生成
function getLocaleResourceBase(){
const data:any = {
<#if app.getAllPSAppCodeLists()??>
<#list app.getAllPSAppCodeLists() as codelist>
<#if codelist.getCodeListType() == "STATIC">
${codelist.codeName}: {
<#if codelist.getAllPSCodeItems?? && codelist.getAllPSCodeItems()??>
<#list codelist.getAllPSCodeItems() as codeitem>
"${codeitem.getValue()?j_string}": commonLogic.appcommonhandle("<@getTextLanguage codeitem langrestype />",null),
</#list>
</#if>
"empty": commonLogic.appcommonhandle("<@getEmptyTextLanguage codelist langrestype '' />",null)
},
<#elseif codelist.getCodeListType() == "DYNAMIC">
${codelist.codeName}: {
"empty": commonLogic.appcommonhandle("<@getEmptyTextLanguage codelist langrestype '' />",null),
},
</#if>
</#list>
</#if>
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import codelist_en_US_Base from './codelist_en_US_base';
// 基于 APP/src/locale/lanres/codelist/codelist_en_US.ts.ftl 生成
function getLocaleResource(){
const codelist_en_US_OwnData = {};
const targetData = Object.assign(codelist_en_US_Base(), codelist_en_US_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import commonLogic from '@/locale/logic/common/common-logic';
<#ibizinclude>../../@MACRO/FUNC.ts</#ibizinclude>
<#assign langrestype = 'EN'/>
// 基于 APP/src/locale/lanres/codelist/codelist_en_US_base.ts.ftl 生成
function getLocaleResourceBase(){
const data:any = {
<#if app.getAllPSAppCodeLists()??>
<#list app.getAllPSAppCodeLists() as codelist>
<#if codelist.getCodeListType() == "STATIC">
${codelist.codeName}: {
<#if codelist.getAllPSCodeItems?? && codelist.getAllPSCodeItems()??>
<#list codelist.getAllPSCodeItems() as codeitem>
"${codeitem.getValue()?j_string}": commonLogic.appcommonhandle("<@getTextLanguage codeitem langrestype />",null),
</#list>
</#if>
"empty": commonLogic.appcommonhandle("<@getEmptyTextLanguage codelist langrestype '' />",null)
},
<#elseif codelist.getCodeListType() == "DYNAMIC">
${codelist.codeName}: {
"empty": commonLogic.appcommonhandle("<@getEmptyTextLanguage codelist langrestype '' />",null),
},
</#if>
</#list>
</#if>
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import codelist_zh_CN_Base from './codelist_zh_CN_base';
// 基于 APP/src/locale/lanres/codelist/codelist_zh_CN.ts.ftl 生成
function getLocaleResource(){
const codelist_zh_CN_OwnData = {};
const targetData = Object.assign(codelist_zh_CN_Base(), codelist_zh_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
import commonLogic from '@/locale/logic/common/common-logic';
<#ibizinclude>../../@MACRO/FUNC.ts</#ibizinclude>
<#assign langrestype = 'ZH_CN'/>
// 基于 APP/src/locale/lanres/codelist/codelist_zh_CN_base.ts.ftl 生成
function getLocaleResourceBase(){
const data:any = {
<#if app.getAllPSAppCodeLists()??>
<#list app.getAllPSAppCodeLists() as codelist>
<#if codelist.getCodeListType() == "STATIC">
${codelist.codeName}: {
<#if codelist.getAllPSCodeItems?? && codelist.getAllPSCodeItems()??>
<#list codelist.getAllPSCodeItems() as codeitem>
"${codeitem.getValue()?j_string}": commonLogic.appcommonhandle("<@getTextLanguage codeitem langrestype />",null),
</#list>
</#if>
"empty": commonLogic.appcommonhandle("<@getEmptyTextLanguage codelist langrestype '' />",null),
},
<#elseif codelist.getCodeListType() == "DYNAMIC">
${codelist.codeName}: {
"empty": commonLogic.appcommonhandle("<@getEmptyTextLanguage codelist langrestype '' />",null),
},
</#if>
</#list>
</#if>
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSAPPDATAENTITY
</#ibiztemplate>
import ${item.getCodeName()}_BO_CN_Base from './${srffilepath2(item.getCodeName())}_BO_CN_base';
// 基于 APP/src/locale/lanres/entities/%DE_PKGPATH%/%DE_PKGPATH%_BO_CN.ts.ftl 生成
function getLocaleResource(){
const ${item.getCodeName()}_BO_CN_OwnData = {};
const targetData = Object.assign(${item.getCodeName()}_BO_CN_Base(), ${item.getCodeName()}_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSAPPDATAENTITY
</#ibiztemplate>
import commonLogic from '@/locale/logic/common/common-logic';
<#ibizinclude>../../../@MACRO/FUNC.ts</#ibizinclude>
<#assign langrestype = 'BO_CN'/>
<#assign emptyText = '暂无数据'>
// 基于 APP/src/locale/lanres/entities/%DE_PKGPATH%/%DE_PKGPATH%_BO_CN_base.ts.ftl 生成
function getLocaleResourceBase(){
const data:any = {
<#-- 实体属性输出 -->
<#if item.getAllPSAppDEFields()??>
fields: {
<#list item.getAllPSAppDEFields() as field>
${field.getPSDEField().getCodeName()?lower_case}: commonLogic.appcommonhandle("<@getLogicNameLanguage field.getPSDEField() langrestype />",null),
</#list>
},
</#if>
<#-- 属性值规则输出 -->
<#-- <#if item.getPSDataEntity().getAllPSDEFValueRules?? && item.getPSDataEntity().getAllPSDEFValueRules()??>
derules:{
<#list item.getPSDataEntity().getAllPSDEFValueRules() as deValueRule>
<#if deValueRule?? && (deValueRule.isDefaultMode() == false) && deValueRule.getPSDEFVRGroupCondition?? && deValueRule.getPSDEFVRGroupCondition()?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions()??>
<#assign deVRConditions = deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions() />
<#list deVRConditions as singleCondition>
${deValueRule.getCodeName()?lower_case}<#if singleCondition.getDEFName?? && singleCondition.getDEFName()??>${singleCondition.getDEFName()?lower_case}</#if>${singleCondition.getCondType()?lower_case}:commonLogic.appcommonhandle("${singleCondition.getRuleInfo()}",null),
<#if singleCondition.getPSDEFVRConditions?? && singleCondition.getPSDEFVRConditions()??>
<#list singleCondition.getPSDEFVRConditions() as sonsingleCondition>
${deValueRule.getCodeName()?lower_case}<#if sonsingleCondition.getDEFName?? && sonsingleCondition.getDEFName()??>${sonsingleCondition.getDEFName()?lower_case}</#if>${sonsingleCondition.getCondType()?lower_case}:commonLogic.appcommonhandle("${sonsingleCondition.getRuleInfo()}",null),
</#list>
</#if>
</#list>
</#if>
</#list>
},
</#if> -->
<#-- 实体视图输出 -->
<#if item.getAllPSAppViews()??>
views: {
<#list item.getAllPSAppViews() as obj>
${obj.getPSDEViewCodeName()?lower_case}: {
caption: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
title: commonLogic.appcommonhandle("<@getTitleLanguage obj langrestype />",null),
},
</#list>
},
</#if>
<#-- 实体部件输出 -->
<#if item.getPSControls()??>
<#assign ctrltypes = ['FORM', 'GRID', 'LIST', 'DATAVIEW', 'CHART','KANBAN', 'GANTT', 'TREEGRIDEX', 'SEARCHFORM', 'TOOLBAR', 'TREEVIEW', 'TREEGRIDEX', 'CALENDAR']>
<#list ctrltypes as ctrltype>
<#list item.getPSControls() as ctrl>
<#if ctrl.getControlType() == ctrltype>
<#if !P.exists(ctrltype, ctrl.getCodeName(), "_class_")>
${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}: {
<#if ctrl.getControlType() == 'FORM' || ctrl.getControlType() == 'SEARCHFORM'>
details: {
<#list ctrl.getAllPSDEFormDetails() as obj>
${obj.name?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#if>
<#if ctrl.getControlType() == 'LIST' || ctrl.getControlType() == 'DATAVIEW' || ctrl.getControlType() == 'CHART' || ctrl.getControlType() == 'KANBAN'|| ctrl.getControlType() == 'GANTT' || ctrl.getControlType() == 'TREEGRIDEX' || ctrl.getControlType() == 'CALENDAR' || ctrl.getControlType() == 'TREEVIEW'>
nodata:commonLogic.appcommonhandle("<@getEmptyTextLanguage ctrl langrestype emptyText/>",null),
</#if>
<#if ctrl.getControlType() == 'GRID'>
columns: {
<#if ctrl.getAllPSDEGridColumns()??>
<#list ctrl.getAllPSDEGridColumns() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
</#if>
},
nodata:commonLogic.appcommonhandle("<@getEmptyTextLanguage ctrl langrestype emptyText/>",null),
<#if ctrl.getPSDEDataExport?? && ctrl.getPSDEDataExport()?? >
exportColumns: {
<#if ctrl.getPSDEDataExport().getPSDEDataExportItems()??>
<#list ctrl.getPSDEDataExport().getPSDEDataExportItems() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
</#if>
},
</#if>
</#if>
<#if ctrl.getControlType() == 'TREEVIEW'>
nodes: {
<#if ctrl.getPSDETreeNodes()??>
<#list ctrl.getPSDETreeNodes() as obj>
<#if obj.getTreeNodeType() == 'STATIC'>
${obj.getNodeType()?lower_case}: commonLogic.appcommonhandle("<@getNameLanguage obj langrestype />",null),
</#if>
</#list>
</#if>
},
</#if>
<#if ctrl.getControlType() == 'TOOLBAR'>
<#if ctrl.getAllPSDEToolbarItems()??>
<#list ctrl.getAllPSDEToolbarItems() as obj>
${obj.getName()?lower_case}: {
caption: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
tip: commonLogic.appcommonhandle("<#ibizinclude>../../../@MACRO/TIPLANG.ts</#ibizinclude>",null),
},
</#list>
</#if>
</#if>
<#-- 部件界面行为 -->
<#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??>
uiactions: {
<#list ctrl.getPSUIActions() as obj>
<#if obj.getPSAppDataEntity?? && obj.getPSAppDataEntity()??>${obj.getPSAppDataEntity().getCodeName()?lower_case}_</#if>${obj.getUIActionTag()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#if>
},
</#if>
</#if>
</#list>
</#list>
</#if>
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSAPPDATAENTITY
</#ibiztemplate>
import ${item.getCodeName()}_en_US_Base from './${srffilepath2(item.getCodeName())}_en_US_base';
// 基于 APP/src/locale/lanres/entities/%DE_PKGPATH%/%DE_PKGPATH%_en_US.ts.ftl 生成
function getLocaleResource(){
const ${item.getCodeName()}_en_US_OwnData = {};
const targetData = Object.assign(${item.getCodeName()}_en_US_Base(), ${item.getCodeName()}_en_US_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSAPPDATAENTITY
</#ibiztemplate>
import commonLogic from '@/locale/logic/common/common-logic';
<#ibizinclude>../../../@MACRO/FUNC.ts</#ibizinclude>
<#assign langrestype = 'EN'/>
<#assign emptyText = 'No data.'>
// 基于 APP/src/locale/lanres/entities/%DE_PKGPATH%/%DE_PKGPATH%_en_US_base.ts.ftl 生成
function getLocaleResourceBase(){
const data:any = {
<#-- 实体属性输出 -->
<#if item.getAllPSAppDEFields()??>
fields: {
<#list item.getAllPSAppDEFields() as field>
${field.getPSDEField().getCodeName()?lower_case}: commonLogic.appcommonhandle("<@getLogicNameLanguage field.getPSDEField() langrestype />",null),
</#list>
},
</#if>
<#if item.getAllPSDEFValueRules?? && item.getAllPSDEFValueRules()??>
derules:{
<#list item.getAllPSDEFValueRules() as deValueRule>
<#if deValueRule?? && deValueRule.getPSDEFVRGroupCondition?? && deValueRule.getPSDEFVRGroupCondition()?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions()??>
<#assign deVRConditions = deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions() />
<#list deVRConditions as singleCondition>
${deValueRule.getCodeName()?lower_case}:commonLogic.appcommonhandle("${singleCondition.getRuleInfo()}",null),
</#list>
</#if>
</#list>
},
</#if>
<#-- 属性值规则输出 -->
<#-- <#if item.getPSDataEntity().getAllPSDEFValueRules?? && item.getPSDataEntity().getAllPSDEFValueRules()??>
derules:{
<#list item.getPSDataEntity().getAllPSDEFValueRules() as deValueRule>
<#if deValueRule?? && (deValueRule.isDefaultMode() == false) && deValueRule.getPSDEFVRGroupCondition?? && deValueRule.getPSDEFVRGroupCondition()?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions()??>
<#assign deVRConditions = deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions() />
<#list deVRConditions as singleCondition>
${deValueRule.getCodeName()?lower_case}<#if singleCondition.getDEFName?? && singleCondition.getDEFName()??>${singleCondition.getDEFName()?lower_case}</#if>${singleCondition.getCondType()?lower_case}:commonLogic.appcommonhandle("${singleCondition.getRuleInfo()}",null),
<#if singleCondition.getPSDEFVRConditions?? && singleCondition.getPSDEFVRConditions()??>
<#list singleCondition.getPSDEFVRConditions() as sonsingleCondition>
${deValueRule.getCodeName()?lower_case}<#if sonsingleCondition.getDEFName?? && sonsingleCondition.getDEFName()??>${sonsingleCondition.getDEFName()?lower_case}</#if>${sonsingleCondition.getCondType()?lower_case}:commonLogic.appcommonhandle("${sonsingleCondition.getRuleInfo()}",null),
</#list>
</#if>
</#list>
</#if>
</#list>
},
</#if> -->
<#-- 实体视图输出 -->
<#if item.getAllPSAppViews()??>
views: {
<#list item.getAllPSAppViews() as obj>
${obj.getPSDEViewCodeName()?lower_case}: {
caption: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
title: commonLogic.appcommonhandle("<@getTitleLanguage obj langrestype />",null),
},
</#list>
},
</#if>
<#-- 实体部件输出 -->
<#if item.getPSControls()??>
<#assign ctrltypes = ['FORM', 'GRID','LIST', 'DATAVIEW', 'CHART', 'KANBAN', 'GANTT', 'TREEGRIDEX', 'SEARCHFORM', 'TOOLBAR', 'TREEVIEW', 'CALENDAR']>
<#list ctrltypes as ctrltype>
<#list item.getPSControls() as ctrl>
<#if ctrl.getControlType() == ctrltype>
<#if !P.exists(ctrltype, ctrl.getCodeName(), "_class_")>
${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}: {
<#if ctrl.getControlType() == 'FORM' || ctrl.getControlType() == 'SEARCHFORM'>
details: {
<#list ctrl.getAllPSDEFormDetails() as obj>
${obj.name?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#if>
<#if ctrl.getControlType() == 'LIST' || ctrl.getControlType() == 'DATAVIEW' || ctrl.getControlType() == 'CHART'|| ctrl.getControlType() == 'KANBAN'|| ctrl.getControlType() == 'GANTT' || ctrl.getControlType() == 'TREEGRIDEX' || ctrl.getControlType() == 'CALENDAR' || ctrl.getControlType() == 'TREEVIEW'>
nodata:commonLogic.appcommonhandle("<@getEmptyTextLanguage ctrl langrestype emptyText/>",null),
</#if>
<#if ctrl.getControlType() == 'GRID'>
columns: {
<#if ctrl.getAllPSDEGridColumns()??>
<#list ctrl.getAllPSDEGridColumns() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
</#if>
},
nodata:commonLogic.appcommonhandle("<@getEmptyTextLanguage ctrl langrestype emptyText/>",null),
<#if ctrl.getPSDEDataExport?? && ctrl.getPSDEDataExport()?? >
exportColumns: {
<#if ctrl.getPSDEDataExport().getPSDEDataExportItems()??>
<#list ctrl.getPSDEDataExport().getPSDEDataExportItems() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
</#if>
},
</#if>
</#if>
<#if ctrl.getControlType() == 'TREEVIEW'>
nodes: {
<#if ctrl.getPSDETreeNodes()??>
<#list ctrl.getPSDETreeNodes() as obj>
<#if obj.getTreeNodeType() == 'STATIC'>
${obj.getNodeType()?lower_case}: commonLogic.appcommonhandle("<@getNameLanguage obj langrestype />",null),
</#if>
</#list>
</#if>
},
</#if>
<#if ctrl.getControlType() == 'TOOLBAR'>
<#if ctrl.getAllPSDEToolbarItems()??>
<#list ctrl.getAllPSDEToolbarItems() as obj>
${obj.getName()?lower_case}: {
caption: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
tip: commonLogic.appcommonhandle("<#ibizinclude>../../../@MACRO/TIPLANG.ts</#ibizinclude>",null),
},
</#list>
</#if>
</#if>
<#-- 部件界面行为 -->
<#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??>
uiactions: {
<#list ctrl.getPSUIActions() as obj>
<#if obj.getPSAppDataEntity?? && obj.getPSAppDataEntity()??>${obj.getPSAppDataEntity().getCodeName()?lower_case}_</#if>${obj.getUIActionTag()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#if>
},
</#if>
</#if>
</#list>
</#list>
</#if>
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSAPPDATAENTITY
</#ibiztemplate>
import ${item.getCodeName()}_zh_CN_Base from './${srffilepath2(item.getCodeName())}_zh_CN_base';
// 基于 APP/src/locale/lanres/entities/%DE_PKGPATH%/%DE_PKGPATH%_zh_CN.ts.ftl 生成
function getLocaleResource(){
const ${item.getCodeName()}_zh_CN_OwnData = {};
const targetData = Object.assign(${item.getCodeName()}_zh_CN_Base(), ${item.getCodeName()}_zh_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
<#ibiztemplate>
TARGET=PSAPPDATAENTITY
</#ibiztemplate>
import commonLogic from '@/locale/logic/common/common-logic';
<#ibizinclude>../../../@MACRO/FUNC.ts</#ibizinclude>
<#assign langrestype = 'ZH_CN'/>
<#assign emptyText = '暂无数据'>
// 基于 APP/src/locale/lanres/entities/%DE_PKGPATH%/%DE_PKGPATH%_zh_CN_base.ts.ftl 生成
function getLocaleResourceBase(){
const data:any = {
<#-- 实体属性输出 -->
<#if item.getAllPSAppDEFields()??>
fields: {
<#list item.getAllPSAppDEFields() as field>
${field.getPSDEField().getCodeName()?lower_case}: commonLogic.appcommonhandle("<@getLogicNameLanguage field.getPSDEField() langrestype />",null),
</#list>
},
</#if>
<#-- 属性值规则输出 -->
<#-- <#if item.getPSDataEntity().getAllPSDEFValueRules?? && item.getPSDataEntity().getAllPSDEFValueRules()??>
derules:{
<#list item.getPSDataEntity().getAllPSDEFValueRules() as deValueRule>
<#if deValueRule?? && (deValueRule.isDefaultMode() == false) && deValueRule.getPSDEFVRGroupCondition?? && deValueRule.getPSDEFVRGroupCondition()?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions?? && deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions()??>
<#assign deVRConditions = deValueRule.getPSDEFVRGroupCondition().getPSDEFVRConditions() />
<#list deVRConditions as singleCondition>
${deValueRule.getCodeName()?lower_case}<#if singleCondition.getDEFName?? && singleCondition.getDEFName()??>${singleCondition.getDEFName()?lower_case}</#if>${singleCondition.getCondType()?lower_case}:commonLogic.appcommonhandle("${singleCondition.getRuleInfo()}",null),
<#if singleCondition.getPSDEFVRConditions?? && singleCondition.getPSDEFVRConditions()??>
<#list singleCondition.getPSDEFVRConditions() as sonsingleCondition>
${deValueRule.getCodeName()?lower_case}<#if sonsingleCondition.getDEFName?? && sonsingleCondition.getDEFName()??>${sonsingleCondition.getDEFName()?lower_case}</#if>${sonsingleCondition.getCondType()?lower_case}:commonLogic.appcommonhandle("${sonsingleCondition.getRuleInfo()}",null),
</#list>
</#if>
</#list>
</#if>
</#list>
},
</#if> -->
<#-- 实体视图输出 -->
<#if item.getAllPSAppViews()??>
views: {
<#list item.getAllPSAppViews() as obj>
${obj.getPSDEViewCodeName()?lower_case}: {
caption: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
title: commonLogic.appcommonhandle("<@getTitleLanguage obj langrestype />",null),
},
</#list>
},
</#if>
<#-- 实体部件输出 -->
<#if item.getPSControls()??>
<#assign ctrltypes = ['FORM', 'GRID', 'LIST', 'DATAVIEW', 'CHART','KANBAN', 'GANTT', 'TREEGRIDEX', 'SEARCHFORM', 'TOOLBAR', 'TREEVIEW', 'TREEGRIDEX', 'CALENDAR']>
<#list ctrltypes as ctrltype>
<#list item.getPSControls() as ctrl>
<#if ctrl.getControlType() == ctrltype>
<#if !P.exists(ctrltype, ctrl.getCodeName(), "_class_")>
${ctrl.getCodeName()?lower_case}_${ctrl.getControlType()?lower_case}: {
<#if ctrl.getControlType() == 'FORM' || ctrl.getControlType() == 'SEARCHFORM'>
details: {
<#list ctrl.getAllPSDEFormDetails() as obj>
${obj.name?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#if>
<#if ctrl.getControlType() == 'LIST' || ctrl.getControlType() == 'DATAVIEW' || ctrl.getControlType() == 'CHART' || ctrl.getControlType() == 'KANBAN'|| ctrl.getControlType() == 'GANTT' || ctrl.getControlType() == 'TREEGRIDEX' || ctrl.getControlType() == 'CALENDAR' || ctrl.getControlType() == 'TREEVIEW'>
nodata:commonLogic.appcommonhandle("<@getEmptyTextLanguage ctrl langrestype emptyText/>",null),
</#if>
<#if ctrl.getControlType() == 'GRID'>
columns: {
<#if ctrl.getAllPSDEGridColumns()??>
<#list ctrl.getAllPSDEGridColumns() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
</#if>
},
nodata:commonLogic.appcommonhandle("<@getEmptyTextLanguage ctrl langrestype emptyText/>",null),
<#if ctrl.getPSDEDataExport?? && ctrl.getPSDEDataExport()?? >
exportColumns: {
<#if ctrl.getPSDEDataExport().getPSDEDataExportItems()??>
<#list ctrl.getPSDEDataExport().getPSDEDataExportItems() as obj>
${obj.getName()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
</#if>
},
</#if>
</#if>
<#if ctrl.getControlType() == 'TREEVIEW'>
nodes: {
<#if ctrl.getPSDETreeNodes()??>
<#list ctrl.getPSDETreeNodes() as obj>
<#if obj.getTreeNodeType() == 'STATIC'>
${obj.getNodeType()?lower_case}: commonLogic.appcommonhandle("<@getNameLanguage obj langrestype />",null),
</#if>
</#list>
</#if>
},
</#if>
<#if ctrl.getControlType() == 'TOOLBAR'>
<#if ctrl.getAllPSDEToolbarItems()??>
<#list ctrl.getAllPSDEToolbarItems() as obj>
${obj.getName()?lower_case}: {
caption: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
tip: commonLogic.appcommonhandle("<#ibizinclude>../../../@MACRO/TIPLANG.ts</#ibizinclude>",null),
},
</#list>
</#if>
</#if>
<#-- 部件界面行为 -->
<#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??>
uiactions: {
<#list ctrl.getPSUIActions() as obj>
<#if obj.getPSAppDataEntity?? && obj.getPSAppDataEntity()??>${obj.getPSAppDataEntity().getCodeName()?lower_case}_</#if>${obj.getUIActionTag()?lower_case}: <#ibizinclude>../../../@MACRO/CAPTIONLANG.ts</#ibizinclude>,
</#list>
},
</#if>
},
</#if>
</#if>
</#list>
</#list>
</#if>
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
......@@ -15,12 +15,6 @@ export const localList: any[] = [
name: 'English',
},
</#if>
<#if lans.getLanguage() == 'BO_CN'>
{
type: 'BO-CN',
name: 'བོད་ཡིག',
},
</#if>
</#list>
</#if>
];
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册