UNPKG

vxe-table

Version:

一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...

1 lines 3.28 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ctor=_interopRequireDefault(require("xe-utils/ctor")),_conf=_interopRequireDefault(require("../../conf")),_modal=_interopRequireDefault(require("../../modal/src/modal")),_radio=_interopRequireDefault(require("../../radio/src/radio")),_tools=require("../../tools");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var _default={name:"VxeImportPanel",props:{defaultOptions:Object,storeData:Object},components:{VxeModal:_modal.default,VxeRadio:_radio.default},data:function(){return{loading:!1}},computed:{vSize:function(){return this.size||this.$parent.size||this.$parent.vSize},selectName:function(){return"".concat(this.storeData.filename,".").concat(this.storeData.type)},hasFile:function(){return this.storeData.file&&this.storeData.type},parseTypeLabel:function(){var t=this.storeData,e=t.type,i=t.typeList;if(e){var n=_ctor.default.find(i,function(t){return e===t.value});return n?_conf.default.i18n(n.label):"*.*"}return"*.".concat(i.map(function(t){return t.value}).join(", *."))}},render:function(e){var t=this.hasFile,i=this.parseTypeLabel,n=this.defaultOptions,o=this.storeData,a=this.selectName;return e("vxe-modal",{res:"modal",props:{value:o.visible,title:_conf.default.i18n("vxe.import.impTitle"),width:440,mask:!0,lockView:!0,showFooter:!1,escClosable:!0,maskClosable:!0,loading:this.loading},on:{input:function(t){o.visible=t},show:this.showEvent}},[e("div",{class:"vxe-export--panel"},[e("table",{attrs:{cellspacing:0,cellpadding:0,border:0}},[e("tbody",[e("tr",[e("td",_conf.default.i18n("vxe.import.impFile")),e("td",[t?e("div",{class:"vxe-import-selected--file",attrs:{title:a}},[e("span",a),e("i",{class:_conf.default.icon.INPUT_CLEAR,on:{click:this.clearFileEvent}})]):e("button",{ref:"fileBtn",class:"vxe-import-select--file",attrs:{type:"button"},on:{click:this.selectFileEvent}},_conf.default.i18n("vxe.import.impSelect"))])]),e("tr",[e("td",_conf.default.i18n("vxe.import.impType")),e("td",i)]),e("tr",[e("td",_conf.default.i18n("vxe.import.impOpts")),e("td",[e("vxe-radio-group",{props:{value:n.mode},on:{input:function(t){n.mode=t}}},o.modeList.map(function(t){return e("vxe-radio",{props:{label:t.value}},_conf.default.i18n(t.label))}))])])])]),e("div",{class:"vxe-export--panel-btns"},[e("vxe-button",{on:{click:this.cancelEvent}},_conf.default.i18n("vxe.import.impCancel")),e("vxe-button",{props:{status:"primary",disabled:!t},on:{click:this.importEvent}},_conf.default.i18n("vxe.import.impConfirm"))])])])},methods:{clearFileEvent:function(){Object.assign(this.storeData,{filename:"",sheetName:"",type:""})},selectFileEvent:function(){var i=this;this.$parent.readFile(this.defaultOptions).then(function(t){var e=t.file;Object.assign(i.storeData,_tools.UtilTools.parseFile(e),{file:e})}).catch(function(t){return t})},showEvent:function(){var e=this;this.$nextTick(function(){var t=e.$refs.fileBtn;t&&t.focus()})},cancelEvent:function(){this.storeData.visible=!1},importEvent:function(){var t=this,e=this.$parent;this.loading=!0,e.importByFile(this.storeData.file,Object.assign({},e.importOpts,this.defaultOptions)).then(function(){t.loading=!1,t.storeData.visible=!1}).catch(function(){t.loading=!1})}}};exports.default=_default;