diff --git a/src/views/products/Detail.jsx b/src/views/products/Detail.jsx
index 6f55b5c..5967b20 100644
--- a/src/views/products/Detail.jsx
+++ b/src/views/products/Detail.jsx
@@ -60,8 +60,6 @@ function Detail() {
-
- setAddProductVisible(false)} onCancel={() => setAddProductVisible(false)} />
>
)}
diff --git a/src/views/products/Detail/Header.jsx b/src/views/products/Detail/Header.jsx
index 493a207..93beec6 100644
--- a/src/views/products/Detail/Header.jsx
+++ b/src/views/products/Detail/Header.jsx
@@ -12,6 +12,7 @@ import { PERM_PRODUCTS_OFFER_AUDIT, PERM_PRODUCTS_OFFER_PUT } from '@/config';
import dayjs from 'dayjs';
import VendorSelector from '@/components/VendorSelector';
import AuditStateSelector from '@/components/AuditStateSelector';
+import NewProductModal from './NewProductModal';
const Header = ({ refresh, newActionable, ...props }) => {
const location = useLocation();
@@ -174,12 +175,7 @@ const Header = ({ refresh, newActionable, ...props }) => {
{/* 编辑 */}
{isEditPage && (
-
-
-
+
)}
{/* {activeAgencyState === 0 && ( */}
<>
diff --git a/src/views/products/Detail/NewProductModal.jsx b/src/views/products/Detail/NewProductModal.jsx
index 2315feb..3319910 100644
--- a/src/views/products/Detail/NewProductModal.jsx
+++ b/src/views/products/Detail/NewProductModal.jsx
@@ -1,5 +1,5 @@
import { useState, useEffect } from 'react';
-import { Form, Modal, Input } from 'antd';
+import { Form, Modal, Input, Button } from 'antd';
import { objectMapper } from '@/utils/commons';
import { useTranslation } from 'react-i18next';
@@ -7,7 +7,8 @@ import ProductsTypesSelector from '@/components/ProductsTypesSelector';
import useProductsStore from '@/stores/Products/Index';
import { useNewProductRecord, useProductsTypesMapVal } from '@/hooks/useProductsSets';
import { useDefaultLgc } from '@/i18n/LanguageSwitcher';
-import dayjs from 'dayjs'
+import RequireAuth from '@/components/RequireAuth';
+import { PERM_PRODUCTS_OFFER_PUT } from '@/config';
export const NewProductsForm = ({ initialValues, onFormInstanceReady, ...props }) => {
const { t } = useTranslation('products');
@@ -17,7 +18,7 @@ export const NewProductsForm = ({ initialValues, onFormInstanceReady, ...props }
onFormInstanceReady(form);
}, []);
- const [pickType, setPickType] = useState({ value: "6"});
+ const [pickType, setPickType] = useState({ value: '6' });
const onValuesChange = (changeValues, allValues) => {
if ('products_type' in changeValues) {
setPickType(changeValues.products_type);
@@ -60,12 +61,13 @@ const formValuesMapper = (values) => {
/**
*
*/
-export const NewProductModal = ({ source, action = '#' | 'o', open, onSubmit, onCancel, initialValues }) => {
+export const NewProductModal = ({ initialValues }) => {
const { t } = useTranslation();
const [formInstance, setFormInstance] = useState();
const [setEditingProduct] = useProductsStore((state) => [state.setEditingProduct]);
const [switchParams] = useProductsStore((state) => [state.switchParams]);
+ const [open, setOpen] = useState(false);
const [copyLoading, setCopyLoading] = useState(false);
const productsTypesMapVal = useProductsTypesMapVal();
const newProduct = useNewProductRecord();
@@ -77,16 +79,24 @@ export const NewProductModal = ({ source, action = '#' | 'o', open, onSubmit, on
copyNewProduct.info.product_type_name = productsTypesMapVal[param.products_type.value].label;
copyNewProduct.lgc_details[0].lgc = language;
copyNewProduct.lgc_details[0].title = param.title;
- copyNewProduct.quotation[0].use_dates_start = (`${switchParams.use_year}-01-01`);
- copyNewProduct.quotation[0].use_dates_end = (`${switchParams.use_year}-12-31`);
+ copyNewProduct.quotation[0].use_dates_start = `${switchParams.use_year}-01-01`;
+ copyNewProduct.quotation[0].use_dates_end = `${switchParams.use_year}-12-31`;
setEditingProduct(copyNewProduct);
- if (typeof onSubmit === 'function') {
- onSubmit();
- }
+ // if (typeof onSubmit === 'function') {
+ // onSubmit();
+ // }
+ setOpen(false);
return false;
};
return (
<>
+
+
+
+
{
- onCancel();
+ // onCancel();
+ setOpen(false);
formInstance?.resetFields();
}}
destroyOnClose
@@ -111,8 +122,6 @@ export const NewProductModal = ({ source, action = '#' | 'o', open, onSubmit, on
}
}}>
{
setFormInstance(instance);
diff --git a/src/views/products/Detail/ProductInfo.jsx b/src/views/products/Detail/ProductInfo.jsx
index c6fe6eb..95e759a 100644
--- a/src/views/products/Detail/ProductInfo.jsx
+++ b/src/views/products/Detail/ProductInfo.jsx
@@ -9,6 +9,7 @@ import { isEmpty, pick } from '@/utils/commons';
import ProductInfoForm from './ProductInfoForm';
import { usingStorage } from '@/hooks/usingStorage';
import Extras from './Extras';
+import NewProductModal from './NewProductModal';
const ProductInfo = ({ ...props }) => {
const { t } = useTranslation();
@@ -37,7 +38,7 @@ const ProductInfo = ({ ...props }) => {
// console.log('editable', hasAuditPer, (notAudit && hasEditPer));
setInfoEditable(topPerm || (!hasHT && hasEditPer));
- const _priceEditable = [-1, 3].includes(activeAgency?.audit_state_id);
+ const _priceEditable = [-1, 3].includes(activeAgency?.audit_state_id) || isEmpty(editingProduct?.info?.id);
setPriceEditable(topPerm || (_priceEditable && hasEditPer));
const showExtras = topPerm && hasHT; // !isEmpty(editingProduct) &&
@@ -98,7 +99,11 @@ const ProductInfo = ({ ...props }) => {
]}
/>
- {isEmpty(editingProduct) ? null : (
+ {isEmpty(editingProduct) ? (
+
+
+
+ ) : (
<>
{t('products:EditComponents.info')}
diff --git a/src/views/products/Detail/ProductInfoForm.jsx b/src/views/products/Detail/ProductInfoForm.jsx
index b3305b6..f7dff06 100644
--- a/src/views/products/Detail/ProductInfoForm.jsx
+++ b/src/views/products/Detail/ProductInfoForm.jsx
@@ -42,7 +42,7 @@ const InfoForm = ({ onSubmit, onReset, onValuesChange, editablePerm, infoEditabl
setFormEditable(infoEditable || priceEditable);
- const editable0 = isEmpty(editingProduct) ? false : editablePerm; // 空对象未操作
+ // const editable0 = isEmpty(editingProduct) ? false : editablePerm; // 空对象未操作
setShowSave(infoEditable || priceEditable);
// setEditable(editable0);
return () => {};