|
2 | 2 | <ContentWrap> |
3 | 3 | <!-- 搜索工作栏 --> |
4 | 4 | <el-form |
5 | | - class="-mb-15px" |
6 | | - :model="queryParams" |
7 | 5 | ref="queryFormRef" |
8 | 6 | :inline="true" |
| 7 | + :model="queryParams" |
| 8 | + class="-mb-15px" |
9 | 9 | label-width="68px" |
10 | 10 | > |
11 | 11 | <el-form-item label="表单名" prop="name"> |
12 | 12 | <el-input |
13 | 13 | v-model="queryParams.name" |
14 | | - placeholder="请输入表单名" |
| 14 | + class="!w-240px" |
15 | 15 | clearable |
| 16 | + placeholder="请输入表单名" |
16 | 17 | @keyup.enter="handleQuery" |
17 | | - class="!w-240px" |
18 | 18 | /> |
19 | 19 | </el-form-item> |
20 | 20 | <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 | + 新增 |
25 | 32 | </el-button> |
26 | 33 | </el-form-item> |
27 | 34 | </el-form> |
|
30 | 37 | <!-- 列表 --> |
31 | 38 | <ContentWrap> |
32 | 39 | <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"> |
36 | 43 | <template #default="scope"> |
37 | 44 | <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> |
38 | 45 | </template> |
39 | 46 | </el-table-column> |
40 | | - <el-table-column label="备注" align="center" prop="remark" /> |
| 47 | + <el-table-column align="center" label="备注" prop="remark" /> |
41 | 48 | <el-table-column |
42 | | - label="创建时间" |
| 49 | + :formatter="dateFormatter" |
43 | 50 | align="center" |
| 51 | + label="创建时间" |
44 | 52 | prop="createTime" |
45 | | - :formatter="dateFormatter" |
46 | 53 | /> |
47 | | - <el-table-column label="操作" align="center"> |
| 54 | + <el-table-column align="center" label="操作"> |
48 | 55 | <template #default="scope"> |
49 | 56 | <el-button |
| 57 | + v-hasPermi="['bpm:form:update']" |
50 | 58 | link |
51 | 59 | type="primary" |
52 | 60 | @click="openForm(scope.row.id)" |
53 | | - v-hasPermi="['bpm:form:update']" |
54 | 61 | > |
55 | 62 | 编辑 |
56 | 63 | </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)"> |
58 | 65 | 详情 |
59 | 66 | </el-button> |
60 | 67 | <el-button |
| 68 | + v-hasPermi="['bpm:form:delete']" |
61 | 69 | link |
62 | 70 | type="danger" |
63 | 71 | @click="handleDelete(scope.row.id)" |
64 | | - v-hasPermi="['bpm:form:delete']" |
65 | 72 | > |
66 | 73 | 删除 |
67 | 74 | </el-button> |
|
70 | 77 | </el-table> |
71 | 78 | <!-- 分页 --> |
72 | 79 | <Pagination |
73 | | - :total="total" |
74 | | - v-model:page="queryParams.pageNo" |
75 | 80 | v-model:limit="queryParams.pageSize" |
| 81 | + v-model:page="queryParams.pageNo" |
| 82 | + :total="total" |
76 | 83 | @pagination="getList" |
77 | 84 | /> |
78 | 85 | </ContentWrap> |
79 | 86 |
|
80 | 87 | <!-- 表单详情的弹窗 --> |
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" /> |
83 | 90 | </Dialog> |
84 | 91 | </template> |
85 | 92 |
|
86 | | -<script setup lang="ts" name="BpmForm"> |
| 93 | +<script lang="ts" name="BpmForm" setup> |
87 | 94 | import { DICT_TYPE } from '@/utils/dict' |
88 | 95 | import { dateFormatter } from '@/utils/formatTime' |
89 | 96 | import * as FormApi from '@/api/bpm/form' |
90 | 97 | import { setConfAndFields2 } from '@/utils/formCreate' |
| 98 | +
|
91 | 99 | const message = useMessage() // 消息弹窗 |
92 | 100 | const { t } = useI18n() // 国际化 |
93 | | -const { push } = useRouter() // 路由 |
| 101 | +const { currentRoute, push } = useRouter() // 路由 |
94 | 102 |
|
95 | 103 | const loading = ref(true) // 列表的加载中 |
96 | 104 | const total = ref(0) // 列表的总页数 |
@@ -128,12 +136,16 @@ const resetQuery = () => { |
128 | 136 |
|
129 | 137 | /** 添加/修改操作 */ |
130 | 138 | 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 = { |
134 | 145 | id |
135 | 146 | } |
136 | | - }) |
| 147 | + } |
| 148 | + push(toRouter) |
137 | 149 | } |
138 | 150 |
|
139 | 151 | /** 删除按钮操作 */ |
@@ -162,7 +174,16 @@ const openDetail = async (rowId: number) => { |
162 | 174 | // 弹窗打开 |
163 | 175 | detailVisible.value = true |
164 | 176 | } |
165 | | -
|
| 177 | +/**表单保存返回后重新加载列表 */ |
| 178 | +watch( |
| 179 | + () => currentRoute.value, |
| 180 | + () => { |
| 181 | + getList() |
| 182 | + }, |
| 183 | + { |
| 184 | + immediate: true |
| 185 | + } |
| 186 | +) |
166 | 187 | /** 初始化 **/ |
167 | 188 | onMounted(() => { |
168 | 189 | getList() |
|
0 commit comments