From 9cd9f58688b2a2555d7bf648395c1b0dc11c00af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?yinjinlu-pc=5C=E5=B0=B9=E9=87=91=E8=B7=AF?=
<411641505@qq.com>
Date: Tue, 11 Jun 2024 16:49:34 +0800
Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=89=93=E5=8D=B0=E6=A8=A1?=
=?UTF-8?q?=E6=9D=BF=E7=9B=B8=E5=85=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 4 +
public/index.html | 1 +
public/print-lock.css | 339 ++++++
src/api/mes/wm/stocktaking.js | 8 +
src/api/print/printerconfig.js | 44 +
src/api/print/template.js | 53 +
src/assets/icons/svg/add.svg | 1 +
src/assets/icons/svg/alignBottom.svg | 1 +
src/assets/icons/svg/alignCenter.svg | 1 +
src/assets/icons/svg/alignLeft.svg | 1 +
src/assets/icons/svg/alignRight.svg | 1 +
src/assets/icons/svg/alignTop.svg | 1 +
src/assets/icons/svg/circle.svg | 1 +
src/assets/icons/svg/clientcode.svg | 1 +
src/assets/icons/svg/clientname.svg | 1 +
src/assets/icons/svg/hline.svg | 1 +
src/assets/icons/svg/horizontal.svg | 1 +
src/assets/icons/svg/itemcode.svg | 1 +
src/assets/icons/svg/itemname.svg | 1 +
src/assets/icons/svg/picture.svg | 1 +
src/assets/icons/svg/qrcode.svg | 1 +
src/assets/icons/svg/rect.svg | 1 +
src/assets/icons/svg/resizeHorizontal.svg | 1 +
src/assets/icons/svg/resizeVertical.svg | 1 +
src/assets/icons/svg/text.svg | 1 +
src/assets/icons/svg/vendorcode.svg | 1 +
src/assets/icons/svg/vendorname.svg | 1 +
src/assets/icons/svg/vline.svg | 1 +
src/assets/icons/svg/workordercode.svg | 1 +
src/assets/icons/svg/workordername.svg | 1 +
src/main.js | 2 +
src/router/index.js | 14 +
src/views/index.vue | 2 +-
src/views/mes/md/vendor/index.vue | 7 +-
src/views/print/printerconfig/index.vue | 351 ++++++
src/views/print/printtemplate/alignBottom.svg | 1 +
src/views/print/printtemplate/font-size.js | 38 +
src/views/print/printtemplate/index.vue | 1025 +++++++++++++++++
src/views/print/printtemplate/list.vue | 353 ++++++
src/views/print/printtemplate/panel.js | 107 ++
src/views/print/printtemplate/preview.vue | 140 +++
src/views/print/printtemplate/print-data.js | 52 +
src/views/print/printtemplate/printData.js | 52 +
src/views/print/printtemplate/scale.js | 31 +
.../print/printtemplate/templateedit.vue | 227 ++++
45 files changed, 2873 insertions(+), 2 deletions(-)
create mode 100644 public/print-lock.css
create mode 100644 src/api/print/printerconfig.js
create mode 100644 src/api/print/template.js
create mode 100644 src/assets/icons/svg/add.svg
create mode 100644 src/assets/icons/svg/alignBottom.svg
create mode 100644 src/assets/icons/svg/alignCenter.svg
create mode 100644 src/assets/icons/svg/alignLeft.svg
create mode 100644 src/assets/icons/svg/alignRight.svg
create mode 100644 src/assets/icons/svg/alignTop.svg
create mode 100644 src/assets/icons/svg/circle.svg
create mode 100644 src/assets/icons/svg/clientcode.svg
create mode 100644 src/assets/icons/svg/clientname.svg
create mode 100644 src/assets/icons/svg/hline.svg
create mode 100644 src/assets/icons/svg/horizontal.svg
create mode 100644 src/assets/icons/svg/itemcode.svg
create mode 100644 src/assets/icons/svg/itemname.svg
create mode 100644 src/assets/icons/svg/picture.svg
create mode 100644 src/assets/icons/svg/qrcode.svg
create mode 100644 src/assets/icons/svg/rect.svg
create mode 100644 src/assets/icons/svg/resizeHorizontal.svg
create mode 100644 src/assets/icons/svg/resizeVertical.svg
create mode 100644 src/assets/icons/svg/text.svg
create mode 100644 src/assets/icons/svg/vendorcode.svg
create mode 100644 src/assets/icons/svg/vendorname.svg
create mode 100644 src/assets/icons/svg/vline.svg
create mode 100644 src/assets/icons/svg/workordercode.svg
create mode 100644 src/assets/icons/svg/workordername.svg
create mode 100644 src/views/print/printerconfig/index.vue
create mode 100644 src/views/print/printtemplate/alignBottom.svg
create mode 100644 src/views/print/printtemplate/font-size.js
create mode 100644 src/views/print/printtemplate/index.vue
create mode 100644 src/views/print/printtemplate/list.vue
create mode 100644 src/views/print/printtemplate/panel.js
create mode 100644 src/views/print/printtemplate/preview.vue
create mode 100644 src/views/print/printtemplate/print-data.js
create mode 100644 src/views/print/printtemplate/printData.js
create mode 100644 src/views/print/printtemplate/scale.js
create mode 100644 src/views/print/printtemplate/templateedit.vue
diff --git a/package.json b/package.json
index fd08a43..ac13423 100644
--- a/package.json
+++ b/package.json
@@ -47,6 +47,7 @@
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
+ "html2canvas": "^1.4.1",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
@@ -58,6 +59,7 @@
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "2.4.0",
+ "vue-plugin-hiprint": "^0.0.54-fix",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0"
@@ -73,6 +75,8 @@
"connect": "3.6.6",
"eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0",
+ "less": "^4.2.0",
+ "less-loader": "^11.1.3",
"lint-staged": "10.5.3",
"runjs": "4.4.2",
"sass": "1.32.13",
diff --git a/public/index.html b/public/index.html
index 925455c..ee2e6e4 100644
--- a/public/index.html
+++ b/public/index.html
@@ -6,6 +6,7 @@
+
<%= webpackConfig.name %>
\ No newline at end of file
diff --git a/src/views/print/printtemplate/alignBottom.svg b/src/views/print/printtemplate/alignBottom.svg
new file mode 100644
index 0000000..4d914f4
--- /dev/null
+++ b/src/views/print/printtemplate/alignBottom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/print/printtemplate/font-size.js b/src/views/print/printtemplate/font-size.js
new file mode 100644
index 0000000..3bce5b5
--- /dev/null
+++ b/src/views/print/printtemplate/font-size.js
@@ -0,0 +1,38 @@
+export default (function () {
+ function t() {
+ this.name = "fontSize"; // 重写的参数 key
+ }
+ // 涉及修改元素样式, 添加一个 css 方法
+ return t.prototype.css = function (t, e) {
+ if (t && t.length) {
+ if (e) return t.css("font-size", e + "pt"), "font-size:" + e + "pt";
+ t[0].style.fontSize = "";
+ }
+ return null;
+ },
+ // 创建 DOM
+ t.prototype.createTarget = function () {
+ let list = [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];
+ let fontSizeList = '\n ';
+ list.forEach(function (e) {
+ fontSizeList += '\n ';
+ })
+ this.target = $(' ');
+ this.target.find(".auto-submit").append($(fontSizeList));
+ return this.target;
+ },
+ // 获取值
+ t.prototype.getValue = function () {
+ var t = this.target.find("select").val();
+ if (t) return parseFloat(t.toString());
+ },
+ // 设置值
+ t.prototype.setValue = function (t) {
+ t && (this.target.find('option[value="' + t + '"]').length || this.target.find("select").prepend('"));
+ this.target.find("select").val(t);
+ },
+ // 销毁 DOM
+ t.prototype.destroy = function () {
+ this.target.remove();
+ }, t;
+}())
diff --git a/src/views/print/printtemplate/index.vue b/src/views/print/printtemplate/index.vue
new file mode 100644
index 0000000..9b3c62c
--- /dev/null
+++ b/src/views/print/printtemplate/index.vue
@@ -0,0 +1,1025 @@
+
+
+
+
+
+
+
+
+ {{ type }}
+
+
+
+
+
+
+
+
+
+ 确定
+ 自定义纸张
+
+
+
+
+
+
+
+ 旋转
+
+ 预览
+
+
+ 保存
+
+
+
+ 清空
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 基础组件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 辅助
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 表单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/print/printtemplate/list.vue b/src/views/print/printtemplate/list.vue
new file mode 100644
index 0000000..7c08467
--- /dev/null
+++ b/src/views/print/printtemplate/list.vue
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{
+ item.templateName
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{dict.label}}
+
+
+
+
+
+
+ {{dict.label}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/print/printtemplate/panel.js b/src/views/print/printtemplate/panel.js
new file mode 100644
index 0000000..1c33b6f
--- /dev/null
+++ b/src/views/print/printtemplate/panel.js
@@ -0,0 +1,107 @@
+export default {
+ "panels": [{
+ "index": 0,
+ "height": 297,
+ "width": 210,
+ "paperHeader": 0,
+ "paperFooter": 0,
+ // "watermarkOptions": {
+ // "content": "vue-plugin-hiprint",
+ // "rotate": 25,
+ // "timestamp": true,
+ // "format": "YYYY-MM-DD HH:mm"
+ // },
+ "printElements": [{
+ "options": {
+ "left": 175.5,
+ "top": 10.5,
+ "height": 27,
+ "width": 259,
+ "title": "苦糖果标签打印测试",
+ "fontSize": 19,
+ "fontWeight": "600",
+ "textAlign": "center",
+ "lineHeight": 26,
+ "coordinateSync": true,
+ "widthHeightSync": true,
+ "draggable": true,
+ }, "printElementType": {"title": "自定义文本", "type": "text"}
+ }, {
+ "options": {"left": 25.5, "top": 57, "height": 705, "width": 9, "fixed": true, "borderStyle": "dotted"},
+ "printElementType": {"type": "vline"}
+ }, {
+ "options": {"left": 60, "top": 61.5, "height": 48, "width": 87, "src": "", "fit": "contain"},
+ "printElementType": {"title": "图片", "type": "image"}
+ }, {
+ "options": {
+ "left": 60,
+ "top": 285,
+ "height": 56,
+ "width": 511.5,
+ "field": "table",
+ "tableFooterRepeat": "",
+ "fields": [{"text":'id',"field":'id'},{"text":'姓名',"field":'name'},{"text":'性别',"field":'gender'},{"text":'数量',"field":'count'}],
+ "columns": [[{"width": 85.25, "colspan": 1, "rowspan": 1, "checked": true}, {
+ "title": "性别",
+ "field": "gender",
+ "width": 85.25,
+ "colspan": 1,
+ "rowspan": 1,
+ "checked": false
+ }, {
+ "title": "姓名",
+ "field": "name",
+ "width": 85.25,
+ "align": "center",
+ "colspan": 1,
+ "rowspan": 1,
+ "checked": true,
+ "tableSummary": "count"
+ }, {
+ "title": "数量",
+ "field": "count",
+ "width": 85.25,
+ "align": "center",
+ "colspan": 1,
+ "rowspan": 1,
+ "checked": true,
+ "tableSummary": "sum"
+ }, {
+ "width": 85.25,
+ "colspan": 1,
+ "rowspan": 1,
+ "checked": true
+ }, {"width": 85.25, "colspan": 1, "rowspan": 1, "checked": true}]]
+ }, "printElementType": {
+ "title": "表格", "type": "table",
+ // editable: true,
+ // columnDisplayEditable: true,//列显示是否能编辑
+ // columnDisplayIndexEditable: true,//列顺序显示是否能编辑
+ // columnTitleEditable: true,//列标题是否能编辑
+ // columnResizable: true, //列宽是否能调整
+ // columnAlignEditable: true,//列对齐是否调整
+ // isEnableEditField: true, //编辑字段
+ // isEnableContextMenu: true, //开启右键菜单 默认true
+ // isEnableInsertRow: true, //插入行
+ // isEnableDeleteRow: true, //删除行
+ // isEnableInsertColumn: true, //插入列
+ // isEnableDeleteColumn: true, //删除列
+ // isEnableMergeCell: true, //合并单元格
+ }
+ }, {
+ "options": {"left": 475.5, "top": 565.5, "height": 100, "width": 100},
+ "printElementType": {"title": "矩形", "type": "rect"}
+ }, {
+ "options": {"left": 60, "top": 574.5, "height": 100, "width": 10},
+ "printElementType": {"title": "竖线", "type": "vline"}
+ }, {
+ "options": {"left": 130.5, "top": 625.5, "height": 10, "width": 277},
+ "printElementType": {"title": "横线", "type": "hline"}
+ }, {
+ "options": {"left": 12, "top": 786, "height": 49, "width": 49},
+ "printElementType": {"title": "html", "type": "html"}
+ }],
+ //"paperNumberLeft": 565.5,
+ //"paperNumberTop": 819
+ }]
+}
diff --git a/src/views/print/printtemplate/preview.vue b/src/views/print/printtemplate/preview.vue
new file mode 100644
index 0000000..db1b44c
--- /dev/null
+++ b/src/views/print/printtemplate/preview.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 关闭
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/print/printtemplate/print-data.js b/src/views/print/printtemplate/print-data.js
new file mode 100644
index 0000000..fc073da
--- /dev/null
+++ b/src/views/print/printtemplate/print-data.js
@@ -0,0 +1,52 @@
+export default {
+ name: '黄磊',
+ logoTest: 'https://portrait.gitee.com/uploads/avatars/user/1800/5400665_CcSimple_1591166830.png!avatar60',
+ password: '12346',
+ longText: '浙江在线3月29日讯最近,\n一篇小学五年级学生写的作文引起了钱报记者的关注这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文',
+ table: [
+ {id: '1', name: '王小可', gender: '男', count: '120', amount: '9089元'},
+ {id: '2', name: '梦之遥', gender: '女', count: '20', amount: '89元'},
+ {id: '3', name: '梦之遥', gender: '女', count: '720', amount: '29089元'},
+ {id: '4', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '5', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '6', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '7', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '8', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '9', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '10', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '11', name: '王小可', gender: '男', count: '120', amount: '9089元'},
+ {id: '12', name: '梦之遥', gender: '女', count: '20', amount: '89元'},
+ {id: '13', name: '梦之遥', gender: '女', count: '720', amount: '29089元'},
+ {id: '14', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '15', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '16', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '17', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '18', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '19', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '20', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '21', name: '王小可', gender: '男', count: '120', amount: '9089元'},
+ {id: '22', name: '梦之遥', gender: '女', count: '20', amount: '89元'},
+ {id: '23', name: '梦之遥', gender: '女', count: '720', amount: '29089元'},
+ {id: '24', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '25', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '26', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '27', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '28', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '29', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '21', name: '王小可', gender: '男', count: '120', amount: '9089元'},
+ {id: '22', name: '梦之遥', gender: '女', count: '20', amount: '89元'},
+ {id: '23', name: '梦之遥', gender: '女', count: '720', amount: '29089元'},
+ {id: '24', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '25', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '26', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '27', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '28', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '29', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '21', name: '王小可', gender: '男', count: '120', amount: '9089元'},
+ {id: '22', name: '梦之遥', gender: '女', count: '20', amount: '89元'},
+ {id: '23', name: '梦之遥', gender: '女', count: '720', amount: '29089元'},
+
+ {id: '29', name: '黄小菊', gender: '女', count: '420', amount: '19089元'},
+ {id: '30', name: '黄小菊', gender: '女', count: '420', amount: '19089元'}
+ ]
+};
diff --git a/src/views/print/printtemplate/printData.js b/src/views/print/printtemplate/printData.js
new file mode 100644
index 0000000..4a4876f
--- /dev/null
+++ b/src/views/print/printtemplate/printData.js
@@ -0,0 +1,52 @@
+export default {
+ name: "黄磊",
+ logoTest: "https://portrait.gitee.com/uploads/avatars/user/1800/5400665_CcSimple_1591166830.png!avatar60",
+ password: "12346",
+ longText:
+ "浙江在线3月29日讯最近,\n一篇小学五年级学生写的作文引起了钱报记者的关注这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文《脏话风波》浙江在线3月29日讯最近,一篇小学五年级学生写的作文引起了钱报记者的关注。这篇作文的题目叫做《脏话风波》,讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文讲述的是小作者班级里发生的一种不文明现象——讲脏话的同学越来越多,有的人说话甚至句句“带把儿”。班主任为了遏制这种现象,煞费苦心想了很多办法,跟学生斗智斗勇……看到这篇作文,记者突然想到,自己读六年级的儿子有天突然冒出一句脏话。此前,他是从不说脏话的。问他怎么学会的,他也说不出个所以然来。于是,记者做了这个小学生脏话现象调查。经过了解才发现,小学生爱说脏话竟然较为普遍,一般三年级会冒出苗头。无论是学习成绩好的,还是平时不太起眼的,都会说脏话。而且,说脏话会“传染”,一旦冒头不制止,到了五六年级甚至可能在班里大爆发。以下为作文",
+ table: [
+ { id: "1", name: "王小可", gender: "男", count: "120", amount: "9089元" },
+ { id: "2", name: "梦之遥", gender: "女", count: "20", amount: "89元" },
+ { id: "3", name: "梦之遥", gender: "女", count: "720", amount: "29089元" },
+ { id: "4", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "5", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "6", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "7", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "8", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "9", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "10", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "11", name: "王小可", gender: "男", count: "120", amount: "9089元" },
+ { id: "12", name: "梦之遥", gender: "女", count: "20", amount: "89元" },
+ { id: "13", name: "梦之遥", gender: "女", count: "720", amount: "29089元" },
+ { id: "14", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "15", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "16", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "17", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "18", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "19", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "20", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "21", name: "王小可", gender: "男", count: "120", amount: "9089元" },
+ { id: "22", name: "梦之遥", gender: "女", count: "20", amount: "89元" },
+ { id: "23", name: "梦之遥", gender: "女", count: "720", amount: "29089元" },
+ { id: "24", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "25", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "26", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "27", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "28", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "29", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "21", name: "王小可", gender: "男", count: "120", amount: "9089元" },
+ { id: "22", name: "梦之遥", gender: "女", count: "20", amount: "89元" },
+ { id: "23", name: "梦之遥", gender: "女", count: "720", amount: "29089元" },
+ { id: "24", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "25", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "26", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "27", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "28", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "29", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "21", name: "王小可", gender: "男", count: "120", amount: "9089元" },
+ { id: "22", name: "梦之遥", gender: "女", count: "20", amount: "89元" },
+ { id: "23", name: "梦之遥", gender: "女", count: "720", amount: "29089元" },
+ { id: "29", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ { id: "30", name: "黄小菊", gender: "女", count: "420", amount: "19089元" },
+ ],
+};
diff --git a/src/views/print/printtemplate/scale.js b/src/views/print/printtemplate/scale.js
new file mode 100644
index 0000000..f2b987b
--- /dev/null
+++ b/src/views/print/printtemplate/scale.js
@@ -0,0 +1,31 @@
+export default (function () {
+ function t() {
+ // json模板 options 对应键值 key
+ this.name = "scale";
+ }
+ // 涉及修改元素样式, 添加一个 css 方法
+ // t: 元素对象, e 参数值
+ return t.prototype.css = function (t, e) {
+ if (t && t.length) {
+ if (e) return t.css('transform', 'scale(' + e + ')');
+ }
+ return null;
+ },
+ // 创建 DOM
+ t.prototype.createTarget = function (t, i, e) { // t: 元素对象,i: 元素options, e: 元素printElementType
+ return this.target = $(''), this.target;
+ },
+ // 获取值
+ t.prototype.getValue = function () {
+ var t = this.target.find("input").val();
+ if (t) return parseFloat(t.toString());
+ },
+ // 设置值
+ t.prototype.setValue = function (t) { // t: options 对应键的值
+ this.target.find("input").val(t);
+ },
+ // 销毁 DOM
+ t.prototype.destroy = function () {
+ this.target.remove();
+ }, t;
+}())
diff --git a/src/views/print/printtemplate/templateedit.vue b/src/views/print/printtemplate/templateedit.vue
new file mode 100644
index 0000000..540edeb
--- /dev/null
+++ b/src/views/print/printtemplate/templateedit.vue
@@ -0,0 +1,227 @@
+
+
+
+
+ 保存
+
+
+ 打印
+
+
+ 取消
+
+
+
+
+
+
+
+
基础元素
+
+
+ 文本
+
+
+
+ 图片
+
+
+
+ 长文
+
+
+
+ 表格
+
+
+
+ html
+
+
+
+ 自定义
+
+
辅助元素
+
+
+ 横线
+
+
+
+ 竖线
+
+
+
+ 矩形
+
+
+
+ 圆形
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file