docs: 完善项目说明和协作规则
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user