MMCT TEAM
Server IP : 217.21.85.138  /  Your IP : 216.73.216.103
Web Server : LiteSpeed
System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
User : u915722082 ( 915722082)
PHP Version : 7.4.33
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/u915722082/.nvm/../public_html/invoice/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/u915722082/.nvm/../public_html/invoice/edit-purchaseEntry.php
<?php
	session_start();

	require_once 'db.php';

	if(!isset($_SESSION["logs"])){
		redirect("index.php");
	}

	$data["vendor"]=resultSet($con,'SELECT * FROM vendor');
	$data["product"]=resultSet($con,'SELECT * FROM product');
	
?>
<!DOCTYPE html>
<html lang="en">
	<head>
<base href="" />
<title>TDS Admin Hub</title>
		<meta charset="utf-8" />
		<meta name="description" content="The most advanced Bootstrap 5 Admin Theme with 40 unique prebuilt layouts on Themeforest trusted by 100,000 beginners and professionals. Multi-demo, Dark Mode, RTL support and complete React, Angular, Vue, Asp.Net Core, Rails, Spring, Blazor, Django, Express.js, Node.js, Flask, Symfony & Laravel versions. Grab your copy now and get life-time updates for free." />
		<meta name="keywords" content="metronic, bootstrap, bootstrap 5, angular, VueJs, React, Asp.Net Core, Rails, Spring, Blazor, Django, Express.js, Node.js, Flask, Symfony & Laravel starter kits, admin themes, web design, figma, web development, free templates, free admin themes, bootstrap theme, bootstrap template, bootstrap dashboard, bootstrap dak mode, bootstrap button, bootstrap datepicker, bootstrap timepicker, fullcalendar, datatables, flaticon" />
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<meta property="og:locale" content="en_US" />
		<meta property="og:type" content="article" />
		<meta property="og:title" content="Metronic - The World's #1 Selling Bootstrap Admin Template - Metronic by KeenThemes" />
		<meta property="og:url" content="https://keenthemes.com/metronic" />
		<meta property="og:site_name" content="Metronic by Keenthemes" />
		<link rel="canonical" href="https://preview.keenthemes.com/metronic8" />
		<link rel="shortcut icon" href="assets/media/logos/favicon.ico" />
		<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700" />
		<link href="assets/plugins/custom/datatables/datatables.bundle.css" rel="stylesheet" type="text/css" />
		<link href="assets/plugins/global/plugins.bundle.css" rel="stylesheet" type="text/css" />
		<link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css" />
		<script></script>
		<style>
        .ck-editor__editable[role="textbox"] {
            min-height: 180px;
        }
        .image-upload-container {
    border: 2px dashed #ccc;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    width: 300px;
    position: relative;
    transition: border-color 0.3s;
}

.image-upload-container:hover {
    border-color: #007bff;
}

.image-upload-label {
    cursor: pointer;
    display: block;
}

.upload-icon {
    font-size: 48px;
    color: #007bff;
}

.upload-text {
    margin-top: 10px;
    color: #666;
}

.upload-text button {
    margin-top: 10px;
}

.image-upload-input {
    display: none;
}

.image-preview {
    margin-top: 15px;
    display: none;
    position: relative;
}

.image-preview img {
    max-width: 100%;
    border-radius: 8px;
}

