liuhj 1 éve%!(EXTRA string=óta)
szülő
commit
5ea0d53d95

+ 582 - 20
package-lock.json

@@ -8,6 +8,8 @@
       "name": "oa-system",
       "version": "1.0.0",
       "dependencies": {
+        "@ckeditor/ckeditor5-build-classic": "^38.1.0",
+        "@ckeditor/ckeditor5-vue2": "^3.0.1",
         "@fullcalendar/core": "^6.1.4",
         "@fullcalendar/daygrid": "^6.1.4",
         "@fullcalendar/interaction": "^6.1.4",
@@ -17,6 +19,7 @@
         "element-ui": "^2.15.13",
         "tippy.js": "^6.3.7",
         "vue": "^2.5.2",
+        "vue-quill-editor": "^3.0.6",
         "vue-router": "^3.0.1",
         "vue-typed-js": "^0.1.2",
         "vue2-org-tree": "^1.3.6",
@@ -76,6 +79,474 @@
         "node": ">=6.0.0"
       }
     },
+    "node_modules/@ckeditor/ckeditor5-adapter-ckfinder": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-38.1.0.tgz",
+      "integrity": "sha512-ThWSKz4uOTmkELGuodtKUEZdgwl6BAzqfrmWcm85313esuAVuYrRVuHvOboMPjxg4pMfemfL/Cp/03nvugqZCg==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-autoformat": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-38.1.0.tgz",
+      "integrity": "sha512-heptwiVtPzriWPNq9Qpns8ClSHD49LcqdGDU0bWhAbDhfUmbIeUiFiaPn8F8u9R2qWpg0E5bIHzxED6uRBr5Nw==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-basic-styles": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-38.1.0.tgz",
+      "integrity": "sha512-K/lhLLY52YZ2AfTOeqqwIOiPbIh7qYEfj/kytMd7PQ1ScFYbGMdWwgPTXpFi0JG7O2vK+5fkS+03e4klTX6IkA==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-block-quote": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-38.1.0.tgz",
+      "integrity": "sha512-gEkVmhq4kSZR55vojSubz4JXDmffHm0FurL5wV/y28W5HigWI1PmbeZhxHLHtlB6DPseLIWRjB5Q9Nku5UoN0w==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-build-classic": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-38.1.0.tgz",
+      "integrity": "sha512-bP3EYzrhgWEk4C2jeupmCKf+joJUxlXdaeEtwB8a15XMjMj5k6HrpnCtilqbyF7Yc+KxAsffjERmXXsO902tLg==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-adapter-ckfinder": "38.1.0",
+        "@ckeditor/ckeditor5-autoformat": "38.1.0",
+        "@ckeditor/ckeditor5-basic-styles": "38.1.0",
+        "@ckeditor/ckeditor5-block-quote": "38.1.0",
+        "@ckeditor/ckeditor5-ckbox": "38.1.0",
+        "@ckeditor/ckeditor5-ckfinder": "38.1.0",
+        "@ckeditor/ckeditor5-cloud-services": "38.1.0",
+        "@ckeditor/ckeditor5-easy-image": "38.1.0",
+        "@ckeditor/ckeditor5-editor-classic": "38.1.0",
+        "@ckeditor/ckeditor5-essentials": "38.1.0",
+        "@ckeditor/ckeditor5-heading": "38.1.0",
+        "@ckeditor/ckeditor5-image": "38.1.0",
+        "@ckeditor/ckeditor5-indent": "38.1.0",
+        "@ckeditor/ckeditor5-link": "38.1.0",
+        "@ckeditor/ckeditor5-list": "38.1.0",
+        "@ckeditor/ckeditor5-media-embed": "38.1.0",
+        "@ckeditor/ckeditor5-paragraph": "38.1.0",
+        "@ckeditor/ckeditor5-paste-from-office": "38.1.0",
+        "@ckeditor/ckeditor5-table": "38.1.0",
+        "@ckeditor/ckeditor5-typing": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-ckbox": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-38.1.0.tgz",
+      "integrity": "sha512-+NgnBxwwIxL2nbvC/C+CEPm2VpkT6jsojkEEYoK6sOLoG0iCiCmEZWyROCGUJZw2JEN0cXbTpZaZTfw2cyXHFg==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-ckfinder": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-38.1.0.tgz",
+      "integrity": "sha512-3WwXMv/VljZhDzfd/Qt2AqbFFyQlrC+qEkv4V+qLRo6Tc2VhtUJ56J9zIjtedR+KGdJ0GiZm+eK+cl2MWlZ+JA==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-clipboard": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-38.1.0.tgz",
+      "integrity": "sha512-OoxzP+GG9b80otVlGbJH6kTWM5AR5oJNGyj76KaxmhWfpyVifHM14iIFBjuEDzORsRZdb3+DA26+GcnkJ08/GA==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "@ckeditor/ckeditor5-widget": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-cloud-services": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-38.1.0.tgz",
+      "integrity": "sha512-2BbKF4/xlF+6YNHTxvJMzTEaopKRrnpEFJaoHI9kN/EnmpwjI+6VRj7ezdk33xCUcSqP8K/sMyIFuL86GP7maQ==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-core": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-38.1.0.tgz",
+      "integrity": "sha512-jlz42+72zDVThAuQD0LMRA7qhWRHeestgBhMkVYdi1KRTEB59FWvV9vLfrJGs/qiB5vVkzDvK4etKqjOWm1KnA==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-easy-image": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-38.1.0.tgz",
+      "integrity": "sha512-q4SWi3BI28cR2bxsCjr+Gzk4Z7P7ao73q1BanqqPodkOw52WimlEM9uTJu9Q3mw1757WHQeozVeIvdYjcu4qMw==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-editor-classic": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-38.1.0.tgz",
+      "integrity": "sha512-FDB+G4jNS/1nBP25VP1F+XYlosKRW68AEsmR52X1zW64KW/9AAA9jSLQLmAsf/JA96HOviSdNDItlvzwq4x05g==",
+      "dependencies": {
+        "ckeditor5": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-engine": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-38.1.0.tgz",
+      "integrity": "sha512-Ldkw66gPMAL9GHnD+PsteWCay3ImPd+Lh/s54ISQxPDN8v4G3MNx9n003RA0ZtLKrbVhYXmAIF3xlzWWAkQK4w==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-enter": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-38.1.0.tgz",
+      "integrity": "sha512-mBjr1Bk12ugPgScxnRncAxM5YcQUQosf01T5ekqT4/tAmoICyVgcJk4OU1H16TOzIRul0D4dr6eeg1yUhRHZPg==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-essentials": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-38.1.0.tgz",
+      "integrity": "sha512-/RsNDJSHXQ4YcdcFFVoneC0PeW/d0NFz8ba6Sh5lCvfr/ja7HztmtkmGmPej6O7POqkWXRTbdKL7Zistnhm6Mg==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-heading": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-38.1.0.tgz",
+      "integrity": "sha512-pGqmJtaM7S509oj3S3cAkd2ClxASyUaD0QeDxSiJ2MzQQSph0v+CiKnzicLAb/hmhVB8ik5i21OpStNuGtn2Ww==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-image": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-38.1.0.tgz",
+      "integrity": "sha512-KaxsCdP4H381pnP4+hIoITsitfoWzLX2CCFNwglImHwsw3GzMd4uRuJjq+Zvd8mTPifULTWNsg6O4S9dEe3zmA==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "ckeditor5": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-indent": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-38.1.0.tgz",
+      "integrity": "sha512-rcTHpvOM/JRtHE+n8dnirAIIzGV2HtjuBdRMjwrU5F4Q0dgPDh/zWbm6/bAgSjjhE0aiUgdxgfItmGlnAu1pFw==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-link": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-38.1.0.tgz",
+      "integrity": "sha512-/GoXWpZ522GD0qGvqj0Y57Lo2amakWRN//k3Nc5sHvtxjhwP87Wqb8YGtVR1bB33xmvWzBwB7W1EHA+Gqkh84A==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "ckeditor5": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-list": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-38.1.0.tgz",
+      "integrity": "sha512-FiBjSPjudYp4thheroIbhZ5qIpPsd/FpHrzEvtvvkuse8ltw17hwCxnCViyDQgnowhoAlJmmEwo7P8C4U4Qs0A==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-media-embed": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-38.1.0.tgz",
+      "integrity": "sha512-k+x6tQ4jlH9pQvpBzb9a1paQm569Hm86tfHitkK18OHtBLgscNAGsswwzEBT/7ek+sP/25n1ugxdlXFeBtA0+A==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-paragraph": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-38.1.0.tgz",
+      "integrity": "sha512-B0meYDsGzR1e7pXN7Ky8L1BD80gJa+WHDUcDMLtEb+awQrdXf6JmD1CbH6ejbfBWSq+klO4cucenDSN4PK9e/g==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-paste-from-office": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-38.1.0.tgz",
+      "integrity": "sha512-RYZiCyRvCEqlLymAmW7OWVWRb0bkCuU2gWKiv/jhvgP58ZoGWDszVgAXJEcGJqCaJ2Q6mL7AVu4sdTDshTUk2A==",
+      "dependencies": {
+        "ckeditor5": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-select-all": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-38.1.0.tgz",
+      "integrity": "sha512-04QCaVepM86iLSnQANMG6BAt0zW248So2vo5dOhSEvCoj6HlOtfxOSdwLykiLMYaKUucxhDtvboHEexshcQ34w==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-table": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-38.1.0.tgz",
+      "integrity": "sha512-jXP30EjjCc73HdmwZDWxwP88xL9mCvFudE3swIOp4VLoyMDRQHFudsdZ0qoLmmy+Bobje6pJk8vNKalUaMKAKg==",
+      "dependencies": {
+        "ckeditor5": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-typing": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-38.1.0.tgz",
+      "integrity": "sha512-Y30Ein/vSBpVMnqPMEO41DcG03zZBX1alaY8p3E30K4J19i8krZ49fr6ej06Tz9JtwF6SjRqK9BGan5KL3XeeQ==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-ui": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-38.1.0.tgz",
+      "integrity": "sha512-k44qe+z/08En0/SKc/LC9jSy7Gy5S/5L6HReJ/ah7Ur2xbvA8hiiH1qc39m0vuUOFYC+YrYmvEps5o/ADgmy4A==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "color-convert": "2.0.1",
+        "color-parse": "1.4.2",
+        "lodash-es": "^4.17.15",
+        "vanilla-colorful": "0.7.2"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+    },
+    "node_modules/@ckeditor/ckeditor5-undo": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-38.1.0.tgz",
+      "integrity": "sha512-bm0WPJUqLihYVOsEWVXFLLM4hYh3vW4xcphUQNtkkkL4yXzvCYqtFr1vODgBsOiLfcmLhQzwSP/gWOxTzwtPqQ==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-upload": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-38.1.0.tgz",
+      "integrity": "sha512-IaBXioCzhOik6qIAFZEm8eCv2yVUNpAZ9RVbbQbmVqm6W2u8dh6or1j33XEwMXtIVbakbmgEjuBTy3w+gxoDCQ==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-utils": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-38.1.0.tgz",
+      "integrity": "sha512-TVo2R4tMT2VGXlGcpi3XbmyHqTx4IMM6RPICqQyo8Cl8SR8ksyPXeAJuTLvXbYaxbVKhztnY/p6Uu/zEBV7kdA==",
+      "dependencies": {
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-vue2": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-vue2/-/ckeditor5-vue2-3.0.1.tgz",
+      "integrity": "sha512-vS9ffP3rOFgM8oeG9XVFD+UtcYAhkgFDfBHjswJuCgUM0Iw8uqLlCiDPbs4PeJsend8GcmmtNeFdcQaSPkOtpw==",
+      "engines": {
+        "node": ">=14.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-watchdog": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-38.1.0.tgz",
+      "integrity": "sha512-o6M8bTnvrxfcwmX05iuvH9fvOwfe7pvEpduXDI35gXDUqOYN14lQFkU48OM4C/QvRQyos8WNLq2d+yg0cwNnIQ==",
+      "dependencies": {
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
+    "node_modules/@ckeditor/ckeditor5-widget": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-38.1.0.tgz",
+      "integrity": "sha512-7j1lgMKLOGdjndRWyogHGTW0pDr+0q5YP0LyqGWciiuxN6SWYSLOaYACBVKnCWp6VtvmPM473ZXF2RKW7YOVQQ==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-enter": "38.1.0",
+        "@ckeditor/ckeditor5-typing": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "lodash-es": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
     "node_modules/@fullcalendar/core": {
       "version": "6.1.4",
       "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.4.tgz",
@@ -1838,7 +2309,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
       "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
-      "dev": true,
       "dependencies": {
         "function-bind": "^1.1.1",
         "get-intrinsic": "^1.0.2"
@@ -2037,6 +2507,30 @@
         "safe-buffer": "^5.0.1"
       }
     },
+    "node_modules/ckeditor5": {
+      "version": "38.1.0",
+      "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-38.1.0.tgz",
+      "integrity": "sha512-rWkzD5d6qJkeC4IrVV56f3x2bd5USyYJ0Ida2nGReNLvQD4DhOsedfUe2cffhiSCDXW9nzyLAYtgDPl2V2zJaA==",
+      "dependencies": {
+        "@ckeditor/ckeditor5-clipboard": "38.1.0",
+        "@ckeditor/ckeditor5-core": "38.1.0",
+        "@ckeditor/ckeditor5-engine": "38.1.0",
+        "@ckeditor/ckeditor5-enter": "38.1.0",
+        "@ckeditor/ckeditor5-paragraph": "38.1.0",
+        "@ckeditor/ckeditor5-select-all": "38.1.0",
+        "@ckeditor/ckeditor5-typing": "38.1.0",
+        "@ckeditor/ckeditor5-ui": "38.1.0",
+        "@ckeditor/ckeditor5-undo": "38.1.0",
+        "@ckeditor/ckeditor5-upload": "38.1.0",
+        "@ckeditor/ckeditor5-utils": "38.1.0",
+        "@ckeditor/ckeditor5-watchdog": "38.1.0",
+        "@ckeditor/ckeditor5-widget": "38.1.0"
+      },
+      "engines": {
+        "node": ">=16.0.0",
+        "npm": ">=5.7.1"
+      }
+    },
     "node_modules/clap": {
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
@@ -2336,8 +2830,15 @@
     "node_modules/color-name": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
-      "dev": true
+      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+    },
+    "node_modules/color-parse": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.2.tgz",
+      "integrity": "sha512-RI7s49/8yqDj3fECFZjUI1Yi0z/Gq1py43oNJivAIIDSyJiOZLfYCRQEgn8HEVAj++PcRe8AnL2XF0fRJ3BTnA==",
+      "dependencies": {
+        "color-name": "^1.0.0"
+      }
     },
     "node_modules/color-string": {
       "version": "0.3.0",
@@ -3868,7 +4369,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
       "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
-      "dev": true,
       "dependencies": {
         "is-arguments": "^1.0.4",
         "is-date-object": "^1.0.1",
@@ -3893,7 +4393,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
       "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
-      "dev": true,
       "dependencies": {
         "has-property-descriptors": "^1.0.0",
         "object-keys": "^1.1.1"
@@ -4856,6 +5355,11 @@
       "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==",
       "dev": true
     },
+    "node_modules/extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+    },
     "node_modules/extend-shallow": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@@ -4946,6 +5450,11 @@
       "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==",
       "dev": true
     },
+    "node_modules/fast-diff": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
+      "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
+    },
     "node_modules/fast-json-stable-stringify": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -5299,8 +5808,7 @@
     "node_modules/function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
     },
     "node_modules/function.prototype.name": {
       "version": "1.1.5",
@@ -5324,7 +5832,6 @@
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
       "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
-      "dev": true,
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
       }
@@ -5339,7 +5846,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
       "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
-      "dev": true,
       "dependencies": {
         "function-bind": "^1.1.1",
         "has": "^1.0.3",
@@ -5513,7 +6019,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
       "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
       "dependencies": {
         "function-bind": "^1.1.1"
       },
@@ -5555,7 +6060,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
       "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
-      "dev": true,
       "dependencies": {
         "get-intrinsic": "^1.1.1"
       },
@@ -5579,7 +6083,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
       "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
-      "dev": true,
       "engines": {
         "node": ">= 0.4"
       },
@@ -5591,7 +6094,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
       "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
-      "dev": true,
       "dependencies": {
         "has-symbols": "^1.0.2"
       },
@@ -6226,7 +6728,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
       "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
-      "dev": true,
       "dependencies": {
         "call-bind": "^1.0.2",
         "has-tostringtag": "^1.0.0"
@@ -6359,7 +6860,6 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
       "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
-      "dev": true,
       "dependencies": {
         "has-tostringtag": "^1.0.0"
       },
@@ -6551,7 +7051,6 @@
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
       "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
-      "dev": true,
       "dependencies": {
         "call-bind": "^1.0.2",
         "has-tostringtag": "^1.0.0"
@@ -7018,6 +7517,11 @@
       "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
       "dev": true
     },
+    "node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+    },
     "node_modules/lodash.camelcase": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
@@ -7780,7 +8284,6 @@
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7883,7 +8386,6 @@
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
       "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
-      "dev": true,
       "dependencies": {
         "call-bind": "^1.0.2",
         "define-properties": "^1.1.3"
@@ -7899,7 +8401,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
       "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true,
       "engines": {
         "node": ">= 0.4"
       }
@@ -8246,6 +8747,11 @@
         "no-case": "^2.2.0"
       }
     },
+    "node_modules/parchment": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
+      "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
+    },
     "node_modules/parse-asn1": {
       "version": "5.1.6",
       "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
@@ -11362,6 +11868,45 @@
       "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
       "dev": true
     },
+    "node_modules/quill": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz",
+      "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
+      "dependencies": {
+        "clone": "^2.1.1",
+        "deep-equal": "^1.0.1",
+        "eventemitter3": "^2.0.3",
+        "extend": "^3.0.2",
+        "parchment": "^1.1.4",
+        "quill-delta": "^3.6.2"
+      }
+    },
+    "node_modules/quill-delta": {
+      "version": "3.6.3",
+      "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
+      "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
+      "dependencies": {
+        "deep-equal": "^1.0.1",
+        "extend": "^3.0.2",
+        "fast-diff": "1.1.2"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/quill/node_modules/clone": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+      "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/quill/node_modules/eventemitter3": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
+      "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
+    },
     "node_modules/randombytes": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -11616,7 +12161,6 @@
       "version": "1.4.3",
       "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
       "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
-      "dev": true,
       "dependencies": {
         "call-bind": "^1.0.2",
         "define-properties": "^1.1.3",
@@ -13823,6 +14367,11 @@
         "spdx-expression-parse": "^3.0.0"
       }
     },
+    "node_modules/vanilla-colorful": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/vanilla-colorful/-/vanilla-colorful-0.7.2.tgz",
+      "integrity": "sha512-z2YZusTFC6KnLERx1cgoIRX2CjPRP0W75N+3CC6gbvdX5Ch47rZkEMGO2Xnf+IEmi3RiFLxS18gayMA27iU7Kg=="
+    },
     "node_modules/vary": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -13942,6 +14491,19 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/vue-quill-editor": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz",
+      "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==",
+      "dependencies": {
+        "object-assign": "^4.1.1",
+        "quill": "^1.3.4"
+      },
+      "engines": {
+        "node": ">= 4.0.0",
+        "npm": ">= 3.0.0"
+      }
+    },
     "node_modules/vue-router": {
       "version": "3.6.5",
       "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz",

+ 3 - 0
package.json

@@ -10,6 +10,8 @@
     "build": "node build/build.js"
   },
   "dependencies": {
+    "@ckeditor/ckeditor5-build-classic": "^38.1.0",
+    "@ckeditor/ckeditor5-vue2": "^3.0.1",
     "@fullcalendar/core": "^6.1.4",
     "@fullcalendar/daygrid": "^6.1.4",
     "@fullcalendar/interaction": "^6.1.4",
@@ -19,6 +21,7 @@
     "element-ui": "^2.15.13",
     "tippy.js": "^6.3.7",
     "vue": "^2.5.2",
+    "vue-quill-editor": "^3.0.6",
     "vue-router": "^3.0.1",
     "vue-typed-js": "^0.1.2",
     "vue2-org-tree": "^1.3.6",

+ 29 - 19
src/assets/js/common.js

@@ -1,24 +1,34 @@
 export default{
-    install(Vue){
-        //这里是示例方法 getTime是方法名 function()可以携带参数
-        Vue.prototype.getTime = function(val,fun,title){
-            this.$confirm(val, '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
-                type: 'warning'
-            }).then(() => {
-                fun
-                this.$message({
-                type: 'success',
-                message: title+'成功!'
-                });
-            }).catch(() => {
-                this.$message({
-                type: 'info',
-                message: '已取消'+title
-                });          
-            });
+    data(){
+
+    },
+    methods: {
+        randomString(encode = 36, number = -8) {
+            return Math.random() // 生成随机数字,
+                .toString(encode) // 转化成36进制
+                .slice(number) 
         }
     }
+    // install(Vue){
+    //     //这里是示例方法 getTime是方法名 function()可以携带参数
+    //     Vue.prototype.getTime = function(val,fun,title){
+    //         this.$confirm(val, '提示', {
+    //             confirmButtonText: '确定',
+    //             cancelButtonText: '取消',
+    //             type: 'warning'
+    //         }).then(() => {
+    //             fun
+    //             this.$message({
+    //             type: 'success',
+    //             message: title+'成功!'
+    //             });
+    //         }).catch(() => {
+    //             this.$message({
+    //             type: 'info',
+    //             message: '已取消'+title
+    //             });          
+    //         });
+    //     }
+    // }
     
 }

+ 2 - 0
src/components/Finance/FeesPage.vue

@@ -289,6 +289,8 @@ export default {
         this.userid = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
         this.getPostSearchGrpCreditCardPayment();
         // this.getTime('是否通过该条费用?',this.ceshi(),'通过') 
+        // this.randomString()
+        this.test();
     }
 }
 </script>

+ 153 - 0
src/components/GPT/Richtext.vue

@@ -0,0 +1,153 @@
+<template>
+    <div class="richtext-box">
+        <quill-editor class="editor"
+            ref="myTextEditor"
+            v-model="content"
+            :options="editorOption"
+            @blur="onEditorBlur($event)"
+            @focus="onEditorFocus($event)"
+            @ready="onEditorReady($event)"
+            @change="onEditorChange($event)">
+            <button id="custom-button">defineAsyncComponent</button>
+        </quill-editor>
+    </div>
+</template>
+<script>
+    export default {
+      data () {
+        return {
+          content: null,
+          editorOption: {
+            modules: {
+              toolbar: [
+                ["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线
+                ["blockquote", "code-block"], // 引用  代码块
+                [{ header: 1 }, { header: 2 }], // 1、2 级标题
+                [{ list: "ordered" }, { list: "bullet" }], // 有序、无序列表
+                [{ script: "sub" }, { script: "super" }], // 上标/下标
+                [{ indent: "-1" }, { indent: "+1" }], // 缩进
+                // [{'direction': 'rtl'}],                         // 文本方向
+                [{ size: ["small", false, "large", "huge"] }], // 字体大小
+                [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
+                [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
+                [{ font: [] }], // 字体种类
+                [{ align: [] }], // 对齐方式
+                ["clean"], // 清除文本格式
+                ["link", "image", "video"], // 链接、图片、视频
+                ["sourceEditor"]
+              ], //工具菜单栏配置
+            },
+            placeholder: '请在这里添加产品描述', //提示
+            readyOnly: false, //是否只读
+            theme: 'snow', //主题 snow/bubble
+            syntax: true, //语法检测
+          }
+        }
+      },
+      methods: {
+        // 失去焦点
+        onEditorBlur(editor) {},
+        // 获得焦点
+        onEditorFocus(editor) {},
+        // 开始
+        onEditorReady(editor) {},
+        // 值发生变化
+        onEditorChange(editor) {
+          this.content = editor.html;
+          console.log(editor);
+        },
+      },
+      computed: {
+        editor() {
+          return this.$refs.myTextEditor.quillEditor;
+        }
+      },
+      mounted() {
+        // console.log('this is my editor',this.editor);
+      } 
+    }
+</script>
+<style>
+.richtext-box{
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+}
+.richtext-box .editor {
+line-height: normal !important;
+height: 800px;
+}
+.richtext-box .ql-snow .ql-tooltip[data-mode=link]::before {
+content: "请输入链接地址:";
+}
+.richtext-box .ql-snow .ql-tooltip.ql-editing a.ql-action::after {
+    border-right: 0px;
+    content: '保存';
+    padding-right: 0px;
+}
+
+.richtext-box .ql-snow .ql-tooltip[data-mode=video]::before {
+    content: "请输入视频地址:";
+}
+
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-label::before,
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-item::before {
+content: '14px';
+}
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
+content: '10px';
+}
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
+content: '18px';
+}
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
+.richtext-box .ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
+content: '32px';
+}
+
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item::before {
+content: '文本';
+}
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
+content: '标题1';
+}
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
+content: '标题2';
+}
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
+content: '标题3';
+}
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
+content: '标题4';
+}
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
+content: '标题5';
+}
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
+.richtext-box .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
+content: '标题6';
+}
+
+.richtext-box .ql-snow .ql-picker.ql-font .ql-picker-label::before,
+.richtext-box .ql-snow .ql-picker.ql-font .ql-picker-item::before {
+content: '标准字体';
+}
+.richtext-box .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
+.richtext-box .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
+content: '衬线字体';
+}
+.richtext-box .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
+.richtext-box .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
+content: '等宽字体';
+}
+</style>

