Merge remote-tracking branch 'origin/main'

perf/export-docx
Lei OT 11 months ago
commit 6e9faa39f1

@ -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);
@ -184,7 +184,7 @@ export const useProductsStore = create(
dayjs().startOf('M'),
dayjs().endOf('M')
],
weekdayList: ['5', '6'],
weekdayList: [],
fresh: true // 标识是否是新记录,新记录才用添加列表
}),
@ -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)
}
}
},

@ -19,8 +19,6 @@ const batchSetupInitialValues = {
'unitId': '0',
'currency': 'RMB',
'weekend': [
'5',
'6'
],
'priceList': [
{
@ -65,8 +63,6 @@ const batchSetupInitialValues = {
'unitId': '0',
'currency': 'RMB',
'weekend': [
'5',
'6'
],
'priceList': [
{
@ -122,8 +118,6 @@ const defaultDefinitionValue = {
'unitId': '0',
'currency': 'RMB',
'weekend': [
'5',
'6'
],
'priceList': [
defaultPriceValue
@ -144,8 +138,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 +174,13 @@ const ProductInfoQuotation = ({ editable, ...props }) => {
setBatchSetupModalOpen(false)
}
const onDeleteQuotation = (quotationId) => {
const onDeleteQuotation = (quotation) => {
modal.confirm({
title: '请确认',
icon: <ExclamationCircleFilled />,
content: '你要删除这条价格吗?',
onOk() {
deleteQuotationById(quotationId)
deleteQuotation(quotation)
.catch(ex => {
notification.error({
message: 'Notification',
@ -236,7 +230,7 @@ const ProductInfoQuotation = ({ editable, ...props }) => {
return (
<Space>
<Button type='link' disabled={!_rowEditable} onClick={() => onQuotationSeleted(quotation)}>{t('Edit')}</Button>
<Button type='link' danger disabled={!_rowEditable} onClick={() => onDeleteQuotation(quotation.id)}>{t('Delete')}</Button>
<Button type='link' danger disabled={!_rowEditable} onClick={() => onDeleteQuotation(quotation)}>{t('Delete')}</Button>
</Space>
)
},

Loading…
Cancel
Save