UNPKG

vxe-table-demonic

Version:

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

1 lines 3.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_modal=_interopRequireDefault(require("../../modal/src/modal")),_group=_interopRequireDefault(require("../../radio/src/group")),_radio=_interopRequireDefault(require("../../radio/src/radio")),_button=_interopRequireDefault(require("../../button/src/button")),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=(0,_vue.defineComponent)({name:"VxeImportPanel",props:{defaultOptions:Object,storeData:Object},setup:function(o){function a(){var e=o.storeData;Object.assign(e,{filename:"",sheetName:"",type:""})}function l(){var t=o.storeData,e=o.defaultOptions;i.readFile(e).then(function(e){e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(function(e){return e})}function r(){(0,_vue.nextTick)(function(){var e=s.value;e&&e.focus()})}function c(){o.storeData.visible=!1}function f(){var e=o.storeData,t=o.defaultOptions,u=n.value;d.loading=!0,i.importByFile(e.file,Object.assign({},u,t)).then(function(){d.loading=!1,e.visible=!1}).catch(function(){d.loading=!1})}var i=(0,_vue.inject)("$xetable",{}),n=i.getComputeMaps().computeImportOpts,d=(0,_vue.reactive)({loading:!1}),s=(0,_vue.ref)(),v=(0,_vue.computed)(function(){var e=o.storeData;return"".concat(e.filename,".").concat(e.type)}),_=(0,_vue.computed)(function(){var e=o.storeData;return e.file&&e.type}),p=(0,_vue.computed)(function(){var e,t=o.storeData,u=t.type,t=t.typeList;return u?(e=_xeUtils.default.find(t,function(e){return u===e.value}))?_conf.default.i18n(e.label):"*.*":"*.".concat(t.map(function(e){return e.value}).join(", *."))});return function(){var t=o.defaultOptions,u=o.storeData,e=v.value,i=_.value,n=p.value;return(0,_vue.h)(_modal.default,{modelValue:u.visible,title:_conf.default.i18n("vxe.import.impTitle"),width:440,mask:!0,lockView:!0,showFooter:!1,escClosable:!0,maskClosable:!0,loading:d.loading,"onUpdate:modelValue":function(e){u.visible=e},onShow:r},{default:function(){return(0,_vue.h)("div",{class:"vxe-export--panel"},[(0,_vue.h)("table",{cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[(0,_vue.h)("tr",[(0,_vue.h)("td",_conf.default.i18n("vxe.import.impFile")),(0,_vue.h)("td",[i?(0,_vue.h)("div",{class:"vxe-import-selected--file",title:e},[(0,_vue.h)("span",e),(0,_vue.h)("i",{class:_conf.default.icon.INPUT_CLEAR,onClick:a})]):(0,_vue.h)("button",{ref:s,class:"vxe-import-select--file",onClick:l},_conf.default.i18n("vxe.import.impSelect"))])]),(0,_vue.h)("tr",[(0,_vue.h)("td",_conf.default.i18n("vxe.import.impType")),(0,_vue.h)("td",n)]),(0,_vue.h)("tr",[(0,_vue.h)("td",_conf.default.i18n("vxe.import.impOpts")),(0,_vue.h)("td",[(0,_vue.h)(_group.default,{modelValue:t.mode,"onUpdate:modelValue":function(e){t.mode=e}},{default:function(){return u.modeList.map(function(e){return(0,_vue.h)(_radio.default,{label:e.value,content:_conf.default.i18n(e.label)})})}})])])])]),(0,_vue.h)("div",{class:"vxe-export--panel-btns"},[(0,_vue.h)(_button.default,{content:_conf.default.i18n("vxe.import.impCancel"),onClick:c}),(0,_vue.h)(_button.default,{status:"primary",disabled:!i,content:_conf.default.i18n("vxe.import.impConfirm"),onClick:f})])])}})}}});exports.default=_default;