vxe-table-select-area
Version:
一个基于 vxe-table 的可区域选中复制、粘贴的组件
1 lines • 3.31 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_modal=_interopRequireDefault(require("../../modal/src/modal")),_radio=_interopRequireDefault(require("../../radio/src/radio")),_utils=_interopRequireDefault(require("../../tools/utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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 e,t=this.storeData,i=t.type,t=t.typeList;return i?(e=_xeUtils.default.find(t,function(e){return i===e.value}))?_conf.default.i18n(e.label):"*.*":"*.".concat(t.map(function(e){return e.value}).join(", *."))}},render:function(t){var e=this.hasFile,i=this.parseTypeLabel,n=this.defaultOptions,a=this.storeData,o=this.selectName;return t("vxe-modal",{res:"modal",props:{value:a.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(e){a.visible=e},show:this.showEvent}},[t("div",{class:"vxe-export--panel"},[t("table",{attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",[t("tr",[t("td",_conf.default.i18n("vxe.import.impFile")),t("td",[e?t("div",{class:"vxe-import-selected--file",attrs:{title:o}},[t("span",o),t("i",{class:_conf.default.icon.INPUT_CLEAR,on:{click:this.clearFileEvent}})]):t("button",{ref:"fileBtn",class:"vxe-import-select--file",attrs:{type:"button"},on:{click:this.selectFileEvent}},_conf.default.i18n("vxe.import.impSelect"))])]),t("tr",[t("td",_conf.default.i18n("vxe.import.impType")),t("td",i)]),t("tr",[t("td",_conf.default.i18n("vxe.import.impOpts")),t("td",[t("vxe-radio-group",{props:{value:n.mode},on:{input:function(e){n.mode=e}}},a.modeList.map(function(e){return t("vxe-radio",{props:{label:e.value}},_conf.default.i18n(e.label))}))])])])]),t("div",{class:"vxe-export--panel-btns"},[t("vxe-button",{on:{click:this.cancelEvent}},_conf.default.i18n("vxe.import.impCancel")),t("vxe-button",{props:{status:"primary",disabled:!e},on:{click:this.importEvent}},_conf.default.i18n("vxe.import.impConfirm"))])])])},methods:{clearFileEvent:function(){Object.assign(this.storeData,{filename:"",sheetName:"",type:""})},selectFileEvent:function(){var t=this;this.$parent.readFile(this.defaultOptions).then(function(e){e=e.file;Object.assign(t.storeData,_utils.default.parseFile(e),{file:e})}).catch(function(e){return e})},showEvent:function(){var t=this;this.$nextTick(function(){var e=t.$refs.fileBtn;e&&e.focus()})},cancelEvent:function(){this.storeData.visible=!1},importEvent:function(){var e=this,t=this.$parent;this.loading=!0,t.importByFile(this.storeData.file,Object.assign({},t.importOpts,this.defaultOptions)).then(function(){e.loading=!1,e.storeData.visible=!1}).catch(function(){e.loading=!1})}}};exports.default=_default;