Browse Source

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

YunaiV 2 năm trước cách đây
mục cha
commit
ae8795df8e

+ 1 - 1
yudao-ui-admin-vue3/src/views/system/dept/dept.data.ts

@@ -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: '请输入正确的手机号码'
     }

+ 1 - 1
yudao-ui-admin-vue3/src/views/system/dept/index.vue

@@ -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) {

+ 2 - 1
yudao-ui-admin-vue3/src/views/system/tenant/tenant.data.ts

@@ -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
     }
   ]

+ 2 - 1
yudao-ui-admin-vue3/src/views/system/tenantPackage/tenantPackage.data.ts

@@ -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
     },
     {

+ 11 - 2
yudao-ui-admin-vue3/src/views/system/user/index.vue

@@ -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('用户导入')

+ 5 - 4
yudao-ui-admin-vue3/src/views/system/user/user.data.ts

@@ -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
     },
     {