zlwu 1 rok temu
rodzic
commit
c89fe65443

+ 1 - 1
web/src/components/CustomerSelector.vue

@@ -36,7 +36,7 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="客户类型" prop="customerType" width="100" align="center">
+      <el-table-column label="客户类型" prop="customerType" width="150" align="center">
         <template #default="scope">
           <dict-tag :options="crm_customer_type" :value="scope.row.customerType" />
         </template>

+ 1 - 1
web/src/views/crm/clue/index.vue

@@ -149,7 +149,7 @@
           </template>
         </el-table-column>
         <el-table-column label="公司名称" align="center" prop="company" min-width="180" show-overflow-tooltip />
-        <el-table-column label="客户类型" align="center" prop="customerType" width="100">
+        <el-table-column label="客户类型" align="center" prop="customerType" width="150">
           <template #default="scope">
             <dict-tag :options="crm_customer_type" :value="scope.row.customerType" />
           </template>

+ 43 - 56
web/src/views/crm/contract/form.vue

@@ -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;

+ 4 - 0
web/src/views/crm/quote/form.vue

@@ -1042,6 +1042,10 @@ onMounted(() => {
 </script>
 
 <style scoped lang="scss">
+.box-card {
+  margin-top: 10px;
+}
+
 .card-header {
   display: flex;
   justify-content: space-between;