zydx-plus 1.20.120 → 1.20.122

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.20.120",
3
+ "version": "1.20.122",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -23,7 +23,6 @@
23
23
  "vue-draggable-next": "^2.1.1",
24
24
  "pdfjs-dist": "^2.0.943",
25
25
  "@wangeditor/editor": "^5.1.23",
26
- "@wangeditor/plugin-upload-attachment": "^1.1.0",
27
26
  "snabbdom": "^3.5.1",
28
27
  "@wangeditor/plugin-formula": "^1.0.11",
29
28
  "katex": "^0.15.6",
@@ -1,28 +1,41 @@
1
1
  <template>
2
2
  <we-toolbar v-show="!readOnly && toolbar.length > 0" class="toolbar" :handle="handle"/>
3
- <we-editable class="editable" :style="{'min-height': height + 'px'}" :handle="handle" v-model:json="formData.html"/>
3
+ <we-editable v-show="!readOnly" class="editable" :style="{'min-height': height + 'px'}" :handle="handle" v-model:json="formData.html"/>
4
4
  <div class="but" v-if="!readOnly && toolbar.length > 0">
5
5
  <button class="def-but" v-if="butShow" @click="confirm">完成</button>
6
6
  </div>
7
+ <div class="read-only" v-if="readOnly">
8
+ <div class="read-only-page" v-for="(item,index) in htmlArr" >
9
+ <div class="read-only-p" v-html="item"></div>
10
+ <div class="read-only-a">{{ index + 1 }}/{{ htmlArr.length }}</div>
11
+ </div>
12
+ </div>
7
13
  </template>
8
14
  <script>
9
15
  import '@wangeditor/editor/dist/css/style.css'
10
16
  import {defineComponent, shallowReactive} from 'vue'
11
17
  import {Boot} from '@wangeditor/editor'
12
- import attachmentModule from '@wangeditor/plugin-upload-attachment'
13
18
  import formulaModule from '@wangeditor/plugin-formula'
14
19
  import {menuModule} from './menu'
15
20
  import {nodeModule} from './node'
16
21
  import {useWangEditor, WeEditable, WeToolbar} from './wangeditor5-for-vue3/index'
17
22
 
18
- Boot.registerModule(attachmentModule)
23
+
19
24
  Boot.registerModule(formulaModule)
20
25
  Boot.registerModule(nodeModule)
21
26
  Boot.registerModule(menuModule)
22
27
 
