diff --git a/src/views/canteen/canteenInventoryRecords/form.vue b/src/views/canteen/canteenInventoryRecords/form.vue index 1a0219c..1456cbe 100644 --- a/src/views/canteen/canteenInventoryRecords/form.vue +++ b/src/views/canteen/canteenInventoryRecords/form.vue @@ -1,217 +1,388 @@ - \ No newline at end of file +// baseDataForm.linkCode = selectionRows.code +// state.editableTableData = selectionRows.items.map((item: any) => ({ +// ...item, +// unitObj: {}, +// realPrice: displayPrice(item.purchasePrice, ""), +// })) +// state.erpSpuItemsMemo = selectionRows.items.map((item: any) => ({ +// ...item, +// unitObj: {}, +// realPrice: displayPrice(item.purchasePrice, ""), +// })) +// state.linkCgPlanDialogVisible = false +// } + +// 删除选中的行 +const removeSelectRowEvent = () => { + const $table = editableTableRef.value + if ($table) { + const selectRecords = $table.getCheckboxRecords() + if (selectRecords.length > 0) { + state.editableTableData = state.editableTableData.filter( + (item) => !selectRecords.some((row) => row.erpMaterialId === item.erpMaterialId), + ) + } + } +} + +// 可编辑表格行勾选 +const selectChangeEvent: VxeTableEvents.CheckboxChange = ({ checked }) => { + const $table = editableTableRef.value + if ($table) { + const records = $table.getCheckboxRecords() + console.log(checked ? "勾选事件" : "取消事件", records) + state.selectedRowserpMaterialIds = records.map((item) => item.erpMaterialId) + } +} + +// 点击商品选择 +const handleClickSpuSelect = () => erpSpuSelectDialogRef.value.openDialog() + +// 获取被选择的商品行 +const getSelectedSpuRows = (selectionRows: any) => { + console.log("被选择的商品行", selectionRows) + + // 筛选新勾选的项 + const addedItems = selectionRows + .filter( + (item: any) => !state.editableTableData.some((editableTableItem: any) => editableTableItem.erpMaterialId === item.erpMaterialId), + ) + .map((addItem: any) => { + const index = state.erpSpuItemsMemo.findIndex((item: any) => item.erpMaterialId === addItem.erpMaterialId) + if (index !== -1) return state.erpSpuItemsMemo[index] + return { ...addItem, isNew: true } + }) + // 仅添加新勾选的项 + state.editableTableData = [...state.editableTableData, ...addedItems] + + // 筛选取消勾选的项 + const removedItems = state.editableTableData.filter( + (item: any) => !selectionRows.some((selectedItem: any) => selectedItem.erpMaterialId === item.erpMaterialId), + ) + // 仅移除取消勾选的项 + state.editableTableData = state.editableTableData.filter( + (item: any) => !removedItems.some((removeItem: any) => removeItem.erpMaterialId === item.erpMaterialId), + ) + // state.editableTableData.push(item) + // nextTick(() => { + // const $table = editableTableRef.value + // if ($table) { + // $table.setRow(item) + // } + // }) + state.erpSpuSelectDialogVisible = false + console.log("state.editableTableData", state.editableTableData) +} + +// 整理数据 +const cgPlanSpuItems = computed(() => { + return state.editableTableData.map((item: any) => { + return { + id: item.isNew ? undefined : item.id, + erpMaterialId: item.erpMaterialId, + quantity: item.quantity, + unitPrice: item.price, + realPrice: item.realPrice ? storePrice(item.realPrice) : 0, + totalAmount: item?.realPrice && item.quantity ? storePrice(Number(item.realPrice) * Number(item.quantity)) : 0, + stock: item.stock, + remark: item.remark, + } + }) +}) + +const { formValidate, submitData } = useSmProcessFormAction() + +// 点击继续添加 +const onContinueAdd = async () => { + console.log("baseDataForm", baseDataForm) + console.log("state.editableTableData", state.editableTableData) + ;(await formValidate(baseDataFormRef, editableTableRef, state.editableTableData)) && + (await submitData(baseDataForm, cgPlanSpuItems, loading, putObj, addObj)) && + clearData() +} + +// 点击保存 +const onSave = async () => { + console.log("baseDataForm", baseDataForm) + console.log("state.editableTableData", state.editableTableData) + ;(await formValidate(baseDataFormRef, editableTableRef, state.editableTableData)) && + (await submitData(baseDataForm, cgPlanSpuItems, loading, putObj, addObj)) && + clearData() && + emit("close") +} + +// 清空填写的数据 返回 true +const clearData = () => { + for (const key in baseDataForm) { + if (key === "id" || key === "inventoryCode" || key === "inventoryDate" || key === "inventoryType" || key === "orderType") continue + baseDataForm[key] = "" + } + state.editableTableData = [] + state.erpSpuItemsMemo = [] + state.selectedRowserpMaterialIds = [] + return true +} + +// 点击打印 +const printEvent = () => { + // tablePrint(editableTableRef.value, baseDataInfoRef.value, state.editableTableData, 23, "采购入库") +} + +onMounted(() => { + getInitData() +}) + diff --git a/src/views/canteen/canteenInventoryRecords/form11.vue b/src/views/canteen/canteenInventoryRecords/form11.vue new file mode 100644 index 0000000..7907697 --- /dev/null +++ b/src/views/canteen/canteenInventoryRecords/form11.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/canteen/canteenInventoryRecords/index.vue b/src/views/canteen/canteenInventoryRecords/index.vue index 5068f15..40d3906 100644 --- a/src/views/canteen/canteenInventoryRecords/index.vue +++ b/src/views/canteen/canteenInventoryRecords/index.vue @@ -1,150 +1,187 @@ - \ No newline at end of file + try { + await delObjs(ids) + getDataList() + useMessage().success("删除成功") + } catch (err: any) { + useMessage().error(err.msg) + } +} + +// 表单关闭 +const formClose = () => { + formState.showForm = false + formState.formId = undefined + fetchList() +} + diff --git a/src/views/canteen/components/selectDialog.vue b/src/views/canteen/components/selectDialog.vue new file mode 100644 index 0000000..d067661 --- /dev/null +++ b/src/views/canteen/components/selectDialog.vue @@ -0,0 +1,200 @@ + + + diff --git a/src/views/supermarketerp/components/erpSpuSelectDialog.vue b/src/views/supermarketerp/components/erpSpuSelectDialog.vue index 292c95a..e242376 100644 --- a/src/views/supermarketerp/components/erpSpuSelectDialog.vue +++ b/src/views/supermarketerp/components/erpSpuSelectDialog.vue @@ -190,7 +190,7 @@ const handleSelectDialogConfirm = () => { } onMounted(() => { - // // 获取商品分类 + // 获取商品分类 // try { // const res = await getSupermarketCategory() // supermarketCategory.value = res.data