fix
This commit is contained in:
@@ -237,10 +237,9 @@
|
||||
required
|
||||
>
|
||||
<a-select
|
||||
v-model:value="detailState.contractType"
|
||||
v-model:value="detailState.contractTypeCode"
|
||||
:options="contractTypeOptions"
|
||||
placeholder="请选择合同类型"
|
||||
@change="handleContractTypeChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
@@ -664,14 +663,6 @@
|
||||
placeholder="协助部门"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item class="tight-item" label="合同类型" required>
|
||||
<a-select
|
||||
v-model:value="detailState.contractTypeCode"
|
||||
:options="contractTypeOptions"
|
||||
placeholder="请选择合同类型编码"
|
||||
@change="handleContractTypeCodeChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
class="tight-item field-span-2"
|
||||
label="合同执行人"
|
||||
@@ -803,7 +794,10 @@
|
||||
<a-radio :value="false">否</a-radio>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
<div class="boolean-row">
|
||||
<div
|
||||
v-if="detailState.paymentDirection === '1'"
|
||||
class="boolean-row"
|
||||
>
|
||||
<span>是否列入当年预算</span>
|
||||
<a-radio-group
|
||||
v-model:value="detailState.isIncludedInCurrentYearBudget"
|
||||
@@ -1438,7 +1432,6 @@ function createContractFormData() {
|
||||
id: null,
|
||||
contractName: "",
|
||||
contractCode: "",
|
||||
contractType: undefined,
|
||||
contractTypeCode: undefined,
|
||||
contractAmount: null,
|
||||
estimatedAmount: null,
|
||||
@@ -1610,6 +1603,13 @@ function copyContractFormData(data = {}) {
|
||||
if (source.contractTextFileName && !form.contractBodyFileName) {
|
||||
form.contractBodyFileName = source.contractTextFileName;
|
||||
}
|
||||
// 兼容旧数据:如果只有 contractType(中文名)没有 contractTypeCode,尝试反向查找编码
|
||||
if (!form.contractTypeCode && source.contractType) {
|
||||
const matched = contractTypeOptions.find(
|
||||
(opt) => opt.label === source.contractType || opt.simpleLabel === source.contractType,
|
||||
);
|
||||
if (matched) form.contractTypeCode = matched.value;
|
||||
}
|
||||
return form;
|
||||
}
|
||||
|
||||
@@ -1918,10 +1918,6 @@ function handleContractTypeChange(value) {
|
||||
detailState.value.contractTypeCode = value;
|
||||
}
|
||||
|
||||
function handleContractTypeCodeChange(value) {
|
||||
detailState.value.contractType = value;
|
||||
}
|
||||
|
||||
function handleAddCounterparty() {
|
||||
if (isSingleAgreementChecked.value) return;
|
||||
detailState.value.partyState.counterpartyList =
|
||||
@@ -2144,7 +2140,7 @@ function validateState() {
|
||||
)
|
||||
return "请选择相对方";
|
||||
if (!detailState.value.contractName?.trim()) return "请填写合同名称";
|
||||
if (!detailState.value.contractType) return "请选择合同类型";
|
||||
if (!detailState.value.contractTypeCode) return "请选择合同类型";
|
||||
if (
|
||||
detailState.value.contractPeriodType === "0" &&
|
||||
(!detailState.value.effectiveStart || !detailState.value.effectiveEnd)
|
||||
@@ -2364,12 +2360,7 @@ function buildLaunchRecord() {
|
||||
id: detailState.value.id || null,
|
||||
contractCode: detailState.value.contractCode,
|
||||
contractName: detailState.value.contractName,
|
||||
contractType: getOptionLabel(
|
||||
contractTypeOptions,
|
||||
detailState.value.contractType,
|
||||
),
|
||||
contractTypeCode:
|
||||
detailState.value.contractTypeCode || detailState.value.contractType,
|
||||
contractTypeCode: detailState.value.contractTypeCode,
|
||||
contractSource: detailState.value.contractSource || "ECP",
|
||||
creationMode: creationMode.value,
|
||||
templateId: templateKey.value || null,
|
||||
|
||||
Reference in New Issue
Block a user