diff --git a/apps/web-antd/src/api/erp/finance/payment/index.ts b/apps/web-antd/src/api/erp/finance/payment/index.ts index c988b1286..502811665 100644 --- a/apps/web-antd/src/api/erp/finance/payment/index.ts +++ b/apps/web-antd/src/api/erp/finance/payment/index.ts @@ -20,9 +20,9 @@ export namespace ErpFinancePaymentApi { export interface FinancePayment { id?: number; // 付款单编号 no: string; // 付款单号 - supplierId: number; // 供应商编号 + supplierId?: number; // 供应商编号 supplierName?: string; // 供应商名称 - paymentTime: Date; // 付款时间 + paymentTime?: Date; // 付款时间 totalPrice: number; // 合计金额,单位:元 discountPrice: number; // 优惠金额 paymentPrice: number; // 实际付款金额 diff --git a/apps/web-antd/src/views/erp/finance/payment/modules/form.vue b/apps/web-antd/src/views/erp/finance/payment/modules/form.vue index 14ef85e8e..5778dca0e 100644 --- a/apps/web-antd/src/views/erp/finance/payment/modules/form.vue +++ b/apps/web-antd/src/views/erp/finance/payment/modules/form.vue @@ -26,30 +26,32 @@ const formData = ref< } >({ id: undefined, - no: undefined, + no: '', supplierId: undefined, accountId: undefined, financeUserId: undefined, paymentTime: undefined, - remark: undefined, + remark: '', fileUrl: undefined, totalPrice: 0, discountPrice: 0, paymentPrice: 0, items: [], + status: 0, }); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['付款单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['付款单']) - : '付款单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['付款单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['付款单']); + } else { + return '付款单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -81,30 +83,28 @@ const [Form, formApi] = useVbenForm({ }); /** 更新付款项 */ -const handleUpdateItems = ( - items: ErpFinancePaymentApi.FinancePaymentItem[], -) => { +function handleUpdateItems(items: ErpFinancePaymentApi.FinancePaymentItem[]) { formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formData.value.totalPrice = totalPrice; formApi.setValues({ totalPrice: formData.value.totalPrice, }); -}; +} /** 更新付款金额 */ -const handleUpdatePaymentPrice = (paymentPrice: number) => { +function handleUpdatePaymentPrice(paymentPrice: number) { formData.value.paymentPrice = paymentPrice; formApi.setValues({ paymentPrice: formData.value.paymentPrice, }); -}; +} /** 创建或更新付款单 */ const [Modal, modalApi] = useVbenModal({ @@ -141,7 +141,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = undefined; + formData.value = {} as ErpFinancePaymentApi.FinancePayment; return; } // 加载数据 diff --git a/apps/web-antd/src/views/erp/finance/payment/modules/item-form.vue b/apps/web-antd/src/views/erp/finance/payment/modules/item-form.vue index 3dfa62a8e..5d0032aa6 100644 --- a/apps/web-antd/src/views/erp/finance/payment/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/finance/payment/modules/item-form.vue @@ -212,81 +212,89 @@ defineExpose({ validate }); diff --git a/apps/web-antd/src/views/erp/finance/payment/modules/purchase-in-select.vue b/apps/web-antd/src/views/erp/finance/payment/modules/purchase-in-select.vue index efcea61fc..0aafa2fd2 100644 --- a/apps/web-antd/src/views/erp/finance/payment/modules/purchase-in-select.vue +++ b/apps/web-antd/src/views/erp/finance/payment/modules/purchase-in-select.vue @@ -69,7 +69,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }); /** 打开弹窗 */ -const openModal = (id: number) => { +function openModal(id: number) { // 重置数据 supplierId.value = id; open.value = true; @@ -78,17 +78,17 @@ const openModal = (id: number) => { gridApi.formApi?.resetForm(); gridApi.formApi?.setValues({ supplierId: id }); gridApi.query(); -}; +} /** 确认选择采购入库单 */ -const handleOk = () => { +function handleOk() { if (selectedRows.value.length === 0) { message.warning('请选择要添加的采购入库单'); return; } emit('success', selectedRows.value); open.value = false; -}; +} defineExpose({ open: openModal }); diff --git a/apps/web-antd/src/views/erp/finance/payment/modules/sale-return-select.vue b/apps/web-antd/src/views/erp/finance/payment/modules/sale-return-select.vue index e7100ad35..28460d516 100644 --- a/apps/web-antd/src/views/erp/finance/payment/modules/sale-return-select.vue +++ b/apps/web-antd/src/views/erp/finance/payment/modules/sale-return-select.vue @@ -73,7 +73,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }); /** 打开弹窗 */ -const openModal = (id: number) => { +function openModal(id: number) { // 重置数据 supplierId.value = id; open.value = true; @@ -82,17 +82,17 @@ const openModal = (id: number) => { gridApi.formApi?.resetForm(); gridApi.formApi?.setValues({ supplierId: id }); gridApi.query(); -}; +} /** 确认选择 */ -const handleOk = () => { +function handleOk() { if (selectedRows.value.length === 0) { message.warning('请选择要添加的采购退货单'); return; } emit('success', selectedRows.value); open.value = false; -}; +} defineExpose({ open: openModal }); diff --git a/apps/web-antd/src/views/erp/finance/receipt/modules/form.vue b/apps/web-antd/src/views/erp/finance/receipt/modules/form.vue index ed35d1df9..9a9a773be 100644 --- a/apps/web-antd/src/views/erp/finance/receipt/modules/form.vue +++ b/apps/web-antd/src/views/erp/finance/receipt/modules/form.vue @@ -43,14 +43,15 @@ const formData = ref< const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['收款单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['收款单']) - : '收款单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['收款单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['收款单']); + } else { + return '收款单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -82,30 +83,28 @@ const [Form, formApi] = useVbenForm({ }); /** 更新收款项 */ -const handleUpdateItems = ( - items: ErpFinanceReceiptApi.FinanceReceiptItem[], -) => { +function handleUpdateItems(items: ErpFinanceReceiptApi.FinanceReceiptItem[]) { formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formData.value.totalPrice = totalPrice; formApi.setValues({ totalPrice: formData.value.totalPrice, }); -}; +} /** 更新收款金额 */ -const handleUpdateReceiptPrice = (receiptPrice: number) => { +function handleUpdateReceiptPrice(receiptPrice: number) { formData.value.receiptPrice = receiptPrice; formApi.setValues({ receiptPrice: formData.value.receiptPrice, }); -}; +} /** 创建或更新收款单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/finance/receipt/modules/item-form.vue b/apps/web-antd/src/views/erp/finance/receipt/modules/item-form.vue index 2d9230b69..c0c02bba6 100644 --- a/apps/web-antd/src/views/erp/finance/receipt/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/finance/receipt/modules/item-form.vue @@ -118,15 +118,15 @@ watch( /** 添加销售出库单 */ const saleOutSelectRef = ref(); -const handleOpenSaleOut = () => { +function handleOpenSaleOut() { if (!props.customerId) { message.error('请选择客户'); return; } saleOutSelectRef.value?.open(props.customerId); -}; +} -const handleAddSaleOut = (rows: ErpSaleOutApi.SaleOut[]) => { +function handleAddSaleOut(rows: ErpSaleOutApi.SaleOut[]) { rows.forEach((row) => { const newItem: ErpFinanceReceiptApi.FinanceReceiptItem = { bizId: row.id, @@ -140,19 +140,19 @@ const handleAddSaleOut = (rows: ErpSaleOutApi.SaleOut[]) => { tableData.value.push(newItem); }); emit('update:items', [...tableData.value]); -}; +} /** 添加销售退货单 */ const saleReturnSelectRef = ref(); -const handleOpenSaleReturn = () => { +function handleOpenSaleReturn() { if (!props.customerId) { message.error('请选择客户'); return; } saleReturnSelectRef.value?.open(props.customerId); -}; +} -const handleAddSaleReturn = (rows: ErpSaleReturnApi.SaleReturn[]) => { +function handleAddSaleReturn(rows: ErpSaleReturnApi.SaleReturn[]) { rows.forEach((row) => { const newItem: ErpFinanceReceiptApi.FinanceReceiptItem = { bizId: row.id, @@ -166,10 +166,10 @@ const handleAddSaleReturn = (rows: ErpSaleReturnApi.SaleReturn[]) => { tableData.value.push(newItem); }); emit('update:items', [...tableData.value]); -}; +} /** 删除行 */ -const handleDelete = async (row: any) => { +function handleDelete(row: any) { const index = tableData.value.findIndex( (item) => item.bizId === row.bizId && item.bizType === row.bizType, ); @@ -178,10 +178,10 @@ const handleDelete = async (row: any) => { } // 通知父组件更新 emit('update:items', [...tableData.value]); -}; +} /** 处理行数据变更 */ -const handleRowChange = (row: any) => { +function handleRowChange(row: any) { const index = tableData.value.findIndex( (item) => item.bizId === row.bizId && item.bizType === row.bizType, ); @@ -191,10 +191,10 @@ const handleRowChange = (row: any) => { tableData.value[index] = row; } emit('update:items', [...tableData.value]); -}; +} /** 表单校验 */ -const validate = () => { +function validate() { // 检查是否有明细 if (tableData.value.length === 0) { throw new Error('请添加收款明细'); @@ -206,87 +206,92 @@ const validate = () => { throw new Error(`第 ${i + 1} 行:本次收款必须大于0`); } } -}; +} defineExpose({ validate }); diff --git a/apps/web-antd/src/views/erp/finance/receipt/modules/sale-out-select.vue b/apps/web-antd/src/views/erp/finance/receipt/modules/sale-out-select.vue index 19d023125..21e793c8c 100644 --- a/apps/web-antd/src/views/erp/finance/receipt/modules/sale-out-select.vue +++ b/apps/web-antd/src/views/erp/finance/receipt/modules/sale-out-select.vue @@ -65,7 +65,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }); /** 打开弹窗 */ -const openModal = (id: number) => { +function openModal(id: number) { // 重置数据 customerId.value = id; open.value = true; @@ -74,17 +74,17 @@ const openModal = (id: number) => { gridApi.formApi?.resetForm(); gridApi.formApi?.setValues({ customerId: id }); gridApi.query(); -}; +} /** 确认选择销售出库单 */ -const handleOk = () => { +function handleOk() { if (selectedRows.value.length === 0) { message.warning('请选择要添加的销售出库单'); return; } emit('success', selectedRows.value); open.value = false; -}; +} defineExpose({ open: openModal }); diff --git a/apps/web-antd/src/views/erp/finance/receipt/modules/sale-return-select.vue b/apps/web-antd/src/views/erp/finance/receipt/modules/sale-return-select.vue index 8dfa97c3c..3ebd3f2d3 100644 --- a/apps/web-antd/src/views/erp/finance/receipt/modules/sale-return-select.vue +++ b/apps/web-antd/src/views/erp/finance/receipt/modules/sale-return-select.vue @@ -69,7 +69,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }); /** 打开弹窗 */ -const openModal = (id: number) => { +function openModal(id: number) { // 重置数据 customerId.value = id; open.value = true; @@ -78,17 +78,17 @@ const openModal = (id: number) => { gridApi.formApi?.resetForm(); gridApi.formApi?.setValues({ customerId: id }); gridApi.query(); -}; +} /** 确认选择销售退货单 */ -const handleOk = () => { +function handleOk() { if (selectedRows.value.length === 0) { message.warning('请选择要添加的销售退货单'); return; } emit('success', selectedRows.value); open.value = false; -}; +} defineExpose({ open: openModal }); diff --git a/apps/web-antd/src/views/erp/purchase/in/modules/form.vue b/apps/web-antd/src/views/erp/purchase/in/modules/form.vue index 029092f83..7aa3d5cf9 100644 --- a/apps/web-antd/src/views/erp/purchase/in/modules/form.vue +++ b/apps/web-antd/src/views/erp/purchase/in/modules/form.vue @@ -49,14 +49,15 @@ const formData = ref< const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['采购入库']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['采购入库']) - : '采购入库详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['采购入库']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['采购入库']); + } else { + return '采购入库详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -170,7 +171,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = undefined; + formData.value = {} as ErpPurchaseInApi.PurchaseIn; return; } // 加载数据 diff --git a/apps/web-antd/src/views/erp/purchase/in/modules/item-form.vue b/apps/web-antd/src/views/erp/purchase/in/modules/item-form.vue index 45dce4380..a6415a62a 100644 --- a/apps/web-antd/src/views/erp/purchase/in/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/purchase/in/modules/item-form.vue @@ -96,7 +96,7 @@ watch( await gridApi.grid.reloadData(tableData.value); // 更新表格列配置(目的:原数量、已入库动态列) const columns = useFormItemColumns(tableData.value); - await gridApi.grid.reloadColumn(columns); + await gridApi.grid.reloadColumn(columns || []); }, { immediate: true, @@ -140,14 +140,14 @@ function handleDelete(row: ErpPurchaseInApi.PurchaseInItem) { } /** 处理仓库变更 */ -const handleWarehouseChange = async (row: ErpPurchaseInApi.PurchaseInItem) => { +async function handleWarehouseChange(row: ErpPurchaseInApi.PurchaseInItem) { const stockCount = await getWarehouseStockCount({ productId: row.productId!, warehouseId: row.warehouseId!, }); row.stockCount = stockCount || 0; handleRowChange(row); -}; +} /** 处理行数据变更 */ function handleRowChange(row: any) { @@ -161,14 +161,14 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpPurchaseInApi.PurchaseInItem): void => { +function initRow(row: ErpPurchaseInApi.PurchaseInItem) { if (row.productPrice && row.count) { row.totalProductPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; row.taxPrice = erpPriceMultiply(row.totalProductPrice, (row.taxPercent || 0) / 100) ?? 0; row.totalPrice = row.totalProductPrice + row.taxPrice; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/purchase/in/modules/purchase-order-select.vue b/apps/web-antd/src/views/erp/purchase/in/modules/purchase-order-select.vue index 2f28dc454..5e24a9b4a 100644 --- a/apps/web-antd/src/views/erp/purchase/in/modules/purchase-order-select.vue +++ b/apps/web-antd/src/views/erp/purchase/in/modules/purchase-order-select.vue @@ -78,40 +78,42 @@ function handleSelectOrder(selectOrder: ErpPurchaseOrderApi.PurchaseOrder) { } /** 确认选择采购订单 */ -const handleOk = () => { +function handleOk() { if (!order.value) { message.warning('请选择一个采购订单'); return; } emit('update:order', order.value); open.value = false; -}; +} diff --git a/apps/web-antd/src/views/erp/purchase/order/modules/form.vue b/apps/web-antd/src/views/erp/purchase/order/modules/form.vue index 2fa57d413..cdd036f62 100644 --- a/apps/web-antd/src/views/erp/purchase/order/modules/form.vue +++ b/apps/web-antd/src/views/erp/purchase/order/modules/form.vue @@ -24,14 +24,15 @@ const formData = ref(); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['采购订单']) - : formType.value === 'update' - ? $t('ui.actionTitle.edit', ['采购订单']) - : '采购订单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['采购订单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['采购订单']); + } else { + return '采购订单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -53,27 +54,27 @@ const [Form, formApi] = useVbenForm({ }); /** 更新采购订单项 */ -const handleUpdateItems = (items: ErpPurchaseOrderApi.PurchaseOrderItem[]) => { +function handleUpdateItems(items: ErpPurchaseOrderApi.PurchaseOrderItem[]) { formData.value = modalApi.getData(); formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新优惠金额 */ -const handleUpdateDiscountPrice = (discountPrice: number) => { +function handleUpdateDiscountPrice(discountPrice: number) { formApi.setValues({ discountPrice, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formApi.setValues({ totalPrice, }); -}; +} /** 创建或更新采购订单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/purchase/order/modules/item-form.vue b/apps/web-antd/src/views/erp/purchase/order/modules/item-form.vue index 9f4e840a0..f48897a5d 100644 --- a/apps/web-antd/src/views/erp/purchase/order/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/purchase/order/modules/item-form.vue @@ -179,14 +179,14 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpPurchaseOrderApi.PurchaseOrderItem): void => { +function initRow(row: ErpPurchaseOrderApi.PurchaseOrderItem) { if (row.productPrice && row.count) { row.totalProductPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; row.taxPrice = erpPriceMultiply(row.totalProductPrice, (row.taxPercent || 0) / 100) ?? 0; row.totalPrice = row.totalProductPrice + row.taxPrice; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/purchase/return/modules/form.vue b/apps/web-antd/src/views/erp/purchase/return/modules/form.vue index 0c22f38de..65d5834b3 100644 --- a/apps/web-antd/src/views/erp/purchase/return/modules/form.vue +++ b/apps/web-antd/src/views/erp/purchase/return/modules/form.vue @@ -83,38 +83,36 @@ const [Form, formApi] = useVbenForm({ }); /** 更新采购退货项 */ -const handleUpdateItems = ( - items: ErpPurchaseReturnApi.PurchaseReturnItem[], -) => { +function handleUpdateItems(items: ErpPurchaseReturnApi.PurchaseReturnItem[]) { formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新其他费用 */ -const handleUpdateOtherPrice = (otherPrice: number) => { +function handleUpdateOtherPrice(otherPrice: number) { formApi.setValues({ otherPrice, }); -}; +} /** 更新优惠金额 */ -const handleUpdateDiscountPrice = (discountPrice: number) => { +function handleUpdateDiscountPrice(discountPrice: number) { formApi.setValues({ discountPrice, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formApi.setValues({ totalPrice, }); -}; +} /** 选择采购订单 */ -const handleUpdateOrder = (order: ErpPurchaseOrderApi.PurchaseOrder) => { +function handleUpdateOrder(order: ErpPurchaseOrderApi.PurchaseOrder) { formData.value = { ...formData.value, orderId: order.id, @@ -136,7 +134,7 @@ const handleUpdateOrder = (order: ErpPurchaseOrderApi.PurchaseOrder) => { (item) => item.count && item.count > 0, ) as ErpPurchaseReturnApi.PurchaseReturnItem[]; formApi.setValues(formData.value, false); -}; +} /** 创建或更新采购退货 */ const [Modal, modalApi] = useVbenModal({ @@ -173,7 +171,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = undefined; + formData.value = {} as ErpPurchaseReturnApi.PurchaseReturn; return; } // 加载数据 diff --git a/apps/web-antd/src/views/erp/purchase/return/modules/item-form.vue b/apps/web-antd/src/views/erp/purchase/return/modules/item-form.vue index 818b2f1c7..3c44718bd 100644 --- a/apps/web-antd/src/views/erp/purchase/return/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/purchase/return/modules/item-form.vue @@ -96,7 +96,7 @@ watch( await gridApi.grid.reloadData(tableData.value); // 更新表格列配置(目的:已入库、已退货动态列) const columns = useFormItemColumns(tableData.value); - await gridApi.grid.reloadColumn(columns); + await gridApi.grid.reloadColumn(columns || []); }, { immediate: true, @@ -140,16 +140,16 @@ function handleDelete(row: ErpPurchaseReturnApi.PurchaseReturnItem) { } /** 处理仓库变更 */ -const handleWarehouseChange = async ( +async function handleWarehouseChange( row: ErpPurchaseReturnApi.PurchaseReturnItem, -) => { +) { const stockCount = await getWarehouseStockCount({ productId: row.productId!, warehouseId: row.warehouseId!, }); row.stockCount = stockCount || 0; handleRowChange(row); -}; +} /** 处理行数据变更 */ function handleRowChange(row: any) { @@ -163,14 +163,14 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpPurchaseReturnApi.PurchaseReturnItem): void => { +function initRow(row: ErpPurchaseReturnApi.PurchaseReturnItem) { if (row.productPrice && row.count) { row.totalProductPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; row.taxPrice = erpPriceMultiply(row.totalProductPrice, (row.taxPercent || 0) / 100) ?? 0; row.totalPrice = row.totalProductPrice + row.taxPrice; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/purchase/return/modules/purchase-order-select.vue b/apps/web-antd/src/views/erp/purchase/return/modules/purchase-order-select.vue index 45b0ec65b..188ef9116 100644 --- a/apps/web-antd/src/views/erp/purchase/return/modules/purchase-order-select.vue +++ b/apps/web-antd/src/views/erp/purchase/return/modules/purchase-order-select.vue @@ -78,40 +78,42 @@ function handleSelectOrder(selectOrder: ErpPurchaseOrderApi.PurchaseOrder) { } /** 确认选择采购订单 */ -const handleOk = () => { +function handleOk() { if (!order.value) { message.warning('请选择一个采购订单'); return; } emit('update:order', order.value); open.value = false; -}; +} diff --git a/apps/web-antd/src/views/erp/sale/order/modules/form.vue b/apps/web-antd/src/views/erp/sale/order/modules/form.vue index 94ec1aeeb..b5d306aed 100644 --- a/apps/web-antd/src/views/erp/sale/order/modules/form.vue +++ b/apps/web-antd/src/views/erp/sale/order/modules/form.vue @@ -24,14 +24,15 @@ const formData = ref(); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['销售订单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['销售订单']) - : '销售订单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['销售订单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['销售订单']); + } else { + return '销售订单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -53,27 +54,27 @@ const [Form, formApi] = useVbenForm({ }); /** 更新销售订单项 */ -const handleUpdateItems = (items: ErpSaleOrderApi.SaleOrderItem[]) => { +function handleUpdateItems(items: ErpSaleOrderApi.SaleOrderItem[]) { formData.value = modalApi.getData(); formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新优惠金额 */ -const handleUpdateDiscountPrice = (discountPrice: number) => { +function handleUpdateDiscountPrice(discountPrice: number) { formApi.setValues({ discountPrice, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formApi.setValues({ totalPrice, }); -}; +} /** 创建或更新销售订单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/sale/order/modules/item-form.vue b/apps/web-antd/src/views/erp/sale/order/modules/item-form.vue index 1f28a74e2..fc8bba129 100644 --- a/apps/web-antd/src/views/erp/sale/order/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/sale/order/modules/item-form.vue @@ -179,14 +179,14 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpSaleOrderApi.SaleOrderItem): void => { +function initRow(row: ErpSaleOrderApi.SaleOrderItem) { if (row.productPrice && row.count) { row.totalProductPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; row.taxPrice = erpPriceMultiply(row.totalProductPrice, (row.taxPercent || 0) / 100) ?? 0; row.totalPrice = row.totalProductPrice + row.taxPrice; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/sale/out/modules/form.vue b/apps/web-antd/src/views/erp/sale/out/modules/form.vue index 7c30275a2..adaf59c83 100644 --- a/apps/web-antd/src/views/erp/sale/out/modules/form.vue +++ b/apps/web-antd/src/views/erp/sale/out/modules/form.vue @@ -79,36 +79,36 @@ const [Form, formApi] = useVbenForm({ }); /** 更新销售出库项 */ -const handleUpdateItems = (items: ErpSaleOutApi.SaleOutItem[]) => { +function handleUpdateItems(items: ErpSaleOutApi.SaleOutItem[]) { formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新其他费用 */ -const handleUpdateOtherPrice = (otherPrice: number) => { +function handleUpdateOtherPrice(otherPrice: number) { formApi.setValues({ otherPrice, }); -}; +} /** 更新优惠金额 */ -const handleUpdateDiscountPrice = (discountPrice: number) => { +function handleUpdateDiscountPrice(discountPrice: number) { formApi.setValues({ discountPrice, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formApi.setValues({ totalPrice, }); -}; +} /** 选择销售订单 */ -const handleUpdateOrder = (order: ErpSaleOrderApi.SaleOrder) => { +function handleUpdateOrder(order: ErpSaleOrderApi.SaleOrder) { formData.value = { ...formData.value, orderId: order.id, @@ -130,7 +130,7 @@ const handleUpdateOrder = (order: ErpSaleOrderApi.SaleOrder) => { (item) => item.count && item.count > 0, ) as ErpSaleOutApi.SaleOutItem[]; formApi.setValues(formData.value, false); -}; +} /** 创建或更新销售出库 */ const [Modal, modalApi] = useVbenModal({ @@ -166,7 +166,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = undefined; + formData.value = {} as ErpSaleOutApi.SaleOut; return; } // 加载数据 diff --git a/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue b/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue index f7f3011b0..4e79e6e38 100644 --- a/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue @@ -96,7 +96,7 @@ watch( await gridApi.grid.reloadData(tableData.value); // 更新表格列配置(目的:原数量、已出库动态列) const columns = useFormItemColumns(tableData.value); - await gridApi.grid.reloadColumn(columns); + await gridApi.grid.reloadColumn(columns || []); }, { immediate: true, @@ -140,14 +140,14 @@ function handleDelete(row: ErpSaleOutApi.SaleOutItem) { } /** 处理仓库变更 */ -const handleWarehouseChange = async (row: ErpSaleOutApi.SaleOutItem) => { +async function handleWarehouseChange(row: ErpSaleOutApi.SaleOutItem) { const stockCount = await getWarehouseStockCount({ productId: row.productId!, warehouseId: row.warehouseId!, }); row.stockCount = stockCount || 0; handleRowChange(row); -}; +} /** 处理行数据变更 */ function handleRowChange(row: any) { @@ -161,14 +161,14 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpSaleOutApi.SaleOutItem): void => { +function initRow(row: ErpSaleOutApi.SaleOutItem) { if (row.productPrice && row.count) { row.totalProductPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; row.taxPrice = erpPriceMultiply(row.totalProductPrice, (row.taxPercent || 0) / 100) ?? 0; row.totalPrice = row.totalProductPrice + row.taxPrice; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/sale/out/modules/sale-order-select.vue b/apps/web-antd/src/views/erp/sale/out/modules/sale-order-select.vue index 1a3c8b368..9d6b40ba7 100644 --- a/apps/web-antd/src/views/erp/sale/out/modules/sale-order-select.vue +++ b/apps/web-antd/src/views/erp/sale/out/modules/sale-order-select.vue @@ -78,40 +78,42 @@ function handleSelectOrder(selectOrder: ErpSaleOrderApi.SaleOrder) { } /** 确认选择销售订单 */ -const handleOk = () => { +function handleOk() { if (!order.value) { message.warning('请选择一个销售订单'); return; } emit('update:order', order.value); open.value = false; -}; +} diff --git a/apps/web-antd/src/views/erp/sale/return/modules/form.vue b/apps/web-antd/src/views/erp/sale/return/modules/form.vue index 3a9146a03..c8c12ecf0 100644 --- a/apps/web-antd/src/views/erp/sale/return/modules/form.vue +++ b/apps/web-antd/src/views/erp/sale/return/modules/form.vue @@ -49,14 +49,15 @@ const formData = ref< const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['销售退货']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['销售退货']) - : '销售退货详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['销售退货']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['销售退货']); + } else { + return '销售退货详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -83,36 +84,36 @@ const [Form, formApi] = useVbenForm({ }); /** 更新销售退货项 */ -const handleUpdateItems = (items: ErpSaleReturnApi.SaleReturnItem[]) => { +function handleUpdateItems(items: ErpSaleReturnApi.SaleReturnItem[]) { formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 更新其他费用 */ -const handleUpdateOtherPrice = (otherPrice: number) => { +function handleUpdateOtherPrice(otherPrice: number) { formApi.setValues({ otherPrice, }); -}; +} /** 更新优惠金额 */ -const handleUpdateDiscountPrice = (discountPrice: number) => { +function handleUpdateDiscountPrice(discountPrice: number) { formApi.setValues({ discountPrice, }); -}; +} /** 更新总金额 */ -const handleUpdateTotalPrice = (totalPrice: number) => { +function handleUpdateTotalPrice(totalPrice: number) { formApi.setValues({ totalPrice, }); -}; +} /** 选择销售订单 */ -const handleUpdateOrder = (order: ErpSaleOrderApi.SaleOrder) => { +function handleUpdateOrder(order: ErpSaleOrderApi.SaleOrder) { formData.value = { ...formData.value, orderId: order.id, @@ -134,7 +135,7 @@ const handleUpdateOrder = (order: ErpSaleOrderApi.SaleOrder) => { (item) => item.count && item.count > 0, ) as ErpSaleReturnApi.SaleReturnItem[]; formApi.setValues(formData.value, false); -}; +} /** 创建或更新销售退货 */ const [Modal, modalApi] = useVbenModal({ @@ -170,7 +171,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = undefined; + formData.value = {} as ErpSaleReturnApi.SaleReturn; return; } // 加载数据 diff --git a/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue b/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue index 9259eb432..e07fe8a49 100644 --- a/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue @@ -96,7 +96,7 @@ watch( await gridApi.grid.reloadData(tableData.value); // 更新表格列配置(目的:已出库、已出库动态列) const columns = useFormItemColumns(tableData.value); - await gridApi.grid.reloadColumn(columns); + await gridApi.grid.reloadColumn(columns || []); }, { immediate: true, @@ -140,14 +140,14 @@ function handleDelete(row: ErpSaleReturnApi.SaleReturnItem) { } /** 处理仓库变更 */ -const handleWarehouseChange = async (row: ErpSaleReturnApi.SaleReturnItem) => { +async function handleWarehouseChange(row: ErpSaleReturnApi.SaleReturnItem) { const stockCount = await getWarehouseStockCount({ productId: row.productId!, warehouseId: row.warehouseId!, }); row.stockCount = stockCount || 0; handleRowChange(row); -}; +} /** 处理行数据变更 */ function handleRowChange(row: any) { @@ -161,14 +161,14 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpSaleReturnApi.SaleReturnItem): void => { +function initRow(row: ErpSaleReturnApi.SaleReturnItem) { if (row.productPrice && row.count) { row.totalProductPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; row.taxPrice = erpPriceMultiply(row.totalProductPrice, (row.taxPercent || 0) / 100) ?? 0; row.totalPrice = row.totalProductPrice + row.taxPrice; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/sale/return/modules/sale-order-select.vue b/apps/web-antd/src/views/erp/sale/return/modules/sale-order-select.vue index f7d18b7de..8a8ade7a4 100644 --- a/apps/web-antd/src/views/erp/sale/return/modules/sale-order-select.vue +++ b/apps/web-antd/src/views/erp/sale/return/modules/sale-order-select.vue @@ -78,40 +78,42 @@ function handleSelectOrder(selectOrder: ErpSaleOrderApi.SaleOrder) { } /** 确认选择销售订单 */ -const handleOk = () => { +function handleOk() { if (!order.value) { message.warning('请选择一个销售订单'); return; } emit('update:order', order.value); open.value = false; -}; +} diff --git a/apps/web-antd/src/views/erp/stock/check/modules/form.vue b/apps/web-antd/src/views/erp/stock/check/modules/form.vue index 96eb0c969..2bdcec37b 100644 --- a/apps/web-antd/src/views/erp/stock/check/modules/form.vue +++ b/apps/web-antd/src/views/erp/stock/check/modules/form.vue @@ -23,14 +23,15 @@ const formData = ref(); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['库存盘点单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['库存盘点单']) - : '库存盘点单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['库存盘点单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['库存盘点单']); + } else { + return '库存盘点单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -46,13 +47,13 @@ const [Form, formApi] = useVbenForm({ }); /** 更新盘点单项 */ -const handleUpdateItems = (items: ErpStockCheckApi.StockCheckItem[]) => { +function handleUpdateItems(items: ErpStockCheckApi.StockCheckItem[]) { formData.value = modalApi.getData(); formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 创建或更新库存盘点单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/stock/check/modules/item-form.vue b/apps/web-antd/src/views/erp/stock/check/modules/item-form.vue index 472d8ec10..2a44ea909 100644 --- a/apps/web-antd/src/views/erp/stock/check/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/stock/check/modules/item-form.vue @@ -174,11 +174,11 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpStockCheckApi.StockCheckItem): void => { +function initRow(row: ErpStockCheckApi.StockCheckItem) { if (row.productPrice && row.count) { row.totalPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/stock/in/modules/form.vue b/apps/web-antd/src/views/erp/stock/in/modules/form.vue index ee9984ce8..06b614032 100644 --- a/apps/web-antd/src/views/erp/stock/in/modules/form.vue +++ b/apps/web-antd/src/views/erp/stock/in/modules/form.vue @@ -19,14 +19,15 @@ const formData = ref(); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['其它入库单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['其它入库单']) - : '其它入库单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['其它入库单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['其它入库单']); + } else { + return '其它入库单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -42,13 +43,13 @@ const [Form, formApi] = useVbenForm({ }); /** 更新入库单项 */ -const handleUpdateItems = (items: ErpStockInApi.StockInItem[]) => { +function handleUpdateItems(items: ErpStockInApi.StockInItem[]) { formData.value = modalApi.getData(); formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 创建或更新其它入库单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/stock/in/modules/item-form.vue b/apps/web-antd/src/views/erp/stock/in/modules/item-form.vue index 469c02686..b48a85421 100644 --- a/apps/web-antd/src/views/erp/stock/in/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/stock/in/modules/item-form.vue @@ -160,11 +160,11 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpStockInApi.StockInItem): void => { +function initRow(row: ErpStockInApi.StockInItem) { if (row.productPrice && row.count) { row.totalPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/stock/move/modules/form.vue b/apps/web-antd/src/views/erp/stock/move/modules/form.vue index ba04b7533..772bc82f3 100644 --- a/apps/web-antd/src/views/erp/stock/move/modules/form.vue +++ b/apps/web-antd/src/views/erp/stock/move/modules/form.vue @@ -23,14 +23,15 @@ const formData = ref(); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['库存调拨单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['库存调拨单']) - : '库存调拨单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['库存调拨单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['库存调拨单']); + } else { + return '库存调拨单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -46,13 +47,13 @@ const [Form, formApi] = useVbenForm({ }); /** 更新调拨单项 */ -const handleUpdateItems = (items: ErpStockMoveApi.StockMoveItem[]) => { +function handleUpdateItems(items: ErpStockMoveApi.StockMoveItem[]) { formData.value = modalApi.getData(); formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 创建或更新库存调拨单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/stock/move/modules/item-form.vue b/apps/web-antd/src/views/erp/stock/move/modules/item-form.vue index 5a3b45626..948a2073f 100644 --- a/apps/web-antd/src/views/erp/stock/move/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/stock/move/modules/item-form.vue @@ -99,7 +99,7 @@ function handleAdd() { totalPrice: undefined, remark: undefined, }; - tableData.value.push(newRow); + tableData.value.push(newRow as any); // 通知父组件更新 emit('update:items', [...tableData.value]); } @@ -169,11 +169,11 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpStockMoveApi.StockMoveItem): void => { +function initRow(row: ErpStockMoveApi.StockMoveItem) { if (row.productPrice && row.count) { row.totalPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; } -}; +} /** 表单校验 */ function validate() { diff --git a/apps/web-antd/src/views/erp/stock/out/modules/form.vue b/apps/web-antd/src/views/erp/stock/out/modules/form.vue index d8ae8a448..3c900af97 100644 --- a/apps/web-antd/src/views/erp/stock/out/modules/form.vue +++ b/apps/web-antd/src/views/erp/stock/out/modules/form.vue @@ -23,14 +23,15 @@ const formData = ref(); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' const itemFormRef = ref>(); -/* eslint-disable unicorn/no-nested-ternary */ -const getTitle = computed(() => - formType.value === 'create' - ? $t('ui.actionTitle.create', ['其它出库单']) - : formType.value === 'edit' - ? $t('ui.actionTitle.edit', ['其它出库单']) - : '其它出库单详情', -); +const getTitle = computed(() => { + if (formType.value === 'create') { + return $t('ui.actionTitle.create', ['其它出库单']); + } else if (formType.value === 'edit') { + return $t('ui.actionTitle.edit', ['其它出库单']); + } else { + return '其它出库单详情'; + } +}); const [Form, formApi] = useVbenForm({ commonConfig: { @@ -46,13 +47,13 @@ const [Form, formApi] = useVbenForm({ }); /** 更新出库单项 */ -const handleUpdateItems = (items: ErpStockOutApi.StockOutItem[]) => { +function handleUpdateItems(items: ErpStockOutApi.StockOutItem[]) { formData.value = modalApi.getData(); formData.value.items = items; formApi.setValues({ items, }); -}; +} /** 创建或更新其它出库单 */ const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/erp/stock/out/modules/item-form.vue b/apps/web-antd/src/views/erp/stock/out/modules/item-form.vue index e8ade25ba..0c51c2979 100644 --- a/apps/web-antd/src/views/erp/stock/out/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/stock/out/modules/item-form.vue @@ -158,11 +158,11 @@ function handleRowChange(row: any) { } /** 初始化行数据 */ -const initRow = (row: ErpStockOutApi.StockOutItem): void => { +function initRow(row: ErpStockOutApi.StockOutItem) { if (row.productPrice && row.count) { row.totalPrice = erpPriceMultiply(row.productPrice, row.count) ?? 0; } -}; +} /** 表单校验 */ function validate() {