product change and edit order
This commit is contained in:
parent
ffc90fe61a
commit
46ed77392a
@ -12,7 +12,7 @@ import { store } from './redux/store';
|
|||||||
|
|
||||||
const setupAxios = () => {
|
const setupAxios = () => {
|
||||||
axios.defaults.baseURL = 'https://atpapi.checkapp.one'
|
axios.defaults.baseURL = 'https://atpapi.checkapp.one'
|
||||||
// axios.defaults.baseURL = 'http://localhost:5000'
|
//axios.defaults.baseURL = 'http://localhost:5000'
|
||||||
axios.defaults.headers = {
|
axios.defaults.headers = {
|
||||||
'Cache-Control': 'no-cache,no-store',
|
'Cache-Control': 'no-cache,no-store',
|
||||||
'Pragma': 'no-cache',
|
'Pragma': 'no-cache',
|
||||||
|
@ -2,9 +2,10 @@ import { createReducer } from "@reduxjs/toolkit";
|
|||||||
let initialState = localStorage.getItem("cartItems") ? JSON.parse(localStorage.getItem("cartItems")) : ({
|
let initialState = localStorage.getItem("cartItems") ? JSON.parse(localStorage.getItem("cartItems")) : ({
|
||||||
cartItems: [],
|
cartItems: [],
|
||||||
subTotal: 0,
|
subTotal: 0,
|
||||||
shipping: 0,
|
shippingCharge: 0,
|
||||||
tax: 0,
|
tax: 0,
|
||||||
total: 0,
|
total: 0,
|
||||||
|
shipingInfo: null,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -15,11 +16,12 @@ export const cartReducer = createReducer(
|
|||||||
{
|
{
|
||||||
addToCart: (state, action) => {
|
addToCart: (state, action) => {
|
||||||
const item = action.payload;
|
const item = action.payload;
|
||||||
const isItemExist = state.cartItems.find((i) => i.id === item.id);
|
|
||||||
|
const isItemExist = state.cartItems.find((i) => i.product === item.product);
|
||||||
|
|
||||||
if (isItemExist) {
|
if (isItemExist) {
|
||||||
state.cartItems.forEach((i) => {
|
state.cartItems.forEach((i) => {
|
||||||
if (i.id === item.id) i.quantity += 1;
|
if (i.product === item.product) i.quantity += 1;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
state.cartItems.push(item);
|
state.cartItems.push(item);
|
||||||
@ -27,27 +29,33 @@ export const cartReducer = createReducer(
|
|||||||
},
|
},
|
||||||
|
|
||||||
decrement: (state, action) => {
|
decrement: (state, action) => {
|
||||||
const item = state.cartItems.find((i) => i.id === action.payload);
|
const item = action.payload;
|
||||||
if (item.quantity > 1) {
|
const pro = state.cartItems.find((i) => i.product === item.product);
|
||||||
|
|
||||||
|
if (pro.quantity > 1) {
|
||||||
state.cartItems.forEach((i) => {
|
state.cartItems.forEach((i) => {
|
||||||
if (i.id === item.id) i.quantity -= 1;
|
if (i.product === item.product) i.quantity -= 1;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteFromCart: (state, action) => {
|
deleteFromCart: (state, action) => {
|
||||||
state.cartItems = state.cartItems.filter((i) => i.id !== action.payload);
|
const item = action.payload;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
state.cartItems = state.cartItems.filter((i) => i.product !== item.product);
|
||||||
},
|
},
|
||||||
|
|
||||||
// selectTax: (state, action) => {
|
// selectTax: (state, action) => {
|
||||||
|
|
||||||
// const tax = action.payload;
|
// const tax = action.payload;
|
||||||
|
|
||||||
// const item = state.cartItems.find((i) => i.id === tax.productId);
|
// const item = state.cartItems.find((i) => i.product === tax.productId);
|
||||||
// if (item) {
|
// if (item) {
|
||||||
|
|
||||||
// state.cartItems.forEach((i) => {
|
// state.cartItems.forEach((i) => {
|
||||||
// if (i.id === item.id) {
|
// if (i.product === item.product) {
|
||||||
|
|
||||||
// i.taxName = tax.name;
|
// i.taxName = tax.name;
|
||||||
// i.taxRate = tax.rate;
|
// i.taxRate = tax.rate;
|
||||||
@ -64,14 +72,28 @@ export const cartReducer = createReducer(
|
|||||||
|
|
||||||
calculatePrice: (state) => {
|
calculatePrice: (state) => {
|
||||||
let sum = 0;
|
let sum = 0;
|
||||||
state.cartItems.forEach((i) => (sum += i.PriceWithTax * i.quantity));
|
state.cartItems.forEach((i) => (sum += i.price_With_Tax * i.quantity));
|
||||||
state.subTotal = sum;
|
state.subTotal = sum;
|
||||||
// state.shipping = state.subTotal > 1000 ? 0 : 200;
|
// state.shippingCharge = state.subTotal > 1000 ? 0 : 200;
|
||||||
// state.tax = +(state.subTotal * 0.18).toFixed();
|
// state.tax = +(state.subTotal * 0.18).toFixed();
|
||||||
state.total = state.subTotal
|
state.total = state.subTotal
|
||||||
// + state.tax + state.shipping;
|
// + state.tax + state.shippingCharge;
|
||||||
|
},
|
||||||
|
addShippingInfo: (state, action) => {
|
||||||
|
const item = action.payload;
|
||||||
|
|
||||||
|
state.shipingInfo = item;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
deleteFromshippingInfo: (state, action) => {
|
||||||
|
|
||||||
|
state.shipingInfo = null
|
||||||
|
state.total = 0
|
||||||
|
state.subTotal = 0
|
||||||
|
state.cartItems = []
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -79,33 +101,3 @@ export const cartReducer = createReducer(
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
let initialInfo = localStorage.getItem("shippingInfo") ? JSON.parse(localStorage.getItem("shippingInfo")) : ({
|
|
||||||
franchisees: null,
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
export const shipingReducer = createReducer(
|
|
||||||
initialInfo,
|
|
||||||
{
|
|
||||||
addShippingInfo: (state, action) => {
|
|
||||||
const item = action.payload;
|
|
||||||
// const isItemExist = state.franchisees.find((i) => i.id === item.id);
|
|
||||||
|
|
||||||
// if (isItemExist) {
|
|
||||||
// state.cartItems.forEach((i) => {
|
|
||||||
// if (i.id === item.id) i.quantity += 1;
|
|
||||||
// });
|
|
||||||
// return;
|
|
||||||
// } else {
|
|
||||||
state.franchisees = item;
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
|
|
||||||
deleteFromshippingInfo: (state, action) => {
|
|
||||||
state.franchisees = null
|
|
||||||
// state.franchisees.filter((i) => i.id !== action.payload);
|
|
||||||
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
|
@ -21,7 +21,7 @@ import { cartReducer, shipingReducer } from "./reducers/cartReducer"
|
|||||||
export const store = configureStore({
|
export const store = configureStore({
|
||||||
reducer: {
|
reducer: {
|
||||||
cart: cartReducer,
|
cart: cartReducer,
|
||||||
shipingInfo: shipingReducer
|
// shipingInfo: shipingReducer
|
||||||
},
|
},
|
||||||
// initialState
|
// initialState
|
||||||
|
|
||||||
|
@ -11,18 +11,15 @@ import { addItemsToCart } from 'src/redux/Actions/cartAction'
|
|||||||
import toast from 'react-hot-toast'
|
import toast from 'react-hot-toast'
|
||||||
import { cibBlackberry } from '@coreui/icons'
|
import { cibBlackberry } from '@coreui/icons'
|
||||||
import Button from '@material-ui/core/Button'
|
import Button from '@material-ui/core/Button'
|
||||||
// import PrintOrderDetails from './PrintOrderDetails.js'
|
|
||||||
|
|
||||||
function AddOrder() {
|
function AddOrder() {
|
||||||
const { status, id } = useParams()
|
const { status, id } = useParams()
|
||||||
|
|
||||||
const { cartItems, subTotal, tax, shipping, total } = useSelector(
|
const { cartItems, subTotal, shippingCharge, tax, shipingInfo, total } = useSelector(
|
||||||
(state) => state.cart
|
(state) => state.cart
|
||||||
);
|
);
|
||||||
|
|
||||||
// const { cart, shippingInfo } = useSelector(
|
|
||||||
// (state) => state
|
|
||||||
// );
|
|
||||||
const AllStates = useSelector(
|
const AllStates = useSelector(
|
||||||
(state) => state
|
(state) => state
|
||||||
);
|
);
|
||||||
@ -115,120 +112,6 @@ function AddOrder() {
|
|||||||
}))
|
}))
|
||||||
|
|
||||||
}
|
}
|
||||||
// ------------------------product handle------------------------------//
|
|
||||||
|
|
||||||
const handleGetSingleProduct = async (e) => {
|
|
||||||
|
|
||||||
|
|
||||||
axios
|
|
||||||
.get(`/api/product/getOne/${getValue.current.value}`, {
|
|
||||||
headers: { 'Access-Control-Allow-Origin': '*', Authorization: `Bearer ${token}` },
|
|
||||||
})
|
|
||||||
.then((res) => {
|
|
||||||
setLoading(false)
|
|
||||||
let options = {
|
|
||||||
name: res?.data?.product?.name,
|
|
||||||
price: res?.data?.product?.base_Price,
|
|
||||||
id: res?.data?.product?._id,
|
|
||||||
quantity: 1,
|
|
||||||
|
|
||||||
image: res?.data?.product?.image?.url,
|
|
||||||
taxRate: 0.0,
|
|
||||||
taxName: '',
|
|
||||||
taxId: '',
|
|
||||||
PriceWithTax: res?.data?.product?.base_Price,
|
|
||||||
}
|
|
||||||
dispatch({ type: "addToCart", payload: options });
|
|
||||||
|
|
||||||
dispatch({ type: "calculatePrice" });
|
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
|
|
||||||
toast.success("Product Added");
|
|
||||||
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
setLoading(false)
|
|
||||||
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// const TaxRatechange = async (id, e) => {
|
|
||||||
// // console.log(e.target.value)
|
|
||||||
// // console.log(e.target.value.slice(4, 6))
|
|
||||||
// // console.log(e.target.value.slice(12, 16))
|
|
||||||
// // console.log(e.target.value.slice(23))
|
|
||||||
|
|
||||||
|
|
||||||
// let taxDetails = {
|
|
||||||
// name: e.target.value.slice(12, 16),
|
|
||||||
// rate: e.target.value.slice(4, 6),
|
|
||||||
// productId: id,
|
|
||||||
// taxId: e.target.value.slice(24)
|
|
||||||
|
|
||||||
// }
|
|
||||||
// dispatch({ type: "selectTax", payload: taxDetails });
|
|
||||||
|
|
||||||
// dispatch({ type: "calculatePrice" });
|
|
||||||
// localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
|
|
||||||
// toast.success("Tax Added");
|
|
||||||
|
|
||||||
// }
|
|
||||||
const handleRemove = (id) => {
|
|
||||||
dispatch({
|
|
||||||
type: "deleteFromCart",
|
|
||||||
payload: id,
|
|
||||||
});
|
|
||||||
dispatch({ type: "calculatePrice" });
|
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
toast.success("Item Removed");
|
|
||||||
|
|
||||||
};
|
|
||||||
//increase qty
|
|
||||||
const increaseQuantity = (id) => {
|
|
||||||
if (
|
|
||||||
tax === 1) {
|
|
||||||
swal({
|
|
||||||
title: 'Warning',
|
|
||||||
text: 'Please select Tax Rate ',
|
|
||||||
icon: 'error',
|
|
||||||
button: 'Close',
|
|
||||||
dangerMode: true,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
dispatch({
|
|
||||||
type: "addToCart",
|
|
||||||
payload: { id },
|
|
||||||
});
|
|
||||||
dispatch({ type: "calculatePrice" });
|
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const decreaseQuantity = (id) => {
|
|
||||||
if (
|
|
||||||
tax === 1) {
|
|
||||||
swal({
|
|
||||||
title: 'Warning',
|
|
||||||
text: 'Please select Tax Rate ',
|
|
||||||
icon: 'error',
|
|
||||||
button: 'Close',
|
|
||||||
dangerMode: true,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
dispatch({
|
|
||||||
type: "decrement",
|
|
||||||
payload: id,
|
|
||||||
});
|
|
||||||
|
|
||||||
dispatch({ type: "calculatePrice" });
|
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
|
|
||||||
};
|
|
||||||
// ------------------------product handle End------------------------------//
|
|
||||||
|
|
||||||
// ------------------------Frenchisee handle------------------------------//
|
// ------------------------Frenchisee handle------------------------------//
|
||||||
|
|
||||||
@ -244,9 +127,9 @@ function AddOrder() {
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
// console.log(res.data.data)
|
console.log(res.data.data)
|
||||||
let options = {
|
let options = {
|
||||||
id: res?.data?.data?._id,
|
Franchisee: res?.data?.data?._id,
|
||||||
name: res?.data?.data?.name,
|
name: res?.data?.data?.name,
|
||||||
|
|
||||||
|
|
||||||
@ -254,6 +137,7 @@ function AddOrder() {
|
|||||||
contact_Person_Name: res?.data?.data?.contact_Person_Name,
|
contact_Person_Name: res?.data?.data?.contact_Person_Name,
|
||||||
address: (res?.data?.data?.address_line_1 + ' ' + res?.data?.data?.address_line_2),
|
address: (res?.data?.data?.address_line_1 + ' ' + res?.data?.data?.address_line_2),
|
||||||
city: res?.data?.data?.city?.city_name,
|
city: res?.data?.data?.city?.city_name,
|
||||||
|
price_Lable: res?.data?.data?.price_Lable,
|
||||||
state: res?.data?.data?.city?.state?.state_name,
|
state: res?.data?.data?.city?.state?.state_name,
|
||||||
banner: res?.data?.data?.banner?.url,
|
banner: res?.data?.data?.banner?.url,
|
||||||
Franchisee_Url: res?.data?.data?.url
|
Franchisee_Url: res?.data?.data?.url
|
||||||
@ -261,7 +145,7 @@ function AddOrder() {
|
|||||||
|
|
||||||
dispatch({ type: "addShippingInfo", payload: options });
|
dispatch({ type: "addShippingInfo", payload: options });
|
||||||
|
|
||||||
localStorage.setItem("shippingInfo", JSON.stringify(AllStates.shipingInfo));
|
// localStorage.setItem("shippingInfo", JSON.stringify(AllStates.shipingInfo));
|
||||||
|
|
||||||
toast.success("Franchisee Added");
|
toast.success("Franchisee Added");
|
||||||
|
|
||||||
@ -274,40 +158,93 @@ function AddOrder() {
|
|||||||
const FranchiseeRemove = (id) => {
|
const FranchiseeRemove = (id) => {
|
||||||
dispatch({
|
dispatch({
|
||||||
type: "deleteFromshippingInfo",
|
type: "deleteFromshippingInfo",
|
||||||
payload: id,
|
payload: { Franchisee: id },
|
||||||
});
|
});
|
||||||
localStorage.setItem("shippingInfo", JSON.stringify(AllStates.shipingInfo));
|
|
||||||
toast.success("Franchisee Removed");
|
toast.success("Franchisee Removed");
|
||||||
|
|
||||||
};
|
};
|
||||||
// ------------------------Frenchisee handle End------------------------------//
|
// ------------------------Frenchisee handle End------------------------------//
|
||||||
console.log(AllStates.shipingInfo.franchisees)
|
// ------------------------product handle------------------------------//
|
||||||
// cartItems.map(i => console.log(i.taxName))
|
|
||||||
function handleSubmit() {
|
const handleGetSingleProduct = async (e) => {
|
||||||
|
|
||||||
|
|
||||||
if (cartItems.length < 1) {
|
axios
|
||||||
swal({
|
.get(`/api/product/getOne/${getValue.current.value}`, {
|
||||||
title: 'Warning',
|
headers: { 'Access-Control-Allow-Origin': '*', Authorization: `Bearer ${token}` },
|
||||||
text: 'Please select atleast one product',
|
|
||||||
icon: 'error',
|
|
||||||
button: 'Close',
|
|
||||||
dangerMode: true,
|
|
||||||
})
|
})
|
||||||
return
|
.then((res) => {
|
||||||
}
|
setLoading(false)
|
||||||
// else if (cartItems.find(i => i.taxName === '')) {
|
const productAllkey = Object.keys(res?.data?.product);
|
||||||
// swal({
|
const productAllValue = Object.values(res?.data?.product);
|
||||||
// title: 'Warning',
|
const findIndex1 = (productAllkey.indexOf(shipingInfo?.price_Lable))
|
||||||
// text: 'Please select tax rate for every Product',
|
const findIndex2 = (productAllkey.indexOf(`${shipingInfo?.price_Lable}_With_Tax`))
|
||||||
// icon: 'error',
|
|
||||||
// button: 'Close',
|
|
||||||
// dangerMode: true,
|
|
||||||
// })
|
let options = {
|
||||||
// return
|
name: res?.data?.product?.name,
|
||||||
// }
|
price: productAllValue[findIndex1],
|
||||||
else if (
|
product: res?.data?.product?._id,
|
||||||
AllStates.shipingInfo.franchisees === null) {
|
quantity: 1,
|
||||||
|
|
||||||
|
image: res?.data?.product?.image?.url,
|
||||||
|
|
||||||
|
taxId: res?.data?.product?.taxId,
|
||||||
|
price_With_Tax: productAllValue[findIndex2],
|
||||||
|
}
|
||||||
|
dispatch({ type: "addToCart", payload: options });
|
||||||
|
|
||||||
|
dispatch({ type: "calculatePrice" });
|
||||||
|
|
||||||
|
toast.success("Product Added");
|
||||||
|
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
setLoading(false)
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const handleRemove = (id) => {
|
||||||
|
dispatch({
|
||||||
|
type: "deleteFromCart",
|
||||||
|
payload: { product: id },
|
||||||
|
});
|
||||||
|
dispatch({ type: "calculatePrice" });
|
||||||
|
toast.success("Item Removed");
|
||||||
|
|
||||||
|
};
|
||||||
|
//increase qty
|
||||||
|
const increaseQuantity = (id) => {
|
||||||
|
|
||||||
|
dispatch({
|
||||||
|
type: "addToCart",
|
||||||
|
payload: { product: id },
|
||||||
|
});
|
||||||
|
dispatch({ type: "calculatePrice" });
|
||||||
|
// localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const decreaseQuantity = (id) => {
|
||||||
|
|
||||||
|
dispatch({
|
||||||
|
type: "decrement",
|
||||||
|
payload: { product: id },
|
||||||
|
});
|
||||||
|
|
||||||
|
dispatch({ type: "calculatePrice" });
|
||||||
|
|
||||||
|
};
|
||||||
|
// ------------------------product handle End------------------------------//
|
||||||
|
|
||||||
|
|
||||||
|
function handleSubmit() {
|
||||||
|
if (
|
||||||
|
shipingInfo === null) {
|
||||||
swal({
|
swal({
|
||||||
title: 'Warning',
|
title: 'Warning',
|
||||||
text: 'Please select Franchisee ',
|
text: 'Please select Franchisee ',
|
||||||
@ -317,10 +254,22 @@ function AddOrder() {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
else if (
|
|
||||||
shipping === '' ||
|
|
||||||
|
|
||||||
|
else if (cartItems.length < 1) {
|
||||||
|
swal({
|
||||||
|
title: 'Warning',
|
||||||
|
text: 'Please select atleast one product',
|
||||||
|
icon: 'error',
|
||||||
|
button: 'Close',
|
||||||
|
dangerMode: true,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else if (
|
||||||
tax === '' ||
|
tax === '' ||
|
||||||
|
shippingCharge === '' ||
|
||||||
total === ''
|
total === ''
|
||||||
|
|
||||||
) {
|
) {
|
||||||
@ -337,15 +286,8 @@ function AddOrder() {
|
|||||||
|
|
||||||
|
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
// const formData = new FormData()
|
|
||||||
// formData.set('orderItems', cartItems)
|
|
||||||
|
|
||||||
|
|
||||||
// formData.set('shippingInfo', AllStates.shipingInfo.franchisees)
|
|
||||||
// formData.set('shipping_charge', shipping)
|
|
||||||
// formData.set('tax_amount', tax)
|
|
||||||
// formData.set('total_amount', total)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
@ -354,8 +296,8 @@ function AddOrder() {
|
|||||||
`/api/order/create`,
|
`/api/order/create`,
|
||||||
{
|
{
|
||||||
orderItems: cartItems,
|
orderItems: cartItems,
|
||||||
shippingInfo: AllStates.shipingInfo.franchisees,
|
shippingInfo: shipingInfo,
|
||||||
shipping_charge: shipping,
|
shipping_charge: shippingCharge,
|
||||||
tax_amount: tax,
|
tax_amount: tax,
|
||||||
total_amount: total
|
total_amount: total
|
||||||
|
|
||||||
@ -373,18 +315,18 @@ function AddOrder() {
|
|||||||
// console.log(res)
|
// console.log(res)
|
||||||
swal({
|
swal({
|
||||||
title: 'Created',
|
title: 'Created',
|
||||||
text: 'Order Created!',
|
text: res.data.message ? res.data.message : 'Order created!',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
button: 'ok',
|
button: 'ok',
|
||||||
})
|
})
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
navigate('/orders/new')
|
navigate('/orders/new')
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((error) => {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
swal({
|
swal({
|
||||||
title: 'Warning',
|
title: 'Warning',
|
||||||
text: 'Something went wrong!',
|
text: error.response.data.message ? error.response.data.message : 'Something went wrong!',
|
||||||
icon: 'error',
|
icon: 'error',
|
||||||
button: 'Retry',
|
button: 'Retry',
|
||||||
dangerMode: true,
|
dangerMode: true,
|
||||||
@ -453,8 +395,92 @@ function AddOrder() {
|
|||||||
|
|
||||||
|
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-lg-7 mt-3">
|
<div className="col-lg-6 mt-3">
|
||||||
<div className="card">
|
<div className="card">
|
||||||
|
<div className="card-body">
|
||||||
|
<div className="mt-1">
|
||||||
|
<label className="fw-bold">Franchisee :</label>
|
||||||
|
<div className="d-flex">
|
||||||
|
<select
|
||||||
|
className="form-control me-2"
|
||||||
|
onChange={handleChange}
|
||||||
|
value={orderStatus}
|
||||||
|
ref={getFranchiseeID}
|
||||||
|
disabled={shipingInfo !== null}
|
||||||
|
>
|
||||||
|
<option value="" disabled></option>
|
||||||
|
{allFranchisee && allFranchisee.map((item, index) =>
|
||||||
|
<option key={index} value={item?._id}>{item?.name}</option>
|
||||||
|
)}
|
||||||
|
</select>
|
||||||
|
<button className='btn-sm btn-primary' onClick={(e) => handleGetSingleFrenchisee(e)} >Add</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
shipingInfo !== null &&
|
||||||
|
<div className="my-2">
|
||||||
|
<div className="row" style={{ fontSize: '14px' }}>
|
||||||
|
<div className="col-sm-4">
|
||||||
|
<img
|
||||||
|
src={shipingInfo?.banner}
|
||||||
|
alt={shipingInfo?.name}
|
||||||
|
width='100%'
|
||||||
|
// style={{
|
||||||
|
// width: '100%',
|
||||||
|
// objectFit: 'contain',
|
||||||
|
// maxHeight: '100px',
|
||||||
|
// }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="col-sm-8">
|
||||||
|
<h6 className="m-0 ms-2">{shipingInfo?.name}</h6>
|
||||||
|
<parent className="m-0 ms-2 mt-3">
|
||||||
|
Address. : {shipingInfo?.address}
|
||||||
|
</parent>
|
||||||
|
<p className="m-0 ms-2 mt-1">
|
||||||
|
Contact No. : {shipingInfo?.contact_Number}
|
||||||
|
</p>
|
||||||
|
<p className="m-0 ms-2 mt-1">
|
||||||
|
contact Person Name. : {shipingInfo?.contact_Person_Name}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<button className='btn btn-danger btn-sm ms-2 mt-2' onClick={() => FranchiseeRemove(shipingInfo?.id)} >Delete</button>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
<div className="mt-3">
|
||||||
|
<label>
|
||||||
|
<span className="fw-bold">Razorpay Order ID : </span>
|
||||||
|
{productData?.razorpay_order_id}
|
||||||
|
</label>
|
||||||
|
</div>{' '}
|
||||||
|
<div className="mt-1">
|
||||||
|
<label>
|
||||||
|
<span className="fw-bold">Razorpay Payment ID : </span>
|
||||||
|
{productData?.razorpay_payment_id}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6 mt-3">
|
||||||
|
|
||||||
|
{shipingInfo !== null && <div className="card">
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<div className="mt-1">
|
<div className="mt-1">
|
||||||
<label className="fw-bold">Select Product:</label>
|
<label className="fw-bold">Select Product:</label>
|
||||||
@ -510,34 +536,22 @@ function AddOrder() {
|
|||||||
|
|
||||||
|
|
||||||
}}>
|
}}>
|
||||||
<button className='btn btn-sm btn-primary ' onClick={() => decreaseQuantity(productDetails?.id)} >-</button>
|
<button className='btn btn-sm btn-primary ' onClick={() => decreaseQuantity(productDetails?.product)} >-</button>
|
||||||
<span className='px-2 mt-1' style={{}}>{productDetails?.quantity}</span>
|
<span className='px-2 mt-1' style={{}}>{productDetails?.quantity}</span>
|
||||||
<button className='btn btn-sm btn-primary' onClick={() => increaseQuantity(productDetails?.id)}>+</button>
|
<button className='btn btn-sm btn-primary' onClick={() => increaseQuantity(productDetails?.product)}>+</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{productDetails?.PriceWithTax && <p className="m-0 mt-3">
|
<p className="m-0 mt-3">
|
||||||
<stong>Price With Tax:</stong> ₹{productDetails?.PriceWithTax}
|
<stong>Price With Tax:</stong> ₹{productDetails?.price_With_Tax}
|
||||||
</p>}
|
</p>
|
||||||
<button className='btn btn-danger btn-sm ms-2 mt-3' onClick={() => handleRemove(productDetails?.id)} >Delete</button>
|
<button className='btn btn-danger btn-sm ms-2 mt-3' onClick={() => handleRemove(productDetails?.product)} >Delete</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-sm-6">
|
<div className="col-sm-6">
|
||||||
<p className="m-0 mt-3">
|
<p className="m-0 mt-3">
|
||||||
<stong> Price:</stong> ₹{productDetails?.price}
|
<stong> Price:</stong> ₹{productDetails?.price}
|
||||||
</p>
|
</p>
|
||||||
{/* {allTax.length > 0 && <div className="d-flex mt-4">
|
|
||||||
<h6 className="me-2 mt-1">Tax:</h6>
|
|
||||||
<select className=" " name="" id=""
|
|
||||||
onChange={(e) => TaxRatechange(productDetails?.id, e)}
|
|
||||||
>
|
|
||||||
<option value="" disabled>---</option>
|
|
||||||
|
|
||||||
{allTax.map((t, i) =>
|
|
||||||
<option key={i} value={`tax:${t.tax},name:${t.name} ,taxId:${t._id}`}>{t.tax}% {t.name}</option>
|
|
||||||
)}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
} */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -556,124 +570,8 @@ function AddOrder() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div className="col-lg-5 mt-3">
|
|
||||||
<div className="card">
|
|
||||||
<div className="card-body">
|
|
||||||
<div className="mt-1">
|
|
||||||
<label className="fw-bold">Franchisee :</label>
|
|
||||||
<div className="d-flex">
|
|
||||||
<select
|
|
||||||
className="form-control me-2"
|
|
||||||
onChange={handleChange}
|
|
||||||
value={orderStatus}
|
|
||||||
ref={getFranchiseeID}
|
|
||||||
>
|
|
||||||
<option value="" disabled></option>
|
|
||||||
{allFranchisee && allFranchisee.map((item, index) =>
|
|
||||||
<option key={index} value={item?._id}>{item?.name}</option>
|
|
||||||
)}
|
|
||||||
</select>
|
|
||||||
<button className='btn-sm btn-primary' onClick={(e) => handleGetSingleFrenchisee(e)} >Add</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
}
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
AllStates?.shipingInfo?.franchisees !== null &&
|
|
||||||
<div className="my-2">
|
|
||||||
<div className="row" style={{ fontSize: '14px' }}>
|
|
||||||
<div className="col-sm-4">
|
|
||||||
<img
|
|
||||||
src={AllStates.shipingInfo.franchisees?.banner}
|
|
||||||
alt={AllStates.shipingInfo.franchisees?.name}
|
|
||||||
width='100%'
|
|
||||||
// style={{
|
|
||||||
// width: '100%',
|
|
||||||
// objectFit: 'contain',
|
|
||||||
// maxHeight: '100px',
|
|
||||||
// }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="col-sm-8">
|
|
||||||
<h6 className="m-0 ms-2">{AllStates.shipingInfo.franchisees?.name}</h6>
|
|
||||||
<parent className="m-0 ms-2 mt-3">
|
|
||||||
Address. : {AllStates.shipingInfo.franchisees?.address}
|
|
||||||
</parent>
|
|
||||||
<p className="m-0 ms-2 mt-1">
|
|
||||||
Contact No. : {AllStates.shipingInfo.franchisees?.contact_Number}
|
|
||||||
</p>
|
|
||||||
<p className="m-0 ms-2 mt-1">
|
|
||||||
contact Person Name. : {AllStates.shipingInfo.franchisees?.contact_Person_Name}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button className='btn btn-danger btn-sm ms-2 mt-2' onClick={() => FranchiseeRemove(AllStates.shipingInfo.franchisees?.id)} >Delete</button>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
{/* <div className="mt-1">
|
|
||||||
<label className="fw-bold">Address :</label>
|
|
||||||
</div>
|
|
||||||
<div className="mt-1">
|
|
||||||
<label className="fw-bold">Contact Number :</label>
|
|
||||||
</div> */}
|
|
||||||
{/* <div className="mt-3">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Order ID: {productData?.order_id}</span>
|
|
||||||
</label>
|
|
||||||
</div> */}
|
|
||||||
|
|
||||||
{/* <div className="mt-3">
|
|
||||||
{productData?.order_id && (
|
|
||||||
<div className="d-flex">
|
|
||||||
<p className="fw-bold me-3">Order ID QR Code:</p>
|
|
||||||
<QRCode
|
|
||||||
value={JSON.stringify({ order_id: productData?.order_id })}
|
|
||||||
size={256}
|
|
||||||
style={{ height: '150px', width: '150px' }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div> */}
|
|
||||||
{/* {productData.status === 'processing' && (
|
|
||||||
<>
|
|
||||||
<div className="mt-3">
|
|
||||||
<label className="fw-bold">Courier Name* :</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
className="form-control"
|
|
||||||
id="courier_name"
|
|
||||||
value={data.courier_name}
|
|
||||||
onChange={handleChange}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="mt-3">
|
|
||||||
<label className="fw-bold">Tracking ID* :</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
className="form-control"
|
|
||||||
id="tracking_id"
|
|
||||||
value={data.tracking_id}
|
|
||||||
onChange={handleChange}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)} */}
|
|
||||||
{/* <div className="mt-3">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Amount Paid : </span>Rs.{productData?.total_amount}
|
|
||||||
</label>
|
|
||||||
</div> */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -681,86 +579,6 @@ function AddOrder() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* {productData?.address && (
|
|
||||||
<>
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Address : </span>
|
|
||||||
{`${productData.address?.full_name}, ${productData.address?.flat_house_no_apartment
|
|
||||||
}, ${productData.address?.area_street_sector_village}, ${productData.address?.landmark && productData.address?.landmark + ', '
|
|
||||||
}${productData.address?.address_line &&
|
|
||||||
productData.address?.address_line + ', '
|
|
||||||
}${productData.address?.city}, ${productData.address?.state}, ${productData.address?.pincode
|
|
||||||
}`}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
{' '}
|
|
||||||
<span className="fw-bold">Contact Number : </span>
|
|
||||||
{productData.address?.mobile_number}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)} */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* {productData?.courier_name && (
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Courier Name : </span>
|
|
||||||
{productData?.courier_name}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
{productData?.tracking_id && (
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Tracking ID : </span>
|
|
||||||
{productData?.tracking_id}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
)} */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* <div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Order Placed On : </span>
|
|
||||||
{new Date(productData?.placed_on).toLocaleString('en-IN', {
|
|
||||||
month: 'short',
|
|
||||||
day: 'numeric',
|
|
||||||
year: 'numeric',
|
|
||||||
hour: '2-digit',
|
|
||||||
minute: 'numeric',
|
|
||||||
hour12: true,
|
|
||||||
})}
|
|
||||||
</label>
|
|
||||||
</div> */}
|
|
||||||
<div className="mt-3">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Razorpay Order ID : </span>
|
|
||||||
{productData?.razorpay_order_id}
|
|
||||||
</label>
|
|
||||||
</div>{' '}
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Razorpay Payment ID : </span>
|
|
||||||
{productData?.razorpay_payment_id}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="card my-1">
|
<div className="card my-1">
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<label className="fw-bold">Status Timeline :</label>
|
<label className="fw-bold">Status Timeline :</label>
|
||||||
@ -895,6 +713,12 @@ function AddOrder() {
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import React, { useState, useEffect, useRef } from 'react'
|
import React, { useState, useEffect, useRef } from 'react'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { Link, useNavigate, useParams } from 'react-router-dom'
|
import { Link, useNavigate, useParams } from 'react-router-dom'
|
||||||
@ -14,21 +12,18 @@ import { addItemsToCart } from 'src/redux/Actions/cartAction'
|
|||||||
import toast from 'react-hot-toast'
|
import toast from 'react-hot-toast'
|
||||||
import { cibBlackberry } from '@coreui/icons'
|
import { cibBlackberry } from '@coreui/icons'
|
||||||
import Button from '@material-ui/core/Button'
|
import Button from '@material-ui/core/Button'
|
||||||
// import PrintOrderDetails from './PrintOrderDetails.js'
|
|
||||||
|
|
||||||
function EditOrder() {
|
function EditOrder() {
|
||||||
const { status, id } = useParams()
|
const { status, id } = useParams()
|
||||||
|
|
||||||
const { cartItems, subTotal, tax, shipping, total } = useSelector(
|
const { cartItems, subTotal, shippingCharge, tax, shipingInfo, total } = useSelector(
|
||||||
(state) => state.cart
|
(state) => state.cart
|
||||||
);
|
);
|
||||||
// const { cart, shippingInfo } = useSelector(
|
|
||||||
// (state) => state
|
|
||||||
// );
|
|
||||||
const AllStates = useSelector(
|
const AllStates = useSelector(
|
||||||
(state) => state
|
(state) => state
|
||||||
);
|
);
|
||||||
console.log(AllStates.shipingInfo.franchisees)
|
|
||||||
const getValue = useRef()
|
const getValue = useRef()
|
||||||
const getFranchiseeID = useRef()
|
const getFranchiseeID = useRef()
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
@ -37,18 +32,70 @@ function EditOrder() {
|
|||||||
const token = isAutheticated()
|
const token = isAutheticated()
|
||||||
const [productData, setProductData] = useState([])
|
const [productData, setProductData] = useState([])
|
||||||
const [allFranchisee, setAllFranchisee] = useState([])
|
const [allFranchisee, setAllFranchisee] = useState([])
|
||||||
|
const [allTax, setAllTax] = useState([])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const [productDetails, setProductDetails] = useState()
|
const [productDetails, setProductDetails] = useState()
|
||||||
const [loading, setLoading] = useState(true)
|
const [loading, setLoading] = useState(true)
|
||||||
const [orderStatus, setOrderStatus] = useState('')
|
const [orderStatus, setOrderStatus] = useState('')
|
||||||
const [data, setData] = useState({
|
// const [data, setData] = useState({
|
||||||
product_Name: '',
|
// product_Name: '',
|
||||||
address: '',
|
// address: '',
|
||||||
quantity: '',
|
// quantity: '',
|
||||||
contact_Number: '',
|
// contact_Number: '',
|
||||||
total_Price: '',
|
// total_Price: '',
|
||||||
})
|
// })
|
||||||
|
useEffect(() => {
|
||||||
|
const getSingleOrder = async () => {
|
||||||
|
const res = await axios.get(`/api/order/getOne/${id}`, {
|
||||||
|
headers: { 'Access-Control-Allow-Origin': '*', Authorization: `Bearer ${token}` },
|
||||||
|
})
|
||||||
|
if (res.data) {
|
||||||
|
// console.log(res.data?.order?.shippingInfo)
|
||||||
|
|
||||||
|
let options = {
|
||||||
|
Franchisee: res.data?.order?.shippingInfo?.Franchisee?._id,
|
||||||
|
name: res.data?.order?.shippingInfo?.name,
|
||||||
|
|
||||||
|
|
||||||
|
contact_Number: res.data?.order?.shippingInfo?.contact_Number,
|
||||||
|
contact_Person_Name: res.data?.order?.shippingInfo?.contact_Person_Name,
|
||||||
|
address: res.data?.order?.shippingInfo?.address,
|
||||||
|
city: res.data?.order?.shippingInfo?.city,
|
||||||
|
price_Lable: res.data?.order?.shippingInfo?.Franchisee?.price_Lable,
|
||||||
|
state: res.data?.order?.shippingInfo?.state,
|
||||||
|
banner: res.data?.order?.shippingInfo?.Franchisee?.banner?.url,
|
||||||
|
// Franchisee_Url: res?.data?.data?.url
|
||||||
|
}
|
||||||
|
dispatch({ type: "addShippingInfo", payload: options });
|
||||||
|
if (res.data?.order?.orderItems) {
|
||||||
|
res.data?.order?.orderItems.map((i, ind) => {
|
||||||
|
dispatch({ type: "addToCart", payload: i });
|
||||||
|
dispatch({ type: "calculatePrice" });
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getSingleOrder()
|
||||||
|
|
||||||
|
}, [token])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const getAllTax = async () => {
|
||||||
|
const res = await axios.get(`/api/tax/view_tax`, {
|
||||||
|
headers: { 'Access-Control-Allow-Origin': '*', Authorization: `Bearer ${token}` },
|
||||||
|
})
|
||||||
|
if (res.data) {
|
||||||
|
// console.log(res.data)
|
||||||
|
setAllTax(res.data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getAllTax()
|
||||||
|
|
||||||
|
}, [token])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
function getProductDetails() {
|
function getProductDetails() {
|
||||||
@ -75,7 +122,7 @@ function EditOrder() {
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
// console.log(res.data.product)
|
// console.log(res.data.data)
|
||||||
setAllFranchisee(res.data.data)
|
setAllFranchisee(res.data.data)
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@ -103,7 +150,60 @@ function EditOrder() {
|
|||||||
}))
|
}))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------Frenchisee handle------------------------------//
|
||||||
|
|
||||||
|
const handleGetSingleFrenchisee = async () => {
|
||||||
|
console.log(getFranchiseeID.current.value)
|
||||||
|
|
||||||
|
axios
|
||||||
|
.get(`/api/Temple/arrayspopulate/${getFranchiseeID.current.value}`, {
|
||||||
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
Authorization: `Bearer ${token}`,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
setLoading(false)
|
||||||
|
console.log(res.data.data)
|
||||||
|
let options = {
|
||||||
|
Franchisee: res?.data?.data?._id,
|
||||||
|
name: res?.data?.data?.name,
|
||||||
|
|
||||||
|
|
||||||
|
contact_Number: res?.data?.data?.contact_Number,
|
||||||
|
contact_Person_Name: res?.data?.data?.contact_Person_Name,
|
||||||
|
address: (res?.data?.data?.address_line_1 + ' ' + res?.data?.data?.address_line_2),
|
||||||
|
city: res?.data?.data?.city?.city_name,
|
||||||
|
price_Lable: res?.data?.data?.price_Lable,
|
||||||
|
state: res?.data?.data?.city?.state?.state_name,
|
||||||
|
banner: res?.data?.data?.banner?.url,
|
||||||
|
Franchisee_Url: res?.data?.data?.url
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatch({ type: "addShippingInfo", payload: options });
|
||||||
|
|
||||||
|
// localStorage.setItem("shippingInfo", JSON.stringify(AllStates.shipingInfo));
|
||||||
|
|
||||||
|
toast.success("Franchisee Added");
|
||||||
|
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
setLoading(false)
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const FranchiseeRemove = (id) => {
|
||||||
|
dispatch({
|
||||||
|
type: "deleteFromshippingInfo",
|
||||||
|
payload: { Franchisee: id },
|
||||||
|
});
|
||||||
|
toast.success("Franchisee Removed");
|
||||||
|
|
||||||
|
};
|
||||||
|
// ------------------------Frenchisee handle End------------------------------//
|
||||||
// ------------------------product handle------------------------------//
|
// ------------------------product handle------------------------------//
|
||||||
|
|
||||||
const handleGetSingleProduct = async (e) => {
|
const handleGetSingleProduct = async (e) => {
|
||||||
|
|
||||||
|
|
||||||
@ -113,17 +213,27 @@ function EditOrder() {
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
|
const productAllkey = Object.keys(res?.data?.product);
|
||||||
|
const productAllValue = Object.values(res?.data?.product);
|
||||||
|
const findIndex1 = (productAllkey.indexOf(shipingInfo?.price_Lable))
|
||||||
|
const findIndex2 = (productAllkey.indexOf(`${shipingInfo?.price_Lable}_With_Tax`))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let options = {
|
let options = {
|
||||||
name: res?.data?.product?.name,
|
name: res?.data?.product?.name,
|
||||||
price: res?.data?.product?.base_Price,
|
price: productAllValue[findIndex1],
|
||||||
id: res?.data?.product?._id,
|
product: res?.data?.product?._id,
|
||||||
quantity: 1,
|
quantity: 1,
|
||||||
image: res?.data?.product?.image?.url
|
|
||||||
|
image: res?.data?.product?.image?.url,
|
||||||
|
|
||||||
|
taxId: res?.data?.product?.taxId,
|
||||||
|
price_With_Tax: productAllValue[findIndex2],
|
||||||
}
|
}
|
||||||
dispatch({ type: "addToCart", payload: options });
|
dispatch({ type: "addToCart", payload: options });
|
||||||
|
|
||||||
dispatch({ type: "calculatePrice" });
|
dispatch({ type: "calculatePrice" });
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
|
|
||||||
toast.success("Product Added");
|
toast.success("Product Added");
|
||||||
|
|
||||||
@ -138,92 +248,41 @@ function EditOrder() {
|
|||||||
const handleRemove = (id) => {
|
const handleRemove = (id) => {
|
||||||
dispatch({
|
dispatch({
|
||||||
type: "deleteFromCart",
|
type: "deleteFromCart",
|
||||||
payload: id,
|
payload: { product: id },
|
||||||
});
|
});
|
||||||
dispatch({ type: "calculatePrice" });
|
dispatch({ type: "calculatePrice" });
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
toast.success("Item Removed");
|
toast.success("Item Removed");
|
||||||
|
|
||||||
};
|
};
|
||||||
//increase qty
|
//increase qty
|
||||||
const increaseQuantity = (id) => {
|
const increaseQuantity = (id) => {
|
||||||
|
|
||||||
dispatch({
|
dispatch({
|
||||||
type: "addToCart",
|
type: "addToCart",
|
||||||
payload: { id },
|
payload: { product: id },
|
||||||
});
|
});
|
||||||
dispatch({ type: "calculatePrice" });
|
dispatch({ type: "calculatePrice" });
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
// localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const decreaseQuantity = (id) => {
|
const decreaseQuantity = (id) => {
|
||||||
|
|
||||||
dispatch({
|
dispatch({
|
||||||
type: "decrement",
|
type: "decrement",
|
||||||
payload: id,
|
payload: { product: id },
|
||||||
});
|
});
|
||||||
|
|
||||||
dispatch({ type: "calculatePrice" });
|
dispatch({ type: "calculatePrice" });
|
||||||
localStorage.setItem("cartItems", JSON.stringify(AllStates.cart));
|
|
||||||
|
|
||||||
};
|
};
|
||||||
// ------------------------product handle End------------------------------//
|
// ------------------------product handle End------------------------------//
|
||||||
|
|
||||||
// ------------------------Frenchisee handle------------------------------//
|
|
||||||
|
|
||||||
const handleGetSingleFrenchisee = async () => {
|
|
||||||
|
|
||||||
axios
|
|
||||||
.get(`/api/Temple/arrayspopulate/${getFranchiseeID.current.value}`, {
|
|
||||||
headers: {
|
|
||||||
'Access-Control-Allow-Origin': '*',
|
|
||||||
Authorization: `Bearer ${token}`,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.then((res) => {
|
|
||||||
setLoading(false)
|
|
||||||
console.log(res.data.data)
|
|
||||||
let options = {
|
|
||||||
id: res?.data?.data?._id,
|
|
||||||
name: res?.data?.data?.name,
|
|
||||||
|
|
||||||
|
|
||||||
contact_Number: res?.data?.data?.contact_Number,
|
|
||||||
contact_Person_Name: res?.data?.data?.contact_Person_Name,
|
|
||||||
address: (res?.data?.data?.address_line_1 + ' ' + res?.data?.data?.address_line_2),
|
|
||||||
city: res?.data?.data?.city?.city_name,
|
|
||||||
state: res?.data?.data?.city?.state?.state_name,
|
|
||||||
banner: res?.data?.data?.banner?.url,
|
|
||||||
Franchisee_Url: res?.data?.data?.url
|
|
||||||
}
|
|
||||||
|
|
||||||
dispatch({ type: "addShippingInfo", payload: options });
|
|
||||||
|
|
||||||
localStorage.setItem("shippingInfo", JSON.stringify(AllStates.shipingInfo));
|
|
||||||
|
|
||||||
toast.success("Franchisee Added");
|
|
||||||
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
setLoading(false)
|
|
||||||
|
|
||||||
})
|
|
||||||
}
|
|
||||||
const FranchiseeRemove = (id) => {
|
|
||||||
dispatch({
|
|
||||||
type: "deleteFromshippingInfo",
|
|
||||||
payload: id,
|
|
||||||
});
|
|
||||||
localStorage.setItem("shippingInfo", JSON.stringify(AllStates.shipingInfo));
|
|
||||||
toast.success("Franchisee Removed");
|
|
||||||
|
|
||||||
};
|
|
||||||
// ------------------------Frenchisee handle End------------------------------//
|
|
||||||
console.log(AllStates.shipingInfo.franchisees.length)
|
|
||||||
console.log(cartItems)
|
|
||||||
function handleSubmit() {
|
function handleSubmit() {
|
||||||
if (
|
if (
|
||||||
AllStates.shipingInfo.franchisees.length < 1) {
|
shipingInfo === null) {
|
||||||
swal({
|
swal({
|
||||||
title: 'Warning',
|
title: 'Warning',
|
||||||
text: 'Please select Franchisee ',
|
text: 'Please select Franchisee ',
|
||||||
@ -233,6 +292,7 @@ function EditOrder() {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cartItems.length < 1) {
|
else if (cartItems.length < 1) {
|
||||||
swal({
|
swal({
|
||||||
title: 'Warning',
|
title: 'Warning',
|
||||||
@ -242,10 +302,12 @@ function EditOrder() {
|
|||||||
dangerMode: true,
|
dangerMode: true,
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
} else if (
|
}
|
||||||
shipping === '' ||
|
|
||||||
|
|
||||||
|
|
||||||
|
else if (
|
||||||
tax === '' ||
|
tax === '' ||
|
||||||
|
shippingCharge === '' ||
|
||||||
total === ''
|
total === ''
|
||||||
|
|
||||||
) {
|
) {
|
||||||
@ -260,26 +322,20 @@ function EditOrder() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
// const formData = new FormData()
|
|
||||||
// formData.set('orderItems', cartItems)
|
|
||||||
|
|
||||||
|
|
||||||
// formData.set('shippingInfo', AllStates.shipingInfo.franchisees)
|
|
||||||
// formData.set('shipping_charge', shipping)
|
|
||||||
// formData.set('tax_amount', tax)
|
|
||||||
// formData.set('total_amount', total)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
axios
|
axios
|
||||||
.post(
|
.put(
|
||||||
`/api/order/create`,
|
`/api/order/edit/${id}`,
|
||||||
{
|
{
|
||||||
orderItems: cartItems,
|
orderItems: cartItems,
|
||||||
shippingInfo: AllStates.shipingInfo.franchisees,
|
shippingInfo: shipingInfo,
|
||||||
shipping_charge: shipping,
|
shipping_charge: shippingCharge,
|
||||||
tax_amount: tax,
|
tax_amount: tax,
|
||||||
total_amount: total
|
total_amount: total
|
||||||
|
|
||||||
@ -294,21 +350,21 @@ function EditOrder() {
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res)
|
|
||||||
swal({
|
swal({
|
||||||
title: 'Created',
|
title: 'Updated',
|
||||||
text: 'Order Created!',
|
text: res.data.message ? res.data.message : 'Order Updated!',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
button: 'ok',
|
button: 'ok',
|
||||||
})
|
})
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
navigate('/orders/new')
|
navigate('/orders/new')
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((error) => {
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
|
console.log(error)
|
||||||
swal({
|
swal({
|
||||||
title: 'Warning',
|
title: 'Warning',
|
||||||
text: 'Something went wrong!',
|
text: error.response.data.message ? error.response.data.message : 'Something went wrong!',
|
||||||
icon: 'error',
|
icon: 'error',
|
||||||
button: 'Retry',
|
button: 'Retry',
|
||||||
dangerMode: true,
|
dangerMode: true,
|
||||||
@ -353,7 +409,7 @@ function EditOrder() {
|
|||||||
onClick={() => handleSubmit()}
|
onClick={() => handleSubmit()}
|
||||||
disabled={loading}
|
disabled={loading}
|
||||||
>
|
>
|
||||||
{loading ? 'Loading' : ' Edit Order'}
|
{loading ? 'Loading' : 'Update'}
|
||||||
</Button>
|
</Button>
|
||||||
<Link to="/orders/new">
|
<Link to="/orders/new">
|
||||||
<Button
|
<Button
|
||||||
@ -377,8 +433,92 @@ function EditOrder() {
|
|||||||
|
|
||||||
|
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-lg-7 mt-3">
|
<div className="col-lg-6 mt-3">
|
||||||
<div className="card">
|
<div className="card">
|
||||||
|
<div className="card-body">
|
||||||
|
<div className="mt-1">
|
||||||
|
<label className="fw-bold">Franchisee :</label>
|
||||||
|
<div className="d-flex">
|
||||||
|
<select
|
||||||
|
className="form-control me-2"
|
||||||
|
onChange={handleChange}
|
||||||
|
value={orderStatus}
|
||||||
|
ref={getFranchiseeID}
|
||||||
|
disabled={shipingInfo !== null}
|
||||||
|
>
|
||||||
|
<option value="" disabled></option>
|
||||||
|
{allFranchisee && allFranchisee.map((item, index) =>
|
||||||
|
<option key={index} value={item?._id}>{item?.name}</option>
|
||||||
|
)}
|
||||||
|
</select>
|
||||||
|
<button className='btn-sm btn-primary' onClick={(e) => handleGetSingleFrenchisee(e)} >Add</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
shipingInfo !== null &&
|
||||||
|
<div className="my-2">
|
||||||
|
<div className="row" style={{ fontSize: '14px' }}>
|
||||||
|
<div className="col-sm-4">
|
||||||
|
<img
|
||||||
|
src={shipingInfo?.banner}
|
||||||
|
alt={shipingInfo?.name}
|
||||||
|
width='100%'
|
||||||
|
// style={{
|
||||||
|
// width: '100%',
|
||||||
|
// objectFit: 'contain',
|
||||||
|
// maxHeight: '100px',
|
||||||
|
// }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="col-sm-8">
|
||||||
|
<h6 className="m-0 ms-2">{shipingInfo?.name}</h6>
|
||||||
|
<parent className="m-0 ms-2 mt-3">
|
||||||
|
Address. : {shipingInfo?.address}
|
||||||
|
</parent>
|
||||||
|
<p className="m-0 ms-2 mt-1">
|
||||||
|
Contact No. : {shipingInfo?.contact_Number}
|
||||||
|
</p>
|
||||||
|
<p className="m-0 ms-2 mt-1">
|
||||||
|
contact Person Name. : {shipingInfo?.contact_Person_Name}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<button className='btn btn-danger btn-sm ms-2 mt-2' onClick={() => FranchiseeRemove(shipingInfo?.id)} >Delete</button>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
<div className="mt-3">
|
||||||
|
<label>
|
||||||
|
<span className="fw-bold">Razorpay Order ID : </span>
|
||||||
|
{productData?.razorpay_order_id}
|
||||||
|
</label>
|
||||||
|
</div>{' '}
|
||||||
|
<div className="mt-1">
|
||||||
|
<label>
|
||||||
|
<span className="fw-bold">Razorpay Payment ID : </span>
|
||||||
|
{productData?.razorpay_payment_id}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6 mt-3">
|
||||||
|
|
||||||
|
{shipingInfo !== null && <div className="card">
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<div className="mt-1">
|
<div className="mt-1">
|
||||||
<label className="fw-bold">Select Product:</label>
|
<label className="fw-bold">Select Product:</label>
|
||||||
@ -434,18 +574,23 @@ function EditOrder() {
|
|||||||
|
|
||||||
|
|
||||||
}}>
|
}}>
|
||||||
<button className='btn btn-sm btn-primary ' onClick={() => decreaseQuantity(productDetails?.id)} >-</button>
|
<button className='btn btn-sm btn-primary ' onClick={() => decreaseQuantity(productDetails?.product)} >-</button>
|
||||||
<span className='px-2 mt-1' style={{}}>{productDetails?.quantity}</span>
|
<span className='px-2 mt-1' style={{}}>{productDetails?.quantity}</span>
|
||||||
<button className='btn btn-sm btn-primary' onClick={() => increaseQuantity(productDetails?.id)}>+</button>
|
<button className='btn btn-sm btn-primary' onClick={() => increaseQuantity(productDetails?.product)}>+</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<button className='btn btn-danger btn-sm ms-2 mt-3' onClick={() => handleRemove(productDetails?.id)} >Delete</button>
|
|
||||||
|
<p className="m-0 mt-3">
|
||||||
|
<stong>Price With Tax:</stong> ₹{productDetails?.price_With_Tax}
|
||||||
|
</p>
|
||||||
|
<button className='btn btn-danger btn-sm ms-2 mt-3' onClick={() => handleRemove(productDetails?.product)} >Delete</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-sm-6">
|
<div className="col-sm-6">
|
||||||
<h6 className="m-0 mt-3">
|
<p className="m-0 mt-3">
|
||||||
<stong> Price:</stong> ₹{productDetails?.price}
|
<stong> Price:</stong> ₹{productDetails?.price}
|
||||||
</h6>
|
</p>
|
||||||
{' '}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -463,125 +608,8 @@ function EditOrder() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div className="col-lg-5 mt-3">
|
|
||||||
<div className="card">
|
|
||||||
<div className="card-body">
|
|
||||||
<div className="mt-1">
|
|
||||||
<label className="fw-bold">Franchisee :</label>
|
|
||||||
<div className="d-flex">
|
|
||||||
<select
|
|
||||||
className="form-control me-2"
|
|
||||||
onChange={handleChange}
|
|
||||||
value={orderStatus}
|
|
||||||
ref={getFranchiseeID}
|
|
||||||
>
|
|
||||||
<option value="" disabled></option>
|
|
||||||
{allFranchisee && allFranchisee.map((item, index) =>
|
|
||||||
<option key={index} value={item?._id}>{item?.name}</option>
|
|
||||||
)}
|
|
||||||
</select>
|
|
||||||
<button className='btn-sm btn-primary' onClick={(e) => handleGetSingleFrenchisee(e)} >Add</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
}
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
AllStates.shipingInfo.franchisees && AllStates.shipingInfo.franchisees.map((franchiDetails, i) =>
|
|
||||||
<div className="my-2">
|
|
||||||
<div className="row" style={{ fontSize: '14px' }}>
|
|
||||||
<div className="col-sm-4">
|
|
||||||
<img
|
|
||||||
src={franchiDetails?.banner}
|
|
||||||
alt={franchiDetails?.name}
|
|
||||||
width='100%'
|
|
||||||
// style={{
|
|
||||||
// width: '100%',
|
|
||||||
// objectFit: 'contain',
|
|
||||||
// maxHeight: '100px',
|
|
||||||
// }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="col-sm-8">
|
|
||||||
<h6 className="m-0 ms-2">{franchiDetails?.name}</h6>
|
|
||||||
<parent className="m-0 ms-2 mt-3">
|
|
||||||
Address. : {franchiDetails?.address}
|
|
||||||
</parent>
|
|
||||||
<p className="m-0 ms-2 mt-1">
|
|
||||||
Contact No. : {franchiDetails?.contact_Number}
|
|
||||||
</p>
|
|
||||||
<p className="m-0 ms-2 mt-1">
|
|
||||||
contact Person Name. : {franchiDetails?.contact_Person_Name}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button className='btn btn-danger btn-sm ms-2 mt-2' onClick={() => FranchiseeRemove(franchiDetails?.id)} >Delete</button>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
{/* <div className="mt-1">
|
|
||||||
<label className="fw-bold">Address :</label>
|
|
||||||
</div>
|
|
||||||
<div className="mt-1">
|
|
||||||
<label className="fw-bold">Contact Number :</label>
|
|
||||||
</div> */}
|
|
||||||
{/* <div className="mt-3">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Order ID: {productData?.order_id}</span>
|
|
||||||
</label>
|
|
||||||
</div> */}
|
|
||||||
|
|
||||||
{/* <div className="mt-3">
|
|
||||||
{productData?.order_id && (
|
|
||||||
<div className="d-flex">
|
|
||||||
<p className="fw-bold me-3">Order ID QR Code:</p>
|
|
||||||
<QRCode
|
|
||||||
value={JSON.stringify({ order_id: productData?.order_id })}
|
|
||||||
size={256}
|
|
||||||
style={{ height: '150px', width: '150px' }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div> */}
|
|
||||||
{/* {productData.status === 'processing' && (
|
|
||||||
<>
|
|
||||||
<div className="mt-3">
|
|
||||||
<label className="fw-bold">Courier Name* :</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
className="form-control"
|
|
||||||
id="courier_name"
|
|
||||||
value={data.courier_name}
|
|
||||||
onChange={handleChange}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="mt-3">
|
|
||||||
<label className="fw-bold">Tracking ID* :</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
className="form-control"
|
|
||||||
id="tracking_id"
|
|
||||||
value={data.tracking_id}
|
|
||||||
onChange={handleChange}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)} */}
|
|
||||||
{/* <div className="mt-3">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Amount Paid : </span>Rs.{productData?.total_amount}
|
|
||||||
</label>
|
|
||||||
</div> */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -589,86 +617,6 @@ function EditOrder() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* {productData?.address && (
|
|
||||||
<>
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Address : </span>
|
|
||||||
{`${productData.address?.full_name}, ${productData.address?.flat_house_no_apartment
|
|
||||||
}, ${productData.address?.area_street_sector_village}, ${productData.address?.landmark && productData.address?.landmark + ', '
|
|
||||||
}${productData.address?.address_line &&
|
|
||||||
productData.address?.address_line + ', '
|
|
||||||
}${productData.address?.city}, ${productData.address?.state}, ${productData.address?.pincode
|
|
||||||
}`}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
{' '}
|
|
||||||
<span className="fw-bold">Contact Number : </span>
|
|
||||||
{productData.address?.mobile_number}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)} */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* {productData?.courier_name && (
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Courier Name : </span>
|
|
||||||
{productData?.courier_name}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
{productData?.tracking_id && (
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Tracking ID : </span>
|
|
||||||
{productData?.tracking_id}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
)} */}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/* <div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Order Placed On : </span>
|
|
||||||
{new Date(productData?.placed_on).toLocaleString('en-IN', {
|
|
||||||
month: 'short',
|
|
||||||
day: 'numeric',
|
|
||||||
year: 'numeric',
|
|
||||||
hour: '2-digit',
|
|
||||||
minute: 'numeric',
|
|
||||||
hour12: true,
|
|
||||||
})}
|
|
||||||
</label>
|
|
||||||
</div> */}
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Razorpay Order ID : </span>
|
|
||||||
{productData?.razorpay_order_id}
|
|
||||||
</label>
|
|
||||||
</div>{' '}
|
|
||||||
<div className="mt-1">
|
|
||||||
<label>
|
|
||||||
<span className="fw-bold">Razorpay Payment ID : </span>
|
|
||||||
{productData?.razorpay_payment_id}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="card my-1">
|
<div className="card my-1">
|
||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<label className="fw-bold">Status Timeline :</label>
|
<label className="fw-bold">Status Timeline :</label>
|
||||||
@ -803,6 +751,12 @@ function EditOrder() {
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -28,7 +28,7 @@ function NewOrders() {
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setNewOrdersData(res.data.order)
|
setNewOrdersData(res.data.order)
|
||||||
console.log(res.data.order)
|
// console.log(res.data.order)
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user