瀏覽代碼

feat(userFirm): 添加所属企业筛选和用户企业关联校验

- 在用户企业管理页面添加所属企业下拉筛选组件,支持搜索和清除
- 调用接口异步加载企业列表填充所属企业筛选项
- 查询参数中新增企业ID支持接口筛选
- 用户企业关联保存时校验手机号对应用户是否存在,若不存在抛出异常
- 检查用户是否已关联企业,避免重复添加企业关系
- 设置用户ID后保存用户企业关联信息
SheepHy 1 天之前
父節點
當前提交
7410575a8e
共有 2 個文件被更改,包括 27 次插入0 次删除
  1. 2 0
      src/api/toBManage/user-firm-api.ts
  2. 25 0
      src/views/toBManage/user-firm/index.vue

+ 2 - 0
src/api/toBManage/user-firm-api.ts

@@ -80,6 +80,8 @@ export default UserFirmAPI;
 export interface UserFirmPageQuery extends PageQuery {
   /** 手机号 */
   phone?: string;
+  /** 企业ID */
+  firmId?: number;
   /** 身份 1 管理员 2普通员工 */
   type?: number;
   /** 排序字段 */

+ 25 - 0
src/views/toBManage/user-firm/index.vue

@@ -125,6 +125,31 @@ const searchConfig: ISearchConfig = reactive({
         style: { width: "200px" },
       },
     },
+    {
+      type: "select",
+      label: "所属企业",
+      prop: "firmId",
+      attrs: {
+        placeholder: "请选择企业",
+        clearable: true,
+        filterable: true,
+        style: { width: "200px" },
+      },
+      options: [],
+      async initFn(item) {
+        try {
+          const response = await UserFirmAPI.getFirmList();
+          if (Array.isArray(response)) {
+            item.options = response.map((firm: any) => ({
+              label: firm.name,
+              value: firm.id,
+            }));
+          }
+        } catch (error) {
+          console.error("Failed to fetch firm list:", error);
+        }
+      },
+    },
     {
       type: "select",
       label: "身份", // 1 管理员 2普通员工