From 7a89a0a82217dbd3e325d11fbb004b6f86892200 Mon Sep 17 00:00:00 2001 From: "YOHO\\20373" <2037305722@qq.com> Date: Wed, 23 Apr 2025 17:12:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E8=AF=95?= =?UTF-8?q?=E5=8D=B7=E4=BB=BB=E5=8A=A1=E5=89=8D=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/session/index.js | 102 +++++ src/api/system/paper/index.ts | 94 +++++ src/api/system/param/index.js | 18 + src/api/system/person/index.js | 92 +++++ src/api/system/scheme/index.ts | 105 ++++++ src/api/system/session/index.ts | 89 +++++ src/api/system/stu/index.js | 130 +++++++ src/api/system/task/index.ts | 103 +++++ src/utils/dict.ts | 5 + src/utils/use-form-data.js | 55 +++ src/views/infra/file/FileForm.vue | 2 +- .../steps/step1/components/step-edit.vue | 352 +++++++++++++++++ .../steps/step1/components/step-search.vue | 82 ++++ .../components/steps/step1/index.vue | 204 ++++++++++ .../steps/step2/components/step-add.vue | 106 ++++++ .../steps/step2/components/step-edit.vue | 181 +++++++++ .../steps/step2/components/step-look.vue | 183 +++++++++ .../steps/step2/components/step-search.vue | 72 ++++ .../steps/step2/components/step-set.vue | 336 +++++++++++++++++ .../components/steps/step2/index copy.vue | 211 +++++++++++ .../components/steps/step2/index.vue | 332 ++++++++++++++++ .../components/steps/step3/index.vue | 181 +++++++++ .../steps/step4/components/step-edit.vue | 197 ++++++++++ .../steps/step4/components/step-search.vue | 64 ++++ .../steps/step4/components/step-set.vue | 104 +++++ .../components/steps/step4/index.vue | 227 +++++++++++ .../steps/step5/components/person-edit.vue | 260 +++++++++++++ .../components/steps/step5/index.vue | 224 +++++++++++ .../task/collegeeaxm/components/task-add.vue | 216 +++++++++++ .../task/collegeeaxm/components/task-edit.vue | 131 +++++++ .../collegeeaxm/components/task-search.vue | 88 +++++ .../task/collegeeaxm/components/task-temp.vue | 151 ++++++++ src/views/system/task/collegeeaxm/index.vue | 274 ++++++++++++++ .../steps/step1/components/step-edit.vue | 352 +++++++++++++++++ .../steps/step1/components/step-search.vue | 82 ++++ .../exam/components/steps/step1/index.vue | 204 ++++++++++ .../steps/step2/components/step-add.vue | 106 ++++++ .../steps/step2/components/step-edit.vue | 181 +++++++++ .../steps/step2/components/step-look.vue | 183 +++++++++ .../steps/step2/components/step-search.vue | 72 ++++ .../steps/step2/components/step-set.vue | 336 +++++++++++++++++ .../components/steps/step2/index copy.vue | 211 +++++++++++ .../exam/components/steps/step2/index.vue | 332 ++++++++++++++++ .../exam/components/steps/step3/index.vue | 181 +++++++++ .../steps/step4/components/step-edit.vue | 197 ++++++++++ .../steps/step4/components/step-search.vue | 64 ++++ .../steps/step4/components/step-set.vue | 104 +++++ .../exam/components/steps/step4/index.vue | 227 +++++++++++ .../steps/step5/components/person-edit.vue | 260 +++++++++++++ .../exam/components/steps/step5/index.vue | 224 +++++++++++ .../system/task/exam/components/task-add.vue | 216 +++++++++++ .../system/task/exam/components/task-edit.vue | 131 +++++++ .../task/exam/components/task-search.vue | 88 +++++ .../system/task/exam/components/task-temp.vue | 151 ++++++++ src/views/system/task/exam/index.vue | 274 ++++++++++++++ .../steps/step1/components/step-edit.vue | 352 +++++++++++++++++ .../steps/step1/components/step-search.vue | 82 ++++ .../trans/components/steps/step1/index.vue | 204 ++++++++++ .../steps/step2/components/step-add.vue | 106 ++++++ .../steps/step2/components/step-edit.vue | 181 +++++++++ .../steps/step2/components/step-look.vue | 183 +++++++++ .../steps/step2/components/step-search.vue | 72 ++++ .../steps/step2/components/step-set.vue | 336 +++++++++++++++++ .../trans/components/steps/step2/index.vue | 357 ++++++++++++++++++ .../trans/components/steps/step3/index.vue | 181 +++++++++ .../steps/step4/components/step-edit.vue | 197 ++++++++++ .../steps/step4/components/step-search.vue | 64 ++++ .../steps/step4/components/step-set.vue | 104 +++++ .../trans/components/steps/step4/index.vue | 251 ++++++++++++ .../steps/step5/components/person-edit.vue | 260 +++++++++++++ .../trans/components/steps/step5/index.vue | 224 +++++++++++ .../system/task/trans/components/task-add.vue | 216 +++++++++++ .../task/trans/components/task-edit.vue | 131 +++++++ .../task/trans/components/task-search.vue | 88 +++++ .../task/trans/components/task-temp.vue | 151 ++++++++ src/views/system/task/trans/index.vue | 301 +++++++++++++++ src/views/system/tenant/TenantForm.vue | 1 + 77 files changed, 13188 insertions(+), 1 deletion(-) create mode 100644 src/api/session/index.js create mode 100644 src/api/system/paper/index.ts create mode 100644 src/api/system/param/index.js create mode 100644 src/api/system/person/index.js create mode 100644 src/api/system/scheme/index.ts create mode 100644 src/api/system/session/index.ts create mode 100644 src/api/system/stu/index.js create mode 100644 src/api/system/task/index.ts create mode 100644 src/utils/use-form-data.js create mode 100644 src/views/system/task/collegeeaxm/components/steps/step1/components/step-edit.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step1/components/step-search.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step1/index.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/components/step-add.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/components/step-edit.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/components/step-look.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/components/step-search.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/components/step-set.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/index copy.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step2/index.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step3/index.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step4/components/step-edit.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step4/components/step-search.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step4/components/step-set.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step4/index.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step5/components/person-edit.vue create mode 100644 src/views/system/task/collegeeaxm/components/steps/step5/index.vue create mode 100644 src/views/system/task/collegeeaxm/components/task-add.vue create mode 100644 src/views/system/task/collegeeaxm/components/task-edit.vue create mode 100644 src/views/system/task/collegeeaxm/components/task-search.vue create mode 100644 src/views/system/task/collegeeaxm/components/task-temp.vue create mode 100644 src/views/system/task/collegeeaxm/index.vue create mode 100644 src/views/system/task/exam/components/steps/step1/components/step-edit.vue create mode 100644 src/views/system/task/exam/components/steps/step1/components/step-search.vue create mode 100644 src/views/system/task/exam/components/steps/step1/index.vue create mode 100644 src/views/system/task/exam/components/steps/step2/components/step-add.vue create mode 100644 src/views/system/task/exam/components/steps/step2/components/step-edit.vue create mode 100644 src/views/system/task/exam/components/steps/step2/components/step-look.vue create mode 100644 src/views/system/task/exam/components/steps/step2/components/step-search.vue create mode 100644 src/views/system/task/exam/components/steps/step2/components/step-set.vue create mode 100644 src/views/system/task/exam/components/steps/step2/index copy.vue create mode 100644 src/views/system/task/exam/components/steps/step2/index.vue create mode 100644 src/views/system/task/exam/components/steps/step3/index.vue create mode 100644 src/views/system/task/exam/components/steps/step4/components/step-edit.vue create mode 100644 src/views/system/task/exam/components/steps/step4/components/step-search.vue create mode 100644 src/views/system/task/exam/components/steps/step4/components/step-set.vue create mode 100644 src/views/system/task/exam/components/steps/step4/index.vue create mode 100644 src/views/system/task/exam/components/steps/step5/components/person-edit.vue create mode 100644 src/views/system/task/exam/components/steps/step5/index.vue create mode 100644 src/views/system/task/exam/components/task-add.vue create mode 100644 src/views/system/task/exam/components/task-edit.vue create mode 100644 src/views/system/task/exam/components/task-search.vue create mode 100644 src/views/system/task/exam/components/task-temp.vue create mode 100644 src/views/system/task/exam/index.vue create mode 100644 src/views/system/task/trans/components/steps/step1/components/step-edit.vue create mode 100644 src/views/system/task/trans/components/steps/step1/components/step-search.vue create mode 100644 src/views/system/task/trans/components/steps/step1/index.vue create mode 100644 src/views/system/task/trans/components/steps/step2/components/step-add.vue create mode 100644 src/views/system/task/trans/components/steps/step2/components/step-edit.vue create mode 100644 src/views/system/task/trans/components/steps/step2/components/step-look.vue create mode 100644 src/views/system/task/trans/components/steps/step2/components/step-search.vue create mode 100644 src/views/system/task/trans/components/steps/step2/components/step-set.vue create mode 100644 src/views/system/task/trans/components/steps/step2/index.vue create mode 100644 src/views/system/task/trans/components/steps/step3/index.vue create mode 100644 src/views/system/task/trans/components/steps/step4/components/step-edit.vue create mode 100644 src/views/system/task/trans/components/steps/step4/components/step-search.vue create mode 100644 src/views/system/task/trans/components/steps/step4/components/step-set.vue create mode 100644 src/views/system/task/trans/components/steps/step4/index.vue create mode 100644 src/views/system/task/trans/components/steps/step5/components/person-edit.vue create mode 100644 src/views/system/task/trans/components/steps/step5/index.vue create mode 100644 src/views/system/task/trans/components/task-add.vue create mode 100644 src/views/system/task/trans/components/task-edit.vue create mode 100644 src/views/system/task/trans/components/task-search.vue create mode 100644 src/views/system/task/trans/components/task-temp.vue create mode 100644 src/views/system/task/trans/index.vue diff --git a/src/api/session/index.js b/src/api/session/index.js new file mode 100644 index 0000000..67f30f3 --- /dev/null +++ b/src/api/session/index.js @@ -0,0 +1,102 @@ +import request from '@/utils/request'; + +/** + * 分页查询试卷场次 + */ +export async function pageSessions(params) { + const res = await request.get('/exam/session/list', { params }); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 查询全部试卷场次 + */ +export async function listSessions(params) { + const res = await request.get('/exam/session/list', { params }); + if (res.data.code === 200) { + return res.data.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 根据id查询试卷场次 + */ +export async function getSession(id) { + const res = await request.get('/exam/session/' + id); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 添加试卷场次 + */ +export async function addSession(data) { + const res = await request.post('/exam/session', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 修改试卷场次 + */ +export async function updateSession(data) { + const res = await request.put('/exam/session', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 删除试卷场次 + */ +export async function removeSession(id) { + const res = await request.delete('/exam/session/' + id); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 批量删除试卷场次 + */ +export async function removeSessions(ids) { + const res = await request.delete('/exam/session/' + ids.join()); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} +export async function setSessions(params) { + const res = await request.post('/exam/session/set', params); // 改为 POST + JSON + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + + + + +/** + * 导出试卷场次 + */ +export async function exportSessions(params) { + // const res = await request({ + // url: '/exam/session/export', + // method: 'POST', + // data: toFormData(params), + // responseType: 'blob' + // }); + // await checkDownloadRes(res); + // download(res.data, `session_${Date.now()}.xlsx`); +} diff --git a/src/api/system/paper/index.ts b/src/api/system/paper/index.ts new file mode 100644 index 0000000..3e635d7 --- /dev/null +++ b/src/api/system/paper/index.ts @@ -0,0 +1,94 @@ +import request from '@/config/axios' + + +/** + * 分页查询试卷 + */ +export async function pagePapers(params) { + return await request.get({ url: '/exam/paper/list' , params }) +} + +/** + * 查询全部试卷 + */ +export async function listPapers(params) { + return await request.get({ url: '/exam/paper/list' , params }) +} + +/** + * 根据id查询试卷 + */ +export async function getPaper(id) { + + return await request.get({ url: '/exam/paper' + id }) +} + +/** + * 添加试卷 + */ +export async function addPaper(params) { + return await request.get({ url: '/exam/paper/add' , params }) +} + +/** + * 修改试卷 + */ +export async function updatePaper(data) { + return await request.post({ url: '/exam/paper/update' , data }) + +} + +/** + * 删除试卷 + */ +export async function removePaper(id) { + + return await request.delete({ url: '/exam/paper/' + id }) + +} + +/** + * 批量删除试卷 + */ +export async function removePapers(ids) { + return await request.delete({ url: '/exam/paper/' + ids.join() }) +} + +/** + * 导出试卷 + */ +export async function exportPapers(params) { + // const res = await request({ + // url: '/exam/paper/export', + // method: 'POST', + // data: toFormData(params), + // responseType: 'blob' + // }); + // await checkDownloadRes(res); + // download(res.data, `paper_${Date.now()}.xlsx`); +} + +export async function getPaperDetailByTaskId(paperId) { + + return await request.get({ url: '/exam/qu/getPaper' , params:{paperId} }) +} + + +export async function getPaperList(taskId) { + + return await request.get({ url: '/exam/paper/getPaperByTaskId' , params:{taskId} }) +} + +export async function getPaperListByType(data) { + + return await request.post({ url: '/exam/paper/getPaperByTaskIdByType' , data }) + +} + +export async function updatePaperStatus(paperId: string, status: number) { + return await request.put({ + url: '/exam/paper/updatePaperStatus', + data: { paperId, status } // 使用data + }) +} + diff --git a/src/api/system/param/index.js b/src/api/system/param/index.js new file mode 100644 index 0000000..e35950a --- /dev/null +++ b/src/api/system/param/index.js @@ -0,0 +1,18 @@ +import request from '@/config/axios' +/** + * 根据id查询通用参数 + */ + +export async function getParam(params) { + return await request.get({ url: '/exam/param/getInfo' , params }) +} + + +/** + * 修改通用参数 + */ + +export async function updateParam(data) { + return await request.put({ url: '/exam/param' , data }) + +} \ No newline at end of file diff --git a/src/api/system/person/index.js b/src/api/system/person/index.js new file mode 100644 index 0000000..f339e4e --- /dev/null +++ b/src/api/system/person/index.js @@ -0,0 +1,92 @@ +import request from '@/config/axios' + +/** + * 分页查询试卷人员分配 + */ +export async function pagePersons(params) { + const res = await request.get('/exam/person/list', { params }); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 查询全部试卷人员分配 + */ +export async function listPersons(params) { + const res = await request.get('/exam/person/list', { params }); + if (res.data.code === 200) { + return res.data.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 根据id查询试卷人员分配 + */ +export async function getPerson(id) { + const res = await request.get('/exam/person/' + id); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 添加试卷人员分配 + */ +export async function addPerson(data) { + const res = await request.post('/exam/person', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 修改试卷人员分配 + */ +export async function updatePerson(data) { + const res = await request.put('/exam/person', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 删除试卷人员分配 + */ +export async function removePerson(id) { + const res = await request.delete('/exam/person/' + id); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 批量删除试卷人员分配 + */ +export async function removePersons(ids) { + const res = await request.delete('/exam/person/' + ids.join()); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 导出试卷人员分配 + */ +export async function exportPersons(params) { + // const res = await request({ + // url: '/exam/person/export', + // method: 'POST', + // data: toFormData(params), + // responseType: 'blob' + // }); + // await checkDownloadRes(res); + // download(res.data, `person_${Date.now()}.xlsx`); +} diff --git a/src/api/system/scheme/index.ts b/src/api/system/scheme/index.ts new file mode 100644 index 0000000..4296307 --- /dev/null +++ b/src/api/system/scheme/index.ts @@ -0,0 +1,105 @@ +import request from '@/config/axios' + +/** + * 分页查询试卷方案 + */ +export async function pageSchemes(params) { + return await request.get({ url: '/exam/scheme/list' ,params}) + +} + +/** + * 查询全部试卷方案 + */ +export async function listSchemes(params) { + return await request.get({ url: '/exam/scheme/list' ,params}) +} + +/** + * 根据id查询试卷方案 + */ +export async function getScheme(id) { + + return await request.get({ url: '/exam/scheme' + id }) + +} + +/** + * 添加试卷方案 + */ +export async function addScheme(data) { + return await request.post({ url: '/exam/scheme' , data }) + +} + +/** + * 修改试卷方案 + */ +export async function updateScheme(data) { + + + return await request.put({ url: '/exam/scheme' , data }) + + +} + +/** + * 删除试卷方案 + */ +export async function removeScheme(id: number) { + return await request.delete({ url: '/exam/scheme/' + id }) + +} + +/** + * 批量删除试卷方案 + */ +export async function removeSchemes(ids) { + + return await request.delete({ url: '/exam/scheme' + ids.join() }) + + + + +} + +/** + * 导出试卷方案 + */ +export async function exportSchemes(params) { + // const res = await request({ + // url: '/exam/scheme/export', + // method: 'POST', + // data: toFormData(params), + // responseType: 'blob' + // }); + // await checkDownloadRes(res); + // download(res.data, `scheme_${Date.now()}.xlsx`); +} + +export async function getCourseList() { + return await request.get({ url: '/exam/task/getCourse' }) + +} +export async function getKeyList() { + + return await request.get({ url: '/exam/task/getKeywords' }) + +} + +/** + * 根据专业名称查找知识点 + */ +export async function getPoints(name) { + + return await request.get({ url: '/exam/task/getPoints' ,params:{name} }) + +} + + +//根据知识点题型难度,查找试题数量 +export async function fetchQuestionCount(data) { + + return await request.post({ url: '/exam/task/getQuestionCount' , data }) + +} \ No newline at end of file diff --git a/src/api/system/session/index.ts b/src/api/system/session/index.ts new file mode 100644 index 0000000..98f3b0e --- /dev/null +++ b/src/api/system/session/index.ts @@ -0,0 +1,89 @@ +import request from '@/config/axios' +//import { download, toFormData, checkDownloadRes } from '@/utils/common'; + +/** + * 分页查询试卷场次 + */ +export async function pageSessions(params) { + return await request.get({ url: '/exam/session/list' , params }) +} + +/** + * 查询全部试卷场次 + */ +export async function listSessions(params) { + return await request.get({ url: '/exam/session/list' , params }) + +} + +/** + * 根据id查询试卷场次 + */ +export async function getSession(id) { + + return await request.get({ url: '/exam/session/' + id }) + +} + +/** + * 添加试卷场次 + */ +export async function addSession(data) { + return await request.post({ url: '/exam/session' , data }) +} + +/** + * 修改试卷场次 + */ +export async function updateSession(data) { + + return await request.put({ url: '/exam/session' , data }) +} + +/** + * 删除试卷场次 + */ +export async function removeSession(id) { + return await request.delete({ url: '/exam/session/' + id }) +} + +/** + * 批量删除试卷场次 + */ +export async function removeSessions(ids) { + const res = await request.delete('/exam/session/' + ids.join()); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} +export async function setSessions(data) { + return await request.post({ url: '/exam/session/set' , data }) +} + + + + +/** + * 导出试卷场次 + */ + export async function exportSessions(params) { +// const res = await request({ +// url: '/exam/session/export', +// method: 'POST', +// data: toFormData(params), +// responseType: 'blob' +// }); +// await checkDownloadRes(res); +// download(res.data, `session_${Date.now()}.xlsx`); + } + +export async function updateSessionStatus(sessionId: string, status: number) { + return await request.put({ + url: '/exam/session/updateSessionStatus', + data: { sessionId, status } // 使用data + }) +} + + + \ No newline at end of file diff --git a/src/api/system/stu/index.js b/src/api/system/stu/index.js new file mode 100644 index 0000000..c5d326b --- /dev/null +++ b/src/api/system/stu/index.js @@ -0,0 +1,130 @@ +import request from '@/config/axios' + +/** + * 分页查询客户端授权 + */ +export async function pageStus(params) { + const res = await request.get('/system/stu/list', { params }); + if (res.data.code === 200) { + return res.data.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 查询全部客户端授权 + */ +export async function listStus(params) { + const res = await request.get('/system/stu/list', { params }); + if (res.data.code === 200) { + return res.data.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 根据id查询客户端授权 + */ +export async function getStu(id) { + const res = await request.get('/system/stu/' + id); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 添加客户端授权 + */ +export async function addStu(data) { + const res = await request.post('/system/stu', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 修改客户端授权 + */ +export async function updateStu(data) { + const res = await request.put('/system/stu', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 删除客户端授权 + */ +export async function removeStu(id) { + const res = await request.delete('/system/stu/' + id); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 批量删除客户端授权 + */ +export async function removeStus(ids) { + const res = await request.delete('/system/stu/' + ids.join()); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); +} + +/** + * 导出客户端授权 + */ +export async function exportStus(params) { + // const res = await request({ + // url: '/system/stu/export', + // method: 'POST', + // data: toFormData(params), + // responseType: 'blob' + // }); + // await checkDownloadRes(res); + // download(res.data, `stu_${Date.now()}.xlsx`); +} +/** + * 新增学生班级 + */ +export async function addClass(data) { + const res = await request.post('/system/stu/class', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); + } + /** + * 修改学生班级 + */ + export async function setClass(data) { + const res = await request.post('/system/stu/class', data); + if (res.data.code === 200) { + return res.data.msg; + } + return Promise.reject(new Error(res.data.msg)); + } + export async function getTeacherList() { + const res = await request.get('/system/user/getTeacherList'); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); + } +// +export async function getClassListByTeacher(id) { + const res = await request.get('/system/dept/getClassListByTeacher', { + params: { teacherId: id } + }); + if (res.data.code === 200) { + return res.data; + } + return Promise.reject(new Error(res.data.msg)); + } + \ No newline at end of file diff --git a/src/api/system/task/index.ts b/src/api/system/task/index.ts new file mode 100644 index 0000000..207d63f --- /dev/null +++ b/src/api/system/task/index.ts @@ -0,0 +1,103 @@ +import request from '@/config/axios' + +/** + * 分页查询试卷任务 + */ +export async function pageTasks(params) { + return await request.get({ url: '/exam/task/list' , params }) + + +} + +/** + * 查询全部试卷任务 + */ +export async function listTasks(params) { + return await request.get({ url: '/exam/task/list' , params }) +} + +/** + * 根据id查询试卷任务 + */ +export async function getTask(id) { + + return await request.get({ url: '/exam/task' + id }) +} + +/** + * 添加试卷任务 + */ +export async function addTask(data) { + + return await request.post({ url: '/exam/task' , data }) + +} + +/** + * 修改试卷任务 + */ +export async function updateTask(data) { + + return await request.put({ url: '/exam/task' , data }) + +} +/** + * 删除试卷任务 + */ +export async function removeTask(id) { + + + return await request.delete({ url: '/exam/del/task/' + id }) + + +} +/** + * 批量删除试卷任务 + */ +export async function removeTasks(ids) { + + return await request.delete({ url: '/exam/task/' +ids }) + + +} +// 更改状态 +export async function updateTaskStatus(taskId: string, status: number) { + return await request.put({ + url: '/exam/task/updateTaskStatus', + data: { taskId, status } // 使用data + }) +} + + + + +/** + * 导出试卷任务 + */ + export async function exportTasks(params) { +// const res = await request({ +// url: '/exam/task/export', +// method: 'POST', +// data: toFormData(params), +// responseType: 'blob' +// }); +// await checkDownloadRes(res); +// download(res.data, `task_${Date.now()}.xlsx`); + } +export async function getSpecialtyList() { + + + return await request.get({ url: '/exam/task/getSpeciality' }) + +} + + +export async function submitSelection(data) { + + + + return await request.post({ url: '/exam/task/submitSelection' , data }) + + +} + diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 8211499..56ad9ab 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -113,6 +113,11 @@ export enum DICT_TYPE { TERMINAL = 'terminal', // 终端 DATE_INTERVAL = 'date_interval', // 数据间隔 + +TASK_TYPE="task_type",//试卷任务模式 +SYS_STATUS="sys_common_status_other",//通用状态 +EXAM_QUE_DIFF="exam_que_difficulty",//题型难度 +SYS_YES_NO="sys_yes_no", // ========== SYSTEM 模块 ========== SYSTEM_USER_SEX = 'system_user_sex', SYSTEM_MENU_TYPE = 'system_menu_type', diff --git a/src/utils/use-form-data.js b/src/utils/use-form-data.js new file mode 100644 index 0000000..6725536 --- /dev/null +++ b/src/utils/use-form-data.js @@ -0,0 +1,55 @@ +import { reactive } from 'vue'; +import { cloneDeep, set as setValue } from 'lodash-es'; + +/** + * 表单数据hook + * @param initValue 初始值 + */ +export function useFormData(init) { + let initValue = init == null ? {} : cloneDeep(init); + /** 表单数据 */ + const form = reactive(init == null ? {} : { ...init }); + + /** 重置为初始值 */ + const resetFields = (field, excludes) => { + const keys = Object.keys(form); + if (typeof field === 'string' && field) { + if (keys.includes(field)) { + form[field] = cloneDeep(initValue[field]); + } + return; + } + keys.forEach((key) => { + if (!excludes || !excludes.includes(key)) { + form[key] = cloneDeep(initValue[key]); + } + }); + }; + + /** 赋值不改变字段 */ + const assignFields = (data, excludes) => { + if (excludes === true) { + initValue = data == null ? {} : cloneDeep(data); + } + Object.keys(form).forEach((key) => { + if (!excludes || excludes === true || !excludes.includes(key)) { + form[key] = data?.[key]; + } + }); + }; + + /** 赋值某字段 */ + const setFieldValue = (field, value) => { + //form[field] = value; + setValue(form, field, value); + }; + + const result = [form, resetFields, assignFields, setFieldValue]; + // 支持对象解构以兼容旧版 + Object.assign(result, { + form, + resetFields, + assignFields + }); + return result; +} diff --git a/src/views/infra/file/FileForm.vue b/src/views/infra/file/FileForm.vue index 1de1e25..1b38b5b 100644 --- a/src/views/infra/file/FileForm.vue +++ b/src/views/infra/file/FileForm.vue @@ -13,7 +13,7 @@ :on-exceed="handleExceed" :on-success="submitFormSuccess" :http-request="httpRequest" - accept=".jpg, .png, .gif" + accept=".jpg, .png, .gif, .zip" drag > diff --git a/src/views/system/task/collegeeaxm/components/steps/step1/components/step-edit.vue b/src/views/system/task/collegeeaxm/components/steps/step1/components/step-edit.vue new file mode 100644 index 0000000..d3d668e --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step1/components/step-edit.vue @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ availableCount }} + + + + + 取 消 + 保存 + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step1/components/step-search.vue b/src/views/system/task/collegeeaxm/components/steps/step1/components/step-search.vue new file mode 100644 index 0000000..185bef0 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step1/components/step-search.vue @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step1/index.vue b/src/views/system/task/collegeeaxm/components/steps/step1/index.vue new file mode 100644 index 0000000..c6aeda4 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step1/index.vue @@ -0,0 +1,204 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + + + + + + + + + + 简单 + 一般 + 困难 + 全部 + 未知 + + + + + + + + + + + + + + 查看 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/components/step-add.vue b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-add.vue new file mode 100644 index 0000000..7564d1c --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-add.vue @@ -0,0 +1,106 @@ + + + + + + + + + + + 取消 + + 保存 + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/components/step-edit.vue b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-edit.vue new file mode 100644 index 0000000..48ff976 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-edit.vue @@ -0,0 +1,181 @@ + + + + + + + + 试卷ID:{{ paperId }} + + + + + + + + {{ subject }} + + (每小题 {{ parseFloat(schemeMap[subject].quScores).toFixed(1) }} 分,共 {{ parseFloat(schemeMap[subject].subtotalScore).toFixed(1) }} 分) + + + + + + + 题目 {{ index + 1 }} + + + + + + + 解析 + {{ item.analysis }} + + + 测试用例 {{ aIndex + 1 }}:输入: {{ answer.contentIn }} | 输出: {{ answer.content }} | 占比: {{ answer.scoreRate }}% + + + + + + + {{ String.fromCharCode(65 + aIndex) }}. {{ answer.content }} + + + + + + + + 取消 + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/components/step-look.vue b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-look.vue new file mode 100644 index 0000000..1c94b1a --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-look.vue @@ -0,0 +1,183 @@ + + + + + + + + 试卷ID: + {{ paperId ? paperId : '未提供试卷ID' }} + + + + + + + + + {{ subject }} + + (每小题 {{ parseFloat(schemeMap[subject].quScores).toFixed(1) }} 分,共 {{ parseFloat(schemeMap[subject].subtotalScore).toFixed(1) }} 分) + + + + + + + 题目 {{ index + 1 }} + + + + + + + 解析 + {{ item.analysis }} + + + 测试用例 {{ aIndex + 1 }}:输入: {{ answer.contentIn }} | 输出: {{ answer.content }} | 占比: {{ answer.scoreRate }}% + + + + + + + {{ String.fromCharCode(65 + aIndex) }}. {{ answer.content }} + + + + + + + + 取消 + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/components/step-search.vue b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-search.vue new file mode 100644 index 0000000..3bffde1 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-search.vue @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/components/step-set.vue b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-set.vue new file mode 100644 index 0000000..6e2f29f --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/components/step-set.vue @@ -0,0 +1,336 @@ + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 保存 + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/index copy.vue b/src/views/system/task/collegeeaxm/components/steps/step2/index copy.vue new file mode 100644 index 0000000..1755b28 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/index copy.vue @@ -0,0 +1,211 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + 未知 + + + + + A卷 + B卷 + 未知 + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step2/index.vue b/src/views/system/task/collegeeaxm/components/steps/step2/index.vue new file mode 100644 index 0000000..7e51210 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step2/index.vue @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + 搜索 + + + 重置 + + + 新增 + + + 试卷调整 + + + + + + + + + + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + + + + + A卷 + B卷 + + + + + + + + + + + 查看 + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step3/index.vue b/src/views/system/task/collegeeaxm/components/steps/step3/index.vue new file mode 100644 index 0000000..01cdad5 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step3/index.vue @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 最高成绩 + 最新成绩 + + + + + + + + + + + + + + + + + + + 分钟传一次,断联直接交卷 + + + + + + + + + + + + + + C + D + + + + + + + + + + + + 分钟传一次 + + + + + + 是 + 否 + + + + + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step4/components/step-edit.vue b/src/views/system/task/collegeeaxm/components/steps/step4/components/step-edit.vue new file mode 100644 index 0000000..ab6a087 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step4/components/step-edit.vue @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + + 取消 + + 保存 + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step4/components/step-search.vue b/src/views/system/task/collegeeaxm/components/steps/step4/components/step-search.vue new file mode 100644 index 0000000..f0065b2 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step4/components/step-search.vue @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step4/components/step-set.vue b/src/views/system/task/collegeeaxm/components/steps/step4/components/step-set.vue new file mode 100644 index 0000000..4c7d063 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step4/components/step-set.vue @@ -0,0 +1,104 @@ + + + + + + {{rows}} + {{taskId}} + + + 取消 + 保存 + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step4/index.vue b/src/views/system/task/collegeeaxm/components/steps/step4/index.vue new file mode 100644 index 0000000..f7862ca --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step4/index.vue @@ -0,0 +1,227 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + 批量分配 + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/steps/step5/components/person-edit.vue b/src/views/system/task/collegeeaxm/components/steps/step5/components/person-edit.vue new file mode 100644 index 0000000..c9f4dd6 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step5/components/person-edit.vue @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + 分配场次 + + + 删除 + + + 导出 + + + + + + 修改 + + 删除 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/steps/step5/index.vue b/src/views/system/task/collegeeaxm/components/steps/step5/index.vue new file mode 100644 index 0000000..37ba58b --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/steps/step5/index.vue @@ -0,0 +1,224 @@ + + + + + + + + + + 分配场次 + + + 删除 + + + 导出 + + + + + 修改 + + + + 删除 + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/task-add.vue b/src/views/system/task/collegeeaxm/components/task-add.vue new file mode 100644 index 0000000..9111351 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/task-add.vue @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + + + + + + {{ dict.label }} + + + + + + + + + + + + + 取消 + + 保存 + + + + + + \ No newline at end of file diff --git a/src/views/system/task/collegeeaxm/components/task-edit.vue b/src/views/system/task/collegeeaxm/components/task-edit.vue new file mode 100644 index 0000000..ad6e002 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/task-edit.vue @@ -0,0 +1,131 @@ + + + + + + + 当前任务 ID:{{ props.data.taskId }} + + + + + + + + {{ title }} + + + + + + + + + + + + + + + + + + 取 消 + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/task-search.vue b/src/views/system/task/collegeeaxm/components/task-search.vue new file mode 100644 index 0000000..b469837 --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/task-search.vue @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + diff --git a/src/views/system/task/collegeeaxm/components/task-temp.vue b/src/views/system/task/collegeeaxm/components/task-temp.vue new file mode 100644 index 0000000..4f84a3d --- /dev/null +++ b/src/views/system/task/collegeeaxm/components/task-temp.vue @@ -0,0 +1,151 @@ + + + + + + + + + + + 使用 + + + + + + + + + + + + + 试卷方案 + 试卷管理 + 参数设置 + 考场设置 + 人员设置 + + + 全选 + 取消全选 + + + + 取消 + 确认 + + + + + + diff --git a/src/views/system/task/collegeeaxm/index.vue b/src/views/system/task/collegeeaxm/index.vue new file mode 100644 index 0000000..7450de4 --- /dev/null +++ b/src/views/system/task/collegeeaxm/index.vue @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + 搜索 + 重置 + 模板库 + + 新增 + + + + 批量删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step1/components/step-edit.vue b/src/views/system/task/exam/components/steps/step1/components/step-edit.vue new file mode 100644 index 0000000..d3d668e --- /dev/null +++ b/src/views/system/task/exam/components/steps/step1/components/step-edit.vue @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ availableCount }} + + + + + 取 消 + 保存 + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step1/components/step-search.vue b/src/views/system/task/exam/components/steps/step1/components/step-search.vue new file mode 100644 index 0000000..185bef0 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step1/components/step-search.vue @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step1/index.vue b/src/views/system/task/exam/components/steps/step1/index.vue new file mode 100644 index 0000000..c6aeda4 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step1/index.vue @@ -0,0 +1,204 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + + + + + + + + + + 简单 + 一般 + 困难 + 全部 + 未知 + + + + + + + + + + + + + + 查看 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step2/components/step-add.vue b/src/views/system/task/exam/components/steps/step2/components/step-add.vue new file mode 100644 index 0000000..7564d1c --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/components/step-add.vue @@ -0,0 +1,106 @@ + + + + + + + + + + + 取消 + + 保存 + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step2/components/step-edit.vue b/src/views/system/task/exam/components/steps/step2/components/step-edit.vue new file mode 100644 index 0000000..48ff976 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/components/step-edit.vue @@ -0,0 +1,181 @@ + + + + + + + + 试卷ID:{{ paperId }} + + + + + + + + {{ subject }} + + (每小题 {{ parseFloat(schemeMap[subject].quScores).toFixed(1) }} 分,共 {{ parseFloat(schemeMap[subject].subtotalScore).toFixed(1) }} 分) + + + + + + + 题目 {{ index + 1 }} + + + + + + + 解析 + {{ item.analysis }} + + + 测试用例 {{ aIndex + 1 }}:输入: {{ answer.contentIn }} | 输出: {{ answer.content }} | 占比: {{ answer.scoreRate }}% + + + + + + + {{ String.fromCharCode(65 + aIndex) }}. {{ answer.content }} + + + + + + + + 取消 + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step2/components/step-look.vue b/src/views/system/task/exam/components/steps/step2/components/step-look.vue new file mode 100644 index 0000000..1c94b1a --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/components/step-look.vue @@ -0,0 +1,183 @@ + + + + + + + + 试卷ID: + {{ paperId ? paperId : '未提供试卷ID' }} + + + + + + + + + {{ subject }} + + (每小题 {{ parseFloat(schemeMap[subject].quScores).toFixed(1) }} 分,共 {{ parseFloat(schemeMap[subject].subtotalScore).toFixed(1) }} 分) + + + + + + + 题目 {{ index + 1 }} + + + + + + + 解析 + {{ item.analysis }} + + + 测试用例 {{ aIndex + 1 }}:输入: {{ answer.contentIn }} | 输出: {{ answer.content }} | 占比: {{ answer.scoreRate }}% + + + + + + + {{ String.fromCharCode(65 + aIndex) }}. {{ answer.content }} + + + + + + + + 取消 + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step2/components/step-search.vue b/src/views/system/task/exam/components/steps/step2/components/step-search.vue new file mode 100644 index 0000000..3bffde1 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/components/step-search.vue @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step2/components/step-set.vue b/src/views/system/task/exam/components/steps/step2/components/step-set.vue new file mode 100644 index 0000000..6e2f29f --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/components/step-set.vue @@ -0,0 +1,336 @@ + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 保存 + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step2/index copy.vue b/src/views/system/task/exam/components/steps/step2/index copy.vue new file mode 100644 index 0000000..1755b28 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/index copy.vue @@ -0,0 +1,211 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + 未知 + + + + + A卷 + B卷 + 未知 + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step2/index.vue b/src/views/system/task/exam/components/steps/step2/index.vue new file mode 100644 index 0000000..7e51210 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step2/index.vue @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + 搜索 + + + 重置 + + + 新增 + + + 试卷调整 + + + + + + + + + + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + + + + + A卷 + B卷 + + + + + + + + + + + 查看 + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step3/index.vue b/src/views/system/task/exam/components/steps/step3/index.vue new file mode 100644 index 0000000..01cdad5 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step3/index.vue @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 最高成绩 + 最新成绩 + + + + + + + + + + + + + + + + + + + 分钟传一次,断联直接交卷 + + + + + + + + + + + + + + C + D + + + + + + + + + + + + 分钟传一次 + + + + + + 是 + 否 + + + + + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step4/components/step-edit.vue b/src/views/system/task/exam/components/steps/step4/components/step-edit.vue new file mode 100644 index 0000000..ab6a087 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step4/components/step-edit.vue @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + + 取消 + + 保存 + + + + + + diff --git a/src/views/system/task/exam/components/steps/step4/components/step-search.vue b/src/views/system/task/exam/components/steps/step4/components/step-search.vue new file mode 100644 index 0000000..f0065b2 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step4/components/step-search.vue @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step4/components/step-set.vue b/src/views/system/task/exam/components/steps/step4/components/step-set.vue new file mode 100644 index 0000000..4c7d063 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step4/components/step-set.vue @@ -0,0 +1,104 @@ + + + + + + {{rows}} + {{taskId}} + + + 取消 + 保存 + + + + + diff --git a/src/views/system/task/exam/components/steps/step4/index.vue b/src/views/system/task/exam/components/steps/step4/index.vue new file mode 100644 index 0000000..f7862ca --- /dev/null +++ b/src/views/system/task/exam/components/steps/step4/index.vue @@ -0,0 +1,227 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + 批量分配 + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/exam/components/steps/step5/components/person-edit.vue b/src/views/system/task/exam/components/steps/step5/components/person-edit.vue new file mode 100644 index 0000000..c9f4dd6 --- /dev/null +++ b/src/views/system/task/exam/components/steps/step5/components/person-edit.vue @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + 分配场次 + + + 删除 + + + 导出 + + + + + + 修改 + + 删除 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/steps/step5/index.vue b/src/views/system/task/exam/components/steps/step5/index.vue new file mode 100644 index 0000000..37ba58b --- /dev/null +++ b/src/views/system/task/exam/components/steps/step5/index.vue @@ -0,0 +1,224 @@ + + + + + + + + + + 分配场次 + + + 删除 + + + 导出 + + + + + 修改 + + + + 删除 + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/task-add.vue b/src/views/system/task/exam/components/task-add.vue new file mode 100644 index 0000000..6e8d4ac --- /dev/null +++ b/src/views/system/task/exam/components/task-add.vue @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + + + + + + {{ dict.label }} + + + + + + + + + + + + + 取消 + + 保存 + + + + + + \ No newline at end of file diff --git a/src/views/system/task/exam/components/task-edit.vue b/src/views/system/task/exam/components/task-edit.vue new file mode 100644 index 0000000..ad6e002 --- /dev/null +++ b/src/views/system/task/exam/components/task-edit.vue @@ -0,0 +1,131 @@ + + + + + + + 当前任务 ID:{{ props.data.taskId }} + + + + + + + + {{ title }} + + + + + + + + + + + + + + + + + + 取 消 + + + + + + + diff --git a/src/views/system/task/exam/components/task-search.vue b/src/views/system/task/exam/components/task-search.vue new file mode 100644 index 0000000..b469837 --- /dev/null +++ b/src/views/system/task/exam/components/task-search.vue @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + diff --git a/src/views/system/task/exam/components/task-temp.vue b/src/views/system/task/exam/components/task-temp.vue new file mode 100644 index 0000000..4f84a3d --- /dev/null +++ b/src/views/system/task/exam/components/task-temp.vue @@ -0,0 +1,151 @@ + + + + + + + + + + + 使用 + + + + + + + + + + + + + 试卷方案 + 试卷管理 + 参数设置 + 考场设置 + 人员设置 + + + 全选 + 取消全选 + + + + 取消 + 确认 + + + + + + diff --git a/src/views/system/task/exam/index.vue b/src/views/system/task/exam/index.vue new file mode 100644 index 0000000..459876a --- /dev/null +++ b/src/views/system/task/exam/index.vue @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + 搜索 + 重置 + 模板库 + + 新增 + + + + 批量删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step1/components/step-edit.vue b/src/views/system/task/trans/components/steps/step1/components/step-edit.vue new file mode 100644 index 0000000..d3d668e --- /dev/null +++ b/src/views/system/task/trans/components/steps/step1/components/step-edit.vue @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ availableCount }} + + + + + 取 消 + 保存 + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step1/components/step-search.vue b/src/views/system/task/trans/components/steps/step1/components/step-search.vue new file mode 100644 index 0000000..185bef0 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step1/components/step-search.vue @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step1/index.vue b/src/views/system/task/trans/components/steps/step1/index.vue new file mode 100644 index 0000000..c6aeda4 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step1/index.vue @@ -0,0 +1,204 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + + + + + + + + + + 简单 + 一般 + 困难 + 全部 + 未知 + + + + + + + + + + + + + + 查看 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step2/components/step-add.vue b/src/views/system/task/trans/components/steps/step2/components/step-add.vue new file mode 100644 index 0000000..7564d1c --- /dev/null +++ b/src/views/system/task/trans/components/steps/step2/components/step-add.vue @@ -0,0 +1,106 @@ + + + + + + + + + + + 取消 + + 保存 + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step2/components/step-edit.vue b/src/views/system/task/trans/components/steps/step2/components/step-edit.vue new file mode 100644 index 0000000..48ff976 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step2/components/step-edit.vue @@ -0,0 +1,181 @@ + + + + + + + + 试卷ID:{{ paperId }} + + + + + + + + {{ subject }} + + (每小题 {{ parseFloat(schemeMap[subject].quScores).toFixed(1) }} 分,共 {{ parseFloat(schemeMap[subject].subtotalScore).toFixed(1) }} 分) + + + + + + + 题目 {{ index + 1 }} + + + + + + + 解析 + {{ item.analysis }} + + + 测试用例 {{ aIndex + 1 }}:输入: {{ answer.contentIn }} | 输出: {{ answer.content }} | 占比: {{ answer.scoreRate }}% + + + + + + + {{ String.fromCharCode(65 + aIndex) }}. {{ answer.content }} + + + + + + + + 取消 + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step2/components/step-look.vue b/src/views/system/task/trans/components/steps/step2/components/step-look.vue new file mode 100644 index 0000000..1c94b1a --- /dev/null +++ b/src/views/system/task/trans/components/steps/step2/components/step-look.vue @@ -0,0 +1,183 @@ + + + + + + + + 试卷ID: + {{ paperId ? paperId : '未提供试卷ID' }} + + + + + + + + + {{ subject }} + + (每小题 {{ parseFloat(schemeMap[subject].quScores).toFixed(1) }} 分,共 {{ parseFloat(schemeMap[subject].subtotalScore).toFixed(1) }} 分) + + + + + + + 题目 {{ index + 1 }} + + + + + + + 解析 + {{ item.analysis }} + + + 测试用例 {{ aIndex + 1 }}:输入: {{ answer.contentIn }} | 输出: {{ answer.content }} | 占比: {{ answer.scoreRate }}% + + + + + + + {{ String.fromCharCode(65 + aIndex) }}. {{ answer.content }} + + + + + + + + 取消 + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step2/components/step-search.vue b/src/views/system/task/trans/components/steps/step2/components/step-search.vue new file mode 100644 index 0000000..3bffde1 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step2/components/step-search.vue @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step2/components/step-set.vue b/src/views/system/task/trans/components/steps/step2/components/step-set.vue new file mode 100644 index 0000000..6e2f29f --- /dev/null +++ b/src/views/system/task/trans/components/steps/step2/components/step-set.vue @@ -0,0 +1,336 @@ + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 保存 + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step2/index.vue b/src/views/system/task/trans/components/steps/step2/index.vue new file mode 100644 index 0000000..8be046c --- /dev/null +++ b/src/views/system/task/trans/components/steps/step2/index.vue @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + 搜索 + + + 重置 + + + 新增 + + + 试卷调整 + + + + + + + + + + + + + + + + + + 固定 + AB卷 + 随机 + 自选 + + + + + A卷 + B卷 + + + + + + + + + + + 查看 + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step3/index.vue b/src/views/system/task/trans/components/steps/step3/index.vue new file mode 100644 index 0000000..01cdad5 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step3/index.vue @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 最高成绩 + 最新成绩 + + + + + + + + + + + + + + + + + + + 分钟传一次,断联直接交卷 + + + + + + + + + + + + + + C + D + + + + + + + + + + + + 分钟传一次 + + + + + + 是 + 否 + + + + + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step4/components/step-edit.vue b/src/views/system/task/trans/components/steps/step4/components/step-edit.vue new file mode 100644 index 0000000..ab6a087 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step4/components/step-edit.vue @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + + 取消 + + 保存 + + + + + + diff --git a/src/views/system/task/trans/components/steps/step4/components/step-search.vue b/src/views/system/task/trans/components/steps/step4/components/step-search.vue new file mode 100644 index 0000000..f0065b2 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step4/components/step-search.vue @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step4/components/step-set.vue b/src/views/system/task/trans/components/steps/step4/components/step-set.vue new file mode 100644 index 0000000..4c7d063 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step4/components/step-set.vue @@ -0,0 +1,104 @@ + + + + + + {{rows}} + {{taskId}} + + + 取消 + 保存 + + + + + diff --git a/src/views/system/task/trans/components/steps/step4/index.vue b/src/views/system/task/trans/components/steps/step4/index.vue new file mode 100644 index 0000000..8037805 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step4/index.vue @@ -0,0 +1,251 @@ + + + + + + + 搜索 + 重置 + + 新增 + + + 批量分配 + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/task/trans/components/steps/step5/components/person-edit.vue b/src/views/system/task/trans/components/steps/step5/components/person-edit.vue new file mode 100644 index 0000000..c9f4dd6 --- /dev/null +++ b/src/views/system/task/trans/components/steps/step5/components/person-edit.vue @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + 分配场次 + + + 删除 + + + 导出 + + + + + + 修改 + + 删除 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/steps/step5/index.vue b/src/views/system/task/trans/components/steps/step5/index.vue new file mode 100644 index 0000000..37ba58b --- /dev/null +++ b/src/views/system/task/trans/components/steps/step5/index.vue @@ -0,0 +1,224 @@ + + + + + + + + + + 分配场次 + + + 删除 + + + 导出 + + + + + 修改 + + + + 删除 + + + + + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/task-add.vue b/src/views/system/task/trans/components/task-add.vue new file mode 100644 index 0000000..97a5914 --- /dev/null +++ b/src/views/system/task/trans/components/task-add.vue @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + + + + + + {{ dict.label }} + + + + + + + + + + + + + 取消 + + 保存 + + + + + + \ No newline at end of file diff --git a/src/views/system/task/trans/components/task-edit.vue b/src/views/system/task/trans/components/task-edit.vue new file mode 100644 index 0000000..ad6e002 --- /dev/null +++ b/src/views/system/task/trans/components/task-edit.vue @@ -0,0 +1,131 @@ + + + + + + + 当前任务 ID:{{ props.data.taskId }} + + + + + + + + {{ title }} + + + + + + + + + + + + + + + + + + 取 消 + + + + + + + diff --git a/src/views/system/task/trans/components/task-search.vue b/src/views/system/task/trans/components/task-search.vue new file mode 100644 index 0000000..b469837 --- /dev/null +++ b/src/views/system/task/trans/components/task-search.vue @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + diff --git a/src/views/system/task/trans/components/task-temp.vue b/src/views/system/task/trans/components/task-temp.vue new file mode 100644 index 0000000..7fbb3f5 --- /dev/null +++ b/src/views/system/task/trans/components/task-temp.vue @@ -0,0 +1,151 @@ + + + + + + + + + + + 使用 + + + + + + + + + + + + + 试卷方案 + 试卷管理 + 参数设置 + 考场设置 + 人员设置 + + + 全选 + 取消全选 + + + + 取消 + 确认 + + + + + + diff --git a/src/views/system/task/trans/index.vue b/src/views/system/task/trans/index.vue new file mode 100644 index 0000000..134e3c6 --- /dev/null +++ b/src/views/system/task/trans/index.vue @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + 搜索 + 重置 + 模板库 + + 新增 + + + + 批量删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + + + + + + + + + + + + + diff --git a/src/views/system/tenant/TenantForm.vue b/src/views/system/tenant/TenantForm.vue index 1a4dff9..aa7ed95 100644 --- a/src/views/system/tenant/TenantForm.vue +++ b/src/views/system/tenant/TenantForm.vue @@ -130,6 +130,7 @@ const demo03CourseFormRef = ref() /** 打开弹窗 */ const open = async (type: string, id?: number) => { + dialogVisible.value = true dialogTitle.value = t('action.' + type) formType.value = type
{{ item.analysis }}