Skip to content

Commit a364d57

Browse files
YunaiVgitee-org
authored andcommitted
!133 版本 1.7.2 发布
Merge pull request !133 from 芋道源码/dev
2 parents 738d150 + 917a244 commit a364d57

File tree

46 files changed

+2589
-2115
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2589
-2115
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "yudao-ui-admin-vue3",
3-
"version": "1.7.1-snapshot.1961",
3+
"version": "1.7.2-snapshot",
44
"description": "基于vue3、vite4、element-plus、typesScript",
55
"author": "xingyu",
66
"private": false,

src/router/modules/remaining.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
272272
{
273273
path: '/manager/task-assign-rule',
274274
component: () => import('@/views/bpm/taskAssignRule/index.vue'),
275-
name: 'BpmTaskAssignRule',
275+
name: 'BpmTaskAssignRuleList',
276276
meta: {
277277
noCache: true,
278278
hidden: true,

src/utils/routerHelper.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
1+
import type { RouteLocationNormalized, Router, RouteRecordNormalized } from 'vue-router'
12
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
2-
import type { Router, RouteLocationNormalized, RouteRecordNormalized } from 'vue-router'
33
import { isUrl } from '@/utils/is'
4-
import { omit, cloneDeep } from 'lodash-es'
4+
import { cloneDeep, omit } from 'lodash-es'
55

66
const modules = import.meta.glob('../views/**/*.{vue,tsx}')
7-
7+
/**
8+
* 注册一个异步组件
9+
* @param componentPath 例:/bpm/oa/leave/detail
10+
*/
11+
export const registerComponent = (componentPath: string) => {
12+
for (const item in modules) {
13+
if (item.includes(componentPath)) {
14+
// 使用异步组件的方式来动态加载组件
15+
// @ts-ignore
16+
return defineAsyncComponent(modules[item])
17+
}
18+
}
19+
}
820
/* Layout */
921
export const Layout = () => import('@/layout/Layout.vue')
1022

src/views/bpm/form/editor/index.vue

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,13 @@ import { CommonStatusEnum } from '@/utils/constants'
4444
import * as FormApi from '@/api/bpm/form'
4545
import FcDesigner from '@form-create/designer'
4646
import { encodeConf, encodeFields, setConfAndFields } from '@/utils/formCreate'
47+
import { useTagsViewStore } from '@/store/modules/tagsView'
4748
4849
const { t } = useI18n() // 国际化
4950
const message = useMessage() // 消息
50-
const { query } = useRoute() // 路由
51+
const { push, currentRoute } = useRouter() // 路由
52+
const { query } = useRoute() // 路由信息
53+
const { delView } = useTagsViewStore() // 视图操作
5154
5255
const designer = ref() // 表单设计器
5356
const dialogVisible = ref(false) // 弹窗是否展示
@@ -88,10 +91,16 @@ const submitForm = async () => {
8891
message.success(t('common.updateSuccess'))
8992
}
9093
dialogVisible.value = false
94+
close()
9195
} finally {
9296
formLoading.value = false
9397
}
9498
}
99+
/** 关闭按钮 */
100+
const close = () => {
101+
delView(unref(currentRoute))
102+
push('/bpm/manager/form')
103+
}
95104
96105
/** 初始化 **/
97106
onMounted(async () => {

src/views/bpm/form/index.vue

Lines changed: 50 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,33 @@
22
<ContentWrap>
33
<!-- 搜索工作栏 -->
44
<el-form
5-
class="-mb-15px"
6-
:model="queryParams"
75
ref="queryFormRef"
86
:inline="true"
7+
:model="queryParams"
8+
class="-mb-15px"
99
label-width="68px"
1010
>
1111
<el-form-item label="表单名" prop="name">
1212
<el-input
1313
v-model="queryParams.name"
14-
placeholder="请输入表单名"
14+
class="!w-240px"
1515
clearable
16+
placeholder="请输入表单名"
1617
@keyup.enter="handleQuery"
17-
class="!w-240px"
1818
/>
1919
</el-form-item>
2020
<el-form-item>
21-
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
22-
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
23-
<el-button type="primary" plain @click="openForm" v-hasPermi="['bpm:form:create']">
24-
<Icon icon="ep:plus" class="mr-5px" /> 新增
21+
<el-button @click="handleQuery">
22+
<Icon class="mr-5px" icon="ep:search" />
23+
搜索
24+
</el-button>
25+
<el-button @click="resetQuery">
26+
<Icon class="mr-5px" icon="ep:refresh" />
27+
重置
28+
</el-button>
29+
<el-button v-hasPermi="['bpm:form:create']" plain type="primary" @click="openForm">
30+
<Icon class="mr-5px" icon="ep:plus" />
31+
新增
2532
</el-button>
2633
</el-form-item>
2734
</el-form>
@@ -30,38 +37,38 @@
3037
<!-- 列表 -->
3138
<ContentWrap>
3239
<el-table v-loading="loading" :data="list">
33-
<el-table-column label="编号" align="center" prop="id" />
34-
<el-table-column label="表单名" align="center" prop="name" />
35-
<el-table-column label="状态" align="center" prop="status">
40+
<el-table-column align="center" label="编号" prop="id" />
41+
<el-table-column align="center" label="表单名" prop="name" />
42+
<el-table-column align="center" label="状态" prop="status">
3643
<template #default="scope">
3744
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
3845
</template>
3946
</el-table-column>
40-
<el-table-column label="备注" align="center" prop="remark" />
47+
<el-table-column align="center" label="备注" prop="remark" />
4148
<el-table-column
42-
label="创建时间"
49+
:formatter="dateFormatter"
4350
align="center"
51+
label="创建时间"
4452
prop="createTime"
45-
:formatter="dateFormatter"
4653
/>
47-
<el-table-column label="操作" align="center">
54+
<el-table-column align="center" label="操作">
4855
<template #default="scope">
4956
<el-button
57+
v-hasPermi="['bpm:form:update']"
5058
link
5159
type="primary"
5260
@click="openForm(scope.row.id)"
53-
v-hasPermi="['bpm:form:update']"
5461
>
5562
编辑
5663
</el-button>
57-
<el-button link @click="openDetail(scope.row.id)" v-hasPermi="['bpm:form:query']">
64+
<el-button v-hasPermi="['bpm:form:query']" link @click="openDetail(scope.row.id)">
5865
详情
5966
</el-button>
6067
<el-button
68+
v-hasPermi="['bpm:form:delete']"
6169
link
6270
type="danger"
6371
@click="handleDelete(scope.row.id)"
64-
v-hasPermi="['bpm:form:delete']"
6572
>
6673
删除
6774
</el-button>
@@ -70,27 +77,28 @@
7077
</el-table>
7178
<!-- 分页 -->
7279
<Pagination
73-
:total="total"
74-
v-model:page="queryParams.pageNo"
7580
v-model:limit="queryParams.pageSize"
81+
v-model:page="queryParams.pageNo"
82+
:total="total"
7683
@pagination="getList"
7784
/>
7885
</ContentWrap>
7986

8087
<!-- 表单详情的弹窗 -->
81-
<Dialog title="表单详情" v-model="detailVisible" width="800">
82-
<form-create :rule="detailData.rule" :option="detailData.option" />
88+
<Dialog v-model="detailVisible" title="表单详情" width="800">
89+
<form-create :option="detailData.option" :rule="detailData.rule" />
8390
</Dialog>
8491
</template>
8592

86-
<script setup lang="ts" name="BpmForm">
93+
<script lang="ts" name="BpmForm" setup>
8794
import { DICT_TYPE } from '@/utils/dict'
8895
import { dateFormatter } from '@/utils/formatTime'
8996
import * as FormApi from '@/api/bpm/form'
9097
import { setConfAndFields2 } from '@/utils/formCreate'
98+
9199
const message = useMessage() // 消息弹窗
92100
const { t } = useI18n() // 国际化
93-
const { push } = useRouter() // 路由
101+
const { currentRoute, push } = useRouter() // 路由
94102
95103
const loading = ref(true) // 列表的加载中
96104
const total = ref(0) // 列表的总页数
@@ -128,12 +136,16 @@ const resetQuery = () => {
128136
129137
/** 添加/修改操作 */
130138
const openForm = (id?: number) => {
131-
push({
132-
name: 'BpmFormEditor',
133-
query: {
139+
const toRouter: { name: string; query?: { id: number } } = {
140+
name: 'BpmFormEditor'
141+
}
142+
// 表单新建的时候id传的是event需要排除
143+
if (typeof id === 'number') {
144+
toRouter.query = {
134145
id
135146
}
136-
})
147+
}
148+
push(toRouter)
137149
}
138150
139151
/** 删除按钮操作 */
@@ -162,7 +174,16 @@ const openDetail = async (rowId: number) => {
162174
// 弹窗打开
163175
detailVisible.value = true
164176
}
165-
177+
/**表单保存返回后重新加载列表 */
178+
watch(
179+
() => currentRoute.value,
180+
() => {
181+
getList()
182+
},
183+
{
184+
immediate: true
185+
}
186+
)
166187
/** 初始化 **/
167188
onMounted(() => {
168189
getList()

src/views/bpm/group/UserGroupForm.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<el-input v-model="formData.name" placeholder="请输入组名" />
1212
</el-form-item>
1313
<el-form-item label="描述">
14-
<el-input v-model="formData.name" placeholder="请输入描述" type="textarea" />
14+
<el-input v-model="formData.description" placeholder="请输入描述" type="textarea" />
1515
</el-form-item>
1616
<el-form-item label="成员" prop="memberUserIds">
1717
<el-select v-model="formData.memberUserIds" multiple placeholder="请选择成员">

src/views/bpm/oa/leave/detail.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<ContentWrap>
3-
<el-descriptions border :column="1">
3+
<el-descriptions :column="1" border>
44
<el-descriptions-item label="请假类型">
55
<dict-tag :type="DICT_TYPE.BPM_OA_LEAVE_TYPE" :value="detailData.type" />
66
</el-descriptions-item>
@@ -21,6 +21,7 @@ import { DICT_TYPE } from '@/utils/dict'
2121
import { formatDate } from '@/utils/formatTime'
2222
import { propTypes } from '@/utils/propTypes'
2323
import * as LeaveApi from '@/api/bpm/leave'
24+
2425
const { query } = useRoute() // 查询参数
2526
2627
const props = defineProps({
@@ -34,7 +35,7 @@ const queryId = query.id as unknown as number // 从 URL 传递过来的 id 编
3435
const getInfo = async () => {
3536
detailLoading.value = true
3637
try {
37-
detailData.value = await LeaveApi.getLeave(queryId || props.id)
38+
detailData.value = await LeaveApi.getLeave(props.id || queryId)
3839
} finally {
3940
detailLoading.value = false
4041
}

0 commit comments

Comments
 (0)