Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuping
2022-12-05 17:08:11 +08:00
18 changed files with 1696 additions and 522 deletions

189
package-lock.json generated
View File

@@ -8,6 +8,7 @@
"name": "fe_manage", "name": "fe_manage",
"version": "0.1.0", "version": "0.1.0",
"dependencies": { "dependencies": {
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"ant-design-vue": "^3.2.12", "ant-design-vue": "^3.2.12",
"axios": "^1.1.3", "axios": "^1.1.3",
@@ -2138,8 +2139,7 @@
"node_modules/@transloadit/prettier-bytes": { "node_modules/@transloadit/prettier-bytes": {
"version": "0.0.7", "version": "0.0.7",
"resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", "resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz",
"integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==", "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA=="
"peer": true
}, },
"node_modules/@trysound/sax": { "node_modules/@trysound/sax": {
"version": "0.2.0", "version": "0.2.0",
@@ -2217,8 +2217,7 @@
"node_modules/@types/event-emitter": { "node_modules/@types/event-emitter": {
"version": "0.3.3", "version": "0.3.3",
"resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.3.tgz", "resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.3.tgz",
"integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==", "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q=="
"peer": true
}, },
"node_modules/@types/express": { "node_modules/@types/express": {
"version": "4.17.14", "version": "4.17.14",
@@ -2371,7 +2370,6 @@
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz", "resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz",
"integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==",
"peer": true,
"dependencies": { "dependencies": {
"@uppy/utils": "^4.1.2", "@uppy/utils": "^4.1.2",
"namespace-emitter": "^2.0.1" "namespace-emitter": "^2.0.1"
@@ -2381,7 +2379,6 @@
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz", "resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz",
"integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==",
"peer": true,
"dependencies": { "dependencies": {
"@transloadit/prettier-bytes": "0.0.7", "@transloadit/prettier-bytes": "0.0.7",
"@uppy/store-default": "^2.1.1", "@uppy/store-default": "^2.1.1",
@@ -2396,14 +2393,12 @@
"node_modules/@uppy/store-default": { "node_modules/@uppy/store-default": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz",
"integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==", "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ=="
"peer": true
}, },
"node_modules/@uppy/utils": { "node_modules/@uppy/utils": {
"version": "4.1.3", "version": "4.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz", "resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz",
"integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==",
"peer": true,
"dependencies": { "dependencies": {
"lodash.throttle": "^4.1.1" "lodash.throttle": "^4.1.1"
} }
@@ -2412,7 +2407,6 @@
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", "resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz",
"integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==",
"peer": true,
"dependencies": { "dependencies": {
"@uppy/companion-client": "^2.2.2", "@uppy/companion-client": "^2.2.2",
"@uppy/utils": "^4.1.2", "@uppy/utils": "^4.1.2",
@@ -3184,7 +3178,6 @@
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz",
"integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==",
"peer": true,
"dependencies": { "dependencies": {
"is-url": "^1.2.4" "is-url": "^1.2.4"
}, },
@@ -3201,7 +3194,6 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz",
"integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==",
"peer": true,
"dependencies": { "dependencies": {
"prismjs": "^1.23.0" "prismjs": "^1.23.0"
}, },
@@ -3216,7 +3208,6 @@
"version": "1.1.19", "version": "1.1.19",
"resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz",
"integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==",
"peer": true,
"dependencies": { "dependencies": {
"@types/event-emitter": "^0.3.3", "@types/event-emitter": "^0.3.3",
"event-emitter": "^0.3.5", "event-emitter": "^0.3.5",
@@ -3246,7 +3237,6 @@
"version": "5.1.23", "version": "5.1.23",
"resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz",
"integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==", "integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==",
"peer": true,
"dependencies": { "dependencies": {
"@uppy/core": "^2.1.1", "@uppy/core": "^2.1.1",
"@uppy/xhr-upload": "^2.0.3", "@uppy/xhr-upload": "^2.0.3",
@@ -3284,7 +3274,6 @@
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz",
"integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==",
"peer": true,
"peerDependencies": { "peerDependencies": {
"@wangeditor/core": "1.x", "@wangeditor/core": "1.x",
"dom7": "^3.0.0", "dom7": "^3.0.0",
@@ -3296,7 +3285,6 @@
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz",
"integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==",
"peer": true,
"peerDependencies": { "peerDependencies": {
"@wangeditor/core": "1.x", "@wangeditor/core": "1.x",
"dom7": "^3.0.0", "dom7": "^3.0.0",
@@ -3311,7 +3299,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz",
"integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==",
"peer": true,
"peerDependencies": { "peerDependencies": {
"@uppy/core": "^2.0.3", "@uppy/core": "^2.0.3",
"@uppy/xhr-upload": "^2.0.3", "@uppy/xhr-upload": "^2.0.3",
@@ -3327,7 +3314,6 @@
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz",
"integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==",
"peer": true,
"peerDependencies": { "peerDependencies": {
"@uppy/core": "^2.1.4", "@uppy/core": "^2.1.4",
"@uppy/xhr-upload": "^2.0.7", "@uppy/xhr-upload": "^2.0.7",
@@ -4957,7 +4943,6 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz",
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
"peer": true,
"dependencies": { "dependencies": {
"es5-ext": "^0.10.50", "es5-ext": "^0.10.50",
"type": "^1.0.1" "type": "^1.0.1"
@@ -5261,7 +5246,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz",
"integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==",
"peer": true,
"dependencies": { "dependencies": {
"ssr-window": "^3.0.0-alpha.1" "ssr-window": "^3.0.0-alpha.1"
} }
@@ -5473,7 +5457,6 @@
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz", "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz",
"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
"hasInstallScript": true, "hasInstallScript": true,
"peer": true,
"dependencies": { "dependencies": {
"es6-iterator": "^2.0.3", "es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3", "es6-symbol": "^3.1.3",
@@ -5487,7 +5470,6 @@
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
"peer": true,
"dependencies": { "dependencies": {
"d": "1", "d": "1",
"es5-ext": "^0.10.35", "es5-ext": "^0.10.35",
@@ -5498,7 +5480,6 @@
"version": "3.1.3", "version": "3.1.3",
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz", "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz",
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
"peer": true,
"dependencies": { "dependencies": {
"d": "^1.0.1", "d": "^1.0.1",
"ext": "^1.1.2" "ext": "^1.1.2"
@@ -6098,7 +6079,6 @@
"version": "0.3.5", "version": "0.3.5",
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz", "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"peer": true,
"dependencies": { "dependencies": {
"d": "1", "d": "1",
"es5-ext": "~0.10.14" "es5-ext": "~0.10.14"
@@ -6231,7 +6211,6 @@
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
"peer": true,
"dependencies": { "dependencies": {
"type": "^2.7.2" "type": "^2.7.2"
} }
@@ -6239,8 +6218,7 @@
"node_modules/ext/node_modules/type": { "node_modules/ext/node_modules/type": {
"version": "2.7.2", "version": "2.7.2",
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz", "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz",
"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
"peer": true
}, },
"node_modules/fast-deep-equal": { "node_modules/fast-deep-equal": {
"version": "3.1.3", "version": "3.1.3",
@@ -6796,8 +6774,7 @@
"node_modules/html-void-elements": { "node_modules/html-void-elements": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz",
"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
"peer": true
}, },
"node_modules/html-webpack-plugin": { "node_modules/html-webpack-plugin": {
"version": "5.5.0", "version": "5.5.0",
@@ -6921,7 +6898,6 @@
"version": "20.6.1", "version": "20.6.1",
"resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz", "resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz",
"integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==",
"peer": true,
"dependencies": { "dependencies": {
"@babel/runtime": "^7.12.0" "@babel/runtime": "^7.12.0"
} }
@@ -6968,8 +6944,7 @@
"node_modules/immer": { "node_modules/immer": {
"version": "9.0.16", "version": "9.0.16",
"resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.16.tgz", "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.16.tgz",
"integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==", "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ=="
"peer": true
}, },
"node_modules/immutable": { "node_modules/immutable": {
"version": "4.1.0", "version": "4.1.0",
@@ -7117,8 +7092,7 @@
"node_modules/is-hotkey": { "node_modules/is-hotkey": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz", "resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz",
"integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==", "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw=="
"peer": true
}, },
"node_modules/is-interactive": { "node_modules/is-interactive": {
"version": "1.0.0", "version": "1.0.0",
@@ -7180,8 +7154,7 @@
"node_modules/is-url": { "node_modules/is-url": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz", "resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz",
"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
"peer": true
}, },
"node_modules/is-wsl": { "node_modules/is-wsl": {
"version": "2.2.0", "version": "2.2.0",
@@ -7497,14 +7470,12 @@
"node_modules/lodash.camelcase": { "node_modules/lodash.camelcase": {
"version": "4.3.0", "version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
"peer": true
}, },
"node_modules/lodash.clonedeep": { "node_modules/lodash.clonedeep": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
"peer": true
}, },
"node_modules/lodash.debounce": { "node_modules/lodash.debounce": {
"version": "4.0.8", "version": "4.0.8",
@@ -7520,14 +7491,12 @@
"node_modules/lodash.foreach": { "node_modules/lodash.foreach": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ=="
"peer": true
}, },
"node_modules/lodash.isequal": { "node_modules/lodash.isequal": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
"peer": true
}, },
"node_modules/lodash.kebabcase": { "node_modules/lodash.kebabcase": {
"version": "4.1.1", "version": "4.1.1",
@@ -7556,14 +7525,12 @@
"node_modules/lodash.throttle": { "node_modules/lodash.throttle": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
"peer": true
}, },
"node_modules/lodash.toarray": { "node_modules/lodash.toarray": {
"version": "4.4.0", "version": "4.4.0",
"resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==", "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw=="
"peer": true
}, },
"node_modules/lodash.truncate": { "node_modules/lodash.truncate": {
"version": "4.4.2", "version": "4.4.2",
@@ -7930,7 +7897,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz",
"integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==",
"peer": true,
"dependencies": { "dependencies": {
"wildcard": "^1.1.0" "wildcard": "^1.1.0"
} }
@@ -7938,8 +7904,7 @@
"node_modules/mime-match/node_modules/wildcard": { "node_modules/mime-match/node_modules/wildcard": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz",
"integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==", "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng=="
"peer": true
}, },
"node_modules/mime-types": { "node_modules/mime-types": {
"version": "2.1.35", "version": "2.1.35",
@@ -8122,8 +8087,7 @@
"node_modules/namespace-emitter": { "node_modules/namespace-emitter": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz",
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==", "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g=="
"peer": true
}, },
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.3.4", "version": "3.3.4",
@@ -8165,8 +8129,7 @@
"node_modules/next-tick": { "node_modules/next-tick": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
"peer": true
}, },
"node_modules/nice-try": { "node_modules/nice-try": {
"version": "1.0.5", "version": "1.0.5",
@@ -9264,8 +9227,7 @@
"node_modules/preact": { "node_modules/preact": {
"version": "10.11.3", "version": "10.11.3",
"resolved": "https://registry.npmmirror.com/preact/-/preact-10.11.3.tgz", "resolved": "https://registry.npmmirror.com/preact/-/preact-10.11.3.tgz",
"integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==", "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg=="
"peer": true
}, },
"node_modules/prelude-ls": { "node_modules/prelude-ls": {
"version": "1.2.1", "version": "1.2.1",
@@ -9303,7 +9265,6 @@
"version": "1.29.0", "version": "1.29.0",
"resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz",
"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
"peer": true,
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
@@ -10087,7 +10048,6 @@
"version": "0.72.8", "version": "0.72.8",
"resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz", "resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz",
"integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==",
"peer": true,
"dependencies": { "dependencies": {
"immer": "^9.0.6", "immer": "^9.0.6",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
@@ -10098,7 +10058,6 @@
"version": "0.66.0", "version": "0.66.0",
"resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz", "resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz",
"integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==",
"peer": true,
"dependencies": { "dependencies": {
"is-plain-object": "^5.0.0" "is-plain-object": "^5.0.0"
}, },
@@ -10110,7 +10069,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@@ -10119,7 +10077,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"peer": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@@ -10172,7 +10129,6 @@
"version": "3.5.1", "version": "3.5.1",
"resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.5.1.tgz", "resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.5.1.tgz",
"integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==", "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==",
"peer": true,
"engines": { "engines": {
"node": ">=8.3.0" "node": ">=8.3.0"
} }
@@ -10295,8 +10251,7 @@
"node_modules/ssr-window": { "node_modules/ssr-window": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz",
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==", "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
"peer": true
}, },
"node_modules/ssri": { "node_modules/ssri": {
"version": "8.0.1", "version": "8.0.1",
@@ -10684,8 +10639,7 @@
"node_modules/tiny-warning": { "node_modules/tiny-warning": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
"peer": true
}, },
"node_modules/to-fast-properties": { "node_modules/to-fast-properties": {
"version": "2.0.0", "version": "2.0.0",
@@ -10741,8 +10695,7 @@
"node_modules/type": { "node_modules/type": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz",
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
"peer": true
}, },
"node_modules/type-check": { "node_modules/type-check": {
"version": "0.4.0", "version": "0.4.0",
@@ -13436,8 +13389,7 @@
"@transloadit/prettier-bytes": { "@transloadit/prettier-bytes": {
"version": "0.0.7", "version": "0.0.7",
"resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", "resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz",
"integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==", "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA=="
"peer": true
}, },
"@trysound/sax": { "@trysound/sax": {
"version": "0.2.0", "version": "0.2.0",
@@ -13512,8 +13464,7 @@
"@types/event-emitter": { "@types/event-emitter": {
"version": "0.3.3", "version": "0.3.3",
"resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.3.tgz", "resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.3.tgz",
"integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q==", "integrity": "sha512-UfnOK1pIxO7P+EgPRZXD9jMpimd8QEFcEZ5R67R1UhGbv4zghU5+NE7U8M8G9H5Jc8FI51rqDWQs6FtUfq2e/Q=="
"peer": true
}, },
"@types/express": { "@types/express": {
"version": "4.17.14", "version": "4.17.14",
@@ -13666,7 +13617,6 @@
"version": "2.2.2", "version": "2.2.2",
"resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz", "resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz",
"integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==",
"peer": true,
"requires": { "requires": {
"@uppy/utils": "^4.1.2", "@uppy/utils": "^4.1.2",
"namespace-emitter": "^2.0.1" "namespace-emitter": "^2.0.1"
@@ -13676,7 +13626,6 @@
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz", "resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz",
"integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==",
"peer": true,
"requires": { "requires": {
"@transloadit/prettier-bytes": "0.0.7", "@transloadit/prettier-bytes": "0.0.7",
"@uppy/store-default": "^2.1.1", "@uppy/store-default": "^2.1.1",
@@ -13691,14 +13640,12 @@
"@uppy/store-default": { "@uppy/store-default": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz",
"integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==", "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ=="
"peer": true
}, },
"@uppy/utils": { "@uppy/utils": {
"version": "4.1.3", "version": "4.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz", "resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz",
"integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==",
"peer": true,
"requires": { "requires": {
"lodash.throttle": "^4.1.1" "lodash.throttle": "^4.1.1"
} }
@@ -13707,7 +13654,6 @@
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", "resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz",
"integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==",
"peer": true,
"requires": { "requires": {
"@uppy/companion-client": "^2.2.2", "@uppy/companion-client": "^2.2.2",
"@uppy/utils": "^4.1.2", "@uppy/utils": "^4.1.2",
@@ -14321,7 +14267,6 @@
"version": "1.1.7", "version": "1.1.7",
"resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz",
"integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==",
"peer": true,
"requires": { "requires": {
"is-url": "^1.2.4" "is-url": "^1.2.4"
} }
@@ -14330,7 +14275,6 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz",
"integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==",
"peer": true,
"requires": { "requires": {
"prismjs": "^1.23.0" "prismjs": "^1.23.0"
} }
@@ -14339,7 +14283,6 @@
"version": "1.1.19", "version": "1.1.19",
"resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz",
"integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==",
"peer": true,
"requires": { "requires": {
"@types/event-emitter": "^0.3.3", "@types/event-emitter": "^0.3.3",
"event-emitter": "^0.3.5", "event-emitter": "^0.3.5",
@@ -14353,7 +14296,6 @@
"version": "5.1.23", "version": "5.1.23",
"resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz",
"integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==", "integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==",
"peer": true,
"requires": { "requires": {
"@uppy/core": "^2.1.1", "@uppy/core": "^2.1.1",
"@uppy/xhr-upload": "^2.0.3", "@uppy/xhr-upload": "^2.0.3",
@@ -14388,28 +14330,24 @@
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz",
"integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==",
"peer": true,
"requires": {} "requires": {}
}, },
"@wangeditor/table-module": { "@wangeditor/table-module": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz",
"integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==",
"peer": true,
"requires": {} "requires": {}
}, },
"@wangeditor/upload-image-module": { "@wangeditor/upload-image-module": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz",
"integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==",
"peer": true,
"requires": {} "requires": {}
}, },
"@wangeditor/video-module": { "@wangeditor/video-module": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz", "resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz",
"integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==",
"peer": true,
"requires": {} "requires": {}
}, },
"@webassemblyjs/ast": { "@webassemblyjs/ast": {
@@ -15742,7 +15680,6 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz",
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
"peer": true,
"requires": { "requires": {
"es5-ext": "^0.10.50", "es5-ext": "^0.10.50",
"type": "^1.0.1" "type": "^1.0.1"
@@ -15979,7 +15916,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz",
"integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==",
"peer": true,
"requires": { "requires": {
"ssr-window": "^3.0.0-alpha.1" "ssr-window": "^3.0.0-alpha.1"
} }
@@ -16166,7 +16102,6 @@
"version": "0.10.62", "version": "0.10.62",
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz", "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz",
"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
"peer": true,
"requires": { "requires": {
"es6-iterator": "^2.0.3", "es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3", "es6-symbol": "^3.1.3",
@@ -16177,7 +16112,6 @@
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
"peer": true,
"requires": { "requires": {
"d": "1", "d": "1",
"es5-ext": "^0.10.35", "es5-ext": "^0.10.35",
@@ -16188,7 +16122,6 @@
"version": "3.1.3", "version": "3.1.3",
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz", "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz",
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
"peer": true,
"requires": { "requires": {
"d": "^1.0.1", "d": "^1.0.1",
"ext": "^1.1.2" "ext": "^1.1.2"
@@ -16644,7 +16577,6 @@
"version": "0.3.5", "version": "0.3.5",
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz", "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"peer": true,
"requires": { "requires": {
"d": "1", "d": "1",
"es5-ext": "~0.10.14" "es5-ext": "~0.10.14"
@@ -16764,7 +16696,6 @@
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
"peer": true,
"requires": { "requires": {
"type": "^2.7.2" "type": "^2.7.2"
}, },
@@ -16772,8 +16703,7 @@
"type": { "type": {
"version": "2.7.2", "version": "2.7.2",
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz", "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz",
"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
"peer": true
} }
} }
}, },
@@ -17229,8 +17159,7 @@
"html-void-elements": { "html-void-elements": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz",
"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
"peer": true
}, },
"html-webpack-plugin": { "html-webpack-plugin": {
"version": "5.5.0", "version": "5.5.0",
@@ -17325,7 +17254,6 @@
"version": "20.6.1", "version": "20.6.1",
"resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz", "resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz",
"integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==",
"peer": true,
"requires": { "requires": {
"@babel/runtime": "^7.12.0" "@babel/runtime": "^7.12.0"
} }
@@ -17361,8 +17289,7 @@
"immer": { "immer": {
"version": "9.0.16", "version": "9.0.16",
"resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.16.tgz", "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.16.tgz",
"integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ==", "integrity": "sha512-qenGE7CstVm1NrHQbMh8YaSzTZTFNP3zPqr3YU0S0UY441j4bJTg4A2Hh5KAhwgaiU6ZZ1Ar6y/2f4TblnMReQ=="
"peer": true
}, },
"immutable": { "immutable": {
"version": "4.1.0", "version": "4.1.0",
@@ -17480,8 +17407,7 @@
"is-hotkey": { "is-hotkey": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz", "resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz",
"integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==", "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw=="
"peer": true
}, },
"is-interactive": { "is-interactive": {
"version": "1.0.0", "version": "1.0.0",
@@ -17525,8 +17451,7 @@
"is-url": { "is-url": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz", "resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz",
"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
"peer": true
}, },
"is-wsl": { "is-wsl": {
"version": "2.2.0", "version": "2.2.0",
@@ -17783,14 +17708,12 @@
"lodash.camelcase": { "lodash.camelcase": {
"version": "4.3.0", "version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
"peer": true
}, },
"lodash.clonedeep": { "lodash.clonedeep": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
"peer": true
}, },
"lodash.debounce": { "lodash.debounce": {
"version": "4.0.8", "version": "4.0.8",
@@ -17806,14 +17729,12 @@
"lodash.foreach": { "lodash.foreach": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ=="
"peer": true
}, },
"lodash.isequal": { "lodash.isequal": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
"peer": true
}, },
"lodash.kebabcase": { "lodash.kebabcase": {
"version": "4.1.1", "version": "4.1.1",
@@ -17842,14 +17763,12 @@
"lodash.throttle": { "lodash.throttle": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
"peer": true
}, },
"lodash.toarray": { "lodash.toarray": {
"version": "4.4.0", "version": "4.4.0",
"resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==", "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw=="
"peer": true
}, },
"lodash.truncate": { "lodash.truncate": {
"version": "4.4.2", "version": "4.4.2",
@@ -18139,7 +18058,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz",
"integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==",
"peer": true,
"requires": { "requires": {
"wildcard": "^1.1.0" "wildcard": "^1.1.0"
}, },
@@ -18147,8 +18065,7 @@
"wildcard": { "wildcard": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz",
"integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==", "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng=="
"peer": true
} }
} }
}, },
@@ -18302,8 +18219,7 @@
"namespace-emitter": { "namespace-emitter": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz",
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==", "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g=="
"peer": true
}, },
"nanoid": { "nanoid": {
"version": "3.3.4", "version": "3.3.4",
@@ -18336,8 +18252,7 @@
"next-tick": { "next-tick": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
"peer": true
}, },
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
@@ -19130,8 +19045,7 @@
"preact": { "preact": {
"version": "10.11.3", "version": "10.11.3",
"resolved": "https://registry.npmmirror.com/preact/-/preact-10.11.3.tgz", "resolved": "https://registry.npmmirror.com/preact/-/preact-10.11.3.tgz",
"integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==", "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg=="
"peer": true
}, },
"prelude-ls": { "prelude-ls": {
"version": "1.2.1", "version": "1.2.1",
@@ -19159,8 +19073,7 @@
"prismjs": { "prismjs": {
"version": "1.29.0", "version": "1.29.0",
"resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz",
"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
"peer": true
}, },
"process-nextick-args": { "process-nextick-args": {
"version": "2.0.1", "version": "2.0.1",
@@ -19793,7 +19706,6 @@
"version": "0.72.8", "version": "0.72.8",
"resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz", "resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz",
"integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==",
"peer": true,
"requires": { "requires": {
"immer": "^9.0.6", "immer": "^9.0.6",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
@@ -19803,8 +19715,7 @@
"is-plain-object": { "is-plain-object": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
"peer": true
} }
} }
}, },
@@ -19812,7 +19723,6 @@
"version": "0.66.0", "version": "0.66.0",
"resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz", "resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz",
"integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==",
"peer": true,
"requires": { "requires": {
"is-plain-object": "^5.0.0" "is-plain-object": "^5.0.0"
}, },
@@ -19820,8 +19730,7 @@
"is-plain-object": { "is-plain-object": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
"peer": true
} }
} }
}, },
@@ -19865,8 +19774,7 @@
"snabbdom": { "snabbdom": {
"version": "3.5.1", "version": "3.5.1",
"resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.5.1.tgz", "resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.5.1.tgz",
"integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==", "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA=="
"peer": true
}, },
"sockjs": { "sockjs": {
"version": "0.3.24", "version": "0.3.24",
@@ -19977,8 +19885,7 @@
"ssr-window": { "ssr-window": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz",
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==", "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
"peer": true
}, },
"ssri": { "ssri": {
"version": "8.0.1", "version": "8.0.1",
@@ -20285,8 +20192,7 @@
"tiny-warning": { "tiny-warning": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
"peer": true
}, },
"to-fast-properties": { "to-fast-properties": {
"version": "2.0.0", "version": "2.0.0",
@@ -20330,8 +20236,7 @@
"type": { "type": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz",
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
"peer": true
}, },
"type-check": { "type-check": {
"version": "0.4.0", "version": "0.4.0",

View File

@@ -8,6 +8,7 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"ant-design-vue": "^3.2.12", "ant-design-vue": "^3.2.12",
"axios": "^1.1.3", "axios": "^1.1.3",

View File

@@ -43,7 +43,7 @@ export default defineComponent({
const store = useStore(); const store = useStore();
const isLogin = ref(false); const isLogin = ref(false);
// console.log("router", router.getRoutes(), route); // console.log("router", router.getRoutes(), route);
console.log("版本0.17------------"); console.log("版本0.18------------");
const routes = computed(() => { const routes = computed(() => {
return router.getRoutes().filter((e) => e.meta?.isLink); return router.getRoutes().filter((e) => e.meta?.isLink);
}); });

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52 * @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-12-05 00:00:40 * @LastEditTime: 2022-12-05 16:33:28
* @FilePath: /fe-manage/src/api/config.js * @FilePath: /fe-manage/src/api/config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@@ -55,10 +55,10 @@ http.interceptors.response.use(
if (code === 0 || code === 200) { if (code === 0 || code === 200) {
return response; return response;
} else { } else {
// if (code === 1000) { if (code === 1000) {
// window.open("https://u-pre.boe.com/web/", "_self"); window.open("https://u-pre.boe.com/web/", '_self');
// // window.open("http://111.231.196.214:12013/manage/login", '_self'); // window.open("http://111.231.196.214:12013/manage/login", '_self');
// } }
console.log("api %o", msg); console.log("api %o", msg);
} }
return response; return response;

View File

@@ -1,3 +1,11 @@
/*
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-18 14:09:43
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-12-05 15:27:36
* @FilePath: /fe-manage/src/api/indexProjStu.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import http from "./config"; import http from "./config";
//获取项目学员列表 //获取项目学员列表
@@ -14,7 +22,8 @@ export const deleteGroup = (obj) => http.delete('/admin/project/deleteGroup', {
//新增或编辑小组 //新增或编辑小组
export const editGroup = (obj) => http.post('/admin/project/editGroup', obj) export const editGroup = (obj) => http.post('/admin/project/editGroup', obj)
//移除小组成员
export const removeGroupStudent = (obj) => http.post('/admin/project/removeGroupStudent', obj)
//查看学员 //查看学员
export const studentProcess = (obj) => http.get('/admin/project/studentProcess', { params: obj }) export const studentProcess = (obj) => http.get('/admin/project/studentProcess', { params: obj })

View File

@@ -3,7 +3,9 @@
placement="right" @after-visible-change="afterVisibleChange"> placement="right" @after-visible-change="afterVisibleChange">
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">添加面授</div>
<div v-if="edit" class="headerTitle">编辑面授</div>
<div v-else class="headerTitle">添加面授</div>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png" <img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"/> @click="closeDrawer"/>
</div> </div>

View File

@@ -261,7 +261,8 @@ export default {
console.log("info", info); console.log("info", info);
if (info.file.status !== "uploading") { if (info.file.status !== "uploading") {
console.log(info.file, info.fileList); console.log(info.file, info.fileList);
state.workEnclosureAddress = info.fileList[0].response.data; // state.workEnclosureAddress = info.fileList[0].response.data;
state.workEnclosureAddress = JSON.stringify(info.fileList);
console.log("state.workEnclosureAddress", state.workEnclosureAddress); console.log("state.workEnclosureAddress", state.workEnclosureAddress);
} }
@@ -346,6 +347,13 @@ export default {
state.addLoading = true; state.addLoading = true;
queryWorkDetailById({ workId: props.EditWorkId }) queryWorkDetailById({ workId: props.EditWorkId })
.then((res) => { .then((res) => {
console.log(res)
try{
fileList.value = JSON.parse(res.data.data.workEnclosureAddress)
}catch(e){
console.log(e)
fileList.value = []
}
formState.workName = res.data.data.workName; formState.workName = res.data.data.workName;
formState.workRequirement = res.data.data.workRequirement; formState.workRequirement = res.data.data.workRequirement;
formState.choosedTime = [ formState.choosedTime = [

View File

@@ -62,7 +62,10 @@
<div class="notice_icon"></div> <div class="notice_icon"></div>
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px" <span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
>已选择 >已选择
<span style="color: #388be1">{{ selectedRowKeys.length }}</span> <span v-if="edit" style="color: #388be1">{{ 1 }}</span>
<span v-else style="color: #388be1">{{
selectedRowKeys.length
}}</span>
</span </span
> >
<span style="color: rgba(0, 0, 0, 0.65)" <span style="color: rgba(0, 0, 0, 0.65)"
@@ -75,49 +78,83 @@
</div> </div>
<div class="main_table"> <div class="main_table">
<!-- 编辑的表格 --> <!-- 编辑的表格 -->
<a-table <div v-if="edit">
v-if="edit" <div
class="ant-table-striped" v-if="choicecourse"
:row-class-name=" class="main_btns"
(_record, index) => (index % 2 === 1 ? 'table-striped' : null) style="justify-content: flex-start"
" >
:row-selection="{ <div
type:'radio', class="btn2"
selectedRowKeys: selectedRowKeys, style="
onChange: onSelectChange, display: flex;
}" justify-content: center;
:columns="tableDataFunc()" align-items: center;
:data-source="tableData" "
:loading="tableDataTotal === -1 ? true : false" @click="ChoiceCourse"
:pagination="false" >
/> 选择在线课
<a-table </div>
v-else </div>
class="ant-table-striped" <div v-else>
:row-class-name=" <a-table
(_record, index) => (index % 2 === 1 ? 'table-striped' : null) class="ant-table-striped"
" :row-class-name="
:row-selection="{ (_record, index) => (index % 2 === 1 ? 'table-striped' : null)
selectedRowKeys: selectedRowKeys, "
onChange: onSelectChange, :row-selection="{
}" type: 'radio',
:columns="tableDataFunc()" selectedRowKeys: selectedRowKeys,
:data-source="tableData" onChange: onSelectChange,
:loading="tableDataTotal === -1 ? true : false" }"
:pagination="false" :columns="tableDataFunc()"
/> :data-source="tableData"
<div class="pa"> :loading="tableDataTotal === -1 ? true : false"
<a-pagination :pagination="false"
v-if="tableDataTotal > 10" />
showSizeChanger="true" <div class="pa">
showQuickJumper="true" <a-pagination
hideOnSinglePage="true" v-if="tableDataTotal > 10"
:pageSize="pageSize" showSizeChanger="true"
:current="currentPage" showQuickJumper="true"
:total="tableDataTotal" hideOnSinglePage="true"
class="pagination" :pageSize="pageSize"
@change="handelChangePage" :current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="handelChangePage"
/>
</div>
</div>
</div>
<div v-else>
<a-table
class="ant-table-striped"
:row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:columns="tableDataFunc()"
:data-source="tableData"
:loading="tableDataTotal === -1 ? true : false"
:pagination="false"
/> />
<div class="pa">
<a-pagination
v-if="tableDataTotal > 10"
showSizeChanger="true"
showQuickJumper="true"
hideOnSinglePage="true"
:pageSize="pageSize"
:current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="handelChangePage"
/>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -134,7 +171,11 @@ import * as api from "../../api/indexOnline.js";
import * as apiTask from "../../api/indexTaskadd"; import * as apiTask from "../../api/indexTaskadd";
// import { setCookie } from "../../api/method" // import { setCookie } from "../../api/method"
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { RouterEditTask, IsExistence, IsExistenceProject } from "@/api/indexTask"; import {
RouterEditTask,
IsExistence,
IsExistenceProject,
} from "@/api/indexTask";
import { addTempTask } from "../../api/indexTaskadd"; import { addTempTask } from "../../api/indexTaskadd";
export default { export default {
name: "AddOnline", name: "AddOnline",
@@ -193,8 +234,8 @@ export default {
}, },
{ {
value: "录播课", value: "录播课",
label: "录播课" label: "录播课",
} },
], ],
time: undefined, time: undefined,
onlineClassesId: null, onlineClassesId: null,
@@ -202,12 +243,17 @@ export default {
selectV: "", selectV: "",
selectedRowKeys: [], selectedRowKeys: [],
tableData: [], tableData: [],
addOnlineList:[], addOnlineList: [],
currentPage: 1, currentPage: 1,
tableDataTotal: 0, tableDataTotal: 0,
pageSize: 10, pageSize: 10,
choicecourse: true,
}); });
const ChoiceCourse = () => {
state.choicecourse = false;
};
const closeDrawer = () => { const closeDrawer = () => {
state.choicecourse = true;
ctx.emit("update:addonlineVisible", false); ctx.emit("update:addonlineVisible", false);
ctx.emit("update:edit", false); ctx.emit("update:edit", false);
state.inputV1 = ""; state.inputV1 = "";
@@ -218,7 +264,7 @@ export default {
localStorage.setItem("chapterId", props.isactive); localStorage.setItem("chapterId", props.isactive);
}; };
const afterVisibleChange = (bol) => { const afterVisibleChange = (bol) => {
if(bol == true){ if (bol == true) {
getAllOnlineText(); getAllOnlineText();
} }
}; };
@@ -269,20 +315,21 @@ export default {
]; ];
return columns; return columns;
}; };
const onSelectChange = (selectedRowKeys,selectedRows) => { const onSelectChange = (selectedRowKeys, selectedRows) => {
state.selectedRowKeys = selectedRowKeys; state.selectedRowKeys = selectedRowKeys;
state.addOnlineList = selectedRows; state.addOnlineList = selectedRows;
console.log(selectedRowKeys,selectedRows) console.log(selectedRowKeys, selectedRows);
if( props.edit && selectedRows.length > 0 ){ if (props.edit && selectedRows.length > 0) {
selectedRows.map((value)=>{ selectedRows.map((value) => {
if(value.courseId == props.EditOnlineId){ console.log(props, value);
message.destroy() if (value.courseId == props.EditOnlineId) {
message.error('选项相同,请重新选择') message.destroy();
state.selectedRowKeys = [] message.error("选项相同请重新选择");
state.addOnlineList = [] state.selectedRowKeys = [];
} state.addOnlineList = [];
}) }
} });
}
}; };
//清空所选 //清空所选
const clearLine = () => { const clearLine = () => {
@@ -296,16 +343,16 @@ export default {
const getTableDate = (tableData) => { const getTableDate = (tableData) => {
let data = tableData; let data = tableData;
let array = []; let array = [];
data.map((value,index) => { data.map((value, index) => {
{ {
let obj = { let obj = {
key: index + 1, key: index + 1,
num:value.onlineClassesId, num: value.onlineClassesId,
name:value.name, name: value.name,
contenttype:value.contentType == 10 ? "微课" : "录播课", contenttype: value.contentType == 10 ? "微课" : "录播课",
teacher:value.teacher, teacher: value.teacher,
sysCreateBy:value.sysCreateBy, sysCreateBy: value.sysCreateBy,
overtime:"", overtime: "",
courseId: Number(value.onlineClassesId), courseId: Number(value.onlineClassesId),
}; };
array.push(obj); array.push(obj);
@@ -317,70 +364,74 @@ export default {
const getAllOnlineText = () => { const getAllOnlineText = () => {
api api
.queryOnlinelList({ .queryOnlinelList({
"createUser": "", createUser: "",
"keyword": state.inputV1, keyword: state.inputV1,
"orderAsc": true, orderAsc: true,
"orderField": "", orderField: "",
"pageIndex": state.currentPage, pageIndex: state.currentPage,
"pageSize": state.pageSize, pageSize: state.pageSize,
"publish": true, publish: true,
"status": 0, status: 0,
"sysType1": "", sysType1: "",
"sysType2": "", sysType2: "",
"sysType3": "", sysType3: "",
}) })
.then((res) => { .then((res) => {
let arr = res.data.data.list; let arr = res.data.data.list;
state.tableDataTotal = res.data.data.count state.tableDataTotal = res.data.data.count;
if (res.status === 200) { if (res.status === 200) {
console.log('获取在线课列表数据', res) console.log("获取在线课列表数据", res);
getTableDate(arr); getTableDate(arr);
} }
}) })
.catch((err) => { .catch((err) => {
console.log(err,'请求失败在线');}); console.log(err, "请求失败在线");
});
}; };
// 校验当前在线课是否已经添加进来了 // 校验当前在线课是否已经添加进来了
const isExistence = (id) => { const isExistence = (id) => {
console.log({ console.log({
"chapterId": Number(props.isactive), chapterId: Number(props.isactive),
"courseTaskId": Number(id), courseTaskId: Number(id),
"routerId": props.routerId, routerId: props.routerId,
"type": 1 type: 1,
}) });
IsExistence({ IsExistence({
"chapterId": Number(props.isactive), chapterId: Number(props.isactive),
"courseTaskId": Number(id), courseTaskId: Number(id),
"routerId": props.routerId, routerId: props.routerId,
"type": 1 type: 1,
}).then(res=>{
console.log('我是不是已经添加了',res)
}).catch(err=>{
console.log(err)
}) })
} .then((res) => {
console.log("我是不是已经添加了", res);
})
.catch((err) => {
console.log(err);
});
};
// 判断项目中是否添加当前在线课 // 判断项目中是否添加当前在线课
const IsExistenceProjects = () => { const IsExistenceProjects = (id) => {
console.log("参数传递", {
courseTaskId: id,
projectId: props.projectId,
stageId: props.chooseStageId || 0,
type: 1,
});
IsExistenceProject({ IsExistenceProject({
"courseTaskId": props.projectTaskId || 0, courseTaskId: id,
"projectId": props.projectId, projectId: Number(props.projectId),
"stageId": props.chooseStageId || 0, stageId: props.chooseStageId || 0,
"type": 1 type: 1,
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
}) })
} .then((res) => {
console.log("项目中是否包含此在线课了", res);
})
.catch((err) => {
console.log(err);
});
};
const updateTask = () => { const updateTask = () => {
if (props.isLevel == 1) {
if(props.isLevel == 1){
// isExistence(23) // isExistence(23)
// return // return
// let routerarr = [] // let routerarr = []
@@ -390,62 +441,130 @@ export default {
// }) // })
// console.log('当前是否已经添加了',routerarr) // console.log('当前是否已经添加了',routerarr)
} }
if (props.isLevel == 3) {
if(props.isLevel == 2){ console.log("我是要便利的数据3", state.addOnlineList);
console.log('我是要便利的数据2', state.addOnlineList)
} }
if(props.isLevel == 3){
console.log('我是要便利的数据3', state.addOnlineList)
}
if (props.isLevel == 1) { if (props.isLevel == 1) {
state.addOnlineList.map((value) => { console.log("我是要便利的数据2", state.addOnlineList);
console.log(value) let l_data = state.addOnlineList;
RouterEditTask({ let l_data_id = [];
l_data.map((item) => {
l_data_id.push(item["courseId"]);
});
console.log("需要查询的在线课ID", l_data_id);
IsExistence({
chapterId: Number(props.isactive), chapterId: Number(props.isactive),
courseId: value.num, courseTaskId: l_data_id,
name: value.name,
routerId: props.routerId, routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 1, type: 1,
}) })
.then(() => { .then((res) => {
message.destroy(); console.log("路径图中是否包含此在线课了", res);
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); if (res.data.data.length) {
ctx.emit("changeData", false); let strdata = res.data.data;
closeDrawer(); let tipStr = "";
state.addLoading = false; for (let i = 0; i < strdata.length; i++) {
if (i == strdata.length - 1) {
tipStr += strdata[i].courseName;
} else {
tipStr += strdata[i].courseName + "/";
}
}
message.destroy();
message.info("在线课" + tipStr + "重复添加");
return;
} else {
state.addOnlineList.map((value) => {
console.log(value);
RouterEditTask({
chapterId: Number(props.isactive),
courseId: value.num,
name: value.name,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 1,
})
.then(() => {
message.destroy();
message.success(
`${props.edit ? "编辑" : "新增"}关卡任务成功`
);
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch(() => {
message.destroy();
message.error(
`${props.edit ? "编辑" : "新增"}关卡任务失败`
);
});
});
}
}) })
.catch(() => { .catch((err) => {
message.destroy(); console.log(err);
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
}); });
})
} else if (props.isLevel === 2) { } else if (props.isLevel === 2) {
state.addOnlineList.map((value) => { console.log("我是要便利的数据2", state.addOnlineList);
apiTask let p_data = state.addOnlineList;
.addTask({ let p_data_id = [];
courseId: value.num, p_data.map((item) => {
name: value.name, p_data_id.push(item["courseId"]);
projectId: props.projectId, });
projectTaskId: props.projectTaskId || 0, console.log("需要查询的在线课ID", p_data_id);
stageId: props.chooseStageId || 0, IsExistenceProject({
type: 1, courseTaskId: p_data_id,
}) projectId: Number(props.projectId),
.then(() => { stageId: props.chooseStageId || 0,
message.destroy(); type: 1,
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy();
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}) })
.then((res) => {
console.log("项目中是否包含此在线课了", res);
if (res.data.data.length) {
let strdata = res.data.data;
let tipStr = "";
for (let i = 0; i < strdata.length; i++) {
if (i == strdata.length - 1) {
tipStr += strdata[i].courseName;
} else {
tipStr += strdata[i].courseName + "/";
}
}
message.destroy();
message.info("在线课" + tipStr + "重复添加");
return;
} else {
state.addOnlineList.map((value) => {
apiTask
.addTask({
courseId: value.num,
name: value.name,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 1,
})
.then(() => {
message.destroy();
message.success(
`${props.edit ? "编辑" : "新增"}阶段任务成功`
);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy();
message.error(
`${props.edit ? "编辑" : "新增"}阶段任务失败`
);
});
});
}
})
.catch((err) => {
console.log(err);
});
} else if (props.isLevel == 3) { } else if (props.isLevel == 3) {
addTempTask({ addTempTask({
courseId: state.onlineClassesId, courseId: state.onlineClassesId,
@@ -466,21 +585,18 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`); message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`);
}); });
} }
//if(state.addOnlineList.Target==undefined){ //if(state.addOnlineList.Target==undefined){
// closeDrawer(); // closeDrawer();
//} //}
}; };
//搜索在线列表 //搜索在线列表
const searchList = ()=> { const searchList = () => {
if(state.inputV1 !== '' || state.selectV !== ''){ if (state.inputV1 !== "" || state.selectV !== "") {
getAllOnlineText() getAllOnlineText();
}else { } else {
resetOnline() resetOnline();
} }
} };
//重置在线信息 //重置在线信息
const resetOnline = () => { const resetOnline = () => {
state.inputV1 = ""; state.inputV1 = "";
@@ -490,11 +606,11 @@ export default {
state.currentPage = 1; state.currentPage = 1;
getAllOnlineText(); getAllOnlineText();
}; };
onMounted(()=>{ onMounted(() => {
// let cookie = // let cookie =
// "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a"; // "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a";
// setCookie("token", cookie, 10); // setCookie("token", cookie, 10);
}) });
return { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
@@ -509,7 +625,8 @@ export default {
searchList, searchList,
resetOnline, resetOnline,
isExistence, isExistence,
IsExistenceProjects IsExistenceProjects,
ChoiceCourse,
}; };
}, },
}; };
@@ -661,7 +778,6 @@ export default {
th.h { th.h {
background-color: #eff4fc !important; background-color: #eff4fc !important;
} }
.ant-table-tbody .ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td { > td {
@@ -677,7 +793,6 @@ export default {
} }
} }
} }
.main_btns { .main_btns {
height: 72px; height: 72px;
width: 100%; width: 100%;

View File

@@ -140,7 +140,7 @@
<div class="right" @click="closedeleone"></div> <div class="right" @click="closedeleone"></div>
</div> </div>
</div> </div>
<div class="main">请确认是否批量删除组员</div> <div class="main">请确认是否删除组员</div>
<div class="butn"> <div class="butn">
<button class="btn btn1" @click="closedeleone">取消</button> <button class="btn btn1" @click="closedeleone">取消</button>
<button class="btn btn2" @click="yesdele">确定</button> <button class="btn btn2" @click="yesdele">确定</button>
@@ -160,7 +160,7 @@
<script> <script>
import { toRefs, reactive } from "vue"; import { toRefs, reactive } from "vue";
// import StuAdd from "./StuAdd.vue"; // import StuAdd from "./StuAdd.vue";
import { getProjStu, deleteStu } from "../../api/indexProjStu"; import { getProjStu, removeGroupStudent } from "../../api/indexProjStu";
import { toDate } from "../../api/method"; import { toDate } from "../../api/method";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import AddGroupMembers from "./AddGroupMembers.vue"; import AddGroupMembers from "./AddGroupMembers.vue";
@@ -284,10 +284,13 @@ export default {
}; };
//点击确认批量删除弹窗 //点击确认批量删除弹窗
const sureDeModal = () => { const sureDeModal = () => {
deleteStu({ let obj = {
projectGroupId: props.chooseGroupId,
projectId: props.projectId, projectId: props.projectId,
studentIds: state.selectedRows, studentIds: state.selectedRows,
}) };
removeGroupStudent(obj)
.then((res) => { .then((res) => {
console.log(res, "删除成功"); console.log(res, "删除成功");
message.success("删除成功"); message.success("删除成功");
@@ -302,6 +305,8 @@ export default {
}; };
const closeModal = () => { const closeModal = () => {
state.showmodal = false; state.showmodal = false;
state.selectedRows = [];
state.selectedRowKeys = [];
}; };
const showStuAdd = () => { const showStuAdd = () => {
state.Stuvisible = true; state.Stuvisible = true;
@@ -434,20 +439,26 @@ export default {
// console.log(id, "fewfew"); // console.log(id, "fewfew");
console.log(`${id}`); console.log(`${id}`);
state.deone = true; state.deone = true;
state.selectedRows = [];
state.selectedRows.push(id); state.selectedRows.push(id);
// state.deleteClassify=1
}; };
//点击取消删除单个学员 //点击取消删除单个学员
const closedeleone = () => { const closedeleone = () => {
state.deone = false; state.deone = false;
state.selectedRows = []; state.selectedRows = [];
state.selectedRowKeys = [];
}; };
const yesdele = () => { const yesdele = () => {
state.deone = false; let obj = {
deleteStu({ projectGroupId: props.chooseGroupId,
projectId: props.projectId, projectId: props.projectId,
studentIds: state.selectedRows, studentIds: state.selectedRows,
}) };
console.log("删除小组学员obj", obj);
removeGroupStudent(obj)
.then((res) => { .then((res) => {
state.deone = false;
console.log(res, "单个删除成功"); console.log(res, "单个删除成功");
message.success("删除成功"); message.success("删除成功");
getStu(); getStu();
@@ -787,4 +798,111 @@ export default {
} }
} }
} }
.FacMa {
.ant-modal {
width: 424px;
height: 258px;
.ant-modal-content {
width: 424px;
height: 258px;
.ant-modal-body {
width: 424px;
height: 258px;
padding: 0px;
.head {
width: 424px;
height: 68px;
// position: absolute;
// left: 0;
// top: 0;
background: linear-gradient(
180deg,
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
justify-content: center;
.inhead {
width: 90%;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.gan {
width: 16px;
height: 16px;
background-image: url(../../assets/images/taskpage/gan.png);
}
.tis {
margin-left: 5px;
width: 32px;
font-size: 16px;
font-weight: 600;
color: #333333;
}
}
.right {
width: 22px;
height: 22px;
background-image: url(../../assets/images/basicinfo/close.png);
background-size: 100% 100%;
cursor: pointer;
}
}
}
.main {
margin-top: 20px;
width: 100%;
display: flex;
justify-content: center;
font-size: 14px;
font-weight: 400;
color: #333333;
}
.butn {
width: 100%;
display: flex;
margin-top: 60px;
justify-content: center;
.btn {
width: 100px;
height: 40px;
border-radius: 4px;
cursor: pointer;
}
.btn1 {
color: #387df7;
background: #ffffff;
border: 1px solid #387df7;
}
.btn2 {
background: #409eff;
color: #fff;
border: 0;
margin-left: 10px;
}
}
}
}
}
}
</style> </style>

View File

@@ -53,7 +53,7 @@
{{ ballotId ? "编辑" : "创建" }}投票 {{ ballotId ? "编辑" : "创建" }}投票
</button> </button>
<div v-if="ballotId > 0"> <div v-if="ballotId > 0">
<a-tag closable color="processing" @close="log"> <a-tag closable color="processing" @close="handlelog">
<span style="font-size: 14px; line-height: 33px"> <span style="font-size: 14px; line-height: 33px">
删除投票 删除投票
</span> </span>
@@ -438,7 +438,7 @@ export default {
const closeStem = () => { const closeStem = () => {
state.addStemVisible = false; state.addStemVisible = false;
}; };
const log = (e) => { const handlelog = (e) => {
state.ballotId = null; state.ballotId = null;
console.log(e); console.log(e);
}; };
@@ -454,7 +454,7 @@ export default {
closeStem, closeStem,
handleChange, handleChange,
beforeUpload, beforeUpload,
log, handlelog,
}; };
}, },
}; };

View File

@@ -90,17 +90,12 @@
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import { reactive, toRefs } from "vue"; import { reactive, toRefs, toRef, watch } from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
// import { createResearch } from "../../api/indexResearch"; // import { createResearch } from "../../api/indexResearch";
import VoteQuestion from "./VoteQuestion.vue"; import VoteQuestion from "./VoteQuestion.vue";
import { import { sortBy, traverseArr } from "../../utils/utils";
sortBy,
traverseArr,
//filterCommon,
// deepCloneFilterString,
} from "../../utils/utils";
//import store from "@/store"; //import store from "@/store";
import * as api from "@/api/indexVote"; import * as api from "@/api/indexVote";
@@ -129,11 +124,20 @@ export default {
}, },
}, },
setup(props, ctx) { setup(props, ctx) {
const ballotIdWatch = toRef(props, "ballotId");
const state = reactive({ const state = reactive({
ballotId: "", ballotId: "",
ballotName: "", ballotName: "",
allFormsData: [], allFormsData: [],
}); });
watch(ballotIdWatch, (newValue) => {
if (!newValue) {
state.ballotId = "";
state.ballotName = "";
state.allFormsData = [];
}
});
// const router = useRouter(); // const router = useRouter();
const afterVisibleChange = () => { const afterVisibleChange = () => {
if (props.ballotId) { if (props.ballotId) {
@@ -162,8 +166,6 @@ export default {
let renderArr = [...res.voteStemVoList]; let renderArr = [...res.voteStemVoList];
sortBy(renderArr, "orderNumber"); //序号 sortBy(renderArr, "orderNumber"); //序号
state.allFormsData = parseData(renderArr); state.allFormsData = parseData(renderArr);
console.log(67676767);
console.log(state.allFormsData);
} }
}; };
@@ -189,6 +191,7 @@ export default {
valueSingle: item.voteStemName, valueSingle: item.voteStemName,
optionDetailList: restList, optionDetailList: restList,
orderNumber: item.orderNumber, orderNumber: item.orderNumber,
voteStemId: item.voteStemId,
}; };
resultArr.push(obj); resultArr.push(obj);
}); });
@@ -223,6 +226,7 @@ export default {
voteStemName: item.valueSingle, voteStemName: item.valueSingle,
optionDetailList: restList, optionDetailList: restList,
orderNumber: item.orderNumber, orderNumber: item.orderNumber,
voteStemId: item.voteStemId,
}; };
resultArr.push(obj); resultArr.push(obj);
console.log("resultArr=======", resultArr); console.log("resultArr=======", resultArr);
@@ -282,7 +286,7 @@ export default {
const handleSave = () => { const handleSave = () => {
let resultPost = {}; let resultPost = {};
let filterData = restData(state.allFormsData); let filterData = restData(state.allFormsData);
console.log("filterData==111", filterData); console.log("555555555555555555", filterData);
// 校验 // 校验
if (!state.ballotName) { if (!state.ballotName) {
@@ -299,7 +303,7 @@ export default {
ballotName: state.ballotName, ballotName: state.ballotName,
voteStemDtoList: filterData, voteStemDtoList: filterData,
}; };
console.log(1212334); console.log("resultPostresultPost");
console.log(resultPost); console.log(resultPost);
api.updateStemMessage(resultPost).then((res) => { api.updateStemMessage(resultPost).then((res) => {
if (res.data.code === 200) { if (res.data.code === 200) {
@@ -334,15 +338,12 @@ export default {
const checkVal = (filterData) => { const checkVal = (filterData) => {
console.log("filterData.====", filterData); console.log("filterData.====", filterData);
filterData.forEach((item) => { for (let item of filterData) {
console.log("item===", item);
console.log("!item.voteStemName===", !item.voteStemName);
if (!item.voteStemName) { if (!item.voteStemName) {
console.log("item.voteStemName===", item.voteStemName); message.error("题干为必填 请确认");
message.error("题干为必填 请确认", item.voteStemName);
return false; return false;
} }
}); }
return true; return true;
}; };

View File

@@ -1319,8 +1319,9 @@
handleLook(record, String(record.courseform)); handleLook(record, String(record.courseform));
} }
" "
>查看</a
> >
查看
</a>
<a <a
@click=" @click="
() => { () => {
@@ -2439,7 +2440,10 @@
</div> </div>
<div class="i5_right"> <div class="i5_right">
<div class="stmm_btn btn3"> <div class="stmm_btn btn3">
<span style="color: #ffffff" @click="showStuAdd(currentPlanItem)"> <span
style="color: #ffffff"
@click="showStuAdd(currentPlanItem)"
>
添加学员 添加学员
</span> </span>
</div> </div>
@@ -2919,6 +2923,12 @@
</div> </div>
</div> </div>
</a-modal> </a-modal>
<!-- 预览弹窗 -->
<SeeModal
:show="lookCourseModal"
:detail="faceDetailObj"
@cancel="ft_exit_see"
/>
<!--删除 复制 停用弹窗 --> <!--删除 复制 停用弹窗 -->
<!-- 学员管理课程库-归属权抽屉 --> <!-- 学员管理课程库-归属权抽屉 -->
<!-- <own-power v-model:ownpowervisible="ownpowervisible" /> --> <!-- <own-power v-model:ownpowervisible="ownpowervisible" /> -->
@@ -3031,6 +3041,8 @@ import "@wangeditor/editor/dist/css/style.css";
import { Editor, Toolbar } from "@wangeditor/editor-for-vue"; import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import ProjectManager from "@/components/project/ProjectManager"; import ProjectManager from "@/components/project/ProjectManager";
// import SeeModal from "./components/seeModal.vue";
//列表表格 //列表表格
const columns1 = [ const columns1 = [
{ {
@@ -3668,6 +3680,9 @@ export default defineComponent({
ownpowervisible: false, ownpowervisible: false,
corpowerlistvisible: false, corpowerlistvisible: false,
lookCourseModal: false,
faceDetailObj: null,
offcourseId: null, offcourseId: null,
projectName: "", projectName: "",
name: "", name: "",
@@ -3776,12 +3791,35 @@ export default defineComponent({
const valueHtml = ref(""); const valueHtml = ref("");
// // 模拟 ajax 异步获取内容 // // 模拟 ajax 异步获取内容
onMounted(() => { onMounted(() => {
// setTimeout(() => { // setTimeout(() => {
// valueHtml.value = "<p>模拟 Ajax 异步设置内容</p>"; // // valueHtml.value = "<p>模拟 Ajax 异步设置内容</p>";
// }, 1500); // console.log("toolbar222222222222222");
// console.log(editorRef.value);
// // const toolbar = DomEditor.getToolbar(editorRef.value);
// // const menu = editorRef.value.getAllMenuKeys();
// // const bar = toolbar.getConfig().toolbarKeys;
// // console.log(menu);
// // console.log(bar);
// }, 3500);
}); });
const toolbarConfig = {};
const editorConfig = { placeholder: "请输入内容..." }; const toolbarConfig = {
excludeKeys: ["insertVideo", "insertImage"],
};
const editorConfig = { placeholder: "请输入内容...", MENU_CONF: {} };
editorConfig.MENU_CONF["uploadImage"] = {
// 自定义上传
async customUpload(file, insertFn) {
const formData = new FormData();
formData.append("file", file);
fileUp(formData).then((res) => {
if (res.data.code === 200) {
// 最后插入图片
insertFn(res.data.data, file.name, res.data.data);
}
});
},
};
// 组件销毁时,也及时销毁编辑器 // 组件销毁时,也及时销毁编辑器
onBeforeUnmount(() => { onBeforeUnmount(() => {
const editor = editorRef.value; const editor = editorRef.value;
@@ -4746,9 +4784,12 @@ export default defineComponent({
score: state.lrcj_inputV1, score: state.lrcj_inputV1,
studentIds: [state.studentId], studentIds: [state.studentId],
type: 1, type: 1,
}).then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
}
}); });
getTableDate2();
delete_exit1();
} }
} }
}; };
@@ -4759,9 +4800,12 @@ export default defineComponent({
score: "", score: "",
studentIds: [state.studentId], studentIds: [state.studentId],
type: 2, type: 2,
}).then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
}
}); });
getTableDate2();
delete_exit1();
} }
}; };
//确认复制 //确认复制
@@ -4772,10 +4816,13 @@ export default defineComponent({
score: "", score: "",
studentIds: [state.studentId], studentIds: [state.studentId],
type: 3, type: 3,
}).then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
state.addLoading = false;
}
}); });
getTableDate2();
delete_exit1();
state.addLoading = false;
} }
if (state.rejectstudy_hs) { if (state.rejectstudy_hs) {
handleStudent({ handleStudent({
@@ -4783,9 +4830,12 @@ export default defineComponent({
score: "", score: "",
studentIds: [state.studentId], studentIds: [state.studentId],
type: 4, type: 4,
}).then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
}
}); });
getTableDate2();
delete_exit1();
} }
}; };
//确认复制课程 //确认复制课程
@@ -4801,16 +4851,22 @@ export default defineComponent({
score: "", score: "",
studentIds: [state.studentId], studentIds: [state.studentId],
type: 5, type: 5,
}).then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
}
}); });
getTableDate2();
delete_exit1();
} else if (state.offcourseId && state.offcoursePlanId) { } else if (state.offcourseId && state.offcoursePlanId) {
console.log(2222222); console.log(2222222);
deletePlan({ deletePlan({
offcoursePlanId: state.offcoursePlanId, offcoursePlanId: state.offcoursePlanId,
}).then((res) => {
if (res.data.code === 200) {
getTableDate3();
delete_exit1();
}
}); });
getTableDate3();
delete_exit1();
} else if (state.offcourseId) { } else if (state.offcourseId) {
console.log(3333333); console.log(3333333);
handle({ handle({
@@ -5045,8 +5101,24 @@ export default defineComponent({
state.ft_eidt = true; state.ft_eidt = true;
}; };
// 预览弹框 开启和关闭
// 内容分类 场景 -- 目前直接写死的
const sceneist11 = [
{ dictCode: "6", dictValue: "场景一" },
{ dictCode: "7", dictValue: "场景二" },
];
const contentList11 = [
{ dictCode: "8", dictValue: "分类一" },
{ dictCode: "5", dictValue: "分类二" },
];
// const heroImg = ref(null);
// // const valueHtmlRef = ref(null);
// const attachMap = ref([]);
const ft_exit_see = () => {
state.lookCourseModal = false;
};
const handleLook = async (itm, type) => { const handleLook = async (itm, type) => {
state.isEdit = 0; // state.isEdit = 0;
console.log(45555); console.log(45555);
console.log(itm); console.log(itm);
if (type === "1") { if (type === "1") {
@@ -5059,40 +5131,44 @@ export default defineComponent({
}).then((res) => { }).then((res) => {
if (res.data.code === 200) return res.data.data; if (res.data.code === 200) return res.data.data;
}); });
console.log("res"); state.lookCourseModal = true;
state.faceDetailObj = item;
// heroImg.value.src = item.picUrl;
// valueHtmlRef.value = item.outline;
// attachMap.value = item.attach == "" ? [] : item.attach.split(",");
console.log("res222222222");
console.log(item); console.log(item);
console.log(options2.value); console.log(state.lookCourseModal);
console.log(options3.value);
state.qdms_inputV1 = item.name; // state.qdms_inputV1 = item.name;
state.imageUrl = item.picUrl; // state.imageUrl = item.picUrl;
state.qdms_inputV2 = item.targetUser; // state.qdms_inputV2 = item.targetUser;
state.qdms_inputV3 = item.meaning; // state.qdms_inputV3 = item.meaning;
state.fen_lei = String(item.categoryId); // state.fen_lei = String(item.categoryId);
state.chang_jin = String(item.sceneId); // state.chang_jin = String(item.sceneId);
state.tags_val = item.tips ? item.tips.split(",") : []; // state.tags_val = item.tips ? item.tips.split(",") : [];
//state.qdms_inputV5 = item.teacherId; // //state.qdms_inputV5 = item.teacherId;
state.teacher = item.teacher; // state.teacher = item.teacher;
state.teacherId = item.teacherId; // state.teacherId = item.teacherId;
state.qdms_inputV6 = item.intro; // state.qdms_inputV6 = item.intro;
state.member = { value: item.teacherId, name: item.teacher }; // state.member = { value: item.teacherId, name: item.teacher };
if (item.attach == "") { // if (item.attach == "") {
state.imgList = []; // state.imgList = [];
} else { // } else {
if (item.attach.indexOf(",")) { // if (item.attach.indexOf(",")) {
const arr = item.attach.split(","); // const arr = item.attach.split(",");
arr.forEach((item) => { // arr.forEach((item) => {
state.imgList.push({ img: item }); // state.imgList.push({ img: item });
}); // });
} else { // } else {
state.imgList = [{ img: item.attach }]; // state.imgList = [{ img: item.attach }];
} // }
} // }
valueHtml.value = item.outline; // valueHtml.value = item.outline;
state.lookMs = true; // state.lookMs = true;
}; };
// const handleTea = async () => { // const handleTea = async () => {
// console.log("item22224444"); // console.log("item22224444");
@@ -5339,8 +5415,8 @@ export default defineComponent({
//管理权 //管理权
const showManagePrower = (record) => { const showManagePrower = (record) => {
// console.log("record", record); // console.log("record", record);
console.log(22222222) console.log(22222222);
console.log(record) console.log(record);
state.selectCourseId = record.offcourseId; state.selectCourseId = record.offcourseId;
state.shipType = 1; state.shipType = 1;
state.authClassify = 2; state.authClassify = 2;
@@ -5463,6 +5539,9 @@ export default defineComponent({
ckxq_hs, ckxq_hs,
ftsr_exit, ftsr_exit,
stm_exit, stm_exit,
ft_exit_see,
contentList11,
sceneist11,
createkk, createkk,
handleCancelStu, handleCancelStu,
handleSureStu, handleSureStu,
@@ -8015,4 +8094,12 @@ export default defineComponent({
// } // }
// } // }
// } // }
// ::v-deep .w-e-toolbar {
// .w-e-bar-item {
// &:nth-child(23) {
// display: none !important;
// }
// }
// }
</style> </style>

View File

@@ -0,0 +1,743 @@
<!-- 课件管理页面 -->
<template>
<!-- 预览弹窗 -->
<a-modal
:visible="show"
title="查看"
@ok="handleCancel"
:footer="null"
:closable="false"
wrapClassName="modalStyle lookCourseModal"
width="80%"
@cancel="handleCancel"
>
<div class="modalHeader">
<div class="headerLeft">
<img
style="width: 17px; height: 18px; margin-right: 8px"
src="@/assets/images/basicinfo/add.png"
/>
<span class="headerLeftText">预览</span>
</div>
<div style="margin-right: 57px; cursor: pointer">
<img
@click="handleCancel"
style="width: 22px; height: 22px"
src="@/assets/images/basicinfo/close22.png"
/>
</div>
</div>
<div class="modalMain">
<div class="faceteach">
<div class="ft_main">
<div class="m_body">
<div class="mb_left">
<div class="mbl_items">
<div class="item_nam">
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 14px">课程名称</span>
</div>
<div class="item_inp">
<div class="i1_input">
<!-- {{ faceDetailObj !== null ? faceDetailObj.name : "" }} -->
</div>
</div>
</div>
<div class="i2_cz">
<div class="i2_top">
<div
class="i2_right"
@click="hideShow"
style="cursor: pointer"
>
<div class="b_icon"></div>
</div>
</div>
</div>
<div class="mbl_items2">
<div class="item_nam">
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 14px">封面图</span>
</div>
<img
ref="heroImg"
alt="img"
style="width: 100px; height: 100px"
/>
<!-- <div class="item_inp"></div> -->
</div>
<div class="mbl_items">
<div class="item_nam">
<div class="asterisk_icon">
<img
style="width: 10px; height: 10px"
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 14px">目标人群</span>
</div>
<div class="item_inp">
<div class="i1_input">
<!-- {{
faceDetailObj !== null ? faceDetailObj.targetUser : ""
}} -->
</div>
</div>
</div>
<div class="mbl_items">
<div class="item_nam">
<span style="margin-right: 14px">课程价值</span>
</div>
<div class="item_inp">
<div class="i1_input">
<!-- {{ faceDetailObj !== null ? faceDetailObj.meaning : "" }} -->
</div>
</div>
</div>
<!-- <div class="mbl_items">
<div class="item_nam">
<div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 14px">资源归属</span>
</div>
<div class="item_inp">
<div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.projectId : "" }}</div>
</div>
</div> -->
<div class="mbl_items">
<div class="item_nam">
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt="img"
/>
</div>
<span style="margin-right: 14px">内容分类</span>
</div>
<div class="item_inp">
<!-- <div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.categoryId : "" }}</div> -->
<div class="select i6_input">
<!-- {{
faceDetailObj !== null
? contentList11.find(
(e) => e.dictCode == faceDetailObj.categoryId
)?.dictValue
: ""
}} -->
</div>
</div>
</div>
<div class="mbl_items">
<div class="item_nam">
<span style="margin-right: 14px">场景</span>
</div>
<div class="item_inp">
<!-- <div class="select i7_input">{{ faceDetailObj !== null ? faceDetailObj.sceneId : "" }}</div> -->
<div class="select i7_input">
<!-- {{
faceDetailObj !== null
? sceneist11.find(
(e) => e.dictCode == faceDetailObj.sceneId
)?.dictValue
: ""
}} -->
</div>
</div>
</div>
<div class="mbl_items">
<div class="item_nam">
<span style="margin-right: 14px">内容标签</span>
</div>
<div class="item_inp">
<!-- {{ faceDetailObj !== null ? faceDetailObj.tips : "" }} -->
</div>
</div>
</div>
<div class="mb_right">
<div class="mbl_items">
<div class="item_nam">
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt="asterisk"
/>
</div>
<span style="margin-right: 14px">授课教师</span>
</div>
<div class="item_inp">
<div class="i1_input">
<!-- {{ faceDetailObj !== null ? faceDetailObj.teacher : "" }} -->
</div>
</div>
</div>
<div class="mbl_items2">
<div class="item_nam">
<span style="margin-right: 14px">课程简介</span>
</div>
<div class="item_inp">
<div class="i10_textarea">
<!-- {{ faceDetailObj !== null ? faceDetailObj.intro : "" }} -->
</div>
</div>
</div>
<div class="mbl_items">
<div v-if="attachMap.length > 0" class="item_nam">
<span style="margin-right: 10px">附件</span>
</div>
<div
class="item_inp"
v-for="(value, index) in attachMap"
:key="index"
>
<a>
{{
[
"附件一",
"附件二",
"附件三",
"附件四",
"附件五",
"附件六",
][index]
}}
</a>
<a style="margin-left: 120px" :src="value" :href="value">
查看
</a>
<!-- <a-upload multiple :show-upload-list="false" :before-upload="beforeUpload2">
<div class="accessory" style="cursor: pointer">
<div class="accessory_icon">
<img src="@/assets/images/coursewareManage/enclosure.png" alt="enclosure" />
</div>
<span style="color: #4ea6ff">添加附件</span>
</div>
</a-upload>
<span>
支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
</span> -->
</div>
</div>
<div class="mbl_items12">
<div
class="i12_box1"
v-for="(item, index) in imgList"
:key="index"
>
<div class="file_img">
<img :src="item.img" />
</div>
<div class="file_detail">
<div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span>
</div>
<div class="file_updata">
<div class="updatabox">
<div class="updatacolor"></div>
<div class="updataxq">上传完成</div>
</div>
<div class="upjd">
<span style="margin: auto 5px">100%</span>
</div>
</div>
</div>
<div class="file_operation">
<div class="fobox">
<span style="color: #4ea6ff" @click="handleDel(index)">
删除
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="m_footer">
<div class="fotnam">
<span>课程大纲</span>
</div>
<div class="fotarea">
<div style="border: 1px solid #ccc">
<!-- <Toolbar style="border-bottom: 1px solid #ccc;width:900px;height: 300px;" :defaultConfig="toolbarConfig"
:mode="mode" /> -->
<!-- <Editor
@focus="onEditorFocus"
style="
border-bottom: 1px solid #ccc;
width: 900px;
height: 300px;
"
v-model="valueHtml"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="handleCreated"
/> -->
</div>
</div>
</div>
<div class="m_btn">
<!-- <div class="btn btn5" @click="handleCancel">
<div class="btnText">取消</div>
</div> -->
<div class="btn btn6" @click="handleCancel">
<div class="btnText">确定</div>
</div>
</div>
</div>
</div>
</div>
</a-modal>
</template>
<script>
import { reactive, toRefs, defineComponent, toRef, watch } from "vue";
export default defineComponent({
props: {
show: {
type: Boolean,
default: false,
},
detail: {
type: Object,
default: () => {},
},
},
setup(props, { emit }) {
console.log(props);
const detailWatch = toRef(props, "detail");
const state = reactive({});
watch(
() => detailWatch,
(newValue) => {
console.log(78787878);
console.log(newValue);
},
{ deep: true }
);
const filterTxt = (txt) => {
if (txt) {
return txt;
} else {
return "-";
}
};
const handleCancel = () => {
emit("cancel");
};
return {
...toRefs(state),
filterTxt,
handleCancel,
};
},
});
</script>
<style lang="scss">
.lookCourseModal {
.ant-modal {
.ant-modal-content {
// width:1358px !important;
.ant-modal-body {
.modalHeader {
display: flex;
align-items: center;
justify-content: space-between;
.headerLeft {
margin-left: 27px;
display: flex;
align-items: center;
.headerLeftText {
font-size: 16px;
font-weight: 400;
color: #000000;
line-height: 36px;
}
}
}
.modalMain {
.m_title {
margin-bottom: 20px;
}
.m_body {
display: flex;
flex-wrap: wrap;
.mb_left {
width: 50%;
.mbl_items {
display: flex;
align-items: center;
justify-content: flex-end;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
margin-right: 5px;
margin-top: -15px;
}
}
.item_inp {
flex: 1;
position: relative;
.inp_num {
position: absolute;
left: 398px;
top: 10px;
}
}
}
.mbl_items2 {
display: flex;
align-items: start;
margin-top: 10px;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
margin-right: 5px;
margin-top: -15px;
}
}
.item_inp {
flex: 1;
.i_upload_img {
width: 100px;
height: 100px;
border-radius: 8px;
}
.i_upload {
width: 100px;
height: 100px;
border: 1px solid #4ea6ff;
border-radius: 8px;
text-align: center;
align-items: center;
cursor: pointer;
.addimg {
position: relative;
.heng {
position: absolute;
top: 50px;
left: 25px;
width: 50px;
border: 1px solid #4ea6ff;
}
.shu {
position: absolute;
top: 25px;
left: 50px;
height: 50px;
border: 1px solid #4ea6ff;
}
}
}
}
}
.i2_cz {
width: 440px;
margin-left: 100px;
.i2_top {
display: flex;
justify-content: space-between;
}
}
.i8_bottom {
display: flex;
width: 440px;
margin-left: 100px;
}
}
.mb_right {
width: 50%;
.mbl_items {
display: flex;
align-items: flex-start;
justify-content: flex-end;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
margin-top: -15px;
margin-right: 5px;
}
}
.item_inp {
flex: 1;
}
.accessory {
display: flex;
align-items: center;
.accessory_icon {
width: 16px;
height: 16px;
margin-top: -8px;
margin-right: 5px;
}
}
}
.mbl_items2 {
display: flex;
align-items: start;
margin-bottom: 10px;
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
margin-right: 5px;
margin-top: -15px;
}
}
.item_inp {
flex: 1;
position: relative;
.inp_num {
position: absolute;
left: 395px;
bottom: 10px;
}
}
}
.mbl_items12 {
width: 440px;
margin-left: 100px;
.i12_box1 {
display: flex;
align-items: center;
padding: 17px 0px 17px 21px;
border: 1px solid #eff4fc;
border-radius: 8px;
margin-bottom: 10px;
.file_img {
width: 27px;
height: 32px;
// background-image: url(@/assets/images/coursewareManage/imgs.png);
margin-right: 22px;
img {
width: 100%;
height: 100%;
}
}
.file_detail {
width: 250px;
margin-right: 21px;
.file_updata {
display: flex;
align-items: center;
.updatabox {
position: relative;
width: 230px;
height: 5px;
background-color: rgba(192, 192, 192, 0.25);
border-radius: 3px;
.updatacolor {
position: absolute;
left: 0;
width: 100%;
height: 5px;
background-color: #57c887;
border-radius: 3px;
}
.updatacolor2 {
position: absolute;
left: 0;
width: 80%;
height: 5px;
background-color: #ff7474;
border-radius: 3px;
}
.updatacolor3 {
position: absolute;
left: 0;
width: 60%;
height: 5px;
background-color: #388be1;
border-radius: 3px;
}
.updataxq {
position: absolute;
right: 2px;
top: -30px;
color: #57c887;
}
.updataxq2 {
position: absolute;
right: 2px;
top: -30px;
color: #ff7474;
}
.updataxq3 {
position: absolute;
right: 2px;
top: -30px;
color: #388be1;
}
}
}
}
.file_operation {
display: flex;
.fobox {
margin-right: 5px;
cursor: pointer;
}
}
}
}
}
}
.m_footer {
display: flex;
margin: 20px 0;
.fotnam {
width: 100px;
display: flex;
justify-content: end;
padding-right: 15px;
}
.fotarea {
position: relative;
.fuwenben {
width: 90%;
height: 20px;
background-color: rgb(95, 95, 95);
position: absolute;
left: 50%;
transform: translate(-50%, 0);
top: 3px;
z-index: 9999;
}
}
}
.m_btn {
width: 100%;
margin-top: 25px;
margin-bottom: 20px;
display: flex;
justify-content: center;
align-content: center;
.btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn5 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
}
.btn6 {
background-color: #4ea6ff;
color: #ffffff;
}
}
}
}
}
}
}
</style>

View File

@@ -14,23 +14,37 @@
<div class="tmplh_inp"> <div class="tmplh_inp">
<div class="inpbox"> <div class="inpbox">
<div class="inpbox1"> <div class="inpbox1">
<a-select v-model:value="valueproj" :options="[{ label: '请选择内容分类', value: '' }, ...calssifyList]" /> <a-select
v-model:value="valueproj"
:options="[
{ label: '请选择内容分类', value: '' },
...calssifyList,
]"
/>
</div> </div>
<div class="inpbox1"> <div class="inpbox1">
<a-input v-model:value="valuecreater" style=" <a-input
v-model:value="valuecreater"
style="
width: 270px; width: 270px;
height: 40px; height: 40px;
border-radius: 8px; border-radius: 8px;
margin-right: 14px; margin-right: 14px;
" placeholder="请输入创建人" /> "
placeholder="请输入创建人"
/>
</div> </div>
<div class="inpbox1"> <div class="inpbox1">
<a-input v-model:value="valuename" style=" <a-input
v-model:value="valuename"
style="
width: 270px; width: 270px;
height: 40px; height: 40px;
border-radius: 8px; border-radius: 8px;
margin-right: 14px; margin-right: 14px;
" placeholder="请输入名称" /> "
placeholder="请输入名称"
/>
</div> </div>
</div> </div>
</div> </div>
@@ -47,20 +61,40 @@
</div> </div>
<div class="tmpl_body"> <div class="tmpl_body">
<div class="tmpl_tabbox"> <div class="tmpl_tabbox">
<a-table :columns="columns1" :data-source="tableData1" :loading="tableDataTotal === -1 ? true : false" <a-table
expandRowByClick="true" @expand="expandTable" :scroll="{ x: 1300 }" :pagination="false" /> :columns="columns1"
:data-source="tableData1"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:scroll="{ x: 1300 }"
:pagination="false"
/>
</div> </div>
<div class="tableBox"> <div class="tableBox">
<div class="pa"> <div class="pa">
<a-pagination v-if="total > 10" showSizeChanger="true" show-quick-jumper :pageSize="pageSize" <a-pagination
v-model:current="currentPage" :total="total" class="pagination" @change="changePagination" /> v-if="total > 10"
showSizeChanger="true"
show-quick-jumper
:pageSize="pageSize"
v-model:current="currentPage"
:total="total"
class="pagination"
@change="changePagination"
/>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- 审核弹窗 --> <!-- 审核弹窗 -->
<a-modal v-model:visible="courAuditModal" :footer="null" :closable="closeBack" wrapClassName="courAuditModal" <a-modal
centered="true"> v-model:visible="courAuditModal"
:footer="null"
:closable="closeBack"
wrapClassName="courAuditModal"
centered="true"
>
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
<div class="del_main"> <div class="del_main">
@@ -80,8 +114,14 @@
</div> </div>
</div> </div>
<div class="item" style="margin-top: 20px"> <div class="item" style="margin-top: 20px">
<div class="sign" style="position:relative;left:30px;top:-2px;"> <div
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" /> class="sign"
style="position: relative; left: 30px; top: -2px"
>
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<div class="left">审核意见</div> <div class="left">审核意见</div>
<div class="rig"> <div class="rig">
@@ -101,15 +141,30 @@
</div> </div>
</a-modal> </a-modal>
<!-- 预览弹窗 --> <!-- 预览弹窗 -->
<a-modal v-model:visible="lookCourseModal" title="Title" @ok="handlePush" :footer="null" :closable="false" <a-modal
wrapClassName="modalStyle lookCourseModal" width="80%" @cancel="ft_exit"> v-model:visible="lookCourseModal"
title="Title"
@ok="handlePush"
:footer="null"
:closable="false"
wrapClassName="modalStyle lookCourseModal"
width="80%"
@cancel="ft_exit"
>
<div class="modalHeader"> <div class="modalHeader">
<div class="headerLeft"> <div class="headerLeft">
<img style="width: 17px; height: 18px; margin-right: 8px" src="../../assets/images/basicinfo/add.png" /> <img
style="width: 17px; height: 18px; margin-right: 8px"
src="../../assets/images/basicinfo/add.png"
/>
<span class="headerLeftText">预览</span> <span class="headerLeftText">预览</span>
</div> </div>
<div style="margin-right: 57px; cursor: pointer"> <div style="margin-right: 57px; cursor: pointer">
<img @click="ft_exit" style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" /> <img
@click="ft_exit"
style="width: 22px; height: 22px"
src="../../assets/images/basicinfo/close22.png"
/>
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
@@ -120,17 +175,26 @@
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" /> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 14px">课程名称</span> <span style="margin-right: 14px">课程名称</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.name : "" }}</div> <div class="i1_input">
{{ faceDetailObj !== null ? faceDetailObj.name : "" }}
</div>
</div> </div>
</div> </div>
<div class="i2_cz"> <div class="i2_cz">
<div class="i2_top"> <div class="i2_top">
<div class="i2_right" @click="hideShow" style="cursor: pointer"> <div
class="i2_right"
@click="hideShow"
style="cursor: pointer"
>
<div class="b_icon"></div> <div class="b_icon"></div>
</div> </div>
</div> </div>
@@ -138,23 +202,37 @@
<div class="mbl_items2"> <div class="mbl_items2">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" /> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 14px">封面图</span> <span style="margin-right: 14px">封面图</span>
</div> </div>
<img ref="heroImg" alt="" style="width:100px;height:100px;" /> <img
ref="heroImg"
alt=""
style="width: 100px; height: 100px"
/>
<!-- <div class="item_inp"></div> --> <!-- <div class="item_inp"></div> -->
</div> </div>
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img style="width: 10px; height: 10px" src="@/assets/images/coursewareManage/asterisk.png" <img
alt="" /> style="width: 10px; height: 10px"
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 14px">目标人群</span> <span style="margin-right: 14px">目标人群</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.targetUser : "" }}</div> <div class="i1_input">
{{
faceDetailObj !== null ? faceDetailObj.targetUser : ""
}}
</div>
</div> </div>
</div> </div>
<div class="mbl_items"> <div class="mbl_items">
@@ -162,7 +240,9 @@
<span style="margin-right: 14px">课程价值</span> <span style="margin-right: 14px">课程价值</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.meaning : "" }}</div> <div class="i1_input">
{{ faceDetailObj !== null ? faceDetailObj.meaning : "" }}
</div>
</div> </div>
</div> </div>
<!-- <div class="mbl_items"> <!-- <div class="mbl_items">
@@ -179,15 +259,24 @@
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" /> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 14px">内容分类</span> <span style="margin-right: 14px">内容分类</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<!-- <div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.categoryId : "" }}</div> --> <!-- <div class="select i6_input">{{ faceDetailObj !== null ? faceDetailObj.categoryId : "" }}</div> -->
<div class="select i6_input">{{ faceDetailObj !== null ? contentList11.find(e => e.dictCode == <div class="select i6_input">
faceDetailObj.categoryId)?.dictValue : "" {{
}}</div> faceDetailObj !== null
? contentList11.find(
(e) => e.dictCode == faceDetailObj.categoryId
)?.dictValue
: ""
}}
</div>
</div> </div>
</div> </div>
<div class="mbl_items"> <div class="mbl_items">
@@ -196,29 +285,41 @@
</div> </div>
<div class="item_inp"> <div class="item_inp">
<!-- <div class="select i7_input">{{ faceDetailObj !== null ? faceDetailObj.sceneId : "" }}</div> --> <!-- <div class="select i7_input">{{ faceDetailObj !== null ? faceDetailObj.sceneId : "" }}</div> -->
<div class="select i7_input">{{ faceDetailObj !== null ? sceneist11.find(e => e.dictCode == <div class="select i7_input">
faceDetailObj.sceneId)?.dictValue {{
: "" faceDetailObj !== null
}}</div> ? sceneist11.find(
(e) => e.dictCode == faceDetailObj.sceneId
)?.dictValue
: ""
}}
</div>
</div> </div>
</div> </div>
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<span style="margin-right: 14px">内容标签</span> <span style="margin-right: 14px">内容标签</span>
</div> </div>
<div class="item_inp">{{ faceDetailObj !== null ? faceDetailObj.tips : "" }}</div> <div class="item_inp">
{{ faceDetailObj !== null ? faceDetailObj.tips : "" }}
</div>
</div> </div>
</div> </div>
<div class="mb_right"> <div class="mb_right">
<div class="mbl_items"> <div class="mbl_items">
<div class="item_nam"> <div class="item_nam">
<div class="asterisk_icon"> <div class="asterisk_icon">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="asterisk" /> <img
src="@/assets/images/coursewareManage/asterisk.png"
alt="asterisk"
/>
</div> </div>
<span style="margin-right: 14px">授课教师</span> <span style="margin-right: 14px">授课教师</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<div class="i1_input">{{ faceDetailObj !== null ? faceDetailObj.teacher : "" }}</div> <div class="i1_input">
{{ faceDetailObj !== null ? faceDetailObj.teacher : "" }}
</div>
</div> </div>
</div> </div>
<div class="mbl_items2"> <div class="mbl_items2">
@@ -226,18 +327,35 @@
<span style="margin-right: 14px">课程简介</span> <span style="margin-right: 14px">课程简介</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<div class="i10_textarea">{{ faceDetailObj !== null ? faceDetailObj.intro : "" }}</div> <div class="i10_textarea">
{{ faceDetailObj !== null ? faceDetailObj.intro : "" }}
</div>
</div> </div>
</div> </div>
<div class="mbl_items"> <div class="mbl_items">
<div v-if="(attachMap.length>0)" class="item_nam"> <div v-if="attachMap.length > 0" class="item_nam">
<span style="margin-right: 10px">附件</span> <span style="margin-right: 10px">附件</span>
</div> </div>
<div class="item_inp" v-for="(value, index) in attachMap" :key="index"> <div
class="item_inp"
v-for="(value, index) in attachMap"
:key="index"
>
<a> <a>
{{ ['附件一', '附件二', '附件三', '附件四', '附件五', '附件六'][index] }} {{
[
"附件一",
"附件二",
"附件三",
"附件四",
"附件五",
"附件六",
][index]
}}
</a> </a>
<a style="margin-left:120px;" :src="value" :href="value">查看</a> <a style="margin-left: 120px" :src="value" :href="value"
>查看</a
>
<!-- <a-upload multiple :show-upload-list="false" :before-upload="beforeUpload2"> <!-- <a-upload multiple :show-upload-list="false" :before-upload="beforeUpload2">
<div class="accessory" style="cursor: pointer"> <div class="accessory" style="cursor: pointer">
<div class="accessory_icon"> <div class="accessory_icon">
@@ -252,7 +370,11 @@
</div> </div>
</div> </div>
<div class="mbl_items12"> <div class="mbl_items12">
<div class="i12_box1" v-for="(item, index) in imgList" :key="index"> <div
class="i12_box1"
v-for="(item, index) in imgList"
:key="index"
>
<div class="file_img"> <div class="file_img">
<img :src="item.img" /> <img :src="item.img" />
</div> </div>
@@ -290,7 +412,18 @@
<div style="border: 1px solid #ccc"> <div style="border: 1px solid #ccc">
<!-- <Toolbar style="border-bottom: 1px solid #ccc;width:900px;height: 300px;" :defaultConfig="toolbarConfig" <!-- <Toolbar style="border-bottom: 1px solid #ccc;width:900px;height: 300px;" :defaultConfig="toolbarConfig"
:mode="mode" /> --> :mode="mode" /> -->
<Editor @focus="onEditorFocus" style="border-bottom: 1px solid #ccc;width:900px;height: 300px;" v-model="valueHtml" :defaultConfig="editorConfig" :mode="mode" @onCreated="handleCreated" /> <Editor
@focus="onEditorFocus"
style="
border-bottom: 1px solid #ccc;
width: 900px;
height: 300px;
"
v-model="valueHtml"
:defaultConfig="editorConfig"
:mode="mode"
@onCreated="handleCreated"
/>
</div> </div>
</div> </div>
</div> </div>
@@ -308,10 +441,20 @@
</a-modal> </a-modal>
<!-- 审核在线课 --> <!-- 审核在线课 -->
<a-modal v-model:visible="onlineClassesVisible" :footer="null" :closable="false" <a-modal
wrapClassName="modalStyle onlineClassesStyle" :zIndex="9999"> v-model:visible="onlineClassesVisible"
<iframe id="iframe" style="width: 100%; height: 100%" :src="iframeUrl + 'course/noapproved'" name="myframe" :footer="null"
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"></iframe> :closable="false"
wrapClassName="modalStyle onlineClassesStyle"
:zIndex="9999"
>
<iframe
id="iframe"
style="width: 100%; height: 100%"
:src="iframeUrl + 'course/noapproved'"
name="myframe"
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
></iframe>
</a-modal> </a-modal>
</div> </div>
</template> </template>
@@ -382,7 +525,8 @@ export default {
dataIndex: "content", dataIndex: "content",
key: "content", key: "content",
align: "center", align: "center",
customRender: ({ text }) => state.calssifyList.find(e => e.value == text)?.label, customRender: ({ text }) =>
state.calssifyList.find((e) => e.value == text)?.label,
}, },
{ {
title: "状态", title: "状态",
@@ -434,9 +578,12 @@ export default {
onClick={() => { onClick={() => {
state.lookCourseModal = true; state.lookCourseModal = true;
getFaceDetail(value.record.offId); getFaceDetail(value.record.offId);
console.log(value.record) console.log(value.record);
}} }}
style="cursor:pointer;color:#387DF7">预览</span> style="cursor:pointer;color:#387DF7"
>
预览
</span>
</div> </div>
); );
}, },
@@ -451,14 +598,17 @@ export default {
}); });
/* /*
* 获取字典列表 * 获取字典列表
* param faceclassPic | faceclassClass | faceclassScene * param faceclassPic | faceclassClass | faceclassScene
* */ * */
const getDictList = (param) => api1.getDict({ const getDictList = (param) =>
pageNo: 1, api1
pageSize: 20, .getDict({
setCode: param pageNo: 1,
}).then((res) => res.data.data.rows) pageSize: 20,
setCode: param,
})
.then((res) => res.data.data.rows);
const getFaceList = () => { const getFaceList = () => {
let objn = { let objn = {
@@ -468,7 +618,7 @@ export default {
name: state.valuename, name: state.valuename,
pageNo: state.currentPage, pageNo: state.currentPage,
pageSize: 10, pageSize: 10,
projectName: "" projectName: "",
}; };
console.log(objn); console.log(objn);
@@ -503,20 +653,25 @@ export default {
console.log("获取面授详情信息成功", res); console.log("获取面授详情信息成功", res);
let result = res.data.data; let result = res.data.data;
state.faceDetailObj = result; state.faceDetailObj = result;
heroImg.value.src = result.picUrl heroImg.value.src = result.picUrl;
valueHtml.value = result.outline valueHtml.value = result.outline;
attachMap.value = result.attach==""?[]:result.attach.split(",") attachMap.value = result.attach == "" ? [] : result.attach.split(",");
console.log(result, attachMap.value); console.log(result, attachMap.value);
}) })
.catch((err) => { .catch((err) => {
console.log("获取面授详情信息失败", err); console.log("获取面授详情信息失败", err);
}); });
};
}
// 内容分类 场景 -- 目前直接写死的 // 内容分类 场景 -- 目前直接写死的
const sceneist11 = [{ dictCode: "6", dictValue: "场景一" }, { dictCode: "7", dictValue: "场景二" }] const sceneist11 = [
const contentList11 = [{ dictCode: "8", dictValue: "分类一" }, { dictCode: "5", dictValue: "分类二" }] { dictCode: "6", dictValue: "场景一" },
{ dictCode: "7", dictValue: "场景二" },
];
const contentList11 = [
{ dictCode: "8", dictValue: "分类一" },
{ dictCode: "5", dictValue: "分类二" },
];
// contentList11.find(e => e.dictCode == text)?.dictValue // contentList11.find(e => e.dictCode == text)?.dictValue
@@ -528,7 +683,7 @@ export default {
name: state.valuename, name: state.valuename,
pageNo: state.currentPage, pageNo: state.currentPage,
pageSize: 10, pageSize: 10,
projectName: "" projectName: "",
}; };
console.log(objn); console.log(objn);
@@ -547,22 +702,22 @@ export default {
.catch((err) => { .catch((err) => {
console.log("获取面授列表失败", err); console.log("获取面授列表失败", err);
}); });
} };
// 预览弹框 开启和关闭 // 预览弹框 开启和关闭
const ft_exit = () => { const ft_exit = () => {
state.lookCourseModal = false; state.lookCourseModal = false;
} };
const handlePush = () => { const handlePush = () => {
state.lookCourseModal = false; state.lookCourseModal = false;
} };
const setFaceData = (tableData) => { const setFaceData = (tableData) => {
if (!tableData || !tableData.length) { if (!tableData || !tableData.length) {
state.tableData1 = [] state.tableData1 = [];
return return;
} }
let data = tableData; let data = tableData;
let array = []; let array = [];
@@ -576,12 +731,12 @@ export default {
item.status == 0 item.status == 0
? "未提交" ? "未提交"
: item.status == 1 : item.status == 1
? "待审核" ? "待审核"
: item.status == 2 : item.status == 2
? "通过" ? "通过"
: item.status == -1 : item.status == -1
? "拒绝" ? "拒绝"
: "-", : "-",
change: "-", change: "-",
creater: item.createName, creater: item.createName,
time: item.createTime, time: item.createTime,
@@ -593,7 +748,7 @@ export default {
state.tableData1 = array; state.tableData1 = array;
}; };
const reset = () => { const reset = () => {
state.valueproj = ''; state.valueproj = "";
state.valuecreater = null; state.valuecreater = null;
state.valuename = null; state.valuename = null;
getFaceList(); getFaceList();
@@ -618,11 +773,15 @@ export default {
state.chooseOffId = null; state.chooseOffId = null;
}; };
const sureCourAuditModal = () => { const sureCourAuditModal = () => {
console.log(state.valueSugg) console.log(state.valueSugg);
if (state.valueSugg == null || state.valueSugg == undefined || state.valueSugg == "") { if (
state.valueSugg == null ||
state.valueSugg == undefined ||
state.valueSugg == ""
) {
message.destroy(); message.destroy();
message.error("请输入审核意见") message.error("请输入审核意见");
return return;
} }
courseAuditView({ courseAuditView({
@@ -638,7 +797,7 @@ export default {
message.destroy(); message.destroy();
message.success("审核提交成功"); message.success("审核提交成功");
state.valueSugg = null; state.valueSugg = null;
state.valuepass="1"; state.valuepass = "1";
getFaceList(); getFaceList();
}) })
.catch((err) => { .catch((err) => {
@@ -646,19 +805,22 @@ export default {
message.destroy(); message.destroy();
message.warning("审核提交失败"); message.warning("审核提交失败");
state.valueSugg = null; state.valueSugg = null;
state.valuepass="1"; state.valuepass = "1";
}); });
}; };
onMounted(async () => { onMounted(async () => {
getFaceList(); getFaceList();
//获取分类列表 //获取分类列表
state.calssifyList = (await getDictList("faceclassClass")).map(e => ({ label: e.dictName, value: e.dictCode })) state.calssifyList = (await getDictList("faceclassClass")).map((e) => ({
label: e.dictName,
value: e.dictCode,
}));
}); });
// 禁止用户编辑文本框内容 // 禁止用户编辑文本框内容
const onEditorFocus = (event) => { const onEditorFocus = (event) => {
event.enable(false); event.enable(false);
} };
return { return {
...toRefs(state), ...toRefs(state),
getFaceList, getFaceList,
@@ -677,7 +839,7 @@ export default {
attachMap, attachMap,
contentList11, contentList11,
sceneist11, sceneist11,
onEditorFocus onEditorFocus,
}; };
}, },
}; };
@@ -713,8 +875,10 @@ export default {
position: absolute; position: absolute;
width: calc(100%); width: calc(100%);
height: 68px; height: 68px;
background: linear-gradient(rgba(78, 166, 255, 0.2) 0%, background: linear-gradient(
rgba(78, 166, 255, 0) 100%); rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
} }
.del_main { .del_main {
@@ -822,7 +986,6 @@ export default {
.lookCourseModal { .lookCourseModal {
.ant-modal { .ant-modal {
.ant-modal-content { .ant-modal-content {
// width:1358px !important; // width:1358px !important;
.ant-modal-body { .ant-modal-body {
.modalHeader { .modalHeader {

View File

@@ -161,7 +161,10 @@
</div> </div>
<div class="inname">归属组织</div> <div class="inname">归属组织</div>
<div class="select in"> <div class="select in">
<OrgClass v-model:value="organizationSelectId" v-model:name="organizationSelectName"></OrgClass> <OrgClass
v-model:value="organizationSelectId"
v-model:name="organizationSelectName"
></OrgClass>
</div> </div>
<!-- <div class="in"> <!-- <div class="in">
<a-input <a-input
@@ -276,7 +279,10 @@
</div> </div>
<div class="inname">归属组织</div> <div class="inname">归属组织</div>
<div class="select in"> <div class="select in">
<OrgClass v-model:value="organizationSelectId" v-model:name="organizationSelectName"></OrgClass> <OrgClass
v-model:value="organizationSelectId"
v-model:name="organizationSelectName"
></OrgClass>
</div> </div>
<!-- <div class="in"> <!-- <div class="in">
<a-input <a-input
@@ -376,7 +382,7 @@
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
<div class="projectname">产品经理上升路径</div> <div class="projectname">{{ releasePathName }}</div>
<!-- <div class="projecttime"> <!-- <div class="projecttime">
<span class="timeti">路径时间</span <span class="timeti">路径时间</span
><span class="timeme">2022/08/01-2022/08/30</span> ><span class="timeme">2022/08/01-2022/08/30</span>
@@ -784,6 +790,7 @@ export default {
endTime: null, //结束时间 endTime: null, //结束时间
//发布--------------- //发布---------------
releasePathId: null, //发布路径id releasePathId: null, //发布路径id
releasePathName: null, //发布路径的名称
routeStudentsNum: 0, //学员总数 routeStudentsNum: 0, //学员总数
routeChapters: 0, //关卡总数 routeChapters: 0, //关卡总数
routeTasks: 0, //任务总数 routeTasks: 0, //任务总数
@@ -842,11 +849,13 @@ export default {
state.pathBg = item.dictValue; state.pathBg = item.dictValue;
}; };
//发布弹窗 //发布弹窗
const showPub = (routerId) => { const showPub = (router) => {
console.log("router", router);
state.pub = true; state.pub = true;
state.releasePathId = routerId; state.releasePathId = router.id;
state.releasePathName = router.manager;
api api
.getLearnCount(routerId) .getLearnCount(router.id)
.then((res) => { .then((res) => {
if (res.status === 200) { if (res.status === 200) {
// console.log("获取关卡、任务、学员统计数据", res.data); // console.log("获取关卡、任务、学员统计数据", res.data);
@@ -1103,7 +1112,7 @@ export default {
class="jc" class="jc"
onClick={() => { onClick={() => {
// console.log("text.record.", text.record); // console.log("text.record.", text.record);
showPub(text.record.id); showPub(text.record);
}} }}
> >
发布 发布

View File

@@ -1095,7 +1095,7 @@
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
<div class="projectname">产品经理上升路径</div> <div class="projectname">{{ styTitle }}</div>
<!-- <div class="projecttime"> <!-- <div class="projecttime">
<span class="timeti">路径时间</span <span class="timeti">路径时间</span
><span class="timeme">2022/08/01-2022/08/30</span> ><span class="timeme">2022/08/01-2022/08/30</span>

View File

@@ -522,11 +522,9 @@
<div class="btn btn1" @click="showChangeModal"> <div class="btn btn1" @click="showChangeModal">
<div class="btnText">移动任务到关卡</div> <div class="btnText">移动任务到关卡</div>
</div> </div>
<div class="btn btn2"> <div class="btn btn2" @click="showDeleteALLModal(1)">
<div class="imgIcon"></div> <div class="imgIcon"></div>
<div class="btnText" @click="showDeleteALLModal(1)"> <div class="btnText">批量删除</div>
批量删除
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -904,7 +902,7 @@
<div class="header"> <div class="header">
<div class="icon"></div> <div class="icon"></div>
<span>提示</span> <span>提示</span>
<div class="close_exit" @click="delete_exit"></div> <div class="close_exit" @click="closedeleteAll"></div>
</div> </div>
<div class="body"> <div class="body">
<span <span
@@ -912,11 +910,11 @@
> >
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closedeleteAll">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="subdeleteAll">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -943,11 +941,11 @@
<span>您确定要删除此任务吗</span> <span>您确定要删除此任务吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closeConfirm">
<div class="btnText" @click="closeConfirm">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="deleteLevelTask">
<div class="btnText" @click="deleteLevelTask">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -1632,11 +1630,16 @@ export default {
state.gqxy_hs = !state.gqxy_hs; state.gqxy_hs = !state.gqxy_hs;
}; };
const showDeleteALLModal = (type) => { const showDeleteALLModal = (type) => {
if (state.selectRow.length === 0)
return message.warning("请选择要删除的任务");
state.deleteAll = true; state.deleteAll = true;
state.deleteType = type; state.deleteType = type;
}; };
const delete_exit = () => { const closedeleteAll = () => {
state.deleteAll = false; state.deleteAll = false;
state.deleteType = null;
};
const subdeleteAll = () => {
deletecTaskAll(); deletecTaskAll();
state.deleteType = null; state.deleteType = null;
}; };
@@ -1655,6 +1658,8 @@ export default {
.then((res) => { .then((res) => {
state.deleteModal = false; state.deleteModal = false;
message.success("删除成功"); message.success("删除成功");
state.selectRow = []; //选择行
state.selectAll = 0; //0未选择1全选2部分选择
getDetail(); getDetail();
console.log("删除成功", res); console.log("删除成功", res);
}) })
@@ -1736,7 +1741,10 @@ export default {
.deleteTask(obj) .deleteTask(obj)
.then((res) => { .then((res) => {
console.log(res); console.log(res);
state.deleteAll = false;
message.destroy(); message.destroy();
state.selectRow = []; //选择行
state.selectAll = 0; //0未选择1全选2部分选择
message.success("批量删除成功"); message.success("批量删除成功");
getDetail(); getDetail();
}) })
@@ -1887,7 +1895,7 @@ export default {
changebgc, changebgc,
gqxy_hShow, gqxy_hShow,
showDeleteALLModal, showDeleteALLModal,
delete_exit, // delete_exit,
closeConfirm, closeConfirm,
drawertableColumns, drawertableColumns,
editChapter, editChapter,
@@ -1929,6 +1937,9 @@ export default {
temporaryStorage, temporaryStorage,
submitStorage, submitStorage,
cancelStorage, cancelStorage,
closedeleteAll,
subdeleteAll,
}; };
}, },
}; };

View File

@@ -570,6 +570,8 @@ export default {
} }
CountNum += Number(item["weightScale"]); CountNum += Number(item["weightScale"]);
} }
console.log("CountNum");
console.log(CountNum);
if (CountNum !== 100) { if (CountNum !== 100) {
message.error("当前权重设置是百分制 请重新配置"); message.error("当前权重设置是百分制 请重新配置");
return false; return false;