Hệ thống pháp luật

BỘ XÂY DỰNG
-------

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
---------------

Số: 1542/BXD-KTXD
V/v điều chỉnh, bổ sung hợp đồng thi công tiểu dự án 1: nạo vét, thoát lũ khẩn cấp sông Cổ Cò (đoạn qua địa phận thành phố Đà Nẵng)

Hà Nội, ngày 20 tháng 4 năm 2023

 

Kính gửi:

Ban quản lý dự án đầu tư xây dựng các công trình nông nghiệp và phát triển nông thôn Đà Nẵng

Phúc đáp văn bản số 200/NNPTNT-KH ngày 23/02/2023 của Ban quản lý dự án đầu tư xây dựng các công trình nông nghiệp và phát triển nông thôn Đà Nẵng về việc điều chỉnh, bổ sung hợp đồng thi công tiểu dự án 1: nạo vét, thoát lũ khẩn cấp sông Cổ Cò (đoạn qua địa phận thành phố Đà Nẵng), Bộ Xây dựng có ý kiến như sau:

1. Việc quản lý thực hiện hợp đồng, điều chỉnh hợp đồng thi công xây dựng thực hiện theo nội dung hợp đồng đã ký kết giữa các bên, phù hợp với hồ sơ mời thầu, hồ sơ dự thầu và quy định pháp luật áp dụng cho hợp đồng.

2. Hợp đồng thi công xây dựng số 292/2020/HĐXD-BQL3. Đối với hợp đồng theo đơn giá điều chỉnh nêu tại văn bản số 200/NNPTNT-KH thì việc bổ sung những khối lượng công việc hợp lý chưa có đơn giá trong hợp đồng nhưng không làm vượt giá gói thầu được phê duyệt thì chủ đầu tư và nhà thầu tính toán, thỏa thuận và ký kết phụ lục bổ sung hợp đồng; trường hợp vượt giá gói thầu được phê duyệt thì phải được người có thẩm quyền quyết định đầu tư xem xét, quyết định; các khối lượng công việc đã có đơn giá trong hợp đồng được xác định theo khối lượng hoàn thành thực tế (tăng hoặc giảm so với khối lượng trong hợp đồng đã ký) được nghiệm thu theo quy định tại điểm b khoản 2 Điều 37 Nghị định số 37/2015/NĐ-CP.

4. Đối với những khối lượng phát sinh ngoài phạm vi hợp đồng đã ký chưa có đơn giá, các bên phải thống nhất đơn giá trước khi thực hiện theo quy định tại khoản 3 Điều 37 Nghị định số 37/2015/NĐ-CP, đảm bảo tuân thủ đúng quy định pháp luật, điều kiện năng lực, kinh nghiệm nhà thầu theo quy mô công việc điều chỉnh, hiệu quả đầu tư và tiến độ của Dự án.

5. Trường hợp hình thành gói thầu mới nêu tại điểm b khoản 2 văn bản số 200/NNPTNT-KH thì việc lựa chọn nhà thầu thực hiện theo quy định của pháp luật về đấu thầu.

Trên đây là ý kiến của Bộ Xây dựng, đề nghị Ban quản lý dự án đầu tư xây dựng các công trình nông nghiệp và phát triển nông thôn Đà Nẵng nghiên cứu, thực hiện theo đúng quy định./.

 


Nơi nhận:
- Như trên;
- BT Nguyễn Thanh Nghị (để b/c);
- TT Bùi Hồng Minh (để b/c);
- Lưu: VT, Cục KTXD, PVH.

TL. BỘ TRƯỞNG
KT. CỤC TRƯỞNG CỤC KINH TẾ XÂY DỰNG
PHÓ CỤC TRƯỞNG




Hoàng Anh Tuấn

 



