提交 d758b9f0 编写于 作者: Mosher's avatar Mosher

update:更新

上级 0b4f899e
<#ibizinclude> <#ibizinclude>
../../../@MACRO/LANG_FUN.ftl ../../../@MACRO/LANG_FUN.ftl
</#ibizinclude> </#ibizinclude>
<#macro nextUIActionLogic resultData>
<#if item.isReloadData?? && item.isReloadData()>
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
</#if>
<#if item.isCloseEditView()>
actionContext.closeView(null);
</#if>
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
return _this.${nextPSUIAction.getFullCodeName()}(result.datas, context, params, $event, xData, actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
return this.${nextPSUIAction.getFullCodeName()}(result.datas, context, params, $event, xData, actionContext);
}
</#if>
<#else>
<#if item.getUILogicAttachMode?? && item.getUILogicAttachMode()?? && item.getUILogicAttachMode() == 'AFTER' && item.getPSAppDEUILogic?? && item.getPSAppDEUILogic()??>
const _context: any = Object.assign(context, actionContext.context);
const _params: any = Object.assign(params, actionContext.viewparams);
<#if item.getPSAppDataEntity?? && item.getPSAppDataEntity()?? && item.getPSAppDEUILogic().getPSAppDataEntity?? && item.getPSAppDEUILogic().getPSAppDataEntity()?? && item.getPSAppDataEntity().codeName == item.getPSAppDEUILogic().getPSAppDataEntity().codeName>
return this.executeUILogic('${item.getPSAppDEUILogic().codeName}', args, _context, _params, $event, xData, actionContext, srfParentDeName);
<#elseif item.getPSAppDEUILogic().getPSAppDataEntity?? && item.getPSAppDEUILogic().getPSAppDataEntity()??>
const uiService = await window.uiServiceRegister.getService('${item.getPSAppDEUILogic().getPSAppDataEntity().codeName?lower_case}');
if (uiService) {
return uiService.executeUILogic('${item.getPSAppDEUILogic().codeName}', args, _context, _params, $event, xData, actionContext, srfParentDeName);
}
</#if>
<#else>
return { ok: true, result: ${resultData} };
</#if>
</#if>
</#macro>
<#-- 前台界面行为 --> <#-- 前台界面行为 -->
<#if front_block??> <#if front_block??>
${front_block} ${front_block}
...@@ -20,11 +57,11 @@ ${front_block} ...@@ -20,11 +57,11 @@ ${front_block}
* @memberof ${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}UIService * @memberof ${srfclassname('${item.getPSAppDataEntity().getCodeName()}')}UIService
</#if> </#if>
*/ */
public async ${item.getFullCodeName()}(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public async ${item.getFullCodeName()}(args: any[], context:any = {}, params: any={}, $event?: any, xData?: any, actionContext?: any, srfParentDeName?:string) {
<#if item.render??> <#if item.render??>
${item.render.code} ${item.render.code}
<#else> <#else>
<#-- 界面逻辑替换执行 -->
<#if item.getUILogicAttachMode?? && item.getUILogicAttachMode()?? && item.getUILogicAttachMode() == 'REPLACE' && item.getPSAppDEUILogic?? && item.getPSAppDEUILogic()??> <#if item.getUILogicAttachMode?? && item.getUILogicAttachMode()?? && item.getUILogicAttachMode() == 'REPLACE' && item.getPSAppDEUILogic?? && item.getPSAppDEUILogic()??>
const _context: any = Object.assign(context, actionContext.context); const _context: any = Object.assign(context, actionContext.context);
const _params: any = Object.assign(params, actionContext.viewparams); const _params: any = Object.assign(params, actionContext.viewparams);
...@@ -39,472 +76,451 @@ ${front_block} ...@@ -39,472 +76,451 @@ ${front_block}
<#else> <#else>
<#-- BEGIN: 数据处理逻辑 --> <#-- BEGIN: 数据处理逻辑 -->
let data: any = {}; let data: any = {};
let tempData: any = {};
let tempContext: any = {};
let tempViewParam: any = {};
let parentContext:any = {}; let parentContext:any = {};
let parentViewParam:any = {}; let parentViewParam:any = {};
const _this: any = actionContext; const _this: any = actionContext;
<#if item.getPSNavigateContexts?? && item.getPSNavigateContexts()??>
Object.assign(context,<@getNavigateContext item />);
</#if>
<#if item.getPSNavigateParams?? && item.getPSNavigateParams()??>
Object.assign(params,<@getNavigateParams item />);
</#if>
<#-- 是否先保存目标数据start --> <#-- 是否先保存目标数据start -->
<#if item.isSaveTargetFirst()> <#if item.isSaveTargetFirst()>
const result:any = await xData.save(args,false); const result:any = await xData.save(args,false);
<#if item.getActionTarget() == 'SINGLEDATA'>
Object.assign(args[0], result.data);
<#else>
args = [result.data]; args = [result.data];
</#if> </#if>
</#if>
<#-- 是否先保存目标数据end --> <#-- 是否先保存目标数据end -->
const _args: any[] = Util.deepCopy(args); const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = <#if item.getActionTarget()??>'${item.getActionTarget()}'<#else>null</#if>; const actionTarget: string | null = <#if item.getActionTarget()??>'${item.getActionTarget()}'<#else>null</#if>;
<#if item.getPSAppDataEntity?? && item.getPSAppDataEntity()??> <#if item.getPSAppDataEntity?? && item.getPSAppDataEntity()??>
<#assign appDataEntity = item.getPSAppDataEntity() /> <#assign appDataEntity = item.getPSAppDataEntity() />
<#if item.getActionTarget() == 'SINGLEKEY' || item.getActionTarget() == 'MULTIKEY'> <#if item.getActionTarget() == 'SINGLEKEY' || item.getActionTarget() == 'MULTIKEY'>
<#assign valueItem><#if item.getValueItem?? && item.getValueItem() != ''>${item.getValueItem()}<#else>${appDataEntity.getKeyPSAppDEField().getCodeName()?lower_case}</#if></#assign> <#assign valueItem><#if item.getValueItem?? && item.getValueItem() != ''>${item.getValueItem()}<#else>${appDataEntity.getKeyPSAppDEField().getCodeName()?lower_case}</#if></#assign>
<#assign paramItem><#if item.getParamItem?? && item.getParamItem() != ''>${item.getParamItem()}<#else>${appDataEntity.getCodeName()?lower_case}</#if></#assign> <#assign paramItem><#if item.getParamItem?? && item.getParamItem() != ''>${item.getParamItem()}<#else>${appDataEntity.getCodeName()?lower_case}</#if></#assign>
<#assign textItem><#if item.getTextItem?? && item.getTextItem() != ''>${item.getTextItem()}<#else>${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case}</#if></#assign> <#assign textItem><#if item.getTextItem?? && item.getTextItem() != ''>${item.getTextItem()}<#else>${appDataEntity.getMajorPSAppDEField().getCodeName()?lower_case}</#if></#assign>
Object.assign(context, { ${appDataEntity.getCodeName()?lower_case}: '%${paramItem}%' }); if (_args && args[0] && args[0]['${valueItem}']) {
Object.assign(params, { ${valueItem}: '%${paramItem}%' }); Object.assign(tempContext, { ${appDataEntity.codeName?lower_case}: '%${valueItem}%' });
Object.assign(params, { ${textItem}: '%${textItem}%' }); } else {
</#if> Object.assign(tempContext, { ${appDataEntity.codeName?lower_case}: '%${paramItem}%' });
</#if>
if(_this.context){
parentContext = _this.context;
} }
if(_this.viewparams){ Object.assign(tempViewParam, { ${valueItem}: '%${paramItem}%' });
parentViewParam = _this.viewparams; Object.assign(tempViewParam, { ${textItem}: '%${textItem}%' });
} </#if>
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context); </#if>
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params); <#if item.getPSNavigateContexts?? && item.getPSNavigateContexts()??>
context = Object.assign({},actionContext.context,context); Object.assign(tempContext, <@getNavigateContext item />);
</#if>
<#if item.getPSNavigateParams?? && item.getPSNavigateParams()??>
Object.assign(tempViewParam, <@getNavigateParams item />);
</#if>
tempContext = UIActionTool.handleContextParam(actionTarget, _args, context, params, tempContext);
<#if item.getActionTarget() == 'SINGLEDATA'>
tempData = UIActionTool.handleActionParam(actionTarget, _args, context, params, tempViewParam);
Object.assign(data, tempData);
<#else>
tempViewParam = UIActionTool.handleActionParam(actionTarget, _args, context, params, tempViewParam);
</#if>
Object.assign(context, tempContext);
Object.assign(params, data);
<#-- 构建srfparentdename和srfparentkey start --> <#-- 构建srfparentdename和srfparentkey start -->
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null}; let parentObj:any = {
Object.assign(data,parentObj); srfparentdename: srfParentDeName ? srfParentDeName : null,
Object.assign(context,parentObj); srfparentkey: srfParentDeName ? context[srfParentDeName.toLowerCase()] : null
};
Object.assign(context, parentObj);
<#-- 构建srfparentdename和srfparentkey end --> <#-- 构建srfparentdename和srfparentkey end -->
<#-- END: 数据处理逻辑 --> <#-- END: 数据处理逻辑 -->
<#-- BEGIN: 前台处理模式:用户自定义 -->
<#if item.getFrontProcessType() == 'OTHER'>
<#if item.getScriptCode?? && item.getScriptCode()??>
const executeScriptCode = () => {
const data = args;
eval(${item.getScriptCode()});
}
return executeScriptCode();
<#else>
console.warn('自定义前端界面行为无脚本内容');
</#if>
<#-- END: 前台处理模式:用户自定义 -->
<#-- BEGIN: 前台处理模式:打印 -->
<#elseif item.getFrontProcessType() == 'PRINT'>
<#if item.getPSAppDEPrint?? && item.getPSAppDEPrint()??>
let requestUrl: string = '';
if (context && context['${item.getPSAppDataEntity().codeName?lower_case}']) {
requestUrl += `/${srfpluralize(item.getPSAppDataEntity().codeName)}/printdata/<#noparse>${context[${</#noparse>${item.getPSAppDataEntity().codeName?lower_case}}]}`;
// 存在父添加父主键信息
if (actionContext.context && actionContext.context.srfparentdename && actionContext.context.srfparentkey) {
<#noparse>requestUrl = `/${Util.srfpluralize(actionContext.context.srfparentdename).toLowerCase()}/${actionContext.context.srfparentkey}` + requestUrl;</#noparse>
}
} else {
actionContext.$Notice.error({ title: '错误', desc: 'actionContext.$t('app.utilview.nodatakey')' });
return;
}
requestUrl += '?srfprinttag=${item.getPSAppDEPrint().codeName}';
const response = await axios({
url: requestUrl,
method: 'get',
responseType: 'blob'
});
if (response.status === 200 && response.data) {
const link = window.URL.createObjectURL(response.data);
window.open(link, '_blank');
} else {
actionContext.$Notice.error({ title: '错误', desc: 'actionContext.$t('app.utilview.printerror')' });
}
<#else>
actionContext.$Notice.error({ title: '错误', desc: 'actionContext.$t('app.utilview.noprint')' });
</#if>
<#-- END: 前台处理模式:打印 -->
<#-- BEGIN: 前台处理模式:数据导入 -->
<#elseif item.getFrontProcessType() == 'DATAIMP'>
<#if item.getPSAppDEDataImport?? && item.getPSAppDEDataImport()??>
const view: any = {
viewname: 'app-data-upload',
title: actionContext.$t("app.utilview.importview"),
width: 544,
height: 368,
customClass: 'app-data-upload-modal view-default'
}
if (actionContext.context && actionContext.context.srfparentdename && actionContext.context.srfparentkey) {
Object.assign(context, { srfparentdename: actionContext.context.srfparentdename });
Object.assign(context, { srfparentkey: actionContext.context.srfparentkey });
} else {
if (context.srfparentdename) {
delete context.srfparentdename;
}
if (context.srfparentkey) {
delete context.srfparentkey;
}
}
const container: Subject<any> = actionContext.$appmodal.openModal(view, context, {
importId: '${item.getPSAppDEDataImport().codeName}',
serviceName: '${item.getPSAppDataEntity().codeName}',
appDeLogicName: '${item.getPSAppDataEntity().logicName}',
ignoreError: <#if item.getPSAppDEDataImport().getIgnoreError?? && item.getPSAppDEDataImport().getIgnoreError()>true<#else>false</#if>
});
container.subscribe((result: any) => {
if (Object.is(result.ret, 'OK')) {
actionContext.refresh(result.datas);
}
});
<#else>
actionContext.$Notice.warning({ title: '警告', desc: 'actionContext.$t('app.utilview.info')' });
</#if>
<#-- END: 前台处理模式:数据导入 -->
<#-- BEGIN: 前台处理模式:数据导出 -->
<#elseif item.getFrontProcessType() == 'DATAEXP'>
<#if item.getPSAppDEDataExport?? && item.getPSAppDEDataExport()??>
let url: string = '/${srfpluralize(appDataEntity.codeName)?lower_case}/exportdata/fetchdefault';
if (actionContext.context && actionContext.context.srfparentdename && actionContext.context.srfparentkey) {
<#noparse>url = `/${Util.srfpluralize(actionContext.context.srfparentdename).toLowerCase()}/${actionContext.context.srfparentkey}` + url;</#noparse>
}
url += '?srfexporttag=${item.getPSAppDEDataExport().codeName}';
const requestParams: any = {};
Object.assign(requestParams, { page: 0, size: <#if item.getPSAppDEDataExport().getMaxRowCount?? && item.getPSAppDEDataExport().getMaxRowCount()??>${item.getPSAppDEDataExport().getMaxRowCount()?c}<#else>1000</#if> });
try {
const response = await axios({
url: url,
method: 'post',
data: requestParams,
responseType: 'blob'
});
const fileName = decodeURIComponent('${item.getPSAppDataEntity().logicName}.xlsx');
let blob = new Blob([response.data], { type: 'application/vnd.ms-excel' });
let elink = document.createElement('a');
elink.download = fileName;
elink.style.display = 'none';
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
} catch (error: any) {
try {
const reader = new FileReader();
reader.readAsText(error.data, 'utf-8');
reader.onload = (event: any) => {
const message = JSON.parse(event.target.result)?.message;
actionContext.$Notice.error({ title: '错误', desc: 'actionContext.$t('app.grid.exportexcel.error')' });
}
} catch (error) {
actionContext.$Notice.error({ title: '错误', desc: 'actionContext.$t('app.grid.exportexcel.error')' });
}
}
<#else>
actionContext.$Notice.warning({ title: '警告', desc: 'actionContext.$t('app.grid.exportexcel.error')' });
</#if>
<#-- END: 前台处理模式:数据导出 -->
<#-- BEGIN: 前台处理模式:打开HTML --> <#-- BEGIN: 前台处理模式:打开HTML -->
<#if item.getFrontProcessType() == 'OPENHTMLPAGE'> <#elseif item.getFrontProcessType() == 'OPENHTMLPAGE'>
<#-- 打开独立程序弹出 --> <#-- 打开独立程序弹出 -->
const openPopupApp = (url: string) => { const openPopupApp = (url: string) => {
window.open(url, '_blank'); window.open(url, '_blank');
return null; return { ok: true, result: _args };
} }
const url = `${item.getHtmlPageUrl()}`; const url = `${item.getHtmlPageUrl()}`;
openPopupApp(url); return openPopupApp(url);
<#-- END: 前台处理模式:打开HTML --> <#-- END: 前台处理模式:打开HTML -->
<#-- BEGIN: 前台处理模式:打开顶级视图,打开顶级视图或向导(模态) --> <#-- BEGIN: 前台处理模式:打开顶级视图,打开顶级视图或向导(模态) -->
<#elseif (item.getFrontProcessType() == 'TOP' || item.getFrontProcessType() == 'WIZARD') && item.getFrontPSAppView()??> <#elseif (item.getFrontProcessType() == 'TOP' || item.getFrontProcessType() == 'WIZARD') && item.getFrontPSAppView()??>
<#assign dataview = item.getFrontPSAppView()> <#assign dataview = item.getFrontPSAppView()>
<#-- BEGIN:准备参数 --> <#-- BEGIN:准备参数 -->
<#if dataview.isRedirectView()> <#if dataview.isRedirectView()>
const deResParameters: any[] = []; const deResParameters: any[] = [];
const parameters: any[] = []; const parameters: any[] = [];
<#else> <#else>
<#-- BEGIN:是否应用实体视图 --> <#-- BEGIN:是否应用实体视图 -->
<#if dataview.isPSDEView()> <#if dataview.isPSDEView()>
<#-- 存在关系start --> <#-- 存在关系start -->
<#if dataview.getPSAppDERSPathCount() gt 0> <#if dataview.getPSAppDERSPathCount() gt 0>
<#list 1..dataview.getPSAppDERSPathCount() as count> <#list 1..dataview.getPSAppDERSPathCount() as count>
<#assign condition = ''/> <#assign condition = ''/>
<#list dataview.getPSAppDERSPath(count_index) as deRSPath> <#list dataview.getPSAppDERSPath(count_index) as deRSPath>
<#if deRSPath.getMajorPSAppDataEntity?? && deRSPath.getMajorPSAppDataEntity()??> <#if deRSPath.getMajorPSAppDataEntity?? && deRSPath.getMajorPSAppDataEntity()??>
<#assign _dataEntity = deRSPath.getMajorPSAppDataEntity()/> <#assign _dataEntity = deRSPath.getMajorPSAppDataEntity()/>
<#assign condition>${condition}context.${_dataEntity.getCodeName()?lower_case} && </#assign> <#assign condition>${condition}context.${_dataEntity.getCodeName()?lower_case} && </#assign>
</#if> </#if>
</#list> </#list>
</#list> </#list>
let deResParameters: any[] = []; let deResParameters: any[] = [];
<#-- 如果是主实体需对context判断start --> <#-- 如果是主实体需对context判断start -->
<#if dataview.getPSAppDataEntity().isMajor()> <#if dataview.getPSAppDataEntity().isMajor()>
if(${condition}true){ if(${condition}true){
deResParameters = [ deResParameters = [
<#list dataview.getPSAppDERSPath(dataview.getPSAppDERSPathCount() - 1) as deRSPath> <#list dataview.getPSAppDERSPath(dataview.getPSAppDERSPathCount() - 1) as deRSPath>
<#assign majorPSAppDataEntity = deRSPath.getMajorPSAppDataEntity()/> <#assign majorPSAppDataEntity = deRSPath.getMajorPSAppDataEntity()/>
{ pathName: '${srfpluralize(majorPSAppDataEntity.codeName)?lower_case}', parameterName: '${majorPSAppDataEntity.getCodeName()?lower_case}' }, { pathName: '${srfpluralize(majorPSAppDataEntity.codeName)?lower_case}', parameterName: '${majorPSAppDataEntity.getCodeName()?lower_case}' },
</#list> </#list>
] ]
} }
<#else> <#else>
deResParameters = [ deResParameters = [
<#list dataview.getPSAppDERSPath(dataview.getPSAppDERSPathCount() - 1) as deRSPath> <#list dataview.getPSAppDERSPath(dataview.getPSAppDERSPathCount() - 1) as deRSPath>
<#assign majorPSAppDataEntity = deRSPath.getMajorPSAppDataEntity()/> <#assign majorPSAppDataEntity = deRSPath.getMajorPSAppDataEntity()/>
{ pathName: '${srfpluralize(majorPSAppDataEntity.codeName)?lower_case}', parameterName: '${majorPSAppDataEntity.getCodeName()?lower_case}' }, { pathName: '${srfpluralize(majorPSAppDataEntity.codeName)?lower_case}', parameterName: '${majorPSAppDataEntity.getCodeName()?lower_case}' },
</#list> </#list>
]; ];
</#if> </#if>
<#-- 如果是主实体需对context判断end --> <#-- 如果是主实体需对context判断end -->
<#else> <#else>
let deResParameters: any[] = []; let deResParameters: any[] = [];
</#if> </#if>
<#-- 存在关系end --> <#-- 存在关系end -->
<#else> <#else>
const deResParameters: any[] = []; const deResParameters: any[] = [];
</#if> </#if>
<#-- END:是否应用实体视图 --> <#-- END:是否应用实体视图 -->
<#if dataview.getOpenMode() == 'INDEXVIEWTAB' || dataview.getOpenMode() == ''> <#if dataview.getOpenMode() == 'INDEXVIEWTAB' || dataview.getOpenMode() == ''>
<#-- BEGIN:是否应用实体视图 --> <#-- BEGIN:是否应用实体视图 -->
<#if dataview.isPSDEView()> <#if dataview.isPSDEView()>
<#assign appDataEntity = dataview.getPSAppDataEntity()/> <#assign appDataEntity = dataview.getPSAppDataEntity()/>
const parameters: any[] = [ const parameters: any[] = [
{ pathName: '${srfpluralize(appDataEntity.codeName)?lower_case}', parameterName: '${appDataEntity.getCodeName()?lower_case}' }, { pathName: '${srfpluralize(appDataEntity.codeName)?lower_case}', parameterName: '${appDataEntity.getCodeName()?lower_case}' },
{ pathName: '${dataview.getPSDEViewCodeName()?lower_case}', parameterName: '${dataview.getPSDEViewCodeName()?lower_case}' }, { pathName: '${dataview.getPSDEViewCodeName()?lower_case}', parameterName: '${dataview.getPSDEViewCodeName()?lower_case}' },
]; ];
<#else> <#else>
const parameters: any[] = [ const parameters: any[] = [
{ pathName: '${dataview.getCodeName()?lower_case}', parameterName: '${dataview.getCodeName()?lower_case}' }, { pathName: '${dataview.getCodeName()?lower_case}', parameterName: '${dataview.getCodeName()?lower_case}' },
]; ];
</#if> </#if>
<#-- END:是否应用实体视图 --> <#-- END:是否应用实体视图 -->
<#else> <#else>
<#-- BEGIN:是否应用实体视图 --> <#-- BEGIN:是否应用实体视图 -->
<#if dataview.isPSDEView()> <#if dataview.isPSDEView()>
<#assign appDataEntity = dataview.getPSAppDataEntity()/> <#assign appDataEntity = dataview.getPSAppDataEntity()/>
const parameters: any[] = [ const parameters: any[] = [
{ pathName: '${srfpluralize(appDataEntity.codeName)?lower_case}', parameterName: '${appDataEntity.getCodeName()?lower_case}' }, { pathName: '${srfpluralize(appDataEntity.codeName)?lower_case}', parameterName: '${appDataEntity.getCodeName()?lower_case}' },
]; ];
<#else> <#else>
const parameters: any[] = []; const parameters: any[] = [];
</#if> </#if>
<#-- END:是否应用实体视图 --> <#-- END:是否应用实体视图 -->
</#if> </#if>
</#if> </#if>
<#-- END:准备参数 --> <#-- END:准备参数 -->
<#-- BEGIN: 打开重定向视图 --> <#-- BEGIN: 打开重定向视图 -->
<#if dataview.isRedirectView()> <#if dataview.isRedirectView()>
<#-- BEGIN: 打开顶级分页视图 --> <#-- BEGIN: 打开顶级分页视图 -->
// 打开顶级分页视图 // 打开顶级分页视图
const openIndexViewTab = (viewpath: string, data: any) => { const openIndexViewTab = (viewpath: string, data: any) => {
const _params = actionContext.$util.prepareRouteParmas({ const _params = actionContext.$util.prepareRouteParmas({
route: actionContext.$route, route: actionContext.$route,
sourceNode: actionContext.$route.name, sourceNode: actionContext.$route.name,
targetNode: viewpath, targetNode: viewpath,
data: data, data: data,
}); });
actionContext.$router.push({ name: viewpath, params: _params }); actionContext.$router.push({ name: viewpath, params: _params });
<#-- 是否重新加载数据 --> // 后续界面行为
<#if item.isReloadData?? && item.isReloadData()> <@nextUIActionLogic 'args' />
if (xData && xData.refresh && xData.refresh instanceof Function) { }
xData.refresh(args);
}
</#if>
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
</#if>
</#if>
return null;
}
<#-- END: 打开顶级分页视图 --> <#-- END: 打开顶级分页视图 -->
<#-- BEGIN: 打开模态 --> <#-- BEGIN: 打开模态 -->
// 打开模态 // 打开模态
const openPopupModal = (view: any, data: any) => { const openPopupModal = (view: any, data: any) => {
let container: Subject<any> = actionContext.$appmodal.openModal(view,context,data); let container: Subject<any> = actionContext.$appmodal.openModal(view,context,data);
container.subscribe((result: any) => { container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) { if (!result || !Object.is(result.ret, 'OK')) {
return; return;
} }
const _this: any = actionContext; // 后续界面行为
<#-- 是否重新加载数据 --> <@nextUIActionLogic 'result.datas' />
<#if item.isReloadData?? && item.isReloadData()> });
if (xData && xData.refresh && xData.refresh instanceof Function) { }
xData.refresh(args);
}
</#if>
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
</#if>
</#if>
return result.datas;
});
}
<#-- END: 打开模态 --> <#-- END: 打开模态 -->
<#-- BEGIN: 打开抽屉 --> <#-- BEGIN: 打开抽屉 -->
// 打开抽屉 // 打开抽屉
const openDrawer = (view: any, data: any) => { const openDrawer = (view: any, data: any) => {
let container: Subject<any> = actionContext.$appdrawer.openDrawer(view,context, data); let container: Subject<any> = actionContext.$appdrawer.openDrawer(view,context, data);
container.subscribe((result: any) => { container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) { if (!result || !Object.is(result.ret, 'OK')) {
return; return;
} }
const _this: any = actionContext; const _this: any = actionContext;
<#-- 是否重新加载数据 --> // 后续界面行为
<#if item.isReloadData?? && item.isReloadData()> <@nextUIActionLogic 'result.datas' />
if (xData && xData.refresh && xData.refresh instanceof Function) { });
xData.refresh(args); }
}
</#if>
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
</#if>
</#if>
return result.datas;
});
}
<#-- END: 打开抽屉 --> <#-- END: 打开抽屉 -->
<#-- BEGIN: 打开气泡卡片 --> <#-- BEGIN: 打开气泡卡片 -->
// 打开气泡卡片 // 打开气泡卡片
const openPopOver = (view: any, data: any) => { const openPopOver = (view: any, data: any) => {
let container: Subject<any> = actionContext.$apppopover.openPop($event, view,context, data); let container: Subject<any> = actionContext.$apppopover.openPop($event, view,context, data);
container.subscribe((result: any) => { container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) { if (!result || !Object.is(result.ret, 'OK')) {
return; return;
} }
const _this: any = actionContext; const _this: any = actionContext;
<#-- 是否重新加载数据 --> // 后续界面行为
<#if item.isReloadData?? && item.isReloadData()> <@nextUIActionLogic 'result.datas' />
if (xData && xData.refresh && xData.refresh instanceof Function) { });
xData.refresh(args); }
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
</#if>
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
</#if>
</#if>
return result.datas;
});
}
<#-- END: 打开气泡卡片 --> <#-- END: 打开气泡卡片 -->
<#-- BEGIN: 打开独立程序弹出 --> <#-- BEGIN: 打开独立程序弹出 -->
// 打开独立程序弹出 // 打开独立程序弹出
const openPopupApp = (url: string) => { const openPopupApp = (url: string) => {
window.open(url, '_blank'); window.open(url, '_blank');
return null; return null;
}
<#assign dataview_de = dataview.getPSAppDataEntity().getPSDataEntity()/>
const url: string = '/${app.getPKGCodeName()?lower_case}/${dataview_de.getPSSystemModule().codeName?lower_case}/${dataview_de.codeName?lower_case}/${dataview.getPSDEViewCodeName()?lower_case}/getmodel';
actionContext.$http.get(url, data).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: '请求异常' });
}
if (response.status === 401) {
return;
}
const { data: result } = response;
if (!result) {
return reject(response);
} }
<#assign dataview_de = dataview.getPSAppDataEntity().getPSDataEntity()/>
const url: string = '/${app.getPKGCodeName()?lower_case}/${dataview_de.getPSSystemModule().codeName?lower_case}/${dataview_de.codeName?lower_case}/${dataview.getPSDEViewCodeName()?lower_case}/getmodel';
actionContext.$http.get(url, data).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: '请求异常' });
}
if (response.status === 401) {
return;
}
const { data: result } = response;
if (!result) {
return reject(response);
}
if (result.viewparams && Object.keys(result.viewparams)) { if (result.viewparams && Object.keys(result.viewparams)) {
Object.assign(data, result.viewparams); Object.assign(data, result.viewparams);
} }
if (Object.is(result.openmode, 'POPUPAPP') && result.url && !Object.is(result.url, '')) { if (Object.is(result.openmode, 'POPUPAPP') && result.url && !Object.is(result.url, '')) {
openPopupApp(result.url); openPopupApp(result.url);
} else if (Object.is(result.openmode, 'INDEXVIEWTAB') || Object.is(result.openmode, '')) { } else if (Object.is(result.openmode, 'INDEXVIEWTAB') || Object.is(result.openmode, '')) {
const viewpath = ${r'`${result.viewmodule}_${result.viewname}`.toLowerCase()'}; const viewpath = ${r'`${result.viewmodule}_${result.viewname}`.toLowerCase()'};
openIndexViewTab(viewpath, data); openIndexViewTab(viewpath, data);
} else if (Object.is(result.openmode, 'POPUPMODAL')) { } else if (Object.is(result.openmode, 'POPUPMODAL')) {
const viewname = actionContext.$util.srfFilePath2(result.viewname); const viewname = actionContext.$util.srfFilePath2(result.viewname);
const view: any = { const view: any = {
viewname: viewname, viewname: viewname,
title: result.title, title: result.title,
width: result.width, width: result.width,
height: result.height, height: result.height,
}
openPopupModal(view,context,data);
} else if (result.openmode.startsWith('DRAWER')) {
const viewname = actionContext.$util.srfFilePath2(result.viewname);
const view: any = {
viewname: viewname,
title: result.title,
width: result.width,
height: result.height,
placement: result.openmode,
}
openDrawer(view,context,data);
} else if (Object.is(result.openmode, 'POPOVER')) {
const viewname = actionContext.$util.srfFilePath2(result.viewname);
const view: any = {
viewname: viewname,
title: result.title,
width: result.width,
height: result.height,
placement: result.openmode,
}
openPopOver(view,context,data);
}
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
} }
if (response.status === 401) { openPopupModal(view,context,data);
return; } else if (result.openmode.startsWith('DRAWER')) {
const viewname = actionContext.$util.srfFilePath2(result.viewname);
const view: any = {
viewname: viewname,
title: result.title,
width: result.width,
height: result.height,
placement: result.openmode,
}
openDrawer(view,context,data);
} else if (Object.is(result.openmode, 'POPOVER')) {
const viewname = actionContext.$util.srfFilePath2(result.viewname);
const view: any = {
viewname: viewname,
title: result.title,
width: result.width,
height: result.height,
placement: result.openmode,
} }
}) openPopOver(view,context,data);
}
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
})
<#-- END: 打开独立程序弹出 --> <#-- END: 打开独立程序弹出 -->
<#-- END: 打开重定向视图 --> <#-- END: 打开重定向视图 -->
<#-- BEGIN: 打开顶级分页视图 --> <#-- BEGIN: 打开顶级分页视图 -->
<#elseif dataview.getOpenMode() =='INDEXVIEWTAB' || dataview.getOpenMode() == ''> <#elseif dataview.getOpenMode() =='INDEXVIEWTAB' || dataview.getOpenMode() == ''>
const openIndexViewTab = (data: any) => { const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data); const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath); actionContext.$router.push(routePath);
<#-- BEGIN 是否重新加载数据 --> // 后续界面行为
<#if item.isReloadData?? && item.isReloadData()> <@nextUIActionLogic 'args' />
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
</#if>
<#-- END 是否重新加载数据 -->
<#-- BEGIN关闭编辑视图 -->
<#if item.isCloseEditView()>
actionContext.closeView(null);
</#if>
<#-- END关闭编辑视图 -->
<#-- BEGIN 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}([data],context,params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}([data],context,params, $event, xData,actionContext);
}
</#if>
</#if>
<#-- END 后续界面行为 -->
return null;
} }
openIndexViewTab(data); openIndexViewTab(data);
<#-- END: 打开顶级分页视图 --> <#-- END: 打开顶级分页视图 -->
<#-- BEGIN: 打开模态 --> <#-- BEGIN: 打开模态 -->
<#elseif dataview.getOpenMode() = 'POPUPMODAL'> <#elseif dataview.getOpenMode() = 'POPUPMODAL'>
const openPopupModal = (view: any, data: any) => { const openPopupModal = (view: any, data: any) => {
let container: Subject<any> = actionContext.$appmodal.openModal(view, context, data); let container: Subject<any> = actionContext.$appmodal.openModal(view, context, data);
container.subscribe((result: any) => { container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) { if (!result || !Object.is(result.ret, 'OK')) {
return; return;
} }
const _this: any = actionContext; const _this: any = actionContext;
<#-- 是否重新加载数据 --> // 后续界面行为
<#if item.isReloadData?? && item.isReloadData()> <@nextUIActionLogic 'result.datas' />
if (xData && xData.refresh && xData.refresh instanceof Function) { });
xData.refresh(args); }
} const view: any = {
</#if> viewname: '${srffilepath2(dataview.getCodeName())}',
<#-- BEGIN关闭编辑视图 --> height: ${dataview.getHeight()?c},
<#if item.isCloseEditView()> width: ${dataview.getWidth()?c},
_this.closeView(null); title: actionContext.<@getViewLanguageTitle dataview />,
</#if> };
<#-- END关闭编辑视图 --> openPopupModal(view, data);
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context, params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context, params, $event, xData,actionContext);
}
</#if>
</#if>
<#-- if(window.opener){
window.opener.postMessage({status:'OK',identification:'WF'},Environment.uniteAddress);
window.close();
} -->
return result.datas;
});
}
const view: any = {
viewname: '${srffilepath2(dataview.getCodeName())}',
height: ${dataview.getHeight()?c},
width: ${dataview.getWidth()?c},
title: actionContext.<@getViewLanguageTitle dataview />,
};
openPopupModal(view, data);
<#-- END: 打开模态 --> <#-- END: 打开模态 -->
<#-- BEGIN: 打开抽屉 --> <#-- BEGIN: 打开抽屉 -->
<#elseif dataview.getOpenMode()?index_of('DRAWER') == 0> <#elseif dataview.getOpenMode()?index_of('DRAWER') == 0>
const openDrawer = (view: any, data: any) => { const openDrawer = (view: any, data: any) => {
let container: Subject<any> = actionContext.$appdrawer.openDrawer(view, context,data); let container: Subject<any> = actionContext.$appdrawer.openDrawer(view, context,data);
container.subscribe((result: any) => { container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) { if (!result || !Object.is(result.ret, 'OK')) {
return; return;
} }
const _this: any = actionContext; // 后续界面行为
<#-- 是否重新加载数据 --> <@nextUIActionLogic 'result.datas' />
<#if item.isReloadData?? && item.isReloadData()> });
if (xData && xData.refresh && xData.refresh instanceof Function) { }
xData.refresh(args); const view: any = {
} viewname: '${srffilepath2(dataview.getCodeName())}',
</#if> height: ${dataview.getHeight()?c},
<#-- BEGIN关闭编辑视图 --> width: ${dataview.getWidth()?c},
<#if item.isCloseEditView()> title: actionContext.<@getViewLanguageTitle dataview />,
_this.closeView(null); placement: '${dataview.getOpenMode()}',
</#if> };
<#-- END关闭编辑视图 --> openDrawer(view, data);
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context,params, $event, xData,actionContext);
}
</#if>
</#if>
<#-- if(window.opener){
window.opener.postMessage({status:'OK',identification:'WF'},Environment.uniteAddress);
window.close();
} -->
return result.datas;
});
}
const view: any = {
viewname: '${srffilepath2(dataview.getCodeName())}',
height: ${dataview.getHeight()?c},
width: ${dataview.getWidth()?c},
title: actionContext.<@getViewLanguageTitle dataview />,
placement: '${dataview.getOpenMode()}',
};
openDrawer(view, data);
<#-- END: 打开抽屉 --> <#-- END: 打开抽屉 -->
<#-- BEGIN: 打开气泡卡片 --> <#-- BEGIN: 打开气泡卡片 -->
<#elseif dataview.getOpenMode() == 'POPOVER'> <#elseif dataview.getOpenMode() == 'POPOVER'>
const openPopOver = (view: any, data: any) => { const openPopOver = (view: any, data: any) => {
let container: Subject<any> = actionContext.$apppopover.openPop($event, view, context,data); let container: Subject<any> = actionContext.$apppopover.openPop($event, view, context,data);
container.subscribe((result: any) => { container.subscribe((result: any) => {
...@@ -512,34 +528,8 @@ ${front_block} ...@@ -512,34 +528,8 @@ ${front_block}
return; return;
} }
const _this: any = actionContext; const _this: any = actionContext;
<#-- 是否重新加载数据 --> // 后续界面行为
<#if item.isReloadData?? && item.isReloadData()> <@nextUIActionLogic 'result.datas' />
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
</#if>
<#-- BEGIN关闭编辑视图 -->
<#if item.isCloseEditView()>
_this.closeView(null);
</#if>
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context, params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context, params, $event, xData,actionContext);
}
</#if>
</#if>
<#-- if(window.opener){
window.opener.postMessage({status:'OK',identification:'WF'},Environment.uniteAddress);
window.close();
} -->
return result.datas;
}); });
} }
const view: any = { const view: any = {
...@@ -552,41 +542,18 @@ ${front_block} ...@@ -552,41 +542,18 @@ ${front_block}
openPopOver(view, data); openPopOver(view, data);
<#-- END: 打开气泡卡片 --> <#-- END: 打开气泡卡片 -->
<#-- BEGIN: 其他打开模式 --> <#-- BEGIN: 其他打开模式 -->
<#else> <#else>
actionContext.$Notice.warning({ title: '错误', desc: actionContext.<@getViewLanguageTitle dataview />+'不支持该模式打开' }); actionContext.$Notice.warning({ title: '错误', desc: actionContext.<@getViewLanguageTitle dataview />+'不支持该模式打开' });
</#if> </#if>
<#-- END: 其他打开模式 --> <#-- END: 其他打开模式 -->
<#-- END: 前台处理模式:打开顶级视图,打开顶级视图或向导(模态) --> <#-- END: 前台处理模式:打开顶级视图,打开顶级视图或向导(模态) -->
<#-- BEGIN: 前台处理模式:用户自定义 --> <#-- BEGIN: 前台处理模式:用户自定义 -->
<#elseif item.getFrontProcessType() == 'OTHER'> <#elseif item.getFrontProcessType() == 'OTHER'>
<#-- 是否重新加载数据 --> // 自定义实体界面行为
<#if item.isReloadData?? && item.isReloadData()> actionContext.$Notice.warning({ title: '错误', desc: '${item.getCaption()} 未实现' });
if (xData && xData.refresh && xData.refresh instanceof Function) { // 后续界面行为
xData.refresh(args); <@nextUIActionLogic 'result.datas' />
}
<#-- 关闭编辑视图 -->
<#if item.isCloseEditView()>
actionContext.closeView(null);
</#if>
<#-- 后续界面行为 -->
<#if item.getNextPSUIAction?? && item.getNextPSUIAction()??>
<#assign nextPSUIAction = item.getNextPSUIAction()/>
<#if !(nextPSUIAction.getPSAppDataEntity?? && nextPSUIAction.getPSAppDataEntity()??)>
if (_this.${nextPSUIAction.getFullCodeName()} && _this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
_this.${nextPSUIAction.getFullCodeName()}(result.datas,context, params, $event, xData,actionContext);
}
<#else>
if (this.${nextPSUIAction.getFullCodeName()} && this.${nextPSUIAction.getFullCodeName()} instanceof Function) {
this.${nextPSUIAction.getFullCodeName()}(result.datas,context, params, $event, xData,actionContext);
}
</#if>
</#if> </#if>
<#else>
// 自定义实体界面行为
actionContext.$Notice.warning({ title: '错误', desc: '${item.getCaption()} 未实现' });
</#if>
</#if>
</#if> </#if>
</#if> </#if>
} }
......
...@@ -20,7 +20,8 @@ TARGET=PSAPPDATAENTITY ...@@ -20,7 +20,8 @@ TARGET=PSAPPDATAENTITY
</#compress> </#compress>
</#macro> </#macro>
import { Environment } from '@/environments/environment'; import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils'; import { UIActionTool, Util } from '@/utils';
import axios from 'axios';
import UIService from '../ui-service'; import UIService from '../ui-service';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import ${srfclassname('${item.getCodeName()}')}Service from '@/service/${srffilepath2(item.getCodeName())}/${srffilepath2(item.getCodeName())}-service'; import ${srfclassname('${item.getCodeName()}')}Service from '@/service/${srffilepath2(item.getCodeName())}/${srffilepath2(item.getCodeName())}-service';
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册