diff --git a/.env b/.env index 3c5303b5b10ab5cf949ec09c1a0804287e30b189..986694a25a54f90fdb4fae87ea6f083035ce7f1e 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ # 标题 -VITE_APP_TITLE=芋道管理系统 +VITE_APP_TITLE=国通管理系统 # 项目本地运行端口号 VITE_PORT=80 diff --git a/README.md b/README.md index aa498ce2034527e927c7ab3eed85575d9a3f08ac..b30e85967673032d248ee6861e7fb07ec51fdeb7 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ ## 🐯 平台简介 -**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 +**国通**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 * 采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin) 实现 * 改换 saas,自动引入等功能 diff --git a/index.html b/index.html index 8cfcbefa693e099f54d2a6a39c2f97ef9c49d920..40f85844386047e5b1c2b86c8f93eccf54ff673c 100644 --- a/index.html +++ b/index.html @@ -7,11 +7,11 @@ %VITE_APP_TITLE% diff --git a/src/api/demo/brand/index.ts b/src/api/demo/brand/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..98fefbc162a7bd6d106a628f99dadeb55707bc81 --- /dev/null +++ b/src/api/demo/brand/index.ts @@ -0,0 +1,42 @@ +import request from '@/config/axios' + +export interface BrandVO { + id: number + name: string + brandSn: string + productType: string + startState: number + brandState: number + updator: string + remark: string +} + +// 查询品牌列表 +export const getBrandPage = async (params) => { + return await request.get({ url: `/demo/brand/page`, params }) +} + +// 查询品牌详情 +export const getBrand = async (id: number) => { + return await request.get({ url: `/demo/brand/get?id=` + id }) +} + +// 新增品牌 +export const createBrand = async (data: BrandVO) => { + return await request.post({ url: `/demo/brand/create`, data }) +} + +// 修改品牌 +export const updateBrand = async (data: BrandVO) => { + return await request.put({ url: `/demo/brand/update`, data }) +} + +// 删除品牌 +export const deleteBrand = async (id: number) => { + return await request.delete({ url: `/demo/brand/delete?id=` + id }) +} + +// 导出品牌 Excel +export const exportBrand = async (params) => { + return await request.download({ url: `/demo/brand/export-excel`, params }) +} diff --git a/src/api/infra/codegen/index.ts b/src/api/infra/codegen/index.ts index 64701efe42930aec95d1989dd2006927755c0f6f..a9bde9d3a6751ef7109ea46f70c527c1fcce1ee6 100644 --- a/src/api/infra/codegen/index.ts +++ b/src/api/infra/codegen/index.ts @@ -40,6 +40,12 @@ export type CodegenColumnVO = { listOperationCondition: string listOperationResult: number htmlType: string + colLen: number + validateType: string + validateParams: string + crypt: string + sensitived: string + sensitivedType: string } export type DatabaseTableVO = { @@ -119,5 +125,5 @@ export const createCodegenList = (data) => { // 删除代码生成表定义 export const deleteCodegenTable = (id: number) => { - return request.delete({ url: '/infra/codegen/delete?tableId=' + id }) + return request.delete({ url: '/infra/codegen/delete?tableIds=' + id }) } diff --git a/src/api/mall/product/favorite.ts b/src/api/mall/product/favorite.ts new file mode 100644 index 0000000000000000000000000000000000000000..3de5bd809d0bc2efc2265bf8900e6c7f2178cc80 --- /dev/null +++ b/src/api/mall/product/favorite.ts @@ -0,0 +1,28 @@ +import request from '@/config/axios' + +export interface Favorite { + id?: number + userId?: string // 用户编号 + spuId?: number | null // 商品 SPU 编号 +} + +// 获得 ProductFavorite 列表 +export const getFavoritePage = (params: PageParam) => { + params.keyword = params.name + return request.get({ url: '/product/favorite/page', params }) +} + +// 收藏商品 Favorite +export const addFavorite = (data: Favorite) => { + return request.post({ url: '/product/favorite/create', data }) +} + +// 取消商品收藏 Favorite +export const delFavorite = (data: Favorite) => { + return request.delete({ url: '/product/favorite/delete', data }) +} + +// 是否收藏过商品 Favorite +export const exitsFavorite = (data: Favorite) => { + return request.post({ url: '/product/favorite/exits', data }) +} diff --git a/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue b/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue index 3fe21944b60f6ab439e676b1a41e0b9b6f359cb5..dc1459cbb11aa3c9183ffdced59eb86c364380b7 100644 --- a/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue +++ b/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue @@ -664,7 +664,7 @@ const previewProcessJson = () => { previewModelVisible.value = true }) } -/* ------------------------------------------------ 芋道源码 methods ------------------------------------------------------ */ +/* ------------------------------------------------ 国通源码 methods ------------------------------------------------------ */ const processSave = async () => { console.log(bpmnModeler, 'bpmnModelerbpmnModelerbpmnModelerbpmnModeler') const { err, xml } = await bpmnModeler.saveXML() diff --git a/src/hooks/web/useMessage.ts b/src/hooks/web/useMessage.ts index ac2b552e035fdbe435b50d7c65e38e16683edeff..9bfb7a3a02bbd399b4d399fcad067cb95dd7a901 100644 --- a/src/hooks/web/useMessage.ts +++ b/src/hooks/web/useMessage.ts @@ -90,6 +90,18 @@ export const useMessage = () => { cancelButtonText: t('common.cancel'), type: 'warning' }) + }, + // 取消收藏窗体 + delStarConfirm(content?: string, tip?: string) { + return ElMessageBox.confirm( + content ? content : t('common.confirmDelStar'), + tip ? tip : t('common.confirmTitle'), + { + confirmButtonText: t('common.ok'), + cancelButtonText: t('common.cancel'), + type: 'warning' + } + ) } } } diff --git a/src/locales/en.ts b/src/locales/en.ts index 4f4d4895df374506c5cca09829a23fb123d494a9..d82e616ed69e435f105506c0dffaedbc43fa9b96 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -54,7 +54,13 @@ export default { updateTime: 'Update Time', copy: 'Copy', copySuccess: 'Copy Success', - copyError: 'Copy Error' + copyError: 'Copy Error', + confirmDelStar: 'Delete the Star?', + starSuccess: 'Star Success', + starFail: 'Star Error', + delStarSuccess: 'Del Star Success', + delStarFail: 'Del Star Error', + existStar: 'exist Star' }, error: { noPermission: `Sorry, you don't have permission to access this page.`, diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 4f95852fc99fdfa4d9e1577c9e5064f93a9f6ee4..49a3f895de13b7374367da0bbd06682c567489b1 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -54,7 +54,13 @@ export default { updateTime: '更新时间', copy: '复制', copySuccess: '复制成功', - copyError: '复制失败' + copyError: '复制失败', + confirmDelStar: '是否取消收藏?', + starSuccess: '收藏成功', + starFail: '收藏失败', + delStarSuccess: '取消收藏成功', + delStarFail: '取消收藏失败', + existStar: '收藏已存在' }, error: { noPermission: `抱歉,您无权访问此页面。`, diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 41891a4a41b9080f54259c02e73678ae6f60b263..d57d4c793d56fd40a0072740c124898e5cd9b90b 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -1,5 +1,5 @@ /** - * Created by 芋道源码 + * Created by 国通源码 * * 枚举类 */ diff --git a/src/views/Login/components/LoginForm.vue b/src/views/Login/components/LoginForm.vue index 9bee25237a4dfe58909b2da96fc24ec23537df2c..9b20a6936e22d8016dbe55d435ee991d756a3b2f 100644 --- a/src/views/Login/components/LoginForm.vue +++ b/src/views/Login/components/LoginForm.vue @@ -125,21 +125,21 @@ - 萌新必读 - - -
- 📚开发指南 - 🔥视频教程 - - ⚡面试手册 - - - 🤝外包咨询 - -
-
-
+ + + + + + + + + + + + + + + @@ -184,7 +184,7 @@ const loginData = reactive({ captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE, tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE, loginForm: { - tenantName: '芋道源码', + tenantName: '国通源码', username: 'admin', password: 'admin123', captchaVerification: '', diff --git a/src/views/Login/components/MobileForm.vue b/src/views/Login/components/MobileForm.vue index 7f5d9942ed78bb7f8d6edbef201e2f4e072c1656..bbac5ed7ea8b14b9416e7b9c9392e352ee711e94 100644 --- a/src/views/Login/components/MobileForm.vue +++ b/src/views/Login/components/MobileForm.vue @@ -133,7 +133,7 @@ const loginData = reactive({ }, loginForm: { uuid: '', - tenantName: '芋道源码', + tenantName: '国通源码', mobileNumber: '', code: '' } diff --git a/src/views/demo/brand/BrandForm.vue b/src/views/demo/brand/BrandForm.vue new file mode 100644 index 0000000000000000000000000000000000000000..d463f2b4c6fb3940a0a4b5b73f10ec2362dcc782 --- /dev/null +++ b/src/views/demo/brand/BrandForm.vue @@ -0,0 +1,136 @@ + + diff --git a/src/views/demo/brand/index.vue b/src/views/demo/brand/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..d586e9b312a050c2df29979cefc1bffbae5d282a --- /dev/null +++ b/src/views/demo/brand/index.vue @@ -0,0 +1,257 @@ + + + diff --git a/src/views/infra/codegen/EditTable.vue b/src/views/infra/codegen/EditTable.vue index 9c4e765788c33ce6f00f73dd14ab3f1f501b34d0..39b27bf279f0eec71d9bfff6d08c6b9f63422f34 100644 --- a/src/views/infra/codegen/EditTable.vue +++ b/src/views/infra/codegen/EditTable.vue @@ -11,7 +11,7 @@ - + 保存 返回 @@ -51,6 +51,13 @@ const getDetail = async () => { formLoading.value = true try { formData.value = await CodegenApi.getCodegenTable(id) + let columns = formData.value.columns + // 级联回显处理:字符串转数组 + columns.forEach((e) => { + if (e.validateType && e.validateType.indexOf(',') != -1) { + e.validateType = JSON.parse('[' + e.validateType + ']') + } + }) } finally { formLoading.value = false } @@ -63,6 +70,12 @@ const submitForm = async () => { await unref(basicInfoRef)?.validate() await unref(generateInfoRef)?.validate() try { + // 级联字段转字符串 + formData.value.columns.forEach((e) => { + if (e.validateType && e.validateType instanceof Array) { + e.validateType = e.validateType.join(',') + } + }) // 提交请求 await CodegenApi.updateCodegenTable(formData.value) message.success(t('common.updateSuccess')) diff --git a/src/views/infra/codegen/components/ColumInfoForm.vue b/src/views/infra/codegen/components/ColumInfoForm.vue index 737c2e2bab26e9079fb4b502a9642779cbfc055b..fb15c13bf1401669a3386d2c40e633a69e407403 100644 --- a/src/views/infra/codegen/components/ColumInfoForm.vue +++ b/src/views/infra/codegen/components/ColumInfoForm.vue @@ -1,12 +1,27 @@