import-panel.min.js 3.7 KB

1
  1. Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,globalMixins,renderEmptyElement}=_ui.VxeUI;var _default=exports.default={name:"VxeTableImportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:Object,storeData:Object},components:{},inject:{$xeTable:{default:null}},data(){return{loading:!1}},computed:{selectName(){return this.storeData.filename+"."+this.storeData.type},hasFile(){return this.storeData.file&&this.storeData.type},parseTypeLabel(){var e=this.storeData;let{type:t,typeList:i}=e;return t?(e=_xeUtils.default.find(i,e=>t===e.value))?e.label:"*.*":"*."+i.map(e=>e.value).join(", *.")}},created(){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),i=_ui.VxeUI.getComponent("VxeSelect");this.$nextTick(()=>{e||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),t||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),i||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"])})},render(t){let i=this.$parent,l=i.$xeGrid,a=i.$xeGantt,{hasFile:s,loading:o,parseTypeLabel:r,defaultOptions:n,storeData:p,selectName:d}=this;var e=n.slots||{};let c=e.top,m=e.bottom,v=e.default,u=e.footer;return t("vxe-modal",{ref:"modal",props:{id:"VXE_IMPORT_MODAL",value:p.visible,title:getI18n("vxe.import.impTitle"),width:540,minWidth:360,minHeight:240,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:o},on:{input(e){p.visible=e},show:this.showEvent},scopedSlots:{default:()=>{var e={$table:i,$grid:l,$gantt:a,options:n,params:n.params};return t("div",{class:"vxe-table-export--panel"},[c?t("div",{class:"vxe-table-export--panel-top"},i.callSlot(c,e,t)):renderEmptyElement(this),t("div",{class:"vxe-table-export--panel-body"},v?i.callSlot(v,e,t):[t("table",{class:"vxe-table-export--panel-table",attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",[t("tr",[t("td",getI18n("vxe.import.impFile")),t("td",[s?t("div",{class:"vxe-table-export--selected--file",attrs:{title:d}},[t("span",d),t("i",{class:getIcon().INPUT_CLEAR,on:{click:this.clearFileEvent}})]):t("button",{ref:"fileBtn",class:"vxe-table-export--select--file",attrs:{type:"button"},on:{click:this.selectFileEvent}},getI18n("vxe.import.impSelect"))])]),t("tr",[t("td",getI18n("vxe.import.impType")),t("td",r)]),t("tr",[t("td",getI18n("vxe.import.impMode")),t("td",[t("vxe-select",{props:{value:n.mode,options:p.modeList},on:{modelValue(e){n.mode=e}}})])])])])]),m?t("div",{class:"vxe-table-export--panel-bottom"},i.callSlot(m,e,t)):renderEmptyElement(this)])},footer:()=>{var e={$table:i,$grid:l,$gantt:a,options:n,params:n.params};return t("div",{class:"vxe-table-export--panel-footer"},u?i.callSlot(u,e,t):[t("div",{class:"vxe-table-export--panel-btns"},[t("vxe-button",{on:{click:this.cancelEvent}},getI18n("vxe.import.impCancel")),t("vxe-button",{props:{status:"primary",disabled:!s||o},on:{click:this.importEvent}},getI18n("vxe.import.impConfirm"))])])}}})},methods:{clearFileEvent(){Object.assign(this.storeData,{filename:"",sheetName:"",type:""})},selectFileEvent(){this.$parent.readFile(this.defaultOptions).then(e=>{e=e.file;Object.assign(this.storeData,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},showEvent(){this.$nextTick(()=>{var e=this.$refs,e=e.fileBtn;e&&e.focus()})},cancelEvent(){this.storeData.visible=!1},importEvent(){var e=this.$parent;this.loading=!0,e.importByFile(this.storeData.file,Object.assign({},e.importOpts,this.defaultOptions)).then(()=>{this.loading=!1,this.storeData.visible=!1}).catch(()=>{this.loading=!1})}}};