Jelajahi Sumber

CRM:合同的 code review

YunaiV 1 tahun lalu
induk
melakukan
3ad68c3227

+ 1 - 1
src/views/crm/contract/ContractForm.vue

@@ -192,7 +192,7 @@ const formRules = reactive({
 const formRef = ref() // 表单 Ref
 const BPMLModelRef = ref<InstanceType<typeof BPMLModel>>() // TODO @puhui999:这个变量不太对;另外,可以不做 bpm model 窗口,而是可以点击跳转到工作流详情里;
 
-// 监听合同商品变化,计算合同商品总价
+// 监听合同产品变化,计算合同产品总价
 watch(
   () => formData.value.productItems,
   (val) => {

+ 9 - 7
src/views/crm/contract/components/ProductList.vue

@@ -42,7 +42,7 @@
   </el-table>
 
   <!-- table 选择表单 -->
-  <TableSelectForm ref="tableSelectFormRef" v-model="multipleSelection" title="选择品">
+  <TableSelectForm ref="tableSelectFormRef" v-model="multipleSelection" title="选择品">
     <el-table-column align="center" label="产品名称" prop="name" width="160" />
     <el-table-column align="center" label="产品类型" prop="categoryName" width="160" />
     <el-table-column align="center" label="产品单位" prop="unit">
@@ -76,7 +76,7 @@ const emits = defineEmits<{
   (e: 'update:modelValue', v: any[]): void
 }>()
 
-const list = ref<ProductApi.ProductExpandVO[]>([]) // 列表数量
+const list = ref<ProductApi.ProductExpandVO[]>([]) // 已添加的产品列表
 const multipleSelection = ref<ProductApi.ProductExpandVO[]>([]) // 多选
 
 /** 处理删除 */
@@ -100,8 +100,9 @@ const getTotalPrice = computed(() => (row: ProductApi.ProductExpandVO) => {
   row.totalPrice = isNaN(totalPrice) ? 0 : yuanToFen(totalPrice)
   return isNaN(totalPrice) ? 0 : totalPrice.toFixed(2)
 })
-const isSetListValue = ref(false) // 判断是否已经给 list 赋值过,用于编辑表单商品回显
-// 编辑时合同商品回显
+
+/** 编辑时合同产品回显 */
+const isSetListValue = ref(false) // 判断是否已经给 list 赋值过,用于编辑表单产品回显
 watch(
   () => props.modelValue,
   (val) => {
@@ -118,7 +119,8 @@ watch(
   },
   { immediate: true, deep: true }
 )
-// 监听列表变化,动态更新合同商品列表
+
+/** 监听列表变化,动态更新合同产品列表 */
 watch(
   list,
   (val) => {
@@ -130,14 +132,14 @@ watch(
   { deep: true }
 )
 
-// 监听商品选择结果动态添加商品到列表中,如果商品存在则不放入列表中
+// 监听产品选择结果动态添加产品到列表中,如果产品存在则不放入列表中
 watch(
   multipleSelection,
   (val) => {
     if (!val || val.length === 0) {
       return
     }
-    // 过滤出不在列表中的
+    // 过滤出不在列表中的
     const ids = list.value.map((item) => item.id)
     const productList = multipleSelection.value.filter((item) => ids.indexOf(item.id) === -1)
     if (!productList || productList.length === 0) {

+ 6 - 3
src/views/crm/contract/detail/ContractProductList.vue

@@ -1,3 +1,4 @@
+<!-- 合同详情:产品列表 -->
 <template>
   <el-table :data="list" :show-overflow-tooltip="true" :stripe="true">
     <el-table-column align="center" label="产品名称" prop="name" width="160" />
@@ -35,7 +36,8 @@ defineOptions({ name: 'ContractProductList' })
 const props = withDefaults(defineProps<{ modelValue: ProductApi.ProductExpandVO[] }>(), {
   modelValue: () => []
 })
-const list = ref<ProductApi.ProductExpandVO[]>([]) // 列表数量
+const list = ref<ProductApi.ProductExpandVO[]>([]) // 产品列表
+
 /** 计算 totalPrice */
 const getTotalPrice = computed(() => (row: ProductApi.ProductExpandVO) => {
   const totalPrice =
@@ -43,8 +45,9 @@ const getTotalPrice = computed(() => (row: ProductApi.ProductExpandVO) => {
   row.totalPrice = isNaN(totalPrice) ? 0 : yuanToFen(totalPrice)
   return isNaN(totalPrice) ? 0 : totalPrice.toFixed(2)
 })
-const isSetListValue = ref(false) // 判断是否已经给 list 赋值过,用于编辑表单商品回显
-// 编辑时合同商品回显
+
+/** 编辑时合同产品回显 */
+const isSetListValue = ref(false) // 判断是否已经给 list 赋值过,用于编辑表单产品回显
 watch(
   () => props.modelValue,
   (val) => {

+ 1 - 0
src/views/crm/contract/detail/index.vue

@@ -87,6 +87,7 @@ const getOperateLog = async (contractId: number) => {
 }
 
 /** 转移 */
+// TODO @puhui999:这个组件,要不传递业务类型,然后组件里判断 title 和 api 能调用哪个;整体治理掉;
 const transferFormRef = ref<InstanceType<typeof CrmTransferForm>>() // 合同转移表单 ref
 const transferContract = () => {
   transferFormRef.value?.open('合同转移', contract.value.id, ContractApi.transferContract)