crm 报价 商机 合同 三块整改
							parent
							
								
									eb3eaeff01
								
							
						
					
					
						commit
						10d3e06927
					
				|  | @ -21,7 +21,6 @@ export interface BusinessVO { | |||
|   dealTime: Date | ||||
|   totalProductPrice: number | ||||
|   totalPrice: number | ||||
|   discountPercent: number | ||||
|   remark: string | ||||
|   creator: string // 创建人
 | ||||
|   creatorName?: string // 创建人名称
 | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ export interface ContractAAuthorizedCompanyVO { | |||
|   companyBank: string // 开户行
 | ||||
|   companyAccount: string // 开户账号
 | ||||
|   companyAddress: string // 通讯地址
 | ||||
|   deletedFlag: number // 删除标记:1-正常,-1-已删除
 | ||||
|   deleted: number // 删除标记:1-正常,-1-已删除
 | ||||
| } | ||||
| 
 | ||||
| // 合同甲方关联单位 API
 | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ export interface ContractAAuthorizedPersonVO { | |||
|   wechat: string // 微信号
 | ||||
|   idNumber: string // 身份证号
 | ||||
|   email: string // 电子邮箱
 | ||||
|   deletedFlag: number // 删除标记:1-正常,-1-已删除
 | ||||
|   deleted: number // 删除标记:1-正常,-1-已删除
 | ||||
| } | ||||
| 
 | ||||
| // 合同甲方授权人信息 API
 | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ export interface ContractBAuthorizedPersonVO { | |||
|   phoneNumber: string // 手机号
 | ||||
|   wechat: string // 微信号
 | ||||
|   email: string // 电子邮箱
 | ||||
|   deletedFlag: number // 删除标记:1-正常,-1-已删除
 | ||||
|   deleted: number // 删除标记:1-正常,-1-已删除
 | ||||
| } | ||||
| 
 | ||||
| // 合同乙方授权人信息 API
 | ||||
|  |  | |||
|  | @ -8,6 +8,9 @@ export interface ProductVO { | |||
|   price: number | ||||
|   status: number | ||||
|   categoryId: number | ||||
|   offlinePrice: number | ||||
|   onlinePrice: number | ||||
|   totalPrice: number | ||||
|   categoryName?: string | ||||
|   description: string | ||||
|   ownerUserId: number | ||||
|  |  | |||
|  | @ -217,11 +217,10 @@ | |||
|           </el-form-item> | ||||
|         </el-col> | ||||
|         <el-col :span="8"> | ||||
|           <el-form-item label="折扣后金额" prop="price"> | ||||
|           <el-form-item label="总金额" prop="totalPrice"> | ||||
|             <el-input | ||||
|               disabled | ||||
|               v-model="formData.totalPrice" | ||||
|               placeholder="请输入商机金额" | ||||
|               :formatter="erpPriceInputFormatter" | ||||
|             /> | ||||
|           </el-form-item> | ||||
|  | @ -271,7 +270,6 @@ const formData = ref({ | |||
|   onlinePrice: undefined, | ||||
|   offlinePrice: undefined, | ||||
|   totalProductPrice: undefined, | ||||
|   discountPercent: undefined, | ||||
|   totalPrice: undefined, | ||||
|   saleStage: undefined, | ||||
|   paymentTerm: undefined, | ||||
|  |  | |||
|  | @ -130,10 +130,10 @@ watch( | |||
|     } | ||||
|     // 循环处理 | ||||
|     val.forEach((item) => { | ||||
|       if (item.businessPrice != null && item.count != null) { | ||||
|       if (item.offlinePrice != null && item.onlinePrice != null) { | ||||
|         item.totalPrice = item.offlinePrice + item.onlinePrice | ||||
|       } else { | ||||
|         item.totalPrice = undefined | ||||
|         item.totalPrice = 0 | ||||
|       } | ||||
|     }) | ||||
|   }, | ||||
|  |  | |||
|  | @ -48,9 +48,8 @@ | |||
|       /> | ||||
|     </el-table> | ||||
|     <el-row class="mt-10px" justify="end"> | ||||
|       <el-col :span="3"> 整单折扣:{{ erpPriceInputFormatter(business.discountPercent) }}% </el-col> | ||||
|       <el-col :span="4"> | ||||
|         产品总金额:{{ erpPriceInputFormatter(business.totalProductPrice) }} 元 | ||||
|         总金额:{{ erpPriceInputFormatter(business.totalPrice) }} 元 | ||||
|       </el-col> | ||||
|     </el-row> | ||||
|   </ContentWrap> | ||||
|  |  | |||
|  | @ -58,13 +58,6 @@ | |||
|           </el-form-item> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column label="删除标记:1-正常,-1-已删除" min-width="150"> | ||||
|         <template #default="{ row, $index }"> | ||||
|           <el-form-item :prop="`${$index}.deletedFlag`" :rules="formRules.deletedFlag" class="mb-0px!"> | ||||
|             <el-input v-model="row.deletedFlag" placeholder="请输入删除标记:1-正常,-1-已删除" /> | ||||
|           </el-form-item> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column align="center" fixed="right" label="操作" width="60"> | ||||
|         <template #default="{ $index }"> | ||||
|           <el-button @click="handleDelete($index)" link>—</el-button> | ||||
|  |  | |||
|  | @ -27,7 +27,12 @@ | |||
|         <template #default="{ row, $index }"> | ||||
|           <el-form-item :prop="`${$index}.authPersonType`" :rules="formRules.authPersonType" class="mb-0px!"> | ||||
|             <el-select v-model="row.authPersonType" placeholder="请选择授权人类型"> | ||||
|                 <el-option label="请选择字典生成" value="" /> | ||||
|               <el-option | ||||
|                 v-for="dict in getIntDictOptions('auth_person_type')" | ||||
|                 :key="dict.value" | ||||
|                 :label="dict.label" | ||||
|                 :value="dict.value" | ||||
|               /> | ||||
|             </el-select> | ||||
|           </el-form-item> | ||||
|         </template> | ||||
|  | @ -60,13 +65,6 @@ | |||
|           </el-form-item> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column label="删除标记:1-正常,-1-已删除" min-width="150"> | ||||
|         <template #default="{ row, $index }"> | ||||
|           <el-form-item :prop="`${$index}.deletedFlag`" :rules="formRules.deletedFlag" class="mb-0px!"> | ||||
|             <el-input v-model="row.deletedFlag" placeholder="请输入删除标记:1-正常,-1-已删除" /> | ||||
|           </el-form-item> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column align="center" fixed="right" label="操作" width="60"> | ||||
|         <template #default="{ $index }"> | ||||
|           <el-button @click="handleDelete($index)" link>—</el-button> | ||||
|  | @ -80,6 +78,7 @@ | |||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import * as ContractApi from '@/api/crm/contract' | ||||
| import { getIntDictOptions, getStrDictOptions, DICT_TYPE, getBoolDictOptions } from '@/utils/dict' | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
|   contractId: undefined // 合同ID(主表的关联字段) | ||||
|  |  | |||
|  | @ -27,7 +27,12 @@ | |||
|         <template #default="{ row, $index }"> | ||||
|           <el-form-item :prop="`${$index}.authType`" :rules="formRules.authType" class="mb-0px!"> | ||||
|             <el-select v-model="row.authType" placeholder="请选择类别"> | ||||
|                 <el-option label="请选择字典生成" value="" /> | ||||
|               <el-option | ||||
|                 v-for="dict in getIntDictOptions('auth_type')" | ||||
|                 :key="dict.value" | ||||
|                 :label="dict.label" | ||||
|                 :value="dict.value" | ||||
|               /> | ||||
|             </el-select> | ||||
|           </el-form-item> | ||||
|         </template> | ||||
|  | @ -74,13 +79,6 @@ | |||
|           </el-form-item> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column label="删除标记:1-正常,-1-已删除" min-width="150"> | ||||
|         <template #default="{ row, $index }"> | ||||
|           <el-form-item :prop="`${$index}.deletedFlag`" :rules="formRules.deletedFlag" class="mb-0px!"> | ||||
|             <el-input v-model="row.deletedFlag" placeholder="请输入删除标记:1-正常,-1-已删除" /> | ||||
|           </el-form-item> | ||||
|         </template> | ||||
|       </el-table-column> | ||||
|       <el-table-column align="center" fixed="right" label="操作" width="60"> | ||||
|         <template #default="{ $index }"> | ||||
|           <el-button @click="handleDelete($index)" link>—</el-button> | ||||
|  | @ -94,6 +92,7 @@ | |||
| </template> | ||||
| <script setup lang="ts"> | ||||
| import * as ContractApi from '@/api/crm/contract' | ||||
| import { getIntDictOptions, getStrDictOptions, DICT_TYPE, getBoolDictOptions } from '@/utils/dict' | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
|   contractId: undefined // 合同ID(主表的关联字段) | ||||
|  |  | |||
|  | @ -48,9 +48,8 @@ | |||
|       /> | ||||
|     </el-table> | ||||
|     <el-row class="mt-10px" justify="end"> | ||||
|       <el-col :span="3"> 整单折扣:{{ erpPriceInputFormatter(contract.discountPercent) }}% </el-col> | ||||
|       <el-col :span="4"> | ||||
|         产品总金额:{{ erpPriceInputFormatter(contract.totalProductPrice) }} 元 | ||||
|         总金额:{{ erpPriceInputFormatter(contract.totalPrice) }} 元 | ||||
|       </el-col> | ||||
|     </el-row> | ||||
|   </ContentWrap> | ||||
|  |  | |||
|  | @ -330,7 +330,7 @@ | |||
|           </el-form-item> | ||||
|         </el-col> | ||||
|         <el-col :span="8"> | ||||
|           <el-form-item label="总金额" prop="price"> | ||||
|           <el-form-item label="总金额" prop="totalPrice"> | ||||
|             <el-input | ||||
|               disabled | ||||
|               v-model="formData.totalPrice" | ||||
|  | @ -403,6 +403,8 @@ const formData = ref({ | |||
|   creator: undefined, | ||||
|   createTime: undefined, | ||||
|   updater: undefined, | ||||
|   onlinePrice: undefined, | ||||
|   offlinePrice: undefined, | ||||
|   totalPrice: undefined, | ||||
|   cooperationType: undefined, // 合作类型 | ||||
|   companyType: undefined, // 公司类型 | ||||
|  | @ -449,6 +451,8 @@ const onBusinessChange = async (businessId: string) => { | |||
|     formData.value.creditMethod = res.creditMethod; | ||||
|     formData.value.creditCalcCycle = res.creditCalcCycle; | ||||
|     formData.value.deptId = res.deptId; | ||||
|     formData.value.offlinePrice = res.offlinePrice;  | ||||
|     formData.value.onlinePrice = res.onlinePrice;  | ||||
|     formData.value.totalPrice = res.totalPrice; | ||||
|      // 🔁 自动加载客户详情 | ||||
|      await onCustomerChange(res.customerId); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 quu
						quu