diff --git a/web/package.json b/web/package.json index 011b00b..65f946d 100644 --- a/web/package.json +++ b/web/package.json @@ -44,6 +44,7 @@ "vue-grid-layout": "^3.0.0-beta1", "vue-i18n": "^9.2.2", "vue-router": "^4.1.6", + "vxe-table": "^4.3.10", "xe-utils": "^3.5.7" }, "devDependencies": { diff --git a/web/src/utils/message.ts b/web/src/utils/message.ts new file mode 100644 index 0000000..0e3bc4b --- /dev/null +++ b/web/src/utils/message.ts @@ -0,0 +1,17 @@ +import { ElMessage, MessageOptions } from 'element-plus'; + +export function message(message: string, option?: MessageOptions) { + ElMessage({ message, ...option }); +} +export function successMessage(message: string, option?: MessageOptions) { + ElMessage({ message, ...option, type: 'success' }); +} +export function warningMessage(message: string, option?: MessageOptions) { + ElMessage({ message, ...option, type: 'warning' }); +} +export function errorMessage(message: string, option?: MessageOptions) { + ElMessage({ message, ...option, type: 'error' }); +} +export function infoMessage(message: string, option?: MessageOptions) { + ElMessage({ message, ...option, type: 'info' }); +} diff --git a/web/src/views/system/config/api.ts b/web/src/views/system/config/api.ts new file mode 100644 index 0000000..e8909e6 --- /dev/null +++ b/web/src/views/system/config/api.ts @@ -0,0 +1,53 @@ +import { request } from '/@/utils/service'; +import { PageQuery, AddReq, DelReq, EditReq, InfoReq } from '@fast-crud/fast-crud'; +import XEUtils from 'xe-utils'; + +export const apiPrefix = '/api/system/system_config/'; +export function GetList(query: PageQuery) { + return request({ + url: apiPrefix, + method: 'get', + params: query, + }); +} +export function GetObj(id: InfoReq) { + return request({ + url: apiPrefix + id, + method: 'get', + }); +} + +export function AddObj(obj: AddReq) { + return request({ + url: apiPrefix, + method: 'post', + data: obj, + }); +} + +export function UpdateObj(obj: EditReq) { + return request({ + url: apiPrefix + obj.id + '/', + method: 'put', + data: obj, + }); +} + +export function DelObj(id: DelReq) { + return request({ + url: apiPrefix + id + '/', + method: 'delete', + data: { id }, + }); +} + +/* +获取所有的model及字段信息 + */ +export function GetAssociationTable() { + return request({ + url: apiPrefix + 'get_association_table/', + method: 'get', + params: {}, + }); +} diff --git a/web/src/views/system/config/components/addContent.vue b/web/src/views/system/config/components/addContent.vue new file mode 100644 index 0000000..6284a18 --- /dev/null +++ b/web/src/views/system/config/components/addContent.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/web/src/views/system/config/components/addTabs.vue b/web/src/views/system/config/components/addTabs.vue new file mode 100644 index 0000000..024595d --- /dev/null +++ b/web/src/views/system/config/components/addTabs.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/web/src/views/system/config/components/components/associationTable.vue b/web/src/views/system/config/components/components/associationTable.vue new file mode 100644 index 0000000..32af76b --- /dev/null +++ b/web/src/views/system/config/components/components/associationTable.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/web/src/views/system/config/components/formContent.vue b/web/src/views/system/config/components/formContent.vue new file mode 100644 index 0000000..9ebc0e5 --- /dev/null +++ b/web/src/views/system/config/components/formContent.vue @@ -0,0 +1,505 @@ + + + + + diff --git a/web/src/views/system/config/index.vue b/web/src/views/system/config/index.vue new file mode 100644 index 0000000..cb66dc2 --- /dev/null +++ b/web/src/views/system/config/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/web/yarn.lock b/web/yarn.lock index 280c629..48cc723 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -3956,6 +3956,11 @@ vuedraggable-es@^4.1.1: dependencies: sortablejs "1.14.0" +vxe-table@^4.3.10: + version "4.3.10" + resolved "https://registry.npmjs.org/vxe-table/-/vxe-table-4.3.10.tgz#4156d9542d61997d07c29a06e89208a3adc4825a" + integrity sha512-qxLhA3hiAfxsm8+dbN1n7+FrRwMEzUB/676x67gEb3H63WFWulRvTc88LCe0itMcuYcpy7uZHn5ruRsz0KnorQ== + wangeditor@^4.7.5: version "4.7.15" resolved "https://registry.npmjs.org/wangeditor/-/wangeditor-4.7.15.tgz#38c5e279a79d0428e4fd77ae5be46367e9c819e5"