|
|
@@ -14,27 +14,24 @@
|
|
|
<!-- 合同信息(融合基本信息+合同条款+产品明细) -->
|
|
|
<div>
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="合同编号" prop="contractNo">
|
|
|
<el-input v-model="form.contractNo" placeholder="系统自动生成,格式:SX/X-JT20250926002" disabled />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="合同名称" prop="contractName">
|
|
|
<el-input v-model="form.contractName" placeholder="请输入合同名称" maxlength="100" show-word-limit />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="合同类型" prop="contractType">
|
|
|
<el-select v-model="form.contractType" placeholder="请选择合同类型" style="width: 100%">
|
|
|
<el-option v-for="dict in crm_contract_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="客户名称" prop="customerId">
|
|
|
<el-input v-model="form.customerName" placeholder="请选择客户" readonly>
|
|
|
<template #append>
|
|
|
@@ -46,7 +43,7 @@
|
|
|
</el-row>
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="关联商机" prop="opportunityId">
|
|
|
<el-input v-model="form.opportunityName" placeholder="请选择商机(可选)" readonly clearable>
|
|
|
<template #append>
|
|
|
@@ -55,7 +52,7 @@
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="关联报价单" prop="quoteId">
|
|
|
<el-input v-model="form.quoteNo" placeholder="请选择报价单(可选)" readonly clearable>
|
|
|
<template #append>
|
|
|
@@ -64,10 +61,7 @@
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="联系人" prop="contactsName">
|
|
|
<el-input v-model="form.contactsName" placeholder="请选择联系人" maxlength="50">
|
|
|
<template #append>
|
|
|
@@ -76,7 +70,7 @@
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="联系电话" prop="contactsPhone">
|
|
|
<el-input v-model="form.contactsPhone" placeholder="从客户/联系人带出" maxlength="20" />
|
|
|
</el-form-item>
|
|
|
@@ -84,12 +78,26 @@
|
|
|
</el-row>
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="签订日期" prop="signDate">
|
|
|
<el-date-picker v-model="form.signDate" type="date" placeholder="选择签订日期" value-format="YYYY-MM-DD" style="width: 100%" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="负责人" prop="ownerUserId">
|
|
|
+ <el-input v-model="form.ownerUserName" placeholder="请选择负责人" readonly>
|
|
|
+ <template #append>
|
|
|
+ <el-button icon="Search" @click="handleSelectUser" />
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="合同金额" prop="amount">
|
|
|
+ <el-input-number v-model="form.amount" :precision="2" :min="0" placeholder="从产品明细自动计算" disabled style="width: 100%" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="合同期限" prop="contractPeriod">
|
|
|
<el-date-picker
|
|
|
v-model="contractDateRange"
|
|
|
@@ -105,63 +113,42 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="负责人" prop="ownerUserId">
|
|
|
- <el-input v-model="form.ownerUserName" placeholder="请选择负责人" readonly>
|
|
|
- <template #append>
|
|
|
- <el-button icon="Search" @click="handleSelectUser" />
|
|
|
- </template>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="合同金额" prop="amount">
|
|
|
- <el-input-number v-model="form.amount" :precision="2" :min="0" placeholder="从产品明细自动计算" disabled style="width: 100%" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
<!-- 合同条款部分 -->
|
|
|
<el-divider content-position="left">供方信息</el-divider>
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="单位名称(章)" prop="partyA">
|
|
|
<el-input v-model="form.partyA" placeholder="请输入单位名称" maxlength="100" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="单位地址" prop="partyAAddress">
|
|
|
<el-input v-model="form.partyAAddress" placeholder="请输入单位地址" maxlength="200" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="法定代表人" prop="partyALegalPerson">
|
|
|
<el-input v-model="form.partyALegalPerson" placeholder="请输入法定代表人" maxlength="50" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="代理人" prop="partyAAgent">
|
|
|
<el-input v-model="form.partyAAgent" placeholder="请输入代理人(可选)" maxlength="50" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="电话/传真" prop="partyAPhoneFax">
|
|
|
<el-input v-model="form.partyAPhoneFax" placeholder="请输入电话/传真" maxlength="50" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="开户银行" prop="partyABank">
|
|
|
<el-input v-model="form.partyABank" placeholder="请输入开户银行" maxlength="100" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="账号" prop="partyAAccount">
|
|
|
<el-input v-model="form.partyAAccount" placeholder="请输入银行账号" maxlength="50" />
|
|
|
</el-form-item>
|
|
|
@@ -170,49 +157,45 @@
|
|
|
|
|
|
<el-divider content-position="left">需方信息</el-divider>
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="单位名称(章)" prop="partyB">
|
|
|
<el-input v-model="form.partyB" placeholder="从客户开票信息带出" maxlength="200" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="单位地址" prop="partyBAddress">
|
|
|
<el-input v-model="form.partyBAddress" placeholder="从客户开票信息带出" maxlength="500" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="法定代表人" prop="partyBLegalPerson">
|
|
|
<el-input v-model="form.partyBLegalPerson" placeholder="从客户开票信息带出" maxlength="100" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="代理人" prop="partyBAgent">
|
|
|
<el-input v-model="form.partyBAgent" placeholder="从客户开票信息带出(可选)" maxlength="100" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="电话/传真" prop="partyBPhoneFax">
|
|
|
<el-input v-model="form.partyBPhoneFax" placeholder="从客户开票信息带出" maxlength="100" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="开户银行" prop="partyBBank">
|
|
|
<el-input v-model="form.partyBBank" placeholder="从客户开票信息带出" maxlength="200" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="账号" prop="partyBAccount">
|
|
|
<el-input v-model="form.partyBAccount" placeholder="从客户开票信息带出" maxlength="100" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<!-- 联系人字段已隐藏 -->
|
|
|
- <!-- <el-col :span="12">
|
|
|
+ <!-- <el-col :span="6">
|
|
|
<el-form-item label="联系人" prop="partyBContact">
|
|
|
<el-input v-model="form.partyBContact" placeholder="从客户资料带出" maxlength="50" />
|
|
|
</el-form-item>
|
|
|
@@ -1410,6 +1393,10 @@ onMounted(() => {
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
+.box-card {
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
+
|
|
|
.card-header {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|