diff --git a/node_modules.zip b/node_modules.rar similarity index 75% rename from node_modules.zip rename to node_modules.rar index fed7a9f..efe6485 100644 Binary files a/node_modules.zip and b/node_modules.rar differ diff --git a/package-lock.json b/package-lock.json index 9626e5e..8a177e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1162,9 +1162,9 @@ } }, "@ctrl/tinycolor": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", - "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==" + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" }, "@element-plus/icons": { "version": "0.0.11", @@ -1173,9 +1173,31 @@ "dev": true }, "@element-plus/icons-vue": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-0.2.7.tgz", - "integrity": "sha512-S8kDbfVaWkQvbUYQE1ui448tzaHfUvyESCep9J6uPRlViyQPXjdIfwLBhV6AmQSOfFS8rL+xehJGhvzPXLrSBg==" + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==" + }, + "@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "requires": { + "@floating-ui/utils": "^0.2.10" + } + }, + "@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "requires": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" }, "@fullcalendar/common": { "version": "5.11.2", @@ -1436,9 +1458,9 @@ "integrity": "sha512-3MUulwMtsdCA9lw8a/Kc0XDBJJVCkYTQ5aGd+///TbfkOMXoOGAzzoiYKwPEsLYZv7He7fKJ/mCacqKOO7REyg==" }, "@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" }, "@samverschueren/stream-to-observable": { "version": "0.3.1", @@ -1618,6 +1640,19 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@types/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, "@types/mime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.0.tgz", @@ -1702,6 +1737,11 @@ "resolved": "https://registry.npmjs.org/@types/video.js/-/video.js-7.3.42.tgz", "integrity": "sha512-AD6AQNMgLTqrgoayC6SshKh8EDkDd9x5pmEuiY9YsniHlhn5jPXdkVqrzKLwviapaRhQF15TQYxo1JWpqXCUBg==" }, + "@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, "@types/webpack": { "version": "4.41.32", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", @@ -2338,18 +2378,25 @@ "dev": true }, "@vueuse/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-7.7.1.tgz", - "integrity": "sha512-PRRgbATMpoeUmkCEBtUeJgOwtew8s+4UsEd+Pm7MhkjL2ihCNrSqxNVtM6NFE4uP2sWnkGcZpCjPuNSxowJ1Ow==", + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", "requires": { - "@vueuse/shared": "7.7.1", + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", "vue-demi": "*" } }, + "@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + }, "@vueuse/shared": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-7.7.1.tgz", - "integrity": "sha512-rN2qd22AUl7VdBxihagWyhUNHCyVk9IpvBTTfHoLH9G7rGE552X1f+zeCfehuno0zXif13jPw+icW/wn2a0rnQ==", + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", "requires": { "vue-demi": "*" } @@ -2909,7 +2956,7 @@ }, "async-validator": { "version": "4.2.5", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" }, "asynckit": { @@ -4965,9 +5012,9 @@ "dev": true }, "dayjs": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.4.tgz", - "integrity": "sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==" + "version": "1.11.18", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==" }, "debug": { "version": "4.3.4", @@ -5525,21 +5572,25 @@ "dev": true }, "element-plus": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.0.2.tgz", - "integrity": "sha512-URjC0HwwiqtlLxqTmHXQ31WXrdAq4ChWyyn52OcQs3PRsnMPfahGVq2AWnfzzlzlhVeI5lY3HQiuB1zDathS+g==", + "version": "2.11.3", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.11.3.tgz", + "integrity": "sha512-769xsjLR4B9Vf9cl5PDXnwTEdmFJvMgAkYtthdJKPhjVjU3hdAwTJ+gXKiO+PUyo2KWFwOYKZd4Ywh6PHfkbJg==", "requires": { - "@ctrl/tinycolor": "^3.4.0", - "@element-plus/icons-vue": "^0.2.6", - "@popperjs/core": "^2.11.2", - "@vueuse/core": "^7.6.0", - "async-validator": "^4.0.7", - "dayjs": "^1.10.7", + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", "lodash": "^4.17.21", "lodash-es": "^4.17.21", - "lodash-unified": "^1.0.1", + "lodash-unified": "^1.0.2", "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.1.1" + "normalize-wheel-es": "^1.2.0" } }, "elliptic": { @@ -5714,8 +5765,7 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "escape-string-regexp": { "version": "1.0.5", @@ -9006,13 +9056,13 @@ }, "lodash-es": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "lodash-unified": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.2.tgz", - "integrity": "sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==" + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==" }, "lodash.debounce": { "version": "4.0.8", @@ -9217,7 +9267,7 @@ }, "memoize-one": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, "memory-fs": { @@ -9720,7 +9770,7 @@ }, "normalize-wheel-es": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" }, "npm-run-path": { @@ -14624,9 +14674,9 @@ "dev": true }, "vue-demi": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz", - "integrity": "sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ==" + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==" }, "vue-eslint-parser": { "version": "7.11.0", diff --git a/package.json b/package.json index 41b7a92..60ab576 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "core-js": "^3.6.5", "echarts": "^5.3.3", "echarts-gl": "^2.0.9", - "element-plus": "2.0.2", + "element-plus": "2.11.3", "gifler": "^0.1.0", "lodash": "^4.17.21", "mitt": "^3.0.0", diff --git a/src/api/sys.js b/src/api/sys.js index 47ab1ef..d661a70 100644 --- a/src/api/sys.js +++ b/src/api/sys.js @@ -1,5 +1,5 @@ import request from "@/utils/request"; -const api = "/mosty-base"; +const api = "/mosty-api/mosty-base"; /* * 登录 * return promise 实例对象 diff --git a/src/components/MyComponents/Upload/index.vue b/src/components/MyComponents/Upload/index.vue index 0f0b397..f5aa56c 100644 --- a/src/components/MyComponents/Upload/index.vue +++ b/src/components/MyComponents/Upload/index.vue @@ -54,7 +54,7 @@ import { COMPONENT_WIDTH } from "@/constant"; import { ref, defineProps, defineEmits, defineExpose, computed, watch, onMounted } from "vue"; import { ElMessage, ElMessageBox } from "element-plus"; -import type from "element-plus/es/components/upload/src/upload.type"; + import { useStore } from "vuex"; const props = defineProps({ //获取组件传值 diff --git a/src/layout/components/Header.vue b/src/layout/components/Header.vue index ab994d3..a4489e3 100644 --- a/src/layout/components/Header.vue +++ b/src/layout/components/Header.vue @@ -19,9 +19,9 @@ -
+
diff --git a/src/router/index.js b/src/router/index.js index bfb9542..bedffbb 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -326,12 +326,52 @@ export const publicRoutes = [ }, }, { - path: "/trainer", - name: "trainer", - component: () => - import("@/views/securityManagement/trainer/index"), + path: "/trainingManagement", + name: "/trainingManagement", meta: { - title: "培训人员管理", + title: "培训管理", + icon: "personnel" + }, + children: [ + { + path: "/trainingManagement/trainer", + name: "trainer", + component: () => + import("@/views/securityManagement/trainingManagement/trainer/index"), + meta: { + title: "培训人员", + icon: "personnel" + }, + }, + { + path: "/trainingManagement/personnelTraining", + name: "personnelTraining", + component: () => + import("@/views/securityManagement/trainingManagement/personnelTraining/index"), + meta: { + title: "保安待培训人员管理", + icon: "personnel" + }, + }, + { + path: "/trainingManagement/trainingProject", + name: "trainingProject", + component: () => + import("@/views/securityManagement/trainingManagement/trainingProject/index"), + meta: { + title: "保安培训项目管理", + icon: "personnel" + } + } + ] + }, + { + path: "/examManagement", + name: "examManagement", + component: () => + import("@/views/securityManagement/examManagement/index"), + meta: { + title: "保安考试管理", icon: "personnel" }, } diff --git a/src/styles/index.scss b/src/styles/index.scss index 6587ff6..d2d6193 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -97,6 +97,13 @@ div:focus { border-color: rgb(8, 85, 170); } +::v-deep { + .el-input__inner, .el-input__inner:hover, .el-input__inner:focus { + border: none; + box-shadow: none; + } +} + .new-btn-class-bj { color: #409eff; margin-right: 10px; diff --git a/src/views/securityManagement/examManagement/components/viewAndUploadDialog.vue b/src/views/securityManagement/examManagement/components/viewAndUploadDialog.vue new file mode 100644 index 0000000..1baecef --- /dev/null +++ b/src/views/securityManagement/examManagement/components/viewAndUploadDialog.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/views/securityManagement/examManagement/components/viewExamDetalis.vue b/src/views/securityManagement/examManagement/components/viewExamDetalis.vue new file mode 100644 index 0000000..89f27bb --- /dev/null +++ b/src/views/securityManagement/examManagement/components/viewExamDetalis.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/views/securityManagement/examManagement/index.vue b/src/views/securityManagement/examManagement/index.vue new file mode 100644 index 0000000..5419b96 --- /dev/null +++ b/src/views/securityManagement/examManagement/index.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/views/securityManagement/practitioner/index.vue b/src/views/securityManagement/practitioner/index.vue index 1219846..e541616 100644 --- a/src/views/securityManagement/practitioner/index.vue +++ b/src/views/securityManagement/practitioner/index.vue @@ -1,7 +1,7 @@