import { Http,Util,Errorlog } from '@/utils'; import ControlService from '@/widgets/control-service'; import SysUserRoleService from '@/service/sys-user-role/sys-user-role-service'; import MainModel from './main-grid-model'; /** * Main 部件服务对象 * * @export * @class MainService */ export default class MainService extends ControlService { /** * 用户角色关系服务对象 * * @type {SysUserRoleService} * @memberof MainService */ public appEntityService: SysUserRoleService = new SysUserRoleService({ $store: this.getStore() }); /** * 设置从数据模式 * * @type {boolean} * @memberof MainService */ public setTempMode(){ this.isTempMode = false; } /** * Creates an instance of MainService. * * @param {*} [opts={}] * @memberof MainService */ constructor(opts: any = {}) { super(opts); this.model = new MainModel(); } /** * 处理数据 * * @public * @param {Promise<any>} promise * @returns {Promise<any>} * @memberof MainService */ public doItems(promise: Promise<any>, deKeyField: string, deName: string): Promise<any> { return new Promise((resolve, reject) => { promise.then((response: any) => { if (response && response.status === 200) { const data = response.data; data.forEach((item:any,index:number) =>{ item[deName] = item[deKeyField]; data[index] = item; }); resolve(data); } else { reject([]) } }).catch((response: any) => { reject([]) }); }); } /** * 获取跨实体数据集合 * * @param {string} serviceName 服务名称 * @param {string} interfaceName 接口名称 * @param {*} data * @param {boolean} [isloading] * @returns {Promise<any[]>} * @memberof MainService */ @Errorlog public getItems(serviceName: string, interfaceName: string, context: any = {}, data: any, isloading?: boolean): Promise<any[]> { data.page = data.page ? data.page : 0; data.size = data.size ? data.size : 1000; return Promise.reject([]) } /** * 添加数据 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof MainService */ @Errorlog public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); return new Promise((resolve: any, reject: any) => { const _appEntityService: any = this.appEntityService; let result: Promise<any>; if (_appEntityService[action] && _appEntityService[action] instanceof Function) { result = _appEntityService[action](Context,Data, isloading); }else{ result =_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 MainService */ @Errorlog public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); return new Promise((resolve: any, reject: any) => { const _appEntityService: any = this.appEntityService; let result: Promise<any>; if (_appEntityService[action] && _appEntityService[action] instanceof Function) { result = _appEntityService[action](Context,Data, isloading); }else{ result =_appEntityService.Remove(Context,Data, isloading); } result.then((response) => { resolve(response); }).catch(response => { reject(response); }); }); } /** * 修改数据 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof MainService */ @Errorlog public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); return new Promise((resolve: any, reject: any) => { const _appEntityService: any = this.appEntityService; let result: Promise<any>; if (_appEntityService[action] && _appEntityService[action] instanceof Function) { result = _appEntityService[action](Data,Context,isloading); }else{ result =_appEntityService.Update(Data,Context,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 MainService */ @Errorlog public get(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); 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.Get(Context,Data, isloading); } result.then((response) => { //处理返回数据,补充判断标识 if(response.data){ Object.assign(response.data,{srfuf:0}); } resolve(response); }).catch(response => { reject(response); }); }); } /** * 查询数据 * * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof MainService */ @Errorlog public search(action: string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); return new Promise((resolve: any, reject: any) => { const _appEntityService: any = this.appEntityService; let result: Promise<any>; if (_appEntityService[action] && _appEntityService[action] instanceof Function) { result = _appEntityService[action](Context,Data, isloading); }else{ result =_appEntityService.FetchDefault(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 MainService */ @Errorlog public loadDraft(action: string, context: any = {}, data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); 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.GetDraft(Context,Data, isloading); } result.then((response) => { //处理返回数据,补充判断标识 if(response.data){ Object.assign(response.data,{srfuf:'0'}); //仿真主键数据 response.data.userroleid = Util.createUUID(); } this.handleResponse(action, response, true); resolve(response); }).catch(response => { reject(response); }); }); } /** * 前台逻辑 * @param {string} action * @param {*} [context={}] * @param {*} [data={}] * @param {boolean} [isloading] * @returns {Promise<any>} * @memberof MainService */ @Errorlog public frontLogic(action:string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> { const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); 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 { return Promise.reject({ status: 500, data: { title: '失败', message: '系统异常' } }); } result.then((response) => { this.handleResponse(action, response); resolve(response); }).catch(response => { reject(response); }); }) } }