import { Prop, Provide, Emit, Model } from 'vue-property-decorator'; import { Subject, Subscription } from 'rxjs'; import { Watch, EditFormControlBase } from '@/studio-core'; import MetricService from '@/service/metric/metric-service'; import MainService from './main-form-service'; import MetricUIService from '@/uiservice/metric/metric-ui-service'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; /** * form部件基类 * * @export * @class EditFormControlBase * @extends {MainEditFormBase} */ export class MainEditFormBase extends EditFormControlBase { /** * 获取部件类型 * * @protected * @type {string} * @memberof MainEditFormBase */ protected controlType: string = 'FORM'; /** * 建构部件服务对象 * * @type {MainService} * @memberof MainEditFormBase */ public service: MainService = new MainService({ $store: this.$store }); /** * 实体服务对象 * * @type {MetricService} * @memberof MainEditFormBase */ public appEntityService: MetricService = new MetricService({ $store: this.$store }); /** * 应用实体名称 * * @protected * @type {string} * @memberof MainEditFormBase */ protected appDeName: string = 'metric'; /** * 界面UI服务对象 * * @type {MetricUIService} * @memberof MainEditFormBase */ public appUIService:MetricUIService = new MetricUIService(this.$store); /** * 表单数据对象 * * @type {*} * @memberof MainEditFormBase */ public data: any = { srfupdatedate: null, srforikey: null, srfkey: null, srfmajortext: null, srftempmode: null, srfuf: null, srfdeid: null, srfsourcekey: null, metricname: null, amount: null, amountdatatype: null, stretchtracked: null, description: null, metricid: null, metric:null, }; /** * 属性值规则 * * @type {*} * @memberof MainEditFormBase */ public rules: any = { metricname: [ { required: true, type: 'string', message: '公制名称 值不能为空', trigger: 'change' }, { required: true, type: 'string', message: '公制名称 值不能为空', trigger: 'blur' }, ], } /** * 详情模型集合 * * @type {*} * @memberof MainEditFormBase */ public detailsModel: any = { group1: new FormGroupPanelModel({ caption: 'metric基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.metric.main_form', extractMode: 'ITEM', details: [] } }), formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }), srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }), srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), srfkey: new FormItemModel({ caption: '目标度量', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), srfmajortext: new FormItemModel({ caption: '公制名称', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), metricname: new FormItemModel({ caption: '公制名称', detailType: 'FORMITEM', name: 'metricname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), amount: new FormItemModel({ caption: '度量类型', detailType: 'FORMITEM', name: 'amount', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), amountdatatype: new FormItemModel({ caption: '金额数据类型', detailType: 'FORMITEM', name: 'amountdatatype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), stretchtracked: new FormItemModel({ caption: '跟踪扩展目标值', detailType: 'FORMITEM', name: 'stretchtracked', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), description: new FormItemModel({ caption: '说明', detailType: 'FORMITEM', name: 'description', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), metricid: new FormItemModel({ caption: '目标度量', detailType: 'FORMITEM', name: 'metricid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }), }; }