.image-preview::after {
    content: "Preview";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    font-size: 12px;
    padding: 5px;
    border-radius: 0 0 8px 0;
    display: none;
}

    </style>
		
	
	</head>

	<body id="kt_app_body" data-kt-app-layout="dark-sidebar" data-kt-app-header-fixed="true" data-kt-app-sidebar-enabled="true" data-kt-app-sidebar-fixed="true" data-kt-app-sidebar-hoverable="true" data-kt-app-sidebar-push-header="true" data-kt-app-sidebar-push-toolbar="true" data-kt-app-sidebar-push-footer="true" data-kt-app-toolbar-enabled="true" class="app-default">
		<script>var defaultThemeMode = "light"; var themeMode; if ( document.documentElement ) { if ( document.documentElement.hasAttribute("data-bs-theme-mode")) { themeMode = document.documentElement.getAttribute("data-bs-theme-mode"); } else { if ( localStorage.getItem("data-bs-theme") !== null ) { themeMode = localStorage.getItem("data-bs-theme"); } else { themeMode = defaultThemeMode; } } if (themeMode === "system") { themeMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; } document.documentElement.setAttribute("data-bs-theme", themeMode); }
		</script>
		<div class="d-flex flex-column flex-root app-root" id="kt_app_root">
			<div class="app-page flex-column flex-column-fluid" id="kt_app_page">
				<div id="kt_app_header" class="app-header" data-kt-sticky="true" data-kt-sticky-activate="{default: true, lg: true}" data-kt-sticky-name="app-header-minimize" data-kt-sticky-offset="{default: '200px', lg: '0'}" data-kt-sticky-animation="false">
					<div class="app-container container-fluid d-flex align-items-stretch justify-content-between" id="kt_app_header_container">
						<div class="d-flex align-items-center d-lg-none ms-n3 me-1 me-md-2" title="Show sidebar menu">
							<div class="btn btn-icon btn-active-color-primary w-35px h-35px" id="kt_app_sidebar_mobile_toggle">
								<i class="ki-duotone ki-abstract-14 fs-2 fs-md-1">
									<span class="path1"></span>
									<span class="path2"></span>
								</i>
							</div>
						</div>
						
						<div class="d-flex align-items-center flex-grow-1 flex-lg-grow-0">
							<a href="products.php" class="d-lg-none">
								<img alt="Logo" src="assets/media/logos/default-small.svg" class="h-30px" />
							</a>
						</div>
						
						<div class="d-flex align-items-stretch justify-content-between flex-lg-grow-1" id="kt_app_header_wrapper">
							<div class="app-header-menu app-header-mobile-drawer align-items-stretch" data-kt-drawer="true" data-kt-drawer-name="app-header-menu" data-kt-drawer-activate="{default: true, lg: false}" data-kt-drawer-overlay="true" data-kt-drawer-width="250px" data-kt-drawer-direction="end" data-kt-drawer-toggle="#kt_app_header_menu_toggle" data-kt-swapper="true" data-kt-swapper-mode="{default: 'append', lg: 'prepend'}" data-kt-swapper-parent="{default: '#kt_app_body', lg: '#kt_app_header_wrapper'}">
								<div class="menu menu-rounded menu-column menu-lg-row my-5 my-lg-0 align-items-stretch fw-semibold px-2 px-lg-0" id="kt_app_header_menu" data-kt-menu="true">
								</div>
							</div>
							<div class="app-navbar flex-shrink-0">
								<div class="app-navbar-item ms-1 ms-md-4">
									<a href="#" class="btn btn-icon btn-custom btn-icon-muted btn-active-light btn-active-color-primary w-35px h-35px" data-kt-menu-trigger="{default:'click', lg: 'hover'}" data-kt-menu-attach="parent" data-kt-menu-placement="bottom-end">
										<i class="ki-duotone ki-night-day theme-light-show fs-1">
											<span class="path1"></span>
											<span class="path2"></span>
											<span class="path3"></span>
											<span class="path4"></span>
											<span class="path5"></span>
											<span class="path6"></span>
											<span class="path7"></span>
											<span class="path8"></span>
											<span class="path9"></span>
											<span class="path10"></span>
										</i>
										<i class="ki-duotone ki-moon theme-dark-show fs-1">
											<span class="path1"></span>
											<span class="path2"></span>
										</i>
									</a>
									<div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-title-gray-700 menu-icon-gray-500 menu-active-bg menu-state-color fw-semibold py-4 fs-base w-150px" data-kt-menu="true" data-kt-element="theme-mode-menu">
										<div class="menu-item px-3 my-0">
											<a href="#" class="menu-link px-3 py-2" data-kt-element="mode" data-kt-value="light">
												<span class="menu-icon" data-kt-element="icon">
													<i class="ki-duotone ki-night-day fs-2">
														<span class="path1"></span>
														<span class="path2"></span>
														<span class="path3"></span>
														<span class="path4"></span>
														<span class="path5"></span>
														<span class="path6"></span>
														<span class="path7"></span>
														<span class="path8"></span>
														<span class="path9"></span>
														<span class="path10"></span>
													</i>
												</span>
												<span class="menu-title">Light</span>
											</a>
										</div>
										<div class="menu-item px-3 my-0">
											<a href="#" class="menu-link px-3 py-2" data-kt-element="mode" data-kt-value="dark">
												<span class="menu-icon" data-kt-element="icon">
													<i class="ki-duotone ki-moon fs-2">
														<span class="path1"></span>
														<span class="path2"></span>
													</i>
												</span>
												<span class="menu-title">Dark</span>
											</a>
										</div>
										<div class="menu-item px-3 my-0">
											<a href="#" class="menu-link px-3 py-2" data-kt-element="mode" data-kt-value="system">
												<span class="menu-icon" data-kt-element="icon">
													<i class="ki-duotone ki-screen fs-2">
														<span class="path1"></span>
														<span class="path2"></span>
														<span class="path3"></span>
														<span class="path4"></span>
													</i>
												</span>
												<span class="menu-title">System</span>
											</a>
										</div>
									</div>
								</div>
								<?php include "logo.php" ?>
							</div>
						</div>
					</div>
				</div>
				<div class="app-wrapper flex-column flex-row-fluid" id="kt_app_wrapper">
					<div id="kt_app_sidebar" class="app-sidebar flex-column" data-kt-drawer="true" data-kt-drawer-name="app-sidebar" data-kt-drawer-activate="{default: true, lg: false}" data-kt-drawer-overlay="true" data-kt-drawer-width="225px" data-kt-drawer-direction="start" data-kt-drawer-toggle="#kt_app_sidebar_mobile_toggle">
							<div class="app-sidebar-logo px-6" id="kt_app_sidebar_logo">
							<a href="products.php">
								<img alt="Logo" src="assets/media/logos/LOGO.png" class="h-25px app-sidebar-logo-default" />
								<img alt="Logo" src="assets/media/logos/default-small.svg" class="h-20px app-sidebar-logo-minimize" />
							</a>
						
							<div id="kt_app_sidebar_toggle" class="app-sidebar-toggle btn btn-icon btn-shadow btn-sm btn-color-muted btn-active-color-primary h-30px w-30px position-absolute top-50 start-100 translate-middle rotate" data-kt-toggle="true" data-kt-toggle-state="active" data-kt-toggle-target="body" data-kt-toggle-name="app-sidebar-minimize">
								<i class="ki-duotone ki-black-left-line fs-3 rotate-180">
									<span class="path1"></span>
									<span class="path2"></span>
								</i>
							</div>
						</div>
						<?php   include "sidebar.php" ?>
					</div>
					<div class="app-main flex-column flex-row-fluid" id="kt_app_main">
						<div class="d-flex flex-column flex-column-fluid">
							<div id="kt_app_toolbar" class="app-toolbar py-3 py-lg-6">
								<div id="kt_app_toolbar_container" class="app-container container-xxl d-flex flex-stack">
									<div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
									</div>
									<div class="d-flex align-items-center gap-2 gap-lg-3">
										<div class="m-0">
											<div class="menu menu-sub menu-sub-dropdown w-250px w-md-300px" data-kt-menu="true" id="kt_menu_658cdaf4294b1">
												<div class="px-7 py-5">
													<div class="fs-5 text-gray-900 fw-bold">Filter Options</div>
												</div>
												<div class="separator border-gray-200"></div>
												<div class="px-7 py-5">
													<div class="mb-10">
														<label class="form-label fw-semibold">Status:</label>
														<div>
															<select class="form-select form-select-solid" multiple="multiple" data-kt-select2="true" data-close-on-select="false" data-placeholder="Select option" data-dropdown-parent="#kt_menu_658cdaf4294b1" data-allow-clear="true">
																<option></option>
																<option value="1">Approved</option>
																<option value="2">Pending</option>
																<option value="2">In Process</option>
																<option value="2">Rejected</option>
															</select>
														</div>
													</div>
													<div class="mb-10">
														<label class="form-label fw-semibold">Member Type:</label>
														<div class="d-flex">
															<label class="form-check form-check-sm form-check-custom form-check-solid me-5">
																<input class="form-check-input" type="checkbox" value="1" />
																<span class="form-check-label">Author</span>
															</label>
															<label class="form-check form-check-sm form-check-custom form-check-solid">
																<input class="form-check-input" type="checkbox" value="2" checked="checked" />
																<span class="form-check-label">Customer</span>
															</label>
														</div>
													</div>
													<div class="mb-10">
														<label class="form-label fw-semibold">Notifications:</label>
														<div class="form-check form-switch form-switch-sm form-check-custom form-check-solid">
															<input class="form-check-input" type="checkbox" value="" name="notifications" checked="checked" />
															<label class="form-check-label">Enabled</label>
														</div>
													</div>
													<div class="d-flex justify-content-end">
														<button type="reset" class="btn btn-sm btn-light btn-active-light-primary me-2" data-kt-menu-dismiss="true">Reset</button>
														<button type="submit" class="btn btn-sm btn-primary" data-kt-menu-dismiss="true">Apply</button>
													</div>
												</div>
											</div>
										</div>
									</div>
								</div>
							</div>
							<div class="col-lg-12">
							<div id="kt_app_content" class="app-content flex-column-fluid">
								<div id="kt_app_content_container" class="app-container container-xxl">
								<h1 class="page-heading d-flex text-gray-900 fw-bold fs-3 flex-column my-0 mb-3"> Update Purchase </h1>
										<ul class="breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0 pt-1">
											<li class="breadcrumb-item text-muted">
												<a  class="text-muted text-hover-primary">Purchase  Details</a>
											</li>
											<li class="breadcrumb-item">
												<span class="bullet bg-gray-500 w-5px h-2px"></span>
											</li>
											<li class="breadcrumb-item text-muted">Update Purchase </li>
										</ul>
                                        <form id="kt_ecommerce_add_category_form" class="form d-flex flex-column flex-lg-row">
											<div class="d-flex flex-column flex-row-fluid gap-5 gap-lg-6">
												<div class="card card-flush py-8 mt-5" style="padding:40px">
														<div class="card-title">
															<h2>Purchase Details</h2>
														</div>
													<div class="card-bo pt-0">
														<div class="row g-5">
															<div class="col-lg-4">
																<label class="required form-label">Invoice No</label>
																<input type="text" class="form-control" name="invoice_no" required  placeholder="Enter Invoice No">
															</div>
															<div class="col-lg-4">
																<label class="required form-label">Vendor</label>
																<select class="variation3 form-select mb-2" data-control="select2" required name="vendor_id"  data-placeholder="Select Anyone">
																	<option></option>
																	<?php foreach($data["vendor"] as $rr): ?>
																		<option value="<?php echo $rr['veid']; ?>"><?php echo $rr['vename']; ?></option>
																	<?php endforeach; ?>
																</select>
															</div>
															<div class="col-lg-4">
																<label class="required form-label">Bill Date</label>
																<input type="text" class="form-control flatpickr" required name="bill_date" placeholder="Select a date">
															</div>
														</div>

													</div>
												</div>
												<div class="card">
													<div class="card-body">
														<div id="kt_docs_repeater_basic">
															<div class="form-group">
																<div data-repeater-list="kt_docs_repeater_basic">
																	<div class="form-group pb-5 row">
																		<div class="col-2">
																			<label class="form-label">PRODUCT NAME</label>
																		</div>
																		<div class="col-2">
																			<label class="form-label">UNITES</label>
																		</div>
																		<div class="col-2">
																			<label class="form-label">QTY</label>
																		</div>
																		<div class="col-2">
																			<label class="form-label">PRICE</label>
																		</div>
																		<div class="col-2">
																			<label class="form-label">TOTAL</label>
																		</div>
																		<div class="col-2">
																			<label class="form-label">ACTION</label>
																		</div>
																	</div>
																	<div data-repeater-item>
																		<div class="form-group row pt-5">
																			<div class="col-md-2">
																				<select class="form-select product-select" name='pid' data-control="select2" data-placeholder="Select">
																					<option></option>
																					<?php foreach($data["product"] as $res): ?>
																						<option value="<?php echo $res['pid']; ?>"><?php echo $res['pname']; ?></option>
																					<?php endforeach; ?>
																				</select>
																			</div>
																			<div class="col-md-2">
																			<div class="form-check pt-3 form-check-inline">
																				<input class="form-check-input qtytype-radio" type="radio" name="qtytype" value="0" checked>
																				<label class="form-check-label">NOS</label>
																			</div>
																			<div class="form-check pt-3 form-check-inline">
																				<input class="form-check-input qtytype-radio" type="radio" name="qtytype" value="1">
																				<label class="form-check-label">KG</label>
																			</div>
																			</div>
																			<div class="col-md-2 ">
																				<div class="mb-5 valuesqty-container_01 d-block">
																					<input name="quantity" type="text" class="form-control quantity-input"  placeholder="Quantity">
																				</div>
																				<div class="mb-5 d-none valuesqty-container">
																					<input type="text" class="form-control widthh valuesqty-input" name="quantity" placeholder="How many kg">
																				</div>
																			</div>
																			<div class="col-md-2">
																				<div class="mb-5 valuesqty-container_01 d-block">
																					<input type="number" class="form-control price" placeholder='Price' name='price' />
																				</div>
																				<div class="mb-5 d-none valuesqty-container">
																					<input type="text" class="form-control widthh valuesqty" name="price" placeholder="Enter values in per kg">
																				</div>
																			</div>
																			<div class="col-md-2">
																				<div class="mb-5 valuesqty-container_01 d-block">
																					<input type="number" class="form-control total" placeholder='Total'  name="total" />
																				</div>
																				<div class="mb-5 d-none valuesqty-container">
																					<input type="text" class="form-control widthh valQty-input" name="total"  placeholder="Calculated value">
																				</div>
																			</div>
																			<div class="col-md-2">
																				<a href="javascript:;" data-repeater-delete class="btn btn-sm btn-light-danger">
																					<i class="ki-duotone ki-trash fs-5"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span></i>
																					Delete
																				</a>
																			</div>
																			
																		</div>
																	</div> 
																</div>
															</div>
															<div class="form-group mt-5">
																<button type="button" data-repeater-create style="display:none;" id="realAddRepeaterBtn"></button>
																<button type="button" id="addNewRowBtn" class="btn btn-primary">Add Row</button>
															</div>
														</div>
													</div>
												</div>

												<!-- Action Buttons -->
												<div class="d-flex justify-content-end mt-4">
													<a href="purchaseOrder.php" id="kt_ecommerce_add_product_cancel" class="btn btn-light me-5">Cancel</a>
													<button type="submit" id="btn-submit" class="btn btn-primary">
														<span class="indicator-label">Submit</span>
														<span class="indicator-progress">Please wait... 
															<span class="spinner-border spinner-border-sm align-middle ms-2"></span>
														</span>
													</button>
												</div>
											</div>
										</form>

                                    </div>

								</div>
							</div>
						</div>
						<div id="kt_app_footer" class="app-footer">
							<div class="app-container container-fluid d-flex flex-column flex-md-row flex-center flex-md-stack py-3">
								<div class="text-gray-900 order-2 order-md-1">
									<span class="text-muted fw-semibold me-1">2025 &copy;</span>
									<a href="https://thedotstudios.com/" target="_blank" class="text-gray-800 text-hover-primary">Copyright All rights reserved | Made with <span class="fa fa-heart text-danger"></span> <b> by TheDotStudios.</b></a>
								</div>
								<ul class="menu menu-gray-600 menu-hover-primary fw-semibold order-1">
									<li class="menu-item">
										<a href="https://thedotstudios.com/" target="_blank" class="menu-link px-2">About</a>
									</li>
									<li class="menu-item">
										<a href="https://thedotstudios.com/" target="_blank" class="menu-link px-2">Support</a>
									</li>
									<li class="menu-item">
									</li>
								</ul>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<div id="kt_scrolltop" class="scrolltop" data-kt-scrolltop="true">
			<i class="ki-duotone ki-arrow-up">
				<span class="path1"></span>
				<span class="path2"></span>
			</i>
		</div>

		

		<script>var hostUrl = "assets/";</script>
		<script src="assets/plugins/global/plugins.bundle.js"></script>
		<script src="assets/js/scripts.bundle.js"></script>
		<script src="assets/plugins/custom/datatables/datatables.bundle.js"></script>
		<script src="assets/plugins/custom/formrepeater/formrepeater.bundle.js"></script>
		<script src="assets/js/widgets.bundle.js"></script>
		<script src="assets/js/custom/widgets.js"></script>
		<script src="assets/js/custom/apps/chat/chat.js"></script>
		<script src="assets/js/custom/utilities/modals/upgrade-plan.js"></script>
		<script src="assets/js/custom/utilities/modals/create-app.js"></script>
		<script src="assets/js/custom/utilities/modals/users-search.js"></script>


	<script>
		document.addEventListener("DOMContentLoaded", function () {
			$(".flatpickr").flatpickr({
				enableTime: false,
				dateFormat: "Y-m-d",
				allowInput: false
			});
		});					
	</script>

	<script>

