- 代码提交规则请参考
- 所有模块都要添加统一的入口文件,子模块同理,包括
api
,hooks
,enums
,等
1.使用vxe-grid的proxyConfig和useList的hooks相结合处理相关逻辑
```
import { useList } from '@/hooks'
const { gridRef, proxyList, handleSubmitCommand, deleteItem } = useList()
pagerConfig: {
pageSize: 20,
},
proxyConfig: {
// seq: true,
props: {
result: 'data.content',
total: 'data.totalElements',
},
ajax: {
query: proxyList,
},
// autoLoad: false,
},
```
2.表格操作列
```
{
title: t('state.operation'),
width: 150,
field: 'operationTypes',
cellRender: {
name: 'buttons',
props: {
(() => {
return [
{
name: t('buttons.resetPassword'),
},
]
}) as ActionButtonGroup,
},
},
```
使用useForm hooks简化操作
```
const { form, submitForm, formInstance, getDetail, rules, resetForm } = useForm(
computed(() => !props.id),
{
add: postRoles,
edit: putRolesId,
detail: getRolesDetail,
},
)
const getTitle = computed(() => {
return !props.id ? t('state.newPositions') : t('state.editPosition')
})
rules.value = {
remark: [
{
required: false,
message: t('tip.pleaseEnter'),
trigger: 'change',
},
],
name: [
{
required: true,
message: t('tip.pleaseEnter'),
trigger: 'change',
},
],
}
const close = () => {
resetForm()
}
const open = () => {
if (props.id) {
getDetail(props.id)
}
}
const confirm = () => {
const { id, remark, fromTrainingCenter, name } = form.value
submitForm({
id,
remark,
fromTrainingCenter,
name,
}).then(() => {
dialogVisible.value = false
emit('updateData')
})
}
```