From 6d4c7bcd7ff4ca8b3e7eff0c857e16eccd1340fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E8=BE=89?= <814457906@qq.com> Date: Tue, 27 Sep 2022 15:35:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=91=8A=E3=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- public/student.xlsx | Bin 0 -> 9431 bytes src/api/system/kindergartenCheckReport.js | 36 ++ src/api/system/personalCheckReport.js | 54 +++ src/api/system/survey.js | 25 +- src/api/system/testItemScore.js | 9 + src/views/assembly/kindergarten.vue | 20 +- src/views/assembly/student.vue | 18 +- src/views/system/action/index.vue | 5 +- src/views/system/constitution/index.vue | 11 +- .../system/kindergartenCheckReport/index.vue | 355 +++++++++++++++++ .../system/personalCheckReport/index.vue | 372 ++++++++++++++++++ src/views/system/physique/index.vue | 3 - src/views/system/studentInfo/index.vue | 235 ++++++++++- src/views/system/survey/index.vue | 117 ++++-- src/views/system/testItemScore/index.vue | 37 +- 16 files changed, 1219 insertions(+), 80 deletions(-) create mode 100644 public/student.xlsx create mode 100644 src/api/system/kindergartenCheckReport.js create mode 100644 src/api/system/personalCheckReport.js create mode 100644 src/views/system/kindergartenCheckReport/index.vue create mode 100644 src/views/system/personalCheckReport/index.vue diff --git a/.env.development b/.env.development index ad3a0a8..c3c549b 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VUE_APP_TITLE = 智慧幼儿体质评估与促进系统 ENV = 'development' # 智慧幼儿体质评估与促进系统/开发环境 -VUE_APP_BASE_API = 'http://192.168.16.64:8080' +VUE_APP_BASE_API = 'http://192.168.16.81:8099' #'/dev-api' # 路由懒加载 diff --git a/public/student.xlsx b/public/student.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6fa8fb29ce87a3343f9b354813f4f78d12a5cb93 GIT binary patch literal 9431 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

