Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz4jVue
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
iBiz4jVue
提交
cc40f218
提交
cc40f218
编写于
9月 24, 2020
作者:
ibiz4j
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'dev' 到 'master'
Dev 查看合并请求
ibizr7pfstdtempl/ibizvuer7!4
上级
f95af3d5
014e7bf1
变更
35
显示空白字符变更
内嵌
并排
正在显示
35 个修改的文件
包含
411 行增加
和
25 行删除
+411
-25
CONTROL-BASE.vue.ftl
@CONTROL/列表导航/CONTROL-BASE.vue.ftl
+20
-0
CONTROL-BASE.vue.ftl
@CONTROL/卡片视图导航/CONTROL-BASE.vue.ftl
+20
-0
CONTROL.vue#ITEM_DEUIACTION.ftl
@CONTROL/工具栏/CONTROL.vue#ITEM_DEUIACTION.ftl
+4
-3
CONTROL.less.ftl
@CONTROL/搜索栏/CONTROL.less.ftl
+1
-0
CONTROL-BASE.vue.ftl
@CONTROL/日历导航/CONTROL-BASE.vue.ftl
+20
-0
CONTROL-BASE.vue.ftl
@CONTROL/树视图导航栏/CONTROL-BASE.vue.ftl
+20
-0
CONTROL-BASE.vue#DETAIL_FORMPAGE.ftl
@CONTROL/表单/CONTROL-BASE.vue#DETAIL_FORMPAGE.ftl
+0
-1
SERVICE.ts.ftl
@CONTROL/表格/SERVICE.ts.ftl
+21
-0
CONTROL-BASE.vue.ftl
@CONTROL/表格导航/CONTROL-BASE.vue.ftl
+20
-0
DEFAULT.vue.ftl
@CONTROL/视图布局面板/@MACRO/DEFAULT.vue.ftl
+15
-0
WIZARD.vue.ftl
@CONTROL/视图布局面板/@MACRO/WIZARD.vue.ftl
+15
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体分页导航视图/VIEW.less.ftl
+6
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体分页搜索视图/VIEW.less.ftl
+10
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体向导视图/VIEW.less.ftl
+7
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体图表视图/VIEW.less.ftl
+4
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体图表视图/VIEW.vue.ftl
+15
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体数据多项选择视图/VIEW.less.ftl
+1
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体数据多项选择视图/VIEW.vue.ftl
+15
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体树视图/VIEW.vue.ftl
+17
-3
VIEW.less.ftl
@CONTROL/视图布局面板/实体树视图(部件视图)/VIEW.less.ftl
+7
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体树视图(部件视图)/VIEW.vue.ftl
+15
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体甘特视图/VIEW.less.ftl
+6
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体甘特视图(部件视图)/VIEW.less.ftl
+7
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体编辑视图(上下关系)/VIEW.less.ftl
+5
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体编辑视图(上下关系)/VIEW.vue.ftl
+15
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体编辑视图(左右关系)/VIEW.less.ftl
+9
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体编辑视图(左右关系)/VIEW.vue.ftl
+8
-12
VIEW.vue.ftl
@CONTROL/视图布局面板/实体选择表格视图/VIEW.vue.ftl
+15
-0
EDITOR.vue.ftl
@EDITOR/数据选择/EDITOR.vue.ftl
+1
-0
GRIDEIDTOR.vue.ftl
@EDITOR/数据选择/GRIDEIDTOR.vue.ftl
+1
-0
EDITOR.vue.ftl
@EDITOR/数据选择(下拉)/EDITOR.vue.ftl
+1
-0
GRIDEIDTOR.vue.ftl
@EDITOR/数据选择(下拉)/GRIDEIDTOR.vue.ftl
+1
-0
EDITOR.vue.ftl
@EDITOR/用户自定义(动态配置AvueForm)/EDITOR.vue.ftl
+2
-2
package.json.ftl
APP/package.json.ftl
+83
-0
%DE_PKGPATH%-ui-service-base.ts.ftl
...iservice/%DE_PKGPATH%/%DE_PKGPATH%-ui-service-base.ts.ftl
+4
-4
未找到文件。
@CONTROL/列表导航/CONTROL-BASE.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -526,6 +526,26 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/co
this.$emit('load',args);
}
/**
* 计算导航工具栏权限状态
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public calcNavigationToolbarState(){
let _this: any = this;
// 界面行为
<#if ctrl.getPSAppDataEntity?? && ctrl.getPSAppDataEntity()??>
<#assign curAppEntity = ctrl.getPSAppDataEntity() />
const curUIService:${srfclassname('${curAppEntity.getCodeName()}')}UIService = new ${srfclassname('${curAppEntity.getCodeName()}')}UIService();
<#if ctrl.getCodeName?? && ctrl.getCodeName()??>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}_toolbarModels</#assign>
if(_this.${ModelsName}){
ViewTool.calcActionItemAuthState({},_this.${ModelsName},curUIService);
}
</#if>
</#if>
}
/**
* 执行搜索
*
...
...
@CONTROL/卡片视图导航/CONTROL-BASE.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -535,6 +535,26 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/co
this.$emit('load',args);
}
/**
* 计算导航工具栏权限状态
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public calcNavigationToolbarState(){
let _this: any = this;
// 界面行为
<#if ctrl.getPSAppDataEntity?? && ctrl.getPSAppDataEntity()??>
<#assign curAppEntity = ctrl.getPSAppDataEntity() />
const curUIService:${srfclassname('${curAppEntity.getCodeName()}')}UIService = new ${srfclassname('${curAppEntity.getCodeName()}')}UIService();
<#if ctrl.getCodeName?? && ctrl.getCodeName()??>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}_toolbarModels</#assign>
if(_this.${ModelsName}){
ViewTool.calcActionItemAuthState({},_this.${ModelsName},curUIService);
}
</#if>
</#if>
}
/**
* 执行搜索
*
...
...
@CONTROL/工具栏/CONTROL.vue#ITEM_DEUIACTION.ftl
浏览文件 @
cc40f218
<#assign deuiaction=item.getPSUIAction()>
<#if deuiaction.getUIActionTag() == 'ExportExcel'>
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', <#if item.isShowCaption()>caption: '${item.caption}',</#if> disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' }<#if view.hasPSControl("GRID")><#assign gridhandler = view.getPSControl("GRID").getPSAjaxControlHandler()>, MaxRowCount: <#if gridhandler?? && gridhandler.getPSDEDataExport()??>${gridhandler.getPSDEDataExport().getMaxRowCount()?c}<#elseif sys.getDEDataExportMaxRowCount() gt 0>${sys.getDEDataExportMaxRowCount()?c}<#else>10000</#if></#if> },
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}',
actiontarget: 'NONE',
<#if item.isShowCaption()>caption: '${item.caption}',</#if> disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' }<#if view.hasPSControl("GRID")><#assign gridhandler = view.getPSControl("GRID").getPSAjaxControlHandler()>, MaxRowCount: <#if gridhandler?? && gridhandler.getPSDEDataExport()??>${gridhandler.getPSDEDataExport().getMaxRowCount()?c}<#elseif sys.getDEDataExportMaxRowCount() gt 0>${sys.getDEDataExportMaxRowCount()?c}<#else>10000</#if></#if> },
<#elseif deuiaction.getUIActionTag() == 'ToggleRowEdit'>
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', <#if item.isShowCaption()>caption: '${item.caption}', </#if>disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' } },
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}',
actiontarget: 'NONE',
<#if item.isShowCaption()>caption: '${item.caption}', </#if>disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' } },
<#else>
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', <#if item.isShowCaption()>caption: '${item.caption}', </#if>disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' } },
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}',
actiontarget: 'NONE',
<#if item.isShowCaption()>caption: '${item.caption}', </#if>disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' } },
</#if>
\ No newline at end of file
@CONTROL/搜索栏/CONTROL.less.ftl
浏览文件 @
cc40f218
.search-bar-footer {
height: 32px;
margin-bottom: 6px;
.search-bar-action {
float: right;
display: flex;
...
...
@CONTROL/日历导航/CONTROL-BASE.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -415,6 +415,26 @@
this.$emit('load',args);
}
/**
* 计算导航工具栏权限状态
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public calcNavigationToolbarState(){
let _this: any = this;
// 界面行为
<#if ctrl.getPSAppDataEntity?? && ctrl.getPSAppDataEntity()??>
<#assign curAppEntity = ctrl.getPSAppDataEntity() />
const curUIService:${srfclassname('${curAppEntity.getCodeName()}')}UIService = new ${srfclassname('${curAppEntity.getCodeName()}')}UIService();
<#if ctrl.getCodeName?? && ctrl.getCodeName()??>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}_toolbarModels</#assign>
if(_this.${ModelsName}){
ViewTool.calcActionItemAuthState({},_this.${ModelsName},curUIService);
}
</#if>
</#if>
}
/**
* 执行搜索
*
...
...
@CONTROL/树视图导航栏/CONTROL-BASE.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -414,6 +414,26 @@
this.$emit('load', $event);
}
/**
* 计算导航工具栏权限状态
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public calcNavigationToolbarState(){
let _this: any = this;
// 界面行为
<#if ctrl.getPSAppDataEntity?? && ctrl.getPSAppDataEntity()??>
<#assign curAppEntity = ctrl.getPSAppDataEntity() />
const curUIService:${srfclassname('${curAppEntity.getCodeName()}')}UIService = new ${srfclassname('${curAppEntity.getCodeName()}')}UIService();
<#if ctrl.getCodeName?? && ctrl.getCodeName()??>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}_toolbarModels</#assign>
if(_this.${ModelsName}){
ViewTool.calcActionItemAuthState({},_this.${ModelsName},curUIService);
}
</#if>
</#if>
}
<#if ctrl.getPSControls()??>
<#assign controls = ctrl.getPSControls()/>
<#list controls as singleControl>
...
...
@CONTROL/表单/CONTROL-BASE.vue#DETAIL_FORMPAGE.ftl
浏览文件 @
cc40f218
<#assign content>
<#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>
<#list item.getPSDEFormDetails() as formmenber>
<#if !(formmenber.isHidden?? && formmenber.isHidden())>
<#ibizinclude>
...
...
@CONTROL/表格/SERVICE.ts.ftl
浏览文件 @
cc40f218
...
...
@@ -149,6 +149,15 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
<#-- 手动修改数据主键的情况start -->
<#if ctrl.getPSDEGridEditItems()??>
<#list ctrl.getPSDEGridEditItems() as editItem>
<#if editItem.getPSAppDEField()?? && editItem.getPSAppDEField().isKeyField()>
Object.assign(Data,{${appde.getKeyPSAppDEField().getCodeName()?lower_case}: data.${editItem.getName()}, srffrontuf: '1'});
</#if>
</#list>
</#if>
<#-- 手动修改数据主键的情况end -->
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
...
...
@@ -320,7 +329,19 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
if(response.data){
Object.assign(response.data,{srfuf:'0'});
//仿真主键数据
<#-- 手动修改数据主键的情况start -->
<#assign hasKeyFieldwithEditable = false/>
<#if ctrl.getPSDEGridEditItems()??>
<#list ctrl.getPSDEGridEditItems() as editItem>
<#if editItem.getPSAppDEField()?? && editItem.getPSAppDEField().isKeyField()>
<#assign hasKeyFieldwithEditable>true</#assign>
</#if>
</#list>
</#if>
<#-- 手动修改数据主键的情况end -->
<#if !hasKeyFieldwithEditable>
response.data.${appde.getKeyPSAppDEField().getCodeName()?lower_case} = Util.createUUID();
</#if>
}
this.handleResponse(action, response, true);
resolve(response);
...
...
@CONTROL/表格导航/CONTROL-BASE.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -531,6 +531,26 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/co
public ${ctrl.name}_load(args:any, tag?: string, $event2?: any){
this.$emit('load',args);
}
/**
* 计算导航工具栏权限状态
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public calcNavigationToolbarState(){
let _this: any = this;
// 界面行为
<#if ctrl.getPSAppDataEntity?? && ctrl.getPSAppDataEntity()??>
<#assign curAppEntity = ctrl.getPSAppDataEntity() />
const curUIService:${srfclassname('${curAppEntity.getCodeName()}')}UIService = new ${srfclassname('${curAppEntity.getCodeName()}')}UIService();
<#if ctrl.getCodeName?? && ctrl.getCodeName()??>
<#assign ModelsName>${ctrl.getCodeName()?lower_case}_toolbarModels</#assign>
if(_this.${ModelsName}){
ViewTool.calcActionItemAuthState({},_this.${ModelsName},curUIService);
}
</#if>
</#if>
}
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
...
...
@CONTROL/视图布局面板/@MACRO/DEFAULT.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -13,6 +13,13 @@ ${P.getCtrlCode(toolbarCtrl, 'CONTROL.html').code}
</@ibizindent>
</#if>
<div class="content-container">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=12>
<#ibizinclude>
./View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#if view.getAllPSControls()??>
<#list view.getAllPSControls() as ctrl>
<#if ctrl.getControlType() != "TOOLBAR">
...
...
@@ -24,6 +31,13 @@ ${P.getCtrlCode(ctrl, 'CONTROL.html').code}
</#if>
</#list>
</#if>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=12>
<#ibizinclude>
./View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/@MACRO/WIZARD.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -7,6 +7,13 @@
</#ibizinclude>
<div class="content-container">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=12>
<#ibizinclude>
./View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<@ibizindent blank=12>
<#if view.hasPSControl('wizardpanel')>
${P.getCtrlCode('wizardpanel', 'CONTROL.html').code}
...
...
@@ -15,6 +22,13 @@ ${P.getCtrlCode('wizardpanel', 'CONTROL.html').code}
${P.getCtrlCode('statewizardpanel', 'CONTROL.html').code}
</#if>
</@ibizindent>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=12>
<#ibizinclude>
./View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体分页导航视图/VIEW.less.ftl
浏览文件 @
cc40f218
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
.${srffilepath2(view.getCodeName())} {
> .view-card > .ivu-card-body > .content-container > .tabviewpanel {
overflow: auto;
}
}
@CONTROL/视图布局面板/实体分页搜索视图/VIEW.less.ftl
浏览文件 @
cc40f218
...
...
@@ -33,3 +33,12 @@
}
}
}
.${srffilepath2(view.getCodeName())} {
> .view-card > .ivu-card-body > .content-container {
height: calc(100% - 42px);
> .tabviewpanel {
overflow: auto;
}
}
}
\ No newline at end of file
@CONTROL/视图布局面板/实体向导视图/VIEW.less.ftl
浏览文件 @
cc40f218
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
.${srffilepath2(view.getCodeName())}{
> .view-card > .ivu-card-body > .content-container > .app-wizard {
overflow: auto;
}
}
\ No newline at end of file
@CONTROL/视图布局面板/实体图表视图/VIEW.less.ftl
浏览文件 @
cc40f218
...
...
@@ -3,4 +3,7 @@
</#ibizinclude>
.${srffilepath2(view.getCodeName())}{
display: block;
> .view-card > .ivu-card-body > .content-container > .app-data-chart {
overflow: auto;
}
}
\ No newline at end of file
@CONTROL/视图布局面板/实体图表视图/VIEW.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -8,6 +8,13 @@
</#ibizinclude>
<div class='content-container'>
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#assign MDContent>
<#comment><!--开始:快速搜索或工具栏存在--></#comment>
<#if (view.isEnableQuickSearch() || view.hasPSControl('toolbar'))>
...
...
@@ -36,6 +43,13 @@ ${P.getCtrlCode('chart', 'CONTROL.html').code}
<#ibizinclude>
../@MACRO/VIEW_MD_CONTENT.vue.ftl
</#ibizinclude>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体数据多项选择视图/VIEW.less.ftl
浏览文件 @
cc40f218
...
...
@@ -4,6 +4,7 @@
.pickup-view {
>.translate-contant {
overflow: auto;
flex-grow: 1;
display: flex;
justify-content: flex-end;
...
...
@CONTROL/视图布局面板/实体数据多项选择视图/VIEW.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -2,6 +2,13 @@
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="${view.getCodeName()?lower_case}"></app-studioaction>
<card class='view-card view-no-caption <#if !view.hasPSControl('toolbar')> view-no-toolbar</#if>' :dis-hover="true" :padding="0" :bordered="false">
<div class="content-container pickup-view">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<div class="translate-contant">
<div class="center" :style="{width : !isShowButton ? '100%' : ''}">
<#if view.hasPSControl('pickupviewpanel')>
...
...
@@ -47,6 +54,13 @@
<i-button @click="onClickCancel">{{this.containerModel.view_cancelbtn.text}}</i-button>
</row>
</card>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体树视图/VIEW.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -2,12 +2,17 @@
<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>' :dis-hover="true" :bordered="false">
<#ibizinclude>
../@MACRO/VIEW_CAPTION_DATAINFO.vue.ftl
</#ibizinclude>
<div class="content-container">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#assign MDContent>
<#-- 搜索框: BEGIN -->
<#if (view.isEnableQuickSearch())>
...
...
@@ -26,5 +31,13 @@
<#ibizinclude>
../@MACRO/VIEW_MD_CONTENT.vue.ftl
</#ibizinclude>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体树视图(部件视图)/VIEW.less.ftl
浏览文件 @
cc40f218
...
...
@@ -20,6 +20,12 @@
right: 0px;
}
}
.${srffilepath2(view.getCodeName())} {
> .view-card > .ivu-card-body {
height: 100%;
}
}
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
\ No newline at end of file
@CONTROL/视图布局面板/实体树视图(部件视图)/VIEW.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -3,6 +3,13 @@
<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>' :dis-hover="true" :bordered="false">
<div class='content-container'>
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#assign MDContent>
<#-- 搜索框: BEGIN -->
<#if (view.isEnableQuickSearch())>
...
...
@@ -21,6 +28,13 @@
<#ibizinclude>
../@MACRO/VIEW_MD_CONTENT.vue.ftl
</#ibizinclude>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体甘特视图/VIEW.less.ftl
浏览文件 @
cc40f218
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
.${srffilepath2(view.getCodeName())} {
> .view-card > .ivu-card-body > .content-container > .gantt {
overflow: auto;
}
}
@CONTROL/视图布局面板/实体甘特视图(部件视图)/VIEW.less.ftl
浏览文件 @
cc40f218
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
.${srffilepath2(view.getCodeName())} {
> .view-card > .ivu-card-body > .content-container > .gantt {
overflow: auto;
}
}
\ No newline at end of file
@CONTROL/视图布局面板/实体编辑视图(上下关系)/VIEW.less.ftl
浏览文件 @
cc40f218
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
.view-container.${srffilepath2(view.getCodeName())} > .view-card > .ivu-card-body > .content-container {
height: calc(100% - 30px);
}
\ No newline at end of file
@CONTROL/视图布局面板/实体编辑视图(上下关系)/VIEW.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -13,6 +13,13 @@ ${P.getCtrlCode(toolbarCtrl, 'CONTROL.html').code}
</@ibizindent>
</#if>
<div class="content-container">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#if view.hasPSControl('form')>
<@ibizindent blank=8>
${P.getCtrlCode('form', 'CONTROL.html').code}
...
...
@@ -29,6 +36,13 @@ ${P.getCtrlCode(ctrl, 'CONTROL.html').code}
</#if>
</#list>
</#if>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体编辑视图(左右关系)/VIEW.less.ftl
浏览文件 @
cc40f218
...
...
@@ -7,11 +7,19 @@
.edit-view2 {
flex-direction: row !important;
overflow: auto;
.view-form {
overflow: auto;
}
}
.${srffilepath2(view.getCodeName())}{
> .view-card > .ivu-card-body{
display: flex;
flex-direction: column;
}
}
<#ibizinclude>
../@MACRO/DEFAULT.less.ftl
</#ibizinclude>
\ No newline at end of file
@CONTROL/视图布局面板/实体编辑视图(左右关系)/VIEW.vue.ftl
浏览文件 @
cc40f218
<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>' :dis-hover="true" :bordered="false">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#if view.hasPSControl('toolbar')>
<#assign selfToolbarRender>
<template v-if="Object.is(this.selection.id, 'form')">
...
...
@@ -9,24 +15,16 @@
</template>
</#assign>
</#if>
<#ibizinclude>
../@MACRO/VIEW_CAPTION_DATAINFO.vue.ftl
</#ibizinclude>
<div class="content-container edit-view2">
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<#if view.hasPSControl('drbar')>
<@ibizindent blank=8>
${P.getCtrlCode('drbar', 'CONTROL.html').code}
</@ibizindent>
</#if>
</div>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
...
...
@@ -34,6 +32,5 @@
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@CONTROL/视图布局面板/实体选择表格视图/VIEW.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -2,6 +2,13 @@
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="${view.getCodeName()?lower_case}"></app-studioaction>
<card class='view-card view-no-caption <#if !view.hasPSControl('toolbar')> view-no-toolbar</#if>' :dis-hover="true" :bordered="false">
<div class='content-container pickup-grid-view'>
<#-- BEGIN:视图顶部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Top_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图顶部视图消息 -->
<@ibizindent blank=12>
<#if view.hasPSControl('searchform')>
${P.getCtrlCode('searchform', 'CONTROL.html').code}<#t>
...
...
@@ -10,6 +17,13 @@
${P.getCtrlCode('grid', 'CONTROL.html').code}<#t>
</#if>
</@ibizindent>
<#-- BEGIN:视图底部视图消息 -->
<@ibizindent blank=8>
<#ibizinclude>
../@MACRO/View_Pos_Bottom_Msgs.vue.ftl
</#ibizinclude>
</@ibizindent>
<#-- END:视图底部视图消息 -->
</div>
</card>
</div>
\ No newline at end of file
@EDITOR/数据选择/EDITOR.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -13,6 +13,7 @@
:localParam =<@getNavigateParams editor />
:disabled="detailsModel.${editor.name}.disabled"
name='${editor.name}'
<#if editor.getEditorParam("PICKUPDATA", "") != "">pickUpData="${editor.getEditorParam("PICKUPDATA", "")}"</#if>
<#-- 自填模式文本属性、值属性start -->
<#if editor.getPSAppDEACMode?? && editor.getPSAppDEACMode()??>
<#assign appDeAcMode = editor.getPSAppDEACMode() />
...
...
@EDITOR/数据选择/GRIDEIDTOR.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -13,6 +13,7 @@
:localParam =<@getNavigateParams editor />
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
name='${editor.name}'
<#if editor.getEditorParam("PICKUPDATA", "") != "">pickUpData="${editor.getEditorParam("PICKUPDATA", "")}"</#if>
<#-- 自填模式文本属性、值属性start -->
<#if editor.getPSAppDEACMode?? && editor.getPSAppDEACMode()??>
<#assign appDeAcMode = editor.getPSAppDEACMode() />
...
...
@EDITOR/数据选择(下拉)/EDITOR.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -11,6 +11,7 @@
:localParam =<@getNavigateParams editor />
:disabled="detailsModel.${editor.name}.disabled"
name='${editor.name}'
<#if editor.getEditorParam("PICKUPDATA", "") != "">pickUpData="${editor.getEditorParam("PICKUPDATA", "")}"</#if>
<#if editor.getPSAppDEACMode?? && editor.getPSAppDEACMode()??>
<#if editor.getPSAppDEACMode().getMinorSortPSDEF?? && editor.getPSAppDEACMode().getMinorSortPSDEF()?? && editor.getPSAppDEACMode().getMinorSortDir?? && editor.getPSAppDEACMode().getMinorSortDir()??>
<#if editor.getPSAppDEACMode().getMinorSortDir() == 'ASC' || editor.getPSAppDEACMode().getMinorSortDir() == 'DESC'>
...
...
@EDITOR/数据选择(下拉)/GRIDEIDTOR.vue.ftl
浏览文件 @
cc40f218
...
...
@@ -11,6 +11,7 @@
:localParam =<@getNavigateParams editor />
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
name='${editor.name}'
<#if editor.getEditorParam("PICKUPDATA", "") != "">pickUpData="${editor.getEditorParam("PICKUPDATA", "")}"</#if>
<#-- 自填模式文本属性、值属性start -->
<#if editor.getPSAppDEACMode?? && editor.getPSAppDEACMode()??>
<#assign appDeAcMode = editor.getPSAppDEACMode() />
...
...
@EDITOR/用户自定义(动态配置AvueForm)/EDITOR.vue.ftl
浏览文件 @
cc40f218
<avue-custom-form :isParseString="<#if editor.getEditorParam('isParseString','') != ''>true<#else>false</#if>" :isFormData="<#if editor.getEditorParam('isFormData','') != ''>true<#else>false</#if>" <#if editor.getEditorParam('options','') != ''>:options="${editor.getEditorParam('options','')}"</#if> v-model="data.${editor.name}" :formData="data" <#if editor.getEditorParam('url','') != ''>:url="${editor.getEditorParam('url','')}"</#if> :formState="formState"></avue-custom-form>
\ No newline at end of file
<avue-custom-form :isSubForm="<#if editor.getEditorParam('isSubForm','') != ''>true<#else>false</#if>" :isParseString="<#if editor.getEditorParam('isParseString','') != ''>true<#else>false</#if>" :isFormData="<#if editor.getEditorParam('isFormData','') != ''>true<#else>false</#if>" <#if editor.getEditorParam('options','') != ''>:options="${editor.getEditorParam('options','')}"</#if> v-model="data.${editor.name}" :formData="data" <#if editor.getEditorParam('url','') != ''>:url="${editor.getEditorParam('url','')}"</#if> :formState="formState"></avue-custom-form>
\ No newline at end of file
APP/package.json.ftl
0 → 100644
浏览文件 @
cc40f218
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
{
"name": "app",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service serve --mode test",
"dev-serve": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service serve --mode development",
"build": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build",
"dev-build": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build --mode development",
"test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@fullcalendar/core": "^4.4.0",
"@fullcalendar/daygrid": "^4.4.0",
"@fullcalendar/interaction": "^4.4.0",
"@fullcalendar/list": "^4.4.0",
"@fullcalendar/timegrid": "^4.4.0",
"@fullcalendar/vue": "^4.4.0",
"vuedraggable": "^2.23.2",
"async-validator": "^3.3.0",
"@popperjs/core": "^2.4.3",
"axios": "^0.19.1",
"core-js": "^3.4.4",
"echarts": "^4.6.0",
"element-ui": "^2.13.0",
"file-saver": "^2.0.2",
"font-awesome": "^4.7.0",
"ibiz-gantt-elastic": "^1.0.17",
"ibiz-vue-lib": "^0.1.13",
"interactjs": "^1.9.4",
"moment": "^2.24.0",
"path-to-regexp": "^6.1.0",
"qs": "^6.9.1",
"rxjs": "^6.5.4",
"tinymce": "4.8.5",
"view-design": "4.2.0",
"vue": "^2.6.10",
"vue-class-component": "^7.0.2",
"vue-grid-layout": "^2.3.7",
"vue-i18n": "^8.15.3",
"vue-property-decorator": "^8.3.0",
"vue-router": "^3.1.3",
"vuex": "^3.1.2",
<#if app.getAllPSAppPkgs?? && app.getAllPSAppPkgs()??>
<#list app.getAllPSAppPkgs() as appPackage>
<#if appPackage.getVerParam()?? && appPackage.getVerParam() !="">${appPackage.getVerParam()},</#if>
</#list>
</#if>
"xlsx": "^0.15.6"
},
"devDependencies": {
"@types/echarts": "^4.4.3",
"@types/jest": "^24.0.19",
"@types/mockjs": "^1.0.2",
"@types/qs": "^6.9.0",
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-e2e-cypress": "^4.1.0",
"@vue/cli-plugin-router": "^4.1.0",
"@vue/cli-plugin-typescript": "^4.1.0",
"@vue/cli-plugin-unit-jest": "^4.1.0",
"@vue/cli-plugin-vuex": "^4.1.0",
"@vue/cli-service": "^4.1.0",
"@vue/test-utils": "1.0.0-beta.29",
"axios-mock-adapter": "^1.17.0",
"compression-webpack-plugin": "^4.0.0",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"mockjs": "^1.1.0",
"script-loader": "^0.7.2",
"typescript": "~3.5.3",
<#if app.getAllPSAppPkgs?? && app.getAllPSAppPkgs()??>
<#list app.getAllPSAppPkgs() as appPackage>
<#if appPackage.getVerParam2()?? && appPackage.getVerParam2() !="">${appPackage.getVerParam2()},</#if>
</#list>
</#if>
"vue-template-compiler": "^2.6.10"
}
}
APP/src/uiservice/%DE_PKGPATH%/%DE_PKGPATH%-ui-service-base.ts.ftl
浏览文件 @
cc40f218
...
...
@@ -133,7 +133,7 @@ export default class ${srfclassname('${item.getCodeName()}')}UIServiceBase exten
public initViewMap(){
<#if item.getAllPSAppViews()??>
<#list item.getAllPSAppViews() as singleView>
this.allViewMap.set('<#if singleView.getFuncViewMode()??>${singleView.getFuncViewMode()}</#if>:<#if singleView.getFuncViewParam()??>${singleView.getFuncViewParam()}</#if>',{viewname:'${singleView.getPSDEViewCodeName()?lower_case}',srfappde:'${srfpluralize(item.codeName)?lower_case}'});
this.allViewMap.set('<#if singleView.getFuncViewMode()??>${singleView.getFuncViewMode()}</#if>:<#if singleView.getFuncViewParam()??>${singleView.getFuncViewParam()}</#if>',{viewname:'${singleView.getPSDEViewCodeName()?lower_case}',srfappde:'${srfpluralize(item.codeName)?lower_case}'
,component:'${srffilepath2(singleView.getCodeName())}'
});
</#list>
</#if>
}
...
...
@@ -350,13 +350,13 @@ ${P.getLogicCode(appdeUIAction, "LOGIC.vue").code}
}
})
for (let i = 0; i <= 1; i++) {
<#noparse>let strTag:string = (curData[this.mainStateFields[0]])?(i == 0) ? `${curData[this.mainStateFields[0]]}` : "":"";</#noparse>
<#noparse>let strTag:string = (curData[this.mainStateFields[0]]
!= null && curData[this.mainStateFields[0]] !== ""
)?(i == 0) ? `${curData[this.mainStateFields[0]]}` : "":"";</#noparse>
if (this.mainStateFields.length >= 2) {
for (let j = 0; j <= 1; j++) {
<#noparse>let strTag2:string = (curData[this.mainStateFields[1]])?`${strTag}__${(j == 0) ? `${curData[this.mainStateFields[1]]}` : ""}`:strTag;</#noparse>
<#noparse>let strTag2:string = (curData[this.mainStateFields[1]]
!= null && curData[this.mainStateFields[1]] !== ""
)?`${strTag}__${(j == 0) ? `${curData[this.mainStateFields[1]]}` : ""}`:strTag;</#noparse>
if (this.mainStateFields.length >= 3) {
for (let k = 0; k <= 1; k++) {
<#noparse>let strTag3:string = (curData[this.mainStateFields[2]])?`${strTag2}__${(k == 0) ? `${curData[this.mainStateFields[2]]}` : ""}`:strTag2;</#noparse>
<#noparse>let strTag3:string = (curData[this.mainStateFields[2]]
!= null && curData[this.mainStateFields[2]] !== ""
)?`${strTag2}__${(k == 0) ? `${curData[this.mainStateFields[2]]}` : ""}`:strTag2;</#noparse>
// 判断是否存在
return this.allDeMainStateMap.get(strTag3);
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录