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

This commit is contained in:
闫晓茹 2022-08-19 14:27:59 +08:00
parent 2d0c93d7f4
commit abd75b3167
4 changed files with 362 additions and 155 deletions

View File

@ -26,6 +26,7 @@
style="width: 228px"
/>
</el-form-item>
<el-form-item label="平均得分" prop="itemAvgScore">
<el-input
v-model="queryParams.itemAvgScore"
@ -109,6 +110,12 @@
<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="sex" >
<template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男":"" }}
{{ scope.row.sex == "FEMALE" ? "女" :"" }}
</template>
</el-table-column>
<el-table-column label="平均得分" align="center" prop="itemAvgScore">
<template slot-scope="scope">
{{ scope.row.dictValue == "number" ? scope.row.itemAvgScore : "" }}
@ -219,6 +226,12 @@
prop="itemAvgText"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分" />
</el-form-item>
<el-form-item label="学生性别" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio :label="male"></el-radio>
<el-radio :label="female"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -279,6 +292,13 @@
v-if="form.dictValue == 'text'"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分" />
</el-form-item>
<el-form-item label="学生性别" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio :label="male"></el-radio>
<el-radio :label="female"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -485,6 +505,9 @@ export default {
ResultType2: "",
//
single: true,
//
male: "MALE",
female: "FEMALE",
//
multiple: true,
//
@ -550,6 +573,7 @@ export default {
{ required: true, message: "请选择所属项目", trigger: "blur" },
],
},
realVal:'',
};
},
created() {
@ -557,18 +581,26 @@ export default {
},
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
},
let str = this.form.itemAvgScore;
// console.log(str)
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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, "");
// console.log(str)
// this.form2.itemAvgScore = str;
str = parseFloat(str).toFixed(3)
this.realVal = str.substring(0, str.length - 1)
}
},
normalizer3(node) {
if (node.children && !node.children.length) {
@ -730,6 +762,7 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.form.itemAvgScore = this.realVal;
if (this.form.resultDictType == this.ResultType1.dictValue) {
console.log(this.ResultType1.dictValue);
this.form.itemAvgText = "";

View File

@ -17,14 +17,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="测试项目平均成绩" label-width="200">
<el-input
v-model="queryParams.itemAvgScore"
placeholder="请输入测试项目平均成绩"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item>
<el-button
type="primary"
@ -100,10 +92,14 @@
<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">
<!-- <template slot-scope="scope">
{{ fun(scope.row.itemAvgScore) }}
</template> -->
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男" : "" }}
{{ scope.row.sex == "FEMALE" ? "女" : "" }}
</template>
</el-table-column>
<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 : "" }}
@ -194,7 +190,7 @@
>
<el-input
v-model="form.itemAvgScore"
@input="NumberCheck2()"
@input="NumberCheck2()"
style="width: 360px"
placeholder="请输入平均得分"
/>
@ -210,6 +206,12 @@
style="width: 360px"
/>
</el-form-item>
<el-form-item label="学生性别" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio :label="male"></el-radio>
<el-radio :label="female"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -227,7 +229,7 @@
:before-close="cancel"
>
<el-form
ref="form"
ref="form2"
:model="form2"
:rules="rules"
label-width="80px"
@ -267,6 +269,7 @@
v-if="form2.resultDictType == ''"
>
<el-input placeholder="请输入平均得分" style="width: 360px" />
</el-form-item>
<el-form-item
@ -280,7 +283,9 @@
placeholder="请输入平均得分"
style="width: 360px"
/>
</el-form-item>
<el-form-item
label="平均得分"
@ -293,6 +298,12 @@
style="width: 360px"
/>
</el-form-item>
<el-form-item label="学生性别" prop="sex">
<el-radio-group v-model="form2.sex">
<el-radio :label="male"></el-radio>
<el-radio :label="female"></el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -498,17 +509,21 @@ import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
export default {
name: "TestItemCountryScore",
data() {
var roleMoeny = (rule, value, callback) => {
// value=String(value).split(".")[0] + "." + value.split(".")[1].slice(0, 2)
// console.log(arr)
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入"));
callback(new Error("请输入数字"));
} else if (!this.form2.itemAvgScore) {
callback(new Error("不能为空"));
} else
if (this.form2.itemAvgScore * 1 > 99999999) {
} else if (this.form2.itemAvgScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (this.form2.itemAvgScore == "0") {
callback(new Error("请输入成绩")); //
} else {
callback();
}
};
var roleMoeny2 = (rule, value, callback) => {
@ -539,6 +554,7 @@ export default {
//
single: true,
//
multiple: true,
//
showSearch: true,
@ -547,6 +563,9 @@ export default {
//
total: 0,
total2: 0,
//
male: "MALE",
female: "FEMALE",
//xiangmu
testItemslists: [],
//
@ -564,6 +583,7 @@ export default {
pageNum: 1,
pageSize: 10,
itemName: null,
sex: null,
},
queryParams2: {
pageNum: 1,
@ -578,49 +598,89 @@ export default {
//
rulesxg: {
itemAvgScore: [{ required: true, validator: roleMoeny2, message: "", trigger: "blur"}],
},
rules: {
itemId: [{ required: true }],
itemAvgScore: [ { required: true, validator: roleMoeny, message: "",trigger: "blur" }],
itemId: [
{ required: true, message: "请选择所属项目", trigger: "blur" },
],
itemAvgScore: [
{
required: true,
validator: roleMoeny2,
message: "",
trigger: "blur",
},
],
itemAvgText: [
{ required: true, message: "请输入平均得分", trigger: "blur" },
],
},
rules: {
itemId: [
{ required: true, message: "请选择所属项目", trigger: "blur" },
],
itemAvgScore: [
{
required: true,
validator: roleMoeny,
message: "",
trigger: "blur",
},
],
itemAvgText: [
{ required: true, message: "请输入平均得分", trigger: "blur" },
],
},
realVal:'',
};
},
created() {
this.getList();
},
methods: {
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
},
NumberCheck(num) {
let str = this.form2.itemAvgScore;
// console.log(str)
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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, "");
// console.log(str)
// this.form2.itemAvgScore = str;
str = parseFloat(str).toFixed(3)
this.realVal = str.substring(0, str.length - 1)
}
},
NumberCheck2(num) {
let str = this.form.itemAvgScore;
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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 = parseFloat(str).toFixed(3)
this.realVal = str.substring(0, str.length - 1)
// str = str.replace(/[^\d^\.]+/g, "");
// this.form.itemAvgScore = str;
console.log(this.realVal)
}
},
// // fun(val) {
// // return Number(val).toFixed(2);
// },
@ -680,21 +740,26 @@ export default {
this.xmname = "请选择所属项目";
this.itemId2 = "";
this.reset();
this.$nextTick(() => {
this.$refs.form2.clearValidate();
});
},
//
reset() {
this.form = {
id: null,
itemId: null,
itemId: "",
itemAvgScore: "",
itemAvgText: "",
resultDictType: "", //number text
sex: "",
};
this.form2 = {
itemId: null,
itemAvgScore: "",
itemId: "",
itemAvgScore: null,
itemAvgText: "",
resultDictType: "", //number text
sex: "",
};
this.resetForm("form");
},
@ -731,7 +796,6 @@ export default {
this.reset();
this.open = true;
this.title = "添加全国平均成绩";
this.itemId2 = "";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -750,6 +814,9 @@ export default {
/** 提交按钮 */
submitForm() {
this.form.itemAvgScore = this.realVal;
this.form2.itemAvgScore = this.realVal;
if (this.form.dictValue == this.ResultType1.dictValue) {
console.log(this.ResultType1.dictValue);
this.form.itemAvgText = "";
@ -758,29 +825,47 @@ export default {
console.log(this.ResultType2.dictValue);
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) {
// console.log(this.form2);
// console.log(this.form);
// console.log(this.form2.itemAvgScore);
if (this.form.id != null) {
this.$refs["form"].validate((valid) => {
if (valid) {
updateTestItemCountryScore(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open2 = false;
this.getList();
});
} else {
this.itemId2 = "";
this.xmname = "";
this.xmname = "请选择所属项目";
}
});
} else {
this.$refs["form2"].validate((valid) => {
if (valid) {
this.form2.itemAvgScore = Number(this.form2.itemAvgScore)
addTestItemCountryScore(this.form2).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
// console.log(this.form2)
this.getList();
// this.form.itemId = "";
this.itemId2 = "";
this.xmname = "";
this.xmname = "请选择所属项目";
});
} else {
if (this.form2.itemAvgScore == "") {
this.form2.itemAvgScore == "";
}
}
}
});
this.itemId2 = "";
this.xmname="";
this.xmname="请选择所属项目";
});
}
},
/** 删除按钮操作 */
handleDelete(row) {

View File

@ -278,7 +278,7 @@
<el-form-item label="个人成绩得分" prop="itemFraction">
<el-input
v-model="form.itemFraction"
@input="NumberCheck4()"
@input="NumberCheck4()"
placeholder="请输入个人成绩得分"
style="width: 360px"
/>
@ -451,39 +451,32 @@
prop="itemScore"
v-if="form2.scoreDictId == '' || form2.scoreDictId == null"
>
<el-input placeholder="请输入个人成绩" style="width: 360px" />
</el-form-item>
<el-form-item
label="个人成绩"
prop="scoreDictValue"
v-else-if="form2.scoreDictId == ResultType2.dictCode"
>
<el-input
v-model="form2.scoreDictValue"
placeholder="请输入个人成绩"
style="width: 360px"
/>
</el-form-item>
<el-form-item
label="个人成绩"
prop="itemScore"
v-else-if="form2.scoreDictId == ResultType1.dictCode"
>
<el-input
v-model="form2.itemScore"
@input="NumberCheck()"
@input="NumberCheck()"
placeholder="请输入个人成绩"
style="width: 360px"
/>
</el-form-item>
<!-- <el-form-item
label="个人成绩得分"
@ -497,7 +490,7 @@
<el-form-item label="个人成绩得分" prop="itemFraction">
<el-input
v-model="form2.itemFraction"
@input="NumberCheck2()"
@input="NumberCheck2()"
placeholder="请输入个人成绩得分"
style="width: 360px"
/>
@ -1135,7 +1128,6 @@ import {
import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
import Treeselect from "@riophae/vue-treeselect";
export default {
name: "TestItemScore",
components: { Treeselect },
data() {
@ -1162,7 +1154,7 @@ export default {
}
};
var roleMoeny3 = (rule, value, callback) => {
var roleMoeny3 = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form.itemFraction) {
@ -1173,7 +1165,7 @@ export default {
callback();
}
};
var roleMoeny4 = (rule, value, callback) => {
var roleMoeny4 = (rule, value, callback) => {
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (!this.form.itemFraction) {
@ -1195,7 +1187,7 @@ export default {
//
//
loading: true,
itemScore:'',
itemScore: "",
testItemScoreLists: [],
xmname: "请选择所属班级",
@ -1281,8 +1273,15 @@ export default {
form: {},
form2: {},
//
rules2: {
itemScore: [{ required: true, validator: roleMoeny3, message: "",trigger: "blur" }],
rules2: {
itemScore: [
{
required: true,
validator: roleMoeny3,
message: "",
trigger: "blur",
},
],
classId: [
{ required: true, message: "所属班级不能为空", trigger: "blur" },
],
@ -1300,19 +1299,31 @@ export default {
},
],
scoreDictValue: [
{ required: true, message: "请输入个人成绩", trigger: "blur" },
],
itemFraction: [{ required: true, validator: roleMoeny4, 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"}],
itemScore: [
{
required: true,
validator: roleMoeny,
message: "",
trigger: "blur",
},
],
classId: [
{ required: true, message: "所属班级不能为空", trigger: "blur" },
],
@ -1330,16 +1341,23 @@ export default {
},
],
scoreDictValue: [
{ required: true, message: "请输入个人成绩", trigger: "blur" },
],
itemFraction: [{ required: true, validator: roleMoeny2, message: "",trigger: "blur" }],
itemFraction: [
{
required: true,
validator: roleMoeny2,
message: "",
trigger: "blur",
},
],
syntheticalAssess: [
{ required: true, message: "综合评价不能为空", trigger: "blur" },
],
},
realVal: "",
};
},
created() {
@ -1349,58 +1367,84 @@ export default {
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
},
let str = this.form2.itemScore;
//
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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 = parseFloat(str).toFixed(3);
this.realVal = str.substring(0, str.length - 1);
}
},
//
NumberCheck2(num) {
let str = this.form2.itemFraction;
//
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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 = parseFloat(str).toFixed(3);
this.realVal = str.substring(0, str.length - 1);
}
},
NumberCheck3(num) {
let str = this.form.itemScore;
//
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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 = parseFloat(str).toFixed(3)
this.realVal = str.substring(0, str.length - 1)
// str = str.replace(/[^\d^\.]+/g, "");
// this.form.itemAvgScore = str;
console.log(this.realVal)
}
},
NumberCheck4(num) {
let str = this.form.itemFraction;
//
if (Number.isNaN(Number.parseFloat(str))) {
} else {
//
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 = parseFloat(str).toFixed(3)
this.realVal = str.substring(0, str.length - 1)
// str = str.replace(/[^\d^\.]+/g, "");
// this.form.itemAvgScore = str;
}
},
//
xmclick(row) {
console.log(row);
@ -1681,6 +1725,10 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.form2.itemScore = this.realVal;
this.form.itemFraction = this.realVal;
this.form.itemScore = this.realVal;
this.form2.itemFraction = this.realVal;
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {

View File

@ -383,6 +383,21 @@
placeholder="最高分"
style="width: 75px; margin-right: 9px"
/>
<el-select
v-model="item.standardFlag"
clearable
placeholder="请选择是否达标"
style="width: 150px"
>
<el-option
v-for="item in list"
:key="item.id"
:label="item.label"
:value="item.id"
>
</el-option>
</el-select>
<el-button
type="info"
circle
@ -536,6 +551,17 @@ export default {
total: 0,
//
measureUnitTypelist: [],
//shifouhege
list: [
{
label: "是",
id: 1,
},
{
label: "否",
id: 0,
},
],
//
itemResultTypelist: [],
ResultType1: "",
@ -649,6 +675,13 @@ export default {
trigger: "change",
},
],
standardFlag: [
{
required: true,
message: "请选择是否达标",
trigger: "blur",
},
],
},
};
},
@ -666,6 +699,7 @@ export default {
levelName: "",
levelMinScore: "",
levelMaxScore: "",
standardFlag: "",
});
},
/** 查询测试项目列表 */
@ -678,9 +712,11 @@ export default {
tKindergartenInfo(this.itemResultType).then((res) => {
// console.log(res);
this.itemResultTypelist = res.data;
console.log(this.itemResultTypelist);
this.ResultType1 = this.itemResultTypelist[0];
this.ResultType2 = this.itemResultTypelist[1];
console.log(this.ResultType1);
// console.log(this.ResultType1);
});
tKindergartenInfo(this.measureUnitType).then((res) => {
// console.log(res);
@ -718,7 +754,12 @@ export default {
levelDescription: "",
minScore: "",
itemLevelList: [
{ levelName: "", levelMinScore: "", levelMaxScore: "" },
{
levelName: "",
levelMinScore: "",
levelMaxScore: "",
standardFlag: "",
},
],
sorting: null,
remark: null,