17 Commits

Author SHA1 Message Date
YunaiV
9a143329b9 【发版】全局:2.1.0 发版 2024-05-04 22:45:12 +08:00
YunaiV
d4581d1e5b 【修复】全局:文件上传报错,实际已上传成功 2024-05-04 22:41:21 +08:00
YunaiV
a0565521c0 【新增】mall:相关文档的链接 2024-05-04 22:35:07 +08:00
YunaiV
daa491caca 【新增】mall:相关文档的链接 2024-05-04 22:23:18 +08:00
YunaiV
cd96435c25 【新增】report:相关文档的链接 2024-05-04 21:51:26 +08:00
YunaiV
71156e8380 【新增】member:相关文档的链接 2024-05-04 21:48:29 +08:00
YunaiV
b5e9ab123a 【新增】pay:相关文档的链接 2024-05-04 21:42:11 +08:00
YunaiV
87b8236b37 【新增】mp:相关文档的链接 2024-05-04 21:29:22 +08:00
YunaiV
24afd502ba 【新增】erp:相关文档的链接 2024-05-04 20:55:19 +08:00
YunaiV
14b62a4794 【新增】crm:相关文档的链接 2024-05-04 20:40:45 +08:00
YunaiV
78e92c2a48 【新增】bpm:相关文档的链接 2024-05-04 20:11:02 +08:00
YunaiV
00041eeb60 【新增】infra:相关文档的链接 2024-05-04 19:46:17 +08:00
YunaiV
6c0bfb2862 【新增】system:相关文档的链接 2024-05-04 19:11:03 +08:00
YunaiV
a59032a695 【新增】DocAlert 组件,提供文档输出 2024-05-04 14:57:37 +08:00
YunaiV
43cef5a186 【优化】README.md 说明 2024-05-04 11:47:19 +08:00
YunaiV
97dd360d97 【优化】README.md 说明 2024-05-04 11:45:38 +08:00
YunaiV
699d1de0d3 【移除】简化项目,移除数据库文档、错误码、敏感词的管理功能 2024-05-04 11:26:00 +08:00
187 changed files with 2078 additions and 962 deletions

3
.env
View File

@@ -13,5 +13,8 @@ VITE_GLOB_APP_TENANT_ENABLE = true
# 验证码的开关
VITE_GLOB_APP_CAPTCHA_ENABLE = true
# 文档地址的开关
VITE_APP_DOCALERT_ENABLE=true
# 百度统计
VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777

View File

@@ -13,12 +13,12 @@ VITE_BUILD_COMPRESS = 'gzip'
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
# 基础页面地址,例如 swagger 等页面
VITE_GLOB_BASE_URL = "http://api-dashboard.yudao.iocoder.cn"
VITE_GLOB_BASE_URL = "http://127.0.0.1:48080"
# 接口地址,如果没有跨域问题,直接在这里配置即可
VITE_GLOB_API_URL = http://api-dashboard.yudao.iocoder.cn/admin-api
VITE_GLOB_API_URL = http://127.0.0.1:48080/admin-api
# 文件上传地址 可以由nginx做转发或者直接写实际地址
VITE_GLOB_UPLOAD_URL = http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload
VITE_GLOB_UPLOAD_URL = /upload
# 接口地址前缀,有些系统所有接口地址都有前缀,可以在这里统一加,方便切换
VITE_GLOB_API_URL_PREFIX =
@@ -28,3 +28,6 @@ VITE_USE_PWA = false
# 百度统计
VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777
# 验证码的开关
VITE_GLOB_APP_CAPTCHA_ENABLE = false

111
README.md
View File

