commit
7d01d00f73
|
@ -2001,7 +2001,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2116, '删除素材', 'mp:material:delete', 3, 3, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:35:37', '1', '2023-01-14 15:35:37', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2116, '删除素材', 'mp:material:delete', 3, 3, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:35:37', '1', '2023-01-14 15:35:37', b'0');
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2117, '上传图文图片', 'mp:material:upload-news-image', 3, 4, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:36:31', '1', '2023-01-14 15:36:31', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2117, '上传图文图片', 'mp:material:upload-news-image', 3, 4, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:36:31', '1', '2023-01-14 15:36:31', b'0');
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2118, '查询素材', 'mp:material:query', 3, 5, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:39:22', '1', '2023-01-14 15:39:22', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2118, '查询素材', 'mp:material:query', 3, 5, 2113, '', '', '', 0, b'1', b'1', '1', '2023-01-14 15:39:22', '1', '2023-01-14 15:39:22', b'0');
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2119, '菜单管理', '', 2, 6, 2084, 'menu', 'button', 'mp/menu/index', 0, b'1', b'1', '1', '2023-01-14 17:43:54', '1', '2023-01-14 17:43:54', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2119, '菜单管理', '', 2, 6, 2084, 'mpmenu', 'button', 'mp/menu/index', 0, b'1', b'1', '1', '2023-01-14 17:43:54', '1', '2023-01-14 17:43:54', b'0');
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2120, '自动回复', '', 2, 7, 2084, 'auto-reply', 'eye', 'mp/autoReply/index', 0, b'1', b'1', '1', '2023-01-15 22:13:09', '1', '2023-01-15 22:13:09', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2120, '自动回复', '', 2, 7, 2084, 'auto-reply', 'eye', 'mp/autoReply/index', 0, b'1', b'1', '1', '2023-01-15 22:13:09', '1', '2023-01-15 22:13:09', b'0');
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2121, '查询回复', 'mp:auto-reply:query', 3, 0, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:28:41', '1', '2023-01-16 22:28:41', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2121, '查询回复', 'mp:auto-reply:query', 3, 0, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:28:41', '1', '2023-01-16 22:28:41', b'0');
|
||||||
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2122, '新增回复', 'mp:auto-reply:create', 3, 1, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:28:54', '1', '2023-01-16 22:28:54', b'0');
|
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2122, '新增回复', 'mp:auto-reply:create', 3, 1, 2120, '', '', '', 0, b'1', b'1', '1', '2023-01-16 22:28:54', '1', '2023-01-16 22:28:54', b'0');
|
||||||
|
|
|
@ -21,10 +21,6 @@ const include = [
|
||||||
'animate.css',
|
'animate.css',
|
||||||
'vxe-table/es/style',
|
'vxe-table/es/style',
|
||||||
'web-storage-cache',
|
'web-storage-cache',
|
||||||
'element-plus',
|
|
||||||
'element-plus/es',
|
|
||||||
'element-plus/es/locale/lang/zh-cn',
|
|
||||||
'element-plus/es/locale/lang/en',
|
|
||||||
'@iconify/iconify',
|
'@iconify/iconify',
|
||||||
'@vueuse/core',
|
'@vueuse/core',
|
||||||
'@zxcvbn-ts/core',
|
'@zxcvbn-ts/core',
|
||||||
|
@ -34,7 +30,37 @@ const include = [
|
||||||
'echarts/renderers',
|
'echarts/renderers',
|
||||||
'echarts-wordcloud',
|
'echarts-wordcloud',
|
||||||
'@wangeditor/editor',
|
'@wangeditor/editor',
|
||||||
'@wangeditor/editor-for-vue'
|
'@wangeditor/editor-for-vue',
|
||||||
|
'element-plus',
|
||||||
|
'element-plus/es',
|
||||||
|
'element-plus/es/locale/lang/zh-cn',
|
||||||
|
'element-plus/es/locale/lang/en',
|
||||||
|
'element-plus/es/components/form/style/index',
|
||||||
|
'element-plus/es/components/radio-group/style/index',
|
||||||
|
'element-plus/es/components/radio/style/index',
|
||||||
|
'element-plus/es/components/checkbox/style/index',
|
||||||
|
'element-plus/es/components/checkbox-group/style/index',
|
||||||
|
'element-plus/es/components/switch/style/index',
|
||||||
|
'element-plus/es/components/time-picker/style/index',
|
||||||
|
'element-plus/es/components/date-picker/style/index',
|
||||||
|
'element-plus/es/components/col/style/index',
|
||||||
|
'element-plus/es/components/form-item/style/index',
|
||||||
|
'element-plus/es/components/alert/style/index',
|
||||||
|
'element-plus/es/components/breadcrumb/style/index',
|
||||||
|
'element-plus/es/components/select/style/index',
|
||||||
|
'element-plus/es/components/input/style/index',
|
||||||
|
'element-plus/es/components/breadcrumb-item/style/index',
|
||||||
|
'element-plus/es/components/tag/style/index',
|
||||||
|
'element-plus/es/components/pagination/style/index',
|
||||||
|
'element-plus/es/components/table/style/index',
|
||||||
|
'element-plus/es/components/table-column/style/index',
|
||||||
|
'element-plus/es/components/card/style/index',
|
||||||
|
'element-plus/es/components/row/style/index',
|
||||||
|
'element-plus/es/components/button/style/index',
|
||||||
|
'element-plus/es/components/menu/style/index',
|
||||||
|
'element-plus/es/components/sub-menu/style/index',
|
||||||
|
'element-plus/es/components/menu-item/style/index',
|
||||||
|
'element-plus/es/components/option/style/index'
|
||||||
]
|
]
|
||||||
|
|
||||||
const exclude = ['@iconify/json']
|
const exclude = ['@iconify/json']
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "yudao-ui-admin-vue3",
|
"name": "yudao-ui-admin-vue3",
|
||||||
"version": "1.7.0-snapshot.1921",
|
"version": "1.7.0-snapshot.1922",
|
||||||
"description": "基于vue3、vite4、element-plus、typesScript",
|
"description": "基于vue3、vite4、element-plus、typesScript",
|
||||||
"author": "xingyu",
|
"author": "xingyu",
|
||||||
"private": false,
|
"private": false,
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
"@vueuse/core": "^9.12.0",
|
"@vueuse/core": "^9.12.0",
|
||||||
"@wangeditor/editor": "^5.1.23",
|
"@wangeditor/editor": "^5.1.23",
|
||||||
"@wangeditor/editor-for-vue": "^5.1.10",
|
"@wangeditor/editor-for-vue": "^5.1.10",
|
||||||
"@zxcvbn-ts/core": "^2.2.0",
|
"@zxcvbn-ts/core": "^2.2.1",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"axios": "^1.3.2",
|
"axios": "^1.3.2",
|
||||||
"bpmn-js-token-simulation": "^0.10.0",
|
"bpmn-js-token-simulation": "^0.10.0",
|
||||||
|
@ -68,17 +68,17 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@commitlint/cli": "^17.4.2",
|
"@commitlint/cli": "^17.4.2",
|
||||||
"@commitlint/config-conventional": "^17.4.2",
|
"@commitlint/config-conventional": "^17.4.2",
|
||||||
"@iconify/json": "^2.2.16",
|
"@iconify/json": "^2.2.19",
|
||||||
"@intlify/unplugin-vue-i18n": "^0.8.1",
|
"@intlify/unplugin-vue-i18n": "^0.8.2",
|
||||||
"@purge-icons/generated": "^0.9.0",
|
"@purge-icons/generated": "^0.9.0",
|
||||||
"@types/intro.js": "^5.1.0",
|
"@types/intro.js": "^5.1.0",
|
||||||
"@types/lodash-es": "^4.17.6",
|
"@types/lodash-es": "^4.17.6",
|
||||||
"@types/node": "^18.11.19",
|
"@types/node": "^18.13.0",
|
||||||
"@types/nprogress": "^0.2.0",
|
"@types/nprogress": "^0.2.0",
|
||||||
"@types/qrcode": "^1.5.0",
|
"@types/qrcode": "^1.5.0",
|
||||||
"@types/qs": "^6.9.7",
|
"@types/qs": "^6.9.7",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.50.0",
|
"@typescript-eslint/eslint-plugin": "^5.51.0",
|
||||||
"@typescript-eslint/parser": "^5.50.0",
|
"@typescript-eslint/parser": "^5.51.0",
|
||||||
"@vitejs/plugin-legacy": "^4.0.1",
|
"@vitejs/plugin-legacy": "^4.0.1",
|
||||||
"@vitejs/plugin-vue": "^4.0.0",
|
"@vitejs/plugin-vue": "^4.0.0",
|
||||||
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
||||||
|
@ -91,11 +91,11 @@
|
||||||
"eslint-define-config": "^1.15.0",
|
"eslint-define-config": "^1.15.0",
|
||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-vue": "^9.9.0",
|
"eslint-plugin-vue": "^9.9.0",
|
||||||
"lint-staged": "^13.1.0",
|
"lint-staged": "^13.1.1",
|
||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.21",
|
||||||
"postcss-html": "^1.5.0",
|
"postcss-html": "^1.5.0",
|
||||||
"postcss-scss": "^4.0.6",
|
"postcss-scss": "^4.0.6",
|
||||||
"prettier": "^2.8.3",
|
"prettier": "^2.8.4",
|
||||||
"rimraf": "^4.1.2",
|
"rimraf": "^4.1.2",
|
||||||
"rollup": "^3.14.0",
|
"rollup": "^3.14.0",
|
||||||
"sass": "^1.58.0",
|
"sass": "^1.58.0",
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
"stylelint-order": "^6.0.1",
|
"stylelint-order": "^6.0.1",
|
||||||
"terser": "^5.16.3",
|
"terser": "^5.16.3",
|
||||||
"typescript": "4.9.5",
|
"typescript": "4.9.5",
|
||||||
"unplugin-auto-import": "^0.13.0",
|
"unplugin-auto-import": "^0.14.2",
|
||||||
"unplugin-element-plus": "^0.6.0",
|
"unplugin-element-plus": "^0.6.0",
|
||||||
"unplugin-vue-components": "^0.23.0",
|
"unplugin-vue-components": "^0.23.0",
|
||||||
"vite": "4.1.1",
|
"vite": "4.1.1",
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -22,6 +22,7 @@ export type ModelVO = {
|
||||||
status: number
|
status: number
|
||||||
remark: string
|
remark: string
|
||||||
createTime: string
|
createTime: string
|
||||||
|
bpmnXml: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getModelPageApi = async (params) => {
|
export const getModelPageApi = async (params) => {
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 创建公众号账号
|
||||||
|
export const createAccount = async (data) => {
|
||||||
|
return await request.post({ url: '/mp/account/create', data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号账号
|
||||||
|
export const updateAccount = async (data) => {
|
||||||
|
return request.put({ url: '/mp/account/update', data: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号账号
|
||||||
|
export const deleteAccount = async (id) => {
|
||||||
|
return request.delete({ url: '/mp/account/delete?id=' + id, method: 'delete' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号账号
|
||||||
|
export const getAccount = async (id) => {
|
||||||
|
return request.get({ url: '/mp/account/get?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号账号分页
|
||||||
|
export const getAccountPage = async (query) => {
|
||||||
|
return request.get({ url: '/mp/account/page', params: query })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取公众号账号精简信息列表
|
||||||
|
export const getSimpleAccounts = async () => {
|
||||||
|
return request.get({ url: '/mp/account/list-all-simple' })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成公众号二维码
|
||||||
|
export const generateAccountQrCode = async (id) => {
|
||||||
|
return request.put({ url: '/mp/account/generate-qr-code?id=' + id })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清空公众号 API 配额
|
||||||
|
export const clearAccountQuota = async (id) => {
|
||||||
|
return request.put({ url: '/mp/account/clear-quota?id=' + id })
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 创建公众号的自动回复
|
||||||
|
export const createAutoReply = (data) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/auto-reply/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号的自动回复
|
||||||
|
export const updateAutoReply = (data) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/auto-reply/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号的自动回复
|
||||||
|
export const deleteAutoReply = (id) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/auto-reply/delete?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号的自动回复
|
||||||
|
export const getAutoReply = (id) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/auto-reply/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号的自动回复分页
|
||||||
|
export const getAutoReplyPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/auto-reply/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号草稿分页
|
||||||
|
export const getDraftPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/draft/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建公众号草稿
|
||||||
|
export const createDraft = (accountId, articles) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/draft/create?accountId=' + accountId,
|
||||||
|
data: {
|
||||||
|
articles
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号草稿
|
||||||
|
export const updateDraft = (accountId, mediaId, articles) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/draft/update?accountId=' + accountId + '&mediaId=' + mediaId,
|
||||||
|
method: 'put',
|
||||||
|
data: articles
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号草稿
|
||||||
|
export const deleteDraft = (accountId, mediaId) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/draft/delete?accountId=' + accountId + '&mediaId=' + mediaId
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号素材分页
|
||||||
|
export const getFreePublishPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/free-publish/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号素材
|
||||||
|
export const deleteFreePublish = (accountId, articleId) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/free-publish/delete?accountId=' + accountId + '&articleId=' + articleId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发布公众号素材
|
||||||
|
export const submitFreePublish = (accountId, mediaId) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/free-publish/submit?accountId=' + accountId + '&mediaId=' + mediaId
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号素材分页
|
||||||
|
export const getMaterialPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/material/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号永久素材
|
||||||
|
export const deletePermanentMaterial = (id) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/material/delete-permanent?id=' + id
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号菜单列表
|
||||||
|
export const getMenuList = (accountId) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/menu/list?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 保存公众号菜单
|
||||||
|
export const saveMenu = (accountId, menus) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/menu/save',
|
||||||
|
data: {
|
||||||
|
accountId,
|
||||||
|
menus
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号菜单
|
||||||
|
export const deleteMenu = (accountId) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/menu/delete?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获得公众号消息分页
|
||||||
|
export const getMessagePage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/message/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 给粉丝发送消息
|
||||||
|
export const sendMessage = (data) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/message/send',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 更新公众号粉丝
|
||||||
|
export const updateUser = (data) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/user/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号粉丝
|
||||||
|
export const getUser = (id) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/user/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号粉丝分页
|
||||||
|
export const getUserPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/user/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 同步公众号粉丝
|
||||||
|
export const syncUser = (accountId) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/tag/sync?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 获取消息发送概况数据
|
||||||
|
export const getUpstreamMessage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/upstream-message',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户增减数据
|
||||||
|
export const getUserSummary = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/user-summary',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得用户累计数据
|
||||||
|
export const getUserCumulate = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/user-cumulate',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得接口分析数据
|
||||||
|
export const getInterfaceSummary = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/statistics/interface-summary',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// 创建公众号标签
|
||||||
|
export const createTag = (data) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/tag/create',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新公众号标签
|
||||||
|
export const updateTag = (data) => {
|
||||||
|
return request.put({
|
||||||
|
url: '/mp/tag/update',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除公众号标签
|
||||||
|
export const deleteTag = (id) => {
|
||||||
|
return request.delete({
|
||||||
|
url: '/mp/tag/delete?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号标签
|
||||||
|
export const getTag = (id) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/tag/get?id=' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获得公众号标签分页
|
||||||
|
export const getTagPage = (query) => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/tag/page',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取公众号标签精简信息列表
|
||||||
|
export const getSimpleTags = () => {
|
||||||
|
return request.get({
|
||||||
|
url: '/mp/tag/list-all-simple'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 同步公众号标签
|
||||||
|
export const syncTag = (accountId) => {
|
||||||
|
return request.post({
|
||||||
|
url: '/mp/tag/sync?accountId=' + accountId
|
||||||
|
})
|
||||||
|
}
|
|
@ -1,5 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ElCard, ElTooltip } from 'element-plus'
|
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { useDesign } from '@/hooks/web/useDesign'
|
import { useDesign } from '@/hooks/web/useDesign'
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,6 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { CSSProperties } from 'vue'
|
||||||
import { cloneDeep } from 'lodash-es'
|
import { cloneDeep } from 'lodash-es'
|
||||||
import { ref, computed, CSSProperties, toRef, watch } from 'vue'
|
|
||||||
import {
|
|
||||||
ElInput,
|
|
||||||
ElPopover,
|
|
||||||
ElDivider,
|
|
||||||
ElScrollbar,
|
|
||||||
ElTabs,
|
|
||||||
ElTabPane,
|
|
||||||
ElPagination
|
|
||||||
} from 'element-plus'
|
|
||||||
import { IconJson } from '@/components/Icon/src/data'
|
import { IconJson } from '@/components/Icon/src/data'
|
||||||
|
|
||||||
type ParameterCSSProperties = (item?: string) => CSSProperties | undefined
|
type ParameterCSSProperties = (item?: string) => CSSProperties | undefined
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { ElTooltip } from 'element-plus'
|
|
||||||
defineProps({
|
defineProps({
|
||||||
titel: propTypes.string.def(''),
|
titel: propTypes.string.def(''),
|
||||||
message: propTypes.string.def(''),
|
message: propTypes.string.def(''),
|
||||||
|
|
|
@ -46,8 +46,8 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts" name="UploadImgs">
|
<script setup lang="ts" name="UploadImgs">
|
||||||
import { PropType, ref } from 'vue'
|
import { PropType } from 'vue'
|
||||||
import { ElUpload, ElNotification, ElImageViewer } from 'element-plus'
|
import { ElNotification } from 'element-plus'
|
||||||
import type { UploadProps, UploadFile, UploadUserFile } from 'element-plus'
|
import type { UploadProps, UploadFile, UploadUserFile } from 'element-plus'
|
||||||
|
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
import { ElScrollbar } from 'element-plus'
|
|
||||||
const slots = useSlots()
|
const slots = useSlots()
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
</template>
|
</template>
|
||||||
</VxeGrid>
|
</VxeGrid>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup name="XTable">
|
<script setup lang="ts" name="XTable">
|
||||||
import { PropType } from 'vue'
|
import { PropType } from 'vue'
|
||||||
import { SizeType, VxeGridInstance } from 'vxe-table'
|
import { SizeType, VxeGridInstance } from 'vxe-table'
|
||||||
import { useAppStore } from '@/store/modules/app'
|
import { useAppStore } from '@/store/modules/app'
|
||||||
|
|
|
@ -242,20 +242,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts" name="ElementListeners">
|
<script setup lang="ts" name="ElementListeners">
|
||||||
import { ref, inject, watch, nextTick } from 'vue'
|
import { ElMessageBox } from 'element-plus'
|
||||||
import {
|
|
||||||
ElMessageBox,
|
|
||||||
ElTable,
|
|
||||||
ElTableColumn,
|
|
||||||
ElDivider,
|
|
||||||
ElOption,
|
|
||||||
ElSelect,
|
|
||||||
ElInput,
|
|
||||||
ElDrawer,
|
|
||||||
ElDialog,
|
|
||||||
ElForm,
|
|
||||||
ElFormItem
|
|
||||||
} from 'element-plus'
|
|
||||||
import { createListenerObject, updateElementExtensions } from '../../utils'
|
import { createListenerObject, updateElementExtensions } from '../../utils'
|
||||||
import { initListenerType, initListenerForm, listenerType, fieldType } from './utilSelf'
|
import { initListenerType, initListenerForm, listenerType, fieldType } from './utilSelf'
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
|
@ -287,7 +287,7 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup name="UserTaskListeners">
|
<script setup lang="ts" name="UserTaskListeners">
|
||||||
import { ElMessageBox } from 'element-plus'
|
import { ElMessageBox } from 'element-plus'
|
||||||
import { createListenerObject, updateElementExtensions } from '../../utils'
|
import { createListenerObject, updateElementExtensions } from '../../utils'
|
||||||
import { initListenerForm, initListenerType, eventType, listenerType, fieldType } from './utilSelf'
|
import { initListenerForm, initListenerType, eventType, listenerType, fieldType } from './utilSelf'
|
||||||
|
|
|
@ -46,17 +46,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts" name="SignalAndMassage">
|
<script setup lang="ts" name="SignalAndMassage">
|
||||||
import {
|
const message = useMessage()
|
||||||
ElMessage,
|
|
||||||
ElDialog,
|
|
||||||
ElForm,
|
|
||||||
ElFormItem,
|
|
||||||
ElTable,
|
|
||||||
ElTableColumn,
|
|
||||||
ElButton,
|
|
||||||
ElInput
|
|
||||||
} from 'element-plus'
|
|
||||||
import { ref, computed, onMounted } from 'vue'
|
|
||||||
const signalList = ref<any[]>([])
|
const signalList = ref<any[]>([])
|
||||||
const messageList = ref<any[]>([])
|
const messageList = ref<any[]>([])
|
||||||
const modelVisible = ref(false)
|
const modelVisible = ref(false)
|
||||||
|
@ -99,13 +89,13 @@ const openModel = (type) => {
|
||||||
const addNewObject = () => {
|
const addNewObject = () => {
|
||||||
if (modelType.value === 'message') {
|
if (modelType.value === 'message') {
|
||||||
if (messageIdMap.value[modelObjectForm.value.id]) {
|
if (messageIdMap.value[modelObjectForm.value.id]) {
|
||||||
ElMessage.error('该消息已存在,请修改id后重新保存')
|
message.error('该消息已存在,请修改id后重新保存')
|
||||||
}
|
}
|
||||||
const messageRef = window.bpmnInstances.moddle.create('bpmn:Message', modelObjectForm.value)
|
const messageRef = window.bpmnInstances.moddle.create('bpmn:Message', modelObjectForm.value)
|
||||||
rootElements.value.push(messageRef)
|
rootElements.value.push(messageRef)
|
||||||
} else {
|
} else {
|
||||||
if (signalIdMap.value[modelObjectForm.value.id]) {
|
if (signalIdMap.value[modelObjectForm.value.id]) {
|
||||||
ElMessage.error('该信号已存在,请修改id后重新保存')
|
message.error('该信号已存在,请修改id后重新保存')
|
||||||
}
|
}
|
||||||
const signalRef = window.bpmnInstances.moddle.create('bpmn:Signal', modelObjectForm.value)
|
const signalRef = window.bpmnInstances.moddle.create('bpmn:Signal', modelObjectForm.value)
|
||||||
rootElements.value.push(signalRef)
|
rootElements.value.push(signalRef)
|
||||||
|
|
|
@ -45,8 +45,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="ScriptTask">
|
<script setup lang="ts" name="ScriptTask">
|
||||||
import { ref, watch, nextTick, onBeforeUnmount, toRaw } from 'vue'
|
|
||||||
import { ElInput, ElFormItem } from 'element-plus'
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
id: String,
|
id: String,
|
||||||
type: String
|
type: String
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
import axios, { AxiosInstance, AxiosRequestHeaders, AxiosResponse, AxiosError } from 'axios'
|
import axios, {
|
||||||
|
AxiosInstance,
|
||||||
|
AxiosRequestHeaders,
|
||||||
|
AxiosResponse,
|
||||||
|
AxiosError,
|
||||||
|
InternalAxiosRequestConfig
|
||||||
|
} from 'axios'
|
||||||
|
|
||||||
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
|
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
|
||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
import { config } from '@/config/axios/config'
|
import { config } from '@/config/axios/config'
|
||||||
|
@ -35,7 +42,7 @@ const service: AxiosInstance = axios.create({
|
||||||
|
|
||||||
// request拦截器
|
// request拦截器
|
||||||
service.interceptors.request.use(
|
service.interceptors.request.use(
|
||||||
(config) => {
|
(config: InternalAxiosRequestConfig) => {
|
||||||
// 是否需要设置 token
|
// 是否需要设置 token
|
||||||
let isToken = (config!.headers || {}).isToken === false
|
let isToken = (config!.headers || {}).isToken === false
|
||||||
whiteList.some((v) => {
|
whiteList.some((v) => {
|
||||||
|
|
|
@ -51,12 +51,16 @@ declare module '@vue/runtime-core' {
|
||||||
ElIcon: typeof import('element-plus/es')['ElIcon']
|
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||||
ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
|
ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
|
||||||
ElInput: typeof import('element-plus/es')['ElInput']
|
ElInput: typeof import('element-plus/es')['ElInput']
|
||||||
|
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
|
||||||
ElLink: typeof import('element-plus/es')['ElLink']
|
ElLink: typeof import('element-plus/es')['ElLink']
|
||||||
ElOption: typeof import('element-plus/es')['ElOption']
|
ElOption: typeof import('element-plus/es')['ElOption']
|
||||||
|
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||||
ElPopover: typeof import('element-plus/es')['ElPopover']
|
ElPopover: typeof import('element-plus/es')['ElPopover']
|
||||||
ElRadio: typeof import('element-plus/es')['ElRadio']
|
ElRadio: typeof import('element-plus/es')['ElRadio']
|
||||||
|
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
|
||||||
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||||
ElRow: typeof import('element-plus/es')['ElRow']
|
ElRow: typeof import('element-plus/es')['ElRow']
|
||||||
|
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
|
||||||
ElSelect: typeof import('element-plus/es')['ElSelect']
|
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||||
ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
|
ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
|
||||||
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
||||||
|
@ -66,6 +70,9 @@ declare module '@vue/runtime-core' {
|
||||||
ElTabs: typeof import('element-plus/es')['ElTabs']
|
ElTabs: typeof import('element-plus/es')['ElTabs']
|
||||||
ElTag: typeof import('element-plus/es')['ElTag']
|
ElTag: typeof import('element-plus/es')['ElTag']
|
||||||
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
||||||
|
ElTransfer: typeof import('element-plus/es')['ElTransfer']
|
||||||
|
ElTree: typeof import('element-plus/es')['ElTree']
|
||||||
|
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
|
||||||
ElUpload: typeof import('element-plus/es')['ElUpload']
|
ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||||
Error: typeof import('./../components/Error/src/Error.vue')['default']
|
Error: typeof import('./../components/Error/src/Error.vue')['default']
|
||||||
FlowCondition: typeof import('./../components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue')['default']
|
FlowCondition: typeof import('./../components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue')['default']
|
||||||
|
|
|
@ -40,7 +40,6 @@ declare global {
|
||||||
const ref: typeof import('vue')['ref']
|
const ref: typeof import('vue')['ref']
|
||||||
const required: typeof import('@/utils/formRules')['required']
|
const required: typeof import('@/utils/formRules')['required']
|
||||||
const resolveComponent: typeof import('vue')['resolveComponent']
|
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||||
const resolveDirective: typeof import('vue')['resolveDirective']
|
|
||||||
const shallowReactive: typeof import('vue')['shallowReactive']
|
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||||
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||||
const shallowRef: typeof import('vue')['shallowRef']
|
const shallowRef: typeof import('vue')['shallowRef']
|
||||||
|
@ -65,3 +64,8 @@ declare global {
|
||||||
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||||
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||||
}
|
}
|
||||||
|
// for type re-export
|
||||||
|
declare global {
|
||||||
|
// @ts-ignore
|
||||||
|
export type { Component,ComponentPublicInstance,ComputedRef,InjectionKey,PropType,Ref,VNode } from 'vue'
|
||||||
|
}
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<Error type="403" @error-click="errorClick()" />
|
<Error type="403" @error-click="push('/')" />
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const { push } = useRouter()
|
const { push } = useRouter()
|
||||||
|
|
||||||
const errorClick = () => {
|
|
||||||
push('/')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<Error @error-click="errorClick()" />
|
<Error @error-click="push('/')" />
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const { push } = useRouter()
|
const { push } = useRouter()
|
||||||
|
|
||||||
const errorClick = () => {
|
|
||||||
push('/')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<Error type="500" @error-click="errorClick()" />
|
<Error type="500" @error-click="push('/')" />
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
const { push } = useRouter()
|
const { push } = useRouter()
|
||||||
|
|
||||||
const errorClick = () => {
|
|
||||||
push('/')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
import { reactive } from 'vue'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
|
||||||
|
|
||||||
import { DICT_TYPE } from '@/utils/dict'
|
|
||||||
|
|
||||||
// CrudSchema
|
// CrudSchema
|
||||||
const crudSchemas = reactive<VxeCrudSchema>({
|
const crudSchemas = reactive<VxeCrudSchema>({
|
||||||
|
|
|
@ -46,20 +46,16 @@
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
// 全局相关的 import
|
|
||||||
import { ref } from 'vue'
|
|
||||||
|
|
||||||
// 业务相关的 import
|
// 业务相关的 import
|
||||||
import * as DefinitionApi from '@/api/bpm/definition'
|
import * as DefinitionApi from '@/api/bpm/definition'
|
||||||
// import * as ModelApi from '@/api/bpm/model'
|
// import * as ModelApi from '@/api/bpm/model'
|
||||||
import { allSchemas } from './definition.data'
|
import { allSchemas } from './definition.data'
|
||||||
|
import { setConfAndFields2 } from '@/utils/formCreate'
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const router = useRouter() // 路由
|
const router = useRouter() // 路由
|
||||||
const { query } = useRoute() // 查询参数
|
const { query } = useRoute() // 查询参数
|
||||||
|
|
||||||
import { setConfAndFields2 } from '@/utils/formCreate'
|
|
||||||
|
|
||||||
// ========== 列表相关 ==========
|
// ========== 列表相关 ==========
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
key: query.key
|
key: query.key
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<div>
|
|
||||||
<XTable @register="registerTable">
|
<XTable @register="registerTable">
|
||||||
<!-- 操作:新增 -->
|
<!-- 操作:新增 -->
|
||||||
<template #toolbar_buttons>
|
<template #toolbar_buttons>
|
||||||
|
@ -41,12 +40,10 @@
|
||||||
<XModal v-model="detailOpen" width="800" title="表单详情">
|
<XModal v-model="detailOpen" width="800" title="表单详情">
|
||||||
<form-create :rule="detailPreview.rule" :option="detailPreview.option" v-if="detailOpen" />
|
<form-create :rule="detailPreview.rule" :option="detailPreview.option" v-if="detailOpen" />
|
||||||
</XModal>
|
</XModal>
|
||||||
</div>
|
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts" name="BpmForm">
|
<script setup lang="ts" name="BpmForm">
|
||||||
// 全局相关的 import
|
|
||||||
// 业务相关的 import
|
// 业务相关的 import
|
||||||
import * as FormApi from '@/api/bpm/form'
|
import * as FormApi from '@/api/bpm/form'
|
||||||
import { allSchemas } from './form.data'
|
import { allSchemas } from './form.data'
|
||||||
|
@ -54,7 +51,7 @@ import { allSchemas } from './form.data'
|
||||||
import { setConfAndFields2 } from '@/utils/formCreate'
|
import { setConfAndFields2 } from '@/utils/formCreate'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const router = useRouter() // 路由
|
const { push } = useRouter() // 路由
|
||||||
|
|
||||||
// 列表相关的变量
|
// 列表相关的变量
|
||||||
const [registerTable, { deleteData }] = useXTable({
|
const [registerTable, { deleteData }] = useXTable({
|
||||||
|
@ -65,14 +62,14 @@ const [registerTable, { deleteData }] = useXTable({
|
||||||
|
|
||||||
// 新增操作
|
// 新增操作
|
||||||
const handleCreate = () => {
|
const handleCreate = () => {
|
||||||
router.push({
|
push({
|
||||||
name: 'bpmFormEditor'
|
name: 'bpmFormEditor'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
await router.push({
|
await push({
|
||||||
name: 'bpmFormEditor',
|
name: 'bpmFormEditor',
|
||||||
query: {
|
query: {
|
||||||
id: rowId
|
id: rowId
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
import { reactive } from 'vue'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
import { useI18n } from '@/hooks/web/useI18n'
|
|
||||||
import { required } from '@/utils/formRules'
|
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
|
||||||
|
|
||||||
import { DICT_TYPE } from '@/utils/dict'
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
// 表单校验
|
// 表单校验
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted } from 'vue'
|
|
||||||
// import { translations } from '@/components/bpmnProcessDesigner/src/translations'
|
// import { translations } from '@/components/bpmnProcessDesigner/src/translations'
|
||||||
// 自定义元素选中时的弹出菜单(修改 默认任务 为 用户任务)
|
// 自定义元素选中时的弹出菜单(修改 默认任务 为 用户任务)
|
||||||
import CustomContentPadProvider from '@/components/bpmnProcessDesigner/package/designer/plugins/content-pad'
|
import CustomContentPadProvider from '@/components/bpmnProcessDesigner/package/designer/plugins/content-pad'
|
||||||
|
@ -36,11 +35,10 @@ import CustomPaletteProvider from '@/components/bpmnProcessDesigner/package/desi
|
||||||
// import xmlObj2json from "./utils/xml2json";
|
// import xmlObj2json from "./utils/xml2json";
|
||||||
// import myProcessDesigner from '@/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue'
|
// import myProcessDesigner from '@/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue'
|
||||||
// import MyProcessPalette from '@/components/bpmnProcessDesigner/package/palette/ProcessPalette.vue'
|
// import MyProcessPalette from '@/components/bpmnProcessDesigner/package/palette/ProcessPalette.vue'
|
||||||
import { createModelApi, getModelApi, updateModelApi } from '@/api/bpm/model'
|
import { createModelApi, getModelApi, updateModelApi, ModelVO } from '@/api/bpm/model'
|
||||||
|
|
||||||
import { useRouter } from 'vue-router'
|
|
||||||
import { ElMessage } from 'element-plus'
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const message = useMessage()
|
||||||
|
|
||||||
// 自定义侧边栏
|
// 自定义侧边栏
|
||||||
// import MyProcessPanel from "../package/process-panel/ProcessPanel";
|
// import MyProcessPanel from "../package/process-panel/ProcessPanel";
|
||||||
|
@ -63,14 +61,14 @@ const controlForm = ref({
|
||||||
// CustomPaletteProvider
|
// CustomPaletteProvider
|
||||||
// })
|
// })
|
||||||
// 流程模型的信息
|
// 流程模型的信息
|
||||||
const model = ref({})
|
const model = ref<ModelVO>()
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 如果 modelId 非空,说明是修改流程模型
|
// 如果 modelId 非空,说明是修改流程模型
|
||||||
const modelId = router.currentRoute.value.query && router.currentRoute.value.query.modelId
|
const modelId = router.currentRoute.value.query && router.currentRoute.value.query.modelId
|
||||||
console.log(modelId, 'modelId')
|
console.log(modelId, 'modelId')
|
||||||
if (modelId) {
|
if (modelId) {
|
||||||
// let data = '4b4909d8-97e7-11ec-8e20-862bc1a4a054'
|
// let data = '4b4909d8-97e7-11ec-8e20-862bc1a4a054'
|
||||||
getModelApi(modelId).then((data) => {
|
getModelApi(modelId as unknown as number).then((data) => {
|
||||||
console.log(data, 'response')
|
console.log(data, 'response')
|
||||||
xmlString.value = data.bpmnXml
|
xmlString.value = data.bpmnXml
|
||||||
model.value = {
|
model.value = {
|
||||||
|
@ -109,9 +107,9 @@ const initModeler = (item) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const save = (bpmnXml) => {
|
const save = (bpmnXml) => {
|
||||||
const data = {
|
const data: ModelVO = {
|
||||||
...model.value,
|
...model.value,
|
||||||
bpmnXml: bpmnXml // this.bpmnXml 只是初始化流程图,后续修改无法通过它获得
|
bpmnXml: bpmnXml // bpmnXml 只是初始化流程图,后续修改无法通过它获得
|
||||||
}
|
}
|
||||||
console.log(data, 'data')
|
console.log(data, 'data')
|
||||||
|
|
||||||
|
@ -119,9 +117,7 @@ const save = (bpmnXml) => {
|
||||||
if (data.id) {
|
if (data.id) {
|
||||||
updateModelApi(data).then((response) => {
|
updateModelApi(data).then((response) => {
|
||||||
console.log(response, 'response')
|
console.log(response, 'response')
|
||||||
// this.$modal.msgSuccess("修改成功")
|
message.success('修改成功')
|
||||||
ElMessage.success('修改成功')
|
|
||||||
|
|
||||||
// 跳转回去
|
// 跳转回去
|
||||||
close()
|
close()
|
||||||
})
|
})
|
||||||
|
@ -130,15 +126,13 @@ const save = (bpmnXml) => {
|
||||||
// 添加的提交
|
// 添加的提交
|
||||||
createModelApi(data).then((response) => {
|
createModelApi(data).then((response) => {
|
||||||
console.log(response, 'response1')
|
console.log(response, 'response1')
|
||||||
// this.$modal.msgSuccess("保存成功")
|
message.success('保存成功')
|
||||||
ElMessage.success('保存成功')
|
|
||||||
// 跳转回去
|
// 跳转回去
|
||||||
close()
|
close()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/** 关闭按钮 */
|
/** 关闭按钮 */
|
||||||
const close = () => {
|
const close = () => {
|
||||||
// this.$tab.closeOpenPage({ path: "/bpm/manager/model" })
|
|
||||||
router.push({ path: '/bpm/manager/model' })
|
router.push({ path: '/bpm/manager/model' })
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -21,7 +21,7 @@ import { rules, allSchemas } from './leave.data'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const router = useRouter() // 路由
|
const { push } = useRouter() // 路由
|
||||||
|
|
||||||
// 表单参数
|
// 表单参数
|
||||||
const actionLoading = ref(false) // 按钮 Loading
|
const actionLoading = ref(false) // 按钮 Loading
|
||||||
|
@ -41,15 +41,13 @@ const submitForm = async () => {
|
||||||
const data = unref(formRef)?.formModel as LeaveApi.LeaveVO
|
const data = unref(formRef)?.formModel as LeaveApi.LeaveVO
|
||||||
// data.startTime = XEUtils.toDateString(data.startTime, 'yyyy-MM-dd HH:mm:ss')
|
// data.startTime = XEUtils.toDateString(data.startTime, 'yyyy-MM-dd HH:mm:ss')
|
||||||
// data.endTime = XEUtils.toDateString(data.endTime, 'yyyy-MM-dd HH:mm:ss')
|
// data.endTime = XEUtils.toDateString(data.endTime, 'yyyy-MM-dd HH:mm:ss')
|
||||||
data.startTime = Date.parse(new Date(data.startTime).toString())
|
data.startTime = Date.parse(new Date(data.startTime).toString()).toString()
|
||||||
data.endTime = Date.parse(new Date(data.endTime).toString())
|
data.endTime = Date.parse(new Date(data.endTime).toString()).toString()
|
||||||
// 添加的提交
|
// 添加的提交
|
||||||
await LeaveApi.createLeaveApi(data)
|
await LeaveApi.createLeaveApi(data)
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
// 关闭窗口
|
// 关闭窗口
|
||||||
router.push({
|
push('/bpm/oa/leave')
|
||||||
path: '/bpm/oa/leave'
|
|
||||||
})
|
|
||||||
} finally {
|
} finally {
|
||||||
actionLoading.value = false
|
actionLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script setup lang="ts">
|
||||||
// 业务相关的 import
|
// 业务相关的 import
|
||||||
import * as LeaveApi from '@/api/bpm/leave'
|
import * as LeaveApi from '@/api/bpm/leave'
|
||||||
import { allSchemas } from '@/views/bpm/oa/leave/leave.data'
|
import { allSchemas } from '@/views/bpm/oa/leave/leave.data'
|
||||||
|
|
|
@ -33,7 +33,7 @@ import * as ProcessInstanceApi from '@/api/bpm/processInstance'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const router = useRouter() // 路由
|
const { push } = useRouter() // 路由
|
||||||
|
|
||||||
const [registerTable, { reload }] = useXTable({
|
const [registerTable, { reload }] = useXTable({
|
||||||
allSchemas: allSchemas,
|
allSchemas: allSchemas,
|
||||||
|
@ -42,7 +42,7 @@ const [registerTable, { reload }] = useXTable({
|
||||||
|
|
||||||
// 发起请假
|
// 发起请假
|
||||||
const handleCreate = () => {
|
const handleCreate = () => {
|
||||||
router.push({
|
push({
|
||||||
name: 'OALeaveCreate'
|
name: 'OALeaveCreate'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ const cancelLeave = (row) => {
|
||||||
|
|
||||||
// 详情
|
// 详情
|
||||||
const handleDetail = (row) => {
|
const handleDetail = (row) => {
|
||||||
router.push({
|
push({
|
||||||
name: 'OALeaveDetail',
|
name: 'OALeaveDetail',
|
||||||
query: {
|
query: {
|
||||||
id: row.id
|
id: row.id
|
||||||
|
@ -73,7 +73,7 @@ const handleDetail = (row) => {
|
||||||
|
|
||||||
// 审批进度
|
// 审批进度
|
||||||
const handleProcessDetail = (row) => {
|
const handleProcessDetail = (row) => {
|
||||||
router.push({
|
push({
|
||||||
name: 'BpmProcessInstanceDetail',
|
name: 'BpmProcessInstanceDetail',
|
||||||
query: {
|
query: {
|
||||||
id: row.processInstanceId
|
id: row.processInstanceId
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
// crudSchemas
|
// crudSchemas
|
||||||
const crudSchemas = reactive<VxeCrudSchema>({
|
const crudSchemas = reactive<VxeCrudSchema>({
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { reactive } from 'vue'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
import { useI18n } from '@/hooks/web/useI18n'
|
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
|
||||||
import { DICT_TYPE } from '@/utils/dict'
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
// CrudSchema
|
// CrudSchema
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,12 @@
|
||||||
</XTable>
|
</XTable>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
// 业务相关的 import
|
// 业务相关的 import
|
||||||
import { allSchemas } from './done.data'
|
import { allSchemas } from './done.data'
|
||||||
import * as TaskApi from '@/api/bpm/task'
|
import * as TaskApi from '@/api/bpm/task'
|
||||||
|
|
||||||
const router = useRouter() // 路由
|
const { push } = useRouter() // 路由
|
||||||
|
|
||||||
const [registerTable] = useXTable({
|
const [registerTable] = useXTable({
|
||||||
allSchemas: allSchemas,
|
allSchemas: allSchemas,
|
||||||
|
@ -27,7 +26,7 @@ const [registerTable] = useXTable({
|
||||||
|
|
||||||
// 处理审批按钮
|
// 处理审批按钮
|
||||||
const handleAudit = (row) => {
|
const handleAudit = (row) => {
|
||||||
router.push({
|
push({
|
||||||
name: 'BpmProcessInstanceDetail',
|
name: 'BpmProcessInstanceDetail',
|
||||||
query: {
|
query: {
|
||||||
id: row.processInstance.id
|
id: row.processInstance.id
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
import { allSchemas } from './todo.data'
|
import { allSchemas } from './todo.data'
|
||||||
import * as TaskApi from '@/api/bpm/task'
|
import * as TaskApi from '@/api/bpm/task'
|
||||||
|
|
||||||
const router = useRouter() // 路由
|
const { push } = useRouter() // 路由
|
||||||
|
|
||||||
const [registerTable] = useXTable({
|
const [registerTable] = useXTable({
|
||||||
allSchemas: allSchemas,
|
allSchemas: allSchemas,
|
||||||
|
@ -27,7 +27,7 @@ const [registerTable] = useXTable({
|
||||||
|
|
||||||
// 处理审批按钮
|
// 处理审批按钮
|
||||||
const handleAudit = (row) => {
|
const handleAudit = (row) => {
|
||||||
router.push({
|
push({
|
||||||
name: 'BpmProcessInstanceDetail',
|
name: 'BpmProcessInstanceDetail',
|
||||||
query: {
|
query: {
|
||||||
id: row.processInstance.id
|
id: row.processInstance.id
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||||
|
|
||||||
// 表单校验
|
// 表单校验
|
||||||
export const rules = reactive({
|
export const rules = reactive({
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<span>开发中</span>
|
||||||
|
</template>
|
|
@ -39,7 +39,7 @@ const emit = defineEmits(['success'])
|
||||||
|
|
||||||
// 弹窗相关的变量
|
// 弹窗相关的变量
|
||||||
const modelVisible = ref(false) // 是否显示弹出层
|
const modelVisible = ref(false) // 是否显示弹出层
|
||||||
const modelTitle = ref('edit') // 弹出层标题
|
const modelTitle = ref('update') // 弹出层标题
|
||||||
const modelLoading = ref(false) // 弹出层loading
|
const modelLoading = ref(false) // 弹出层loading
|
||||||
const actionType = ref('') // 操作按钮的类型
|
const actionType = ref('') // 操作按钮的类型
|
||||||
const actionLoading = ref(false) // 按钮 Loading
|
const actionLoading = ref(false) // 按钮 Loading
|
||||||
|
@ -67,7 +67,7 @@ const openModal = async (type: string, rowId?: number) => {
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
if (!elForm) return
|
if (!elForm) return
|
||||||
elForm.validate(async (valid) => {
|
const valid = await elForm.validate()
|
||||||
if (valid) {
|
if (valid) {
|
||||||
actionLoading.value = true
|
actionLoading.value = true
|
||||||
// 提交请求
|
// 提交请求
|
||||||
|
@ -86,7 +86,6 @@ const submitForm = async () => {
|
||||||
actionLoading.value = false
|
actionLoading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({ openModal: openModal })
|
defineExpose({ openModal: openModal })
|
||||||
|
|
|
@ -51,7 +51,7 @@ import { allSchemas } from './post.data'
|
||||||
import PostForm from './PostForm.vue'
|
import PostForm from './PostForm.vue'
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const modalRef = ref()
|
|
||||||
// 列表相关的变量
|
// 列表相关的变量
|
||||||
const [registerTable, { reload, deleteData, exportList }] = useXTable({
|
const [registerTable, { reload, deleteData, exportList }] = useXTable({
|
||||||
allSchemas: allSchemas,
|
allSchemas: allSchemas,
|
||||||
|
@ -59,7 +59,8 @@ const [registerTable, { reload, deleteData, exportList }] = useXTable({
|
||||||
deleteApi: PostApi.deletePostApi,
|
deleteApi: PostApi.deletePostApi,
|
||||||
exportListApi: PostApi.exportPostApi
|
exportListApi: PostApi.exportPostApi
|
||||||
})
|
})
|
||||||
|
// 表单相关的变量
|
||||||
|
const modalRef = ref()
|
||||||
const openModal = (type: string, rowId?: number) => {
|
const openModal = (type: string, rowId?: number) => {
|
||||||
modalRef.value.openModal(type, rowId)
|
modalRef.value.openModal(type, rowId)
|
||||||
}
|
}
|
||||||
|
|
|
@ -554,7 +554,7 @@
|
||||||
default-expand-all
|
default-expand-all
|
||||||
draggable
|
draggable
|
||||||
>
|
>
|
||||||
<span>
|
<span slot-scope="{ node, data }">
|
||||||
<span class="node-label">
|
<span class="node-label">
|
||||||
<svg-icon class="node-icon" :icon-class="data.__config__?data.__config__.tagIcon:data.tagIcon" />
|
<svg-icon class="node-icon" :icon-class="data.__config__?data.__config__.tagIcon:data.tagIcon" />
|
||||||
{{ node.label }}
|
{{ node.label }}
|
||||||
|
|
Loading…
Reference in New Issue