hejianhao
2026-01-22 715ad908d4f881097df803aa4a871fd4480b276f
fix(api/header): 修复项目选择接口及关联逻辑

- 将项目选择接口URL从'/admin/entity/projects'改为'/admin/entity/projectsSelect'
- 查询参数从'title'改为'name'以匹配后端接口
- 项目列表改用'id'作为唯一标识替代'code'
- 为搜索框添加allowClear属性并调整样式
2个文件已修改
18 ■■■■■ 已修改文件
estate-frontend-v2024/src/api/business.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/views/layout/Header/index.jsx 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
estate-frontend-v2024/src/api/business.js
@@ -128,7 +128,7 @@
export function getProjectSelectOptions(params) {
  return request({
    url: '/admin/entity/projects',
    url: '/admin/entity/projectsSelect',
    method: 'get',
    params
  })
estate-frontend-v2024/src/views/layout/Header/index.jsx
@@ -109,7 +109,7 @@
        }
      });
    } else {
      getProjectSelectOptions({ title }).then(res => {
      getProjectSelectOptions({ name: title }).then(res => {
        if (res.data.status === 'OK') {
          setProjectList(res.data.data || []);
        }
@@ -138,7 +138,7 @@
        message.warning("请选择项目");
        return;
      }
      const selectedProject = projectList.find(item => item.code === selectedProjectId);
      const selectedProject = projectList.find(item => item.id === selectedProjectId);
      const projectName = selectedProject ? selectedProject.name : "";
      window.open(`${SCREEN_URL}?type=${tabsType}&token=${token}&projectId=${selectedProjectId}&projectName=${projectName}`, "_blank");
    }
@@ -199,7 +199,8 @@
                placeholder="请输入委托方名称"
                enterButton="搜索"
                onSearch={handleSearch}
                style={{position:'sticky',top:0,backgroundColor:'#fff',zIndex:100}}
                allowClear
                style={{ position: 'sticky', top: 0, backgroundColor: '#fff', zIndex: 100 }}
              />
              {clientList.map((item) => (
                <div
@@ -219,16 +220,17 @@
                placeholder="请输入项目名称"
                enterButton="搜索"
                onSearch={handleSearch}
                style={{position:'sticky',top:0,backgroundColor:'#fff',zIndex:100}}
                allowClear
                style={{ position: 'sticky', top: 0, backgroundColor: '#fff', zIndex: 100 }}
              />
              {projectList.map((item) => (
                <div
                  key={item.code}
                  key={item.id}
                  className="item"
                  onClick={() => setSelectedProjectId(item.code)}
                  onClick={() => setSelectedProjectId(item.id)}
                >
                  <div className="name">{item.name}</div>
                  <Radio checked={selectedProjectId === item.code} />
                  <Radio checked={selectedProjectId === item.id} />
                </div>
              ))}
            </div>