+ 3 - 3
src/components/OP/Groupedit.vue

@@ -89,9 +89,9 @@
                     </el-form-item>
                 </el-form>
                 <el-form-item>
-                  <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
-                  <el-button @click="resetForm('ruleForm')">重 置</el-button>
-                  <el-button @click="clickback()">返 回</el-button>
+                    <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
+                    <el-button @click="resetForm('ruleForm')">重 置</el-button>
+                    <el-button @click="clickback()">返 回</el-button>
                 </el-form-item>
               </el-form>
         </div>

+ 7 - 0
src/components/OP/OCRIdentify.vue

@@ -131,6 +131,13 @@ export default {
                 reader.onload = function () {
                 imgResult = reader.result
                 }
+                3
+
+
+
+
+
+                
                 reader.onerror = function (error) {
                 reject(error)
                 }

+ 17 - 2
src/main.js

@@ -8,15 +8,30 @@ import 'element-ui/lib/theme-chalk/index.css';
 import './assets/icon/iconfont.css'
 import store from './store/index.js';
 import VueTypedJs from 'vue-typed-js'
+//富文本
+import VueQuillEditor from 'vue-quill-editor'
+import 'quill/dist/quill.core.css'
+import 'quill/dist/quill.snow.css'
+import 'quill/dist/quill.bubble.css'
+  Vue.use(VueQuillEditor);
+// import CKEditor from '@ckeditor/ckeditor5-vue2'
+// Vue.use( CKEditor );
+
 Vue.use(VueTypedJs)
 import axios from 'axios';
 axios.defaults.baseURL = 'http://132.232.92.186:8888';
 //axios.defaults.baseURL = 'http://localhost:5256/';
 import { Message } from "element-ui";
-import common from './assets/js/common'
-Vue.use(common);
+
+import common from './assets/js/common'//全局
+Vue.use(common);//全局
+
+import plugin from './plugin'//全局
+Vue.use(plugin);//全局
+
 Vue.prototype.$message = Message
 Vue.prototype.$axios = axios;
+;
 
 Vue.config.productionTip = false
 Vue.use(ElementUI);

+ 10 - 0
src/plugin.js

@@ -0,0 +1,10 @@
+exports.install = function (Vue, options) {
+    Vue.prototype.test = function (){
+        // console.log('test');
+        // this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
+        //     confirmButtonText: '确定',
+        //     cancelButtonText: '取消',
+        //     type: 'warning'
+        // }).then(() => {})
+    };
+};

+ 6 - 1
src/router/index.js

@@ -56,6 +56,7 @@ import AirTicketRes from '@/components/OP/AirTicketRes';
 import OpAirTicketRes from '@/components/OP/OpAirTicketRes';
 import DecreasePayments from '@/components/OP/DecreasePayments';
 import OpDecreasePayments from '@/components/OP/OpDecreasePayments';
+import Richtext from '@/components/GPT/Richtext';
 
 Vue.use(Router)
 
@@ -323,8 +324,12 @@ export default new Router({
           path: '/home/OpDecreasePayments',
           name: 'OpDecreasePayments',
           component: OpDecreasePayments
+        },
+        {
+          path: '/home/Richtext',
+          name: 'Richtext',
+          component: Richtext
         }
-
       ]
     },
     {