zydx-plus 1.30.176 → 1.31.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zydx-plus",
3
- "version": "1.30.176",
3
+ "version": "1.31.176",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -40,7 +40,8 @@
40
40
  "@tiptap/extension-link": "^2.0.3",
41
41
  "@vue-office/docx": "^1.1.3",
42
42
  "@vue-office/excel": "^1.1.3",
43
- "fabric": "^5.3.0"
43
+ "fabric": "^5.3.0",
44
+ "js-export-word": "^1.0.5"
44
45
  },
45
46
  "peerDependencies": {
46
47
  "vue": "^3.2.13"
@@ -0,0 +1,6 @@
1
+ import main from './src/word';
2
+
3
+ main.install = function(Vue) {
4
+ Vue.component(main.name, main);
5
+ };
6
+ export default main;
@@ -0,0 +1,24 @@
1
+ .page-cont{
2
+ width: 794px;
3
+ margin: 0 auto;
4
+ position: relative;
5
+ }
6
+ .page-cont-html{
7
+ width: 100%;
8
+ height: 1123px;
9
+ padding: 100px;
10
+ background-color: #fff;
11
+ box-sizing: border-box;
12
+ position: relative;
13
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
14
+ margin: 20px 0;
15
+ }
16
+ .page-cont-num{
17
+ position: absolute;
18
+ bottom: 25px;
19
+ left: 50%;
20
+ z-index: 1;
21
+ font-size: 14px;
22
+ transform: translateX(-50%);
23
+ color: #999;
24
+ }
@@ -0,0 +1,91 @@
1
+ <template>
2
+ <div class="word-cont">
3
+ <div class="word-slot" :style="page?style:{}" id="test">
4
+ <slot></slot>
5
+ </div>
6
+ <div class="word-page" v-if="page">
7
+ <div class="page-cont" v-for="(item,index) in htmlArr">
8
+ <div class="page-cont-html" v-html="item"></div>
9
+ <div class="page-cont-num">{{ index + 1 }}/{{ htmlArr.length }}</div>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import exportWord from 'js-export-word'
17
+
18
+ export default {
19
+ name: "zydx-paper",
20
+ data() {
21
+ return {
22
+ htmlArr: []
23
+ }
24
+ },
25
+ props: {
26
+ page: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ fileName: {
31
+ type: String,
32
+ default: '试卷'
33
+ }
34
+ },
35
+ computed: {
36
+ style() {
37
+ return {
38
+ position: 'fixed',
39
+ top: '-9999px',
40
+ left: 0,
41
+ zIndex: -1,
42
+ opacity: 0
43
+ }
44
+ }
45
+ },
46
+ mounted() {
47
+ this.$nextTick(() => {
48
+ this.init()
49
+ })
50
+ },
51
+ methods: {
52
+ init() {
53
+ const slot = this.$slots.default()[0]
54
+ let max = 1123
55
+ let pHeight = 0
56
+ let html = ''
57
+ for (let i = 0; i < slot.children.length; i++) {
58
+ const data = document.getElementsByClassName(slot.children[i].props.class)
59
+ let text = data[0].offsetHeight
60
+ if((pHeight + text) > max) {
61
+ this.htmlArr.push(html)
62
+ pHeight = 0
63
+ html = ''
64
+ }
65
+ pHeight += text
66
+ html += data[0].outerHTML
67
+ if(i === slot.children.length - 1) {
68
+ this.htmlArr.push(html)
69
+ pHeight = 0
70
+ html = ''
71
+ break
72
+ }
73
+ }
74
+ },
75
+ exportToWord() {
76
+ const wrap = document.getElementById('test')
77
+ const config = {
78
+ addStyle: true, // 是否导出样式,默认为true,此操作会将所有样式转换成行内样式导出
79
+ fileName: this.fileName, // 导出文件名
80
+ // toImg:['.need-to-img','.bg-danger'], // 页面哪些部分需要转化成图片,例如echart图表之类
81
+ success() {
82
+ console.log('导出成功')
83
+ } // 完成之后回调,一般页面篇幅比较大,时间比较长
84
+ }
85
+ exportWord(wrap, config)
86
+ }
87
+ }
88
+ }
89
+ </script>
90
+
91
+ <style scoped src="./word.css"></style>
package/src/index.js CHANGED
@@ -30,6 +30,7 @@ import word from './components/word/index';
30
30
  import sketchpad from './components/sketchpad/index';
31
31
  import pictureViewer from './components/pictureViewer/index';
32
32
  import lessonTemplate from './components/lesson_template/index';
33
+ import paper from './components/word2/index';
33
34
 
34
35
  const components = [
35
36
  Calendar,
@@ -61,7 +62,8 @@ const components = [
61
62
  word,
62
63
  sketchpad,
63
64
  pictureViewer,
64
- lessonTemplate
65
+ lessonTemplate,
66
+ paper
65
67
  ];
66
68
 
67
69
  function install(app) {
@@ -73,7 +75,7 @@ function install(app) {
73
75
  }
74
76
 
75
77
  export default {
76
- version: '1.30.176',
78
+ version: '1.31.176',
77
79
  install,
78
80
  Calendar,
79
81
  Message,
@@ -106,6 +108,7 @@ export default {
106
108
  word,
107
109
  sketchpad,
108
110
  pictureViewer,
109
- lessonTemplate
111
+ lessonTemplate,
112
+ paper
110
113
  };
111
114