UNPKG

vhb-table

Version:

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

1 lines 3.32 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-h-b-table/src/conf")),_modal=_interopRequireDefault(require("../../modal/src/modal")),_radio=_interopRequireDefault(require("../../radio/src/radio")),_utils=_interopRequireDefault(require("../../tools/utils"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var _default={name:"VhbImportPanel",props:{defaultOptions:Object,storeData:Object},components:{VhbModal:_modal.default,VhbRadio:_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=_xeUtils.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,a=this.storeData,o=this.selectName;return e("vhb-modal",{res:"modal",props:{value:a.visible,title:_conf.default.i18n("vhb.import.impTitle"),width:440,mask:!0,lockView:!0,showFooter:!1,escClosable:!0,maskClosable:!0,loading:this.loading},on:{input:function(t){a.visible=t},show:this.showEvent}},[e("div",{class:"vhb-export--panel"},[e("table",{attrs:{cellspacing:0,cellpadding:0,border:0}},[e("tbody",[e("tr",[e("td",_conf.default.i18n("vhb.import.impFile")),e("td",[t?e("div",{class:"vhb-import-selected--file",attrs:{title:o}},[e("span",o),e("i",{class:_conf.default.icon.INPUT_CLEAR,on:{click:this.clearFileEvent}})]):e("button",{ref:"fileBtn",class:"vhb-import-select--file",attrs:{type:"button"},on:{click:this.selectFileEvent}},_conf.default.i18n("vhb.import.impSelect"))])]),e("tr",[e("td",_conf.default.i18n("vhb.import.impType")),e("td",i)]),e("tr",[e("td",_conf.default.i18n("vhb.import.impOpts")),e("td",[e("vhb-radio-group",{props:{value:n.mode},on:{input:function(t){n.mode=t}}},a.modeList.map(function(t){return e("vhb-radio",{props:{label:t.value}},_conf.default.i18n(t.label))}))])])])]),e("div",{class:"vhb-export--panel-btns"},[e("vhb-button",{on:{click:this.cancelEvent}},_conf.default.i18n("vhb.import.impCancel")),e("vhb-button",{props:{status:"primary",disabled:!t},on:{click:this.importEvent}},_conf.default.i18n("vhb.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,_utils.default.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;