添加表单校验再进行评分

This commit is contained in:
熊丽君
2021-11-03 17:03:41 +08:00
parent 67b668514c
commit 375966032e

View File

@ -425,6 +425,13 @@
</section>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="hidenDialog">重新评估</el-button>
<router-link
to="/customerService"
target="_blank"
style="margin-left:10px"
>
<el-button @click="hidenDialog">联系我们</el-button>
</router-link>
</span>
</el-dialog>
</div>
@ -471,7 +478,7 @@ const dataList = [
export default {
data() {
return {
dialogVisible: false,
dialogVisible: true,
myYear: new Date().getFullYear(), // 当前年份
strShow: 0,
str: '',
@ -652,262 +659,272 @@ export default {
},
// 提交
submitFormA(formName) {
if (!this.formA.hasIntellectualProperty) {
this.formA.badSeason.push('没有知识产权;');
}
let yearAch = 0;
let saleTotal = 0;
let rdTotal = 0;
this.tableData.map((item, index) => {
yearAch += parseInt(item.achievements);
saleTotal += parseInt(item.sale_income || 0);
rdTotal += parseInt(item.r_d_expenses || 0);
if ((item.skill_income / item.total_income) * 100 > 60) {
item.isA = true;
} else {
item.isA = false;
}
});
if (!this.tableData[this.tableData.length - 1].isA) {
this.formA.badSeason.push(
'近一年收入占企业同期总收入的比例不得低于 60%;'
);
}
const merchant = rdTotal / saleTotal || 0;
if (saleTotal <= 5000) {
if (merchant * 100 < 5) {
this.formA.badSeason.push(
'近一年研究开发费用总额占同期销售收入总额的比例不得低于 5%;'
);
}
} else if (saleTotal <= 20000) {
if (merchant * 100 < 4) {
this.formA.badSeason.push(
'近一年研究开发费用总额占同期销售收入总额的比例不得低于 4%;'
);
}
} else if (saleTotal > 20000) {
if (merchant * 100 < 3) {
this.formA.badSeason.push(
'近一年研究开发费用总额占同期销售收入总额的比例不得低于 3%;'
);
}
}
if (this.formA.hasBad) {
this.formA.badSeason.push('发生重大安全事故;');
}
if (this.formA.scienceEmployee || this.formA.totalEmployee) {
if (
(this.formA.scienceEmployee / this.formA.totalEmployee) * 100 <
10
) {
this.formA.badSeason.push(
'企业从事研发和相关技术创新活动的科技人员占企业当年职工总数的比例不得低于 10%;'
);
}
} else {
this.formA.badSeason.push(
'企业从事研发和相关技术创新活动的科技人员占企业当年职工总数的比例不得低于 10%;'
);
}
// 1.2 在技术上发挥核心支持作用得分
this.formA.score += this.formA.supportLevel;
this.isAdd += this.formA.supportLevel;
// 1.3 知识产权数量 && 技术的先进程度得分
if (this.formA.propertyNumI >= 1) {
this.formA.score += 16;
this.isAdd += 16;
} else {
if (this.formA.propertyNumII >= 5) {
this.formA.score += 12;
this.isAdd += 12;
} else if (this.formA.propertyNumII >= 3) {
this.formA.score += 8;
this.isAdd += 8;
} else if (this.formA.propertyNumII >= 1) {
this.formA.score += 4;
this.isAdd += 4;
}
}
// 1.4 知识产权获得方式得分
if (this.formA.propertyMode == 3) {
this.formA.score += 3;
this.isAdd += 3;
} else if (this.formA.propertyMode == 6) {
this.formA.score += 6;
this.isAdd += 6;
}
// 1.5 企业参与***的情况得分
if (this.formA.hasStandard) {
// 如果知识产权总数小于28 可以这项额外加2分
if (this.isAdd <= 28) {
this.formA.score += 2;
}
}
yearAch = (yearAch / this.tableData.length).toFixed(1) - 0;
// 2 年均成果转换得分
if (yearAch >= 5) {
this.formA.score += 30;
this.twoAdd += 30;
} else if (yearAch >= 4) {
this.formA.score += 24;
this.twoAdd += 24;
} else if (yearAch >= 3) {
this.formA.score += 18;
this.twoAdd += 18;
} else if (yearAch >= 2) {
this.formA.score += 12;
this.twoAdd += 12;
} else if (yearAch >= 1) {
this.formA.score += 6;
this.twoAdd += 6;
}
// 3 研发组织管理水平
this.formA.management.map(item => {
if (item == 1 || item == 2) {
this.formA.score += 6;
this.threeAdd += 6;
}
if (item == 3 || item == 4) {
this.formA.score += 4;
this.threeAdd += 4;
}
});
// sale_income 销售收入
// r_d_expenses 研发费用
// net_assets 净资产
// 4.1 净资产增长率
let assetsRate = 0;
// 4.2 销售收入增长率
let salesRate = 0;
if (this.tableData.length == 1) {
assetsRate = 0;
salesRate = 0;
} else if (this.tableData.length == 2) {
const status = this.tableData.map(item => {
if (item.net_assets <= 0) {
return false;
} else {
return true;
}
});
if (status.includes(false)) {
assetsRate = 0;
} else {
assetsRate =
(this.tableData[1].net_assets / this.tableData[0].net_assets - 1) *
100;
}
const status2 = this.tableData.map(item => {
if (item.sale_income <= 0 || assetsRate <= 0) {
return false;
} else {
return true;
}
});
if (status2.includes(false)) {
salesRate = 0;
} else {
salesRate =
(this.tableData[1].sale_income / this.tableData[0].sale_income -
1) *
100;
}
} else if (this.tableData.length == 3) {
const status = this.tableData.map(item => {
if (item.net_assets <= 0) {
return false;
} else {
return true;
}
});
if (status.toString() == [true, true, true].toString()) {
assetsRate =
((this.tableData[1].net_assets / this.tableData[0].net_assets +
this.tableData[2].net_assets / this.tableData[1].net_assets) /
2 -
1) *
100;
} else if (status.toString() == [false, true, true].toString()) {
assetsRate =
(this.tableData[2].net_assets / this.tableData[1].net_assets - 1) *
100;
} else {
assetsRate = 0;
}
const status2 = this.tableData.map(item => {
console.log('map', assetsRate);
if (item.sale_income <= 0 || assetsRate <= 0) {
return false;
} else {
return true;
}
});
if (status2.toString() == [true, true, true].toString()) {
salesRate =
((this.tableData[1].sale_income / this.tableData[0].sale_income +
this.tableData[2].sale_income / this.tableData[1].sale_income) /
2 -
1) *
100;
} else if (status2.toString() == [false, true, true].toString()) {
salesRate =
(this.tableData[2].sale_income / this.tableData[1].sale_income -
1) *
100;
} else {
salesRate = 0;
}
}
console.log(assetsRate);
console.log(salesRate);
if (assetsRate >= 35) {
this.formA.score += 10;
this.fourOneAdd += 10;
} else if (assetsRate >= 25) {
this.formA.score += 8;
this.fourOneAdd += 8;
} else if (assetsRate >= 15) {
this.formA.score += 6;
this.fourOneAdd += 6;
} else if (assetsRate >= 5) {
this.formA.score += 4;
this.fourOneAdd += 4;
} else if (assetsRate > 0) {
this.formA.score += 2;
this.fourOneAdd += 2;
}
if (salesRate >= 35) {
this.formA.score += 10;
this.fourTwoAdd += 10;
} else if (salesRate >= 25) {
this.formA.score += 8;
this.fourTwoAdd += 8;
} else if (salesRate >= 15) {
this.formA.score += 6;
this.fourTwoAdd += 6;
} else if (salesRate >= 5) {
this.formA.score += 4;
this.fourTwoAdd += 4;
} else if (salesRate > 0) {
this.formA.score += 2;
this.fourTwoAdd += 2;
}
this.dialogVisible = true;
this.$refs[formName].validate(valid => {
if (valid) {
this.$refs['formB'].validate(flag => {
if (flag) {
console.log(this.formA);
console.log(this.tableData);
if (!this.formA.hasIntellectualProperty) {
this.formA.badSeason.push('没有知识产权;');
}
let yearAch = 0;
let saleTotal = 0;
let rdTotal = 0;
this.tableData.map((item, index) => {
yearAch += parseInt(item.achievements);
saleTotal += parseInt(item.sale_income || 0);
rdTotal += parseInt(item.r_d_expenses || 0);
if ((item.skill_income / item.total_income) * 100 > 60) {
item.isA = true;
} else {
item.isA = false;
}
});
if (!this.tableData[this.tableData.length - 1].isA) {
this.formA.badSeason.push(
'近一年收入占企业同期总收入的比例不得低于 60%;'
);
}
const merchant = rdTotal / saleTotal || 0;
if (saleTotal <= 5000) {
if (merchant * 100 < 5) {
this.formA.badSeason.push(
'近一年研究开发费用总额占同期销售收入总额的比例不得低于 5%;'
);
}
} else if (saleTotal <= 20000) {
if (merchant * 100 < 4) {
this.formA.badSeason.push(
'近一年研究开发费用总额占同期销售收入总额的比例不得低于 4%;'
);
}
} else if (saleTotal > 20000) {
if (merchant * 100 < 3) {
this.formA.badSeason.push(
'近一年研究开发费用总额占同期销售收入总额的比例不得低于 3%;'
);
}
}
if (this.formA.hasBad) {
this.formA.badSeason.push('发生重大安全事故;');
}
if (this.formA.scienceEmployee || this.formA.totalEmployee) {
if (
(this.formA.scienceEmployee / this.formA.totalEmployee) *
100 <
10
) {
this.formA.badSeason.push(
'企业从事研发和相关技术创新活动的科技人员占企业当年职工总数的比例不得低于 10%;'
);
}
} else {
this.formA.badSeason.push(
'企业从事研发和相关技术创新活动的科技人员占企业当年职工总数的比例不得低于 10%;'
);
}
// 1.2 在技术上发挥核心支持作用得分
this.formA.score += this.formA.supportLevel;
this.isAdd += this.formA.supportLevel;
// 1.3 知识产权数量 && 技术的先进程度得分
if (this.formA.propertyNumI >= 1) {
this.formA.score += 16;
this.isAdd += 16;
} else {
if (this.formA.propertyNumII >= 5) {
this.formA.score += 12;
this.isAdd += 12;
} else if (this.formA.propertyNumII >= 3) {
this.formA.score += 8;
this.isAdd += 8;
} else if (this.formA.propertyNumII >= 1) {
this.formA.score += 4;
this.isAdd += 4;
}
}
// 1.4 知识产权获得方式得分
if (this.formA.propertyMode == 3) {
this.formA.score += 3;
this.isAdd += 3;
} else if (this.formA.propertyMode == 6) {
this.formA.score += 6;
this.isAdd += 6;
}
// 1.5 企业参与***的情况得分
if (this.formA.hasStandard) {
// 如果知识产权总数小于28 可以这项额外加2分
if (this.isAdd <= 28) {
this.formA.score += 2;
}
}
yearAch = (yearAch / this.tableData.length).toFixed(1) - 0;
// 2 年均成果转换得分
if (yearAch >= 5) {
this.formA.score += 30;
this.twoAdd += 30;
} else if (yearAch >= 4) {
this.formA.score += 24;
this.twoAdd += 24;
} else if (yearAch >= 3) {
this.formA.score += 18;
this.twoAdd += 18;
} else if (yearAch >= 2) {
this.formA.score += 12;
this.twoAdd += 12;
} else if (yearAch >= 1) {
this.formA.score += 6;
this.twoAdd += 6;
}
// 3 研发组织管理水平
this.formA.management.map(item => {
if (item == 1 || item == 2) {
this.formA.score += 6;
this.threeAdd += 6;
}
if (item == 3 || item == 4) {
this.formA.score += 4;
this.threeAdd += 4;
}
});
// sale_income 销售收入
// r_d_expenses 研发费用
// net_assets 净资产
// 4.1 净资产增长率
let assetsRate = 0;
// 4.2 销售收入增长率
let salesRate = 0;
if (this.tableData.length == 1) {
assetsRate = 0;
salesRate = 0;
} else if (this.tableData.length == 2) {
const status = this.tableData.map(item => {
if (item.net_assets <= 0) {
return false;
} else {
return true;
}
});
if (status.includes(false)) {
assetsRate = 0;
} else {
assetsRate =
(this.tableData[1].net_assets /
this.tableData[0].net_assets -
1) *
100;
}
const status2 = this.tableData.map(item => {
if (item.sale_income <= 0 || assetsRate <= 0) {
return false;
} else {
return true;
}
});
if (status2.includes(false)) {
salesRate = 0;
} else {
salesRate =
(this.tableData[1].sale_income /
this.tableData[0].sale_income -
1) *
100;
}
} else if (this.tableData.length == 3) {
const status = this.tableData.map(item => {
if (item.net_assets <= 0) {
return false;
} else {
return true;
}
});
if (status.toString() == [true, true, true].toString()) {
assetsRate =
((this.tableData[1].net_assets /
this.tableData[0].net_assets +
this.tableData[2].net_assets /
this.tableData[1].net_assets) /
2 -
1) *
100;
} else if (
status.toString() == [false, true, true].toString()
) {
assetsRate =
(this.tableData[2].net_assets /
this.tableData[1].net_assets -
1) *
100;
} else {
assetsRate = 0;
}
const status2 = this.tableData.map(item => {
if (item.sale_income <= 0 || assetsRate <= 0) {
return false;
} else {
return true;
}
});
if (status2.toString() == [true, true, true].toString()) {
salesRate =
((this.tableData[1].sale_income /
this.tableData[0].sale_income +
this.tableData[2].sale_income /
this.tableData[1].sale_income) /
2 -
1) *
100;
} else if (
status2.toString() == [false, true, true].toString()
) {
salesRate =
(this.tableData[2].sale_income /
this.tableData[1].sale_income -
1) *
100;
} else {
salesRate = 0;
}
}
console.log(assetsRate);
console.log(salesRate);
if (assetsRate >= 35) {
this.formA.score += 10;
this.fourOneAdd += 10;
} else if (assetsRate >= 25) {
this.formA.score += 8;
this.fourOneAdd += 8;
} else if (assetsRate >= 15) {
this.formA.score += 6;
this.fourOneAdd += 6;
} else if (assetsRate >= 5) {
this.formA.score += 4;
this.fourOneAdd += 4;
} else if (assetsRate > 0) {
this.formA.score += 2;
this.fourOneAdd += 2;
}
if (salesRate >= 35) {
this.formA.score += 10;
this.fourTwoAdd += 10;
} else if (salesRate >= 25) {
this.formA.score += 8;
this.fourTwoAdd += 8;
} else if (salesRate >= 15) {
this.formA.score += 6;
this.fourTwoAdd += 6;
} else if (salesRate >= 5) {
this.formA.score += 4;
this.fourTwoAdd += 4;
} else if (salesRate > 0) {
this.formA.score += 2;
this.fourTwoAdd += 2;
}
this.dialogVisible = true;
}
});
} else {
console.log('error submit!!');
this.msgError('请输入必填项');
return false;
}
});