@@ -1,5 +1,3 @@
# yudao-ui-admin-vben
**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!**
**「我喜欢写代码,乐此不疲」**
@@ -9,111 +7,42 @@
## 预览地址
- [预览地址](http://dashboard-vben.yudao.iocoder.cn/)
- [启动文档](https://doc.iocoder.cn/quick-start/)
- [开发文档](https://doc.vvbin.cn/)
- [视频教程](https://doc.iocoder.cn/video/)
![预览](./public/resource/img/preview.png)
## 外包项目请联系 [ xinyu370 ]
- 预览地址:<http://dashboard-vben.yudao.iocoder.cn/>
- 启动文档:<https://doc.iocoder.cn/quick-start/>
- 开发文档:<https://doc.vvbin.cn/>
- 视频教程:<https://doc.iocoder.cn/video/>
- 交流群:<https://doc.iocoder.cn/qun/>
- ![alt 定制开发](./public/resource/img/wx2.png)
## 外包项目请联系
## 交流群
微信号xinyu370
- ![alt 交流群](./public/resource/img/wx.png)
![alt 定制开发](./public/resource/img/wx2.png)
## 框架
| 框架 | 说明 | 版本 |
| -------------------------------------------------------------------- | --------------------- | ------ |
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.3.8 |
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.5.0 |
| [ant-design-vue](https://antdv.com/) | ant-design-vue | 4.0.7 |
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.2.2 |
| 框架 | 说明 | 版本 |
|----------------------------------------------------------------------|------------------|--------|
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.3.8 |
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.5.0 |
| [ant-design-vue](https://antdv.com/) | ant-design-vue | 4.0.7 |
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.2.2 |
| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.1.7 |
| [vueuse](https://vueuse.org/) | 常用工具集 | 10.6.0 |
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.6.5 |
| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.5 |
| [unocss](https://uno.antfu.me/) | 原子 css | 0.57.3 |
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.6.5 |
| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.5 |
| [unocss](https://uno.antfu.me/) | 原子 css | 0.57.3 |
| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.1 |
- ![alt Admin](./public/resource/img/preview.png)
## 准备
- [node](http://nodejs.org/) 和 [git](https://git-scm.com/) -项目开发环境
- [Vite4](https://vitejs.dev/) - 熟悉 vite 特性
- [Vue3](https://v3.vuejs.org/) - 熟悉 Vue 基础语法
- [TypeScript](https://www.typescriptlang.org/) - 熟悉`TypeScript`基本语法
- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 es6 基本语法
- [Vue-Router-Next](https://next.router.vuejs.org/) - 熟悉 vue-router 基本使用
- [Ant-Design-Vue-4.0](https://antdv.com/) - ui 基本使用
## 安装使用
- 获取项目代码
```bash
git clone https://gitee.com/xingyuv/yudao-ui-admin-vben.git
or
git clone https://github.com/xingyuv/yudao-ui-admin-vben.git
```
- 安装依赖
```bash
pnpm i
如提示 Expected version: >=8.9.0
使用 cmd 等升级 pnpm 版本
npm add -g pnpm
```
- 运行
```bash
pnpm dev
or
// 如果不想启动后端
pnpm front
```
- 打包
```bash
pnpm build
```
## Git 贡献提交规范
- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等
- `workflow` 工作流改进
- `ci` 持续集成
- `types` 类型定义文件更改
- `wip` 开发中
## 浏览器支持
本地开发推荐使用`Chrome 80+` 浏览器
本地开发推荐使用 `Chrome 80+` 浏览器
支持现代浏览器, 不支持 IE
| ![alt IE](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_32x32.png) | ![alt Edge](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_32x32.png) | ![alt Firefox](https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_32x32.png) | ![alt Chrome](https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_32x32.png) | ![alt Safari](https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_32x32.png) |
| :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: |
|:-----------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------:|
| [IE](http://godban.github.io/browsers-support-badges/) | [Edge](http://godban.github.io/browsers-support-badgess/) | [Firefox](http://godban.github.io/browsers-support-badges/) | [Chrome](http://godban.github.io/browsers-support-badges/) | [Safari](http://godban.github.io/browsers-support-badges/) |
| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |

View File

@@ -1,6 +1,6 @@
{
"name": "yudao-ui-admin-vben",
"version": "2.0.1-snapshot",
"version": "2.1.0-snapshot",
"packageManager": "pnpm@8.9.0",
"author": {
"name": "xingyuv",

View File

@@ -1,16 +0,0 @@
import { defHttp } from '@/utils/http/axios'
// 导出Html
export function exportHtml() {
return defHttp.get({ url: '/infra/db-doc/export-html', responseType: 'blob' })
}
// 导出Word
export function exportWord() {
return defHttp.get({ url: '/infra/db-doc/export-word', responseType: 'blob' })
}
// 导出Markdown
export function exportMarkdown() {
return defHttp.get({ url: '/infra/db-doc/export-markdown', responseType: 'blob' })
}

View File

@@ -1,49 +0,0 @@
import { defHttp } from '@/utils/http/axios'
export interface ErrorCodeVO {
id: number
type: number
applicationName: string
code: number
message: string
memo: string
createTime: Date
}
export interface ErrorCodePageReqVO extends PageParam {
type?: number
applicationName?: string
code?: number
message?: string
createTime?: Date[]
}
// 查询错误码列表
export function getErrorCodePage(params: ErrorCodePageReqVO) {
return defHttp.get({ url: '/system/error-code/page', params })
}
// 查询错误码详情
export function getErrorCode(id: number) {
return defHttp.get({ url: `/system/error-code/get?id=${id}` })
}
// 新增错误码
export function createErrorCode(data: ErrorCodeVO) {
return defHttp.post({ url: '/system/error-code/create', data })
}
// 修改错误码
export function updateErrorCode(data: ErrorCodeVO) {
return defHttp.put({ url: '/system/error-code/update', data })
}
// 删除错误码
export function deleteErrorCode(id: number) {
return defHttp.delete({ url: `/system/error-code/delete?id=${id}` })
}
// 导出错误码
export function excelErrorCode(params: ErrorCodePageReqVO) {
return defHttp.download({ url: '/system/error-code/export-excel', params }, '错误码.xls')
}

View File

@@ -1,64 +0,0 @@
import { defHttp } from '@/utils/http/axios'
export interface SensitiveWordVO {
id: number
name: string
status: number
description: string
tags: string[]
createTime: Date
}
export interface SensitiveWordPageReqVO extends PageParam {
name?: string
tag?: string
status?: number
createTime?: Date[]
}
export interface SensitiveWordExportReqVO {
name?: string
tag?: string
status?: number
createTime?: Date[]
}
// 查询敏感词列表
export function getSensitiveWordPage(params: SensitiveWordPageReqVO) {
return defHttp.get({ url: '/system/sensitive-word/page', params })
}
// 查询敏感词详情
export function getSensitiveWord(id: number) {
return defHttp.get({ url: `/system/sensitive-word/get?id=${id}` })
}
// 新增敏感词
export function createSensitiveWord(data: SensitiveWordVO) {
return defHttp.post({ url: '/system/sensitive-word/create', data })
}
// 修改敏感词
export function updateSensitiveWord(data: SensitiveWordVO) {
return defHttp.put({ url: '/system/sensitive-word/update', data })
}
// 删除敏感词
export function deleteSensitiveWord(id: number) {
return defHttp.delete({ url: `/system/sensitive-word/delete?id=${id}` })
}
// 导出敏感词
export function exportSensitiveWord(params: SensitiveWordExportReqVO) {
return defHttp.download({ url: '/system/sensitive-word/export-excel', params }, '导出敏感词.xls')
}
// 获取所有敏感词的标签数组
export function getSensitiveWordTags() {
return defHttp.get({ url: '/system/sensitive-word/get-tags' })
}
// 获得文本所包含的不合法的敏感词数组
export function validateText(id: number) {
return defHttp.get({ url: `/system/sensitive-word/validate-text?${id}` })
}

View File

@@ -0,0 +1,4 @@
import docAlert from './src/DocAlert.vue'
import { withInstall } from '@/utils'
export const DocAlert = withInstall(docAlert)

View File

@@ -0,0 +1,59 @@
<script lang="tsx">
import type { PropType } from 'vue'
import { defineComponent } from 'vue';
import { Alert, Button } from 'ant-design-vue';
export default defineComponent({
name: 'DocAlert',
components: {
Alert,
Button
},
props: {
title: {
type: String as PropType<string>,
required: true,
},
url: {
type: String as PropType<string>,
required: true,
},
},
setup(props) {
/** 跳转 URL 链接 */
const goToUrl = () => {
window.open(props.url);
};
/** 是否开启 */
const getEnable = () => {
return import.meta.env.VITE_APP_DOCALERT_ENABLE !== 'false';
};
return {
goToUrl,
getEnable,
props
};
}
});
</script>
<style scoped>
.ant-alert-success {
margin-top: 5px;
margin-left: 15px;
margin-right: 15px;
cursor: pointer;
border: 1px solid green;
}
</style>
<template>
<Alert v-if="getEnable()" type="success" show-icon>
<template #message>
<Button type="link" @click="goToUrl">
{{ title }}文档地址{{ url }}
</Button>
</template>
</Alert>
</template>

View File

@@ -102,7 +102,7 @@ function parsePathsValue(paths) {
name: getFileName(item),
status: 'done',
url: item,
response: { status: 'history', message: item },
response: { status: 'history', data: item },
})
}
fileList.value = list
@@ -121,7 +121,7 @@ function parseArrayValue(array) {
name: item.fileName,
url: item.filePath,
status: 'done',
response: { status: 'history', message: item.filePath },
response: { status: 'history', data: item.filePath },
})
}
fileList.value = list
@@ -179,10 +179,10 @@ function onFileChange(info) {
}
if (info.file.status === 'done') {
let successFileList = []
if (info.file.response.success) {
if (info.file.response.code === 0) {
successFileList = fileListTemp.map((file) => {
if (file.response) {
const reUrl = file.response.message
const reUrl = file.response.data
file.url = reUrl
}
return file
@@ -212,7 +212,7 @@ function onFileChange(info) {
if (item.status === 'done') {
const fileJson = {
fileName: item.name,
filePath: item.response.message,
filePath: item.response.data,
fileSize: item.size,
}
newFileList.push(fileJson)

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/category/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/category/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -1,3 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>开发中 definition</div>
<div>
<DocAlert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/definition/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/definition/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -8,6 +8,7 @@ import { useModal } from '@/components/Modal'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { deleteForm, getFormPage } from '@/api/bpm/form'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'BpmForm' })
@@ -53,6 +54,8 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="审批接入(流程表单)" url="https://doc.iocoder.cn/bpm/use-bpm-form/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['bpm:form:create']" type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -7,6 +7,7 @@ import { useModal } from '@/components/Modal'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { deleteUserGroup, getUserGroupPage } from '@/api/bpm/userGroup'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'BpmGroup' })
@@ -46,6 +47,8 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['bpm:user-group:create']" type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -9,6 +9,7 @@ import { useModal } from '@/components/Modal'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { deleteModel, deployModel, getModelPage } from '@/api/bpm/model'
import { DocAlert } from '@/components/DocAlert'
// import { getAccessToken, getTenantId } from '@/utils/auth'
@@ -79,6 +80,14 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="流程设计器BPMN" url="https://doc.iocoder.cn/bpm/model-designer-dingding/" />
<DocAlert
title="流程设计器(钉钉、飞书)"
url="https://doc.iocoder.cn/bpm/model-designer-bpmn/"
/>
<DocAlert title="选择审批人、发起人自选" url="https://doc.iocoder.cn/bpm/assignee/" />
<DocAlert title="会签、或签、依次审批" url="https://doc.iocoder.cn/bpm/multi-instance/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['bpm:model:create']" type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -7,6 +7,7 @@ import { getLeavePage } from '@/api/bpm/leave'
import { useGo } from '@/hooks/web/usePage'
import { useMessage } from '@/hooks/web/useMessage'
import { cancelProcessInstance } from '@/api/bpm/processInstance'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'BpmLeave' })
@@ -73,6 +74,8 @@ function handleProcessDetail(row) {
<template>
<div>
<DocAlert title="审批接入(业务表单)" url="https://doc.iocoder.cn/bpm/use-business-form/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/processExpression/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/processExpression/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -11,6 +11,7 @@ import Icon from '@/components/Icon'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { getProcessDefinitionBpmnXML, getProcessDefinitionList } from '@/api/bpm/definition'
import { createProcessInstance } from '@/api/bpm/processInstance'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'BpmProcessInstanceCreate' })
@@ -78,6 +79,8 @@ async function submitForm(formData) {
<template>
<PageWrapper>
<DocAlert title="流程发起、取消、重新发起" url="https://doc.iocoder.cn/bpm/process-instance/" />
<div class="mx-auto my-0 mt-2.5 w-200">
<Steps :current="current">
<Steps.Step title="选择流程" />

View File

@@ -6,6 +6,7 @@ import { useMessage } from '@/hooks/web/useMessage'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { IconEnum } from '@/enums/appEnum'
import { cancelProcessInstance, getMyProcessInstancePage } from '@/api/bpm/processInstance'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraApiErrorLog' })
@@ -47,6 +48,8 @@ async function handleCancel(record: Recordable) {
<template>
<div>
<DocAlert title="流程发起、取消、重新发起" url="https://doc.iocoder.cn/bpm/process-instance/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['bpm:process-instance:query']" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/processInstance/manager/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/processInstance/manager/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/processListener/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/processListener/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="审批转办、委派、抄送"
url="https://doc.iocoder.cn/bpm/task-delegation-and-cc/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/task/copy/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/task/copy/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -5,6 +5,7 @@ import { useI18n } from '@/hooks/web/useI18n'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { IconEnum } from '@/enums/appEnum'
import { getDoneTaskPage } from '@/api/bpm/task'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'BpmDoneTask' })
@@ -37,6 +38,14 @@ function handleAudit(record: Recordable) {
<template>
<div>
<DocAlert title="审批通过、不通过、驳回" url="https://doc.iocoder.cn/bpm/task-todo-done/" />
<DocAlert title="审批加签、减签" url="https://doc.iocoder.cn/bpm/sign/" />
<DocAlert
title="审批转办、委派、抄送"
url="https://doc.iocoder.cn/bpm/task-delegation-and-cc/"
/>
<DocAlert title="审批加签、减签" url="https://doc.iocoder.cn/bpm/sign/" />
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="审批转办、委派、抄送"
url="https://doc.iocoder.cn/bpm/task-delegation-and-cc/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/task/manager/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/bpm/task/manager/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -5,6 +5,7 @@ import { useI18n } from '@/hooks/web/useI18n'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { IconEnum } from '@/enums/appEnum'
import { getTodoTaskPage } from '@/api/bpm/task'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'BpmTodoTask' })
@@ -33,6 +34,14 @@ function handleAudit(record: Recordable) {
<template>
<div>
<DocAlert title="审批通过、不通过、驳回" url="https://doc.iocoder.cn/bpm/task-todo-done/" />
<DocAlert title="审批加签、减签" url="https://doc.iocoder.cn/bpm/sign/" />
<DocAlert
title="审批转办、委派、抄送"
url="https://doc.iocoder.cn/bpm/task-delegation-and-cc/"
/>
<DocAlert title="审批加签、减签" url="https://doc.iocoder.cn/bpm/sign/" />
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">

View File

@@ -1,3 +0,0 @@
<template>
<div>开发中 taskAssignRule</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【通用】跟进记录、待办事项" url="https://doc.iocoder.cn/crm/follow-up/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/backlog/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/backlog/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【商机】商机管理、商机状态" url="https://doc.iocoder.cn/crm/business/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/business/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/business/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【商机】商机管理、商机状态" url="https://doc.iocoder.cn/crm/business/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/business/status/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/business/status/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【线索】线索管理" url="https://doc.iocoder.cn/crm/clue/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/clue/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/clue/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【合同】合同管理、合同提醒" url="https://doc.iocoder.cn/crm/contract/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/contract/config/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/contract/config/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【合同】合同管理、合同提醒" url="https://doc.iocoder.cn/crm/contract/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/contract/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/contract/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/limitConfig/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/limitConfig/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/pool/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/pool/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/poolConfig/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/customer/poolConfig/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【产品】产品管理、产品分类" url="https://doc.iocoder.cn/crm/product/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/product/category/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/product/category/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【产品】产品管理、产品分类" url="https://doc.iocoder.cn/crm/product/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/product/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/product/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【回款】回款管理、回款计划" url="https://doc.iocoder.cn/crm/receivable/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/receivable/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/receivable/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【回款】回款管理、回款计划" url="https://doc.iocoder.cn/crm/receivable/" />
<DocAlert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/receivable/plan/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/receivable/plan/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="CRM 工作流手册" url="https://doc.iocoder.cn/crm-preview/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/customer/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/customer/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="CRM 工作流手册" url="https://doc.iocoder.cn/crm-preview/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/funnel/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/funnel/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="CRM 工作流手册" url="https://doc.iocoder.cn/crm-preview/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/performance/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/performance/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="CRM 工作流手册" url="https://doc.iocoder.cn/crm-preview/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/portrait/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/portrait/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="CRM 工作流手册" url="https://doc.iocoder.cn/crm-preview/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/rank/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/crm/statistics/rank/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="【财务】采购付款、销售收款"
url="https://doc.iocoder.cn/sale/finance-payment-receipt/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/finance/account/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/finance/account/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="【财务】采购付款、销售收款"
url="https://doc.iocoder.cn/sale/finance-payment-receipt/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/finance/payment/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/finance/payment/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="【财务】采购付款、销售收款"
url="https://doc.iocoder.cn/sale/finance-receipt-receipt/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/finance/receipt/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/finance/receipt/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="ERP 手册(功能开启)" url="https://doc.iocoder.cn/erp/build/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/home/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/home/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【产品】产品信息、分类、单位" url="https://doc.iocoder.cn/erp/product/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/product/category/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/product/category/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【产品】产品信息、分类、单位" url="https://doc.iocoder.cn/erp/product/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/product/product/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/product/product/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【产品】产品信息、分类、单位" url="https://doc.iocoder.cn/erp/product/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/product/unit/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/product/unit/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/in/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/in/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/order/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/order/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/return/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/return/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/supplier/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/purchase/supplier/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/customer/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/customer/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/order/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/order/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/out/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/out/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/return/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/return/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="【库存】库存调拨、库存盘点"
url="https://doc.iocoder.cn/erp/stock-move-check/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/check/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/check/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【库存】其它入库、其它出库" url="https://doc.iocoder.cn/erp/stock-in-out/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/in/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/in/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,20 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert
title="【库存】库存调拨、库存盘点"
url="https://doc.iocoder.cn/erp/stock-move-check/"
/>
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/move/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/move/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【库存】其它入库、其它出库" url="https://doc.iocoder.cn/erp/stock-in-out/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/out/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/out/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【库存】产品库存、库存明细" url="https://doc.iocoder.cn/erp/stock/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/record/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/record/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【库存】产品库存、库存明细" url="https://doc.iocoder.cn/erp/stock/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/stock/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/stock/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【库存】产品库存、库存明细" url="https://doc.iocoder.cn/erp/stock/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/stock/warehouse/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/erp/sale/warehouse/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -8,6 +8,7 @@ import { IconEnum } from '@/enums/appEnum'
import type { ApiAccessLogExportReqVO } from '@/api/infra/apiAccessLog'
import { exportApiAccessLog, getApiAccessLogPage } from '@/api/infra/apiAccessLog'
import { useModal } from '@/components/Modal'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraApiErrorLog' })
@@ -49,6 +50,8 @@ async function handleExport() {
<template>
<div>
<DocAlert title="系统日志" url="https://doc.iocoder.cn/system-log/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:api-access-log:export']" :pre-icon="IconEnum.EXPORT" @click="handleExport">

View File

@@ -9,6 +9,7 @@ import { BasicTable, TableAction, useTable } from '@/components/Table'
import type { ApiErrorLogExportReqVO } from '@/api/infra/apiErrorLog'
import { exportApiErrorLog, getApiErrorLogPage, updateApiErrorLogProcess } from '@/api/infra/apiErrorLog'
import { useModal } from '@/components/Modal'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraApiErrorLog' })
@@ -62,6 +63,8 @@ async function handleExport() {
<template>
<div>
<DocAlert title="系统日志" url="https://doc.iocoder.cn/system-log/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:api-error-log:export']" :pre-icon="IconEnum.EXPORT" @click="handleExport">

View File

@@ -9,6 +9,7 @@ import { useModal } from '@/components/Modal'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { deleteCodegenTable, downloadCodegen, getCodegenTablePage, syncCodegenFromDB } from '@/api/infra/codegen'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraCodegen' })
@@ -64,6 +65,11 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="代码生成(单表)" url="https://doc.iocoder.cn/new-feature/" />
<DocAlert title="代码生成(树表)" url="https://doc.iocoder.cn/new-feature/tree/" />
<DocAlert title="代码生成(主子表)" url="https://doc.iocoder.cn/new-feature/master-sub/" />
<DocAlert title="单元测试" url="https://doc.iocoder.cn/unit-test/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:codegen:create']" type="primary" :pre-icon="IconEnum.IMPORT" @click="openImportTableModal(true)">

View File

@@ -8,6 +8,7 @@ import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import type { ConfigExportReqVO } from '@/api/infra/config'
import { deleteConfig, exportConfig, getConfigPage } from '@/api/infra/config'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraConfig' })
@@ -60,6 +61,8 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="配置中心" url="https://doc.iocoder.cn/config-center/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:config:create']" type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -1,53 +0,0 @@
<script setup lang="ts" name="InfraDbDoc">
import { onMounted, ref } from 'vue'
import { PageWrapper } from '@/components/Page'
import { useI18n } from '@/hooks/web/useI18n'
import { IFrame } from '@/components/IFrame'
import * as DbDocApi from '@/api/infra/dbDoc'
import { downloadByData } from '@/utils/file/download'
const { t } = useI18n()
const src = ref('')
/** 页面加载 */
async function init() {
const res = await DbDocApi.exportHtml()
const blob = new Blob([res], { type: 'text/html' })
const blobUrl = window.URL.createObjectURL(blob)
src.value = blobUrl
}
/** 处理导出 */
async function handleExport(type: string) {
if (type === 'HTML') {
const res = await DbDocApi.exportHtml()
downloadByData(res, '数据库文档.html')
}
if (type === 'Word') {
const res = await DbDocApi.exportWord()
downloadByData(res, '数据库文档.doc')
}
if (type === 'Markdown') {
const res = await DbDocApi.exportMarkdown()
downloadByData(res, '数据库文档.md')
}
}
onMounted(async () => {
await init()
})
</script>
<template>
<PageWrapper>
<div class="mb-3">
<a-button type="primary" size="small" class="mr-1" @click="handleExport('HTML')">
{{ `${t('action.export')}Html` }}
</a-button>
<a-button type="primary" size="small" class="mr-1" @click="handleExport('Word')">
{{ `${t('action.export')}Word` }}
</a-button>
<a-button type="primary" size="small" @click="handleExport('Markdown')">
{{ `${t('action.export')}Markdown` }}
</a-button>
</div>
<IFrame :src="src" />
</PageWrapper>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="代码生成(单表)" url="https://doc.iocoder.cn/new-feature/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo01/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo01/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,16 @@
<script setup lang="ts">
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="代码生成(树表)" url="https://doc.iocoder.cn/new-feature/tree/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo02/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo02/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,16 @@
<script setup lang="ts">
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="代码生成(主子表)" url="https://doc.iocoder.cn/new-feature/master-sub/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo03/erp/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo03/erp/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,16 @@
<script setup lang="ts">
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="代码生成(主子表)" url="https://doc.iocoder.cn/new-feature/master-sub/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo03/inner/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo03/inner/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,16 @@
<script setup lang="ts">
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="代码生成(主子表)" url="https://doc.iocoder.cn/new-feature/master-sub/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo03/normal/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/infra/demo/demo03/normal/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -1,12 +1,16 @@
<script setup lang="ts" name="InfraDruid">
import { ref } from 'vue'
import { IFrame } from '@/components/IFrame'
import { DocAlert } from '@/components/DocAlert'
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/druid/index.html`)
</script>
<template>
<div>
<DocAlert title="数据库 MyBatis" url="https://doc.iocoder.cn/mybatis/" />
<DocAlert title="多数据源(读写分离)" url="https://doc.iocoder.cn/dynamic-datasource/" />
<IFrame :src="src" />
</div>
</template>

View File

@@ -10,6 +10,7 @@ import { deleteFile, getFilePage } from '@/api/infra/file'
import { getAccessToken, getTenantId } from '@/utils/auth'
import { copyText } from '@/utils/copyTextToClipboard'
import { uploadApi } from '@/api/base/upload'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraFile' })
@@ -54,6 +55,8 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="上传下载" url="https://doc.iocoder.cn/file/" />
<BasicTable @register="registerTable">
<template #toolbar>
<BasicUpload

View File

@@ -7,6 +7,7 @@ import { useModal } from '@/components/Modal'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import { deleteFileConfig, getFileConfigPage, testFileConfig, updateFileConfigMaster } from '@/api/infra/fileConfig'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraFileConfig' })
@@ -65,6 +66,8 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="上传下载" url="https://doc.iocoder.cn/file/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:file-config:create']" type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -10,6 +10,7 @@ import { BasicTable, TableAction, useTable } from '@/components/Table'
import type { JobExportReqVO } from '@/api/infra/job'
import { deleteJob, exportJob, getJobPage, runJob, updateJobStatus } from '@/api/infra/job'
import { InfraJobStatusEnum } from '@/enums/systemEnum'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraJob' })
@@ -101,6 +102,10 @@ async function handleDelete(record: Recordable) {
<template>
<div>
<DocAlert title="定时任务" url="https://doc.iocoder.cn/job/" />
<DocAlert title="异步任务" url="https://doc.iocoder.cn/async-task/" />
<DocAlert title="消息队列" url="https://doc.iocoder.cn/message-queue/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:job:create']" type="primary" :pre-icon="IconEnum.ADD" @click="handleCreate">

View File

@@ -9,6 +9,7 @@ import { IconEnum } from '@/enums/appEnum'
import { BasicTable, TableAction, useTable } from '@/components/Table'
import type { JobLogExportReqVO } from '@/api/infra/jobLog'
import { exportJobLog, getJobLogPage } from '@/api/infra/jobLog'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraJobLog' })
@@ -53,6 +54,10 @@ async function handleExport() {
<template>
<div>
<DocAlert title="定时任务" url="https://doc.iocoder.cn/job/" />
<DocAlert title="异步任务" url="https://doc.iocoder.cn/async-task/" />
<DocAlert title="消息队列" url="https://doc.iocoder.cn/message-queue/" />
<BasicTable @register="registerTable">
<template #toolbar>
<a-button v-auth="['infra:job:export']" :pre-icon="IconEnum.EXPORT" @click="handleExport">

View File

@@ -4,6 +4,7 @@ import { baseInfoSchema } from './redis.data'
import { Description } from '@/components/Description'
import { getCache } from '@/api/infra/redis'
import { createAsyncComponent } from '@/utils/factory/createAsyncComponent'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraRedis' })
const CommandStats = createAsyncComponent(() => import('./components/CommandStats.vue'))
@@ -31,6 +32,11 @@ onMounted(async () => {
<template>
<div class="p-4">
<div class="-mr-4 -ml-4 mb-4">
<DocAlert title="Redis 缓存" url="https://doc.iocoder.cn/redis-cache/" />
<DocAlert title="本地缓存" url="https://doc.iocoder.cn/local-cache/" />
</div>
<Description
title="基础信息"
:collapse-options="{ canExpand: true, helpMessage: 'Redis 基本信息' }"

View File

@@ -2,6 +2,7 @@
import { onMounted, ref } from 'vue'
import { IFrame } from '@/components/IFrame'
import { getConfigKey } from '@/api/infra/config'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraAdminServer' })
@@ -24,6 +25,8 @@ onMounted(() => {
<template>
<div>
<DocAlert title="服务监控" url="https://doc.iocoder.cn/server-monitor/" />
<IFrame v-if="!loading" :src="src" />
</div>
</template>

View File

@@ -1,6 +1,7 @@
<script lang="ts" setup>
import { ref } from 'vue'
import { IFrame } from '@/components/IFrame'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraSkywalking' })
@@ -9,6 +10,8 @@ const src = ref('http://skywalking.shop.iocoder.cn')
<template>
<div>
<DocAlert title="服务监控" url="https://doc.iocoder.cn/server-monitor/" />
<IFrame :src="src" />
</div>
</template>

View File

@@ -1,6 +1,7 @@
<script lang="ts" setup>
import { ref } from 'vue'
import { IFrame } from '@/components/IFrame'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraSwagger' })
@@ -11,6 +12,8 @@ const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/swagger-ui`)
<template>
<div>
<DocAlert title="服务监控" url="https://doc.iocoder.cn/server-monitor/" />
<IFrame :src="src" />
</div>
</template>

View File

@@ -1,3 +0,0 @@
<template>
<div>开发中 testDemo</div>
</template>

View File

@@ -5,6 +5,7 @@ import { useWebSocket } from '@vueuse/core'
import { PageWrapper } from '@/components/Page'
import { formatToDateTime } from '@/utils/dateUtil'
import { useUserStore } from '@/store/modules/user'
import { DocAlert } from '@/components/DocAlert'
defineOptions({ name: 'InfraWebSocket' })
@@ -57,6 +58,8 @@ function toggle() {
<template>
<PageWrapper title="WebSocket 示例">
<DocAlert title="WebSocket 实时通信" url="https://doc.iocoder.cn/websocket/" />
<div class="flex">
<div class="w-1/3 p-4">
<div class="flex items-center">

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="商城手册(功能开启)" url="https://doc.iocoder.cn/mall/build/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/home/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/home/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -1,3 +0,0 @@
<template>
<div>开发中</div>
</template>

View File

@@ -1,3 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>开发中</div>
<div>
<DocAlert title="商城手册(功能开启)" url="https://doc.iocoder.cn/mall/build/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/brand/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/brand/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -1,3 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>开发中</div>
<div>
<DocAlert title="【商品】商品分类" url="https://doc.iocoder.cn/mall/product-category/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/category/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/category/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<DocAlert title="【商品】商品评价" url="https://doc.iocoder.cn/mall/product-comment/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/comment/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/comment/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -1,3 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>开发中</div>
<div>
<DocAlert title="【商品】商品属性" url="https://doc.iocoder.cn/mall/product-property/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/property/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/property/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -1,3 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>开发中</div>
<div>
<DocAlert title="【商品】商品 SPU 与 SKU" url="https://doc.iocoder.cn/mall/product-spu-sku/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/spu/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/product/spu/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<doc-alert title="【营销】内容管理" url="https://doc.iocoder.cn/mall/promotion-content/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/article/category/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/article/category/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<doc-alert title="【营销】内容管理" url="https://doc.iocoder.cn/mall/promotion-content/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/article/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/article/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<doc-alert title="【营销】内容管理" url="https://doc.iocoder.cn/mall/promotion-content/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/banner/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/banner/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<script lang="ts" setup>
import { DocAlert } from '@/components/DocAlert'
</script>
<template>
<div>
<doc-alert title="【营销】砍价活动" url="https://doc.iocoder.cn/mall/promotion-bargain/" />
<a-button danger type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3">
该功能支持 Vue3 + element-plus 版本
</a-button>
<br />
<a-button type="link" target="_blank" href="https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/bargain/activity/index.vue">
可参考 https://github.com/yudaocode/yudao-ui-admin-vue3/blob/master/src/views/mall/promotion/bargain/activity/index.vue 代码pull request 贡献给我们!
</a-button>
</div>
</template>

Some files were not shown because too many files have changed in this diff Show More