lex 1 рік тому
батько
коміт
301d50a20d

+ 90 - 30
package-lock.json

@@ -1787,6 +1787,7 @@
       "cpu": [
         "arm"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "android"
@@ -1802,6 +1803,7 @@
       "cpu": [
         "arm64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "android"
@@ -1817,6 +1819,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "android"
@@ -1832,6 +1835,7 @@
       "cpu": [
         "arm64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "darwin"
@@ -1847,6 +1851,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "darwin"
@@ -1862,6 +1867,7 @@
       "cpu": [
         "arm64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "freebsd"
@@ -1877,6 +1883,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "freebsd"
@@ -1892,6 +1899,7 @@
       "cpu": [
         "arm"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1907,6 +1915,7 @@
       "cpu": [
         "arm64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1922,6 +1931,7 @@
       "cpu": [
         "ia32"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1937,6 +1947,7 @@
       "cpu": [
         "loong64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1952,6 +1963,7 @@
       "cpu": [
         "mips64el"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1967,6 +1979,7 @@
       "cpu": [
         "ppc64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1982,6 +1995,7 @@
       "cpu": [
         "riscv64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -1997,6 +2011,7 @@
       "cpu": [
         "s390x"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -2012,6 +2027,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "linux"
@@ -2027,6 +2043,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "netbsd"
@@ -2042,6 +2059,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "openbsd"
@@ -2057,6 +2075,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "sunos"
@@ -2072,6 +2091,7 @@
       "cpu": [
         "arm64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "win32"
@@ -2087,6 +2107,7 @@
       "cpu": [
         "ia32"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "win32"
@@ -2102,6 +2123,7 @@
       "cpu": [
         "x64"
       ],
+      "dev": true,
       "optional": true,
       "os": [
         "win32"
@@ -4141,7 +4163,7 @@
       "version": "2.0.6",
       "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz",
       "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "is-what": "^3.14.1"
       }
@@ -4544,6 +4566,7 @@
       "version": "0.1.8",
       "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
       "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "dev": true,
       "optional": true,
       "dependencies": {
         "prr": "~1.0.1"
@@ -4631,6 +4654,7 @@
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz",
       "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+      "dev": true,
       "hasInstallScript": true,
       "bin": {
         "esbuild": "bin/esbuild"
@@ -5852,6 +5876,7 @@
       "version": "0.5.5",
       "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
       "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+      "dev": true,
       "optional": true,
       "bin": {
         "image-size": "bin/image-size.js"
@@ -6437,7 +6462,7 @@
       "version": "3.14.1",
       "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
       "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
-      "devOptional": true
+      "dev": true
     },
     "node_modules/is-windows": {
       "version": "1.0.2",
@@ -6706,7 +6731,7 @@
       "version": "4.1.3",
       "resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
       "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "copy-anything": "^2.0.1",
         "parse-node-version": "^1.0.1",
@@ -7189,6 +7214,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
       "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+      "dev": true,
       "optional": true,
       "dependencies": {
         "pify": "^4.0.1",
@@ -7202,6 +7228,7 @@
       "version": "5.7.1",
       "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz",
       "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
       "optional": true,
       "bin": {
         "semver": "bin/semver"
@@ -7257,6 +7284,7 @@
       "version": "1.6.0",
       "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
       "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
       "optional": true,
       "bin": {
         "mime": "cli.js"
@@ -7422,6 +7450,7 @@
       "version": "3.2.0",
       "resolved": "https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz",
       "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
+      "dev": true,
       "optional": true,
       "dependencies": {
         "debug": "^3.2.6",
@@ -7439,6 +7468,7 @@
       "version": "3.2.7",
       "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz",
       "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+      "dev": true,
       "optional": true,
       "dependencies": {
         "ms": "^2.1.1"
@@ -7903,7 +7933,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
       "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
-      "devOptional": true,
+      "dev": true,
       "engines": {
         "node": ">= 0.10"
       }
@@ -8027,6 +8057,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
       "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
       "optional": true,
       "engines": {
         "node": ">=6"
@@ -8290,6 +8321,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
       "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+      "dev": true,
       "optional": true
     },
     "node_modules/pseudomap": {
@@ -8851,6 +8883,7 @@
       "version": "1.2.4",
       "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true,
       "optional": true
     },
     "node_modules/seemly": {
@@ -9523,7 +9556,7 @@
       "version": "5.1.6",
       "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.1.6.tgz",
       "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
-      "devOptional": true,
+      "dev": true,
       "bin": {
         "tsc": "bin/tsc",
         "tsserver": "bin/tsserver"
@@ -9802,6 +9835,7 @@
       "version": "4.3.9",
       "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.9.tgz",
       "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==",
+      "dev": true,
       "dependencies": {
         "esbuild": "^0.17.5",
         "postcss": "^8.4.23",
@@ -9915,6 +9949,7 @@
       "version": "3.26.3",
       "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz",
       "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==",
+      "dev": true,
       "bin": {
         "rollup": "dist/bin/rollup"
       },
@@ -11119,8 +11154,7 @@
     "@babel/plugin-proposal-private-property-in-object": {
       "version": "7.21.0-placeholder-for-preset-env.2",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
-      "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
-      "requires": {}
+      "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w=="
     },
     "@babel/plugin-proposal-unicode-property-regex": {
       "version": "7.18.6",
@@ -11903,15 +11937,13 @@
       "version": "0.15.12",
       "resolved": "https://registry.npmmirror.com/@css-render/plugin-bem/-/plugin-bem-0.15.12.tgz",
       "integrity": "sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "@css-render/vue3-ssr": {
       "version": "0.15.12",
       "resolved": "https://registry.npmmirror.com/@css-render/vue3-ssr/-/vue3-ssr-0.15.12.tgz",
       "integrity": "sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "@daybrush/utils": {
       "version": "1.13.0",
@@ -11951,132 +11983,154 @@
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
       "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/android-arm64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
       "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/android-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
       "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/darwin-arm64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
       "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/darwin-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
       "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/freebsd-arm64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
       "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/freebsd-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
       "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-arm": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
       "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-arm64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
       "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-ia32": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
       "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-loong64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
       "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-mips64el": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
       "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-ppc64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
       "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-riscv64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
       "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-s390x": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
       "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/linux-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
       "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/netbsd-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
       "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/openbsd-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
       "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/sunos-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
       "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/win32-arm64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
       "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/win32-ia32": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
       "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
+      "dev": true,
       "optional": true
     },
     "@esbuild/win32-x64": {
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
       "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
+      "dev": true,
       "optional": true
     },
     "@eslint-community/eslint-utils": {
@@ -12322,8 +12376,7 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmmirror.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
       "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "@octokit/plugin-rest-endpoint-methods": {
       "version": "7.2.3",
@@ -12869,8 +12922,7 @@
     "@vant/use": {
       "version": "1.5.2",
       "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.5.2.tgz",
-      "integrity": "sha512-CBK61iT568dCHUwFFsErGbW6/5tmrPnZJKGtcSy7Tjcrmws8Ku+YZo7IUFD9Xkj9MfSJ4pfhQ7pU2KouP5Cojg==",
-      "requires": {}
+      "integrity": "sha512-CBK61iT568dCHUwFFsErGbW6/5tmrPnZJKGtcSy7Tjcrmws8Ku+YZo7IUFD9Xkj9MfSJ4pfhQ7pU2KouP5Cojg=="
     },
     "@vicons/ionicons5": {
       "version": "0.12.0",
@@ -12896,8 +12948,7 @@
       "version": "4.2.3",
       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz",
       "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "@vitejs/plugin-vue-jsx": {
       "version": "3.0.1",
@@ -13171,8 +13222,7 @@
       "version": "5.3.2",
       "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
       "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "aggregate-error": {
       "version": "3.1.0",
@@ -13709,7 +13759,7 @@
       "version": "2.0.6",
       "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz",
       "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "is-what": "^3.14.1"
       }
@@ -13870,8 +13920,7 @@
       "version": "1.3.8",
       "resolved": "https://registry.npmmirror.com/date-fns-tz/-/date-fns-tz-1.3.8.tgz",
       "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "dayjs": {
       "version": "1.11.9",
@@ -14047,6 +14096,7 @@
       "version": "0.1.8",
       "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
       "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "dev": true,
       "optional": true,
       "requires": {
         "prr": "~1.0.1"
@@ -14122,6 +14172,7 @@
       "version": "0.17.19",
       "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz",
       "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+      "dev": true,
       "requires": {
         "@esbuild/android-arm": "0.17.19",
         "@esbuild/android-arm64": "0.17.19",
@@ -14314,8 +14365,7 @@
       "version": "8.8.0",
       "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz",
       "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==",
-      "dev": true,
-      "requires": {}
+      "dev": true
     },
     "eslint-plugin-prettier": {
       "version": "4.2.1",
@@ -15076,6 +15126,7 @@
       "version": "0.5.5",
       "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
       "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+      "dev": true,
       "optional": true
     },
     "import-fresh": {
@@ -15528,7 +15579,7 @@
       "version": "3.14.1",
       "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
       "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
-      "devOptional": true
+      "dev": true
     },
     "is-windows": {
       "version": "1.0.2",
@@ -15739,7 +15790,7 @@
       "version": "4.1.3",
       "resolved": "https://registry.npmmirror.com/less/-/less-4.1.3.tgz",
       "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "copy-anything": "^2.0.1",
         "errno": "^0.1.1",
@@ -16132,6 +16183,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
       "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+      "dev": true,
       "optional": true,
       "requires": {
         "pify": "^4.0.1",
@@ -16142,6 +16194,7 @@
           "version": "5.7.1",
           "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz",
           "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true,
           "optional": true
         }
       }
@@ -16184,6 +16237,7 @@
       "version": "1.6.0",
       "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
       "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
       "optional": true
     },
     "mime-db": {
@@ -16312,6 +16366,7 @@
       "version": "3.2.0",
       "resolved": "https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz",
       "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
+      "dev": true,
       "optional": true,
       "requires": {
         "debug": "^3.2.6",
@@ -16323,6 +16378,7 @@
           "version": "3.2.7",
           "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz",
           "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
           "optional": true,
           "requires": {
             "ms": "^2.1.1"
@@ -16701,7 +16757,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
       "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
-      "devOptional": true
+      "dev": true
     },
     "parse-passwd": {
       "version": "1.0.0",
@@ -16792,6 +16848,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
       "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
       "optional": true
     },
     "pinia": {
@@ -16988,6 +17045,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
       "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+      "dev": true,
       "optional": true
     },
     "pseudomap": {
@@ -17440,6 +17498,7 @@
       "version": "1.2.4",
       "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true,
       "optional": true
     },
     "seemly": {
@@ -17998,7 +18057,7 @@
       "version": "5.1.6",
       "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.1.6.tgz",
       "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
-      "devOptional": true
+      "dev": true
     },
     "uglify-js": {
       "version": "3.17.4",
@@ -18209,6 +18268,7 @@
       "version": "4.3.9",
       "resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.9.tgz",
       "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==",
+      "dev": true,
       "requires": {
         "esbuild": "^0.17.5",
         "fsevents": "~2.3.2",
@@ -18220,6 +18280,7 @@
           "version": "3.26.3",
           "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz",
           "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==",
+          "dev": true,
           "requires": {
             "fsevents": "~2.3.2"
           }
@@ -18302,8 +18363,7 @@
     "vue-demi": {
       "version": "0.14.5",
       "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz",
-      "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
-      "requires": {}
+      "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA=="
     },
     "vue-eslint-parser": {
       "version": "9.3.1",

+ 1 - 1
src/components/card-type/index.tsx

@@ -141,7 +141,7 @@ export default defineComponent({
                     class={[styles.cover, styles.image]}
                     lazy
                     previewDisabled={true}
-                    objectFit="cover"
+                    objectFit="contain"
                     src={props.item.coverImg}
                   />
                 )}

+ 2 - 0
src/views/attend-class/component/musicScore.module.less

@@ -4,6 +4,8 @@
   height: 100%;
   -webkit-overflow-scrolling: touch;
   overflow: scroll;
+  padding-top: 30px;
+
 
   .container {
     position: relative;

+ 8 - 5
src/views/attend-class/component/video.module.less

@@ -2,7 +2,7 @@
   width: 100%;
   height: 100%;
   --plyr-color-main: #198CFE;
-  --plyr-range-track-height: 13px;
+  --plyr-range-track-height: 8px;
   --plyr-tooltip-radius: 3px;
   --plyr-range-thumb-height: 32px;
 
@@ -87,8 +87,10 @@
 
     .actionBtn {
       display: flex;
-      width: 43px !important;
-      height: 43px !important;
+      // width: 43px !important;
+      // height: 43px !important;
+      width: 82px;
+      height: 82px;
       padding: 4px 0;
       background: transparent;
     }
@@ -128,8 +130,9 @@
 
     .loopBtn {
       background-color: transparent;
-      width: 41px;
-      height: 39px;
+      width: 43px;
+      height: 42px;
+      padding: 0;
       cursor: pointer;
 
       :global {

+ 1 - 1
src/views/attend-class/index.module.less

@@ -60,7 +60,7 @@
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.6), transparent);
   transition: transform 0.5s;
   box-sizing: border-box;
-  font-size: 18px;
+  font-size: 22px;
 
   div {
     box-sizing: border-box;

+ 21 - 22
src/views/attend-class/index.tsx

@@ -642,7 +642,6 @@ export default defineComponent({
             <Transition name="right">
               {activeData.model && (
                 <div
-
                   class={styles.rightFixedBtns}
                   onClick={(e: Event) => {
                     e.stopPropagation();
@@ -659,27 +658,27 @@ export default defineComponent({
                     }}>
                     <img src={iconUp} />
                   </div>
-                    <div   id="attent-0">
-                  <div
-                    class={[styles.fullBtn, styles.point]}
-                    onClick={() => (popupData.open = true)}>
-                    <img src={iconMenu} />
-                  </div>
-
-                  <div
-                    class={[
-                      styles.fullBtn,
-                      popupData.activeIndex === data.itemList.length - 1
-                        ? styles.btnsDisabled
-                        : ''
-                    ]}
-                    onClick={() => {
-                      if (popupData.activeIndex === data.itemList.length - 1)
-                        return;
-                      handlePreAndNext('down');
-                    }}>
-                    <img src={iconDown} />
-                  </div>
+                  <div id="attent-0">
+                    <div
+                      class={[styles.fullBtn, styles.point]}
+                      onClick={() => (popupData.open = true)}>
+                      <img src={iconMenu} />
+                    </div>
+
+                    <div
+                      class={[
+                        styles.fullBtn,
+                        popupData.activeIndex === data.itemList.length - 1
+                          ? styles.btnsDisabled
+                          : ''
+                      ]}
+                      onClick={() => {
+                        if (popupData.activeIndex === data.itemList.length - 1)
+                          return;
+                        handlePreAndNext('down');
+                      }}>
+                      <img src={iconDown} />
+                    </div>
                   </div>
                 </div>
               )}

+ 9 - 10
src/views/prepare-lessons/components/lesson-main/courseware/index.tsx

@@ -120,7 +120,7 @@ export default defineComponent({
       );
       forms.coursewareList.splice(index, 1);
       // prepareStore.setCoursewareList(forms.coursewareList);
-      console.log(prepareStore.getCoursewareList, 'getCourseware');
+      // console.log(prepareStore.getCoursewareList, 'getCourseware');
     };
 
     // 完成编辑
@@ -309,21 +309,22 @@ export default defineComponent({
                       v-model:modelValue={forms.coursewareList}
                       itemKey="id"
                       componentData={{
+                        itemKey: 'id',
+                        tag: 'div',
                         animation: 200,
-                        group: 'description'
+                        group: 'description',
+                        disabled: false
                       }}
                       class={styles.list}>
                       {{
-                        item: (element: any,index:number) => {
+                        item: (element: any) => {
                           const item = element.element;
-                          return (<>
-
-
+                          return (
                             <div
                               data-id={item.id}
                               class={[styles.itemBlock, 'row-nav']}>
                               <CardType
-                                class={[styles.itemContent, 'handle']}
+                                class={[styles.itemContent]}
                                 isShowCollect={false}
                                 offShelf={item.removeFlag ? true : false}
                                 onOffShelf={() => onRemove(item)}
@@ -340,15 +341,13 @@ export default defineComponent({
                                 />
                               </div>
                             </div>
-                            </>
                           );
                         }
                       }}
                     </Draggable>
                   ) : (
                     <div class={styles.list}>
-                      {forms.coursewareList.map((item: any,index:number) => (
-
+                      {forms.coursewareList.map((item: any, index: number) => (
                         <CardType
                           class={[styles.itemContent, 'handle']}
                           isShowCollect={false}

+ 7 - 3
src/views/prepare-lessons/components/lesson-main/index.tsx

@@ -17,13 +17,17 @@ export default defineComponent({
           paneClass={styles.paneTitle}
           justifyContent="center"
           paneWrapperClass={styles.paneWrapperContainer}
-          onUpdate: value={(val: string) => {
+          onUpdate:value={(val: string) => {
             prepareStore.setTabType(val);
           }}>
-          <NTabPane name="courseware" tab="课件" >
+          <NTabPane name="courseware" tab="课件">
             <Courseware />
           </NTabPane>
-          <NTabPane name="train" tab="训练" v-slots={{ tab: () => <span id='lessons-4'>训练</span> }} {...{ id: 'lessons-4' }}>
+          <NTabPane
+            name="train"
+            tab="训练"
+            v-slots={{ tab: () => <span id="lessons-4">训练</span> }}
+            {...{ id: 'lessons-4' }}>
             <Train />
           </NTabPane>
         </NTabs>

+ 59 - 0
src/views/prepare-lessons/components/lesson-main/train/index.module.less

@@ -103,4 +103,63 @@
       }
     }
   }
+}
+
+.removeVisiable {
+  width: 500px;
+
+  .studentRemove {
+    padding: 20px 40px 0;
+
+    p {
+      font-size: 18px;
+      color: #777777;
+      line-height: 30px;
+      text-align: center;
+
+      span {
+        color: #EA4132;
+      }
+    }
+  }
+
+  .btnGroupModal {
+    padding: 32px 0;
+
+    :global {
+      .n-button {
+        height: 47px;
+        min-width: 156px;
+      }
+    }
+  }
+}
+
+.removeVisiable1 {
+  width: 500px;
+
+  .studentRemove {
+    padding: 20px 40px 0;
+
+    p {
+      font-size: 18px;
+      color: #777777;
+      line-height: 30px;
+
+      span {
+        color: #EA4132;
+      }
+    }
+  }
+
+  .btnGroupModal {
+    padding: 32px 0;
+
+    :global {
+      .n-button {
+        height: 47px;
+        min-width: 156px;
+      }
+    }
+  }
 }

+ 106 - 36
src/views/prepare-lessons/components/lesson-main/train/index.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, onMounted, reactive, watch ,ref} from 'vue';
+import { defineComponent, onMounted, reactive, watch, ref } from 'vue';
 import styles from './index.module.less';
 import {
   NButton,
@@ -23,7 +23,7 @@ import {
 import { evaluateDifficult } from '/src/utils/contants';
 import TrainUpdate from '/src/views/attend-class/model/train-update';
 import AssignHomework from './assign-homework';
-import Trainguide from '@/custom-plugins/guide-page/train-guide'
+import Trainguide from '@/custom-plugins/guide-page/train-guide';
 export default defineComponent({
   name: 'courseware-modal',
   setup() {
@@ -39,34 +39,39 @@ export default defineComponent({
       trainList: [] as any,
       assignHomeworkStatus: false,
       editStatus: false,
-      editItem: {} as any
+      editItem: {} as any,
+      removeIds: [] as any, // 临时删除的编号
+      removeVisiable: false,
+      removeVisiable1: false
     });
-    const showGuide = ref(false)
+    const showGuide = ref(false);
     // 完成编辑
     const onOverEdit = async () => {
-      dialog.warning({
-        title: '提示',
-        content: `是否完成编辑?`,
-        positiveText: '确定',
-        negativeText: '取消',
-        onPositiveClick: async () => {
-          try {
-            // 保存课件
-            await lessonPreTrainingBatchSave({
-              coursewareKnowledgeDetailId: prepareStore.getSelectKey,
-              subjectId: prepareStore.getSubjectId,
-              lessonPreTrainingDetails: forms.trainList
-            });
-
-            forms.drag = false;
-            message.success('编辑成功');
+      // dialog.warning({
+      //   title: '提示',
+      //   content: `是否完成编辑?`,
+      //   positiveText: '确定',
+      //   negativeText: '取消',
+      //   onPositiveClick: async () => {
+      try {
+        // 保存课件
+        await lessonPreTrainingBatchSave({
+          coursewareKnowledgeDetailId: prepareStore.getSelectKey,
+          subjectId: prepareStore.getSubjectId,
+          lessonPreTrainingDetails: forms.trainList
+        });
 
-            prepareStore.setCoursewareList(forms.trainList);
-          } catch {
-            //
-          }
-        }
-      });
+        forms.drag = false;
+        message.success('编辑成功');
+        forms.removeVisiable = false;
+        prepareStore.setCoursewareList(forms.trainList);
+        // 重置临时删除编号
+        forms.removeIds = [];
+      } catch {
+        //
+      }
+      // }
+      // });
     };
 
     // 获取列表
@@ -107,12 +112,17 @@ export default defineComponent({
           });
         });
 
-        forms.trainList = temp || [];
         prepareStore.setTrainList(temp || []);
-        setTimeout(()=>{
+        const tempCourse: any = [];
+        temp.forEach((item: any) => {
+          if (!forms.removeIds.includes(item.id)) {
+            tempCourse.push(item);
+          }
+        });
+        forms.trainList = tempCourse || [];
+        setTimeout(() => {
           showGuide.value = true;
-        },500)
-
+        }, 500);
       } catch {
         //
       }
@@ -141,9 +151,10 @@ export default defineComponent({
     // 删除
     const onDelete = (item: any) => {
       //
+      forms.removeIds.push(item.id);
       const index = forms.trainList.findIndex((c: any) => c.id === item.id);
       forms.trainList.splice(index, 1);
-      prepareStore.setCoursewareList(forms.trainList);
+      // prepareStore.setCoursewareList(forms.trainList);
     };
 
     // 单个删除
@@ -155,6 +166,7 @@ export default defineComponent({
           positiveText: '确定',
           negativeText: '取消',
           onPositiveClick: async () => {
+            forms.removeIds.push(item.id);
             await lessonPreTrainingDelete({ ids: item.id });
             message.success('删除成功');
             getList();
@@ -181,13 +193,18 @@ export default defineComponent({
         <div class={styles.btnGroup}>
           {forms.drag ? (
             <NSpace>
-              <NButton type="default" onClick={onOverEdit}>
+              <NButton
+                type="default"
+                onClick={() => {
+                  forms.removeVisiable = true;
+                }}>
                 完成编辑
               </NButton>
               <NButton
                 type="error"
                 onClick={() => {
                   forms.drag = false;
+                  forms.removeIds = [];
                   getList();
                 }}>
                 取消编辑
@@ -195,8 +212,9 @@ export default defineComponent({
               <NButton
                 type="error"
                 onClick={() => {
-                  forms.trainList = [];
-                  prepareStore.setTrainList([]);
+                  // forms.trainList = [];
+                  // prepareStore.setTrainList([]);
+                  forms.removeVisiable1 = true;
                 }}>
                 清空资源
               </NButton>
@@ -223,7 +241,7 @@ export default defineComponent({
           <NSpace>
             <NButton
               type="primary"
-              {...{id:'train-0'}}
+              {...{ id: 'train-0' }}
               disabled={forms.drag}
               onClick={() => {
                 let count = 0;
@@ -349,8 +367,60 @@ export default defineComponent({
             onClose={() => (forms.assignHomeworkStatus = false)}
           />
         </NModal>
-        {showGuide.value?<Trainguide></Trainguide>:null}
+        {showGuide.value ? <Trainguide></Trainguide> : null}
 
+        <NModal
+          v-model:show={forms.removeVisiable}
+          preset="card"
+          class={['modalTitle', styles.removeVisiable]}
+          title={'提示'}>
+          <div class={styles.studentRemove}>
+            <p>是否完成编辑?</p>
+
+            <NSpace class={styles.btnGroupModal} justify="center">
+              <NButton round type="primary" onClick={onOverEdit}>
+                确定
+              </NButton>
+              <NButton round onClick={() => (forms.removeVisiable = false)}>
+                取消
+              </NButton>
+            </NSpace>
+          </div>
+        </NModal>
+
+        <NModal
+          v-model:show={forms.removeVisiable1}
+          preset="card"
+          class={['modalTitle', styles.removeVisiable1]}
+          title={'清空资源'}>
+          <div class={styles.studentRemove}>
+            <p>
+              请确认是否要清空训练?
+              <span>点击确认后所有的训练内容 将被清空掉。</span>
+            </p>
+
+            <NSpace class={styles.btnGroupModal} justify="center">
+              <NButton
+                round
+                type="primary"
+                onClick={() => {
+                  forms.trainList.forEach((item: any) => {
+                    forms.removeIds.push(item.id);
+                  });
+                  forms.trainList = [];
+                  forms.removeVisiable1 = false;
+                  // prepareStore.setCoursewareList([]);
+
+                  console.log(prepareStore.getTrainList, 'getCourseware1');
+                }}>
+                确定
+              </NButton>
+              <NButton round onClick={() => (forms.removeVisiable1 = false)}>
+                取消
+              </NButton>
+            </NSpace>
+          </div>
+        </NModal>
       </div>
     );
   }

+ 7 - 7
src/views/prepare-lessons/model/select-resources/index.tsx

@@ -11,23 +11,23 @@ export default defineComponent({
       <div class={styles.selectMusic}>
         <NTabs
           animated
-          defaultValue="shareResources"
+          defaultValue="myResources"
           paneClass={styles.paneTitle}
           justifyContent="center"
           paneWrapperClass={styles.paneWrapperContainer}>
           <NTabPane
-            name="shareResources"
-            tab="共享资源"
-            displayDirective="show:lazy">
-            <SelectItem type="shareResources" />
-          </NTabPane>
-          <NTabPane
             name="myResources"
             tab="我的资源"
             displayDirective="show:lazy">
             <SelectItem type="myResources" />
           </NTabPane>
           <NTabPane
+            name="shareResources"
+            tab="共享资源"
+            displayDirective="show:lazy">
+            <SelectItem type="shareResources" />
+          </NTabPane>
+          <NTabPane
             name="myCollect"
             tab="我的收藏"
             displayDirective="show:lazy">