// 基于 @CONTROL/向导面板/SERVICE.ts.ftl 生成 import { Http,Util,Errorlog } from '@/utils'; import ControlService from '@/widgets/control-service'; import IBIZBOOKService from '@/service/ibizbook/ibizbook-service'; import GuideModel from './guide-wizardpanel-model'; /** * Guide 部件服务对象 * * @export * @class GuideService */ export default class GuideService extends ControlService { /** * 图书服务对象 * * @type {IBIZBOOKService} * @memberof GuideService */ public appEntityService: IBIZBOOKService = new IBIZBOOKService(); /** * 设置从数据模式 * * @type {boolean} * @memberof GuideService */ public setTempMode(){ this.isTempMode = false; } /** * Creates an instance of GuideService. * * @param {*} [opts={}] * @memberof GuideService */ constructor(opts: any = {}) { super(opts); this.model = new GuideModel(); } /** * 初始化向导 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof GuideService */ @Errorlog public init(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data); return new Promise((resolve: any, reject: any) => { let result: Promise<any>; const _appEntityService: any = this.appEntityService; if (_appEntityService[action] && _appEntityService[action] instanceof Function) { result = _appEntityService[action](Context,Data, isloading); } else { result = this.appEntityService.Create(Context,Data, isloading); } result.then((response) => { this.handleResponse(action, response); resolve(response); }).catch(response => { reject(response); }); }); } /** * 向导结束 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof GuideService */ @Errorlog public finish(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data); return new Promise((resolve: any, reject: any) => { let result: Promise<any>; const _appEntityService: any = this.appEntityService; // 忽略版本检查 Object.assign(Data,{ignoreversioncheck:1}); if (_appEntityService[action] && _appEntityService[action] instanceof Function) { result = _appEntityService[action](Context,Data, isloading); } else { result = this.appEntityService.Update(Context,Data, isloading); } result.then((response) => { this.handleResponse(action, response); resolve(response); }).catch(response => { reject(response); }); }); } }