$('#addNewRowBtn').on('click', function () {
	const lastItem = $('[data-repeater-list]').find('[data-repeater-item]:visible').last();
	let isValid = true;

	// Validate visible inputs that are not inside a .d-none container
	lastItem.find('input:not([type="hidden"])').each(function () {
		if ($(this).closest('.d-none').length === 0) { // only validate if not inside .d-none
			if ($.trim($(this).val()) === '') {
				$(this).addClass('is-invalid');
				isValid = false;
			} else {
				$(this).removeClass('is-invalid');
			}
		}
	});

	// Validate selects (including select2)
	lastItem.find('select').each(function () {
		if ($(this).closest('.d-none').length === 0) {
			const isSelect2 = $(this).hasClass('select2-hidden-accessible');
			const selectedValues = $(this).val();

			if (!selectedValues || selectedValues.length === 0) {
				isValid = false;

				if (isSelect2) {
					$(this).next('.select2').find('.select2-selection').addClass('is-invalid');
				} else {
					$(this).addClass('is-invalid');
				}
			} else {
				if (isSelect2) {
					$(this).next('.select2').find('.select2-selection').removeClass('is-invalid');
				} else {
					$(this).removeClass('is-invalid');
				}
			}
		}
	});

	if (isValid) {
		$('#realAddRepeaterBtn').click();
	} else {
		Swal.fire({
			icon: 'error',
			title: 'Error',
			text: 'Please fill all required fields before adding a new row.',
		});
	}
});

		$('#kt_docs_repeater_basic').repeater({
			initEmpty: false,

			defaultValues: {
				'text-input': 'foo'
			},
			show: function () {
				$(this).slideDown();
                $(this).find('select').select2({
					width: '100%',
					placeholder: function() {
						return $(this).data('placeholder') || 'Select an option';
					}
				});
			},
			hide: function(deleteElement) {
                                    const allItems = $(this).closest('[data-repeater-list]').find('[data-repeater-item]');
                                    if (allItems.length > 1) {
                                        $(this).slideUp(deleteElement);
                                    } else {
                                        const errorMsg = $('<div class="alert alert-danger mt-2 mb-2">Cannot delete the last row. At least one row is required.</div>');
                                        $(this).closest('[data-repeater-list]').append(errorMsg);
                                        
                                        setTimeout(() => {
                                            errorMsg.fadeOut(function() {
                                                $(this).remove();
                                            });
                                        }, 300);
                                        return false;
                                    }
                                }
		});

		// Toggle between NOS and KG mode
