<#assign import_block> <#if ctrl.getPSSysCalendarItems()??> <#list ctrl.getPSSysCalendarItems() as calendarItem> <#if calendarItem.getPSAppDataEntity()??> <#assign _appde = calendarItem.getPSAppDataEntity() /> <#if _appde.getId() != appde.getId()> <#if !P.exists("importService", _appde.getId(), "")> import ${srfclassname('${_appde.getCodeName()}')}Service from '@/service/${srffilepath2(_appde.getCodeName())}/${srffilepath2(_appde.getCodeName())}-service'; </#if> </#if> </#if> </#list> </#if> </#assign> <#ibizinclude> ../@MACRO/SERVICE/SERVICE_HEADER.ts.ftl </#ibizinclude> <#if ctrl.getPSSysCalendarItems()??> <#list ctrl.getPSSysCalendarItems() as calendarItem> <#if calendarItem.getPSAppDataEntity()??> <#assign _appde = calendarItem.getPSAppDataEntity() /> <#if _appde.getId() != appde.getId()> <#if !P.exists("importService2", _appde.getId(), "")> /** * ${_appde.getLogicName()}服务对象 * * @type {${srfclassname('${_appde.getCodeName()}')}Service} * @memberof ${srfclassname('${ctrl.codeName}')}Service */ public ${_appde.getCodeName()?lower_case}Service: ${srfclassname('${_appde.getCodeName()}')}Service = new ${srfclassname('${_appde.getCodeName()}')}Service(); </#if> </#if> </#if> </#list> </#if> /** * 事件配置集合 * * @public * @type {any[]} * @memberof ${srfclassname('${ctrl.codeName}')} */ public eventsConfig: any[] = [ <#if ctrl.getPSSysCalendarItems()??> <#list ctrl.getPSSysCalendarItems() as calendarItem> { itemName : '${calendarItem.getName()}', itemType : '${calendarItem.getItemType()}', color : '${calendarItem.getBKColor()}', textColor : '${calendarItem.getColor()}', }, </#list> </#if> ]; /** * 查询数据 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof ${srfclassname('${ctrl.codeName}')}Service */ @Errorlog public search(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { let _this = this; return new Promise((resolve: any, reject: any) => { let promises:any = []; let tempRequest:any; <#if ctrl.getPSSysCalendarItems()??> <#list ctrl.getPSSysCalendarItems() as calendarItem> <#if calendarItem.getPSAppDataEntity()?? && calendarItem.getPSDEDataSet()??> <#assign _appde = calendarItem.getPSAppDataEntity() /> <#assign deDataSet = calendarItem.getPSDEDataSet() /> <#if !P.exists("importService3", _appde.getId() + deDataSet.getCodeName(), "")> <#if _appde.getId() == appde.getId()> tempRequest = this.handleRequestData(action,context,data,true,"${calendarItem.getItemType()}"); promises.push(this.appEntityService.Fetch${deDataSet.getCodeName()}(tempRequest.context, tempRequest.data, isloading)); <#else> tempRequest = this.handleRequestData(action,context,data,true,"${calendarItem.getItemType()}"); promises.push(this.${_appde.getCodeName()?lower_case}Service.Fetch${deDataSet.getCodeName()}(tempRequest.context, tempRequest.data, isloading)); </#if> </#if> </#if> </#list> </#if> Promise.all(promises).then((resArray: any) => { let _data:any = []; resArray.forEach((response:any,resIndex:number) => { if (!response || response.status !== 200) { return; } let _response: any = JSON.parse(JSON.stringify(response)); _response.data.forEach((item:any,index:number) =>{ _response.data[index].color = _this.eventsConfig[resIndex].color; _response.data[index].textColor = _this.eventsConfig[resIndex].textColor; _response.data[index].itemType = _this.eventsConfig[resIndex].itemType; }); ; _this.handleResponse(action, _response,false,_this.eventsConfig[resIndex].itemType); _data.push(..._response.data); }); // 排序 _data.sort((a:any, b:any)=>{ let dateA = new Date(Date.parse(a.start.replace(/-/g, "/"))); let dateB = new Date(Date.parse(b.start.replace(/-/g, "/"))); return dateA > dateB ? 1 : -1 ; }); let result = {status: 200, data: _data}; resolve(result); }).catch((response: any) => { reject(response); }); }); } /** * 修改数据 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof ${srfclassname('${ctrl.codeName}')}Service */ @Errorlog public update(itemType: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { return new Promise((resolve: any, reject: any) => { let result: any; let tempRequest:any; switch(itemType) { <#if ctrl.getPSSysCalendarItems()??> <#list ctrl.getPSSysCalendarItems() as calendarItem> <#if calendarItem.getPSAppDataEntity()??> <#assign _appde = calendarItem.getPSAppDataEntity() /> <#if _appde.getId() == appde.getId()> case "${calendarItem.getItemType()}": tempRequest = this.handleRequestData("",context,data,false,"${calendarItem.getItemType()}"); result = this.appEntityService.Update(tempRequest.context, tempRequest.data, isloading); break; <#else> case "${calendarItem.getItemType()}": tempRequest = this.handleRequestData("",context,data,false,"${calendarItem.getItemType()}"); result = this.${_appde.getCodeName()?lower_case}Service.Update(tempRequest.context, tempRequest.data, isloading); break; </#if> </#if> </#list> </#if> } if(result){ result.then((response: any) => { this.handleResponse("", response); resolve(response); }).catch((response: any) => { reject(response); }); }else{ reject("没有匹配的实体服务"); } }); } /** * 处理request请求数据 * * @param action 行为 * @param data 数据 * @memberof ControlService */ public handleRequestData(action: string,context:any ={},data: any = {},isMerge:boolean = false,itemType:string=""){ let model: any = this.getMode(); model.itemType = itemType; return super.handleRequestData(action,context,data,isMerge); } /** * 处理response返回数据 * * @param {string} action * @param {*} response * @memberof ControlService */ public async handleResponse(action: string, response: any,isCreate:boolean = false,itemType:string=""){ let model: any = this.getMode(); model.itemType = itemType; super.handleResponse(action,response,isCreate); } <#ibizinclude> ../@MACRO/SERVICE/SERVICE_BOTTOM.ts.ftl </#ibizinclude>