Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7
提交
3e8f063a
提交
3e8f063a
编写于
9月 14, 2020
作者:
KK
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
重命名功能
上级
7dd09e28
变更
4
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
124 行增加
和
4 行删除
+124
-4
CONTROL-BASE.template.ftl
@CONTROL/数据看板/CONTROL-BASE.template.ftl
+1
-1
CONTROL-BASE.vue.ftl
@CONTROL/数据看板/CONTROL-BASE.vue.ftl
+49
-1
CONTROL-BASE.template.ftl
@CONTROL/门户部件/CONTROL-BASE.template.ftl
+8
-2
CONTROL-BASE.vue.ftl
@CONTROL/门户部件/CONTROL-BASE.vue.ftl
+66
-0
未找到文件。
@CONTROL/数据看板/CONTROL-BASE.template.ftl
浏览文件 @
3e8f063a
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
</#list>
</#list>
<template v-for="item in customizeModel">
<template v-for="item in customizeModel">
<ion-card class="dashboard-item ios hydrated" :class="item.componentName + 'dashboard'" :key="item.id" v-if="isEnableCustomized">
<ion-card class="dashboard-item ios hydrated" :class="item.componentName + 'dashboard'" :key="item.id" v-if="isEnableCustomized">
<component :is="item.componentName" :i
sCustomize="true" :viewState="viewState" :name="item.portletCodeName" :context="context" :isChildView="true" :viewparams="viewparams
"></component>
<component :is="item.componentName" :i
tem="item" :isCustomize="true" :customizeTitle="item.customizeTitle" :viewState="viewState" :name="item.portletCodeName" :context="context" :isChildView="true" :viewparams="viewparams" @customizeRename="customizeRename
"></component>
</ion-card>
</ion-card>
</template>
</template>
</ion-grid>
</ion-grid>
...
...
@CONTROL/数据看板/CONTROL-BASE.vue.ftl
浏览文件 @
3e8f063a
...
@@ -56,7 +56,7 @@ import UtilService from '@/utilservice/util-service';
...
@@ -56,7 +56,7 @@ import UtilService from '@/utilservice/util-service';
protected utilService: UtilService = new UtilService();
protected utilService: UtilService = new UtilService();
/**
/**
* 加载数据模型
* 加载
定制
数据模型
*
*
* @param {string} serviceName
* @param {string} serviceName
* @param {*} context
* @param {*} context
...
@@ -82,7 +82,36 @@ import UtilService from '@/utilservice/util-service';
...
@@ -82,7 +82,36 @@ import UtilService from '@/utilservice/util-service';
});
});
}
}
/**
* 保存定制数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public saveModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.saveModelData(JSON.stringify(context), "", viewparams)
.then((response: any) => {
resolve(response);
})
.catch((response: any) => {
reject(response);
});
})
.catch((response: any) => {
reject(response);
});
});
}
/**
* 定制数据模型
*
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public customizeModel :any = [];
public customizeModel :any = [];
/**
/**
...
@@ -172,6 +201,25 @@ import UtilService from '@/utilservice/util-service';
...
@@ -172,6 +201,25 @@ import UtilService from '@/utilservice/util-service';
}
}
}
}
/**
* 重命名
*
* @type {string}
* @memberof AppRichTextEditor
*/
public customizeRename(customizeModelItem:any,title:string) {
let index = this.customizeModel.findIndex((item:any)=>{
return item.id === customizeModelItem.id;
})
this.customizeModel.splice(index,1,(customizeModelItem as never));
this.saveModel(this.utilServiceName,{},
{
utilServiceName: this.utilServiceName,
modelid: this.modelId,
model: this.customizeModel,
});
}
<#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
</#ibizinclude>
...
...
@CONTROL/门户部件/CONTROL-BASE.template.ftl
浏览文件 @
3e8f063a
...
@@ -2,8 +2,14 @@
...
@@ -2,8 +2,14 @@
<ion-row>
<ion-row>
<ion-list class='app-mob-portlet <#if appde??>${appde.getCodeName()?lower_case}-${ctrl.name}</#if> <#if ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>'>
<ion-list class='app-mob-portlet <#if appde??>${appde.getCodeName()?lower_case}-${ctrl.name}</#if> <#if ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>'>
<#if ctrl.isShowTitleBar()>
<#if ctrl.isShowTitleBar()>
<ion-list-header class='app-mob-portlet__header'><ion-input v-if="isEditTitle" value="${ctrl.getTitle()}"></ion-input>${ctrl.getTitle()} <div class="portlet__header_right"><ion-icon v-if="!isEditTitle" name="ellipsis-horizontal-outline" @click="open"></ion-icon></div></ion-list-header>
<ion-list-header class='app-mob-portlet__header'>
<div class="edit_title_btn" v-if="isEditTitle"><ion-button>确认</ion-button><ion-button>取消</ion-button></div>
<ion-input v-if="isEditTitle" value="${ctrl.getTitle()}"></ion-input>
<span v-if="!isEditTitle"><span v-if="customizeTitle">{{customizeTitle}}</span><span v-else>${ctrl.getTitle()}</span></span>
<div class="portlet__header_right">
<ion-icon v-if="!isEditTitle" name="ellipsis-horizontal-outline" @click="open"></ion-icon>
</div>
</ion-list-header>
<div class="edit_title_btn" v-if="isEditTitle"><ion-button @click="onConfirmClick(false)">取消</ion-button><ion-button @click="onConfirmClick(true)">确认</ion-button></div>
</#if><#t>
</#if><#t>
<#if ctrl.getPortletType?? && ctrl.getPortletType()??>
<#if ctrl.getPortletType?? && ctrl.getPortletType()??>
<#if ctrl.getPortletType() == 'VIEW' && ctrl.getPortletPSAppView?? && ctrl.getPortletPSAppView()??><#t>
<#if ctrl.getPortletType() == 'VIEW' && ctrl.getPortletPSAppView?? && ctrl.getPortletPSAppView()??><#t>
...
...
@CONTROL/门户部件/CONTROL-BASE.vue.ftl
浏览文件 @
3e8f063a
...
@@ -53,6 +53,14 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/ap
...
@@ -53,6 +53,14 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/ap
*/
*/
@Prop({default:false}) protected isCustomize?: boolean;
@Prop({default:false}) protected isCustomize?: boolean;
/**
* 定制标题
*
* @type {string}
* @memberof MOBMyFavoriteStory
*/
@Prop() protected customizeTitle?: string;
/**
/**
* 操作栏模型数据
* 操作栏模型数据
*
*
...
@@ -222,12 +230,70 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/ap
...
@@ -222,12 +230,70 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/ap
}, 1);
}, 1);
}
}
/**
* 生命周期
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public mounted() {
public mounted() {
if(this.isCustomize){
if(this.isCustomize){
this.actionBarModelData.push(...this.builtinItemS);
this.actionBarModelData.push(...this.builtinItemS);
}
}
}
}
/**
* 定制项数据
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
@Prop() protected item: any;
/**
* 定制标题
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
get editTitle(){
if(this.customizeTitle){
return this.customizeTitle
}
return '${ctrl.getTitle()}'
}
/**
* 定制标题
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public reTitleValue = "";
/**
* 标题变更
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
titleChange(value:any){
this.reTitleValue = value.detail.value;
}
/**
* 重命名确认按钮
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public onConfirmClick(val:boolean) {
if(val){
this.$emit("customizeRename",Object.assign(this.item,{customizeTitle:this.reTitleValue?this.reTitleValue:this.editTitle}),this.reTitleValue?this.reTitleValue:this.editTitle)
}
this.isEditTitle = false;
}
<#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
</#ibizinclude>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录