$(document).on('change', '.qtytype-radio', function () {
    const $row = $(this).closest('.form-group.row');
    const $valuesContainer = $row.find('.valuesqty-container');
    const $quantityContainer = $row.find('.valuesqty-container_01');

    if ($(this).val() === '1') {
        // KG selected
        $valuesContainer.removeClass('d-none');
        $quantityContainer.addClass('d-none');
    } else {
        // NOS selected
        $valuesContainer.addClass('d-none');
        $quantityContainer.removeClass('d-none');
        $valuesContainer.find('.valuesqty-input, .valQty-input').val('');
    }
});

// For KG Mode: Calculate KG total
$(document).on('input', '.valuesqty-input, .valuesqty', function () {
    const $row = $(this).closest('.form-group.row');
    const isKG = $row.find('.qtytype-radio:checked').val() === '1';
    if (!isKG) return;

    const qty = parseFloat($row.find('.valuesqty-input').val()) || 0;
    const rate = parseFloat($row.find('.valuesqty').val()) || 0;
    const total = qty * rate;

    $row.find('.valQty-input').val(total.toFixed(2));
});

// For NOS Mode: Calculate NOS total
$(document).on('input', '.quantity-input, .price', function () {
    const $row = $(this).closest('.form-group.row');
    const isNOS = $row.find('.qtytype-radio:checked').val() === '0';
    if (!isNOS) return;

    const qty = parseFloat($row.find('.quantity-input').val()) || 0;
    const price = parseFloat($row.find('.price').val()) || 0;
    const total = qty * price;

    $row.find('.total').val(total.toFixed(2));
});
// Function to set default radio (NOS) on a row
function setDefaultQtyType(row) {
    const $row = $(row);
    $row.find('.qtytype-radio[value="0"]').prop('checked', true).trigger('change');
}