/g, '').replace(/\s*(<\/?[^>]+>)\s*/g, '$1').trim(); } function checkAndWrap(element) { // Đệ quy kiểm tra các phần tử .main-elem con bên trong trước element.children('cttd, dctd, dctk').each(function() { checkAndWrap($(this)); }); // Lấy HTML hiện tại của phần tử .main-elem và làm sạch nó var currentHTML = cleanHTML(element.html()); // Log trạng thái HTML bên trong trước khi kiểm tra //console.log('Before inner HTML:', currentHTML); // Kiểm tra xem HTML có bao quanh bởi thẻ span không if (!(currentHTML.startsWith(''))) { // Nếu không, bao quanh toàn bộ nội dung bằng thẻ span element.html('' + currentHTML + ''); currentHTML = cleanHTML(element.html()); //console.log('After inner HTML:', currentHTML); } else { //console.log('Giữ nguyên inner HTML:..........................'); } } $('cttd.chuthichtudong a.chuthichtudong').each(function() { $(this).removeClass('chuthichtudong'); }); // Bắt đầu kiểm tra từ các phần tử .main-elem ngoài cùng $('cttd.chuthichtudong, a.chuthichtudong, dctd, dctk').each(function() { $(this).attr('id', 'rnd_' + random_string_id(20)); checkAndWrap($(this)); }); }); $(document).ready(function() { $('cttd.chuthichtudong span, a.chuthichtudong span, dctk span, dctd span').click(function(e) { e.preventDefault(); e.stopPropagation(); }); $('cttd.chuthichtudong > span, a.chuthichtudong > span, dctk > span, dctd > span').click(function(e) { e.preventDefault(); e.stopPropagation(); if ($(document).width()<=768) { return; } var $this = $(this); //alert($this.position().top); var clickedElement = $(this); var level = 0; var selectors = ['cttd.chuthichtudong > span', 'dctk > span', 'dctd > span']; // Kiểm tra xem có ít nhất một cấp con thỏa mãn điều kiện không var hasChild = selectors.some(function(selector) { return clickedElement.closest(selector).find('span').length > 0; }); if (!hasChild) { //alert('chỉ có 1 cấp'); var totalSubLevels = 1; } else { function findMatchingParent(element) { var parent = element.parent(); if (parent.length === 0) return null; for (var i = 0; i < selectors.length; i++) { if (parent.is(selectors[i])) { return parent; } } return findMatchingParent(parent); } var parentElement = findMatchingParent(clickedElement); while (parentElement !== null) { level++; parentElement = findMatchingParent(parentElement); } var closestElement = clickedElement.closest(selectors.join(', ')); var nodeName = closestElement.prop('nodeName').toLowerCase(); var className = closestElement.attr('class'); var textContent = closestElement.text().trim(); var address = selectors.find(function(selector) { return closestElement.is(selector); }); // Đếm tổng số cấp dưới bao gồm cả cấp được click var totalSubLevels = closestElement.find('span').length + 1; // +1 để bao gồm cả cấp được click var parent_id = closestElement.parent().attr('id'); //alert('Clicked element level: ' + level + '\nAddress: ' + address + '\nText: ' + textContent + '\nparent_id: ' + parent_id); var variableName = 'parent_id_' + level; // Gán giá trị của parent_id cho biến động này window[variableName] = parent_id; } if (totalSubLevels>1) { // Tạo đối tượng để lưu trữ các biến động var dynamicVars = {}; // Tạo tên biến động dựa trên giá trị của level var variableName = 'parent_id_' + level; // Gán giá trị của parent_id cho biến động này dynamicVars[variableName] = parent_id; // Giờ gắn ngược lại biến buble_id = parent_id_{level} var buble_id = dynamicVars[variableName]; } else { buble_id = 'dc_' + $(this).parent().attr('id'); } //alert('bat dau xu ly ' + buble_id); // Nếu không có .pointer ngay sau .main-elem thì chèn thêm if ($this.next('.pointy').length === 0) { $this.after('

'); } var $pointer = $this.next('.pointer'); var $canvas = $this.next('canvas'); var $pointy = $canvas.next('div.pointy'); if ($pointy.is(':visible')) { //alert('now hide everything'); } //$pointer.css({'border':'solid 5px red'}); //$pointer.hide(); //$pointer.prev('canvas.pointy').hide(); if ($pointer.is(':visible')) { } else { if ($('#ajax_tra_cuu').is(':visible')) { $('#ajax_tra_cuu').hide(); } $("#right_info_col").css('height', '1px'); //$('#rightdocinfo').hide(); $('#rightdocinfo').hide('slow'); $('#r-toc').hide('slow'); if ($('button#toggleSidebar').length) { if (parseInt($('#customSidebar').css('right'),10) == 0) { $('#customSidebar').animate({ right: '-280px' }, 500); $('#toggleSidebar').html(''); } else { } } //alert('pointy length: ' + $pointy.length); //alert('pointy visible: ' + $pointy.is(':visible')); //$canvas.show(); if ($pointy.is(':visible')) { var $pointer = $canvas.next('.pointer'); //alert('pointer text: ' + $pointer.text()); //alert('pointer visible: ' + $pointer.is(':visible')); if ($pointer.is(':visible')) { //alert($pointer.prev('canvas.pointy').length); $pointer.hide(); $canvas.hide(); } else { } } else { if ($canvas.length==1) { var $canvas = $this.next('canvas'); var $pointer = $canvas.next('.pointer'); //$pointy.show(); if ($pointer.length>0) { $pointer.show(); $canvas.show(); } //$canvas.show(); $('.pointer').removeClass('pointy-active'); $('.pointer').css({'z-index':1}); $('canvas.pointy').removeClass('pointy-active'); $('canvas.pointy').css({'z-index':1}); $pointer.css({'z-index':9999}); $canvas.css({'z-index':9999}); if (level==0) { if (totalSubLevels==1) { scrollTop_offset = $pointer.offset().top - $(window).height() / 4; } else { scrollTop_offset = $pointer.offset().top - $('#nav-tab-vb').height()-10; } $('html,body').animate({ scrollTop: scrollTop_offset }, 'slow'); } } else { $pointer.show(); //$canvas.show(); if ($pointy.length==0) { var elementOffset = $(this).position().top; var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); var newTop = elementOffset - (pointerHeight / 2); // Đảm bảo pointer không ra khỏi màn hình var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); if (totalSubLevels=1) { if (level>0) { newTop = newTop+pointerHeight+30; } } // Positioning the pointer var position = $this.position(); $pointer.css({ left: $('#doc-left-col').width() + 50 + "px", width: $('#doc-right-col').width()-30, height: pointerHeight, 'z-index': 9999, top: newTop + "px" }); // Initialize pointy $this.pointy({ pointer: $pointer, defaultClass: 'zindex', activeClass: 'pointy-active', arrowWidth: 20 }); var initialTop = $pointer.position().top; $pointer.draggable({ containment: 'document', drag: function() { if (screen.width<1280) { var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); } $this.trigger('pointy-update'); } }); // Thêm sự kiện click cho .close_pointy $pointer.on('click', '.close_pointy', function(e) { $pointer.hide(); $pointer.prev('canvas.pointy').hide(); }); // Handle touch events for mobile devices var isDragging = false, startX, startY, offsetX, offsetY; var startDragging = function(e) { if (checkIfScrollingContent(e)) return; if ($(e.target).is('.close_pointy')) { // Nếu đúng thì không chạy các hàm drag return; } isDragging = true; var touch = e.originalEvent.touches[0]; var pos = $pointer.position(); startX = touch.pageX; startY = touch.pageY; offsetX = startX - pos.left; offsetY = startY - pos.top-$pointer.height()-$pointer.height()/1.365; var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); e.preventDefault(); }; var duringDragging = function(e) { if (checkIfScrollingContent(e)) return; if (isDragging) { var touch = e.originalEvent.touches[0]; var moveX = touch.pageX; var moveY = touch.pageY; if (screen.width<1280) { var newLeft = moveX - offsetX; var newTop = moveY - offsetY-$pointer.height()-$pointer.height()/1.365; // Giới hạn không cho kéo vượt quá chiều ngang của màn hình if (newLeft < 0) { newLeft = 0; } else if (newLeft + $pointer.outerWidth() > $(window).width()) { newLeft = $(window).width() - $pointer.outerWidth(); } // Giới hạn không cho kéo lên trên vượt quá position.top ban đầu if (newTop < initialTop) { newTop = initialTop; } $pointer.css({ left: newLeft, top: newTop }); } else { var newLeft = moveX - offsetX; var newTop = moveY - offsetY-$pointer.height()-$pointer.height()/1.365; // Giới hạn không cho kéo vượt quá chiều ngang của màn hình if (newLeft < 0) { newLeft = 0; } else if (newLeft + $pointer.outerWidth() > $(window).width()) { newLeft = $(window).width() - $pointer.outerWidth(); } $pointer.css({ left: newLeft, top: newTop }); } $pointer.prev('canvas.pointy').hide(); e.preventDefault(); } }; var stopDragging = function(e) { $pointer.prev('canvas.pointy').show(); if (checkIfScrollingContent(e)) return; if (screen.width<1280) { var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); } $this.trigger('pointy-update'); }; function checkIfScrollingContent(e) { // Kiểm tra đối tượng mà người dùng đang chạm có phải là nội dung bên trong $pointer // Ví dụ, nếu nó là một phần tử
hoặc

bên trong $pointer if ($(e.target).closest('.list_tds').length > 0) { // Người dùng đang chạm vào nội dung bên trong .scroll_2 // Cho phép hành vi cuộn và ngăn chặn di chuyển $pointer e.stopPropagation(); return true; } // Người dùng không chạm vào nội dung bên trong $pointer // Cho phép di chuyển $pointer return false; } $pointer.on('touchstart', startDragging); $pointer.on('touchmove', duringDragging); $pointer.on('touchend', stopDragging); // Hàm để cập nhật vị trí của pointer var updatePointerPosition = function() { var offset = $this.position(); //alert($this.position().top); var windowHeight = $(window).height() - $('#nav-tab-vb').height()-20; var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); var elementOffset = $this.position().top; var newTop = elementOffset - (pointerHeight / 2); // Đảm bảo pointer không ra khỏi màn hình var maxTop = $(document).height() - pointerHeight; newTop = Math.max(0, Math.min(newTop, maxTop)); $pointer.css({ left: $('#doc-left-col').width() + 50 + "px", width: $('#doc-right-col').width() - 30, height: pointerHeight, top: newTop + "px" }); //alert($pointer.position().top); }; /* */ // Cập nhật vị trí pointer khi thay đổi kích thước hoặc xoay màn hình $(window).on('resize orientationchange', function() { updatePointerPosition(); //$canvas.css('top', $this.position().top+'px'); var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); $this.trigger('pointy-update'); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); }); } } } if ($pointer.is(':visible')) { if (level==0) { if (totalSubLevels==1) { scrollTop_offset = $pointer.offset().top - $(window).height() / 4; } else { scrollTop_offset = $pointer.offset().top - $('#nav-tab-vb').height()-10; } $('html,body').animate({ scrollTop: scrollTop_offset }, 'slow'); } } } $pointer.css('opacity', '1'); $('.pointy').click(function(e) { e.preventDefault(); e.stopPropagation(); }); var parent = $(this).parent(); var dataCT = parent.attr('data-ct'); var dataDC = parent.attr('data-dc'); var dataTN = parent.attr('data-tn'); //if (dataCT) loai_buble = 'chuthich'; //if (dataDC) loai_buble = 'danchieu';; //if (dataTN) loai_buble = 'thuatngu'; var loai_buble = parent.prop('nodeName').toLowerCase(); var text_html = $(this).text(); if (loai_buble=='cttd' || loai_buble=='a') { pointer_html = '

'; } else if(loai_buble=='dctd') { if (this.hasAttribute('o-title')) { tieu_de_dan_chieu = $(this).attr('o-title'); } else { tieu_de_dan_chieu = text_html; } pointer_html = ''; } else if(loai_buble=='dctk') { pointer_html = ''; } if ($pointer.find('#noi_dung_buble_'+buble_id).length) { } else { $pointer.html(pointer_html); } if (loai_buble=='cttd' || loai_buble=='a') { var load_cttd = setInterval(function(){ if ($pointer.find('#noi_dung_buble_'+buble_id + ' .dc_loading').length) { $.ajax({ type: 'POST', url: '/ajax/vanban/chu-thich/', data: { 'ndct': dataCT, 'id_ct': buble_id, 'dc_text': text_html }, success: function(response) { $("#noi_dung_buble_" + buble_id).html(response); if ($(document).width()>=1280){$this.trigger('pointy-update');} clearInterval(load_cttd); } }); } },500); } else if(loai_buble=='dctd') { var load_cttd = setInterval(function(){ if ($pointer.find('#noi_dung_buble_'+buble_id + ' .dc_loading').length){ if (dataDC.length == 32) { $.ajax({ type: 'POST', url: '/ajax/public/dan-chieu/' + dataDC, data: { 'text_dan_chieu': text_html }, success: function(response) { $("#noi_dung_buble_" + buble_id).html(response); if ($(document).width()>=1280){$this.trigger('pointy-update');} clearInterval(load_cttd); } }); } else { $("#noi_dung_buble_" + buble_id).load('/ajax/public/dan-chieu/' + dataDC + '/'); if ($(document).width()>=1280){$this.trigger('pointy-update');} clearInterval(load_cttd); } } else { clearInterval(load_cttd); } },500); } else if(loai_buble=='dctk') { if ($('#noi_dung_buble_'+buble_id + ' .dc_loading').length){ $.ajax({ type: 'POST', url: '/ajax/vanban/chu-thich/', data: { 'ndct': dataCT, 'id_ct': buble_id, 'loai_hd': 'noi_dung_tham_khao', 'dc_text': text_html }, success: function(response) { $("#noi_dung_buble_" + buble_id).html(response); if ($(document).width()>=1280){$this.trigger('pointy-update');} } }); } } /* var tim_buble_id = setInterval(function(){ if ($('#noi_dung_buble_'+buble_id).length) { alert('bay gio moi tim thay '+buble_id); clearInterval(tim_buble_id); } },1000); */ $('.pointer').removeClass('pointy-active'); $('.pointer').css({'z-index':1}); $('canvas.pointy').removeClass('pointy-active'); $('canvas.pointy').css({'z-index':1}); $pointer.css({'z-index':9999}); $canvas.css({'z-index':9999}); $('.pointer').on('mouseenter mouseleave click touchstart', function() { // Khi di chuột vào $('.pointer').removeClass('pointy-active'); $('.pointer').css({'z-index':1}); $(this).css({'z-index':9999}); $('canvas.pointy').removeClass('pointy-active'); $('canvas.pointy').css({'z-index':1}); $(this).prev('canvas.pointy').addClass('pointy-active'); $(this).prev('canvas.pointy').css({'z-index':9999}); } ); var list_tds_max_height_interval = setInterval(function(){ if ($pointer.find('.list_tds').length) { var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); $pointer.find('.list_tds').css('max-height', pointerHeight + 'px'); clearInterval(list_tds_max_height_interval); } },50); $(window).resize(function() { if ($(document).width()<=768) { $pointer.hide(); $pointer.prev('canvas.pointy').hide(); } var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); var list_tds_max_height_interval = setInterval(function(){ if ($pointer.find('.list_tds').length) { var windowHeight = $(window).height()-20 - $('#nav-tab-vb').height(); var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); $pointer.find('.list_tds').css('max-height', pointerHeight + 'px'); clearInterval(list_tds_max_height_interval); } },50); }); var parentElement = $(this).parent(); // Define the selectors for the target elements var selectors = 'cttd.chuthichtudong > span, a.chuthichtudong > span, dctk > span, dctd > span'; // Find and click all matching child elements parentElement.find(selectors).each(function() { $(this).click(); }); var cap_nhat_pointy_top = setInterval(function(){ if ($this.position().top-$this.parent().height()+10!=$pointer.prev('canvas.pointy').position().top) { $pointer.prev('canvas.pointy').css({'top': $this.position().top-$this.parent().height()+10+'px'}); clearInterval(cap_nhat_pointy_top); } else { clearInterval(cap_nhat_pointy_top); } },50); }); }); function random_string_id(numstr) { var text = ""; var possible = "abcdefghijklmnopqrstuvwxyz0123456789"; for (var i = 0; i < numstr; i++) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } $(document).ready(function() { function setPointerHeight() { var windowHeight = $(window).height() - $('#nav-tab-vb').height()-20; var pointerHeight = Math.max(250, Math.min(windowHeight * 0.8, 450)); $('.pointer').css('height', pointerHeight + 'px'); } // Đặt chiều cao khi tải trang setPointerHeight(); // Đặt lại chiều cao khi thay đổi kích thước cửa sổ (nếu cần) $(window).resize(function() { setPointerHeight(); }); }); // Lưu dấu chọn lựa cuối cùng let lastChosen = null; let lastChosentr = null; function scroll_den_hd(ndsh_dich_address) { if (lastChosen) { $(lastChosen).css('background-color', ''); // Xóa mọi bôi mờ trước } if (lastChosentr) { $(lastChosentr).css('background-color', ''); // Xóa mọi bôi mờ trước } lastChosen = $('[href="javascript:scroll_den_hd(\'' + ndsh_dich_address + '\')"]'); lastChosentr = $('[data-ct="' + ndsh_dich_address + '"]'); $(lastChosen).css('background-color', 'yellow'); // Thay bôi mờ $(lastChosentr).css('background-color', 'yellow'); // Thay bôi mờ var targetElement = $('[address="' + ndsh_dich_address + '"]'); $('.selected_dchd').removeClass('selected_dchd'); targetElement.addClass('selected_dchd'); targetElement.children('p').children('cttd').click(); targetElement.children('cttd').click(); targetElement.children('p').children('dctk').click(); targetElement.children('dctk').click(); // Tính toán vị trí để cuộn đến và đẩy vị trí xuống một chút cho dễ nhìn /* var position = targetElement.offset().top - $(window).height()/2; // Sử dụng animate để cuộn đến vị trí, sau đó không cần bôi màu như trước $('html, body').animate({ scrollTop: position }, 800, function() { // Không cần thực hiện thêm hành động nào sau khi cuộn, vì việc đánh dấu đã được xử lý ở trên }); */ }