diff --git a/src/api/crm/product/productCategory/index.ts b/src/api/crm/product/category/index.ts similarity index 100% rename from src/api/crm/product/productCategory/index.ts rename to src/api/crm/product/category/index.ts diff --git a/src/api/crm/product/index.ts b/src/api/crm/product/index.ts index 787939e8..f0c23289 100644 --- a/src/api/crm/product/index.ts +++ b/src/api/crm/product/index.ts @@ -8,17 +8,11 @@ export interface ProductVO { price: number status: number categoryId: number + categoryName?: string description: string ownerUserId: number } -// TODO 芋艿:待删除 -export interface ProductExpandVO extends ProductVO { - count: number - discountPercent: number - totalPrice: number -} - // 查询产品列表 export const getProductPage = async (params) => { return await request.get({ url: `/crm/product/page`, params }) diff --git a/src/views/crm/business/components/BusinessList.vue b/src/views/crm/business/components/BusinessList.vue index b01781a4..f990606e 100644 --- a/src/views/crm/business/components/BusinessList.vue +++ b/src/views/crm/business/components/BusinessList.vue @@ -38,7 +38,12 @@ </el-link> </template> </el-table-column> - <el-table-column label="商机金额" align="center" prop="price" :formatter="fenToYuanFormat" /> + <el-table-column + label="商机金额" + align="center" + prop="price" + :formatter="erpPriceTableColumnFormatter" + /> <el-table-column label="客户名称" align="center" prop="customerName" /> <el-table-column label="商机组" align="center" prop="statusTypeName" /> <el-table-column label="商机阶段" align="center" prop="statusName" /> @@ -66,8 +71,8 @@ import * as BusinessApi from '@/api/crm/business' import * as ContactApi from '@/api/crm/contact' import BusinessForm from './../BusinessForm.vue' import { BizTypeEnum } from '@/api/crm/permission' -import { fenToYuanFormat } from '@/utils/formatter' import BusinessListModal from './BusinessListModal.vue' +import { erpPriceTableColumnFormatter } from '@/utils' const message = useMessage() // 消息 diff --git a/src/views/crm/business/components/BusinessListModal.vue b/src/views/crm/business/components/BusinessListModal.vue index 1abfdc7c..f2a39b10 100644 --- a/src/views/crm/business/components/BusinessListModal.vue +++ b/src/views/crm/business/components/BusinessListModal.vue @@ -49,7 +49,7 @@ label="商机金额" align="center" prop="price" - :formatter="fenToYuanFormat" + :formatter="erpPriceInputFormatter" /> <el-table-column label="客户名称" align="center" prop="customerName" /> <el-table-column label="商机组" align="center" prop="statusTypeName" /> @@ -75,7 +75,7 @@ <script setup lang="ts"> import * as BusinessApi from '@/api/crm/business' import BusinessForm from '../BusinessForm.vue' -import { fenToYuanFormat } from '@/utils/formatter' +import { erpPriceInputFormatter } from '@/utils' const message = useMessage() // 消息弹窗 const props = defineProps<{ diff --git a/src/views/crm/contract/components/ContractList.vue b/src/views/crm/contract/components/ContractList.vue index 8a45ea7b..cf850a23 100644 --- a/src/views/crm/contract/components/ContractList.vue +++ b/src/views/crm/contract/components/ContractList.vue @@ -23,7 +23,7 @@ label="合同金额(元)" align="center" prop="price" - :formatter="fenToYuanFormat" + :formatter="erpPriceInputFormatter" /> <el-table-column label="开始时间" @@ -61,9 +61,9 @@ import * as ContractApi from '@/api/crm/contract' import ContractForm from './../ContractForm.vue' import { BizTypeEnum } from '@/api/crm/permission' -import { fenToYuanFormat } from '@/utils/formatter' import { dateFormatter } from '@/utils/formatTime' import { DICT_TYPE } from '@/utils/dict' +import { erpPriceInputFormatter } from '@/utils' defineOptions({ name: 'CrmContractList' }) const props = defineProps<{ diff --git a/src/views/crm/contract/detail/index.vue b/src/views/crm/contract/detail/index.vue index 0ab33888..9cdb9234 100644 --- a/src/views/crm/contract/detail/index.vue +++ b/src/views/crm/contract/detail/index.vue @@ -19,9 +19,8 @@ <el-tab-pane label="产品"> <ContractProductList :contract="contract" /> </el-tab-pane> - <!-- TODO 合同 --> - <el-tab-pane label="回款"> 123 </el-tab-pane> <!-- TODO @puhui999:回款信息 --> + <el-tab-pane label="回款"> 123 </el-tab-pane> <el-tab-pane label="团队成员"> <PermissionList ref="permissionListRef" diff --git a/src/views/crm/contract/index.vue b/src/views/crm/contract/index.vue index 960d2183..9064e161 100644 --- a/src/views/crm/contract/index.vue +++ b/src/views/crm/contract/index.vue @@ -245,7 +245,6 @@ import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' import download from '@/utils/download' import * as ContractApi from '@/api/crm/contract' import ContractForm from './ContractForm.vue' -import { fenToYuanFormat } from '@/utils/formatter' import { DICT_TYPE } from '@/utils/dict' import { erpPriceTableColumnFormatter } from '@/utils' import * as CustomerApi from '@/api/crm/customer' diff --git a/src/views/crm/product/ProductForm.vue b/src/views/crm/product/ProductForm.vue index 79d5ee6b..1748c804 100644 --- a/src/views/crm/product/ProductForm.vue +++ b/src/views/crm/product/ProductForm.vue @@ -100,7 +100,7 @@ <script setup lang="ts"> import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' import * as ProductApi from '@/api/crm/product' -import * as ProductCategoryApi from '@/api/crm/product/productCategory' +import * as ProductCategoryApi from '@/api/crm/product/category' import { defaultProps, handleTree } from '@/utils/tree' import { getSimpleUserList, UserVO } from '@/api/system/user' import { useUserStore } from '@/store/modules/user' diff --git a/src/views/crm/product/category/ProductCategoryForm.vue b/src/views/crm/product/category/ProductCategoryForm.vue index 2c20d303..0373fc3b 100644 --- a/src/views/crm/product/category/ProductCategoryForm.vue +++ b/src/views/crm/product/category/ProductCategoryForm.vue @@ -29,7 +29,7 @@ </Dialog> </template> <script setup lang="ts"> -import * as ProductCategoryApi from '@/api/crm/product/productCategory' +import * as ProductCategoryApi from '@/api/crm/product/category' defineOptions({ name: 'CrmProductCategoryForm' }) diff --git a/src/views/crm/product/category/index.vue b/src/views/crm/product/category/index.vue index 4005b479..b340d3e4 100644 --- a/src/views/crm/product/category/index.vue +++ b/src/views/crm/product/category/index.vue @@ -73,7 +73,7 @@ <script setup lang="ts"> import { dateFormatter } from '@/utils/formatTime' -import * as ProductCategoryApi from '@/api/crm/product/productCategory' +import * as ProductCategoryApi from '@/api/crm/product/category' import ProductCategoryForm from './ProductCategoryForm.vue' import { handleTree } from '@/utils/tree' diff --git a/src/views/crm/product/detail/ProductDetailsHeader.vue b/src/views/crm/product/detail/ProductDetailsHeader.vue index 34c94da8..11286d6c 100644 --- a/src/views/crm/product/detail/ProductDetailsHeader.vue +++ b/src/views/crm/product/detail/ProductDetailsHeader.vue @@ -18,13 +18,13 @@ </div> <ContentWrap class="mt-10px"> <el-descriptions :column="5" direction="vertical"> - <el-descriptions-item label="产品类别"> - {{ productCategoryList?.find((c) => c.id === product.categoryId)?.name }} - </el-descriptions-item> + <el-descriptions-item label="产品类别">{{ product.categoryName }}</el-descriptions-item> <el-descriptions-item label="产品单位"> <dict-tag :type="DICT_TYPE.CRM_PRODUCT_UNIT" :value="product.unit" /> </el-descriptions-item> - <el-descriptions-item label="产品价格">{{ fenToYuan(product.price) }}元</el-descriptions-item> + <el-descriptions-item label="产品价格"> + {{ erpPriceInputFormatter(product.price) }} 元 + </el-descriptions-item> <el-descriptions-item label="产品编码">{{ product.no }}</el-descriptions-item> </el-descriptions> </ContentWrap> @@ -34,9 +34,8 @@ <script setup lang="ts"> import ProductForm from '@/views/crm/product/ProductForm.vue' import { DICT_TYPE } from '@/utils/dict' -import { fenToYuan } from '@/utils' +import { erpPriceInputFormatter } from '@/utils' import * as ProductApi from '@/api/crm/product' -import * as ProductCategoryApi from '@/api/crm/product/productCategory' // 操作修改 const formRef = ref() @@ -44,12 +43,4 @@ const openForm = (type: string, id?: number) => { formRef.value.open(type, id) } const { product } = defineProps<{ product: ProductApi.ProductVO }>() -const emit = defineEmits(['refresh']) // 定义 success 事件,用于操作成功后的回调 - -/** 初始化 */ -const productCategoryList = ref([]) // 产品分类树 - -onMounted(async () => { - productCategoryList.value = await ProductCategoryApi.getProductCategoryList({}) -}) </script> diff --git a/src/views/crm/product/detail/ProductDetailsInfo.vue b/src/views/crm/product/detail/ProductDetailsInfo.vue index ba9e89af..52a11e96 100644 --- a/src/views/crm/product/detail/ProductDetailsInfo.vue +++ b/src/views/crm/product/detail/ProductDetailsInfo.vue @@ -8,11 +8,11 @@ <el-descriptions :column="4"> <el-descriptions-item label="产品名称">{{ product.name }}</el-descriptions-item> <el-descriptions-item label="产品编码">{{ product.no }}</el-descriptions-item> - <el-descriptions-item label="价格">{{ fenToYuan(product.price) }}元</el-descriptions-item> - <el-descriptions-item label="产品描述">{{ product.description }}</el-descriptions-item> - <el-descriptions-item label="产品类型"> - {{ productCategoryList?.find((c) => c.id === product.categoryId)?.name }} + <el-descriptions-item label="价格"> + {{ erpPriceInputFormatter(product.price) }} 元 </el-descriptions-item> + <el-descriptions-item label="产品描述">{{ product.description }}</el-descriptions-item> + <el-descriptions-item label="产品类型">{{ product.categoryName }}</el-descriptions-item> <el-descriptions-item label="是否上下架"> <dict-tag :type="DICT_TYPE.CRM_PRODUCT_STATUS" :value="product.status" /> </el-descriptions-item> @@ -27,8 +27,7 @@ <script setup lang="ts"> import { DICT_TYPE } from '@/utils/dict' import * as ProductApi from '@/api/crm/product' -import { fenToYuan } from '@/utils' -import * as ProductCategoryApi from '@/api/crm/product/productCategory' +import { erpPriceInputFormatter } from '@/utils' const { product } = defineProps<{ product: ProductApi.ProductVO @@ -36,10 +35,4 @@ const { product } = defineProps<{ // 展示的折叠面板 const activeNames = ref(['basicInfo']) - -/** 初始化 */ -const productCategoryList = ref([]) // 产品分类树 -onMounted(async () => { - productCategoryList.value = await ProductCategoryApi.getProductCategoryList({}) -}) </script> diff --git a/src/views/crm/product/index.vue b/src/views/crm/product/index.vue index 0f61b92e..10b9dbcf 100644 --- a/src/views/crm/product/index.vue +++ b/src/views/crm/product/index.vue @@ -133,7 +133,6 @@ import { dateFormatter } from '@/utils/formatTime' import download from '@/utils/download' import * as ProductApi from '@/api/crm/product' import ProductForm from './ProductForm.vue' -import { fenToYuanFormat } from '@/utils/formatter' import { erpPriceTableColumnFormatter } from '@/utils' defineOptions({ name: 'CrmProduct' })