jQuery(document).ready(function($) { // آرایه رنگ‌های متمایز var colors = [ '#FF0000', '#00FF00', '#0000FF', '#FF00FF', '#FFFF00', '#00FFFF', '#FFA500', '#800080', '#008000', '#FFC0CB' ]; // نمایش پیام function showMessage(message, type) { var messageClass = 'notice-' + type; var $notice = $('

' + message + '

'); $('.wrap').prepend($notice); setTimeout(function() { $notice.fadeOut().remove(); }, 5000); } // بررسی وجود Leaflet if (typeof L === 'undefined') { console.error('Leaflet is not loaded.'); $('#map').html('

خطا: نقشه لود نشد. لطفاً اتصال اینترنت را بررسی کنید.

'); return; } // ایجاد نقشه var map = L.map('map').setView([35.6892, 51.3890], 11); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap' }).addTo(map); var drawnItems = new L.FeatureGroup(); map.addLayer(drawnItems); var drawControl = new L.Control.Draw({ edit: { featureGroup: drawnItems }, draw: { polygon: true, polyline: false, rectangle: false, circle: false, marker: false, circlemarker: false } }); map.addControl(drawControl); var currentZoneId = null; var currentLayer = null; map.on('draw:created', function(e) { if (currentLayer) { drawnItems.removeLayer(currentLayer); } currentLayer = e.layer; drawnItems.addLayer(currentLayer); }); map.on('draw:edited', function(e) { if (currentLayer) { // به‌روزرسانی مختصات هنگام ویرایش console.log('Polygon edited:', currentLayer.toGeoJSON()); } }); // دریافت محدوده‌ها function loadZones() { $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: { action: 'ala_or_get_zones', nonce: alaOrData.nonce }, success: function(response) { console.log('Zones Response:', response); if (response.success && response.data) { $('#zone-list').empty(); response.data.forEach(function(zone, index) { if (zone.coordinates && Array.isArray(zone.coordinates[0])) { var leafletCoords = zone.coordinates[0].map(coord => [coord.lat, coord.lng]); var zoneColor = colors[index % colors.length]; var polygon = L.polygon(leafletCoords, { color: zoneColor }).addTo(map); polygon.bindPopup('منطقه: ' + (zone.zone_name || 'بدون نام') + '
شعبه: ' + (zone.branch_name || 'بدون شعبه')); drawnItems.addLayer(polygon); var $li = $('
  • ' + 'منطقه: ' + (zone.zone_name || 'بدون نام') + ' | شعبه: ' + (zone.branch_name || 'بدون شعبه') + '' + '
  • '); $('#zone-list').append($li); } }); } else { console.error('Failed to load zones:', response); showMessage('خطا در بارگذاری محدوده‌ها.', 'error'); } }, error: function(xhr, status, error) { console.error('Zones AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); } // دریافت مسئولین شعبه function loadManagers() { $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: { action: 'ala_or_get_managers', nonce: alaOrData.nonce }, success: function(response) { console.log('Managers Response:', response); if (response.success && response.data) { $('#manager-list').empty(); response.data.forEach(function(manager) { var $li = $('
  • ' + 'شعبه: ' + (manager.branch_name || 'بدون نام') + ' | مسئول: ' + (manager.display_name || 'بدون نام') + ' (' + (manager.user_email || 'بدون ایمیل') + ')' + '
  • '); $('#manager-list').append($li); }); } else { console.error('Failed to load managers:', response); showMessage('خطا در بارگذاری مسئولین شعبه.', 'error'); } }, error: function(xhr, status, error) { console.error('Managers AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); } // ارسال فرم محدوده $('#zone-form').on('submit', function(e) { e.preventDefault(); if (!currentLayer) { showMessage('لطفاً یک محدوده روی نقشه رسم کنید.', 'error'); return; } var coordinates = currentLayer.getLatLngs(); var zoneName = $('#zone-name').val().trim(); var branchName = $('#branch-name').val().trim(); var data = { action: currentZoneId ? 'ala_or_edit_zone' : 'ala_or_save_zone', nonce: alaOrData.nonce, zone_name: zoneName, branch_name: branchName, coordinates: JSON.stringify(coordinates) }; if (currentZoneId) { data.zone_id = currentZoneId; } $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: data, success: function(response) { console.log('Zone Save/Edit Response:', response); if (response.success) { showMessage(currentZoneId ? 'محدوده با موفقیت ویرایش شد.' : 'محدوده با موفقیت ذخیره شد.', 'success'); loadZones(); $('#zone-form')[0].reset(); drawnItems.removeLayer(currentLayer); currentLayer = null; currentZoneId = null; } else { showMessage('خطا: ' + (response.data || 'عملیات ناموفق.'), 'error'); } }, error: function(xhr, status, error) { console.error('Zone Save/Edit AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); }); // حذف محدوده $('#zone-list').on('click', '.delete-zone', function() { var zoneId = $(this).data('id'); if (!confirm('آیا مطمئن هستید که می‌خواهید این محدوده را حذف کنید؟')) { return; } $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: { action: 'ala_or_delete_zone', nonce: alaOrData.nonce, zone_id: zoneId }, success: function(response) { console.log('Zone Delete Response:', response); if (response.success) { showMessage('محدوده با موفقیت حذف شد.', 'success'); loadZones(); } else { showMessage('خطا: ' + (response.data || 'عملیات ناموفق.'), 'error'); } }, error: function(xhr, status, error) { console.error('Zone Delete AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); }); // ویرایش محدوده $('#zone-list').on('click', '.edit-zone', function() { var zoneId = $(this).data('id'); $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: { action: 'ala_or_get_zones', nonce: alaOrData.nonce }, success: function(response) { console.log('Zones Response for Edit:', response); if (response.success && response.data) { var zone = response.data.find(z => parseInt(z.id) === zoneId); if (zone) { $('#zone-name').val(zone.zone_name); $('#branch-name').val(zone.branch_name); if (currentLayer) { drawnItems.removeLayer(currentLayer); } var leafletCoords = zone.coordinates[0].map(coord => [coord.lat, coord.lng]); currentLayer = L.polygon(leafletCoords).addTo(map); drawnItems.addLayer(currentLayer); map.fitBounds(currentLayer.getBounds()); currentZoneId = zoneId; showMessage('لطفاً محدوده را ویرایش کنید و ذخیره کنید.', 'info'); } } else { showMessage('خطا در بارگذاری محدوده.', 'error'); } }, error: function(xhr, status, error) { console.error('Zones AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); }); // ارسال فرم تخصیص مسئول $('#manager-form').on('submit', function(e) { e.preventDefault(); var branchName = $('#branch-select').val(); var userId = $('#user-select').val(); $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: { action: 'ala_or_assign_manager', nonce: alaOrData.nonce, branch_name: branchName, user_id: userId }, success: function(response) { console.log('Manager Assign Response:', response); if (response.success) { showMessage('مسئول با موفقیت تخصیص یافت.', 'success'); loadManagers(); $('#manager-form')[0].reset(); } else { showMessage('خطا: ' + (response.data || 'عملیات ناموفق.'), 'error'); } }, error: function(xhr, status, error) { console.error('Manager Assign AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); }); // حذف مسئول $('#manager-list').on('click', '.delete-manager', function() { var managerId = $(this).data('id'); if (!confirm('آیا مطمئن هستید که می‌خواهید این مسئول را حذف کنید؟')) { return; } $.ajax({ url: alaOrData.ajax_url, method: 'POST', data: { action: 'ala_or_delete_manager', nonce: alaOrData.nonce, manager_id: managerId }, success: function(response) { console.log('Manager Delete Response:', response); if (response.success) { showMessage('مسئول با موفقیت حذف شد.', 'success'); loadManagers(); } else { showMessage('خطا: ' + (response.data || 'عملیات ناموفق.'), 'error'); } }, error: function(xhr, status, error) { console.error('Manager Delete AJAX Error:', status, error); showMessage('خطا در ارتباط با سرور.', 'error'); } }); }); // لود اولیه loadZones(); loadManagers(); }); خرید اینترنتی از شعب فروشگاه‌ تازه فروشی فروشگاه اینترنتی بامیکا
    فروشگاه

    فروشگاه

    نمایش 313–336 از 792 نتیجه

    مرتب سازی بر اساس:
  • کشک شیشه ای گلساق

    40,500 تومان80,500 تومان
  • قرص کشک گلساق

    75,000 تومان85,000 تومان
  • 0

    بالا