28
+ const pdf = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAGhtJREFUeF7tnQlclNX6x39ssgsoS+aWuSJuqbiUW5oLeOtqV1TUFk2LbqZppVaW3WuZuKBpLqX+tUzzpgJlarlk6LiCIe4ohoC4AEKCssP8P+d1ZpwZtpdh5l3mfc7nwweYOec8z/N7zvfzzpn3nPPagAopQApUqYANaUMKkAJVK0CA0OggBapRgACh4UEKECA0BkgB0xSgK4hpulErhShAgCgk0RSmaQoQIKbpRq0UogABopBEU5imKUCAmKYbtVKIApIBJCco6CnY2HSxsbEJVKvVfQB0VEgORA3TdsSIh/avXw/1WLBgm6jOSNC46ID8PXx4CIAZarW6twT1sXqXbIcMAVxcoC4uLrO5ceMlj4ULf7D6oGsRoKiA5AQH/wiAAUJFJAW0gHDmi4vLQJAYZEI0QHKCg9UijQkyq6eAASBaSNLSXvYID99KQgGiAJITHLwcwHRKgPgKVADk0ZXkFY+FC7eI76G4HggOCJtzqNVq9tGKigQUqBQQDSRlaWmvNggP/14CbormgqCAZA8b1snG1nY/AF/RIibDBgpUCYgGkvLU1IleixZtVqpsggLyd3DwZDWwTqliSzHuagHRftxKT5/o8cUXioREUEBygoOXApgpxYGiVJ9qBOTRxH2SR3j4d0rTSVBAsoOD99oAw5QmspTj5QWIBhKb1NTX6i9a9K2U4zG3b4ICkhMcfB1Ac3MHQf2ZrgBvQLRzkpSUyV6LF28y3aK8WgoNCN37kNj4qBUgjybuU7wWLdoosVAs4g4BYhFZ5dNprQF59HFrSn0FQEKAyGcsW8RTkwABoC4qKlenpk7xWrz4/yzimEQ6JUAkkgix3DAVEOYvgwQpKa97LlmyQSz/LW2XALG0whLvvy6AcKGxK8n16294Ll26XuKhmuQeAWKSbNbTqM6AaCApTU4OaxgRYXU3gQkQ6xnrJkViFkAeTtzL1X/9FeZpZZAQICYNK+tpZDZAtJAkJ7/puXTpN9aiEAFiLZk0MQ6zAqKBJPrgwcWvREXNMdElSTUjQCSVDuGdMTsgALLz8nBcpVo4LirqA+EjMq9FAsS8esquN0sAwkRgkJxQqcJDZX4lIUBkN6TN67ClANFBcuxYeOjOnbL9uEWAmHe8ya43SwKiheTk0aOLxkZGzpadOBB4Tzod1CC9IWJpQLSQHFepFo+LipolPQWq94iuIHLLmJn9FQIQHSTHji0et3OnrCAhQMw84OTWnVCA6M1JloTu3Pm+XHQiQOSSKQv5KSQgcoSEALHQwJNLt0IDojdxXzo2MvI9qetEgEg9Qxb2TwxAdJCoVBFjo6LetXCIdeqeAKmTfPJvLBYgWkhiVaqI0RKGhACR/xivUwRiAiIHSAiQOg0v+TcWGxAtJKdUqmVjoqIkd2YaASL/MV6nCKQAiBaSOJVqWYjEICFA6jS85N/YdvBgwNVVEoGwBY5xR44sD4mOniEJh2ipiVTSIJ4fNr17w8bPTzwHjCwzSGKPHPlydHT0O1Jwiq4gUsiCmD74+8O2bVsxPahgm7uSqFQrQqKiRH+GDAEiqaEhgjMNG8K2b18RDFdvkkFyWqVaMUpkSAgQyQ0N4R2yHTAA8PQU3nANFqUACQEiuWEhvEPxrq7oxibrEizcx62jR1eGREZOE8M9AkQM1SVo80a7dmjWrp0EPXu4fff00aNfjYqMfFtoBwkQoRWXsL3Mrl3h16yZJD3UfNxaNSoqaqqQDhIgQqotA1s327dHkzZtJOmp5j7J6pDo6LeEcpAAEUppGdk57+kJ1/bt0dJXms9a/X3Xrmkjd+1aKYSkBIgQKsvQxq8ZGdhaVoYhHTui2xNPoE2jRnCws5NEJASIJNJATjBIQuPiJCfEmk6dQt88e3abEI7RFUQIlWVsQ4qQECAyHlDW6LrUICFArHGUyTwmKUFCgMh8MFmr+1KB5PXmzed/k5LyiRA60xxECJWtyIYUICFArGhAWWMoYkNCgFjjqLKymMSEhACxssFUXTh2bdvCoXt3rkrp6dMovXxZNtGLBQkBIpshUjdHHYcPh/O//23QSXl2NkoTElC4ZQvKb92qmwEBWosBCQEiQGLFNmHr7Y36335r4EbZlSuw0ywULNqxAwUbN4rtJi/7QkNCgPBKi7wrOfTpA9cPHj3Cr2DtWpSlpcHt88+5wMoSE5E3U3LHRFUpupCQECDyHvu8vHcKDYXThAm6urlTpqD85k0OGgaPOi8P98aO5dWXVCoJBQkBIpWMW9APp5AQOL36qs7C38OHc39rryzq4mLcGznSgh5YpmshICFALJM7SfXqOHIknCdP1vnU19sbQ319MbBzZzz9ww9Q//037o0fLymf+TpjaUgIEL6ZkHE9x+efh3NYmC4CG5uHixqcnJxQUFCAvNRUlL35pmwjtCQkBIhshwV/x2/16wf/2Y8e/DojKAi5Fy9iV0EBMjIy8FdCAhp8+CH/DiVY01KQECASTLa5XVJ16YJ/aL6xYn3HLVqEVjExePXePUSrVDi4eze6rV5tbrOC92cJSAgQwdMovMH9/v4IWbJEZ/jBgQMoWbYMq0pK8NG+fZgzZw7mnDsnvGMWsGhuSAgQCyRJal3ub9UKIV9+qXOr/MYN5L7xBlR37+IfJ04geOBAbHV2lprbJvtjTkgIEJPTIJ+GB554AqNWrTJw+N7o0UjJyoL399/jmXbtEC/BM3ProrC5ICFA6pIFmbT9vWlTvLh2rYG39z/+GKV//okjYWGYM348jloZICxYc0BCgMhkkNfFzUONGmHk+vUGXRRu3owrGzciqn9//Prll9jbu3ddTEi2bV0hIUAkm1rzObbP0RGjIyMNOiw5eRK/TZ+Or3184HP2LCI6dDCfQYn1VBdICBCJJdMS7uzKzcVLR44YdK0uKMC1F15AvwsX8JGPD8Y3aWIJ05Lp01RICBDJpNByjuy6fRv/PHQI9evXN5yHzJoF98WLcaJfP7R1c7OcAxLp2RRICBCJJM+SbvyWkYEOmzYhICDAcB6ydSu6h4VBZYUT9Kr0rC0kBIglR6ZE+v49KwsOc+fi+eefN/Co9NIlTBg8GGs7d5aIp8K4URtICBBhciKqFXZD8HRQEObNm1fBj9XBwRinWbwoqpMCG+cLCQEicGLEMJecn49P3Nywa9euCubPrViBpr/9JoZbotvkAwkBInqaLO9AUXk51j3zDObOnVvBWOGlSyh87z3LOyFRCzVBQoBINHHmduveV1+heYsWlXZ7/6OPUHrmjLlNyqa/6iAhQGSTRtMddQgMhOunn1bZQdGePSgwWqtlujV5tqwKEgJEnvmsldcuM2ag3nPPVdlGfe8e8t56C+U5ObXq19oqVwYJAWJtWTaKx9bXF+5r1sDGyanaSAu//RaFP/5o5WrUHJ4xJARIzZrJuobjiy/C+bXXaoyhPD0deW+/DXVRUY11rb2CPiQEiJVn223pUti3a1chypycHHh5eRm8XrBmDYp++cXKFeEXnhYSAoSfXrKsZd+1K9zmz6/ge3JyMiIjI/Huu+8avFeWnIz7c+dyxwBRebif5FBmJj1Ax1oHg8vbb6PesGEVwvvggw84QBITEyu8V/z778hfutRaJal1XN8kJ8+YfenS8lo3NKEBPWHKBNFMbWLboMHDybnRKl0GxdNPP43s7Gxs27YNY8aMqWCiYMMGFBntHzHVD7m3I0DknsEq/Dc+LE5bbfr06VixYgX37/Dhw/FLFXOOB59+ipLYWCtVh39YBAh/rWRV0y08HPZGuwQvXryIbt26obCwUBfLrFmzEB4eXiG28jt3kDtpkqxitoSzBIglVBW5T/uOHeG2cGEFLyZPnowNGzZwrwe4u+NCXh7397p168DeMy7sUAd2uIOSCwFihdl3fustOAYHG0R29uxZdNbs++jp5YV/Pf44Zl24wNVxdnbGnj17MGDAgApqFEVHo2DdOitUiV9IBAg/nWRTy7ZJE7ivXAmbevUMfB43bhx++OEH7rU1nTvjxUaN0OPwYaTk53OvdejQAT///DNaVLKgseToUTxYsEA2GpjTUQLEnGpKoC/2HBD2PBD9Eh8fj65du3IvPevtjcgePbi/lyQl4fMrV3RVn3vuOezYsQMeHh4VImGPbMuPiOCeTKWkQoBYUbZtPD25qwf7ile/jBgxAj/99BP30qauXfHPxx7j/i4sK0NIXBx3BKm2TJgwAZs3b65UFXYDMX/VKpQcOwaHnj1Rlp4OdoypNRcCxIqy6zhqFJwnTjSIKDY2Fj00V4wgPz9s7dbN4H02UQ+JjcUtvW+2pk2bhi/1zvI1lqj4t99QuGMHnEaNgkPv3ii7cYMDhQMmLc2qwCFArAUQe3u4f/UV7Jo2NYgoKCgIv/76K/faj4GBGOzjUyFidizQy3/+qXu9b9++GDRoUKV72LWV2NL4ou3b4fDMM7A3Oi1FV+fOHZRnZIB9Zcz9aP5mh0WgtFQWyhMgskhTzU6yJSVsaYl+OXHiBHprjhRlk/INTz1VaUd2LVtC5eeHooAADBw4sML5WdVZLz17FuV376Les8/W7KRejdJz58BAKUtKAvsSQKqFAJFqZmrpl9uSJbD39zdoNXjwYBw4cIB7bVfPnujTsCH3t13z5rDz94d9+/bczURbP79aWjOsXp6djcItW2BjawvH0NAKc6CaOmeQFO3di2LNla6m+kK+T4AIqbaFbBk/B52ZOXr0KPr06cNZDG3SBF+PGAGH7t1h37Nnpcvf6+xaaSmKdu1Cwfr13AJJx6Ag2LVqVatupQgKAVKrFEqzMttvzvad6xf2UYnt+WA3/z4ODUUDzUS9rhHcunwZ7mlpSDp/HlfPnUO/N96AX8+eum7ZN13ar4LZgC8+cgTq7OyHOxqdnLjfNl5esPX0hG3TpnDo0QO23t4GbrErSf7KlXV11SztCRCzyCheJ/ZdusBN7/mDzJOYmBgOjuDgYNQzumHI19P8+/dxOj4eZ86cAbuPwn6zH7Vajdaurghr0QJsefbM8+cRGBiId2fMwJjQ0Eq7L/7jDxQfOIDS+PhK32ffhDm99BL30U9b7s+ZAzZPEbsQIGJnoI72Xd57r9YTZGOT6rw8bsKcefky4uLj8fPx49gaF4eCsrJqvevdoAF6e3kh4to1rl779u0xadIksHspfpXMa+IPHcLtuDi4XbyIFjdvws3eXte/rZcXnF5+GfWGDOEe7COVNWAESB0HqJjN7Vq3hvvy2u/lYfvPS69eRdGFCzihUmFPbCwOZWUh4d49k8KZ07o1zubmYs+dO1x7Hx8fhISEcD+Vre9iddjasMTjx5F18iRaXr6MHprtv3bNmqEsNdUkPyzRiACxhKoC9VnTcT5aN8oSE1GamIiyq1dxLT4eBxISoMrOxuGsLGQVF5vFWwbJ6MaNEZGUhO/17q4zQLSwMHAqK0lJSbgUEwPXhAR01VyNzOKUGTohQMwgohhdVDb30PpRVFSEa8eOoUVSEkoTEnD6zBnsvnMHR+7exUkznX3lYmeHrp6eBstU2NfIQ3x88JSHB/ZlZuKM3hXJzdMTgQMGILB/f3Tu3x9NmzWrVLYbf/2FgthY+Hz3nRiyVrBJgEgiDbV3wvXjj+HQq5dBw7t372LmzJn4MyYGK5s0wbdpadxHJ+2K3dpbediCTcYZDGzgd2U/np66B+6cysnBsmvXuAMOjEt7d3dMbNaMe3qVs53do7dtbZHbqRPK+vVDi6FDK3XrwvTpaJyUZKrLZmtHgJhNSuE6quy+B7POJsdbtmyBo60t2IHVphY2sDkYNFCwv2sq53NzsSE1Ff9LT68wuW/l6opxTZpwoPg6Ohp0xeZR5aNGwUNzz4a9uXz5crTatk13Y7Mm25Z8nwCxpLpm7tvG3R3sGye2W5DtGtQvGzdu5L5Bqm150sUFXTw9H14ZNFAwwEwtf+XnY3t6Oralp+O6Zq+Jti8PBwf0a9gQfRs25H7rP/bN6ZVX4DR6NM7HxuLK1KkYaHRvxFR/6tqOAKmrggK0t2ObmMrLUZaSgnpDh8Jl2jQDq2yvOVtgyE4qqa487uRkcFVgVwZPBweLRHC/tJSDhF1R4qo4Z6u7pyfYV8W9vLy4n6bz5uHBF19YxB9TOyVATFVOgHZsXwe7gVZ8+DB3k83WxwfsMAbjtVMjR45EdHR0BY+869XDAG9v/OOxx7j7FcYfbwQIgTMRdesWB8vBzEyUqdWVmmWTfjbJH9O4MbfbUSqFAJFKJvT9sLOD4wsvwHnyZG4XX/HBg9y77MrBriD6hT0U53O9O+md6tfnPsKwnYODqvhaVayQ0woKuC8N/sjK4n7/XVJSqSvsysa2BUvhybsEiFijpQq79QYOBNv4xJZdFG7ahMLt27ma9fr1g8vs2Qattm7divHjx+teG9GoETZWsaRdYmEip6QEBzIzsT8jA9tv3jRwj81V2OrjjkaPrRYjBgJEDNUrsWnfqRMHhoNmxx+3MnbtWq6mjYcHNzFnd5m1ha2LGjZsGO5o7l6zQXWsb1+weYbcCrtHM+H0aZ3bC/z98WYVT8MSOjYCRGjFje05OMApNBROekeAlpw8iQfsY5NmLZRzWBjYSYnaUlJcjKHDhuHQoUOSHFSmSMquIq+fOYPZrVuD3ZWXSiFARMwEW6LO4LBr21bnRdn162DHfpZnZnKv5XTrhhb//a+Bl1OnTsUqvUemDffzw/dGe81FDMtk0wuvXpUUHCwQAsTkdNahoZ0dnCdNguOIEQadsJ15D+bPBztiJ6+0FDtsbDBh3Tr46O0zXxYRgZl6jy1gH6m2BwaC3dyjYn4FCBDza1ptj2w+wRYZGm9wYocYPPjsM+7A6I2pqZh94QJi9u1Db71nC/7x00941ggqduVgVxAqllGAALGMrpX2avv443B9/33YtWlT4X32TI4dW7fi6+vXcSw7G18vW4bX33lHVy/nxg207NSJ2wilLfP9/TFVIpNZAWUU1BQBIqDcrh9+yB2TY1xurF6N9xcs4G6msfKfTz/FJ/PmGVQL7NIFcQkJutdea94cS6o4bkfAkKzeFAEiUIqr2tyUsG0bhk2ciNuag9vGjh2rO0NX6xrbU/7Ztm06T9kNwB+7d4etjaDPJBJIKWmZIUAEyke9/v3hMmtWBWutWrXCNc0mIbaHfPfu3QZ1VF9/jb5hYbrXWrq64n/du4P9pmJ5BQgQy2vMWajsccyZmZnw9fUFO/2wZ8+eFU4yzDx9Gr7duxt4uLNHD8msdBVIOlHNECACye80fjycxo3jbS179270GjMGVx880LWJ6NCB24BERTgFCBCBtGbnP7kaTbyrMl3wzTcYPW8efrl9W1dl2pNP4j+VPO9cIPcVa4YAETD1m7p0wTtGZ1hpzatzc1EcE4PSuDju5mD0rVs6z9q5ueF4v34CekqmtAoQIAKNBbbEe+SpU+jYsSPYUpE2bdqAzUFaFhSg7fXrYOuvWPnw0iWsSU428Cpx0CDR9nIIJI9kzRAgAqVmc1oaphmdFMgOTksbMkTnAVuLFH71qoFHOwIDJbevQyDJJGGGABEoDZUNfmaarV5lp46wB9jE6D3pSfuelFa2CiSVpMwQIAKloypAKjPP9nbMbdMGk/XOqhXITTJjpAABItCQSLx/H70OH67RGlt4yK4qUthNV6OzCqhAgAiYZHYkztKkJGw1evAlO5c2iN0w9POTxD5sASWRvCkCRIQUMUBSCwrQwd0dAfXro4WLiwhekEk+ChAgfFSiOopVgABRbOopcD4KECB8VKI6ilWAAFFs6ilwPgoQIHxUojqKVYAAUWzqKXA+ChAgfFSiOopVgABRbOopcD4KECB8VKI6ilWAAFFs6ilwPgoQIHxUojqKVYAAUWzqKXA+ChAgfFSiOopVgABRbOopcD4KECB8VKI6ilWAAFFs6ilwPgoQIHxUojqKVYAAUWzqKXA+ChAgfFSiOopVgABRbOopcD4KECB8VKI6ilWAAFFs6ilwPgoQIHxUojqKVYAAUWzqKXA+ChAgfFSiOopVgABRbOopcD4KECB8VKI6ilWAAFFs6ilwPgoQIHxUojqKVYAAUWzqKXA+ChAgfFSiOopVgABRbOopcD4KECB8VKI6ilXAagG5MXSo2tXOTrGJpcDNo8BnV65MWZqUtN48vVXfi40QRrQ29vbure7l5SWkSbJlZQrcKynBE/v3PwvgDyFCExSQRQEB6in0GGUh8mq1NnbfuYMJp09bJyBTmjdXLwoIsNrkUWCWV2B+YiIirl2zTkAGeHuro3r0sLyKZMFqFfjXqVP4PSvLOgEBoF4cEIDJ9DHLagewJQNbn5KC9y9cYCasFpBrAJ6M7d8frVxdLakl9W1lCiQ9eIDAmBhtVL4AMoUIUdBJOoBoAP98zNERlwYNEiI+smElCvgfPIjbRUUsmksA2gsVltCALADwAQuukZMT9vbqheYuLkLFSnZkqEBKfj6CTpzArcJCrffs/scUoUIRGpBXAWzUD+6jNm3wXqtWQsVLdmSkwJKkJHx+5Yqxx28BWC1UGEID0gUA+yBZXz/A0Y0bY6ivL7p5eNAVRajMS9ROemEhYnNysDcjAz+mpxt7mQugP4AzQrkvNCAsrvcBLKoqQPaRi4HS2s1NKA3IjgQUuKkB4/L9+9V5MwvAYiHdFQMQFt8+AIOFDJRsyV6B/QCGCB2FWICwONVCB0v2ZK2AKGNVFKN6aVoOYLqs00bOW1oB9pF8iaWNVNW/2IAwv0IAfAWA3fyhQgpoFTgI4EMAp8SURAqAsPg7AWCLtPw1N4HY7+ZiCkO2BVfgBoDjmp8Tmt+CO2FsUCqAiC4EOUAKVKYAAULjghSoRgEChIYHKUCA0BggBUxTgK4gpulGrRSiAAGikERTmKYpQICYphu1UogCBIhCEk1hmqYAAWKabtRKIQoQIApJNIVpmgL/D4Vtwm5GcoVcAAAAAElFTkSuQmCC'
29
+
30
+
23
31
  export default defineComponent({
24
32
  name: 'zydx-editor',
25
33
  components: {WeEditable, WeToolbar},
34
+ data() {
35
+ return {
36
+ htmlArr: []
37
+ }
38
+ },
26
39
  props: {
27
40
  height: {
28
41
  type: String,
@@ -61,7 +74,7 @@ export default defineComponent({
61
74
  default: {}
62
75
  }
63
76
  },
64
- emits: ['confirm'],
77
+ emits: ['confirm','enclosure'],
65
78
  watch: {
66
79
  html: {
67
80
  handler: function (e, oldVal) {
@@ -72,11 +85,143 @@ export default defineComponent({
72
85
  readOnly: {
73
86
  handler: function (e, oldVal) {
74
87
  this.opts.editable.config.readOnly = e
88
+ if(e) this.readOnlyPage()
75
89
  },
76
90
  deep: true
77
91
  },
78
92
  },
93
+ mounted() {
94
+ this.$nextTick(() => {
95
+ if(this.readOnly) this.readOnlyPage()
96
+ })
97
+ window.closeMaker = this.closeMaker
98
+ },
79
99
  methods: {
100
+ readOnlyPage() {
101
+ this.htmlArr = []
102
+ let onePage = ''
103
+ let page = 0
104
+ this.syncContent() //强制同步数据
105
+ const data = this.formData.html
106
+ for(let i=0; i<data.length; i++) {
107
+ if(i === data.length - 1) {
108
+ this.htmlArr.push(onePage)
109
+ onePage = ''
110
+ page = 0
111
+ break
112
+ }
113
+ if(page >= 1162) {
114
+ this.htmlArr.push(onePage)
115
+ onePage = ''
116
+ page = 0
117
+ }
118
+ if(data[i].type === 'paragraph') {
119
+ let numArr = 0
120
+ const len = this.thatLenText(data[i].children,92)
121
+ const num = len.length === 0? 1 : len.length
122
+ const textAlign = data[i].textAlign? data[i].textAlign : 'left'
123
+ onePage += `<p style="margin: 5px 0;text-align: ${textAlign};">`
124
+ for(let j=0; j<data[i].children.length; j++) {
125
+ const fontSize = data[i].children[j].fontSize? data[i].children[j].fontSize : '14px'
126
+ numArr = parseInt(fontSize) * 1.5
127
+ const color = data[i].children[j].color? data[i].children[j].color : '#000'
128
+ const fontWeight = data[i].children[j].bold? 'bold' : 'normal'
129
+ if(data[i].children[j].type === 'image') {
130
+ onePage += `<img src="${data[i].children[j].src}" style="width: ${(data[i].children[j].style.width)?data[i].children[j].style.width: '100%'};height: ${(data[i].children[j].style.height)?data[i].children[j].style.height: '100%'};" alt="" />`
131
+ page += this.thatImgHeight(data[i].children[j].src,data[i].children[j].style).height + 20
132
+ }else {
133
+ if(data[i].children[j].sup) {
134
+ onePage += `<span style="font-weight: ${fontWeight};display:inline-block;height: ${numArr}px;line-height: ${numArr}px;font-size: ${fontSize};color: ${color}"><sup>${data[i].children[j].text}</sup></span>`
135
+ }else {
136
+ onePage += `<span style="font-weight: ${fontWeight};display:inline-block;height: ${numArr}px;line-height: ${numArr}px;font-size: ${fontSize};color: ${color}">${data[i].children[j].text}</span>`
137
+ }
138
+ page += (numArr + 10)*num
139
+ }
140
+ }
141
+ onePage += `</p>`
142
+ }
143
+ if(data[i].type === 'titleAttachment') {
144
+ onePage += `<p style="height: 36px;line-height: 36px;text-align: center; margin: 5px 0;"><span style="display: inline-block; font-size: 24px; font-weight: 400;">${data[i].fileName}</span></p>`
145
+ page += 46
146
+ }
147
+ if(data[i].type === 'authorAttachment') {
148
+ onePage += `<p style="height: 24px;line-height: 24px;text-align: center; margin: 5px 0;"><span style="display: inline-block; font-size: 16px;">${data[i].fileName}</span></p>`
149
+ page += 34
150
+ }
151
+ if(data[i].type === 'singAttachment') {
152
+ onePage += `<p style="height: 24px;line-height: 24px; margin: 5px 0;display: inline-block; position: relative;"><img style="width: 20px; height: 20px; position: absolute; top: 0; left: 0;" src="${data[i].link}" alt="" /><span style="display: inline-block; padding-left: 25px;font-size: 14px;">${data[i].fileName}</span></p>`
153
+ page += 34
154
+ }
155
+ if(data[i].type === 'divider') {
156
+ onePage += `<div style="margin: 20px 0;height: 1px;background-color: #ccc;"></div>`
157
+ page += 34
158
+ }
159
+ if(data[i].type === 'uploadAttachment') {
160
+ onePage += `<p onclick="closeMaker('${data[i].link}')" style="height: 24px;line-height: 24px; margin: 5px 0;display: inline-block; position: relative;"><img style="width: 20px; height: 22px; position: absolute; top: 0; left: 0;" src="${pdf}" alt="" /><span style="display: inline-block; padding-left: 25px;font-size: 14px;">${data[i].fileName}</span></p>`
161
+ page += 34
162
+ }
163
+ }
164
+ },
165
+ closeMaker(data) {
166
+ this.$emit('enclosure',data)
167
+ },
168
+ // 计算图片高度
169
+ thatImgHeight(src,data) {
170
+ // 获取图片原始宽高
171
+ let img = new Image()
172
+ img.src = src
173
+ let imgWidth = (img.width < 674)? img.width : 674
174
+ let imgHeight = (img.width < 674)? img.height : img.height * (674 / img.width)
175
+ if(data.width === undefined) {
176
+ imgWidth = '100%'
177
+ imgHeight = (img.width < 674)? img.height : img.height * (674 / img.width)
178
+ }else if(data.width.indexOf('%') !== -1) {
179
+ let w = parseInt(data.width)
180
+ imgWidth = data.width
181
+ imgHeight = imgHeight * (w / 100)
182
+ }else {
183
+ imgWidth = parseInt(data.width)
184
+ imgHeight = parseInt(data.height)
185
+ }
186
+ return {
187
+ width: imgWidth,
188
+ height: imgHeight
189
+ }
190
+ },
191
+ // 计算每行字符数
192
+ thatLenText(text,num) {
193
+ let len = 0
194
+ let st = ''
195
+ let end = []
196
+ let data = ''
197
+ for(let j =0; j<text.length; j++) {
198
+ data += text[j].text
199
+ }
200
+ for(let i= 0; i < data.length; i++) {
201
+ if(i === data.length - 1) {
202
+ end.push(st)
203
+ break
204
+ }
205
+ if(len <= num) {
206
+ st += data[i]
207
+ }else {
208
+ end.push(st)
209
+ st = ''
210
+ len = 0
211
+ st += data[i]
212
+ }
213
+ if(data[i].replace(/[^\u4e00-\u9fa5]/g, '')) {
214
+ len += 2
215
+ }else if(data[i].match(/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u2014|\u2026|\u2013]/g)) {
216
+ len += 2
217
+ }else if(data[i].match(/[a-zA-Z]/g)) {
218
+ len += 1
219
+ }else {
220
+ len += 1
221
+ }
222
+ }
223
+ return end
224
+ },
80
225
  confirm() {
81
226
  this.syncContent() //强制同步数据
82
227
  this.$emit('confirm', this.formData.html)
@@ -145,7 +290,29 @@ export default defineComponent({
145
290
  .but {
146
291
  text-align: right;
147
292
  }
148
-
293
+ .read-only-page{
294
+ width: 794px;
295
+ height: 1123px;
296
+ margin: 0 auto 20px auto;
297
+ background-color: #fff;
298
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
299
+ padding: 60px;
300
+ box-sizing: border-box;
301
+ position: relative;
302
+ }
303
+ .read-only-p{
304
+ width: 100%;
305
+ height: 100%;
306
+ }
307
+ .read-only-a{
308
+ position: absolute;
309
+ bottom: 25px;
310
+ left: 50%;
311
+ z-index: 1;
312
+ font-size: 14px;
313
+ transform: translateX(-50%);
314
+ color: #999;
315
+ }
149
316
  /*工具栏样式*/
150
317
  .toolbar {
151
318
  border-top: 1px solid #d9d9d9;
@@ -165,6 +332,8 @@ export default defineComponent({
165
332
  border: 1px solid #e8e8e8;
166
333
  margin-bottom: 20px;
167
334
  position: relative;
335
+ padding: 60px;
336
+ box-sizing: border-box;
168
337
  }
169
338
 
170
339
  .def-but {
@@ -8,7 +8,7 @@ const num = {1: '①', 2: '②', 3: '③', 4: '④', 5: '⑤', 6: '⑥', 7: '⑦
8
8
 
9
9
  function resumeSing() {
10
10
  return {
11
- type: 'attachment',
11
+ type: 'singAttachment',
12
12
  fileName: signData.text,
13
13
  link: signData.ico,
14
14
  sign: true,
@@ -16,23 +16,18 @@ function resumeSing() {
16
16
  }
17
17
  }
18
18
 
19
- function typeCode(node,value,num = false) {
20
- let hasAttachment = false
21
- if(num) {
22
- for(let i = 0; i < node.length; i++){
23
- if(node[i][value]) {
24
- hasAttachment = true
25
- break
26
- }
27
- }
28
- }else {
29
- for(let i = 0; i < node.length; i++){
30
- for(let j = 0; j < node[i].children.length; j++){
31
- if(node[i].children[j][value]) {
32
- hasAttachment = true
33
- break
34
- }
19
+ function typeCode(node,value) {
20
+ let hasAttachment = {
21
+ sign: false,
22
+ index: 0
23
+ }
24
+ for(let i = 0; i < node.length; i++){
25
+ if(node[i][value]) {
26
+ hasAttachment = {
27
+ sign: true,
28
+ index: i
35
29
  }
30
+ break
36
31
  }
37
32
  }
38
33
  return hasAttachment
@@ -100,7 +95,7 @@ class signButtonMenu {
100
95
  if (this.isDisabled(editor)) return
101
96
  let node = editor.children
102
97
  let nodes = JSON.parse(JSON.stringify(node)) //拷贝一份
103
- if(typeCode(nodes,'sign')) return
98
+ if(typeCode(nodes,'sign').sign) return
104
99
  nodes.unshift(resumeSing())
105
100
  addNode(editor,nodes)
106
101
  }
@@ -128,7 +123,7 @@ class redButtonMenu {
128
123
  if (this.isDisabled(editor)) return
129
124
  let node = editor.children
130
125
  let nodes = JSON.parse(JSON.stringify(node)) //拷贝一份
131
- if(typeCode(nodes,'tou', true)) return
126
+ if(typeCode(nodes,'tou').sign) return
132
127
  const resume = {
133
128
  type: 'paragraph',
134
129
  tou: true,
@@ -156,8 +151,8 @@ class redButtonMenu {
156
151
  type: 'divider',
157
152
  children: [{text:''}]
158
153
  }
159
- if(typeCode(node,'sign')) {
160
- nodes.splice(0,1)
154
+ if(typeCode(node,'sign').sign) {
155
+ nodes.splice(typeCode(node,'sign').index,1)
161
156
  nodes.splice(0,0,resumeSing())
162
157
  nodes.splice(1,0,resume)
163
158
  nodes.splice(2,0,resume1)
@@ -193,13 +188,9 @@ class titleButtonMenu {
193
188
  exec(editor, value) {
194
189
  if (this.isDisabled(editor)) return
195
190
  const resume = {
196
- type: 'paragraph',
197
- children: [{
198
- type: 'titleAttachment',
199
- fileName: titleData.text,
200
- children: [{text:''}]
201
- }],
202
- textAlign: 'center'
191
+ type: 'titleAttachment',
192
+ fileName: titleData.text,
193
+ children: [{text:''}]
203
194
  }
204
195
  const resume2 = {
205
196
  type: 'paragraph',
@@ -233,13 +224,9 @@ class authorButtonMenu {
233
224
  exec(editor, value) {
234
225
  if (this.isDisabled(editor)) return
235
226
  const resume = {
236
- type: 'paragraph',
237
- children: [{
238
- type: 'authorAttachment',
239
- fileName: authorData.text,
240
- children: [{text:''}]
241
- }],
242
- textAlign: 'center'
227
+ type: 'authorAttachment',
228
+ fileName: authorData.text,
229
+ children: [{text:''}]
243
230
  }
244
231
  const resume2 = {
245
232
  type: 'paragraph',
@@ -388,13 +375,14 @@ class abstractButtonMenu {
388
375
  text: ' 摘要:',
389
376
  color: '#000000',
390
377
  fontSize: '12px',
391
- bold: true
378
+ bold: true,
379
+ kong: true
392
380
  },{
393
381
  text: '请填写摘要内容',
394
382
  color: '#000000',
395
383
  fontSize: '12px',
396
384
  }],
397
- textAlign: 'left'
385
+ textAlign: 'left',
398
386
  }
399
387
  editor.insertNode(resume)
400
388
  }
@@ -422,13 +410,14 @@ class keywordButtonMenu {
422
410
  text: ' 关键词:',
423
411
  color: '#000000',
424
412
  fontSize: '12px',
425
- bold: true
413
+ bold: true,
414
+ kong: true
426
415
  },{
427
416
  text: '请填写关键词内容',
428
417
  color: '#000000',
429
418
  fontSize: '12px',
430
419
  }],
431
- textAlign: 'left'
420
+ textAlign: 'left',
432
421
  }
433
422
  editor.insertNode(resume)
434
423
  }
@@ -466,6 +455,77 @@ class numberButtonMenu {
466
455
  addNode(editor,nodes)
467
456
  }
468
457
  }
458
+ // 上传
459
+ class uploadButtonMenu {
460
+ constructor() {
461
+ this.title = '上传附件' // 自定义菜单标题
462
+ this.tag = 'button'
463
+ }
464
+ getValue(editor) {
465
+ return false
466
+ }
467
+ isActive(editor) {
468
+ return false
469
+ }
470
+ isDisabled(editor) {
471
+ return false
472
+ }
473
+ exec(editor, value) {
474
+ if (this.isDisabled(editor)) return
475
+ const upload = editor.getConfig().MENU_CONF.uploadAttachment
476
+ const input = document.createElement("input");
477
+ input.type = "file";
478
+ input.accept = (upload.accept)? upload.accept : 'application/*'
479
+ input.style.display = "none";
480
+ document.body.appendChild(input)
481
+ input.click()
482
+ input.onchange = function() {
483
+ const file = input.files[0];
484
+ uploadFile(file,upload).then(res => {
485
+ const resume = {
486
+ type: 'uploadAttachment',
487
+ fileName: res.fileName,
488
+ link: res.filePath,
489
+ upload: true,
490
+ children: [{text: ''}]
491
+ }
492
+ const resume2 = {
493
+ type: 'paragraph',
494
+ children: [{text: ''}],
495
+ textAlign: 'left'
496
+ }
497
+ editor.insertNode(resume)
498
+ editor.insertNode(resume2)
499
+ })
500
+ }
501
+ document.body.removeChild(input)
502
+ }
503
+ }
504
+
505
+ function uploadFile(file,data) {
506
+ return new Promise((rl,re) => {
507
+ const meta = Object.keys(data.meta)
508
+ const param = new FormData()
509
+ param.append('file', file)
510
+ for(let i = 0; i < meta.length; i++) {
511
+ param.append(meta[i], data.meta[meta[i]])
512
+ }
513
+ const xhr = new XMLHttpRequest()
514
+ xhr.open('POST', data.server)
515
+ const headers = Object.keys(data.headers)
516
+ for(let i = 0; i < headers.length; i++) {
517
+ xhr.setRequestHeader(headers[i], data.headers[headers[i]])
518
+ }
519
+ xhr.onreadystatechange = () => {
520
+ if(xhr.readyState === 4) {
521
+ if(xhr.status === 200) {
522
+ rl(JSON.parse(xhr.responseText).data)
523
+ }
524
+ }
525
+ }
526
+ xhr.send(param)
527
+ })
528
+ }
469
529
 
470
530
  const signMenuConf = {
471
531
  key: 'signMenu',
@@ -523,7 +583,13 @@ const numberMenuConf = {
523
583
  return new numberButtonMenu(v)
524
584
  },
525
585
  }
586
+ const uploadMenuConf = {
587
+ key: 'uploadAttachment',
588
+ factory() {
589
+ return new uploadButtonMenu()
590
+ },
591
+ }
526
592
 
527
593
  export const menuModule = {
528
- menus: [signMenuConf,redMenuConf,titleMenuConf,literatureMenuConf,taggingMenuConf,authorMenuConf,numberMenuConf,abstractMenuConf,keywordMenuConf]
594
+ menus: [signMenuConf,redMenuConf,titleMenuConf,uploadMenuConf,literatureMenuConf,taggingMenuConf,authorMenuConf,numberMenuConf,abstractMenuConf,keywordMenuConf]
529
595
  }
@@ -1,5 +1,7 @@
1
1
  import { h, VNode } from 'snabbdom'
2
2
 
3
+ const pdf = 'data:image/png;base64,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'
4
+
3
5
  function renderAttachment(elem, children, editor) {
4
6
  const iconVnode = h(
5
7
  'img',
@@ -17,7 +19,7 @@ function renderAttachment(elem, children, editor) {
17
19
  [ elem.fileName ]
18
20
  )
19
21
  const attachVnode = h(
20
- 'span',
22
+ 'p',
21
23
  {
22
24
  props: { contentEditable: false },
23
25
  style: { display: 'inline-block',position: 'relative'},
@@ -38,10 +40,10 @@ function titleAttachment(elem, children, editor) {
38
40
  [ elem.fileName ]
39
41
  )
40
42
  const attachVnode = h(
41
- 'span',
43
+ 'p',
42
44
  {
43
45
  props: { contentEditable: false },
44
- style: { display: 'inline-block'},
46
+ style: { textAlign: 'center'},
45
47
  // on: { click() { console.log('clicked', link) } }
46
48
  },
47
49
  [ iconText]
@@ -59,10 +61,10 @@ function authorAttachment(elem, children, editor) {
59
61
  [ elem.fileName ]
60
62
  )
61
63
  const attachVnode = h(
62
- 'span',
64
+ 'p',
63
65
  {
64
66
  props: { contentEditable: false },
65
- style: { display: 'inline-block'},
67
+ style: { textAlign: 'center'},
66
68
  // on: { click() { console.log('clicked', link) } }
67
69
  },
68
70
  [ iconText]
@@ -70,8 +72,36 @@ function authorAttachment(elem, children, editor) {
70
72
  return attachVnode
71
73
  }
72
74
 
75
+ function uploadAttachment(elem, children, editor) {
76
+ const iconVnode = h(
77
+ 'img',
78
+ {
79
+ props: { src: pdf }, // HTML 属性,驼峰式写法
80
+ style: { width: '20px',height: '20px',position: 'absolute',top: '0',left: '0'},
81
+ }
82
+ )
83
+ const iconText = h(
84
+ 'span',
85
+ {
86
+ props: { contentEditable: false },
87
+ style: {display: 'inline-block',paddingLeft: '25px'}
88
+ },
89
+ [ elem.fileName ]
90
+ )
91
+ const attachVnode = h(
92
+ 'p',
93
+ {
94
+ props: { contentEditable: false },
95
+ style: { display: 'inline-block',position: 'relative',cursor: 'pointer'},
96
+ on: { click() { console.log('clicked', elem.link) } }
97
+ },
98
+ [ iconVnode,iconText]
99
+ )
100
+ return attachVnode
101
+ }
102
+
73
103
  const renderElemConf = {
74
- type: 'attachment',
104
+ type: 'singAttachment',
75
105
  renderElem: renderAttachment,
76
106
  }
77
107
  const titleElemConf = {
@@ -82,7 +112,11 @@ const authorElemConf = {
82
112
  type: 'authorAttachment',
83
113
  renderElem: authorAttachment,
84
114
  }
115
+ const uploadElemConf = {
116
+ type: 'uploadAttachment',
117
+ renderElem: uploadAttachment,
118
+ }
85
119
 
86
120
  export const nodeModule = {
87
- renderElems: [renderElemConf,titleElemConf,authorElemConf]
121
+ renderElems: [renderElemConf,titleElemConf,authorElemConf,uploadElemConf]
88
122
  }
@@ -1,13 +1,16 @@
1
1
  <template>
2
2
  <div class="wrapper">
3
- <div class="custom-select">
4
- <input stype="text"
3
+ <div class="custom-select"
4
+ :class="{ 'readonly': readonly }">
5
+ <input type="text"
5
6
  :value="selected"
6
7
  :placeholder="placeholder"
7
8
  :readonly="true"
8
9
  @click="toggleDropDown"
9
10
  class="select-css" />
11
+
10
12
  <span class="custom-select-icons"
13
+ v-if="!readonly"
11
14
  @click="toggleDropDown">
12
15
  <svg xmlns="http://www.w3.org/2000/svg"
13
16
  width="16"
@@ -21,13 +24,15 @@
21
24
  </svg>
22
25
  </span>
23
26
  <transition>
24
- <template v-if="options.length">
25
- <ul v-if="isOpen"
26
- :class="{ 'custom-select-options': true, 'scroll': maxHeight > 0 }">
27
- <li v-for="(option, idx) in options"
28
- :key="idx"
29
- @click="handleClick(option)">{{ option.label }}</li>
30
- </ul>
27
+ <template v-if="!readonly">
28
+ <template v-if="options.length">
29
+ <ul v-if="isOpen"
30
+ :class="{ 'custom-select-options': true, 'scroll': maxHeight > 0 }">
31
+ <li v-for="(option, idx) in options"
32
+ :key="idx"
33
+ @click="handleClick(option)">{{ option.label }}</li>
34
+ </ul>
35
+ </template>
31
36
  </template>
32
37
  </transition>
33
38
  </div>
@@ -55,6 +60,10 @@ export default defineComponent({
55
60
  type: Number,
56
61
  default: 0
57
62
  },
63
+ readonly: {
64
+ type: Boolean,
65
+ default: false
66
+ },
58
67
  color: {
59
68
  type: String,
60
69
  default: '#606266'
@@ -140,6 +149,15 @@ export default defineComponent({
140
149
  position: relative;
141
150
  }
142
151
 
152
+ .custom-select.readonly {
153
+ pointer-events: none;
154
+ cursor: default;
155
+ }
156
+
157
+ .custom-select.readonly .select-css {
158
+ border: none;
159
+ }
160
+
143
161
  .select-css {
144
162
  display: block;
145
163
  font-size: 14px;
@@ -1,93 +1,109 @@
1
1
  <template>
2
- <div class="tabs cl">
3
- <div class="tabs-li" :class="{'tab-active': actives === index}" @click="listTap(index)" v-for="(item,index) in list" :key="index">{{ item[column[0]] }}</div>
4
- <div v-if="addShow" @click="addTap" class="tabs-li tab-add">+</div>
5
- </div>
2
+ <div class="tabs cl">
3
+ <div class="tabs-li" :class="{'tab-active': actives === index}" @click="listTap(index)"
4
+ v-for="(item,index) in list" :key="index">{{ item[column[0]] }}
5
+ </div>
6
+ <div v-if="addShow" @click="addTap" class="tabs-li tab-add">+</div>
7
+ </div>
6
8
  </template>
7
9
 
8
10
  <script>
11
+ import {json2html} from "html2json";
12
+
9
13
  export default {
10
- name: "zydx-tab",
11
- data() {
12
- return {
13
- actives: 0
14
- }
15
- },
16
- props: {
17
- active: {
18
- type: String,
19
- default: ''
20
- },
21
- activeId: {
22
- type: String,
23
- default: ''
14
+ name: "zydx-tab",
15
+ data() {
16
+ return {
17
+ actives: 0
18
+ }
24
19
  },
25
- addShow: {
26
- type: Boolean,
27
- default: false
20
+ props: {
21
+ active: {
22
+ type: String,
23
+ default: ''
24
+ },
25
+ activeId: {
26
+ type: String,
27
+ default: ''
28
+ },
29
+ addShow: {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+ list: { // 数据列表
34
+ type: Array,
35
+ default: () => []
36
+ },
37
+ column: { // 数据列表
38
+ type: Array,
39
+ default: () => ['name']
40
+ },
28
41
  },
29
- list: { // 数据列表
30
- type: Array,
31
- default: () => []
42
+ watch: {
43
+ active: {
44
+ handler: function (val, oldVal) {
45
+ this.listActive(this.list, val)
46
+ },
47
+ deep: true
48
+ },
49
+ list: {
50
+ handler: function (val, oldVal) {
51
+ this.listActive(val, this.active)
52
+ },
53
+ deep: true
54
+ },
32
55
  },
33
- column: { // 数据列表
34
- type: Array,
35
- default: () => ['name']
56
+ mounted() {
57
+ if (this.list.length === 0) return
58
+ if (this.activeId) {
59
+ this.listActive(this.list, this.active)
60
+ } else {
61
+ this.actives = 0
62
+ }
36
63
  },
37
- },
38
- watch: {
39
- active(val) {
40
- this.list.forEach((item, index) => {
41
- if (item[this.activeId] === val) {
64
+ methods: {
65
+ listActive(data,act) {
66
+ data.forEach((item, index) => {
67
+ if (item[this.activeId] === act) {
42
68
  this.actives = index
43
69
  }
44
70
  })
45
- }
46
- },
47
- mounted() {
48
- if (this.activeId) {
49
- this.list.forEach((item, index) => {
50
- if (item[this.activeId] === this.active) {
71
+ },
72
+ listTap(index) {
51
73
  this.actives = index
52
- }
53
- })
54
- } else {
55
- this.actives = 0
56
- }
57
- },
58
- methods: {
59
- listTap(index) {
60
- this.actives = index
61
- this.$emit('confirm', {
62
- data: this.list[index],
63
- index: index
64
- })
65
- },
66
- addTap() {
67
- this.$emit('addTap')
74
+ this.$emit('confirm', {
75
+ data: this.list[index],
76
+ index: index
77
+ })
78
+ },
79
+ addTap() {
80
+ this.$emit('addTap')
81
+ }
68
82
  }
69
- }
70
83
  }
71
84
  </script>
72
85
 
73
86
  <style scoped>
74
- .tab-add{
87
+ .tab-add {
75
88
  font-size: 18px !important;
76
89
  line-height: 24px !important;
77
90
  }
91
+
78
92
  .cl:after {
79
- content: "";
80
- clear: left;
81
- display: block;
93
+ content: "";
94
+ clear: left;
95
+ display: block;
82
96
  }
83
- .tabs{
97
+
98
+ .tabs {
84
99
  width: 100%;
85
100
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAADGBAMAAAB/QzDKAAADImlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBRjFGRkEwRjlEMzgxMUU5QUQ0OUNBNThBMDQyM0I3NiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBRjFGRkExMDlEMzgxMUU5QUQ0OUNBNThBMDQyM0I3NiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkFGMUZGQTBEOUQzODExRTlBRDQ5Q0E1OEEwNDIzQjc2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkFGMUZGQTBFOUQzODExRTlBRDQ5Q0E1OEEwNDIzQjc2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+zkTyIwAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAwUExURUdwTOK3l9mr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');
86
101
  background-size: 100% 100%;
87
102
  padding: 12px 20px;
88
103
  box-sizing: border-box;
89
- }
90
- .tabs-li{
104
+ }
105
+
106
+ .tabs-li {
91
107
  min-width: 83px;
92
108
  height: 26px;
93
109
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAeCAYAAACsYQl4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADImlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCQ0NCN0EzMUFDMDAxMUU4ODIwN0NCOTdENjIxODU1RCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCQ0NCN0EzMkFDMDAxMUU4ODIwN0NCOTdENjIxODU1RCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJDQ0I3QTJGQUMwMDExRTg4MjA3Q0I5N0Q2MjE4NTVEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJDQ0I3QTMwQUMwMDExRTg4MjA3Q0I5N0Q2MjE4NTVEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bL/JSwAABHZJREFUaEPtmldLLEEQhWvXnHNOKIpixID4C3wUf6r44ItPIhhAMaCioqKYc85h736lPe5ddndGUZ/6wDjjTHX3zOna0zVV4wsEIWHY39+Xm5sbOT09lfj4eImLi5O3tzfx+Xy6eYXpmj2b3+/33B770DGjtTN9swGvY5j+gdsY0UB7xnt9fZWnpyflqbq6WgoLCz8sPuEQzY6BaDAzMyMnJyeSlJQkbW1tkpCQIC8vL55vxPT10bXu2bgpNvN/eH/G3tjwAIAHMP2ZdqHtsTPHxilAeP+AdvSPTagd50Bov27AFkd8fn6W+fl5bZeamiodHR2SmJio/XNOt6BxYGBgQA2Ki4ulsbFRtra25OzsTLKzs6WyslIJt4iOh4cH2dnZcSaupqZGFhcXVRGurq6kv79f/Hiq8Yjc3Fydofv7ezk/P5e1tTX1bovYmJ2dldXVVeULRYBDnBQ+AR6vHr20tKQ/g8PDQ8nLy9NZuL291QZIR0FBgTawiIyjoyNZWFhQvuARkuHw7u5OSkpKpLW19VOjwfLyss5KcnKyzkxRUZF0dnZ+XLWIhbm5OVWF3d1dVYj6+np12qysLF033leAIOAbcrmAB+fn56tOW3gDakCkVlZWphwiF/AJ+cAh+vr6WjY3N6W2tlaam5ulvb1dRZ4OLGLj+PhY+cNZkQk4JESenp52IiffxMRE4OLiQlJSUlQmMEBCiDTQ6b6+Pif0sYgMoo3BwUHJyMjQQKKhoUFlA/5WVlY0ovMNDQ0FIJjZQJMxPDg40L35GVi4A9lAKgjpysvL1XEB8js+Pi5+CE5LS3NiZQx4uyGetiR7R3p6uoZzdXV1DsmAYzhWTUBHTLBt8bMwb4dKNP9Yon8Hhle7yv0RHI+2+B1Yj/5jKNEmDWnx84BboETzQmJfSn4Hhlf9S5zHZvHzMLw60hHq0VxExC35X0Mkh4VXzvkmJycDl5eX+j7OqzhpPnIdlGJsrsMbcEqT6yARR66DDCjHVFp4O/R3d3drMRGix8bGJDMzU5P9lGMgmNqhRWyQ34Bs+Orq6lIOyU8HnVjTGD09Pe/SAbGk9pgBEiOlpaVSVVWlkYhZNS2ig8oKRKMCJObgkBIhBZSWlha1cTSBxBLFWXLSlLaYEarfpPssYiMnJ0f5A0gFHFI4QUL+C++YAbyZWaDWRZqUOhgZKQtvQCLw6O3tbeWQRB2p08fHR72uRI+MjMjU1JS6P+lRFe+g3lAJ39jYUEOL6IAjdJrcMwsiHEIwnyCMjo6qjRZnh4eHNR8NuegzhGNYUVGhwm4RG4RvFEpQBipUcIkqUN5inevt7X0nmkIirr63t6f1L0jmHF/coD8W7kAmIJvvYJARPjMARHQsiv99bmCAMaQjIeajGibiu/kQfiEM89UIhjZsbnE8/XNvX70/p3AabOc2RiSYZ2JtQ2ZxThZBHDQcEYmmEY3X19d1keQmvku0IYq2XvugjXl4jg2RkRDaPzCT6jYONmbi3caIBtOH2bMYNjU1ORHIJ0T+AbIL39z60gtQAAAAAElFTkSuQmCC') center center;
@@ -99,12 +115,14 @@ export default {
99
115
  line-height: 26px;
100
116
  color: #333;
101
117
  font-size: 14px;
102
- }
103
- .tabs-li:hover{
118
+ }
119
+
120
+ .tabs-li:hover {
104
121
  color: #999;
105
- }
106
- .tab-active{
122
+ }
123
+
124
+ .tab-active {
107
125
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAeCAYAAACsYQl4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADImlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGQ0MwRjM3Q0FDMDAxMUU4OThCMjhFMkM4MzMyOEQ5MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGQ0MwRjM3REFDMDAxMUU4OThCMjhFMkM4MzMyOEQ5MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDQzBGMzdBQUMwMDExRTg5OEIyOEUyQzgzMzI4RDkzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZDQzBGMzdCQUMwMDExRTg5OEIyOEUyQzgzMzI4RDkzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwv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") !important;
108
126
  color: #00ff00 !important;
109
- }
127
+ }
110
128
  </style>
package/src/index.js CHANGED
@@ -63,7 +63,7 @@ function install(app) {
63
63
  }
64
64
 
65
65
  export default {
66
- version: '1.20.120',
66
+ version: '1.20.122',
67
67
  install,
68
68
  Calendar,
69
69
  Message,