diff --git a/PC/InterFace.Dash/package-lock.json b/PC/InterFace.Dash/package-lock.json index b32b900..ebe7119 100644 --- a/PC/InterFace.Dash/package-lock.json +++ b/PC/InterFace.Dash/package-lock.json @@ -10,6 +10,8 @@ "license": "MIT", "dependencies": { "af-table-column": "^1.0.3", + "ag-grid-community": "^30.2.1", + "ag-grid-vue": "^30.2.1", "axios": "0.18.1", "clipboard": "2.0.4", "codemirror": "5.45.0", @@ -42,6 +44,7 @@ "vue-grid-layout": "^2.4.0", "vue-i18n": "^8.28.2", "vue-pdf": "^4.3.0", + "vue-property-decorator": "^8.0.0", "vue-router": "3.0.2", "vue-splitpane": "1.0.4", "vuedraggable": "2.20.0", @@ -3851,6 +3854,21 @@ "vue": "^2.6.10" } }, + "node_modules/ag-grid-community": { + "version": "30.2.1", + "resolved": "https://registry.npmmirror.com/ag-grid-community/-/ag-grid-community-30.2.1.tgz", + "integrity": "sha512-1slonXskJbbI9ybhTx//4YKfJpZVAEnHL8dui1rQJRSXKByUi+/f7XtvkLsbgBkawoWbqvRAySjYtvz80+kBfA==" + }, + "node_modules/ag-grid-vue": { + "version": "30.2.1", + "resolved": "https://registry.npmmirror.com/ag-grid-vue/-/ag-grid-vue-30.2.1.tgz", + "integrity": "sha512-dnyltXrVUPk0ALQ1PfwnjBtYk/GDOjRjyOMy8LVAiWxVQA6Tmnb/dTnS1yjym1uggu+dDKof2zgPxVKayIHtWg==", + "peerDependencies": { + "ag-grid-community": "~30.2.1", + "vue": ">= 2.2 <= 2.5.17 || >= 2.5.20", + "vue-property-decorator": "^7.2.0 || ^8.0.0 || ^9.1.2" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -22377,6 +22395,22 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/vue-property-decorator": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/vue-property-decorator/-/vue-property-decorator-8.0.0.tgz", + "integrity": "sha512-aaAO/Wbh+n3sPMOoQ+Rwi9va6vFqZPX13dA8vMycGuS/DOIYC77KxX0gMAPEzzkT4Umya0uSlTvBV5jQvSTyBQ==", + "dependencies": { + "vue-class-component": "^7.0.1" + } + }, + "node_modules/vue-property-decorator/node_modules/vue-class-component": { + "version": "7.2.6", + "resolved": "https://registry.npmmirror.com/vue-class-component/-/vue-class-component-7.2.6.tgz", + "integrity": "sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==", + "peerDependencies": { + "vue": "^2.0.0" + } + }, "node_modules/vue-resize-sensor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz", @@ -26653,6 +26687,17 @@ "vue": "^2.6.10" } }, + "ag-grid-community": { + "version": "30.2.1", + "resolved": "https://registry.npmmirror.com/ag-grid-community/-/ag-grid-community-30.2.1.tgz", + "integrity": "sha512-1slonXskJbbI9ybhTx//4YKfJpZVAEnHL8dui1rQJRSXKByUi+/f7XtvkLsbgBkawoWbqvRAySjYtvz80+kBfA==" + }, + "ag-grid-vue": { + "version": "30.2.1", + "resolved": "https://registry.npmmirror.com/ag-grid-vue/-/ag-grid-vue-30.2.1.tgz", + "integrity": "sha512-dnyltXrVUPk0ALQ1PfwnjBtYk/GDOjRjyOMy8LVAiWxVQA6Tmnb/dTnS1yjym1uggu+dDKof2zgPxVKayIHtWg==", + "requires": {} + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -41525,6 +41570,22 @@ } } }, + "vue-property-decorator": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/vue-property-decorator/-/vue-property-decorator-8.0.0.tgz", + "integrity": "sha512-aaAO/Wbh+n3sPMOoQ+Rwi9va6vFqZPX13dA8vMycGuS/DOIYC77KxX0gMAPEzzkT4Umya0uSlTvBV5jQvSTyBQ==", + "requires": { + "vue-class-component": "^7.0.1" + }, + "dependencies": { + "vue-class-component": { + "version": "7.2.6", + "resolved": "https://registry.npmmirror.com/vue-class-component/-/vue-class-component-7.2.6.tgz", + "integrity": "sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==", + "requires": {} + } + } + }, "vue-resize-sensor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz", diff --git a/PC/InterFace.Dash/package.json b/PC/InterFace.Dash/package.json index a74c05c..7b798f1 100644 --- a/PC/InterFace.Dash/package.json +++ b/PC/InterFace.Dash/package.json @@ -16,6 +16,8 @@ }, "dependencies": { "af-table-column": "^1.0.3", + "ag-grid-community": "^30.2.1", + "ag-grid-vue": "^30.2.1", "axios": "0.18.1", "clipboard": "2.0.4", "codemirror": "5.45.0", @@ -48,6 +50,7 @@ "vue-grid-layout": "^2.4.0", "vue-i18n": "^8.28.2", "vue-pdf": "^4.3.0", + "vue-property-decorator": "^8.0.0", "vue-router": "3.0.2", "vue-splitpane": "1.0.4", "vuedraggable": "2.20.0", diff --git a/PC/InterFace.Dash/src/components/AGTable/agGridBtn.vue b/PC/InterFace.Dash/src/components/AGTable/agGridBtn.vue new file mode 100644 index 0000000..4a51a51 --- /dev/null +++ b/PC/InterFace.Dash/src/components/AGTable/agGridBtn.vue @@ -0,0 +1,46 @@ + + \ No newline at end of file diff --git a/PC/InterFace.Dash/src/components/AGTable/btnControls.js b/PC/InterFace.Dash/src/components/AGTable/btnControls.js new file mode 100644 index 0000000..317556e --- /dev/null +++ b/PC/InterFace.Dash/src/components/AGTable/btnControls.js @@ -0,0 +1,42 @@ +// 页面基础按钮样式 +import i18n from "@/lang" +import { MessageBox } from 'element-ui'; + +// 编辑按钮 +const tableEditBtn= { + type: "text", + icon: "el-icon-edit", + label: i18n.t('btns.edit'), + name: "edit", + size: "small", + color: "#ff9000", +} + +// 删除按钮 +const tableDeleteBtn= { + type: "text", + icon: "el-icon-delete", + label: i18n.t('btns.delete'), + name: "delete", + size: "small", + color: "red", +} + +const deleteHandle = (callback) => { + MessageBox.confirm('您确定删除吗, 是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + // 确定操作 + if(callback)callback() + }).catch(() => { + //取消操作 + }); +} + +export default { + tableEditBtn, + tableDeleteBtn, + deleteHandle +} \ No newline at end of file diff --git a/PC/InterFace.Dash/src/components/AGTable/index.vue b/PC/InterFace.Dash/src/components/AGTable/index.vue new file mode 100644 index 0000000..c8dc295 --- /dev/null +++ b/PC/InterFace.Dash/src/components/AGTable/index.vue @@ -0,0 +1,115 @@ + + + \ No newline at end of file diff --git a/PC/InterFace.Dash/src/components/tablePagination/index copy.vue b/PC/InterFace.Dash/src/components/tablePagination/index copy.vue index c0238bc..d7f47e5 100644 --- a/PC/InterFace.Dash/src/components/tablePagination/index copy.vue +++ b/PC/InterFace.Dash/src/components/tablePagination/index copy.vue @@ -1,10 +1,12 @@