提交 6843074b 编写于 作者: Shine-zwj's avatar Shine-zwj

优化列表,数据视图,表格分组

上级 5f7c2fae
...@@ -243,7 +243,7 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -243,7 +243,7 @@ import CodeListService from "@/codelist/codelist-service";
* @type {string} * @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base * @memberof ${srfclassname('${ctrl.codeName}')}Base
*/ */
public groupFieldCodelist: any = {<#if ctrl.getGroupPSDEField()?? && ctrl.getGroupPSDEField().getPSCodeList?? && ctrl.getGroupPSDEField().getPSCodeList()??>type: '${ctrl.getGroupPSDEField().getPSCodeList().getCodeListType()}',tag: '${ctrl.getGroupPSDEField().getPSCodeList().getCodeName()}'</#if>}; public groupFieldCodelist: boolean = '<#if ctrl.getGroupPSDEField()?? && ctrl.getGroupPSDEField().getPSCodeList?? && ctrl.getGroupPSDEField().getPSCodeList()??>true<#else>false</#if>';
/** /**
* 分组数据 * 分组数据
...@@ -301,22 +301,17 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -301,22 +301,17 @@ import CodeListService from "@/codelist/codelist-service";
groups = Util.deepCopy(groupCodelist); groups = Util.deepCopy(groupCodelist);
} }
if(Object.keys(this.groupFieldCodelist).length > 0){
let fieldCodelist: any = await this.codeListService.getDataItems(this.groupFieldCodelist);
fields = Util.deepCopy(fieldCodelist);
}
if(groups.length == 0){ if(groups.length == 0){
console.warn("分组数据无效"); console.warn("分组数据无效");
} }
groups.forEach((group: any,i: number)=>{ groups.forEach((group: any,i: number)=>{
let children:Array<any> = []; let children:Array<any> = [];
data.forEach((item: any,j: number)=>{ data.forEach((item: any,j: number)=>{
if(fields && fields.length > 0){ if(this.groupFieldCodelist){
const arr:Array<any> = fields.filter((field:any)=>{return field.value == item[this.groupField]}); if(Object.is(group.label,item[this.groupField])) {
if(arr && arr.length>0 && Object.is(group.label,arr[0].label)) {
children.push(item); children.push(item);
} }
}else if(Object.is(group.label,item[this.groupField])){ }else if(Object.is(group.value,item[this.groupField])){
children.push(item); children.push(item);
} }
}); });
...@@ -329,13 +324,10 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -329,13 +324,10 @@ import CodeListService from "@/codelist/codelist-service";
let child:Array<any> = []; let child:Array<any> = [];
data.forEach((item: any)=>{ data.forEach((item: any)=>{
let i: number = 0; let i: number = 0;
if(fields && fields.length > 0){ if(this.groupFieldCodelist){
const arr:Array<any> = fields.filter((field:any)=>{return field.value == item[this.groupField]});
if(arr && arr.length>0) {
i = groups.findIndex((group: any)=>Object.is(group.label,arr[0].label));
}
}else{
i = groups.findIndex((group: any)=>Object.is(group.label,item[this.groupField])); i = groups.findIndex((group: any)=>Object.is(group.label,item[this.groupField]));
}else{
i = groups.findIndex((group: any)=>Object.is(group.value,item[this.groupField]));
} }
if(i < 0){ if(i < 0){
child.push(item); child.push(item);
...@@ -362,18 +354,9 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -362,18 +354,9 @@ import CodeListService from "@/codelist/codelist-service";
let data:Array<any> = [...this.items]; let data:Array<any> = [...this.items];
let groups:Array<any> = []; let groups:Array<any> = [];
let fields: Array<any> = []; let fields: Array<any> = [];
if(Object.keys(this.groupFieldCodelist).length > 0){
let fieldCodelist: any = await this.codeListService.getDataItems(this.groupFieldCodelist);
fields = Util.deepCopy(fieldCodelist);
}
data.forEach((item: any)=>{ data.forEach((item: any)=>{
if(item.hasOwnProperty(this.groupField)){ if(item.hasOwnProperty(this.groupField)){
if(fields && fields.length > 0){ groups.push(item[this.groupField]);
const arr:Array<any> = fields.filter((field:any)=>{return field.value == item[this.groupField]});
groups.push(arr[0].label);
}else{
groups.push(item[this.groupField]);
}
} }
}); });
groups = [...new Set(groups)]; groups = [...new Set(groups)];
......
...@@ -263,7 +263,7 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -263,7 +263,7 @@ import CodeListService from "@/codelist/codelist-service";
* @type {string} * @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base * @memberof ${srfclassname('${ctrl.codeName}')}Base
*/ */
public groupFieldCodelist: any = {<#if ctrl.getGroupPSDEField()?? && ctrl.getGroupPSDEField().getPSCodeList?? && ctrl.getGroupPSDEField().getPSCodeList()??>type: '${ctrl.getGroupPSDEField().getPSCodeList().getCodeListType()}',tag: '${ctrl.getGroupPSDEField().getPSCodeList().getCodeName()}'</#if>}; public groupFieldCodelist: boolean = '<#if ctrl.getGroupPSDEField()?? && ctrl.getGroupPSDEField().getPSCodeList?? && ctrl.getGroupPSDEField().getPSCodeList()??>true<#else>false</#if>';
/** /**
* 分组数据 * 分组数据
...@@ -358,11 +358,6 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -358,11 +358,6 @@ import CodeListService from "@/codelist/codelist-service";
if(Object.keys(this.groupCodelist).length > 0){ if(Object.keys(this.groupCodelist).length > 0){
let groupCodelist: any = await this.codeListService.getDataItems(this.groupCodelist); let groupCodelist: any = await this.codeListService.getDataItems(this.groupCodelist);
groups = Util.deepCopy(groupCodelist); groups = Util.deepCopy(groupCodelist);
}
if(Object.keys(this.groupFieldCodelist).length > 0){
let fieldCodelist: any = await this.codeListService.getDataItems(this.groupFieldCodelist);
fields = Util.deepCopy(fieldCodelist);
} }
if(groups.length == 0){ if(groups.length == 0){
console.warn("分组数据无效"); console.warn("分组数据无效");
...@@ -370,12 +365,11 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -370,12 +365,11 @@ import CodeListService from "@/codelist/codelist-service";
groups.forEach((group: any,i: number)=>{ groups.forEach((group: any,i: number)=>{
let children:Array<any> = []; let children:Array<any> = [];
data.forEach((item: any,j: number)=>{ data.forEach((item: any,j: number)=>{
if(fields && fields.length > 0){ if(this.groupFieldCodelist){
const arr:Array<any> = fields.filter((field:any)=>{return field.value == item[this.groupField]}); if(Object.is(group.label,item[this.groupField])) {
if(arr && arr.length>0 && Object.is(group.label,arr[0].label)) {
children.push(item); children.push(item);
} }
}else if(Object.is(group.label,item[this.groupField])){ }else if(Object.is(group.value,item[this.groupField])){
children.push(item); children.push(item);
} }
}); });
...@@ -388,13 +382,10 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -388,13 +382,10 @@ import CodeListService from "@/codelist/codelist-service";
let child:Array<any> = []; let child:Array<any> = [];
data.forEach((item: any)=>{ data.forEach((item: any)=>{
let i: number = 0; let i: number = 0;
if(fields && fields.length > 0){ if(this.groupFieldCodelist){
const arr:Array<any> = fields.filter((field:any)=>{return field.value == item[this.groupField]});
if(arr && arr.length>0) {
i = groups.findIndex((group: any)=>Object.is(group.label,arr[0].label));
}
}else{
i = groups.findIndex((group: any)=>Object.is(group.label,item[this.groupField])); i = groups.findIndex((group: any)=>Object.is(group.label,item[this.groupField]));
}else{
i = groups.findIndex((group: any)=>Object.is(group.value,item[this.groupField]));
} }
if(i < 0){ if(i < 0){
child.push(item); child.push(item);
...@@ -421,18 +412,9 @@ import CodeListService from "@/codelist/codelist-service"; ...@@ -421,18 +412,9 @@ import CodeListService from "@/codelist/codelist-service";
let data:Array<any> = [...this.items]; let data:Array<any> = [...this.items];
let groups:Array<any> = []; let groups:Array<any> = [];
let fields: Array<any> = []; let fields: Array<any> = [];
if(Object.keys(this.groupFieldCodelist).length > 0){
let fieldCodelist: any = await this.codeListService.getDataItems(this.groupFieldCodelist);
fields = Util.deepCopy(fieldCodelist);
}
data.forEach((item: any)=>{ data.forEach((item: any)=>{
if(item.hasOwnProperty(this.groupField)){ if(item.hasOwnProperty(this.groupField)){
if(fields && fields.length > 0){ groups.push(item[this.groupField]);
const arr:Array<any> = fields.filter((field:any)=>{return field.value == item[this.groupField]});
groups.push(arr[0].label);
}else{
groups.push(item[this.groupField]);
}
} }
}); });
groups = [...new Set(groups)]; groups = [...new Set(groups)];
......
...@@ -1485,6 +1485,7 @@ ${gridColumn.getName()} ...@@ -1485,6 +1485,7 @@ ${gridColumn.getName()}
} }
return codelist; return codelist;
} }
/** /**
* 根据分组代码表绘制分组列表 * 根据分组代码表绘制分组列表
* *
...@@ -1505,13 +1506,12 @@ ${gridColumn.getName()} ...@@ -1505,13 +1506,12 @@ ${gridColumn.getName()}
let children:Array<any> = []; let children:Array<any> = [];
this.items.forEach((item: any,j: number)=>{ this.items.forEach((item: any,j: number)=>{
if(allGroupField && allGroupField.length > 0){ if(allGroupField && allGroupField.length > 0){
const arr:Array<any> = allGroupField.filter((field:any)=>{return field.value == item[this.groupAppField]}); if(Object.is(group.label,item[this.groupAppField])){
if(Object.is(group.label,arr[0].label)){
item.groupById = Number((i+1) * 100 + (j+1) * 1); item.groupById = Number((i+1) * 100 + (j+1) * 1);
item.group = ''; item.group = '';
children.push(item); children.push(item);
} }
}else if(Object.is(group.label,item[this.groupAppField])){ }else if(Object.is(group.value,item[this.groupAppField])){
item.groupById = Number((i+1) * 100 + (j+1) * 1); item.groupById = Number((i+1) * 100 + (j+1) * 1);
item.group = ''; item.group = '';
children.push(item); children.push(item);
...@@ -1550,10 +1550,9 @@ ${gridColumn.getName()} ...@@ -1550,10 +1550,9 @@ ${gridColumn.getName()}
this.items.forEach((item: any,index: number)=>{ this.items.forEach((item: any,index: number)=>{
let i: number = 0; let i: number = 0;
if(allGroupField && allGroupField.length > 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])); i = allGroup.findIndex((group: any)=>Object.is(group.label,item[this.groupAppField]));
}else{
i = allGroup.findIndex((group: any)=>Object.is(group.value,item[this.groupAppField]));
} }
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);
...@@ -1613,16 +1612,9 @@ ${gridColumn.getName()} ...@@ -1613,16 +1612,9 @@ ${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)){
if(allGroupField && allGroupField.length > 0){ allGroup.push(item[this.groupAppField]);
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> = [];
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册