import { IModal } from '@ibiz-template/runtime'; import { useNamespace, useOptViewController } from '@ibiz-template/vue-util'; import { defineComponent, getCurrentInstance, PropType } from 'vue'; import '@/styles/components/views/opt-view/opt-view.scss'; export const OptView = defineComponent({ props: { context: Object as PropType<IContext>, params: { type: Object as PropType<IParams> }, modelPath: { type: String, required: true }, modal: { type: Object as PropType<IModal> }, }, setup(props) { const { proxy } = getCurrentInstance()!; const c = useOptViewController(proxy, props.modelPath); const ns = useNamespace('view-deoptview'); return { c, ns }; }, render() { return ( <view-base class={this.ns.b()} controller={this.c} scopedSlots={{ footer: () => { return ( <div class={this.ns.b('footer')}> <i-button on-click={() => { this.c.onOkButtonClick(); }} > 确定 </i-button> <i-button on-click={() => { this.c.onCancelButtonClick(); }} > 取消 </i-button> </div> ); }, }} > {this.c.complete && ( <edit-form-control modelData={this.c.model.form} context={this.c.context} params={this.c.params} on-neuronInit={this.c.nerve.onNeuronInit( this.c.model.form.source.name, )} ></edit-form-control> )} </view-base> ); }, });