Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
8db35ec3
提交
8db35ec3
编写于
11月 12, 2020
作者:
Shine-zwj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
支持表格分组属性配置代码表情况
上级
641a67f4
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
79 行增加
和
13 行删除
+79
-13
CONTROL-BASE.vue.ftl
@CONTROL/表格/CONTROL-BASE.vue.ftl
+79
-13
未找到文件。
@CONTROL/表格/CONTROL-BASE.vue.ftl
浏览文件 @
8db35ec3
...
@@ -609,6 +609,22 @@ ${gridColumn.getName()}
...
@@ -609,6 +609,22 @@ ${gridColumn.getName()}
*/
*/
public groupAppField:string ="<#if ctrl.getGroupPSDEField()??>${ctrl.getGroupPSDEField().getCodeName()?lower_case}</#if>";
public groupAppField:string ="<#if ctrl.getGroupPSDEField()??>${ctrl.getGroupPSDEField().getCodeName()?lower_case}</#if>";
/**
* 分组属性代码表标识
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public groupAppFieldCodelistTag:string ="<#if ctrl.getGroupPSDEField()?? && ctrl.getGroupPSDEField().getPSCodeList?? && ctrl.getGroupPSDEField().getPSCodeList()??>${ctrl.getGroupPSDEField().getPSCodeList().getCodeName()}</#if>";
/**
* 分组属性代码表类型
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public groupAppFieldCodelistType: string = "<#if ctrl.getGroupPSDEField()?? && ctrl.getGroupPSDEField().getPSCodeList?? && ctrl.getGroupPSDEField().getPSCodeList()??>${ctrl.getGroupPSDEField().getPSCodeList().getCodeListType()}</#if>";
/**
/**
* 分组模式
* 分组模式
*
*
...
@@ -1443,30 +1459,55 @@ ${gridColumn.getName()}
...
@@ -1443,30 +1459,55 @@ ${gridColumn.getName()}
}
}
}
}
/**
* 获取表格分组相关代码表
*
* @param {string} codelistType 代码表类型
* @param {string} codelistTag 代码表标识
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public getGroupCodelist(codelistType: string,codelistTag:string){
let codelist: Array<any> = [];
// 动态代码表
if (Object.is(codelistType, "DYNAMIC")) {
this.codeListService.getItems(codelistTag).then((res: any)=>{
codelist = res;
}).catch((error: any) => {
});
// 静态代码表
} else if(Object.is(codelistType, "STATIC")){
codelist = this.$store.getters.getCodeListItems(codelistTag);
}
return codelist;
}
/**
/**
* 根据分组代码表绘制分组列表
* 根据分组代码表绘制分组列表
*
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
*/
public
async
drawCodelistGroup(){
public drawCodelistGroup(){
if(!this.isEnableGroup) return;
if(!this.isEnableGroup) return;
// 分组
// 分组
let allGroup: Array<any> = [];
let allGroup: Array<any> = [];
let allGroupField: Array<any> =[];
let groupTree:Array<any> = [];
let groupTree:Array<any> = [];
// 动态代码表
allGroup = this.getGroupCodelist(this.codelistType,this.codelistTag);
if (Object.is(this.codelistType, "DYNAMIC")) {
allGroupField = this.getGroupCodelist(this.groupAppFieldCodelistType,this.groupAppFieldCodelistTag);
allGroup = await this.codeListService.getItems(this.codelistTag);
// 静态代码表
} else if(Object.is(this.codelistType, "STATIC")){
allGroup = this.$store.getters.getCodeListItems(this.codelistTag);
}
if(allGroup.length == 0){
if(allGroup.length == 0){
console.warn("分组数据无效");
console.warn("分组数据无效");
}
}
allGroup.forEach((group: any,i: number)=>{
allGroup.forEach((group: any,i: number)=>{
let children:Array<any> = [];
let children:Array<any> = [];
this.items.forEach((item: any,j: number)=>{
this.items.forEach((item: any,j: number)=>{
if(Object.is(group.label,item[this.groupAppField])){
if(allGroupField && allGroupField.length > 0){
const arr:Array<any> = allGroupField.filter((field:any)=>{return field.value == item[this.groupAppField]});
if(Object.is(group.label,arr[0].label)){
item.groupById = Number((i+1) * 100 + (i+1) * 1);
item.group = '';
children.push(item);
}
}else if(Object.is(group.label,item[this.groupAppField])){
item.groupById = Number((i+1) * 100 + (i+1) * 1);
item.groupById = Number((i+1) * 100 + (i+1) * 1);
item.group = '';
item.group = '';
children.push(item);
children.push(item);
...
@@ -1503,7 +1544,18 @@ ${gridColumn.getName()}
...
@@ -1503,7 +1544,18 @@ ${gridColumn.getName()}
});
});
let child:Array<any> = [];
let child:Array<any> = [];
this.items.forEach((item: any,index: number)=>{
this.items.forEach((item: any,index: number)=>{
let i = allGroup.findIndex((group: any)=>Object.is(group.label,item[this.groupAppField]));
let i: number = 0;
if(allGroupField && allGroupField.length > 0){
const arr:Array<any> = allGroupField.filter((field:any)=>{return field.value == item[this.groupAppField]});
i = allGroup.findIndex((group: any)=>Object.is(group.label,arr[0].label));
}else{
i = allGroup.findIndex((group: any)=>Object.is(group.label,item[this.groupAppField]));
}
if(i < 0){
item.groupById = Number((allGroup.length+1) * 100 + (index+1) * 1);
item.group = '';
child.push(item);
}
if(i < 0){
if(i < 0){
item.groupById = Number((allGroup.length+1) * 100 + (index+1) * 1);
item.groupById = Number((allGroup.length+1) * 100 + (index+1) * 1);
item.group = '';
item.group = '';
...
@@ -1557,9 +1609,16 @@ ${gridColumn.getName()}
...
@@ -1557,9 +1609,16 @@ ${gridColumn.getName()}
if(!this.isEnableGroup) return;
if(!this.isEnableGroup) return;
// 分组
// 分组
let allGroup: Array<any> = [];
let allGroup: Array<any> = [];
let allGroupField: Array<any> =[];
allGroupField = this.getGroupCodelist(this.groupAppFieldCodelistType,this.groupAppFieldCodelistTag);
this.items.forEach((item: any)=>{
this.items.forEach((item: any)=>{
if(item.hasOwnProperty(this.groupAppField)){
if(item.hasOwnProperty(this.groupAppField)){
allGroup.push(item[this.groupAppField]);
if(allGroupField && allGroupField.length > 0){
const arr:Array<any> = allGroupField.filter((field:any)=>{return field.value == item[this.groupAppField]});
allGroup.push(arr[0].label);
}else{
allGroup.push(item[this.groupAppField]);
}
}
}
});
});
let groupTree:Array<any> = [];
let groupTree:Array<any> = [];
...
@@ -1571,8 +1630,15 @@ ${gridColumn.getName()}
...
@@ -1571,8 +1630,15 @@ ${gridColumn.getName()}
allGroup.forEach((group: any, groupIndex: number)=>{
allGroup.forEach((group: any, groupIndex: number)=>{
let children:Array<any> = [];
let children:Array<any> = [];
this.items.forEach((item: any,itemIndex: number)=>{
this.items.forEach((item: any,itemIndex: number)=>{
if(Object.is(group,item[this.groupAppField])){
if(allGroupField && allGroupField.length > 0){
item.groupById = Number((groupIndex+1) * 100 + (itemIndex+1) * 1);
const arr:Array<any> = allGroupField.filter((field:any)=>{return field.value == item[this.groupAppField]});
if(Object.is(group,arr[0].label)){
item.groupById = Number((groupIndex+1) * 100 + (groupIndex+1) * 1);
item.group = '';
children.push(item);
}
}else if(Object.is(group,item[this.groupAppField])){
item.groupById = Number((groupIndex+1) * 100 + (groupIndex+1) * 1);
item.group = '';
item.group = '';
children.push(item);
children.push(item);
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录