// Apply to all existing rows on page load
$(document).ready(function () {
    $('[data-repeater-item]').each(function () {
        setDefaultQtyType(this);
    });

    // Setup MutationObserver on the repeater list
    const targetNode = document.querySelector('[data-repeater-list]');
    if (targetNode) {
        const observer = new MutationObserver(function (mutationsList) {
            for (const mutation of mutationsList) {
                if (mutation.type === 'childList' && mutation.addedNodes.length) {
                    mutation.addedNodes.forEach(node => {
                        if (node.nodeType === 1 && node.matches('[data-repeater-item]')) {
                            setDefaultQtyType(node);
                        }
                    });
                }
            }
        });

        observer.observe(targetNode, { childList: true });
    }
});

	</script>


		<script>
$("#kt_ecommerce_add_category_form").on("submit", function (e) {
    e.preventDefault();

    // Cleanup: disable hidden fields so they don't get submitted
    $(".valuesqty-container.d-none input, .valuesqty-container_01.d-none input").each(function () {
        $(this).prop("disabled", true);
    });

    var form = $(this)[0];
    var formData = new FormData(form);

    // re-enable all fields back after FormData is collected (optional)
    $(".valuesqty-container input, .valuesqty-container_01 input").prop("disabled", false);

    $.ajax({
        url: "ajax_insert_purchase.php",
        type: "POST",
        data: formData,
        processData: false,
        contentType: false,
        beforeSend: function () {
            $("#btn-submit").prop("disabled", true).html(`
                <span class="indicator-progress">Please wait...
                    <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                </span>`);
        },
        success: function (response) {
            console.log(response);
            Swal.fire("Success", "Purchase saved successfully!", "success").then(() => {
                window.location.href = "add-purchaseEntry.php";
            });
        },
        error: function (xhr, status, error) {
            console.error(error);
            Swal.fire("Error", "Something went wrong!", "error");
        },
        complete: function () {
            $("#btn-submit").prop("disabled", false).html(`
                <span class="indicator-label">Submit</span>
                <span class="indicator-progress">Please wait... 
                    <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                </span>`);
        }
    });
});

		</script>

	</body>
	
</html>

MMCT - 2023