myprint-design
Version:
操作简单,组件丰富的一站式打印解决方案打印设计器
163 lines (158 loc) • 6.77 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var styleDesign = require('./style-design.vue.js');
var index = require('../../../locales/index.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 myButton = require('../../my/button/my-Button.vue.js');
var myIcon = require('../../my/icon/my-icon.vue.js');
var Printer = require('../../my/icon/icons/Printer.vue.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" };
const _hoisted_3 = { class: "display-flex-column toolbar-tool" };
const _hoisted_4 = { class: "display-flex" };
const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("i", { class: "icon-zitiyulan iconfont" }, null, -1);
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.createElementVNode("div", _hoisted_3, [
vue.createElementVNode("div", _hoisted_4, [
_ctx.designProps.showPrintButton ? (vue.openBlock(), vue.createBlock(myButton.default, {
key: 0,
size: "small",
class: "toolbar-tool_button_margin_right",
onClick: print
}, {
default: vue.withCtx(() => [
vue.createVNode(myIcon.default, null, {
default: vue.withCtx(() => [
vue.createVNode(Printer.default)
]),
_: 1
}),
vue.createTextVNode(" " + vue.toDisplayString(vue.unref(index.i18n)("toolbar.print")), 1)
]),
_: 1
})) : vue.createCommentVNode("v-if", true),
_ctx.designProps.showDownloadPdfButton ? (vue.openBlock(), vue.createBlock(myButton.default, {
key: 1,
size: "small",
class: "toolbar-tool_button_margin_right",
onClick: serverDownloadPdf
}, {
default: vue.withCtx(() => [
vue.createVNode(myIcon.default, null, {
default: vue.withCtx(() => [
vue.createVNode(Printer.default)
]),
_: 1
}),
vue.createTextVNode(" " + vue.toDisplayString(vue.unref(index.i18n)("toolbar.download")), 1)
]),
_: 1
})) : vue.createCommentVNode("v-if", true),
_ctx.designProps.showPreviewButton ? (vue.openBlock(), vue.createBlock(myButton.default, {
key: 2,
size: "small",
class: "toolbar-tool_button_margin_right",
onClick: preview
}, {
default: vue.withCtx(() => [
_hoisted_5,
vue.createTextVNode(" " + vue.toDisplayString(vue.unref(index.i18n)("toolbar.preview")), 1)
]),
_: 1
})) : vue.createCommentVNode("v-if", true),
_ctx.designProps.showClearButton ? (vue.openBlock(), vue.createBlock(myButton.default, {
key: 3,
size: "small",
class: "toolbar-tool_button_margin_right",
onClick: clearPanelClick
}, {
default: vue.withCtx(() => [
vue.createTextVNode(vue.toDisplayString(vue.unref(index.i18n)("toolbar.clear")), 1)
]),
_: 1
})) : vue.createCommentVNode("v-if", true),
_ctx.designProps.showSaveButton ? (vue.openBlock(), vue.createBlock(myButton.default, {
key: 4,
size: "small",
class: "toolbar-tool_button_margin_right",
disabled: vue.unref(elementUtil.getCurrentPanel)().name == null || vue.unref(elementUtil.getCurrentPanel)().name == "",
onClick: save
}, {
default: vue.withCtx(() => [
vue.createTextVNode(vue.toDisplayString(vue.unref(index.i18n)("toolbar.save")), 1)
]),
_: 1
}, 8, ["disabled"])) : vue.createCommentVNode("v-if", true)
])
])
])
]);
};
}
});
exports.default = _sfc_main;
//# sourceMappingURL=toolbar.vue2.js.map