import { Subject } from 'rxjs'; import { EditViewBase } from '@/studio-core'; import ContactService from '@/service/contact/contact-service'; import EditViewEngine from '@engine/view/edit-view-engine'; /** * 联系人编辑视图视图基类 * * @export * @class ContactInfo_AbstractBase * @extends {EditViewBase} */ export class ContactInfo_AbstractBase extends EditViewBase { /** * 实体服务对象 * * @type {ContactService} * @memberof ContactInfo_AbstractBase */ protected appEntityService: ContactService = new ContactService; /** * 计数器服务对象集合 * * @protected * @type {Array<*>} * @memberof ContactInfo_AbstractBase */ protected counterServiceArray: Array<any> = []; /** * 视图模型数据 * * @protected * @type {*} * @memberof ContactInfo_AbstractBase */ protected model: any = { srfCaption: 'entities.contact.views.info_abstract.caption', srfTitle: 'entities.contact.views.info_abstract.title', srfSubTitle: 'entities.contact.views.info_abstract.subtitle', dataInfo: '' } /** * 容器模型 * * @protected * @type {*} * @memberof ContactInfo_AbstractBase */ protected containerModel: any = { view_form: { name: 'form', type: 'FORM' }, }; /** * 视图唯一标识 * * @protected * @type {string} * @memberof ViewBase */ protected viewtag: string = '3cf1d1097fdbdea6d7fb32cf7ff09d04'; /** * 视图引擎 * * @public * @type {Engine} * @memberof ContactInfo_AbstractBase */ public engine: EditViewEngine = new EditViewEngine(); /** * 引擎初始化 * * @public * @memberof ContactInfo_AbstractBase */ public engineInit(): void { this.engine.init({ view: this, form: this.$refs.form, p2k: '0', keyPSDEField: 'contact', majorPSDEField: 'fullname', isLoadDefault: true, }); } /** * form 部件 save 事件 * * @param {*} [args={}] * @param {*} $event * @memberof ContactInfo_AbstractBase */ public form_save($event: any, $event2?: any): void { this.engine.onCtrlEvent('form', 'save', $event); } /** * form 部件 remove 事件 * * @param {*} [args={}] * @param {*} $event * @memberof ContactInfo_AbstractBase */ public form_remove($event: any, $event2?: any): void { this.engine.onCtrlEvent('form', 'remove', $event); } /** * form 部件 load 事件 * * @param {*} [args={}] * @param {*} $event * @memberof ContactInfo_AbstractBase */ public form_load($event: any, $event2?: any): void { this.engine.onCtrlEvent('form', 'load', $event); } }