docs: 完善项目说明和协作规则

This commit is contained in:
湛兮
2026-05-26 11:30:03 +08:00
parent 88d4578600
commit 2fcfece32b
12 changed files with 270 additions and 30 deletions
+7
View File
@@ -34,10 +34,12 @@ defineOptions({
name: "EmployeeManagement"
});
/** 表单状态复用后端员工 payload,id 用来切换创建/更新接口。 */
type EmployeeFormState = EmployeePayload & {
id?: number;
};
/** 员工手机号按中国大陆手机号做前端第一层校验,最终唯一性仍由后端保证。 */
const phonePattern = /^1[3-9]\d{9}$/;
const tableLoading = ref(false);
const catalogLoading = ref(false);
@@ -56,6 +58,7 @@ const query = reactive({
pageSize: 20
});
/** 员工列表由后端分页,这里只保存当前查询返回的分页摘要。 */
const pagination = reactive({
total: 0,
totalPages: 0
@@ -130,6 +133,7 @@ function resetFormState() {
formRef.value?.clearValidate();
}
/** 清理提交数据,避免把仅包含空格的备注写入后端。 */
function buildPayload(): EmployeePayload {
return {
storeId: form.storeId,
@@ -141,6 +145,7 @@ function buildPayload(): EmployeePayload {
};
}
/** 门店和角色是员工表单的基础字典,打开弹窗前必须先加载。 */
async function fetchCatalog() {
catalogLoading.value = true;
try {
@@ -157,6 +162,7 @@ async function fetchCatalog() {
}
}
/** 员工列表筛选、分页都交给后端,前端只传递当前查询条件。 */
async function fetchEmployees() {
tableLoading.value = true;
try {
@@ -207,6 +213,7 @@ function openCreateDialog() {
dialogVisible.value = true;
}
/** 编辑前重新拉详情,确保角色绑定不是来自列表摘要的过期数据。 */
async function openEditDialog(row: Employee) {
try {
const result = await getEmployee(row.id);