diff --git a/src/hooks/useComputed.ts b/src/hooks/useComputed.ts deleted file mode 100644 index 87db6c9..0000000 --- a/src/hooks/useComputed.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { computed } from "vue" - -const useComputed = (fn: Function) => { - const map = new Map() - - return (...args: any[]) => { - const key = JSON.stringify(args) - - if (map.has(key)) return map.get(key) - - const comput = computed(() => fn(...args)) - map.set(key, comput) - return comput - } -} - -export default useComputed diff --git a/src/views/supermarketerp/stockTaking/form.vue b/src/views/supermarketerp/stockTaking/form.vue index 0b3098d..80d7197 100644 --- a/src/views/supermarketerp/stockTaking/form.vue +++ b/src/views/supermarketerp/stockTaking/form.vue @@ -49,7 +49,6 @@ ref="vxeTableRef" border :loading="loading" - show-overflow max-height="410" :edit-config="{ trigger: 'click', @@ -93,9 +92,11 @@ {{ row.erpSpuId && erpSpuSimpleAll.find((item: any) => item.id === row.erpSpuId)?.productName }} - + - 单位:{{ item.unit }} 装数:{{ item.packageNum }} + + 单位:{{ item.unit }} 装数:{{ item.packageNum }} 进价:{{ displayPrice(item.purchasePrice, "元") }} + @@ -105,6 +106,16 @@ + + + {{ + displayPrice( + row.erpUnitVos.reduce((pre: any, cur: any) => pre + cur.purchasePrice * Number(cur.accountNumber), 0), + "", + ) + }} + + - + - {{ - displayPrice( - row.erpUnitVos.reduce((pre: any, cur: any) => pre + cur.purchasePrice * Number(cur.accountNumber), 0), - "", - ) - }} + {{ row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) || 0 }} @@ -148,16 +154,11 @@ - - - {{ row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) || 0 }} - - {{ ( - parseFloat(row.pdPrice || 0) * + Number(row.pdPrice || 0) * (row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) || 0) ).toFixed(2) || 0 }} @@ -340,7 +341,7 @@ const computeProfit = (row: any) => { row._cachedProfit = diff > 0 ? diff : 0 } - return row._cachedProfit + return row._cachedProfit.toFixed(2) } // 计算亏 const computeLoss = (row: any) => { @@ -355,7 +356,7 @@ const computeLoss = (row: any) => { row._cachedLoss = diff > 0 ? diff : 0 } - return row._cachedLoss + return row._cachedLoss.toFixed(2) } // 当编辑实际数量时清除缓存使其重新计算 @@ -364,6 +365,43 @@ const handleRealNumberChange = (row: any) => { row._cachedLoss = null } +// 计算行数据 +// const computeRowData = (row: any) => { +// // 计算盘点总数 +// const pdTotalNum = row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) + +// // 计算盈亏 +// const diff = pdTotalNum - (Number(row.stock) || 0) +// const profit = diff > 0 ? diff : 0 +// const loss = diff < 0 ? Math.abs(diff) : 0 + +// // 计算总金额 +// const pdTotalAmount = Number(row.pdPrice) * pdTotalNum + +// return { +// pdTotalNum, +// profit, +// loss, +// pdTotalAmount, +// } +// } + +// 可编辑表格变化 +const handleEditChange = ({ row, column }: any) => { + // if (column.field === "realNumber") { + // // 更新盈亏数据 + // row._cachedProfit = null + // row._cachedLoss = null + // // 更新盘点总数和总金额 + // row.pdTotalNum = row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) + // row.pdTotalAmount = Number(row.pdPrice) * row.pdTotalNum + // } + // if (column.field === "pdPrice") { + // // 更新盘点总金额 + // row.pdTotalAmount = Number(row.pdPrice) * row.pdTotalNum + // } +} + // 整理数据 const settledTableItems = computed(() => { return vxeTableData.value.map((item: any) => { @@ -386,7 +424,7 @@ const settledTableItems = computed(() => { totalNumber: item.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) || 0, totalAmount: Number( ( - parseFloat(item.pdPrice || 0) * + Number(item.pdPrice || 0) * (item.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) || 0) ).toFixed(2) || 0, ), @@ -427,43 +465,6 @@ const clearData = () => { return true } -// 计算行数据 -// const computeRowData = (row: any) => { -// // 计算盘点总数 -// const pdTotalNum = row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) - -// // 计算盈亏 -// const diff = pdTotalNum - (Number(row.stock) || 0) -// const profit = diff > 0 ? diff : 0 -// const loss = diff < 0 ? Math.abs(diff) : 0 - -// // 计算总金额 -// const pdTotalAmount = parseFloat(row.pdPrice) * pdTotalNum - -// return { -// pdTotalNum, -// profit, -// loss, -// pdTotalAmount, -// } -// } - -// 可编辑表格变化 -const handleEditChange = ({ row, column }: any) => { - // if (column.field === "realNumber") { - // // 更新盈亏数据 - // row._cachedProfit = null - // row._cachedLoss = null - // // 更新盘点总数和总金额 - // row.pdTotalNum = row.erpUnitVos.reduce((pre: any, cur: any) => pre + Number(cur.realNumber) * cur.packageNum, 0) - // row.pdTotalAmount = parseFloat(row.pdPrice) * row.pdTotalNum - // } - // if (column.field === "pdPrice") { - // // 更新盘点总金额 - // row.pdTotalAmount = parseFloat(row.pdPrice) * row.pdTotalNum - // } -} - // 点击打印 // const printEvent = () => { // tablePrint(vxeTableRef.value, baseInfoRef.value, vxeTableData.value, 23, "库存盘点")