UNPKG

label-print-design

Version:

操作简单,组件丰富的一站式打印解决方案打印设计器

115 lines (110 loc) 4.77 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var styleDesign = require('./style-design.vue.js'); var elementUtil = require('../../../utils/elementUtil.js'); var historyUtil = require('../../../utils/historyUtil.js'); var moveable = require('../../../plugins/moveable/moveable.js'); var printer = require('../../../printer.js'); var utils = require('../../../utils/utils.js'); var myMessage = require('../../my/message/my-message.js'); var app = require('../../../stores/app.js'); const _hoisted_1 = { class: "toolbar-container" }; const _hoisted_2 = { class: "display-flex space-between width-100-p" }; var _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "toolbar", props: { designProps: {} }, setup(__props) { const useApp = app.useAppStoreHook(); function print() { const defaultPrinter = printer.MyPrinter.getDefaultPrinter(); printer.MyPrinter.clientPrinter({ previewDataList: elementUtil.defaultPreviewData(useApp.previewData), printer: defaultPrinter?.name }).then((res) => { switch (res.status) { case "SUCCESS": break; case "TIMEOUT": myMessage.MyMessage.error("\u6253\u5370\u8D85\u65F6"); break; case "ERROR": myMessage.MyMessage.error("\u6253\u5370\u5931\u8D25\uFF0C" + res.msg); break; } }).catch((e) => { myMessage.MyMessage.error("\u6253\u5370\u5931\u8D25\uFF0C" + e.msg); }); } function serverDownloadPdf() { printer.MyPrinter.pdfServer({ previewDataList: elementUtil.defaultPreviewData(useApp.previewData) }).then((res) => { switch (res.status) { case "SUCCESS": utils.download(res.blob, "myprint.pdf"); break; case "TIMEOUT": myMessage.MyMessage.error("\u4E0B\u8F7D\u8D85\u65F6"); break; case "ERROR": myMessage.MyMessage.error("\u4E0B\u8F7D\u5931\u8D25\uFF0C" + res.msg); break; } }).catch((e) => { myMessage.MyMessage.error("\u4E0B\u8F7D\u5931\u8D25\uFF0C" + e.msg); }); } function preview() { printer.MyPrinter.chromePreview({ previewDataList: elementUtil.defaultPreviewData(useApp.previewData) }); } function save() { utils.mitt.emit("saveTemplate", {}); } function clearPanelClick() { elementUtil.clearPanel(elementUtil.getCurrentPanel()); moveable.updatePanel(); historyUtil.record({ action: historyUtil.ActionEnum.CLEAR }); } return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ vue.createElementVNode("div", _hoisted_2, [ vue.createVNode(styleDesign.default), vue.createCommentVNode(` <div class="display-flex-column toolbar-tool"> <div class="display-flex"> <my-button v-if="designProps.showPrintButton" size="small" class="toolbar-tool_button_margin_right" @click="print"> <my-icon> <Printer /> </my-icon> {{ i18n('toolbar.print') }} </my-button> <my-button v-if="designProps.showDownloadPdfButton" size="small" class="toolbar-tool_button_margin_right" @click="serverDownloadPdf"> <my-icon> <Printer /> </my-icon> {{ i18n('toolbar.download') }} </my-button> <my-button v-if="designProps.showPreviewButton" size="small" class="toolbar-tool_button_margin_right" @click="preview"> <i class="icon-zitiyulan iconfont" /> {{ i18n('toolbar.preview') }} </my-button> <my-button v-if="designProps.showClearButton" size="small" class="toolbar-tool_button_margin_right" @click="clearPanelClick"> {{ i18n('toolbar.clear') }} </my-button> <my-button v-if="designProps.showSaveButton" size="small" class="toolbar-tool_button_margin_right" :disabled="getCurrentPanel().name == null || getCurrentPanel().name == ''" @click="save">{{ i18n('toolbar.save') }} </my-button> </div> </div> `) ]) ]); }; } }); exports.default = _sfc_main; //# sourceMappingURL=toolbar.vue2.js.map