diff --git a/package-lock.json b/package-lock.json index 0837192..f38ecf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1812,6 +1812,63 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", @@ -1826,6 +1883,28 @@ "requires": { "minipass": "^3.1.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + } } } }, @@ -3388,6 +3467,16 @@ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, + "clipboard": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz", + "integrity": "sha512-cz3m2YVwFz95qSEbCDi2fzLN/epEN9zXBvfgAoGkvGOJZATMl9gtTDVOtBYkx2ODUJl2kvmud7n32sV2BpYR4g==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, "clipboardy": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", @@ -4538,6 +4627,11 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -5733,6 +5827,14 @@ "minimatch": "~3.0.2" } }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -10043,6 +10145,11 @@ } } }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -11078,6 +11185,11 @@ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -11612,87 +11724,6 @@ } } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.8.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", - "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "vue-router": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz", diff --git a/package.json b/package.json index d727d80..5897dd4 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "dependencies": { "axios": "^0.19.2", + "clipboard": "^2.0.10", "core-js": "^3.19.3", "element-ui": "^2.15.6", "jquery": "^3.6.0", diff --git a/src/api/index.js b/src/api/index.js index 2f961d0..2ae8013 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,3 +1,4 @@ +import config from '@/config' export default { getProjectDetail: 'occupationlab/projectManage/getProjectDetail', submit: 'python/python/submit', @@ -13,4 +14,9 @@ export default { referenceDemoList: `nakadai/model/reference/demo/referenceDemoList`, referenceFindById: `nakadai/model/reference/demo/findById`, checkIsShowBySystemId: `nakadai/model/reference/checkIsShowBySystemId`, + fileUpload: `${config.host}nakadai/nakadai/oss/fileUpload`, + importData: `occupationlab/python/file/data/importData`, + lookOver: `occupationlab/python/file/data/lookOver`, + batchDeletion: `occupationlab/python/file/data/batchDeletion`, + myData: `occupationlab/python/file/data/myData` } \ No newline at end of file diff --git a/src/components/TestPanel.vue b/src/components/TestPanel.vue index 917a2e8..b070a4b 100644 --- a/src/components/TestPanel.vue +++ b/src/components/TestPanel.vue @@ -630,13 +630,6 @@ export default { /deep/.el-collapse-item__arrow { margin: 0 5px 0 0; } -/deep/.el-icon-arrow-right:before { - padding: 1px; - margin-left: 10px; - font-size: 12px; - color: #fff; - border-radius: 50%; -} /deep/.el-tabs__item { font-size: 16px; } diff --git a/src/config/index.js b/src/config/index.js index 6a939b8..63b9fb1 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -4,7 +4,7 @@ const isHh = location.host.includes('10.196.131.73') //是否是河海版本 const isBeta = process.env.NODE_ENV === 'development' || location.host.includes('39.108.250.202') //是否是职站测试 let host = location.origin + ':9000/' -if (process.env.NODE_ENV === 'development') host = 'http://39.108.250.202:9000' +if (process.env.NODE_ENV === 'development') host = 'http://192.168.31.151:9000/' const systemId = util.getCookie('systemId') /** * python8个系统的id和名称 diff --git a/src/router/index.js b/src/router/index.js index 9c5da4e..53f3dde 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -11,17 +11,10 @@ const routes = [{ }, }, { - path: '/testPanel', - component: resolve => require(['../components/TestPanel.vue'], resolve), + path: '/data', + component: resolve => require(['../views/Data'], resolve), meta: { - title: '平板' - }, - }, - { - path: '/codemirror', - component: resolve => require(['../components/codemirror.vue'], resolve), - meta: { - title: '编辑器' + title: '我的数据' }, } ]; diff --git a/src/styles/theme/theme1.scss b/src/styles/theme/theme1.scss index 58daa32..d4c41c2 100644 --- a/src/styles/theme/theme1.scss +++ b/src/styles/theme/theme1.scss @@ -18,8 +18,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #333 !important; background-color: $--color-primary; } -.select .el-select__caret:before, -.el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme10.scss b/src/styles/theme/theme10.scss index 064de54..90d8e6b 100644 --- a/src/styles/theme/theme10.scss +++ b/src/styles/theme/theme10.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme4.scss b/src/styles/theme/theme4.scss index 364d2ef..119a922 100644 --- a/src/styles/theme/theme4.scss +++ b/src/styles/theme/theme4.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme5.scss b/src/styles/theme/theme5.scss index 21ac56d..e7ee312 100644 --- a/src/styles/theme/theme5.scss +++ b/src/styles/theme/theme5.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme6.scss b/src/styles/theme/theme6.scss index 130ee52..6f5bd77 100644 --- a/src/styles/theme/theme6.scss +++ b/src/styles/theme/theme6.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme7.scss b/src/styles/theme/theme7.scss index 2379c91..bea3c4d 100644 --- a/src/styles/theme/theme7.scss +++ b/src/styles/theme/theme7.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme8.scss b/src/styles/theme/theme8.scss index 8bbf6f5..31d0b45 100644 --- a/src/styles/theme/theme8.scss +++ b/src/styles/theme/theme8.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/styles/theme/theme9.scss b/src/styles/theme/theme9.scss index f94cc57..38e7155 100644 --- a/src/styles/theme/theme9.scss +++ b/src/styles/theme/theme9.scss @@ -19,7 +19,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; color: #fff !important; background-color: $--color-primary; } -.select .el-select__caret:before, .el-icon-arrow-right:before { +.select .el-select__caret:before { background-color: $--color-primary; } .el-icon-s-ticket:before { diff --git a/src/util/clipboard.js b/src/util/clipboard.js new file mode 100644 index 0000000..0839493 --- /dev/null +++ b/src/util/clipboard.js @@ -0,0 +1,32 @@ +import Vue from 'vue' +import Clipboard from 'clipboard' + +function clipboardSuccess(message = 'Copy successfully') { + Vue.prototype.$message({ + message, + type: 'success', + duration: 1500 + }) +} + +function clipboardError() { + Vue.prototype.$message({ + message: 'Copy failed', + type: 'error' + }) +} + +export default function handleClipboard(text, event, message) { + const clipboard = new Clipboard(event.target, { + text: () => text + }) + clipboard.on('success', () => { + clipboardSuccess(message) + clipboard.destroy() + }) + clipboard.on('error', () => { + clipboardError() + clipboard.destroy() + }) + clipboard.onClick(event) +} diff --git a/src/util/index.js b/src/util/index.js index 7eae976..4a720bf 100644 --- a/src/util/index.js +++ b/src/util/index.js @@ -39,6 +39,11 @@ export default { } return fmt }, + // 传入文件后缀判断是否是视频 + isVideo(ext) { + if ("mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv".includes(ext)) return true; + return false; + }, // 下载文件 downloadFile(fileName,url) { var x = new XMLHttpRequest() diff --git a/src/views/Data.vue b/src/views/Data.vue new file mode 100644 index 0000000..04a049b --- /dev/null +++ b/src/views/Data.vue @@ -0,0 +1,213 @@ + + + \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue index 34ded0d..59e9ae4 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -6,10 +6,13 @@ 退出实验 -
-

{{$config.title}}

-

编程语言

- +
+
+

{{$config.title}}

+

编程语言

+ +
+ 我的数据
@@ -115,6 +118,10 @@ export default { this.modelIsShow = !res.isShow // 0为展示 1为不展示 }).catch(res => {}) }, + // 跳转我的数据 + toData() { + this.$router.push('/data') + }, // 长时间未点击页面,就自动退出页面 autoLogout(){ let lastTime = new Date().getTime() @@ -188,17 +195,22 @@ export default { border-radius: 0; } } -/deep/.language { +/deep/.top { display: flex; + justify-content: space-between; + align-items: center; height: 60px; + padding: 0 15px; line-height: 60px; + .language { + display: inline-flex; + } p { font-size: 16px; - margin-left: 15px; margin-right: 15px; } .el-input { - width: 10%; + width: 200px; } .el-input.is-disabled .el-input__inner { border-radius: 30px;