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 @@
+
+
+ {{item.label}}
+
+
+
\ 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 @@