diff --git a/src/components/Template/BaseInfoFormPcakge.vue b/src/components/Template/BaseInfoFormPcakge.vue index fbf19ae..86e013b 100644 --- a/src/components/Template/BaseInfoFormPcakge.vue +++ b/src/components/Template/BaseInfoFormPcakge.vue @@ -9,12 +9,14 @@ @@ -27,7 +29,8 @@
{{ sItem.label }}
+ @copy="onCopy(sItem, key)" @change="onSelectChange(key, $event)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
@@ -54,19 +57,23 @@
{{ sItem.label }}
+ @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
+ @copy="onCopy(sItem, key)" @change="onSelectChange(key, $event)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
+ @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
+ @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
@@ -80,24 +87,29 @@
{{ sItem.label }}
+ @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
+ @copy="onCopy(sItem, key)" @change="onSelectChange(key, $event)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" />
其他
+ @copy="onCopy(sItem, key)" :error="errors[sItem.otherCode]" @update:error="errors[sItem.otherCode] = false" + :orange-bg="orangeBgFields[sItem.otherCode]" />
+ @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" /> + @copy="onCopy(sItem, key)" @change="onSelectChange(sItem.subKey, $event)" :error="errors[sItem.subKey]" @update:error="errors[sItem.subKey] = false" + :orange-bg="orangeBgFields[sItem.subKey]" />
{{ formFields[sItem.subKey] }}
@@ -108,9 +120,11 @@
+ @copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" + :orange-bg="orangeBgFields[key]" /> + @copy="onCopy(sItem, key)" @change="onSelectChange(sItem.subKey, $event)" :error="errors[sItem.subKey]" @update:error="errors[sItem.subKey] = false" + :orange-bg="orangeBgFields[sItem.subKey]" />
{{ formFields[sItem.subKey] }}
@@ -153,6 +167,7 @@ export default { formFields: {},//表单绑定字段 allFieldsConfig: {},//包含config的所有字段,主要用于校验表单是否填写 errors: {},//存储表单错误信息,用于标红提示 + orangeBgFields: {},// 存储需要橙色背景的字段 }; }, watch: { @@ -394,6 +409,21 @@ export default { return this.formFields[key]; }, onBlur(key, val) { + // compareTo 功能:当fillType==="actFill"时,判断当前值是否与compareTo字段的值一样,如果不一样则将当前input框的背景色标记成橙色 + const currentFieldConfig = this.allFieldsConfig[key]; + if (currentFieldConfig && currentFieldConfig.fillType === "actFill" && currentFieldConfig.compareTo) { + const compareToKey = currentFieldConfig.compareTo; + const compareToValue = this.formFields[compareToKey]; + + // 比较当前值和compareTo值,如果不相等则设置橙色背景 + if (val !== compareToValue) { + this.$set(this.orangeBgFields, key, true); + } else { + // 相等则移除橙色背景 + this.$set(this.orangeBgFields, key, false); + } + } + this.$emit("blur", { key, value: val ,...this.formFields}); }, onSelectChange(key, val) { @@ -519,7 +549,7 @@ export default { margin-right: 24px; } .sub-select{ - width: auto; + width: 100px; margin-left: 10px; } .clickable{ diff --git a/src/components/Template/CustomTable.vue b/src/components/Template/CustomTable.vue index 18a1ecf..36e791e 100644 --- a/src/components/Template/CustomTable.vue +++ b/src/components/Template/CustomTable.vue @@ -40,21 +40,24 @@ class="body-input" :item="getBodyItem(col, rowIndex)" v-model="row[col.prop]" @change="onBodyValueChange(rowIndex, colIndex, $event)" :error="hasError(rowIndex, colIndex, col.prop)" - @update:error="onErrorUpdate(rowIndex, colIndex, col.prop, $event)" /> + @update:error="onErrorUpdate(rowIndex, colIndex, col.prop, $event)" + :orange-bg="hasOrangeBg(rowIndex, colIndex, col.prop)" />