Oh*7(7OOFAX@$% zYS$vuD#a~nZu>tK42 zRPcTybO9_Y|8Q2?K1knO4KHvfiV-n!bFxB?8XF4bww?!ae!!JvQTJV|2z#JZSi*vC z@=%V=$idQazXxdC6l@zVUFa8VdOTUn%bsBe$Mvx{xl<{uQD2H|Vw0$fH&iV1Gv2D> zK0P9xF?p>0HnA$9c@es{G?coKU%Hu|eUzX_6G{2#!3LE5#u`MC#&oTqn+h=&e;cW2 z{yF?EF!*Jjc`Nws1oOYv@;fKF7_e^W&wd*hOSV+e8x zvQ~5k-rQc4;qnyURr`F?e*Vw%!8&Hp;t*;=|IviG_PAV2#Q zpiyBcc#_`k_Slhcxro^n#l)-(OdyMhl_EM6gh?y0WQHI3dgD~p6?c?$&0KS9v`Z766ul1P z5FJ`M+C)UTubcPW^sgzUU`XsNwVDc4L71F38Dt!b?qW_s?OD6W!!(lMIfx!^?I}DBN?f*p~41Rwd zslTHz{Rxu4>N*LvXAito9?^MU5)aV_@>$7AM?3xQZt+1p`?-z25pHMRr;BqI@>1)LX03i0F{S>l z-mti!si2cW#l#W;s@W*@3r=l0+eC*~1Tx)~(=K59{`$|5h;I1K^+=E=i{ux<_ph(Z zt@fR|iOUOyLcH??N|~)|B%1PCIGVkkW$A}w8cs|H*|Jk{rHh%H*V(Ne0ZvX|OquxYWF4nX3EpndA&kE)A(&A*QS8n3x-tE8X!k#CHe)*VFk_tH>81lG#9aB ze^}&|yUCNSKxm^w{ZVo9mC3t9!o@39B?UsNf*S3K56EA`)G_L~1exPf#BXa)bS){a zntqHpHt@^2sK4o6QaU{FViEmEq1c~EjKU222O9=qSabfjNa_TJfNcLo@&95N0LYCJ zSM25_`Pl>ewnVQyKO0up%|{-Dg0!(ur(7=)6HA+hebkt(ZF0@ek_~AV6;HRdWdR<(cohD zlE(DXp#MvNh?dA!ZB*Gw!7TM66oFXjLYSyeqh z;&9w#c8etHYtWR%vO=b4-KU<4oSWqYTrEVmR06@L8YwZWmv7mgV0S{8@liEcZcdxu z?C7A>KP({LQIb!gRhHA@MN`HL(di}0-wBIMkxq+BT;KdOGBLZF!FM$K{dTJ}V%L1X z*o~yQj8pU*>N9zubk?0ENtD2dXSH~OY&<1wu>OpaaPVv}q4du?Kz@zrpLhSTA4FC0 z?+*Unq5j=L7HpC8Tfh3g;r%|{FVjg_=k8wD?!NKg+abS90f1t(pT_@BbL76C`!(`k zo)%#x!~d^he&5Uea^5d5uCNXy%**}a-hBu6*Mz?uKnQ<2__ad3Z+c(<{xa=`75!oF z2H#i1_dWbwvHh|K0G^Wq0RN%i?wkKT)BbKg_wYCKzw+*V>%RxN->uVNkp1=Y{|kAl WihneA|JV(I0qBH9MgYwpzy1fs;Kzyp literal 0 HcmV?d00001 diff --git a/src/api/system/kindergartenCheckReport.js b/src/api/system/kindergartenCheckReport.js new file mode 100644 index 0000000..3b6e778 --- /dev/null +++ b/src/api/system/kindergartenCheckReport.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' + +// 查询幼儿园检测报告列表 +export function listKindergartenCheckReport(query) { + return request({ + url: '/system/kindergartenCheckReport/list', + method: 'get', + params: query + }) +} + +// 查询幼儿园检测报告详细 +export function getKindergartenCheckReport(id) { + return request({ + url: '/system/kindergartenCheckReport/' + id, + method: 'get' + }) +} + +// 修改幼儿园检测报告 +export function updateKindergartenCheckReport(data) { + return request({ + url: '/system/kindergartenCheckReport/edit', + method: 'POST', + data: data + }) +} + +// 幼儿园报告下载/预览 +export function report(id) { + return request({ + url: `/system/kindergartenCheckReport/download/report?id=${id}`, + method: 'POST', + responseType: 'blob' + }) +} \ No newline at end of file diff --git a/src/api/system/personalCheckReport.js b/src/api/system/personalCheckReport.js new file mode 100644 index 0000000..18bed38 --- /dev/null +++ b/src/api/system/personalCheckReport.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询个人体质检测报告列表 +export function listPersonalCheckReport(query) { + return request({ + url: '/system/personalCheckReport/list', + method: 'get', + params: query + }) +} + +// 查询个人体质检测报告详细 +export function getPersonalCheckReport(id) { + return request({ + url: '/system/personalCheckReport/' + id, + method: 'get' + }) +} + +// 新增个人体质检测报告 +export function addPersonalCheckReport(data) { + return request({ + url: '/system/personalCheckReport', + method: 'post', + data: data + }) +} + +// 修改个人体质检测报告 +export function updatePersonalCheckReport(data) { + return request({ + url: '/system/personalCheckReport', + method: 'put', + data: data + }) +} + +// 删除个人体质检测报告 +export function delPersonalCheckReport(id) { + return request({ + url: '/system/personalCheckReport/' + id, + method: 'delete' + }) +} + + +// 幼儿报告下载/预览 +export function report(id) { + return request({ + url: `/system/personalCheckReport/download/report?id=${id}`, + method: 'POST', + responseType: 'blob' + }) +} \ No newline at end of file diff --git a/src/api/system/survey.js b/src/api/system/survey.js index 26cca87..bea9f6f 100644 --- a/src/api/system/survey.js +++ b/src/api/system/survey.js @@ -9,13 +9,20 @@ export function StudentList(query) { }) } +// // 查询 +// export function ClassList(query) { +// return request({ +// url: '/system/testAll/ClassList', +// method: 'get', +// params: query +// }) +// } - -// 查询 -export function ClassList(query) { - return request({ - url: '/system/testAll/ClassList', - method: 'get', - params: query - }) -} \ No newline at end of file +// // 查询 +// export function selectAllClassById(query) { +// return request({ +// url: '/system/testAll/selectAllClassById', +// method: 'get', +// params: query +// }) +// } \ No newline at end of file diff --git a/src/api/system/testItemScore.js b/src/api/system/testItemScore.js index d932d80..d540986 100644 --- a/src/api/system/testItemScore.js +++ b/src/api/system/testItemScore.js @@ -96,4 +96,13 @@ export function getAllTestItemScoreInfo(query) { method: 'get', params: query, }) +} + + +// 获取个人成绩得分 +export function getStudentFraction(studentId, itemId, itemScore) { + return request({ + url: `system/testItemScore/getStudentFraction?studentId=${studentId}&itemId=${itemId}&itemScore=${itemScore}`, + method: 'get' + }) } \ No newline at end of file diff --git a/src/views/assembly/kindergarten.vue b/src/views/assembly/kindergarten.vue index e602334..c1b2f45 100644 --- a/src/views/assembly/kindergarten.vue +++ b/src/views/assembly/kindergarten.vue @@ -11,12 +11,20 @@ {{ kindergartenName }} {{ kindergartenName }} @@ -25,13 +33,13 @@ {{ batchName }} {{ batchName }} @@ -341,8 +349,8 @@ export default { this.testqueryParams = { pageNum: 1, pageSize: 10, - batchCode:'', - batchName:'', + batchCode: "", + batchName: "", }; this.testScore(); }, diff --git a/src/views/assembly/student.vue b/src/views/assembly/student.vue index ff668d6..7628cb1 100644 --- a/src/views/assembly/student.vue +++ b/src/views/assembly/student.vue @@ -7,30 +7,30 @@ v-show="showSearch" label-width="90px" > - + {{ studentname }} {{ studentname }} - + {{ batchName }} {{ batchName }} @@ -635,18 +635,17 @@ export default { this.batchCode = localStorage.getItem("batchCode"); this.studentId = localStorage.getItem("studentId"); this.batchName = localStorage.getItem("batchName"); - console.log(localStorage.getItem("studentname")); - if (localStorage.getItem("batchCode") == null) { this.batchName = "请选择批次"; } else { this.batchCode = localStorage.getItem("batchCode"); + this.$emit("itemlist", this.studentId, this.batchCode); } - if (localStorage.getItem("studentname") == null) { this.studentname = "请选择学生"; } else { this.studentname = localStorage.getItem("studentname"); + this.$emit("itemlist", this.studentId, this.batchCode); } if ( localStorage.getItem("batchCode") != null && @@ -790,7 +789,6 @@ export default { getList() { //用户权限 getRoleInfo().then((res) => { - console.log(res); var user = res.data.roleKeys; if (user.includes("enchou")) { this.classqueryParams.kindergartenId = res.data.kindergartenId; diff --git a/src/views/system/action/index.vue b/src/views/system/action/index.vue index bb17384..cc1bbb0 100644 --- a/src/views/system/action/index.vue +++ b/src/views/system/action/index.vue @@ -29,7 +29,7 @@ > -

+
{{ analysislist.schoolRank }}名 + >名 区域排名:{{ + analysislist.areaRank + }}区域成绩占比:{{ + analysislist.areaProportion + }}
+
体测项目分值与全校、全市对比
diff --git a/src/views/system/kindergartenCheckReport/index.vue b/src/views/system/kindergartenCheckReport/index.vue new file mode 100644 index 0000000..557a7d7 --- /dev/null +++ b/src/views/system/kindergartenCheckReport/index.vue @@ -0,0 +1,355 @@ + + + + diff --git a/src/views/system/personalCheckReport/index.vue b/src/views/system/personalCheckReport/index.vue new file mode 100644 index 0000000..4893d93 --- /dev/null +++ b/src/views/system/personalCheckReport/index.vue @@ -0,0 +1,372 @@ + + + + \ No newline at end of file diff --git a/src/views/system/physique/index.vue b/src/views/system/physique/index.vue index 67e5158..60346c0 100644 --- a/src/views/system/physique/index.vue +++ b/src/views/system/physique/index.vue @@ -330,7 +330,6 @@ export default { }); el.list = list1; }); - let seriesData = []; let yindicator = []; this.categoryScoreList.forEach((el) => { @@ -371,9 +370,7 @@ export default { }); } }); - var myChart = echarts.init(document.getElementById("chart")); - let option = { //配置维度的最大值 color: "#D9A508", diff --git a/src/views/system/studentInfo/index.vue b/src/views/system/studentInfo/index.vue index 62cb017..5d9e32f 100644 --- a/src/views/system/studentInfo/index.vue +++ b/src/views/system/studentInfo/index.vue @@ -6,7 +6,7 @@ size="small" :inline="true" v-show="showSearch" - label-width="68px" + label-width="90px" > - 删除 + + 导入 + - + @@ -532,7 +539,6 @@ @pagination="kininfolist" /> - 选择完成 - - + + + + + {{ upload.data.kindergartenName }} + {{ kindergartenName }} + + + {{ upload.data.className }} + {{ classinfoName }} + + + + +
+ 将文件拖到此处,或点击上传 +
+
+ 仅允许导入xls、xlsx格式文件。 + 下载模板 +
+
+
+
+ + +
@@ -896,6 +981,7 @@ import { tKindergartenInfo, listKindergartenInfo, } from "@/api/system/kindergartenInfo"; +import { getToken } from "@/utils/auth"; import { listClassinfo } from "@/api/system/classinfo"; @@ -929,18 +1015,28 @@ export default { //验证身份证 var isCardId = (rule, value, callback) => { if (!value) { - return new Error("请输入身份证号)"); + callback(); } else { - const reg = - /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/; - const card = reg.test(value); - if (!card) { - callback(new Error("身份证号格式有误!")); - } else { - callback(); + if (!this.checkSpecialKey(value)) { + callback(new Error("不能含有特殊字符!!")); } } }; + + // var isCardId = (rule, value, callback) => { + // if (!value) { + // callback(); + // } else { + // const reg = + // /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/; + // const card = reg.test(value); + // if (!card) { + // callback(new Error("身份证号格式有误!")); + // } else { + // callback(); + // } + // } + // }; return { pickerOptions: { disabledDate(time) { @@ -952,9 +1048,26 @@ export default { return time.getTime() > Date.now(); }, }, - Data: "", - + // 用户导入参数 + upload: { + // 是否显示弹出层(用户导入) + open: false, + // 弹出层标题(用户导入) + title: "", + // 是否禁用上传 + isUploading: false, + // 设置上传的请求头部 + headers: { Authorization: "Bearer " + getToken() }, + // 上传的地址 + url: process.env.VUE_APP_BASE_API + "/system/studentInfo/importData", + data: { + kindergartenId: null, + classId: null, + kindergartenName: "请选择所属幼儿园", + className: "请选择所属班级", + }, + }, //查看家长 parentStudentInfoList: [], //民族 @@ -1076,6 +1189,12 @@ export default { form2: {}, // 表单校验 rules: { + "upload.data.kindergartenId": [ + { required: true, message: "所属幼儿园不能为空", trigger: "blur" }, + ], + "upload.data.classId": [ + { required: true, message: "所属班级不能为空", trigger: "blur" }, + ], kindergartenId: [ { required: true, message: "所属幼儿园不能为空", trigger: "blur" }, ], @@ -1101,7 +1220,7 @@ export default { { required: true, message: "请选择日期", trigger: "change" }, ], cardNumber: [ - { required: true, message: "请输入证件号", trigger: "blur" }, + { message: "请输入证件号", trigger: "blur" }, { validator: isCardId, trigger: "blur" }, ], parentIdList: [ @@ -1143,6 +1262,8 @@ export default { this.form.kindergartenId = row.id; this.kindergartenid = row.id; this.kindergartenName = row.kindergartenName; + this.upload.data.kindergartenName = row.kindergartenName; + this.upload.data.kindergartenId = row.id; this.classinfoList2.kindergartenId = row.id; this.kininnerVisible = false; this.classinfoName = "请选择所属班级"; @@ -1549,6 +1670,8 @@ export default { classinfoclick(item) { console.log(item); this.classinfoName = item.className; + this.upload.data.className = item.className; + this.upload.data.classId = item.id; this.classinfoId = item.id; this.form.classId = item.id; this.form2.classId = item.id; @@ -1764,6 +1887,78 @@ export default { `studentInfo_${new Date().getTime()}.xlsx` ); }, + checkSpecialKey(str) { + let specialKey = + "[`~!#$^&*()=|{}':;'\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘'"; + for (let i = 0; i < str.length; i++) { + if (specialKey.indexOf(str.substr(i, 1)) != -1) { + return false; + } + } + return true; + }, + /** 导入按钮操作 */ + handledata() { + this.upload.title = "用户导入"; + this.upload.open = true; + }, + // 提交上传文件 + submitFileForm() { + if (this.upload.data.kindergartenId == null) { + this.$message.error("所属幼儿园不能为空"); + } else if (this.upload.data.classId == null) { + this.$message.error("所属班级不能为空"); + } else { + this.$refs.upload.submit(); + } + }, + // 文件上传成功处理 + handleFileSuccess(response, file, fileList) { + this.upload.open = false; + this.upload.isUploading = false; + this.upload.data = { + kindergartenId: null, + classId: null, + kindergartenName: "请选择所属幼儿园", + className: "请选择所属班级", + }; + this.form.kindergartenId = null; + this.classinfoId = null; + this.$refs.upload.clearFiles(); + this.$alert( + "
" + + response.msg + + "
", + "导入结果", + { dangerouslyUseHTMLString: true } + ); + this.getList(); + }, + // 文件上传中处理 + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, + uploadopen() { + this.upload.open = false; + this.form.kindergartenId = null; + this.classinfoId = null; + this.upload.data = { + kindergartenId: null, + classId: null, + kindergartenName: "请选择所属幼儿园", + className: "请选择所属班级", + }; + }, + /** 下载模板操作 */ + downloadExcel() { + let a = document.createElement("a"); + a.href = "/student.xlsx"; + a.download = "学生信息模板表.xlsx"; + a.style.display = "none"; + document.body.appendChild(a); + a.click(); + a.remove(); + }, }, }; diff --git a/src/views/system/survey/index.vue b/src/views/system/survey/index.vue index ee4b47d..352c141 100644 --- a/src/views/system/survey/index.vue +++ b/src/views/system/survey/index.vue @@ -38,30 +38,30 @@
大班
中班
小班
-
- 全国优秀幼儿榜(TOP10) +
+ 全园优秀幼儿榜(TOP10)
+ +
+ 班级优秀幼儿榜 +
+ + + + + + + + + +
@@ -116,7 +159,11 @@