From 1d5e62b7f68312760b6cd1391628c7379fee07a2 Mon Sep 17 00:00:00 2001 From: wuzhen <52326163@qq.com> Date: Sun, 17 Aug 2025 14:32:21 +0800 Subject: [PATCH] wuzhen update --- mobile/src/api/visit.js | 148 +++++ mobile/src/pages/visit/add.vue | 891 ++++++++++++++++++++++++++++++ mobile/src/pages/visit/detail.vue | 424 ++++++++++++++ mobile/src/pages/visit/edit.vue | 622 +++++++++++++++++++++ mobile/src/pages/visit/index.vue | 590 ++++++++++++++++++++ 5 files changed, 2675 insertions(+) create mode 100644 mobile/src/api/visit.js create mode 100644 mobile/src/pages/visit/add.vue create mode 100644 mobile/src/pages/visit/detail.vue create mode 100644 mobile/src/pages/visit/edit.vue create mode 100644 mobile/src/pages/visit/index.vue diff --git a/mobile/src/api/visit.js b/mobile/src/api/visit.js new file mode 100644 index 00000000..6ef6c27f --- /dev/null +++ b/mobile/src/api/visit.js @@ -0,0 +1,148 @@ +/** + * 班主任走访管理API接口 + * 提供走访记录增删改查、学生查询等功能 + */ + +import { request } from '@/common/request.js'; + +/** + * 查询走访记录列表 + * @param {Object} query 查询参数 + * @returns Promise + */ +export const listVisit = (query) => { + return request({ + url: '/zsjy/internshipVisit/list', + method: 'GET', + params: query + }); +}; + +/** + * 获取走访记录详情 + * @param {string|number} id 走访记录ID + * @returns Promise + */ +export const getVisit = (id) => { + return request({ + url: `/zsjy/internshipVisit/${id}`, + method: 'GET' + }); +}; + +/** + * 新增走访记录 + * @param {Object} data 走访记录数据 + * @returns Promise + */ +export const addVisit = (data) => { + return request({ + url: '/zsjy/internshipVisit', + method: 'POST', + data + }); +}; + +/** + * 修改走访记录 + * @param {Object} data 走访记录数据 + * @returns Promise + */ +export const updateVisit = (data) => { + return request({ + url: '/zsjy/internshipVisit', + method: 'PUT', + data + }); +}; + +/** + * 删除走访记录 + * @param {string|number|Array} ids 走访记录ID(支持批量删除) + * @returns Promise + */ +export const delVisit = (ids) => { + return request({ + url: `/zsjy/internshipVisit/${ids}`, + method: 'DELETE' + }); +}; + +/** + * 导出走访记录 + * @param {Object} query 查询参数 + * @returns Promise + */ +export const exportVisit = (query) => { + return request({ + url: '/zsjy/internshipVisit/export', + method: 'POST', + data: query + }); +}; + +/** + * 获取班主任管理的学生实习信息列表(用于学生选择) + * @param {Object} params 查询参数,包含classTeacherId + * @returns Promise + */ +export const getStudentInternshipList = (params) => { + return request({ + url: '/zsjy/internship/list', + method: 'GET', + params + }); +}; + +/** + * 根据关键字搜索学生 + * @param {string} keyword 搜索关键字(学生姓名或学号) + * @param {string|number} classTeacherId 班主任ID + * @returns Promise + */ +export const searchStudents = (keyword, classTeacherId) => { + const params = { + classTeacherId, + pageNum: 1, + pageSize: 50 // 搜索结果限制50条 + }; + + // 判断关键词类型,优化搜索参数 + if (keyword && keyword.trim()) { + // 如果是纯数字,优先按学号搜索 + if (/^\d+$/.test(keyword.trim())) { + params.studentNo = keyword.trim(); + } else { + // 否则按姓名搜索 + params.studentName = keyword.trim(); + } + } + + return request({ + url: '/zsjy/internship/list', + method: 'GET', + params + }); +}; + +/** + * 获取走访状态字典数据 + * @returns Promise + */ +export const getVisitStatusDict = () => { + return request({ + url: '/system/dict/data/type/zsjy_visit_status', + method: 'GET' + }); +}; + +/** + * 获取走访方式字典数据 + * @returns Promise + */ +export const getVisitTypeDict = () => { + return request({ + url: '/system/dict/data/type/zsjy_visit_type', + method: 'GET' + }); +}; \ No newline at end of file diff --git a/mobile/src/pages/visit/add.vue b/mobile/src/pages/visit/add.vue new file mode 100644 index 00000000..c113514c --- /dev/null +++ b/mobile/src/pages/visit/add.vue @@ -0,0 +1,891 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/pages/visit/detail.vue b/mobile/src/pages/visit/detail.vue new file mode 100644 index 00000000..028d923e --- /dev/null +++ b/mobile/src/pages/visit/detail.vue @@ -0,0 +1,424 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/pages/visit/edit.vue b/mobile/src/pages/visit/edit.vue new file mode 100644 index 00000000..b3b7ec36 --- /dev/null +++ b/mobile/src/pages/visit/edit.vue @@ -0,0 +1,622 @@ + + + + + \ No newline at end of file diff --git a/mobile/src/pages/visit/index.vue b/mobile/src/pages/visit/index.vue new file mode 100644 index 00000000..ab96553e --- /dev/null +++ b/mobile/src/pages/visit/index.vue @@ -0,0 +1,590 @@ + + + + +