[update] 修改标准化发起流程主起草人填写信息节点和部所联络人汇总节点提交时表格的校验

This commit is contained in:
lideqin
2023-12-19 14:56:34 +08:00
parent 457ffd031d
commit 7e3456579c
4 changed files with 57 additions and 12 deletions
+2 -1
View File
@@ -108,7 +108,8 @@ module.exports = {
pleaseSelectContact: '请选择联络人',
pleaseSelectApprover: '请选择审批人',
pleaseSelectDrafter: '请选择主起草人',
pleaseSelectSameApprover: '请选择相同的审批人'
pleaseSelectSameApprover: '请选择相同的审批人',
standizationEnterDataNotUpdate: '标准化填写的数据不可更改'
},
// 企标制修订流程
enStandardRevision: {
@@ -472,6 +472,7 @@ export default {
// 流程审批信息校验
this.approvalInfoForm.validateFields((approvalErr, approvalValues) => {
const data = this.$refs.baseInfoRef.getDataValidate()
console.log(data)
if (!approvalErr && data) {
// 只有表格
const param = {}
@@ -163,6 +163,7 @@
<!-- 企标编号 原企标编号 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
<span v-if="rules.originEnStandardNo[0].required" class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum')">
{{ $t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') }}
</span>
@@ -378,7 +379,7 @@
<!-- 零部件名称 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
<span class="required">*</span>
<span v-if="rules.componentName[0].required" class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.partName')">
{{ $t('workCenter.enterpriseInitChangePlan.partName') }}
</span>
@@ -481,7 +482,6 @@
<!-- 配合单位 -->
<div class="box-title-text form-flex-item-half">
<div class="title-text">
<span class="required">*</span>
<span class="title-text-text" :title="$t('workCenter.enterpriseInitChangePlan.suitUnit')">
{{ $t('workCenter.enterpriseInitChangePlan.suitUnit') }}
</span>
@@ -572,13 +572,13 @@ export default {
}
],
// 企标编号-新企标编号(制定-企标编号,修订-新企标编号)
newEnStandardNo: [
{
required: false,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
// newEnStandardNo: [
// {
// required: false,
// message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
// trigger: 'change'
// }
// ],
// 企业标准代号
enStandardCode: [
{
@@ -611,6 +611,14 @@ export default {
trigger: 'change'
}
],
// 原企标编号
originEnStandardNo: [
{
required: false,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardNum') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
// 企标名称-新企标名称(制定-企标名称,修订-新企标名称)
newEnStandardName: [
{
@@ -624,7 +632,7 @@ export default {
{
required: false,
message: this.$t('workCenter.enterpriseInitChangePlan.enterpriseStandardName') + this.$t('cannotEmpty'),
trigger: 'blur'
trigger: 'change'
}
],
// 标准类型
@@ -47,6 +47,7 @@
<script>
import JTable from '@/components/jero/JTable'
import BaseInfoTableModal from './BaseInfoTableModal'
import { ProjectType } from '@/enums/commonEnums'
export default {
name: 'TableBaseInfo',
@@ -224,9 +225,43 @@ export default {
// 外层获取数据要过校验,返回false表示没有通过校验
getDataValidate () {
// 校验表格是否每行都有数据,每行的联络人是否都有
let hasErr = false
const rules = Object.assign({}, this.$refs.baseInfoTableModal.rules)
console.log(rules)
for (const dItem of this.dataSource) {
let rule = {}
if (dItem.projectType === ProjectType.ENACT.value) {
// 是制定,不需要校验原企标编号和原企标名称
rule = rules
delete rule.originEnStandardName
delete rule.originEnStandardNo
} else {
// 是修订,不需要校验企业标准代号,企业名称代号,标准类别代号和年代号
rule = rules
delete rule.enStandardCode
delete rule.standardCategoryCode
delete rule.enNameCode
delete rule.decadeCode
}
// 校验是否所有必填项都填了
for (const key in dItem) {
if (rule[key] && rule[key][0].required === true && (!dItem[key] || dItem[key].length <= 0)) {
console.log(key)
// 该字段必填,但没有数据
hasErr = true
break
}
}
if (hasErr) {
break
}
}
let data = {}
if (this.dataSource && this.dataSource.length > 0) {
if (this.dataSource && this.dataSource.length > 0 && !hasErr) {
data.dataSource = this.dataSource
} else if (hasErr) {
this.$message.warning(this.$t('pleaseCompleteTableInfo'))
data = false
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
data = false