vue3:review 租户列表、租户套餐、用户管理

pull/2/head
YunaiV 2022-11-26 22:12:02 +08:00
parent 7e5c44b0db
commit ae8795df8e
6 changed files with 22 additions and 10 deletions

View File

@ -13,7 +13,7 @@ export const rules = reactive({
phone: [
{
pattern:
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/, // TODO @星语:前端只校验长度,格式交给后端;因为号码格式不断在变的
trigger: 'blur',
message: '请输入正确的手机号码'
}

View File

@ -204,7 +204,7 @@ const handleDelete = async (rowId: number) => {
}
const userNicknameFormat = (row) => {
if (!row || !row.leaderUserId || row.leaderUserId == null) {
if (!row || !row.leaderUserId) {
return '未设置'
}
for (const user of userOption.value) {

View File

@ -36,6 +36,7 @@ export const rules = reactive({
// CrudSchema.
const crudSchemas = reactive<VxeCrudSchema>({
primaryKey: 'id',
primaryTitle: '租户编号',
primaryType: 'seq',
action: true,
columns: [
@ -121,7 +122,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
{
title: t('table.createTime'),
field: 'createTime',
formatter: 'formatDate',
formatter: 'formatDate', // TODO 星语:要不给 formatter = formatDate 的时候,设置一个它的默认宽度,避免缩进
isForm: false
}
]

View File

@ -19,6 +19,7 @@ export const rules = reactive({
const crudSchemas = reactive<VxeCrudSchema>({
primaryKey: 'id',
primaryType: 'seq',
primaryTitle: '套餐编号',
action: true,
columns: [
{
@ -35,7 +36,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
},
{
title: '菜单权限',
field: 'menuIds',
field: 'menuIds', // TODO 星语:菜单权限,表单可以搞大点哇?
isTable: false
},
{

View File

@ -28,8 +28,8 @@
</template>
<!-- 列表 -->
<vxe-grid ref="xGrid" v-bind="gridOptions" class="xtable-scrollbar">
<!-- 操作新增 -->
<template #toolbar_buttons>
<!-- 操作新增 -->
<XButton
type="primary"
preIcon="ep:zoom-in"
@ -37,6 +37,7 @@
v-hasPermi="['system:user:create']"
@click="handleCreate()"
/>
<!-- 操作导入用户 -->
<XButton
type="warning"
preIcon="ep:upload"
@ -44,6 +45,7 @@
v-hasPermi="['system:user:import']"
@click="importDialogVisible = true"
/>
<!-- 操作导出用户 -->
<XButton
type="warning"
preIcon="ep:download"
@ -52,6 +54,7 @@
@click="exportList('用户数据.xls')"
/>
</template>
<!-- TODO @星语貌似没生效 -->
<template #status="{ row }">
<el-switch
v-model="row.status"
@ -61,6 +64,7 @@
/>
</template>
<template #actionbtns_default="{ row }">
<!-- 操作编辑 -->
<XTextButton
preIcon="ep:edit"
:title="t('action.edit')"
@ -74,12 +78,15 @@
v-hasPermi="['system:user:update']"
@click="handleDetail(row.id)"
/>
<!-- TODO 芋艿可以重置角色密码收起来么形成更多 -->
<!-- 操作重置密码 -->
<XTextButton
preIcon="ep:key"
title="重置密码"
v-hasPermi="['system:user:update-password']"
@click="handleResetPwd(row)"
/>
<!-- 操作分配角色 -->
<XTextButton
preIcon="ep:key"
title="分配角色"
@ -349,6 +356,7 @@ const handleCreate = async () => {
deptId.value = null
postIds.value = []
await nextTick()
// TODO handleUpdate
if (allSchemas.formSchema[0].field !== 'username') {
unref(formRef)?.addSchema(
{
@ -371,7 +379,7 @@ const handleCreate = async () => {
//
const handleUpdate = async (rowId: number) => {
setDialogTile('update')
setDialogTile('update') // TODO @
await nextTick()
unref(formRef)?.delSchema('username')
unref(formRef)?.delSchema('password')
@ -475,6 +483,7 @@ const submitRole = async () => {
roleDialogVisible.value = false
}
// ========== ==========
// TODO @
const importDialogVisible = ref(false)
const uploadDisabled = ref(false)
const importDialogTitle = ref('用户导入')

View File

@ -14,7 +14,7 @@ export const rules = reactive({
mobile: [
{
pattern:
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/,
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/, // TODO @星语:前端只校验长度,格式交给后端;因为号码格式不断在变的
trigger: 'blur',
message: '请输入正确的手机号码'
}
@ -24,6 +24,7 @@ export const rules = reactive({
const crudSchemas = reactive<VxeCrudSchema>({
primaryKey: 'id',
primaryType: 'seq',
primaryTitle: '用户编号',
action: true,
actionWidth: '400px',
columns: [
@ -56,12 +57,12 @@ const crudSchemas = reactive<VxeCrudSchema>({
},
{
title: '部门',
field: 'deptId',
field: 'deptId', // TODO 星语:详情的部门没展示
isTable: false
},
{
title: '岗位',
field: 'postIds',
field: 'postIds', // TODO 星语:岗位为空的时候,要不要不展示
isTable: false
},
{
@ -74,7 +75,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
{
title: '最后登录时间',
field: 'loginDate',
formatter: 'formatDate',
formatter: 'formatDate', // TODO 星语:未登录的时候,不要展示 Invalid Date
isForm: false
},
{