diff --git a/src/api/base/server.ts b/src/api/base/server.ts
index 31fa1ac..083ba3a 100644
--- a/src/api/base/server.ts
+++ b/src/api/base/server.ts
@@ -108,3 +108,19 @@ export const xsQjSpApi = async (params: any) => {
return await post("/api/xsQj/sp", params);
};
+// 获取所有班级
+export const bjFindAllApi = async (params: any) => {
+ return await get("/api/bj/findAll", params);
+};
+
+// 获取学生列表
+export const xsFindList = async (params: any) => {
+ return await get("/api/xs/findPage", params);
+};
+
+// 获取学生家长列表
+export const xsJzListByXsIdApi = async (params: any) => {
+ return await get("/api/jz/getListByXsId", params);
+};
+
+
diff --git a/src/pages/components/NjBjPicker/index.vue b/src/pages/components/NjBjPicker/index.vue
new file mode 100644
index 0000000..0075e33
--- /dev/null
+++ b/src/pages/components/NjBjPicker/index.vue
@@ -0,0 +1,93 @@
+
+
+
+ {{ curNjBjLabel || "选择班级" }}
+
+
+
+
+
+
+
+
diff --git a/src/pages/view/homeSchool/parentAddressBook/index.vue b/src/pages/view/homeSchool/parentAddressBook/index.vue
index 016798c..d663c4b 100644
--- a/src/pages/view/homeSchool/parentAddressBook/index.vue
+++ b/src/pages/view/homeSchool/parentAddressBook/index.vue
@@ -3,102 +3,127 @@
-
-
- {{ selectedCombinedClassName || "选择班级" }}
-
-
-
- 共 {{ studentList.length }} 人
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 共 {{ studentList.length }} 人
+
- 加载中...
-
-
-
-
-
-
- {{ student.name }}
- {{ student.role }}
-
-
-
- {{ student.gender }}
-
-
-
-
-
-
- 暂无学生数据
+ 加载中...
+
+
+
+
+
+
+ {{ xs.name }}
+ {{ xs.role }}
+
+
+
+ {{ xs.gender }}
+
+
+
+
+
+
+ 暂无学生数据
@@ -188,34 +213,65 @@ onMounted(async () => {
justify-content: space-between; // 改为 space-between 以容纳人数
align-items: center;
padding: 10px 15px;
- background-color: #fff;
+ background-color: #fff;
border-bottom: 1px solid #eee;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
- .picker-item {
- display: flex;
- align-items: center;
- padding: 5px 15px;
- background-color: #f7f7f7;
- border: 1px solid #eee;
- border-radius: 16px;
- font-size: 14px;
- color: #333;
- min-width: 160px;
- justify-content: space-between;
-
- text {
- margin-right: 8px;
- }
- }
-
.student-count {
- font-size: 14px;
- color: #666;
- white-space: nowrap; // 防止换行
+ font-size: 14px;
+ color: #666;
+ white-space: nowrap; // 防止换行
}
+
+ .bj-picker {
+ flex: 1 0 1px;
+ max-width: 45%;
+ }
+
+ .search-section {
+ flex: 1 0 1px;
+ }
+
}
+.search-section {
+ padding: 0rpx 15rpx;
+ background-color: #ffffff;
+ position: sticky;
+ top: 0;
+ z-index: 10;
+
+ .search-box {
+ display: flex;
+ align-items: center;
+ background-color: #f5f5f5;
+ border-radius: 50rpx;
+ padding: 0 20rpx;
+ height: 70rpx;
+
+ uni-icons {
+ margin-right: 15rpx;
+ }
+
+ .search-input {
+ flex: 1;
+ height: 100%;
+ border: none;
+ background: transparent;
+ font-size: 28rpx;
+ color: #333;
+
+ &::placeholder {
+ color: #999;
+ }
+ }
+
+ .search-clear {
+ margin-left: 15rpx;
+ cursor: pointer;
+ }
+ }
+}
.student-list-container {
flex: 1;
@@ -226,10 +282,10 @@ onMounted(async () => {
.loading-indicator,
.empty-state {
- text-align: center;
- color: #999;
- padding: 30px 15px;
- font-size: 14px;
+ text-align: center;
+ color: #999;
+ padding: 30px 15px;
+ font-size: 14px;
}
.student-item {
@@ -298,9 +354,10 @@ onMounted(async () => {
uni-icons {
margin-right: 3px;
}
- text {
- line-height: 1; // 确保文字和图标对齐
- }
+
+ text {
+ line-height: 1; // 确保文字和图标对齐
+ }
}
}
@@ -319,9 +376,10 @@ onMounted(async () => {
&::after {
border: none;
}
+
// 可选:按下效果
&:active {
- background-color: #f0f0f0;
+ background-color: #f0f0f0;
}
}
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/pages/view/hr/teacherProfile/position.vue b/src/pages/view/hr/teacherProfile/position.vue
index 2007726..549a093 100644
--- a/src/pages/view/hr/teacherProfile/position.vue
+++ b/src/pages/view/hr/teacherProfile/position.vue
@@ -28,7 +28,7 @@ import { useForm } from "@/components/BasicForm/hooks/useForm";
import { dicApi } from "@/api/system/dic";
import { useDataStore } from "@/store/modules/data";
import {
- findAllNjBjTree,
+ findAllNjBjTreeApi,
findAllXxXqNjTree,
kmFindAllApi,
} from "@/api/base/server";
@@ -82,7 +82,7 @@ const [register, { getValue, setValue }] = useForm({
// label: "主任班级",
// component: "BasicPicker",
// componentProps: {
- // api: findAllNjBjTree,
+ // api: findAllNjBjTreeApi,
// rangeKey: "title",
// savaKey: "key",
// },
@@ -102,7 +102,7 @@ const [register, { getValue, setValue }] = useForm({
// label: "兼任班级",
// component: "BasicPicker",
// componentProps: {
- // api: findAllNjBjTree,
+ // api: findAllNjBjTreeApi,
// rangeKey: "title",
// savaKey: "key",
// },
@@ -122,7 +122,7 @@ const [register, { getValue, setValue }] = useForm({
// label: "班主任班级",
// component: "BasicTree",
// componentProps: {
- // api: findAllNjBjTree,
+ // api: findAllNjBjTreeApi,
// rangeKey: "title",
// savaKey: "key",
// },
diff --git a/src/pages/view/notice/publish.vue b/src/pages/view/notice/publish.vue
index c385a54..947acfb 100644
--- a/src/pages/view/notice/publish.vue
+++ b/src/pages/view/notice/publish.vue
@@ -223,7 +223,7 @@ import CustomUpload from "/src/components/BasicUpload/CustomUpload.vue";
import BasicTree from "@/components/BasicTree/Tree.vue";
import { attachmentUpload } from "@/api/system/upload";
import { imagUrl } from "@/utils";
-import { findAllNjBjTree, mobilejlstudentListApi } from "@/api/base/server";
+import { findAllNjBjTreeApi, mobilejlstudentListApi } from "@/api/base/server";
interface Attachment {
name: string;
@@ -286,7 +286,7 @@ const displayNames = computed(() => {
// 加载树形数据
const loadTreeData = async () => {
try {
- const res = await findAllNjBjTree();
+ const res = await findAllNjBjTreeApi();
if (res.resultCode === 1 && res.result) {
// 转换数据格式以适配 BasicTree 组件
treeData.value = res.result.map((item: any) => ({