2022年5月包钢各厂电气备件招标
内蒙古自治区包头市
数据来源:包钢电子采购交易平台 公示时间:2022-05-27
项目编号ZP22050171项目名称2022年5月包钢各厂电气备件招标发布日期2022/05/27报名截止日期2022/05/24投标开始日期时间2022/05/20 -- 08:00开标日期时间2022/05/26-- 09:00项目类别备件 招标部门S7120000 地址内蒙古包头市昆区河西工业区(钢铁大街与一号路交叉路口北侧200米) 标书文件请登陆网上招标平台后,下载标书与相关文件 变更公告内容 一、项目名称: 2022年5月包钢各厂电气备件招标 二、项目编号: ZP22050171 三、终止说明: 因本项目标段1和标段2否决全部投标,应招标人要求终止本次采购。由此给各位投标人带来的不便,敬请谅解,特此公告。 四、发布媒介 本次招标终止公告同时在包钢电子采购交易平台(ep.btsteel.com)、内蒙古自治区企业阳光采购服务平台(nmgygcg.ejy365.com)等媒介发布。 五、联系方式 招 标 人:内蒙古包钢钢联股份有限公司采购中心 地 址:内蒙古包头市昆都仑区河西工业园区包钢东路包钢股份采购中心办公楼 联 系 人:张宇 联系电话:0472-2665512 招标机构:包钢(集团)公司招标中心地 址:内蒙古包头市昆区河西工业区(钢铁大街与一号路交叉路口北侧200米)招标机构项目负责人:王静溪 0472-2669664业务部长:武志国0472-2669642 客服热线电话:0472-2663666 包钢(集团)公司招标中心 2022/05/27 var dataView; var options = {enableCellNavigation: true, editable: true }; var sortcol = "title";var sortdir = 1;var percentCompleteThreshold = 0;var prevPercentCompleteThreshold = 0;var columns = [{id:"projitemno", name: "项次", field: "projItemNo", width: 60, sortable: true},{id:"bidno", name: "标段", field: "bidNo", width: 60, sortable: true},{id:"cnmdesc", name: "货物名称", field: "CNmDesc", width: 160, sortable: true},{id:"nmspec", name: "规格,型号", field: "nmSpec", width: 140, sortable: true},{id:"quality", name: "材质", field: "quality", width: 85, sortable: true},{id:"picno", name: "图号", field: "picNo", width: 140, sortable: true},{id:"prodbrand", name: "产地、品牌", field: "prodBrand", width: 100, sortable: true},{id:"unitinv", name: "单位", field: "unitInv", width: 65, sortable: true},{id:"sendqty", name: "招标数量", field: "sendQty", width: 100, sortable: true,formatter:colnumFormatter},{id:"sendprice", name: "单价最高限价", field: "sendPrice", width: 100, sortable: true,formatter:colnumFormatter},{id:"unitwgtkg", name: "单重(KG)", field: "unitWgtkg", width: 100, sortable: true,formatter:colnumFormatter},{id:"remark", name: "备注", field: "remark", width: 300, sortable: true}];function avgTotalsFormatter(totals, columnDef) { var val = totals.avg && totals.avg[columnDef.field]; if (val != null) { return "avg: " + Math.round(val) + "%"; } return "";}function sumTotalsFormatter(totals, columnDef) { var val = totals.sum && totals.sum[columnDef.field]; if (val != null) { return "total: " + ((Math.round(parseFloat(val)*100)/100)); } return "";}function colnumFormatter(row, cell, value, columnDef, dataContext) { if(value<0) { return '' + numberFormatter(value) + ''; }else if(value>0){ return ''+numberFormatter(value)+''; }else { return ''+value+''; }} function numberFormatter(num) { var source = String(num).split(".");//按小数点分成2部分 source[0] = source[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,"); return source.join(".");//再将小数部分合并进来}function comparer(a, b) { var x = a[sortcol], y = b[sortcol]; return (x == y ? 0 : (x > y ? 1 : -1));}var data = []; function loadData() { data = []; dataView.setItems(data);}var grid; var pageSize = 100; $(function () {var groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider();dataView = new Slick.Data.DataView({groupItemMetadataProvider: groupItemMetadataProvider});grid = new Slick.Grid("#myGrid", dataView, columns, options);grid.registerPlugin(groupItemMetadataProvider);grid.setSelectionModel(new Slick.CellSelectionModel());var pager = new Slick.Controls.Pager(dataView, grid, $("#pager"));var columnpicker = new Slick.Controls.ColumnPicker(columns, grid, options);var copyManager = new Slick.CellCopyManager();grid.registerPlugin(copyManager);copyManager.onCopyCells.subscribe(function(e, args){if(args.ranges.length!==1) {throw "This implementation only supports single range copy and paste operations";}var range = args.ranges[0];var clipText = "";for(var i=range.fromRow; i<range.toRow+1; i++) {for(var j=range.fromCell; j<range.toCell+1; j++) {var r = document.body.createTextRange();r.moveToElementText(grid.getCellNode(i, j));r.select();r.execCommand("copy");}}});var pageInfo = {};pageInfo.pageSize = pageSize;dataView.setPagingOptions(pageInfo);grid.onSort.subscribe(function (e, args) {sortdir = args.sortAsc ? 1 : -1;sortcol = args.sortCol.field;if ($.browser.msie && $.browser.version <= 8) {var percentCompleteValueFn = function () {var val = this["percentComplete"];if (val < 10) {return "00" + val;} else if (val < 100) {return "0" + val;} else {return val;}};dataView.fastSort((sortcol == "percentComplete") ? percentCompleteValueFn : sortcol, args.sortAsc);}else{dataView.sort(comparer, args.sortAsc);}});dataView.onRowCountChanged.subscribe(function (e, args) {grid.updateRowCount();grid.render();});dataView.onRowsChanged.subscribe(function (e, args) {grid.invalidateRows(args.rows);grid.render();});dataView.beginUpdate();dataView.setFilterArgs({percentComplete: percentCompleteThreshold});loadData();dataView.endUpdate();});