From 046117736043829e7f28d2841d320bc4b6bf1487 Mon Sep 17 00:00:00 2001 From: yiyayiyayou <3186423912@qq.com> Date: Mon, 31 Jul 2023 14:31:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/index.js | 6 +- package-lock.json | 240 +++- package.json | 9 +- "src/assets/\345\256\242\346\210\267.png" | Bin 0 -> 2734 bytes "src/assets/\347\244\274\347\233\222.png" | Bin 0 -> 2005 bytes ...\345\215\225-\345\256\236\350\211\262.png" | Bin 0 -> 1709 bytes src/main.js | 10 +- src/request/api.js | 10 + src/request/http.js | 35 + src/utils/el-dragDialog/drag.js | 159 +++ src/utils/el-dragDialog/index.js | 14 + src/views/Exam/index.vue | 2 +- src/views/Home/index.vue | 313 ++++- src/views/Inform/index.vue | 1017 ++++++++++++++++- src/views/Subject/index.vue | 868 +++++++++++++- src/views/Work/index.vue | 884 +++++++++++++- src/views/icon/index.vue | 2 +- 17 files changed, 3512 insertions(+), 57 deletions(-) create mode 100644 "src/assets/\345\256\242\346\210\267.png" create mode 100644 "src/assets/\347\244\274\347\233\222.png" create mode 100644 "src/assets/\350\217\234\345\215\225-\345\256\236\350\211\262.png" create mode 100644 src/request/api.js create mode 100644 src/request/http.js create mode 100644 src/utils/el-dragDialog/drag.js create mode 100644 src/utils/el-dragDialog/index.js diff --git a/config/index.js b/config/index.js index cfec01b..79d32a8 100644 --- a/config/index.js +++ b/config/index.js @@ -22,11 +22,11 @@ module.exports = { assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: devEnv.PROXY_REQUEST === false ? {} :{ - '/api': { - target: 'http://127.0.0.1:7001', + '/': { + target: 'http://192.168.150.64:8080', changeOrigin: true, pathRewrite: { - '^/api': '/' + '^/api': '/ClassManager' } } }, diff --git a/package-lock.json b/package-lock.json index 3673834..0ee4720 100644 --- a/package-lock.json +++ b/package-lock.json @@ -220,6 +220,14 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", "dev": true }, + "@types/image-size": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/image-size/-/image-size-0.0.29.tgz", + "integrity": "sha512-d47SGzTnoUXSLRn3Kej43FZXLduZjHJqkb26BmxKp9fQveCvjfirtpk7a5iLCGkJ/rur9kxUf7DwD2eKlPxjMg==", + "requires": { + "@types/node": "*" + } + }, "@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.12.tgz", @@ -232,6 +240,14 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@types/jszip": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@types/jszip/-/jszip-3.4.1.tgz", + "integrity": "sha512-TezXjmf3lj+zQ651r6hPqvSScqBLvyPI9FxdXBqpEwBijNGQ2NXpaFW/7joGzveYkKQUil7iiDHLo6LV71Pc0A==", + "requires": { + "jszip": "*" + } + }, "@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz", @@ -241,8 +257,7 @@ "@types/node": { "version": "20.4.5", "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.4.5.tgz", - "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==", - "dev": true + "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==" }, "@types/q": { "version": "1.5.5", @@ -632,6 +647,15 @@ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, "agent-base": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-2.1.1.tgz", @@ -1134,6 +1158,16 @@ "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", "requires": { "follow-redirects": "1.5.10" + }, + "dependencies": { + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + } } }, "babel-code-frame": { @@ -2839,6 +2873,22 @@ "resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, + "cfb": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.0.8.tgz", + "integrity": "sha512-oA7VomcgZRWTo8V20UYLlXu4ZOCFEAfwwrcxE8PcVzXW12WOhsi38PVnymb6Xoj8y7ghoZQOOOVRBMdLJ4jCjg==", + "requires": { + "commander": "^2.14.1", + "printj": "~1.1.2" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "chai-nightwatch": { "version": "0.1.1", "resolved": "https://registry.npmmirror.com/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz", @@ -3168,6 +3218,22 @@ "resolved": "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" }, + "codepage": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", + "integrity": "sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw==", + "requires": { + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + } + } + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz", @@ -3665,6 +3731,11 @@ } } }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, "create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -3936,6 +4007,11 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + }, "cssnano": { "version": "4.1.11", "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-4.1.11.tgz", @@ -4612,6 +4688,19 @@ "esutils": "^2.0.2" } }, + "docx": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/docx/-/docx-4.2.0.tgz", + "integrity": "sha512-L+XnjBLUU0Mj8oIlEESUDAEGZP1paXmZkJzCem/XAJGmvIC7bFbcELiV20GmMR+/jwshiCRyhtSO4GujxS7IYA==", + "requires": { + "@types/image-size": "0.0.29", + "@types/jszip": "^3.1.3", + "fast-xml-parser": "^3.3.6", + "image-size": "^0.6.2", + "jszip": "^3.1.5", + "xml": "^1.0.1" + } + }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", @@ -5620,6 +5709,11 @@ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -5875,6 +5969,14 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "fast-xml-parser": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz", + "integrity": "sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==", + "requires": { + "strnum": "^1.0.4" + } + }, "faye-websocket": { "version": "0.11.4", "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", @@ -5949,6 +6051,11 @@ } } }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -6423,12 +6530,10 @@ } }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - } + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true }, "font-awesome": { "version": "4.7.0", @@ -6480,6 +6585,11 @@ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -8133,6 +8243,16 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-2.1.0.tgz", @@ -9496,6 +9616,11 @@ "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", "dev": true }, + "jsonexport": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonexport/-/jsonexport-3.2.0.tgz", + "integrity": "sha512-GbO9ugb0YTZatPd/hqCGR0FSwbr82H6OzG04yzdrG7XOe4QZ0jhQ+kOsB29zqkzoYJLmLxbbrFiuwbQu891XnQ==" + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", @@ -9522,6 +9647,17 @@ "verror": "1.10.0" } }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/killable/-/killable-1.0.1.tgz", @@ -9578,6 +9714,14 @@ "type-check": "~0.3.2" } }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, "liftoff": { "version": "2.5.0", "resolved": "https://registry.npmmirror.com/liftoff/-/liftoff-2.5.0.tgz", @@ -10042,6 +10186,14 @@ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", "dev": true }, + "mavon-editor": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/mavon-editor/-/mavon-editor-2.10.4.tgz", + "integrity": "sha512-CFsBLkgt/KZBDg+SJYe2fyYv4zClY149PiwpH0rDAiiP4ae1XNs0GC8nBsoTeipsHcebDLN1QMkt3bUsnMDjQw==", + "requires": { + "xss": "^1.0.6" + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmmirror.com/md5.js/-/md5.js-1.3.5.tgz", @@ -11471,8 +11623,7 @@ "pako": { "version": "1.0.11", "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "parallel-transform": { "version": "1.2.0", @@ -12970,6 +13121,11 @@ "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", "dev": true }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmmirror.com/private/-/private-0.1.8.tgz", @@ -14423,8 +14579,7 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "setprototypeof": { "version": "1.2.0", @@ -14475,9 +14630,9 @@ "dev": true }, "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmmirror.com/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha512-/YF5Uk8hcwi7ima04ppkbA4RaRMdPMBfwAvAf8sufYOxsJRtbdoBsT8vGvlb+799BrlGdYrd+oczIA2eN2JdWA==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "requires": { "glob": "^7.0.0", @@ -14939,6 +15094,14 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, + "ssf": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz", + "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==", + "requires": { + "frac": "~1.1.2" + } + }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz", @@ -15214,6 +15377,11 @@ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "style-loader": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-1.3.0.tgz", @@ -19244,6 +19412,32 @@ "async-limiter": "~1.0.0" } }, + "xlsx": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.13.5.tgz", + "integrity": "sha512-AQo8Anyuv8ZxegAH2EUJ9ZauLf3lIDPfmV7OpJi79LNW6jO4gsviJyQCjNCJY7Deu1SLCrr7LY6rM9N91ixaDQ==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "~1.0.8", + "codepage": "~1.14.0", + "commander": "~2.15.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.2" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + } + } + }, + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -19256,6 +19450,22 @@ "integrity": "sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==", "dev": true }, + "xss": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", + "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 5b88535..55e12ed 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,14 @@ "@fortawesome/fontawesome-free-solid": "^5.0.13", "@fortawesome/vue-fontawesome": "^3.0.3", "axios": "^0.19.2", + "docx": "^4.2.0", "echarts": "^4.1.0", "element-ui": "^2.13.1", + "file-saver": "^2.0.5", "font-awesome": "^4.7.0", "js-cookie": "^2.2.0", + "jsonexport": "^3.2.0", + "mavon-editor": "^2.10.4", "node-sass": "^4.14.1", "nprogress": "^0.2.0", "scriptjs": "^2.5.8", @@ -35,7 +39,8 @@ "vue-i18n": "^8.4.0", "vue-router": "^3.0.1", "vuex": "^3.0.1", - "wangeditor": "^3.1.1" + "wangeditor": "^3.1.1", + "xlsx": "^0.13.5" }, "devDependencies": { "autoprefixer": "^7.1.2", @@ -90,7 +95,7 @@ "sass-loader": "^7.1.0", "selenium-server": "^3.0.1", "semver": "^5.3.0", - "shelljs": "^0.7.6", + "shelljs": "^0.8.5", "style-loader": "^1.1.4", "thread-loader": "^2.1.3", "uglifyjs-webpack-plugin": "^2.2.0", diff --git "a/src/assets/\345\256\242\346\210\267.png" "b/src/assets/\345\256\242\346\210\267.png" new file mode 100644 index 0000000000000000000000000000000000000000..a2344f6339be333f55660ce8dd34f4d172a07965 GIT binary patch literal 2734 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 EUmO2@d;kCd literal 0 HcmV?d00001 diff --git "a/src/assets/\350\217\234\345\215\225-\345\256\236\350\211\262.png" "b/src/assets/\350\217\234\345\215\225-\345\256\236\350\211\262.png" new file mode 100644 index 0000000000000000000000000000000000000000..e964f735f61638f6dd68a9c93cd671d7525f7812 GIT binary patch literal 1709 zcmZvdc~BE}7RP@%3`rzhL9QS~y98DtK!OB>G9iEv3=s&n$Yr1$3KS45#EKGBp2 zZGZ*1Q$)!YQ|EybfPH8)On2tUc{k>_4G5nJ*rf66aiOOrglK@u=+6FWh^5OL?MmR8do$Up1!}8uHFI#yBQ~ zbpc_P6?j90mPZqQOfT(M@#|@@ukFd~|L%~rO>0Z96wkHZ%LC@&dHP*EX)w(i=AV#f z!gf6850$|Ew@+L`J4_P0dF zRbow>W?i2tW2%I~<|aWrixiZ6-FavNY2bwNQC_jL9d3aMLMkzaCCV}VZkp0tO4|Ci zVibO~fs(y(&&HbguwD2`W#d*nEbDJ2z3UN#?`0-`r%ObOAC@8&iA8rE9`008gaC5R zNWSLv%k8qwe^m%w%%h+jJM4BRd_2`K%)`6>X^2LxWl&)ayqG@PDi*aCiQto~^#$p_)q+Iw|7uw}cHJ!8Oizb897czsXV=476l5NoFiJ%fDGpv?s0C2NF?(G>mwgaU2kFuvjtz56F`w>@G<7_0q@; zDu|Ru5YW&8#z7f69X#d?GPL1^qOU6UKq11_GLab)Pj0X|2!~qDSde{Kd#E~b;>g;} zA1BfMy?F7X>28>X+!*odjKpV6sX4ne!NdpA#n_Z+&a2Tg6S~NQAkah?cQnsF9iPxHWXV3$DVR73Nh_;CRTh%%ML<0WM$0y zwjZ=Nl%+bxjSj_}biRPnBj^blZo3AJFzqa=WlGhXf`&YrRJdNTIdhI&5WTk9rdE)3 znV>JI!t56%UEydk_O<_V>CJ9>KlA0N?YOT0!c9zO@SUJMu?Uu|S1hiQfixNX(vY>5 z{roL1y{+Q>T%tHh;5K?A7=~)-yZwPhYmLX>2>=`=`TAk zHno22pJ?U>drkl3-D~G`eLs*L0Y}RrNNV{p`7j>H1FrvI1;09YBjuC^H^t&tFFok+ z>t7vgkX;>Riv(53!u!R&2Jori!L!&*aCYN&H4Jp6F`^yivU8T-XCWY*=cEb2J`n75 w--QpPF`~F04KA@}vep?)HZv%p|7T1ZbSyUZe!wHEhMoTd=x$8cMjD& post("https://www.fastmock.site/mock/0683796c98fd4fcda87dba9394800470/classmanager/ClassManager/subject/queryLimit.do",data); + +const getWork = data => post("https://www.fastmock.site/mock/0683796c98fd4fcda87dba9394800470/classmanager/work",data); + +const getInform = data => post('https://www.fastmock.site/mock/0683796c98fd4fcda87dba9394800470/classmanager/inform',data) +const getInf = data => get('/subject/queryLimit.do',data) + +export default {getSubject,getWork,getInform,getInf} \ No newline at end of file diff --git a/src/request/http.js b/src/request/http.js new file mode 100644 index 0000000..b2306b5 --- /dev/null +++ b/src/request/http.js @@ -0,0 +1,35 @@ +// api.js http.js 配置axios +// 引入axios +import axios from "axios"; +import QS from "qs"; +// 设置默认前缀 +// axios.defaults.baseURL = +// "https://www.fastmock.site/mock/02f9d1b84fb22b1f14d6109352630a05/web/mlt"; +// 封装get请求 +export const get = (url, params) => { + return new Promise((resolve, reject) => { + axios + .get(url, { params }) + .then((res) => { + resolve(res.data); + }) + .catch((err) => { + reject(err.data); + }); + }); +}; +// 封装post请求 +export const post = (url, params) => { + return new Promise((resolve, reject) => { + console.log(params); + axios + .post(url, params) + .then((res) => { + resolve(res.data); + }) + .catch((err) => { + reject(err.data); + }); + }); +}; + diff --git a/src/utils/el-dragDialog/drag.js b/src/utils/el-dragDialog/drag.js new file mode 100644 index 0000000..c5eec5c --- /dev/null +++ b/src/utils/el-dragDialog/drag.js @@ -0,0 +1,159 @@ +export default { + bind(el, binding, vnode, oldVnode) { + let resizeEvent = new CustomEvent('drag-resize', { detail: '尺寸变化', bubbles: false }); + //初始化不最大化 + el.fullscreen = false; + //弹框可拉伸最小宽高 + let minWidth = 400; + let minHeight = 300; + //当前宽高 + let nowWidth = minWidth; + let nowHight = minHeight; + //当前顶部高度 + let nowMarginTop = 0; + //获取弹框头部(这部分可双击全屏) + const dialogHeaderEl = el.querySelector('.el-dialog__header'); + let hasSetBodyHight = false; + //弹窗 + const dragDom = el.querySelector('.el-dialog'); + dragDom.className += ' el-drag-dialog'; + //清除选择头部文字效果 + dialogHeaderEl.onselectstart = new Function("return false"); + //头部加上可拖动cursor + dialogHeaderEl.style.cursor = 'move'; + + // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null); + const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null); + + //头部插入最大化最小化元素 + let maxMin = document.createElement("button"); + maxMin.className += ' el-dialog__headerbtn el-dialog__minmax'; + maxMin.style.right = '40px'; + maxMin.style.color = '#909399'; + maxMin.title = el.fullscreen ? '还原' : '最大化'; + maxMin.innerHTML = ''; + dialogHeaderEl.insertBefore(maxMin, dialogHeaderEl.childNodes[1]); + let moveDown = (e) => { + // 鼠标按下,计算当前元素距离可视区的距离 + const disX = e.clientX - dialogHeaderEl.offsetLeft; + const disY = e.clientY - dialogHeaderEl.offsetTop; + + // 获取到的值带px 正则匹配替换 + let styL, styT; + + // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px + if (sty.left.includes('%')) { + styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100); + styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100); + } else { + styL = +sty.left.replace(/\px/g, ''); + styT = +sty.top.replace(/\px/g, ''); + } + ; + + document.onmousemove = function (e) { + // 通过事件委托,计算移动的距离 + const l = e.clientX - disX; + const t = e.clientY - disY; + + // 移动当前元素 + dragDom.style.left = `${l + styL}px`; + dragDom.style.top = `${t + styT}px`; + + //将此时的位置传出去 + //binding.value({x:e.pageX,y:e.pageY}) + }; + + document.onmouseup = function (e) { + document.onmousemove = null; + document.onmouseup = null; + }; + } + dialogHeaderEl.onmousedown = moveDown; + let bodyHeight = 'auto'; + + function setMaxMin() { + if (el.fullscreen) { + let i = maxMin.querySelector('.el-icon-crop'); + i.classList.remove('el-icon-crop'); + i.classList.add('el-icon-full-screen'); + maxMin.innerHTML = ''; + maxMin.title = '最大化'; + dragDom.style.height = "auto"; + dragDom.style.width = nowWidth + 'px'; + dragDom.style.marginTop = nowMarginTop; + el.fullscreen = false; + dialogHeaderEl.style.cursor = 'move'; + dialogHeaderEl.onmousedown = moveDown; + dragDom.querySelector('.el-dialog__body').style.height = bodyHeight; + hasSetBodyHight = false; + } else { + let i = maxMin.querySelector('.el-icon-full-screen'); + i.classList.remove('el-icon-full-screen'); + i.classList.add('el-icon-crop'); + maxMin.title = '还原'; + bodyHeight = dragDom.querySelector('.el-dialog__body').offsetHeight + 'px'; + nowHight = dragDom.clientHeight; + nowWidth = dragDom.clientWidth; + nowMarginTop = dragDom.style.marginTop; + dragDom.style.left = 0; + dragDom.style.top = 0; + dragDom.style.height = "100VH"; + dragDom.style.width = "100VW"; + dragDom.style.marginTop = 0; + el.fullscreen = true; + dialogHeaderEl.style.cursor = 'initial'; + dialogHeaderEl.onmousedown = null; + if (!hasSetBodyHight) { + let footerHeight = dragDom.querySelector('.el-dialog__footer') && dragDom.querySelector('.el-dialog__footer').offsetHeight; + dragDom.querySelector('.el-dialog__body').style.height = 'calc(100% - ' + (dialogHeaderEl.offsetHeight + footerHeight) + 'px)'; + hasSetBodyHight = true; + } + } + el.dispatchEvent(resizeEvent); + } + + //点击放大缩小效果 + maxMin.onclick = setMaxMin; + //双击头部效果 + dialogHeaderEl.ondblclick = setMaxMin; + //拉伸 + let resizeEl = document.createElement("div"); + dragDom.appendChild(resizeEl); + //在弹窗右下角加上一个10-10px的控制块 + resizeEl.style.cursor = 'se-resize'; + resizeEl.style.position = 'absolute'; + resizeEl.style.height = '10px'; + resizeEl.style.width = '10px'; + resizeEl.style.right = '0px'; + resizeEl.style.bottom = '0px'; + //鼠标拉伸弹窗 + resizeEl.onmousedown = (e) => { + // 记录初始x位置 + const clientX = e.clientX; + // 鼠标按下,计算当前元素距离可视区的距离 + const disX = e.clientX - resizeEl.offsetLeft; + const disY = e.clientY - resizeEl.offsetTop; + document.onmousemove = function (e) { + e.preventDefault(); // 移动时禁用默认事件 + // 通过事件委托,计算移动的距离 + const x = e.clientX - disX + (e.clientX - clientX);//这里 由于elementUI的dialog控制居中的,所以水平拉伸效果是双倍 + const y = e.clientY - disY; + //比较是否小于最小宽高 + dragDom.style.width = x > minWidth ? `${x}px` : minWidth + 'px'; + dragDom.style.height = y > minHeight ? `${y}px` : minHeight + 'px'; + if (!hasSetBodyHight) { + let footerHeight = dragDom.querySelector('.el-dialog__footer') && dragDom.querySelector('.el-dialog__footer').offsetHeight; + dragDom.querySelector('.el-dialog__body').style.height = 'calc(100% - ' + (dialogHeaderEl.offsetHeight + footerHeight) + 'px)'; + hasSetBodyHight = true; + } + }; + //拉伸结束 + document.onmouseup = function (e) { + document.onmousemove = null; + document.onmouseup = null; + el.dispatchEvent(resizeEvent); + }; + } + } +} \ No newline at end of file diff --git a/src/utils/el-dragDialog/index.js b/src/utils/el-dragDialog/index.js new file mode 100644 index 0000000..67a49f9 --- /dev/null +++ b/src/utils/el-dragDialog/index.js @@ -0,0 +1,14 @@ +import drag from './drag' +import Vue from 'vue' + +const install = function(Vue) { + Vue.directive('el-drag-dialog', drag) +} + +if (window.Vue) { + window['el-drag-dialog'] = drag + Vue.use(install); +} + +drag.install = install +export default drag \ No newline at end of file diff --git a/src/views/Exam/index.vue b/src/views/Exam/index.vue index daa01e4..c8464ad 100644 --- a/src/views/Exam/index.vue +++ b/src/views/Exam/index.vue @@ -1,6 +1,6 @@ diff --git a/src/views/Home/index.vue b/src/views/Home/index.vue index 38703d9..3450c10 100644 --- a/src/views/Home/index.vue +++ b/src/views/Home/index.vue @@ -1,6 +1,189 @@ @@ -10,20 +193,140 @@ export default { data() { return { - + }; }, mounted() { - + }, methods: { - + }, }; \ No newline at end of file diff --git a/src/views/Inform/index.vue b/src/views/Inform/index.vue index 2a87cb0..fcf69b3 100644 --- a/src/views/Inform/index.vue +++ b/src/views/Inform/index.vue @@ -1,29 +1,1030 @@ \ No newline at end of file diff --git a/src/views/Subject/index.vue b/src/views/Subject/index.vue index 2864d66..3e5f785 100644 --- a/src/views/Subject/index.vue +++ b/src/views/Subject/index.vue @@ -1,29 +1,881 @@ \ No newline at end of file + ::v-deep .el-button--primary { + background-color: #18bc9c; + border-color: #18bc9c; + } + } +} \ No newline at end of file diff --git a/src/views/Work/index.vue b/src/views/Work/index.vue index ec259d0..1e4795a 100644 --- a/src/views/Work/index.vue +++ b/src/views/Work/index.vue @@ -1,29 +1,891 @@ \ No newline at end of file + ::v-deep .el-button--primary { + background-color: #18bc9c; + border-color: #18bc9c; + } + } +} \ No newline at end of file diff --git a/src/views/icon/index.vue b/src/views/icon/index.vue index 126f2f8..71202a7 100644 --- a/src/views/icon/index.vue +++ b/src/views/icon/index.vue @@ -28,7 +28,7 @@
-

Font Awesome图标本框架已经内置该图标库675个图标,不需要另外引入安装,可以直接使用,使用方法直接通过设置类名为 'fa fa-iconName' 来使用即可。例如:<i class="fa fa-camera-retro"></i> +

Font Awesome图标本框架已经内置该图标库675个图标,不需要另外引入安装,可以直接使用,使用方法直接通过设置类名为 'fa fa-iconName' 来使用即可。例如:<i class="fa fa-camera-retro"></i>

使用 fa-lg (33%递增)、fa-2x、 fa-3x、fa-4x,或者 fa-5x 类 来放大图标,例如:<i class="fa fa-camera-retro fa-2x"></i>

更多功能及用法点击 此处

-- Gitee