label-print-design
Version:
操作简单,组件丰富的一站式打印解决方案打印设计器
115 lines (110 loc) • 4.77 kB
JavaScript
'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"
="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"
="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" ="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"
="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 == ''"
="save">{{ i18n('toolbar.save') }}
</my-button>
</div>
</div> `)
])
]);
};
}
});
exports.default = _sfc_main;
//# sourceMappingURL=toolbar.vue2.js.map