fix(ctr): 修复收入合同类型切换后未重置合同类型的问题

- 在切换收入合同类型时,确保合同类型被正确重置
- 优化了模板中的代码格式,提高了可读性
This commit is contained in:
tcy
2025-09-06 18:26:17 +08:00
parent d50dbe719d
commit 5101dc7657

View File

@ -24,7 +24,8 @@
</el-form-item> </el-form-item>
<el-form-item label="合同类型" prop="contractType"> <el-form-item label="合同类型" prop="contractType">
<el-select v-model="form.contractType" placeholder="请选择合同类型"> <el-select v-model="form.contractType" placeholder="请选择合同类型">
<el-option v-for="item in income_contract_type" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in income_contract_type" :key="item.value" :label="item.label"
:value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="业主单位" prop="contractOwner"> <el-form-item label="业主单位" prop="contractOwner">
@ -37,17 +38,15 @@
<editor v-model="form.contractedContent" :min-height="192" /> <editor v-model="form.contractedContent" :min-height="192" />
</el-form-item> </el-form-item>
<el-form-item label="合同金额" prop="amount"> <el-form-item label="合同金额" prop="amount">
<el-input <el-input v-model="form.amount" placeholder="请输入合同金额"
v-model="form.amount" oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" />
placeholder="请输入合同金额"
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" /> <el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="附件"> <el-form-item label="附件">
<FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess" :ref="fileRef" :defaultFileList="tempFileList" /> <FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess" :ref="fileRef"
:defaultFileList="tempFileList" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
@ -61,35 +60,36 @@
</el-form-item> </el-form-item>
<el-form-item label="合同类型" prop="contractType"> <el-form-item label="合同类型" prop="contractType">
<el-select v-model="form.contractType" placeholder="请选择合同类型"> <el-select v-model="form.contractType" placeholder="请选择合同类型">
<el-option v-for="item in expenses_contract_type" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in expenses_contract_type" :key="item.value" :label="item.label"
:value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="招标计划" prop="tenderId"> <el-form-item label="招标计划" prop="tenderId">
<!-- <el-input v-model="form.tenderId" placeholder="请输入招标Id" /> --> <!-- <el-input v-model="form.tenderId" placeholder="请输入招标Id" /> -->
<el-input v-model="form.name" placeholder="请选择招标计划" disabled /> <el-input v-model="form.name" placeholder="请选择招标计划" disabled />
<el-button type="primary" @click="handleChoose" v-hasPermi="['ctr:expensesContract:tenderList']">选择招标</el-button> <el-button type="primary" @click="handleChoose"
v-hasPermi="['ctr:expensesContract:tenderList']">选择招标</el-button>
</el-form-item> </el-form-item>
<el-form-item label="供应商" prop="contractSupplier"> <el-form-item label="供应商" prop="contractSupplier">
<el-input v-model="form.contractSupplier" placeholder="请输入供应商" disabled /> <el-input v-model="form.contractSupplier" placeholder="请输入供应商" disabled />
</el-form-item> </el-form-item>
<el-form-item label="分包内容"> <el-form-item label="分包内容">
<!-- <editor v-model="form.contractedContent" :min-height="192" disabled /> --> <!-- <editor v-model="form.contractedContent" :min-height="192" disabled /> -->
<el-input v-model="form.contractedContent" style="width: 300px" :autosize="{ minRows: 2, maxRows: 4 }" type="textarea" disabled /> <el-input v-model="form.contractedContent" style="width: 300px" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" disabled />
</el-form-item> </el-form-item>
<el-form-item label="合同金额" prop="amount"> <el-form-item label="合同金额" prop="amount">
<el-input <el-input
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
v-model="form.amount" v-model="form.amount" placeholder="请输入合同金额" disabled />
placeholder="请输入合同金额"
disabled
/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" /> <el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="合同附件"> <el-form-item label="合同附件">
<FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess" :ref="fileRef" :defaultFileList="tempFileList" /> <FileUpload :multiple="true" :fileType="['pdf']" :onUploadSuccess="onUploadSuccess" :ref="fileRef"
:defaultFileList="tempFileList" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
@ -208,7 +208,7 @@ const payRatioComputed = computed({
return total; return total;
}, },
// 只读 // 只读
set: () => {} set: () => { }
}); });
const checkContractType = (type) => { const checkContractType = (type) => {
contract_type.value = type; contract_type.value = type;
@ -280,7 +280,6 @@ const resetForm = () => {
}; };
fileList.value = []; fileList.value = [];
tempFileList.value = []; tempFileList.value = [];
contract_type.value = '';
setTimeout(() => { setTimeout(() => {
localStorage.removeItem('tempContractForm'); localStorage.removeItem('tempContractForm');
}, 0); }, 0);
@ -399,6 +398,7 @@ const getInfoByProjectIdList = async () => {
form.value.contractOwner = res.data.planDuration; form.value.contractOwner = res.data.planDuration;
}; };
onMounted(() => { onMounted(() => {
contract_type.value = '';
getInfoByProjectIdList(); getInfoByProjectIdList();
const tempForm = localStorage.getItem('tempContractForm'); const tempForm = localStorage.getItem('tempContractForm');