Merge remote-tracking branch 'origin/dev'
This commit is contained in:
commit
642fde5cbb
@ -40,7 +40,8 @@
|
|||||||
"axios": "0.24.0",
|
"axios": "0.24.0",
|
||||||
"clipboard": "2.0.8",
|
"clipboard": "2.0.8",
|
||||||
"core-js": "3.19.1",
|
"core-js": "3.19.1",
|
||||||
"echarts": "4.9.0",
|
"cs-ruler": "^2.1.5",
|
||||||
|
"echarts": "^4.9.0",
|
||||||
"element-ui": "2.15.8",
|
"element-ui": "2.15.8",
|
||||||
"file-saver": "2.0.5",
|
"file-saver": "2.0.5",
|
||||||
"fuse.js": "6.4.3",
|
"fuse.js": "6.4.3",
|
||||||
|
|||||||
10
src/api/system/comprehensive.js
Normal file
10
src/api/system/comprehensive.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 体制分析
|
||||||
|
export function synthesize(query) {
|
||||||
|
return request({
|
||||||
|
url: '/physique/analysis/synthesize',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
27
src/api/system/quality.js
Normal file
27
src/api/system/quality.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
//查询用户权限
|
||||||
|
export function getRoleInfo() {
|
||||||
|
return request({
|
||||||
|
url: 'common/getRoleInfo',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 查询身体素质
|
||||||
|
export function testBodyScoreInfo(query) {
|
||||||
|
return request({
|
||||||
|
url: 'system/testBodyScoreInfo/listBody',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//批次编号
|
||||||
|
export function testScoreBatch(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/testScoreBatch/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
10
src/api/system/shape.js
Normal file
10
src/api/system/shape.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
//查询用户身体形态
|
||||||
|
export function analysis(query) {
|
||||||
|
return request({
|
||||||
|
url: '/body/shape/analysis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
BIN
src/icons/笑脸.png
Normal file
BIN
src/icons/笑脸.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.1 KiB |
BIN
src/icons/金牌.png
Normal file
BIN
src/icons/金牌.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.0 KiB |
BIN
src/icons/金牌2.png
Normal file
BIN
src/icons/金牌2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
12
src/main.js
12
src/main.js
@ -73,14 +73,14 @@ DictData.install()
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Vue.use(Element, {
|
Vue.use(Element, {
|
||||||
size: Cookies.get('size') || 'medium' // set element-ui default size
|
size: Cookies.get('size') || 'medium' // set element-ui default size
|
||||||
})
|
})
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
router,
|
router,
|
||||||
store,
|
store,
|
||||||
render: h => h(App)
|
render: h => h(App)
|
||||||
})
|
})
|
||||||
897
src/views/system/comprehensive/index.vue
Normal file
897
src/views/system/comprehensive/index.vue
Normal file
@ -0,0 +1,897 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属班级" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="className == '请选择班级'"
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="学生" prop="categoryName" label-width="45px">
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
v-if="studentname == '请选择学生'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="批次成绩" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //学生 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择学生"
|
||||||
|
:visible.sync="studentshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 70px"
|
||||||
|
:before-close="studentcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="studentInfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
v-if="studentId == scope.row.id"
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="学生姓名"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="性别"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.studentSex == "MALE" ? "男" : "女" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="homeAddress"
|
||||||
|
label="住址"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total3 > 0"
|
||||||
|
:total="total3"
|
||||||
|
:page.sync="studentqueryParams.pageNum"
|
||||||
|
:limit.sync="studentqueryParams.pageSize"
|
||||||
|
@pagination="studentlist"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //班级 -->
|
||||||
|
<el-dialog
|
||||||
|
width="1000px"
|
||||||
|
title="选择所属班级"
|
||||||
|
:visible.sync="classshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="classcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
v-if="classId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="classType"
|
||||||
|
label="班级类型"
|
||||||
|
width="160"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.classType == dictValue1 ? "大班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue2 ? "中班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue3 ? "小班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue4 ? "毕业" : "" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="classTeacher"
|
||||||
|
label="班主任姓名"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total2 > 0"
|
||||||
|
:total="total2"
|
||||||
|
:page.sync="classqueryParams.pageNum"
|
||||||
|
:limit.sync="classqueryParams.pageSize"
|
||||||
|
@pagination="classinfo"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" class="card-box">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center; margin-bottom: 10px">
|
||||||
|
<span>学生基本信息</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="el-table--enable-row-hover el-table--medium"
|
||||||
|
style="
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
text-align: center;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div class="cell" style="width: 20%">
|
||||||
|
姓名:{{ sythesizestudent.studentName }}
|
||||||
|
</div>
|
||||||
|
<div class="cell" style="width: 20%">
|
||||||
|
性别:{{ sythesizestudent.studentSex == "MALE" ? "男" : "女" }}
|
||||||
|
</div>
|
||||||
|
<div class="cell" style="width: 20%">
|
||||||
|
年龄:{{ sythesizestudent.studentAge }}
|
||||||
|
</div>
|
||||||
|
<div class="cell" style="width: 20%">
|
||||||
|
民族:{{ sythesizestudent.nationName }}
|
||||||
|
</div>
|
||||||
|
<div class="cell" style="width: 20%">
|
||||||
|
ID:{{ sythesizestudent.studentNumber }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="display: flex; margin-top: 20px">
|
||||||
|
<div class="cell" style="width: 60%; margin-left: 7.7%">
|
||||||
|
所属幼儿园:{{ sythesizestudent.kindergartenName }}
|
||||||
|
</div>
|
||||||
|
<div class="cell">班级:{{ sythesizestudent.className }}</div>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 20px; margin-left: 7.7%">
|
||||||
|
<div class="cell">
|
||||||
|
地址:{{ sythesizestudent.kindergartenAddress }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" class="card-box">
|
||||||
|
<el-card style="margin-top: 40px">
|
||||||
|
<div
|
||||||
|
class="el-table--enable-row-hover el-table--medium"
|
||||||
|
style="margin: 20px auto; height: 40px; text-align: center"
|
||||||
|
>
|
||||||
|
<div style="display: inline-block">
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 80px;
|
||||||
|
text-align: center;
|
||||||
|
"
|
||||||
|
v-for="(item, index) in sythesizestudent.firstItemCategoryList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<span :style="index == 0 ? '' : 'margin-right:20px'">{{
|
||||||
|
index == 0 ? null : "+"
|
||||||
|
}}</span>
|
||||||
|
<span>
|
||||||
|
{{ item.categoryScore }}
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
:style="index != 0 ? 'left:18px' : ''"
|
||||||
|
style="position: absolute; left: 0px; top: 20px; width: 80px"
|
||||||
|
>{{ item.categoryName }}</span
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div style="display: inline-block; position: relative">
|
||||||
|
<span style="margin: 0 20px">= </span>
|
||||||
|
<span>{{ sythesizestudent.totalCategoryScore }}</span>
|
||||||
|
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
width: 80px;
|
||||||
|
left: 29px;
|
||||||
|
"
|
||||||
|
>(综合得分)</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; font-size: 25px; margin-top: 30px">
|
||||||
|
获取徽章
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: space-around;
|
||||||
|
margin-top: 20px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
v-for="(item, index) in sythesizestudent.categoryNameList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
style="width: 80px; height: 80px"
|
||||||
|
src="@/icons/金牌2.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<div style="margin-top: 10px">{{ item }}</div>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="24" class="card-box" style="margin-top: 40px">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<span>综合体质分析图</span>
|
||||||
|
</div>
|
||||||
|
<div class="el-table el-table--enable-row-hover el-table--medium">
|
||||||
|
<div
|
||||||
|
ref="chart"
|
||||||
|
id="chart"
|
||||||
|
style="width: 1000px; height: 600px; margin: 0 auto"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没成绩</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { listStudentInfo } from "@/api/system/studentInfo";
|
||||||
|
import { listClassinfo } from "@/api/system/classinfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { synthesize } from "@/api/system/comprehensive";
|
||||||
|
export default {
|
||||||
|
name: "comprehensive",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total2: 0,
|
||||||
|
total3: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
classshow: false,
|
||||||
|
studentshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
//班级类型
|
||||||
|
dictValue1: "",
|
||||||
|
dictValue2: "",
|
||||||
|
dictValue3: "",
|
||||||
|
dictValue4: "",
|
||||||
|
ClassType: "class_type",
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//学生查询
|
||||||
|
studentqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
classId: "",
|
||||||
|
nationDictId: null,
|
||||||
|
studentName: null,
|
||||||
|
studentSex: null,
|
||||||
|
studentNumber: null,
|
||||||
|
birthDate: null,
|
||||||
|
cardNumber: null,
|
||||||
|
onceName: null,
|
||||||
|
homeAddress: null,
|
||||||
|
},
|
||||||
|
//班级查询
|
||||||
|
classqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
kindergartenId: "",
|
||||||
|
className: null,
|
||||||
|
classType: null,
|
||||||
|
},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//班级list
|
||||||
|
classinfoList: [],
|
||||||
|
//班级名字
|
||||||
|
className: "请选择班级",
|
||||||
|
//班级ID
|
||||||
|
classId: "",
|
||||||
|
//学生list
|
||||||
|
studentInfoList: [],
|
||||||
|
//学生名字
|
||||||
|
studentname: "请选择学生",
|
||||||
|
//学生ID
|
||||||
|
studentId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//学生基本信息
|
||||||
|
sythesizestudent: [],
|
||||||
|
// 综合体质分析查询参数
|
||||||
|
synthesizelist: {
|
||||||
|
studentId: "",
|
||||||
|
batchCode: "",
|
||||||
|
// studentId: "10",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
},
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.class();
|
||||||
|
// this.synthesizeinfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//综合体质分析素质
|
||||||
|
synthesizeinfo() {
|
||||||
|
synthesize(this.synthesizelist).then((res) => {
|
||||||
|
if (res.data == [] || !res.data) {
|
||||||
|
this.itemshow2 = true;
|
||||||
|
this.itemshow = false;
|
||||||
|
} else {
|
||||||
|
this.sythesizestudent = res.data;
|
||||||
|
console.log(this.sythesizestudent);
|
||||||
|
let seriesData = [];
|
||||||
|
let yindicator = [];
|
||||||
|
res.data.physiqueCategoryList.forEach((el) => {
|
||||||
|
// console.log(el.categoryScore);
|
||||||
|
seriesData.push(el.categoryScore);
|
||||||
|
yindicator.push({
|
||||||
|
name: el.categoryName + " " + "(" + el.levelName + "" + ")",
|
||||||
|
max: el.maxScore,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
console.log(seriesData, yindicator);
|
||||||
|
|
||||||
|
var myChart = echarts.init(document.getElementById("chart"));
|
||||||
|
|
||||||
|
let option = {
|
||||||
|
//配置维度的最大值
|
||||||
|
color: "blue",
|
||||||
|
radar: {
|
||||||
|
name: {
|
||||||
|
show: true,
|
||||||
|
color: "black",
|
||||||
|
},
|
||||||
|
center: ["50%", "50%"],
|
||||||
|
// 雷达图的指示器,用来指定雷达图中的多个变量(维度)
|
||||||
|
indicator: yindicator,
|
||||||
|
shape: "polygon", //对雷达图形设置成一个圆形,可选 circle:圆形,polygon:多角形(默认)
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: "radar",
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
color: "blue", //显示数值
|
||||||
|
},
|
||||||
|
areaStyle: {}, //每个雷达图形成一个阴影的面积
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
name: "成绩区域",
|
||||||
|
value: seriesData,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
areaStyle: {
|
||||||
|
color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [
|
||||||
|
{
|
||||||
|
color: "rgba(50, 50, 255, 0.1)",
|
||||||
|
offset: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
color: "rgba(50, 50, 200, 0.9)",
|
||||||
|
offset: 1,
|
||||||
|
},
|
||||||
|
]),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
// 绘制图表
|
||||||
|
myChart.setOption(option);
|
||||||
|
this.itemshow2 = false;
|
||||||
|
this.itemshow = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// var myChart = echarts.init(document.getElementById("chart"));
|
||||||
|
// var option;
|
||||||
|
|
||||||
|
// option = {
|
||||||
|
// color: ["#f6da22", "#bbe2e8", "#6cacde"],
|
||||||
|
// legend: {
|
||||||
|
// data: ["Allocated Budget", "Actual Spending"],
|
||||||
|
// },
|
||||||
|
// radar: {
|
||||||
|
// indicator: yindicator,
|
||||||
|
// color: "#fff",
|
||||||
|
// },
|
||||||
|
// series: [
|
||||||
|
// {
|
||||||
|
// name: "Budget vs spending",
|
||||||
|
// type: "radar",
|
||||||
|
// data: [
|
||||||
|
// {
|
||||||
|
// value: seriesData,
|
||||||
|
// name: "综合体质分析图",
|
||||||
|
// areaStyle: {
|
||||||
|
// color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [
|
||||||
|
// {
|
||||||
|
// color: "rgba(255, 145, 124, 0.1)",
|
||||||
|
// offset: 0,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// color: "rgba(255, 145, 124, 0.9)",
|
||||||
|
// offset: 1,
|
||||||
|
// },
|
||||||
|
// ]),
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// };
|
||||||
|
|
||||||
|
// option && myChart.setOption(option);
|
||||||
|
|
||||||
|
// option = {
|
||||||
|
// legend: {
|
||||||
|
// top: "bottom",
|
||||||
|
// },
|
||||||
|
// toolbox: {
|
||||||
|
// show: true,
|
||||||
|
// feature: {
|
||||||
|
// mark: { show: true },
|
||||||
|
// dataView: { show: true, readOnly: false },
|
||||||
|
// restore: { show: true },
|
||||||
|
// saveAsImage: { show: true },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// series: [
|
||||||
|
// {
|
||||||
|
// name: "Nightingale Chart",
|
||||||
|
// type: "pie",
|
||||||
|
// radius: '50%',
|
||||||
|
// center: ["50%", "50%"],
|
||||||
|
// roseType: "area",
|
||||||
|
// itemStyle: {
|
||||||
|
// normal: {
|
||||||
|
// color: function (colors) {
|
||||||
|
// var colorList = [
|
||||||
|
// "#91cd77",
|
||||||
|
// "#5470c6",
|
||||||
|
// "#fc8251",
|
||||||
|
// "#ef6567",
|
||||||
|
// "#f9c956",
|
||||||
|
// "#75bedc",
|
||||||
|
// "#FCEF03",
|
||||||
|
// "#E12BE4",
|
||||||
|
// "#0070C0",
|
||||||
|
// ];
|
||||||
|
// return colorList[colors.dataIndex];
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// data: seriesData,
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// };
|
||||||
|
|
||||||
|
// option && myChart.setOption(option);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 点击学生按钮
|
||||||
|
studentshowclick() {
|
||||||
|
if (this.studentqueryParams.classId == "") {
|
||||||
|
this.$message.error("请先选择班级");
|
||||||
|
} else {
|
||||||
|
this.studentshow = true;
|
||||||
|
this.studentlist();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.synthesizelist.studentId == "") {
|
||||||
|
this.$message.error("请先选择学生");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.synthesizelist.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.synthesizeinfo();
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//学生左侧按钮
|
||||||
|
studentclick(row) {
|
||||||
|
this.studentname = row.studentName;
|
||||||
|
this.studentId = row.id;
|
||||||
|
this.studentshow = false;
|
||||||
|
this.synthesizelist.studentId = row.id;
|
||||||
|
},
|
||||||
|
//获取学生
|
||||||
|
studentlist() {
|
||||||
|
listStudentInfo(this.studentqueryParams).then((res) => {
|
||||||
|
this.studentInfoList = res.rows;
|
||||||
|
this.total3 = res.total;
|
||||||
|
// console.log(this.studentInfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击所属班级
|
||||||
|
classshowclick() {
|
||||||
|
if (this.classqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.classshow = true;
|
||||||
|
this.classinfo();
|
||||||
|
}
|
||||||
|
// console.log(this.classqueryParams);
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//学生关闭
|
||||||
|
studentcancel() {
|
||||||
|
this.studentshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级关闭
|
||||||
|
classcancel() {
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//班级左侧点击
|
||||||
|
classclick(row) {
|
||||||
|
// console.log(row);
|
||||||
|
this.className = row.className;
|
||||||
|
this.classId = row.id;
|
||||||
|
this.studentqueryParams.classId = row.id;
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.classqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
// this.synthesizeinfo();
|
||||||
|
},
|
||||||
|
//班级类型
|
||||||
|
class() {
|
||||||
|
tKindergartenInfo(this.ClassType).then((res) => {
|
||||||
|
this.dictValue1 = res.data[0].dictValue;
|
||||||
|
this.dictValue2 = res.data[1].dictValue;
|
||||||
|
this.dictValue3 = res.data[2].dictValue;
|
||||||
|
this.dictValue4 = res.data[3].dictValue;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//班级list
|
||||||
|
classinfo() {
|
||||||
|
listClassinfo(this.classqueryParams).then((response) => {
|
||||||
|
this.classinfoList = response.rows;
|
||||||
|
this.total2 = response.total;
|
||||||
|
// console.log(this.classinfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@ -298,34 +298,30 @@ export default {
|
|||||||
components: { Treeselect },
|
components: { Treeselect },
|
||||||
data() {
|
data() {
|
||||||
let testItemLevelList = (rule, value, callback) => {
|
let testItemLevelList = (rule, value, callback) => {
|
||||||
console.log(value);
|
let min = value.map((e) => {
|
||||||
|
return e.levelMinScore;
|
||||||
|
}).toString();
|
||||||
|
let max = value.map((e) => {
|
||||||
|
return e.levelMaxScore;
|
||||||
|
}).toString();
|
||||||
|
console.log(min, max);
|
||||||
|
|
||||||
|
if (Number(max) < Number(min)) {
|
||||||
|
console.log(min,max);
|
||||||
|
callback(new Error("最高分必须大于最低分,请重新填写!"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
value.map((e) => {
|
value.map((e) => {
|
||||||
return e.levelName;
|
return e.levelName;
|
||||||
}) == ""
|
}) == ""
|
||||||
) {
|
) {
|
||||||
callback();
|
callback();
|
||||||
} else if (
|
} else if (min == "") {
|
||||||
value.map((e) => {
|
|
||||||
return e.levelMinScore;
|
|
||||||
}) == ""
|
|
||||||
) {
|
|
||||||
callback();
|
callback();
|
||||||
} else if (
|
} else if (max == "") {
|
||||||
value.map((e) => {
|
|
||||||
return e.levelMaxScore;
|
|
||||||
}) == ""
|
|
||||||
) {
|
|
||||||
callback();
|
callback();
|
||||||
} else if (
|
|
||||||
value.map((e) => {
|
|
||||||
return e.levelMaxScore;
|
|
||||||
}) <=
|
|
||||||
value.map((e) => {
|
|
||||||
return e.levelMinScore;
|
|
||||||
})
|
|
||||||
) {
|
|
||||||
callback(new Error("级别最高分必须大于最低分,请重新填写!"));
|
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
|
|||||||
924
src/views/system/quality/index.vue
Normal file
924
src/views/system/quality/index.vue
Normal file
@ -0,0 +1,924 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属班级" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="className == '请选择班级'"
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="学生" prop="categoryName" label-width="45px">
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
v-if="studentname == '请选择学生'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="批次成绩" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //学生 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择学生"
|
||||||
|
:visible.sync="studentshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 70px"
|
||||||
|
:before-close="studentcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="studentInfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
v-if="studentId == scope.row.id"
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="学生姓名"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="性别"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.studentSex == "MALE" ? "男" : "女" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="homeAddress"
|
||||||
|
label="住址"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total3 > 0"
|
||||||
|
:total="total3"
|
||||||
|
:page.sync="studentqueryParams.pageNum"
|
||||||
|
:limit.sync="studentqueryParams.pageSize"
|
||||||
|
@pagination="studentlist"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //班级 -->
|
||||||
|
<el-dialog
|
||||||
|
width="1000px"
|
||||||
|
title="选择所属班级"
|
||||||
|
:visible.sync="classshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="classcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
v-if="classId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="classType"
|
||||||
|
label="班级类型"
|
||||||
|
width="160"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.classType == dictValue1 ? "大班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue2 ? "中班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue3 ? "小班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue4 ? "毕业" : "" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="classTeacher"
|
||||||
|
label="班主任姓名"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total2 > 0"
|
||||||
|
:total="total2"
|
||||||
|
:page.sync="classqueryParams.pageNum"
|
||||||
|
:limit.sync="classqueryParams.pageSize"
|
||||||
|
@pagination="classinfo"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-card
|
||||||
|
v-show="itemshow"
|
||||||
|
class="box-card"
|
||||||
|
style="width: 95%; margin: 0 auto"
|
||||||
|
>
|
||||||
|
<div slot="header" style="text-align: center; margin-bottom: 30px">
|
||||||
|
身体素质测试
|
||||||
|
</div>
|
||||||
|
<el-row style="text-align: center">
|
||||||
|
<el-col
|
||||||
|
:span="5"
|
||||||
|
style="
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>身体素质测试</el-col
|
||||||
|
>
|
||||||
|
<el-col
|
||||||
|
:span="5"
|
||||||
|
style="
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>测量值</el-col
|
||||||
|
>
|
||||||
|
<el-col
|
||||||
|
:span="9"
|
||||||
|
style="
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>成绩</el-col
|
||||||
|
>
|
||||||
|
<el-col
|
||||||
|
:span="5"
|
||||||
|
style="
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>综合评价</el-col
|
||||||
|
>
|
||||||
|
</el-row>
|
||||||
|
<el-row
|
||||||
|
style="text-align: center"
|
||||||
|
v-for="(item, index) in studentscorelist"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<el-col
|
||||||
|
:span="5"
|
||||||
|
style="
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.itemName }}
|
||||||
|
</el-col>
|
||||||
|
<el-col
|
||||||
|
:span="5"
|
||||||
|
style="
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.itemScore ? item.itemScore : "" }}
|
||||||
|
{{ item.scoreDictValue ? item.scoreDictValue : "" }}
|
||||||
|
{{ item.measureUnit }}
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col
|
||||||
|
v-if="item.itemScore"
|
||||||
|
:span="9"
|
||||||
|
style="
|
||||||
|
height: 100px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
position: relative;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span style="position: absolute; left: 5%; top: 10px"
|
||||||
|
>{{
|
||||||
|
item.measureUnit == "s" || item.measureUnit == "h" ? "时间" : ""
|
||||||
|
}}{{
|
||||||
|
item.measureUnit == "cm" || item.measureUnit == "m" ? "距离" : ""
|
||||||
|
}}({{ item.measureUnit }})</span
|
||||||
|
>
|
||||||
|
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
margin-top: 20px;
|
||||||
|
float: left;
|
||||||
|
margin-left: 6%;
|
||||||
|
margin-top: 14%;
|
||||||
|
"
|
||||||
|
>评价</span
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 70%;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-left: 20%;
|
||||||
|
position: relative;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="position: absolute; top: 1px; left: 79%; line-height: 20px"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
|
item.minScore) /
|
||||||
|
5) *
|
||||||
|
4 +
|
||||||
|
item.minScore
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
left: 80%;
|
||||||
|
width: 1px;
|
||||||
|
height: 15px;
|
||||||
|
background: #a2a4a1;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
style="position: absolute; top: 1px; left: 59%; line-height: 20px"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
|
item.minScore) /
|
||||||
|
5) *
|
||||||
|
3 +
|
||||||
|
item.minScore
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
left: 60%;
|
||||||
|
width: 1px;
|
||||||
|
height: 15px;
|
||||||
|
background: #a2a4a1;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
style="position: absolute; top: 1px; left: 39%; line-height: 20px"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
|
item.minScore) /
|
||||||
|
5) *
|
||||||
|
2 +
|
||||||
|
item.minScore
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
left: 40%;
|
||||||
|
width: 1px;
|
||||||
|
height: 15px;
|
||||||
|
background: #a2a4a1;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
style="position: absolute; top: 1px; left: 19%; line-height: 20px"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
|
item.minScore) /
|
||||||
|
5) *
|
||||||
|
1 +
|
||||||
|
item.minScore
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
left: 20%;
|
||||||
|
width: 1px;
|
||||||
|
height: 15px;
|
||||||
|
background: #a2a4a1;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
style="position: absolute; top: 1px; left: -1%; line-height: 20px"
|
||||||
|
>
|
||||||
|
{{ item.minScore == null ? 0 : item.minScore }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
left: 0%;
|
||||||
|
width: 1px;
|
||||||
|
height: 15px;
|
||||||
|
background: #a2a4a1;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
right: -1%;
|
||||||
|
line-height: 20px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.maxScore == null ? 100 : item.maxScore }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
right: 0%;
|
||||||
|
width: 2px;
|
||||||
|
height: 15px;
|
||||||
|
background: #a2a4a1;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="cz2"
|
||||||
|
:style="{
|
||||||
|
width:
|
||||||
|
((item.itemScore - item.minScore) /
|
||||||
|
(item.maxScore - item.minScore)) *
|
||||||
|
100 +
|
||||||
|
'%',
|
||||||
|
}"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="position: absolute; left: 30%; top: 72%">
|
||||||
|
{{ item.leveName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col
|
||||||
|
v-else
|
||||||
|
:span="9"
|
||||||
|
style="
|
||||||
|
height: 100px;
|
||||||
|
border-right: 1px solid #ededed;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
position: relative;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
margin-top: 20px;
|
||||||
|
float: left;
|
||||||
|
margin-left: 10%;
|
||||||
|
margin-top: 7%;
|
||||||
|
"
|
||||||
|
>成绩评价</span
|
||||||
|
>
|
||||||
|
<div style="position: absolute; left: 48%; top: 40%">
|
||||||
|
{{ item.leveName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col
|
||||||
|
:span="5"
|
||||||
|
style="
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
border-bottom: 1px solid #ededed;
|
||||||
|
"
|
||||||
|
>{{ item.syntheticalAssess }}</el-col
|
||||||
|
>
|
||||||
|
</el-row>
|
||||||
|
</el-card>
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { listStudentInfo } from "@/api/system/studentInfo";
|
||||||
|
import { listClassinfo } from "@/api/system/classinfo";
|
||||||
|
import {
|
||||||
|
getRoleInfo,
|
||||||
|
testBodyScoreInfo,
|
||||||
|
testScoreBatch,
|
||||||
|
} from "@/api/system/quality";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "quality",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total2: 0,
|
||||||
|
total3: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
classshow: false,
|
||||||
|
studentshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
//班级类型
|
||||||
|
dictValue1: "",
|
||||||
|
dictValue2: "",
|
||||||
|
dictValue3: "",
|
||||||
|
dictValue4: "",
|
||||||
|
ClassType: "class_type",
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//学生查询
|
||||||
|
studentqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
classId: "",
|
||||||
|
nationDictId: null,
|
||||||
|
studentName: null,
|
||||||
|
studentSex: null,
|
||||||
|
studentNumber: null,
|
||||||
|
birthDate: null,
|
||||||
|
cardNumber: null,
|
||||||
|
onceName: null,
|
||||||
|
homeAddress: null,
|
||||||
|
},
|
||||||
|
//班级查询
|
||||||
|
classqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
kindergartenId: "",
|
||||||
|
className: null,
|
||||||
|
classType: null,
|
||||||
|
},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//班级list
|
||||||
|
classinfoList: [],
|
||||||
|
//班级名字
|
||||||
|
className: "请选择班级",
|
||||||
|
//班级ID
|
||||||
|
classId: "",
|
||||||
|
//学生list
|
||||||
|
studentInfoList: [],
|
||||||
|
//学生名字
|
||||||
|
studentname: "请选择学生",
|
||||||
|
//学生ID
|
||||||
|
studentId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//学生成绩
|
||||||
|
studentscorelist: [],
|
||||||
|
// 成绩查询参数
|
||||||
|
studentscore: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
studentId: "",
|
||||||
|
batchCode: "",
|
||||||
|
// studentId: "14",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
// studentId: "9",
|
||||||
|
// batchCode: "PC202208030004",
|
||||||
|
},
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.class();
|
||||||
|
// this.studenttext();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//学生身体素质
|
||||||
|
studenttext() {
|
||||||
|
testBodyScoreInfo(this.studentscore).then((res) => {
|
||||||
|
// res.rows[3].levelMaxScore = 19.5;
|
||||||
|
// res.rows[3].levelMinScore = 4.5;
|
||||||
|
// res.rows[3].itemScore = 7.5;
|
||||||
|
if (!res.rows || res.rows == "" || res.rows == []) {
|
||||||
|
this.itemshow2 = true;
|
||||||
|
this.itemshow = false;
|
||||||
|
} else {
|
||||||
|
this.studentscorelist = res.rows;
|
||||||
|
console.log(this.studentscorelist);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 点击学生按钮
|
||||||
|
studentshowclick() {
|
||||||
|
if (this.studentqueryParams.classId == "") {
|
||||||
|
this.$message.error("请先选择班级");
|
||||||
|
} else {
|
||||||
|
this.studentshow = true;
|
||||||
|
this.studentlist();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.studentscore.studentId == "") {
|
||||||
|
this.$message.error("请先选择学生");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.studentscore.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.studenttext();
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//学生左侧按钮
|
||||||
|
studentclick(row) {
|
||||||
|
this.studentname = row.studentName;
|
||||||
|
this.studentId = row.id;
|
||||||
|
this.studentshow = false;
|
||||||
|
this.studentscore.studentId = row.id;
|
||||||
|
},
|
||||||
|
|
||||||
|
//获取学生
|
||||||
|
studentlist() {
|
||||||
|
listStudentInfo(this.studentqueryParams).then((res) => {
|
||||||
|
this.studentInfoList = res.rows;
|
||||||
|
this.total3 = res.total;
|
||||||
|
|
||||||
|
// console.log(this.studentInfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击所属班级
|
||||||
|
classshowclick() {
|
||||||
|
if (this.classqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.classshow = true;
|
||||||
|
this.classinfo();
|
||||||
|
}
|
||||||
|
// console.log(this.classqueryParams);
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//学生关闭
|
||||||
|
studentcancel() {
|
||||||
|
this.studentshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级关闭
|
||||||
|
classcancel() {
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//班级左侧点击
|
||||||
|
classclick(row) {
|
||||||
|
// console.log(row);
|
||||||
|
this.className = row.className;
|
||||||
|
this.classId = row.id;
|
||||||
|
this.studentqueryParams.classId = row.id;
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.classqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级类型
|
||||||
|
class() {
|
||||||
|
tKindergartenInfo(this.ClassType).then((res) => {
|
||||||
|
this.dictValue1 = res.data[0].dictValue;
|
||||||
|
this.dictValue2 = res.data[1].dictValue;
|
||||||
|
this.dictValue3 = res.data[2].dictValue;
|
||||||
|
this.dictValue4 = res.data[3].dictValue;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//班级list
|
||||||
|
classinfo() {
|
||||||
|
listClassinfo(this.classqueryParams).then((response) => {
|
||||||
|
this.classinfoList = response.rows;
|
||||||
|
this.total2 = response.total;
|
||||||
|
|
||||||
|
// console.log(this.classinfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
::v-deep .el-card__header {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.cz2 {
|
||||||
|
background: #db6b6f;
|
||||||
|
height: 5px;
|
||||||
|
align-items: center;
|
||||||
|
line-height: 30px;
|
||||||
|
position: absolute;
|
||||||
|
top: 40px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
1269
src/views/system/shape/index.vue
Normal file
1269
src/views/system/shape/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -123,7 +123,6 @@
|
|||||||
label="所属批次编号"
|
label="所属批次编号"
|
||||||
align="center"
|
align="center"
|
||||||
prop="batchCode"
|
prop="batchCode"
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<el-table-column label="测试成绩" align="center" prop="itemScore">
|
<el-table-column label="测试成绩" align="center" prop="itemScore">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@ -1225,8 +1224,6 @@ export default {
|
|||||||
{ required: true, message: "请输入测试成绩", trigger: "blur" },
|
{ required: true, message: "请输入测试成绩", trigger: "blur" },
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// itemScores: [
|
// itemScores: [
|
||||||
// { required: true, message: "测试成绩不能为空", trigger: "blur" },
|
// { required: true, message: "测试成绩不能为空", trigger: "blur" },
|
||||||
// ],
|
// ],
|
||||||
@ -1235,7 +1232,6 @@ export default {
|
|||||||
{ required: true, message: "综合评价不能为空", trigger: "blur" },
|
{ required: true, message: "综合评价不能为空", trigger: "blur" },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -1504,10 +1500,13 @@ export default {
|
|||||||
// this.stname = row.studentName;
|
// this.stname = row.studentName;
|
||||||
// this.testname=row.itemName;
|
// this.testname=row.itemName;
|
||||||
// this.itemNumbername = row.batchCode;
|
// this.itemNumbername = row.batchCode;
|
||||||
if(response.data.itemScore==''||response.data.itemScore==null){
|
if (response.data.itemScore == "" || response.data.itemScore == null) {
|
||||||
response.data.dictvalue='text';
|
response.data.dictvalue = "text";
|
||||||
}else if(response.data.scoreDictValue==''||response.data.scoreDictValue==null){
|
} else if (
|
||||||
response.data.dictvalue='number';
|
response.data.scoreDictValue == "" ||
|
||||||
|
response.data.scoreDictValue == null
|
||||||
|
) {
|
||||||
|
response.data.dictvalue = "number";
|
||||||
}
|
}
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
// this.form = response.className;
|
// this.form = response.className;
|
||||||
@ -1519,7 +1518,6 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm() {
|
submitForm() {
|
||||||
console.log("wwwwww")
|
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.id != null) {
|
if (this.form.id != null) {
|
||||||
@ -1533,6 +1531,14 @@ export default {
|
|||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
|
this.xmname = "请选择所属班级";
|
||||||
|
this.stname = "请选择学生姓名";
|
||||||
|
this.testname = "请选择测试项目名称";
|
||||||
|
this.itemNumbername = "请选择批次编号";
|
||||||
|
this.itemId2 = "";
|
||||||
|
this.itemId3 = "";
|
||||||
|
this.itemId4 = "";
|
||||||
|
this.itemId5 = "";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1542,7 +1548,7 @@ export default {
|
|||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal
|
this.$modal
|
||||||
.confirm('是否确认删除个人成绩录入管理编号为"' + ids + '"的数据项?')
|
.confirm("是否确认删除个人成绩的数据项?")
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return delTestItemScore(ids);
|
return delTestItemScore(ids);
|
||||||
})
|
})
|
||||||
|
|||||||
@ -356,7 +356,7 @@
|
|||||||
placeholder="请输入级别描述"
|
placeholder="请输入级别描述"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目概述" prop="remark">
|
<el-form-item label="测试目的" prop="remark">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.remark"
|
v-model="form.remark"
|
||||||
placeholder="请输入项目概述"
|
placeholder="请输入项目概述"
|
||||||
@ -436,6 +436,23 @@ export default {
|
|||||||
name: "TestItems",
|
name: "TestItems",
|
||||||
data() {
|
data() {
|
||||||
let itemLevelList = (rule, value, callback) => {
|
let itemLevelList = (rule, value, callback) => {
|
||||||
|
let min = value
|
||||||
|
.map((e) => {
|
||||||
|
return e.levelMinScore;
|
||||||
|
})
|
||||||
|
.toString();
|
||||||
|
let max = value
|
||||||
|
.map((e) => {
|
||||||
|
return e.levelMaxScore;
|
||||||
|
})
|
||||||
|
.toString();
|
||||||
|
console.log(min, max);
|
||||||
|
|
||||||
|
if (Number(max) < Number(min)) {
|
||||||
|
console.log(min, max);
|
||||||
|
callback(new Error("最高分必须大于最低分,请重新填写!"));
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
value.map((e) => {
|
value.map((e) => {
|
||||||
return e.levelName;
|
return e.levelName;
|
||||||
@ -454,15 +471,6 @@ export default {
|
|||||||
}) == ""
|
}) == ""
|
||||||
) {
|
) {
|
||||||
callback();
|
callback();
|
||||||
} else if (
|
|
||||||
value.map((e) => {
|
|
||||||
return e.levelMaxScore;
|
|
||||||
}) <=
|
|
||||||
value.map((e) => {
|
|
||||||
return e.levelMinScore;
|
|
||||||
})
|
|
||||||
) {
|
|
||||||
callback(new Error("级别最高分必须大于最低分,请重新填写!"));
|
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
@ -486,6 +494,24 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const validateVin = (rule, value, callback) => {
|
||||||
|
const containAlpha = /[a-zA-Z]/; //含有字母
|
||||||
|
|
||||||
|
const containLowerCase = /[a-z]/; //匹配小写字母
|
||||||
|
value = value.slice(0, 1);
|
||||||
|
console.log(value);
|
||||||
|
|
||||||
|
if (!value) {
|
||||||
|
callback(new Error("不能为空"));
|
||||||
|
} else if (!containAlpha.test(value)) {
|
||||||
|
callback(new Error("第一个必须为字母"));
|
||||||
|
} else if (containLowerCase.test(value)) {
|
||||||
|
callback(new Error("英文必须大写"));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
//项目测试类型
|
//项目测试类型
|
||||||
itemResultType: "item_result_type",
|
itemResultType: "item_result_type",
|
||||||
@ -599,6 +625,11 @@ export default {
|
|||||||
],
|
],
|
||||||
itemCode: [
|
itemCode: [
|
||||||
{ required: true, message: "项目编号不能为空", trigger: "blur" },
|
{ required: true, message: "项目编号不能为空", trigger: "blur" },
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
validator: validateVin,
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
itemName: [
|
itemName: [
|
||||||
{ required: true, message: "项目名称不能为空", trigger: "blur" },
|
{ required: true, message: "项目名称不能为空", trigger: "blur" },
|
||||||
@ -763,7 +794,7 @@ export default {
|
|||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal
|
this.$modal
|
||||||
.confirm('是否确认该测试项目信息吗?')
|
.confirm("是否确认该测试项目信息吗?")
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return delTestItems(ids);
|
return delTestItems(ids);
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user