import { Vue, Component, Prop } from 'vue-property-decorator'; import { Util } from '@ibizstudio/runtime'; import './app-form-group-data-panel.less'; /** * 表单分组 * * @export * @class AppFormGroupDataPanel * @extends {Vue} */ @Component({}) export default class AppFormGroupDataPanel extends Vue { /** * 表单分组模型 * * @type {*} * @memberof AppFormGroupDataPanel */ @Prop({ default: () => {} }) detailModel: any; /** * 表单数据 * * @type {*} * @memberof AppFormGroupDataPanel */ @Prop({ default: () => {} }) data!: any; /** * 上下文 * * @type {*} * @memberof AppFormGroupDataPanel */ @Prop() context?: any; /** * 视图参数 * * @type {*} * @memberof AppFormGroupDataPanel */ @Prop() viewparams?: any; /** * 获取项标题 * * @protected * @param {*} item * @returns {*} * @memberof AppFormGroupDataPanel */ protected getCaption(item: any): any { if (Util.isExistAndNotEmpty(item.langbase)) { return this.$t(`${item.langbase}.${item.name}`); } return item.caption; } /** * 绘制内容 * * @returns {*} * @memberof AppFormGroupDataPanel */ render(): any { const data: any[] = this.detailModel?.anchorPoints; if (data) { const items: any[] = []; data.forEach((item: any, index: number) => { const { getPSDEField, codeList, unitName } = item.editor; if (index > 0) { items.push( | ); }; items.push( ); }); return {items}; } } }