BỘ XÂY DỰNG | CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM |
Số: 1542/BXD-KTXD | 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./.
| TL. BỘ TRƯỞNG |
/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(' 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 = '