vue-ant-patterns
Version:
vue-ant-patterns
109 lines (97 loc) • 2.72 kB
JavaScript
import _extends from 'babel-runtime/helpers/extends';
import DContainer from '../../es/d-container';
import DModal from '../../es/d-modal';
import PropTypes from 'ant-design-vue/es/_util/vue-types';
import LocaleReceiver from 'ant-design-vue/es/locale-provider/LocaleReceiver';
import EN from './locale/en_US';
import CN from './locale/zh_CN';
import BImportExport from './importExport';
var Horizontal = DContainer.Horizontal,
Vertical = DContainer.Vertical;
var langType = {
'zh-cn': CN,
'en-us': EN
};
var BModalImportExport = {
name: 'BModalImportExport',
props: {
tmpCode: String,
prefixCls: PropTypes.string.def('depot-import-export'),
showSetId: PropTypes.bool.def(false),
setIdLabel: PropTypes.string, // 表集合labelName
setIdTableName: PropTypes.string, // 表集合
title: PropTypes.string, // 弹框标题
modalVisible: PropTypes.bool // 对话框是否可见
},
data: function data() {
var modalVisible = this.$props.modalVisible;
return {
visible: modalVisible
};
},
watch: {
modalVisible: function modalVisible(val, oldVal) {
this.visible = val;
}
},
created: function created() {},
mounted: function mounted() {},
methods: {
handleCancel: function handleCancel() {
this.$emit('modalCancel');
},
handleOk: function handleOk() {
this.$emit('modalOk');
},
renderComponent: function renderComponent() {
var h = this.$createElement;
var $props = this.$props,
visible = this.visible;
var title = $props.title;
// 弹框使用中尺寸
var modalProps = {
props: {
size: 'middle',
title: title,
visible: visible,
destroyOnClose: true,
wrapClassName: 'import-dialog',
footer: null
},
on: {
ok: this.handleOk,
cancel: this.handleCancel
}
};
// const { $props } = this;
var importProps = {
props: _extends({}, $props, {
showCancelAndFinish: true
}),
on: {
modalCancel: this.handleCancel,
modalOk: this.handleOk
}
};
return h(
DModal,
modalProps,
[h(BImportExport, importProps)]
);
}
},
render: function render() {
var h = arguments[0];
return h(LocaleReceiver, {
attrs: {
componentName: 'bModalImportExport',
defaultLocale: this.getDefaultLocale
},
scopedSlots: { 'default': this.renderComponent }
});
}
};
BModalImportExport.install = function (Vue) {
Vue.component(BModalImportExport.name, BModalImportExport);
};
export default BModalImportExport;