提交 42807632 编写于 作者: tony001's avatar tony001

Merge branch 'dev'

<span>${item.getRawContent()}</span>
\ No newline at end of file
......@@ -360,7 +360,7 @@ FullCalendar,
<#if childCtrl.getControlType() == "CONTEXTMENU">
<#if childCtrl.getPSDEToolbarItems()??>
<#list childCtrl.getPSDEToolbarItems() as item>
${childCtrl.getOwner().getItemType()}_${item.name}: {name:'${item.name}',nodeOwner:'${childCtrl.getOwner().getItemType()}',<#if item.getPSUIAction()??><#assign uiaction=item.getPSUIAction()>type: '${uiaction.getUIActionType()}', tag: '${uiaction.getUIActionTag()}'<#if (uiaction.getActionTarget()!="")>, actiontarget: '${uiaction.getActionTarget()}'</#if><#if uiaction.getNoPrivDisplayMode(view)??>, noprivdisplaymode:${uiaction.getNoPrivDisplayMode(view)}</#if><#if uiaction.getDataAccessAction()??>, dataaccaction:'${uiaction.getDataAccessAction()}'</#if>, visabled: true, disabled: false</#if>},
${childCtrl.getOwner().getItemType()}_${item.name}: {name:'${item.name}',nodeOwner:'${childCtrl.getOwner().getItemType()}',<#if item.getPSUIAction?? && item.getPSUIAction()??><#assign uiaction=item.getPSUIAction()>type: '${uiaction.getUIActionType()}', tag: '${uiaction.getUIActionTag()}'<#if (uiaction.getActionTarget()!="")>, actiontarget: '${uiaction.getActionTarget()}'</#if><#if uiaction.getNoPrivDisplayMode(view)??>, noprivdisplaymode:${uiaction.getNoPrivDisplayMode(view)}</#if><#if uiaction.getDataAccessAction()??>, dataaccaction:'${uiaction.getDataAccessAction()}'</#if>, visabled: true, disabled: false</#if>},
</#list>
</#if>
</#if>
......
......@@ -6,7 +6,6 @@
${ctrl.render.code}
<#else>
<div class="app-data-view-group<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>">
<template v-if="items.length > 0">
<template v-for="(group, index) of groups">
<#if ctrl.groupRender??>
${ctrl.groupRender.code}
......@@ -53,18 +52,23 @@ ${ctrl.render.code}
</Poptip>
</#if>
</div>
<draggable :list="group.items" group="${ctrl.name}" class="dataview-group-items" @change="onDragChange($event, group.value)">
<div v-for="(item, i) in group.items" :key="i" :class="{'dataview-group-item': true, 'is-select': item.isselected}" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<#if ctrl.getItemPSLayoutPanel()??>
<#assign panel = ctrl.getItemPSLayoutPanel()>
<layout_${panel.getName()} name='${panel.name}' :inputData="item" @panelDataChange="($event)=>{onPanelDataChange(item,$event)}"></layout_${panel.getName()}>
<#elseif ctrl.itemRender??>
${ctrl.itemRender.code}
<#else>
{{ item.srfmajortext }}
</#if>
</div>
</draggable>
<div v-if="items.length > 0">
<draggable :list="group.items" group="${ctrl.name}" class="dataview-group-items" @change="onDragChange($event, group.value)">
<div v-for="(item, i) in group.items" :key="i" :class="{'dataview-group-item': true, 'is-select': item.isselected}" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<#if ctrl.getItemPSLayoutPanel()??>
<#assign panel = ctrl.getItemPSLayoutPanel()>
<layout_${panel.getName()} name='${panel.name}' :inputData="item" @panelDataChange="($event)=>{onPanelDataChange(item,$event)}"></layout_${panel.getName()}>
<#elseif ctrl.itemRender??>
${ctrl.itemRender.code}
<#else>
{{ item.srfmajortext }}
</#if>
</div>
</draggable>
</div>
<div v-else class="app-data-empty">
<span>{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}</span>
</div>
</div>
</#if>
</template>
......@@ -87,10 +91,6 @@ ${ctrl.render.code}
</#if>
</div>
</#if>
</template>
<template v-else>
<span class="app-data-empty">{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}</span>
</template>
</div>
</#if>
</template>
......@@ -793,9 +793,9 @@ draggable,
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public uiAction(tag: any, $event: any, group: any) {
let row = this.selections.length > 0 ? this.selections[0] : {};
let row = this.selections.length > 0 && group?.items.includes(this.selections[0])? this.selections[0] : {};
if(!row.hasOwnProperty('srfgroup')){
Object.assign(row,{srfgroup: group.value});
Object.assign(row,{srfgroup: group? group.value:null});
}
<#if ctrl.getPSAppViewLogics()??>
<#list ctrl.getPSAppViewLogics() as logic>
......
......@@ -60,6 +60,13 @@
border-color: #108cee;
}
}
.app-data-empty{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
}
.dataview-group-content:nth-child(1) {
border-left: 1px solid #ddd;
......@@ -79,12 +86,6 @@
border-top-width: 1px;
}
}
.app-data-empty{
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
}
.dragitems {
z-index: -1 !important;
......
.${srffilepath2(view.getCodeName())}{
position: relative;
<#if view.getViewType() == "DETREEEXPVIEW" || view.getViewType() == "DETREEEXPVIEW2">
height: 100%;
</#if>
}
<#if view.hasPSControl('toolbar')>
<@ibizindent blank=8>
......
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
\ No newline at end of file
</#ibizinclude>
.iframe-container{
height: 100%;
iframe{
height: 100%;
width: 100%;
border-width: 0px;
}
}
.app-error-view {
height: 100%;
width: 100%;
.app-error-container {
height: 380px;
width: 670px;
position: absolute;
top: calc((100% - 400px) / 2);
left: calc((100% - 670px) / 2);
display: flex;
align-items: center;
.error-text {
padding-left: 20px;
.error-text1 {
font-size: 20px;
margin-bottom: 20px;
}
.error-text2 {
font-size: 14px;
}
}
}
}
\ No newline at end of file
<div class="view-container ${view.getViewType()?lower_case} ${srffilepath2(view.getCodeName())}<#if view.getPSSysCss?? && view.getPSSysCss()??> ${view.getPSSysCss().getCssName()}</#if>">
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="${view.getCodeName()?lower_case}"></app-studioaction>
<card class='view-card<#if !view.isShowCaptionBar()> view-no-caption</#if> <#if !view.hasPSControl('toolbar')> view-no-toolbar</#if>' :disHover="true" :padding="0" :bordered="false">
<#ibizinclude>
../@MACRO/VIEW_CAPTION.vue.ftl
</#ibizinclude>
<#if view.hasPSControl('toolbar')>
<#assign toolbarCtrl = view.getPSControl('toolbar')>
<@ibizindent blank=8>
${P.getCtrlCode(toolbarCtrl, 'CONTROL.html').code}
</@ibizindent>
</#if>
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=12>
<#ibizinclude>
../@MACRO/DEFAULT.vue.ftl
</#ibizinclude>
\ No newline at end of file
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<div class="content-container">
<#-- BEGIN:视图内容区视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Body_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图内容区视图消息 -->
<#if view.getAllPSControls()??>
<#list view.getAllPSControls() as ctrl>
<#if ctrl.getControlType() != "TOOLBAR">
<#if P.getCtrlCode(ctrl, 'CONTROL.html')??>
<@ibizindent blank=12>
${P.getCtrlCode(ctrl, 'CONTROL.html').code}
</@ibizindent>
</#if>
</#if>
</#list>
</#if>
<div v-if="iframeUrl.length > 0" class="iframe-container">
<iframe :src="iframeUrl"></iframe>
</div>
<div v-else >
<div class="app-error-view">
<div class="app-error-container">
<img src="/assets/img/404.png" />
<div class="error-text">
<div class="error-text1">{{$t('components.404.errorText1')}}</div>
<div class="error-text2">{{$t('components.404.errorText2')}}</div>
</div>
</div>
</div>
</div>
</div>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=12>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</card>
</div>
\ No newline at end of file
......@@ -8,7 +8,7 @@
<#-- @update 2020.7.13 18:08 -->
<#if item.getPSEditor()?? && item.getPSEditor().getPSEditorContainer()?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField()?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField().getPSDEField()?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField().getPSDEField().getDataType()??>
dataType="${item.getPSEditor().getPSEditorContainer().getPSAppDEField().getPSDEField().getDataType()}" <#t>
<#if item.getUnitName()!="">
<#if item.getUnitName?? && item.getUnitName()??>
unitName="${item.getUnitName()}" <#t>
</#if>
</#if>
......
......@@ -10,7 +10,7 @@
<#-- @update 2020.7.13 18:08 -->
<#if item.getPSEditor()?? && item.getPSEditor().getPSEditorContainer()?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField()?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField().getPSDEField()?? && item.getPSEditor().getPSEditorContainer().getPSAppDEField().getPSDEField().getDataType()??>
dataType="${item.getPSEditor().getPSEditorContainer().getPSAppDEField().getPSDEField().getDataType()}" <#t>
<#if item.getUnitName()!="">
<#if item.getUnitName?? && item.getUnitName()??>
unitName="${item.getUnitName()}" <#t>
</#if>
</#if>
......
......@@ -190,6 +190,9 @@
this.handleCustomViewData();
//初始化导航数据
this.initNavDataWithRoute();
<#if self_viewparam??>
${self_viewparam}
</#if>
}
/**
......
......@@ -6,6 +6,30 @@
../@MACRO/VIEW_HEADER-BASE.vue.ftl
</#ibizinclude>
<#assign self_content = ''/>
<#assign self_viewparam>
this.parseIframeSrc(this.context,this.viewparams);
</#assign>
<#assign self_content>
/**
* 嵌入视图路径
*
* @public
* @type string
* @memberof ${srfclassname('${view.name}')}Base
*/
public iframeUrl: string = '';
/**
* 解析嵌入视图路径
*
* @public
* @memberof ${srfclassname('${view.name}')}Base
*/
public parseIframeSrc(context: any,viewparams: any){
this.iframeUrl = `<#if view.getHtmlUrl()??>${view.getHtmlUrl()}</#if>`;
}
</#assign>
<#ibizinclude>
../@MACRO/VIEW_CONTENT-BASE.vue.ftl
</#ibizinclude>
......
......@@ -48,6 +48,8 @@ export const Environment = {
ibizlabtUrl: 'https://www.ibizlab.cn',
// ibiz论坛地址
ibizbbstUrl: 'https://bbs.ibizlab.cn',
// 是否启用工作流
workflow: false,
};
// 挂载外部配置文件
if ((window as any).Environment) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册