diff --git a/src/stores/Products/Index.js b/src/stores/Products/Index.js
index 618fb05..94c3cc2 100644
--- a/src/stores/Products/Index.js
+++ b/src/stores/Products/Index.js
@@ -3,7 +3,7 @@ import { devtools } from 'zustand/middleware';
import dayjs from 'dayjs'
import { fetchJSON, postForm, postJSON } from '@/utils/request';
import { HT_HOST } from '@/config';
-import { groupBy, generateId } from '@/utils/commons';
+import { groupBy, generateId, isEmpty } from '@/utils/commons';
export const searchAgencyAction = async (param) => {
const { errcode, result } = await fetchJSON(`${HT_HOST}/Service_BaseInfoWeb/products_search`, param);
@@ -287,29 +287,34 @@ export const useProductsStore = create(
return mergedList
},
- deleteQuotationById: async(quotaionId) => {
+ deleteQuotation: async(quotation) => {
const { editingProduct, quotationList, agencyProducts } = get()
const productTypeId = editingProduct.info.product_type_id;
+ const quotationId = quotation.id
const newList = quotationList.filter(q => {
- return q.id != quotaionId
+ return q.key != quotation.key
})
- const { result, success } = await deleteQuotationAction(quotaionId)
-
- if (success) {
- set({
- agencyProducts: {
- ...agencyProducts,
- [productTypeId]: [{
- ...editingProduct,
- quotation: newList
- }]
- },
- quotationList: newList
- })
- return Promise.resolve(result)
+ set({
+ agencyProducts: {
+ ...agencyProducts,
+ [productTypeId]: [{
+ ...editingProduct,
+ quotation: newList
+ }]
+ },
+ quotationList: newList
+ })
+
+ if (isEmpty(quotationId)) {
+ return Promise.resolve(newList)
} else {
- return Promise.reject(result)
+ const { result, success } = await deleteQuotationAction(quotationId)
+ if (success) {
+ return Promise.resolve(result)
+ } else {
+ return Promise.reject(result)
+ }
}
},
diff --git a/src/views/products/Detail/ProductInfoQuotation.jsx b/src/views/products/Detail/ProductInfoQuotation.jsx
index f4b45df..940bb6b 100644
--- a/src/views/products/Detail/ProductInfoQuotation.jsx
+++ b/src/views/products/Detail/ProductInfoQuotation.jsx
@@ -144,8 +144,8 @@ const ProductInfoQuotation = ({ editable, ...props }) => {
const datePresets = useDatePresets()
- const [quotationList, newEmptyQuotation, appendQuotationList, saveOrUpdateQuotation, deleteQuotationById] =
- useProductsStore((state) => [state.quotationList, state.newEmptyQuotation, state.appendQuotationList, state.saveOrUpdateQuotation, state.deleteQuotationById])
+ const [quotationList, newEmptyQuotation, appendQuotationList, saveOrUpdateQuotation, deleteQuotation] =
+ useProductsStore((state) => [state.quotationList, state.newEmptyQuotation, state.appendQuotationList, state.saveOrUpdateQuotation, state.deleteQuotation])
const triggerChange = (changedValue) => {
onChange?.(
@@ -180,13 +180,13 @@ const ProductInfoQuotation = ({ editable, ...props }) => {
setBatchSetupModalOpen(false)
}
- const onDeleteQuotation = (quotationId) => {
+ const onDeleteQuotation = (quotation) => {
modal.confirm({
title: '请确认',
icon: ,
content: '你要删除这条价格吗?',
onOk() {
- deleteQuotationById(quotationId)
+ deleteQuotation(quotation)
.catch(ex => {
notification.error({
message: 'Notification',
@@ -236,7 +236,7 @@ const ProductInfoQuotation = ({ editable, ...props }) => {
return (
-
+
)
},