|
|
@@ -38,7 +38,7 @@
|
|
|
<Sign
|
|
|
v-if="isReviewer || currentAgreement.partyASign" :model-value="currentAgreement.partyASign ?? ''"
|
|
|
:disabled="!isReviewer"
|
|
|
- @update:model-value="(v) => { currentAgreement.partyASign = v }"
|
|
|
+ @update:model-value="(v) => { currentAgreement.partyASign = v; validate() }"
|
|
|
/>
|
|
|
<span v-else>待审核人员签名</span>
|
|
|
</a-form-item>
|
|
|
@@ -50,7 +50,11 @@
|
|
|
|
|
|
<a-typography-paragraph strong>乙方:{{ currentAgreement.partyB }}(签名)</a-typography-paragraph>
|
|
|
<a-form-item label="乙方签名" name="partyBSign">
|
|
|
- <Sign :model-value="currentAgreement.partyBSign ?? ''" :readonly="isReviewer" @update:model-value="(v) => { currentAgreement.partyBSign = v }" />
|
|
|
+ <Sign
|
|
|
+ :model-value="currentAgreement.partyBSign ?? ''"
|
|
|
+ :readonly="isReviewer"
|
|
|
+ @update:model-value="(v) => { currentAgreement.partyBSign = v; validate() }"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
<a-form-item label="身份证号" name="idCard">
|
|
|
<a-input v-model:value="currentAgreement.idCard" :readonly="isReviewer" placeholder="请填写身份证号" />
|
|
|
@@ -181,7 +185,7 @@ const formRules = computed<Rules>(() => {
|
|
|
required: false,
|
|
|
validator(_rule, value, callback) {
|
|
|
const s = value != null ? String(value).trim() : '';
|
|
|
- if (!props.isReviewer && !CN_PHONE.test(s))
|
|
|
+ if (s && !CN_PHONE.test(s))
|
|
|
callback(new Error('请输入正确的手机号'));
|
|
|
else
|
|
|
callback();
|
|
|
@@ -197,8 +201,12 @@ const formRules = computed<Rules>(() => {
|
|
|
return rules;
|
|
|
});
|
|
|
|
|
|
+async function validate() {
|
|
|
+ await formRef.value?.validate()
|
|
|
+}
|
|
|
+
|
|
|
defineExpose({
|
|
|
- validate: async () => await formRef.value?.validate(),
|
|
|
+ validate,
|
|
|
});
|
|
|
</script>
|
|
|
|