feat (UX): Refactored batch selector
diff --git a/erpnext/public/js/utils/serial_no_batch_selector.js b/erpnext/public/js/utils/serial_no_batch_selector.js
index 0e82b18..93b7ce9 100644
--- a/erpnext/public/js/utils/serial_no_batch_selector.js
+++ b/erpnext/public/js/utils/serial_no_batch_selector.js
@@ -68,10 +68,38 @@
 			{
 				fieldname: 'qty',
 				fieldtype:'Float',
-				read_only: 1,
+				read_only: me.has_batch ? 1 : 0,
 				label: __(me.has_batch ? 'Total Qty' : 'Qty'),
 				default: 0
 			},
+			{
+				fieldname: 'auto_fetch_button',
+				fieldtype:'Button',
+				hidden: me.has_batch ? 1 : 0,
+				label: __(me.has_batch ? 'Fetch Batch Numbers' : 'Fetch Serial Numbers'),
+				click: (e) => {
+					// window.abc = this.dialog
+					// console.log(this.dialog.fields_dict.qty.get_value())
+					// let auto_fetch_qty_field = this.dialog.fields_dict.qty;
+					// let fetch_qty = auto_fetch_qty_field.get_value();
+					let numbers = frappe.call({
+						method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number",
+						args: {
+							qty: this.dialog.fields_dict.qty.get_value(),
+							item_code: me.item_code,
+							warehouse: me.warehouse_details.name
+						}
+					});
+
+					numbers.then((data) => {
+						let auto_fetched_serial_numbers = data.message;
+						let serial_no_list_field = this.dialog.fields_dict.serial_no;
+						numbers = auto_fetched_serial_numbers.join('\n');
+						serial_no_list_field.set_value(numbers);
+						// auto_fetch_qty_field.set_value("");
+					})
+				}
+			}
 		];
 
 		if(this.has_batch) {
@@ -234,7 +262,7 @@
 		var me = this;
 		return [
 			{fieldtype:'Section Break', label: __('Batches')},
-			{fieldname: 'batches', fieldtype: 'Table',
+			{fieldname: 'batches', fieldtype: 'Table', label: __('Batch Entries'),
 				fields: [
 					{
 						fieldtype:'Link',
@@ -345,24 +373,6 @@
 		return [
 			{fieldtype: 'Section Break', label: __('Serial No')},
 			{
-				fieldname: 'auto_fetch_toggle',
-				fieldtype:'Check',
-				label: __('Fetch based on FIFO'),
-				default: 0,
-				onchange: function(e) {
-					const show_auto_fetch = this.get_value();
-					if (show_auto_fetch) {
-						this.layout.set_df_property('auto_qty', 'hidden', 0);
-						this.layout.set_df_property('auto_fetch_button', 'hidden', 0);
-						this.layout.set_df_property('serial_no_select', 'hidden', 1);
-					} else {
-						this.layout.set_df_property('serial_no_select', 'hidden', 0);
-						this.layout.set_df_property('auto_qty', 'hidden', 1);
-						this.layout.set_df_property('auto_fetch_button', 'hidden', 1);
-					}
-				}
-			},
-			{
 				fieldtype: 'Link', fieldname: 'serial_no_select', options: 'Serial No',
 				label: __('Select to add serial no.'),
 				get_query: function() {
@@ -397,47 +407,40 @@
 					this.in_local_change = 0;
 				}
 			},
-			{
-				fieldname: 'auto_qty',
-				fieldtype:'Float',
-				read_only: 0,
-				hidden: 1,
-				label: __('Auto Fetch Quantity'),
-				default: 0,
-			},
-			{
-				fieldname: 'auto_fetch_button',
-				fieldtype:'Button',
-				label: __('Fetch Serial Numbers'),
-				read_only: 0,
-				hidden: 1,
-				click: (e) => {
-					// window.abc = this.dialog
-					console.log(this.dialog.fields_dict.auto_qty.get_value())
-					let auto_fetch_qty_field = this.dialog.fields_dict.auto_qty;
-					let fetch_qty = auto_fetch_qty_field.get_value();
-					let numbers = frappe.call({
-						method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number",
-						args: {
-							qty: fetch_qty,
-							item_code: me.item_code,
-							warehouse: me.warehouse_details.name
-						}
-					});
+			// {
+			// 	fieldname: 'auto_fetch_button',
+			// 	fieldtype:'Button',
+			// 	label: __('Fetch Serial Numbers'),
+			// 	read_only: 0,
+			// 	hidden: 1,
+			// 	click: (e) => {
+			// 		// window.abc = this.dialog
+			// 		console.log(this.dialog.fields_dict.auto_qty.get_value())
+			// 		let auto_fetch_qty_field = this.dialog.fields_dict.auto_qty;
+			// 		let fetch_qty = auto_fetch_qty_field.get_value();
+			// 		let numbers = frappe.call({
+			// 			method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number",
+			// 			args: {
+			// 				qty: fetch_qty,
+			// 				item_code: me.item_code,
+			// 				warehouse: me.warehouse_details.name
+			// 			}
+			// 		});
 
-					numbers.then((data) => {
-						let auto_fetched_serial_numbers = data.message;
-						let serial_no_list_field = this.layout.fields_dict.serial_no;
-						numbers = auto_fetched_serial_numbers.join('\n');
-						serial_no_list_field.set_value(numbers);
-						auto_fetch_qty_field.set_value("");
-					})
-				}
-			},
+			// 		numbers.then((data) => {
+			// 			let auto_fetched_serial_numbers = data.message;
+			// 			let serial_no_list_field = this.layout.fields_dict.serial_no;
+			// 			numbers = auto_fetched_serial_numbers.join('\n');
+			// 			serial_no_list_field.set_value(numbers);
+			// 			auto_fetch_qty_field.set_value("");
+			// 		})
+			// 	}
+			// },
 			{fieldtype: 'Column Break'},
 			{
 				fieldname: 'serial_no',
 				fieldtype: 'Small Text',
+				label: __(me.has_batch ? 'Selected Batch Numbers' : 'Selected Serial Numbers'),
 				onchange: function() {
 					me.serial_list = this.get_value()
 						.replace(/\n/g, ' ').match(/\S+/g) || [];