myprint-design
Version:
操作简单,组件丰富的一站式打印解决方案打印设计器
1 lines • 6.75 kB
Source Map (JSON)
{"version":3,"file":"toolbar.vue2.mjs","sources":["../../../../../../src/components/content/toolbar/toolbar.vue"],"sourcesContent":["<template>\n <div class=\"toolbar-container\">\n <div class=\"display-flex space-between width-100-p\">\n <style-design />\n \n <div class=\"display-flex-column toolbar-tool\">\n <div class=\"display-flex\">\n <my-button v-if=\"designProps.showPrintButton\" size=\"small\" class=\"toolbar-tool_button_margin_right\"\n @click=\"print\">\n <my-icon>\n <Printer />\n </my-icon>\n {{ i18n('toolbar.print') }}\n </my-button>\n <my-button v-if=\"designProps.showDownloadPdfButton\" size=\"small\"\n class=\"toolbar-tool_button_margin_right\"\n @click=\"serverDownloadPdf\">\n <my-icon>\n <Printer />\n </my-icon>\n {{ i18n('toolbar.download') }}\n </my-button>\n <my-button v-if=\"designProps.showPreviewButton\" size=\"small\"\n class=\"toolbar-tool_button_margin_right\" @click=\"preview\">\n <i class=\"icon-zitiyulan iconfont\" />\n {{ i18n('toolbar.preview') }}\n </my-button>\n <my-button v-if=\"designProps.showClearButton\" size=\"small\" class=\"toolbar-tool_button_margin_right\"\n @click=\"clearPanelClick\">\n {{ i18n('toolbar.clear') }}\n </my-button>\n <my-button v-if=\"designProps.showSaveButton\" size=\"small\" class=\"toolbar-tool_button_margin_right\"\n :disabled=\"getCurrentPanel().name == null || getCurrentPanel().name == ''\"\n @click=\"save\">{{ i18n('toolbar.save') }}\n </my-button>\n </div>\n </div>\n </div>\n </div>\n\n</template>\n\n<script setup lang=\"ts\">\nimport StyleDesign from './style-design.vue';\nimport { i18n } from '@myprint/design/locales';\nimport { clearPanel, defaultPreviewData, getCurrentPanel } from '@myprint/design/utils/elementUtil';\nimport { ActionEnum, record, Snapshot } from '@myprint/design/utils/historyUtil';\nimport { updatePanel } from '@myprint/design/plugins/moveable/moveable';\nimport { MyPrinter } from '@myprint/design/printer';\nimport { download, mitt } from '@myprint/design/utils/utils';\nimport MyButton from '@myprint/design/components/my/button/my-Button.vue';\nimport MyIcon from '@myprint/design/components/my/icon/my-icon.vue';\nimport Printer from '@myprint/design/components/my/icon/icons/Printer.vue';\nimport { MyMessage } from '@myprint/design/components/my/message/my-message';\n//@ts-ignore\nimport { DesignPanelProps } from '@myprint/design/types/entity';\nimport { useAppStoreHook as appStore } from '@myprint/design/stores/app';\n\nconst useApp = appStore();\nwithDefaults(defineProps<{\n designProps: DesignPanelProps;\n}>(), {});\n\nfunction print() {\n const defaultPrinter = MyPrinter.getDefaultPrinter();\n MyPrinter.clientPrinter({ previewDataList: defaultPreviewData(useApp.previewData), printer: defaultPrinter?.name })\n .then(res => {\n switch (res.status) {\n case 'SUCCESS':\n break;\n case 'TIMEOUT':\n MyMessage.error('打印超时');\n break;\n case 'ERROR':\n MyMessage.error('打印失败,' + res.msg);\n break;\n }\n }).catch(e => {\n MyMessage.error('打印失败,' + e.msg);\n });\n}\n\nfunction serverDownloadPdf() {\n MyPrinter.pdfServer({ previewDataList: defaultPreviewData(useApp.previewData) })\n .then(res => {\n switch (res.status) {\n case 'SUCCESS':\n download(res.blob!, 'myprint.pdf');\n break;\n case 'TIMEOUT':\n MyMessage.error('下载超时');\n break;\n case 'ERROR':\n MyMessage.error('下载失败,' + res.msg);\n break;\n }\n }).catch(e => {\n MyMessage.error('下载失败,' + e.msg);\n });\n}\n\nfunction preview() {\n MyPrinter.chromePreview({ previewDataList: defaultPreviewData(useApp.previewData) });\n}\n\nfunction save() {\n mitt.emit('saveTemplate', {} as any);\n}\n\nfunction clearPanelClick() {\n clearPanel(getCurrentPanel());\n updatePanel();\n record(<Snapshot>{\n action: ActionEnum.CLEAR\n });\n}\n</script>\n"],"names":["appStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,IAAA,MAAM,SAASA,eAAS,EAAA,CAAA;AAKxB,IAAA,SAAS,KAAQ,GAAA;AACb,MAAM,MAAA,cAAA,GAAiB,UAAU,iBAAkB,EAAA,CAAA;AACnD,MAAA,SAAA,CAAU,aAAc,CAAA,EAAE,eAAiB,EAAA,kBAAA,CAAmB,MAAO,CAAA,WAAW,CAAG,EAAA,OAAA,EAAS,cAAgB,EAAA,IAAA,EAAM,CAAA,CAC7G,KAAK,CAAO,GAAA,KAAA;AACT,QAAA,QAAQ,GAAI,CAAA,MAAA;AAAA,UACH,KAAA,SAAA;AACD,YAAA,MAAA;AAAA,UACC,KAAA,SAAA;AACD,YAAA,SAAA,CAAU,MAAM,0BAAM,CAAA,CAAA;AACtB,YAAA,MAAA;AAAA,UACC,KAAA,OAAA;AACD,YAAU,SAAA,CAAA,KAAA,CAAM,gCAAU,GAAA,GAAA,CAAI,GAAG,CAAA,CAAA;AACjC,YAAA,MAAA;AAAA,SAAA;AAAA,OAEX,CAAE,CAAA,KAAA,CAAM,CAAK,CAAA,KAAA;AACd,QAAU,SAAA,CAAA,KAAA,CAAM,gCAAU,GAAA,CAAA,CAAE,GAAG,CAAA,CAAA;AAAA,OAClC,CAAA,CAAA;AAAA,KACL;AAEA,IAAA,SAAS,iBAAoB,GAAA;AACzB,MAAU,SAAA,CAAA,SAAA,CAAU,EAAE,eAAA,EAAiB,kBAAmB,CAAA,MAAA,CAAO,WAAW,CAAE,EAAC,CAC1E,CAAA,IAAA,CAAK,CAAO,GAAA,KAAA;AACT,QAAA,QAAQ,GAAI,CAAA,MAAA;AAAA,UACH,KAAA,SAAA;AACD,YAAS,QAAA,CAAA,GAAA,CAAI,MAAO,aAAa,CAAA,CAAA;AACjC,YAAA,MAAA;AAAA,UACC,KAAA,SAAA;AACD,YAAA,SAAA,CAAU,MAAM,0BAAM,CAAA,CAAA;AACtB,YAAA,MAAA;AAAA,UACC,KAAA,OAAA;AACD,YAAU,SAAA,CAAA,KAAA,CAAM,gCAAU,GAAA,GAAA,CAAI,GAAG,CAAA,CAAA;AACjC,YAAA,MAAA;AAAA,SAAA;AAAA,OAEX,CAAE,CAAA,KAAA,CAAM,CAAK,CAAA,KAAA;AACd,QAAU,SAAA,CAAA,KAAA,CAAM,gCAAU,GAAA,CAAA,CAAE,GAAG,CAAA,CAAA;AAAA,OAClC,CAAA,CAAA;AAAA,KACL;AAEA,IAAA,SAAS,OAAU,GAAA;AACf,MAAA,SAAA,CAAU,cAAc,EAAE,eAAA,EAAiB,mBAAmB,MAAO,CAAA,WAAW,GAAG,CAAA,CAAA;AAAA,KACvF;AAEA,IAAA,SAAS,IAAO,GAAA;AACZ,MAAK,IAAA,CAAA,IAAA,CAAK,cAAgB,EAAA,EAAS,CAAA,CAAA;AAAA,KACvC;AAEA,IAAA,SAAS,eAAkB,GAAA;AACvB,MAAA,UAAA,CAAW,iBAAiB,CAAA,CAAA;AAC5B,MAAY,WAAA,EAAA,CAAA;AACZ,MAAiB,MAAA,CAAA;AAAA,QACb,QAAQ,UAAW,CAAA,KAAA;AAAA,OACtB,CAAA,CAAA;AAAA,KACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}