import {Component, Prop, Vue, Emit, Watch} from 'vue-property-decorator'; @Component export default class EasyOperate extends Vue { @Prop({default: () => 'easy-operate'}) private id!: any; @Prop({default: () => []}) private data!: any; @Prop({default: () => false}) private show!: boolean; @Prop({default: () => '标题'}) private title!: any; @Prop({default: () => ''}) private icon!: any; @Prop({default: () => ''}) private prop!: any; @Prop({default: () => '确定'}) private confirm!: any; @Prop({default: () => '取消'}) private cancel!: any; @Prop({default: () => '550px'}) private areaWidth!: any; @Prop({default: () => 'info'}) private scene!: any; // 场景--info:信息|confirm:确认 @Prop({default: () => 'success'}) private sceneIcon!: any; public $layer: any; private layerIndex: any; private mounted() { } @Watch('id', {immediate: true}) private getID(value: any) { } @Watch('data', {immediate: true}) private getData(value: any) { } @Watch('title', {immediate: true}) private getTitle(value: any) { } @Watch('prop', {immediate: true}) private getProp(value: any) { } @Watch('icon', {immediate: true}) private getIcon(value: any) { } @Watch('confirm', {immediate: true}) private getConfirm(value: any) { } @Watch('cancel', {immediate: true}) private getCancel(value: any) { } @Watch('areaWidth', {immediate: true}) private getAreaWidth(value: any) { } @Watch('scene', {immediate: true}) private getScene(value: any) { } @Watch('show', {immediate: true}) private getShow(value: any) { if (value) { this.layerIndex = this.$layer.open({ title: this.title, id: this.id, icon: this.icon, area: { width: this.areaWidth, }, confirm: () => { }, cancel: () => { this.$layer.close(this.layerIndex) let $parent: any = this.$parent; $parent.component.easyOperate = false; } }); } } private submit() { let $parent: any = this.$parent; $parent.component.easyOperate = false; this.$emit('confirm', this.prop) this.$layer.close(this.layerIndex) } private close() { this.$layer.close(this.layerIndex) let $parent: any = this.$parent; this.$emit('cancel', this.prop) $parent.component.easyOperate = false; } }