个人成绩增加小数点后两位,

This commit is contained in:
闫晓茹 2022-08-16 11:05:58 +08:00
parent 525c1f3623
commit 2d0c93d7f4
3 changed files with 351 additions and 92 deletions

View File

@ -26,10 +26,10 @@
style="width: 228px"
/>
</el-form-item>
<el-form-item label="平均成绩" prop="itemAvgScore">
<el-form-item label="平均得分" prop="itemAvgScore">
<el-input
v-model="queryParams.itemAvgScore"
placeholder="请输入平均成绩"
placeholder="请输入平均得分"
clearable
@keyup.enter.native="handleQuery2"
/>
@ -109,7 +109,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="所属区域" align="center" prop="name" />
<el-table-column label="所属项目" align="center" prop="itemName" />
<el-table-column label="平均成绩" align="center" prop="itemAvgScore">
<el-table-column label="平均得分" align="center" prop="itemAvgScore">
<template slot-scope="scope">
{{ scope.row.dictValue == "number" ? scope.row.itemAvgScore : "" }}
{{ scope.row.dictValue == "text" ? scope.row.itemAvgText : "" }}
@ -184,40 +184,41 @@
</el-form-item>
<el-form-item
label="平均成绩"
label="平均得分"
:required="true"
v-if="form.resultDictType == ''"
>
<el-input placeholder="请输入平均成绩" />
<el-input placeholder="请输入平均得分" />
</el-form-item>
<el-form-item
label="平均成绩"
label="平均得分"
v-else-if="form.dictValue == ResultType1.dictValue"
key="itemAvgScore"
prop="itemAvgScore"
>
<el-input
v-model.number="form.itemAvgScore"
placeholder="请输入平均成绩"
v-model="form.itemAvgScore"
@input="NumberCheck()"
placeholder="请输入平均得分"
/>
</el-form-item>
<el-form-item
label="平均成绩"
label="平均得分"
v-else-if="form.dictValue == ResultType2.dictValue"
key="itemAvgText"
prop="itemAvgText"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均成绩" />
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分" />
</el-form-item>
<el-form-item
label="平均成绩"
label="平均得分"
v-else-if="form.dictValue == 'text'"
key="itemAvgText"
prop="itemAvgText"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均成绩" />
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -262,21 +263,22 @@
</el-form-item>
<el-form-item
label="平均成绩"
label="平均得分"
prop="itemAvgScore"
v-if="form.dictValue == 'number'"
>
<el-input
v-model.number="form.itemAvgScore"
placeholder="请输入平均成绩"
v-model="form.itemAvgScore"
@input="NumberCheck()"
placeholder="请输入平均得分"
/>
</el-form-item>
<el-form-item
label="平均成绩"
label="平均得分"
prop="itemAvgText"
v-if="form.dictValue == 'text'"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均成绩" />
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -455,9 +457,20 @@ import { listArea } from "@/api/system/area.js";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { Treeselect },
name: "TestItemCityScore",
name: "TestItemCityScore",
components: { Treeselect },
data() {
var roleMoeny = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form.itemAvgScore) {
callback(new Error("不能为空"));
} else if (this.form.itemAvgScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
return {
//
loading: true,
@ -517,13 +530,15 @@ export default {
form: {},
//
rules: {
itemAvgScore: [
{
required: true,
type: "number",
message: "必须填入数字",
trigger: "blur",
},
// itemAvgScore: [
// {
// required: true,
// type: "number",
// message: "",
// trigger: "blur",
// },
itemAvgScore: [
{ required: true, validator: roleMoeny, message: "" },
],
itemAvgText: [
{ required: true, message: "请输入全市平均成绩", trigger: "blur" },
@ -541,6 +556,20 @@ export default {
this.getList();
},
methods: {
NumberCheck(num) {
let str = this.form.itemAvgScore;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form.itemAvgScore=str
},
normalizer3(node) {
if (node.children && !node.children.length) {
delete node.children;

View File

@ -100,7 +100,10 @@
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<el-table-column label="所属项目" align="center" prop="itemName" />
<el-table-column label="测试项目平均成绩" align="center">
<el-table-column label="平均得分" align="center">
<!-- <template slot-scope="scope">
{{ fun(scope.row.itemAvgScore) }}
</template> -->
<template slot-scope="scope">
{{ scope.row.dictValue == "number" ? scope.row.itemAvgScore : "" }}
{{ scope.row.dictValue == "text" ? scope.row.itemAvgText : "" }}
@ -151,7 +154,7 @@
<el-form
ref="form"
:model="form"
:rules="rules"
:rules="rulesxg"
label-width="80px"
style=""
>
@ -185,24 +188,27 @@
</el-form-item>
<el-form-item
label="测试项目平均成绩"
label="平均得分"
prop="itemAvgScore"
key="itemAvgScore"
v-if="form.dictValue == 'number'"
>
<el-input
v-model.number="form.itemAvgScore"
style="width:360px"
placeholder="请输入平均成绩"
v-model="form.itemAvgScore"
@input="NumberCheck2()"
style="width: 360px"
placeholder="请输入平均得分"
/>
</el-form-item>
<el-form-item
label="测试项目平均成绩"
label="平均得分"
prop="itemAvgText"
key="itemAvgText"
v-if="form.dictValue == 'text'"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均成绩" style="width:360px"/>
<el-input
v-model="form.itemAvgText"
placeholder="请输入平均得分"
style="width: 360px"
/>
</el-form-item>
</el-form>
@ -213,14 +219,19 @@
</el-dialog>
<!-- 添加全国平均成绩对话框 -->
<el-dialog :title="title" :visible.sync="open" width="550px" append-to-body :before-close="cancel">
<el-dialog
:title="title"
:visible.sync="open"
width="550px"
append-to-body
:before-close="cancel"
>
<el-form
ref="form"
:model="form2"
:rules="rules"
label-width="80px"
style=""
>
<el-form-item label="所属项目" prop="itemId">
<el-button
@ -251,33 +262,34 @@
>
</el-form-item>
<el-form-item
label="测试项目平均成绩"
label="平均得分"
prop="itemAvgScore"
v-if="form2.resultDictType == ''"
>
<el-input placeholder="请输入测试项目平均成绩" style="width: 360px" />
<el-input placeholder="请输入平均得分" style="width: 360px" />
</el-form-item>
<el-form-item
label="测试项目平均成绩"
label="平均得分"
prop="itemAvgScore"
v-else-if="form2.resultDictType == 'number'"
>
<el-input
v-model.number="form2.itemAvgScore"
placeholder="请输入测试项目平均成绩"
v-model="form2.itemAvgScore"
@input="NumberCheck()"
placeholder="请输入平均得分"
style="width: 360px"
/>
</el-form-item>
<el-form-item
label="测试项目平均成绩"
label="平均得分"
prop="itemAvgText"
v-else-if="form2.resultDictType == 'text'"
>
<el-input
v-model="form2.itemAvgText"
placeholder="请输入测试项目平均成绩"
placeholder="请输入平均得分"
style="width: 360px"
/>
</el-form-item>
@ -336,7 +348,7 @@
></el-button>
<el-button
v-else
v-else
style="width: 15px; height: 15px"
circle
@click="xmclick(scope.row)"
@ -486,6 +498,32 @@ import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
export default {
name: "TestItemCountryScore",
data() {
var roleMoeny = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入"));
} else if (!this.form2.itemAvgScore) {
callback(new Error("不能为空"));
} else
if (this.form2.itemAvgScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
var roleMoeny2 = (rule, value, callback) => {
console.log(value);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form.itemAvgScore) {
callback(new Error("不能为空"));
} else if (this.form.itemAvgScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
return {
//
itemResultType: "item_result_type",
@ -518,9 +556,9 @@ export default {
//
open: false,
open2: false,
//
itemId2:"",
itemId2: "",
itemId: "",
queryParams: {
pageNum: 1,
@ -539,18 +577,15 @@ export default {
form2: {},
//
rulesxg: {
itemAvgScore: [{ required: true, validator: roleMoeny2, message: "", trigger: "blur"}],
},
rules: {
itemId: [{ required: true }],
itemAvgScore: [
{
required: true,
type: "number",
message: "必须填入数字",
trigger: "blur",
},
],
itemAvgScore: [ { required: true, validator: roleMoeny, message: "",trigger: "blur" }],
itemAvgText: [
{ required: true, message: "请输入全国平均成绩", trigger: "blur" },
{ required: true, message: "请输入平均得分", trigger: "blur" },
],
},
};
@ -559,6 +594,36 @@ export default {
this.getList();
},
methods: {
//
NumberCheck(num) {
let str = this.form2.itemAvgScore;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form2.itemAvgScore=str
},
NumberCheck2(num) {
let str = this.form.itemAvgScore;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form.itemAvgScore=str
},
// // fun(val) {
// // return Number(val).toFixed(2);
// },
xmclick(row) {
console.log(row);
this.xmname = row.itemName;
@ -694,7 +759,8 @@ export default {
this.form.itemAvgScore = "";
}
console.log(this.form);
this.form2.itemAvgScore = Number(this.form2.itemAvgScore).toFixed(2);
console.log(this.form2.itemAvgScore);
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
@ -711,9 +777,10 @@ export default {
});
}
}
});
this.itemId2 = "";
this.xmname="";
this.xmname="请选择所属项目";
},
/** 删除按钮操作 */
handleDelete(row) {

View File

@ -119,12 +119,12 @@
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column label="测试项目名称" align="center" prop="itemName" />
<el-table-column
width="150"
width="150"
label="所属批次编号"
align="center"
prop="batchCode"
/>
<el-table-column label="测试成绩" align="center" prop="itemScore">
<el-table-column label="个人成绩" align="center" prop="itemScore">
<template slot-scope="scope">
{{
scope.row.scoreDictValue == "" || scope.row.scoreDictValue == null
@ -138,6 +138,11 @@
}}
</template>
</el-table-column>
<el-table-column
label="个人成绩得分"
align="center"
prop="itemFraction"
/>
<el-table-column
label="综合评价"
align="center"
@ -189,7 +194,7 @@
append-to-body
:before-close="cancel2"
>
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form ref="form" :model="form" :rules="rules2" label-width="130px">
<el-form-item label="所属班级" prop="classId">
<el-input
disabled
@ -247,24 +252,34 @@
</el-form-item>
<el-form-item
label="测试成绩"
label="个人成绩"
prop="itemScore"
v-if="form.dictvalue=='number'"
v-if="form.dictvalue == 'number'"
>
<el-input
v-model.number="form.itemScore"
placeholder="请输入测试成绩"
v-model="form.itemScore"
@input="NumberCheck3()"
placeholder="请输入个人成绩"
style="width: 360px"
/>
</el-form-item>
<el-form-item
label="测试成绩"
label="个人成绩"
prop="scoreDictValue"
v-if="form.dictvalue == 'text'"
>
<el-input
v-model="form.scoreDictValue"
placeholder="请输入测试成绩"
placeholder="请输入个人成绩"
style="width: 360px"
/>
</el-form-item>
<el-form-item label="个人成绩得分" prop="itemFraction">
<el-input
v-model="form.itemFraction"
@input="NumberCheck4()"
placeholder="请输入个人成绩得分"
style="width: 360px"
/>
</el-form-item>
@ -432,35 +447,58 @@
</el-form-item>
<el-form-item
label="测试成绩"
label="个人成绩"
prop="itemScore"
v-if="form2.scoreDictId == '' || form2.scoreDictId == null"
>
<el-input placeholder="请输入测试成绩" style="width: 360px" />
<el-input placeholder="请输入个人成绩" style="width: 360px" />
</el-form-item>
<el-form-item
label="测试成绩"
label="个人成绩"
prop="scoreDictValue"
v-else-if="form2.scoreDictId == ResultType2.dictCode"
>
<el-input
v-model="form2.scoreDictValue"
placeholder="请输入测试成绩"
placeholder="请输入个人成绩"
style="width: 360px"
/>
</el-form-item>
<el-form-item
label="测试成绩"
prop="itemScore"
<el-form-item
label="个人成绩"
prop="itemScore"
v-else-if="form2.scoreDictId == ResultType1.dictCode"
>
<el-input
v-model.number="form2.itemScore"
placeholder="请输入测试成绩"
v-model="form2.itemScore"
@input="NumberCheck()"
placeholder="请输入个人成绩"
style="width: 360px"
/>
</el-form-item>
<!-- <el-form-item
label="个人成绩得分"
prop="itemFraction"
v-if="form3.scoreDictId == '' || form3.scoreDictId == null"
>
<el-input placeholder="请输入个人成绩得分" style="width: 360px" />
</el-form-item> -->
<el-form-item label="个人成绩得分" prop="itemFraction">
<el-input
v-model="form2.itemFraction"
@input="NumberCheck2()"
placeholder="请输入个人成绩得分"
style="width: 360px"
/>
</el-form-item>
@ -1095,10 +1133,58 @@ import {
testScoreBatch,
} from "@/api/system/testItemScore";
import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
import Treeselect from "@riophae/vue-treeselect";
export default {
name: "TestItemScore",
components: { Treeselect },
data() {
var roleMoeny = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form2.itemScore) {
callback(new Error("不能为空"));
} else if (this.form2.itemScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
var roleMoeny2 = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form2.itemFraction) {
callback(new Error("不能为空"));
} else if (this.form2.itemFraction * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
var roleMoeny3 = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form.itemFraction) {
callback(new Error("不能为空"));
} else if (this.form.itemFraction * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
var roleMoeny4 = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form.itemFraction) {
callback(new Error("不能为空"));
} else if (this.form.itemFraction * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else {
callback();
}
};
return {
//
itemResultType: "item_result_type",
@ -1109,6 +1195,7 @@ export default {
//
//
loading: true,
itemScore:'',
testItemScoreLists: [],
xmname: "请选择所属班级",
@ -1194,7 +1281,8 @@ export default {
form: {},
form2: {},
//
rules: {
rules2: {
itemScore: [{ required: true, validator: roleMoeny3, message: "",trigger: "blur" }],
classId: [
{ required: true, message: "所属班级不能为空", trigger: "blur" },
],
@ -1212,32 +1300,107 @@ export default {
},
],
itemScore: [
scoreDictValue: [
{ required: true, message: "请输入个人成绩", trigger: "blur" },
],
itemFraction: [{ required: true, validator: roleMoeny4, message: "" ,trigger: "blur"}],
syntheticalAssess: [
{ required: true, message: "综合评价不能为空", trigger: "blur" },
],
},
rules: {
itemScore: [{ required: true, validator: roleMoeny, message: "" ,trigger: "blur"}],
classId: [
{ required: true, message: "所属班级不能为空", trigger: "blur" },
],
studentId: [
{ required: true, message: "学生姓名不能为空", trigger: "blur" },
],
testItemId: [
{ required: true, message: "测试项目名称不能为空", trigger: "blur" },
],
batchCode: [
{
required: true,
type: "number",
message: "必须填入数字",
message: "批次编号不能为空",
trigger: "blur",
},
],
scoreDictValue: [
{ required: true, message: "请输入测试成绩", trigger: "blur" },
{ required: true, message: "请输入个人成绩", trigger: "blur" },
],
itemFraction: [{ required: true, validator: roleMoeny2, message: "",trigger: "blur" }],
// itemScores: [
// { required: true, message: "", trigger: "blur" },
// ],
syntheticalAssess:[
{ required: true, message: "综合评价不能为空", trigger: "blur" },
]
syntheticalAssess: [
{ required: true, message: "综合评价不能为空", trigger: "blur" },
],
},
};
},
created() {
this.getList();
},
methods: {
//
NumberCheck(num) {
let str = this.form2.itemScore;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form2.itemScore=str
},
//
NumberCheck2(num) {
let str = this.form2.itemFraction;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form2.itemFraction=str
},
NumberCheck3(num) {
let str = this.form.itemScore;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form.itemScore=str
},
NumberCheck4(num) {
let str = this.form.itemFraction;
//
if (str.indexOf(".") != -1) {
var str_ = str.substr(str.indexOf(".") + 1);
if (str_.indexOf(".") != -1) {
str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1);
}
}
//
str = str.replace(/[^\d^\.]+/g,'')
this.form.itemFraction=str
},
//
xmclick(row) {
console.log(row);
@ -1250,7 +1413,7 @@ export default {
this.innerVisible = false;
this.form.className = row.className;
this.queryParams3.classId=row.id
this.queryParams3.classId = row.id;
},
//
studentinfoclick() {