搜档网
当前位置:搜档网 › js操作table元素,表格的行列新增、删除汇集

js操作table元素,表格的行列新增、删除汇集

/************ TableTool.js ******************************************************************************** **********************************

************************************************************** 快速索引*************************************************************** 表格行、列删除

【一】、 doTableRowDelete 说明:默认根据当前事件指向的对象,向上寻找TR,进行删除(可选参数:表格对象;删除的行的行号,按升序方式以逗号分割,如2,3,5;向上遍历TD几次,默认为1次)

合并表格 ******

【一】、 conbainTableRow 说明:纵向单元格的内容相同的合并,传入表格对象,需要合并的列,(可选的参数,从第几行开始);

【二】、 combineCell 说明:横向单元格合并,传入单元格内一对象,(可选的参数,合并几个单元格<向右>;是否保留原单元格的值);

单元格与行的移动 ******

【一】、 moveUp 说明:进行上移,(可选参数,最上移动到第几行,默认为第零行;需要移动的行或者td对象或者td内的子对象,默认获取当前事件指向的行)【二】、 moveDown 说明:进行下移,(可选参数,最低移动到倒数第几行,默认为倒数第零行;需要移动的行或者td对象或者td内的子对象,默认获取当前事件指向的行)【三】、 moveCell 说明:行交换,表格对象、交换的行的行号

赋值单元格样式 ******

【一】、 cloneStyle 说明:将模板单元格的样式COPY到目标单元格上,模板单元格,要修正样式的单元格

新增行、列 ******

【一】、 insertTableRow 说明:新增行,表格对象,添加行的内容的数组(可选参数,每个单元格的colSpan的数组参数,默认取前一行的属性;添加到的行的行号,默认是最后一行)

【二】、 insertTableCol 说明:新增列,表格对象,添加行的内容的数组(可选参数,每个单元格的rowSpan的数组参数,默认取前一列的属性;添加到的列的列号,默认是最后一列)

获取表格中一行的元素 ******

【一】、 doGetRowObj 说明:获取表格中行内的元素,表格对象,行号,(可选参数,是否copy对象,默认为false;是否获取单元格对象,默认false)

其他验证与参数获取 ******

【一】、 doFetchBaseCols 说明:获取列号在表格内行中的实际位置,表格对象,列号;返回一个数组,记录每行中指定的单元格的cellIndex

【二】、 doFetchEffectCells 说明:获取插入当前行,被影响到rowSpan属性的单元格集合

【三】、 calculateSpanWidth 说明:计算Span的宽度,根据当前span外的单元格的宽度,(可选参数:容器对象,容器对象为空时,取当前document,即遍历页面上所有的Span 对象)

******************************************************************************** ***********************************************************

******************************************************************************** ***************************************************************/

/**

* 删除表格的行

*

* tdCount 根据当前event事件向上追溯TD对象几次,默认为1次

*

* 说明:event事件需要附着在将要删除的TD内部,且不能有多重TD的嵌套;否则需要指定嵌套几层TD对象

*/

function doTableRowDelete(){

var tablObj = arguments[0];

var trIndexs = arguments[1];

var tdCount = arguments[2]==undefined?1:parseFloat(arguments[2]);

if(trIndexs==undefined){

tdCount = tdCount-1;

var tdObj = event.srcElement;

var trObj,tableObj;

while(tdCount > 0){

tdCount--;

while(tdObj.tagName != 'TD'){

tdObj = tdObj.parentNode;

}

tdObj = tdObj.parentNode;

}

while(tdObj.tagName != 'TD'){

tdObj = tdObj.parentNode;

}

trObj = tdObj.parentNode;

tableObj = trObj.parentNode;

if(tableObj.tagName != 'TABLE'){

tableObj = tableObj.parentNode;

}

var cellIndex = tdObj.cellIndex;

var rowIndex = trObj.rowIndex;

var effectCells = doFetchEffectCells(tableObj,rowIndex);

for(var i=0;i

effectCells[i].rowSpan = effectCells[i].rowSpan - 1;

}

tableObj.deleteRow(rowIndex);

}else{

var delIndexArr = trIndexs.split(",");

for(var i=delIndexArr.length-1;i>-1;i--){

tablObj.deleteRow(delIndexArr[i]);

}

}

isDeleteFlag = true;

return isDeleteFlag;

}

/**

* 删除表格的列

*

* tdCount 根据当前event事件向上追溯TD对象几次,默认为1次

*

* 说明:event事件需要附着在将要删除的TD内部,且不能有多重TD的嵌套;否则需要指定嵌套几层TD对象

*/

function doTableColDelete(){

var isDeleteFlag = false;

var tdCount = arguments[0]==undefined?1:parseFloat(arguments[0]);

var tdObj = event.srcElement;

while(tdCount!=0){

tdCount--;

while(tdObj.tagName != 'TD'){

tdObj = tdObj.parentNode;

}

}

var trObj = tdObj.parentNode;

var tableObj = trObj.parentNode;

var cellIndex = tdObj.cellIndex;

var rowIndex = trObj.rowIndex;

tableObj.deleteRow(rowIndex);

isDeleteFlag = true;

return isDeleteFlag;

}

/**

* 根据Span外最临近的TD的宽度计算重置当前Span的宽度

*

* obj 可以是页面上一个容器对象,TR、TD、TABLE,此项为空,则会遍历页面上所有的Span对象

*/

function calculateSpanWidth(){

var obj = arguments[0];

var spanObjs;

if(obj!=undefined){

spanObjs = obj.getElementsByTagName('span');

}else{

spanObjs = document.getElementsByTagName('span');

}

for(var i=0;i

var tdObj = spanObjs[i].parentNode;

while(tdObj.tagName!='TD'&&typeof(tdObj)=='Object'){

tdObj = tdObj.parentNode;

}

if(tdObj.tagName=='TD'){

var offsetWidth = tdObj.offsetWidth;

spanObjs[i].style.width = offsetWidth-5;

}

}

}

/**

* 合并表格中纵向相邻单元格的内容相同的项

*

* tableObj 表格对象(必须)

* combainCols 需要合并的列 (格式:从小到大,连续的用-分割,独立的用逗号; 例如:1-5,7,9)

* beginRowIndex 从第几行开始合并,默认从第零行开始

*/

function conbainTableRow(){

var tableObj = arguments[0];

var combainCols = arguments[1];

var beginRowIndex = arguments[2]==undefined?0:arguments[2];

//var beginColIndex = arguments[3]==undefined?0:arguments[3];

var colsArr = combainCols.split(",");

var cols = new Array();

var index = 0;

for(var i=0;i

var indexChar = colsArr[i].indexOf("-");

if(indexChar!=-1){

var beginIndex = parseInt(colsArr[i].substring(0,indexChar)); var endIndex = parseInt(colsArr[i].substring(indexChar+1)); for(var j=beginIndex;j<=endIndex;j++){

cols[index++] = j;

}

}

else{

cols[index++] = parseInt(colsArr[i]);

}

}

if(tableObj.rows.length>beginRowIndex){

var modelArr = new Array();

for(var i=beginRowIndex;i

var row = tableObj.rows[i];

for(var k=cols.length-1;k>=0;k--){

var j = cols[k];

if(modelArr[j]==undefined){

modelArr[j] = row.cells[j];

}else{

if(row.cells[j].outerText == modelArr[j].outerText){ modelArr[j].rowSpan = modelArr[j].rowSpan + 1;

row.deleteCell(j);

}else{

modelArr[j] = row.cells[j];

}

}

}

}

}

}

/**

* 行上移

*

*minRowIndex 向上移动到的最小行号,默认时零

* Elm 可以缺省,如果当前需要移动的行与激发本函数的位置有比较复杂的关系时,需要自行指名tr对象或者当前行的td对象传入

*

* 返回,移动成功返回true,如果当前时第minRowIndex行则返回false

*/

function moveUp(){

//传入的对象

var minRowIndex = arguments[0]==undefined?0:arguments[0];

//传入的对象

var Elm = arguments[1];

//返回值

var isSuccess = false;

//表格对象

var myTable;

if(Elm==undefined){

Elm=event.srcElement;

}

while(Elm&&Elm.tagName!="TR"){

Elm=Elm.parentElement;

}

//当前行号

var x = Elm.rowIndex;

//获取表格对象

myTable = Elm.parentElement;

if(myTable.tagName!='TABLE'){

myTable = myTable.parentNode;

}

//移到上一行

if (x > minRowIndex){

moveCell(myTable, x, x-1);

isSuccess = true;

}

return isSuccess;

}

/**

* 行下移

*

*minRowIndex 向下移动到表格的倒数几行,默认是零,即表格的最后一行

* Elm 可以缺省,如果当前需要移动的行与激发本函数的位置有比较复杂的关系时,需要自行指名tr对象或者当前行的td对象传入

*

* 返回,移动成功返回true,如果当前时最后一行则返回false

*/

function moveDown(){

//传入的对象

var minRowIndex = arguments[0]==undefined?0:arguments[0];

//传入的对象

var Elm = arguments[1];

//返回值

var isSuccess = false;

//表格对象

var myTable;

if(Elm==undefined){

Elm=event.srcElement;

}

while(Elm&&Elm.tagName!="TR"){

Elm=Elm.parentElement;

}

//当前行号

var x = Elm.rowIndex;

//获取表格对象

myTable = Elm.parentElement;

if(myTable.tagName!='TABLE'){

myTable = myTable.parentNode;

}

var tableLength = myTable.rows.length;

//移到下一行

if (x < tableLength-minRowIndex-1){

moveCell(myTable, x, x+1);

isSuccess = true;

}

return isSuccess;

}

/**

* 行交换,处理了checkbox丢值的问题

*

*myTable 表格对象

* a 行号

* b 行号

*/

function moveCell(myTable, a, b){

var e2 = myTable.rows[a].all.tags("input"); var e3 = myTable.rows[b].all.tags("input"); var arr = [];

//遍历a行的所有input控件

for(i = 0; i < e2.length; i++) {

if(e2[i].type == "checkbox"){

//对所有checkbox控件添加到数组中

arr.push(e2[i], e2[i].checked);

}

}

//遍历b行的所有input控件

for(i = 0; i < e3.length; i++) {

if(e3[i].type == "checkbox"){

//对所有checkbox控件添加到数组中

arr.push(e3[i], e3[i].checked);

}

}

myTable.moveRow(a, b);

//对数组中所有元素获得对象并对引用的对象赋原值

while(arr.length > 0){

arr.shift().checked = arr.shift();

}

}

/**

*替换单元格的样式为传入的单元格样式

*

*tdObj 模板单元格

*targetTdObj 目标替换的单元格

*

*/

function cloneStyle(){

//单元格中对象

var tdObj = arguments[0];

//合并列数

var targetTdObj = arguments[1];

//克隆传入的对象

var tempObj = tdObj.cloneNode(false);

//克隆目标对象

var targetHtml = targetTdObj.innerHTML;

//横向合并的个数

var colspan = targetTdObj.colSpan;

//纵向合并的个数

var rowspan = targetTdObj.rowSpan;

//宽度

var width = targetTdObj.width;

//行对象

var rowObj = tdObj.parentNode;

//替换当前单元格

rowObj.replaceChild(tempObj, targetTdObj);

//for(var i=0;i

tempObj.innerHTML = targetHtml;

tempObj.colSpan = colspan;

tempObj.rowSpan = rowspan;

tempObj.width = width;

}

/**

* 合并单元格,TODO:行合并暂未实现

*

* obj 单元格中对象

* colspan 合并列数

* rowspan 合并的行数

*keepFlag 是否保留每个单元格的值

*/

function combineCell(){

//单元格中对象

var obj = arguments[0];

//合并列数

var colspan = arguments[1]==undefined?1:arguments[1];

//合并的行数

var rowspan = arguments[2]==undefined?1:arguments[2];

//是否保留每个单元格的值

var keepFlag = arguments[3]==undefined?false:arguments[3];

var elementObjs = new Array();

var tdObj = obj.tagName!='TD'?obj.parentNode:obj;

var trObj = tdObj.parentNode;

var tableObj = trObj.parentNode;

if(tableObj.tagName!='TABLE'){

tableObj = tableObj.parentNode;

}

//当前单元格的原来的格式

var colIndex = tdObj.cellIndex;

var rowIndex = trObj.rowIndex;

//

//var colIndexs;

//if(rowspan>1){

// colIndexs = doFetchBaseCols(tableObj,doGetColIndex(obj)); //}

for(var i=colspan-1;i>0;i--){

//alert("i+colIndex="+(i+colIndex));

//alert("trObj.cells.length="+trObj.cells.length);

var tempObj = trObj.cells[i+colIndex].cloneNode(true);

elementObjs[elementObjs.length] = tempObj;

trObj.removeChild(trObj.cells[i+colIndex]);

}

tdObj.colSpan = tdObj.colSpan + colspan - 1;

//alert("keepFlag="+keepFlag);

//alert("elementObjs.length="+elementObjs.length);

//添加每个单元格的对象

if(keepFlag&&elementObjs.length>0){

for(var i=elementObjs.length-1;i>-1;i--){

var tempObj = elementObjs[i];

for(var j=0;j

tdObj.appendChild(tempObj.childNodes[j]);

}

}

}

}

/**

* 对表格新增一行

*

* tableObj 被新增的表格对象

* htmlArr添加内容对象数组,

* htmlCols 每个td的元素对应的colSpan参数,为空则获取之前的Tr信息,否则根据htmlCols生成

* rowIndex 行号默认方式在最后一行新增行,从零开始

*

*返回新增成功、失败

*/

function insertTableRow(){

//表格对象

var tableObj = arguments[0];

//增加对象集

var htmlArr = arguments[1];

//元素的TD的colSpan属性

var htmlCols = arguments[2]==undefined?new Array():arguments[2];

//增加的行位置

var rowIndex = arguments[3];

//根据当前table表的行数,进行参数的处理

if(tableObj==undefined||tableObj.rows==undefined){

rowIndex = 0;

}else if(rowIndex==undefined||rowIndex>tableObj.rows.length){

rowIndex = tableObj.rows.length;

}

//新增行成功标志,默认失败

var isSuccess = doCheckPara(tableObj,htmlArr,htmlCols,rowIndex);

if(isSuccess){

//新增行

//alert("tableObj="+tableObj.rows.length+"\nrowIndex="+rowIndex);

//alert("htmlArr.length="+htmlArr.length);

var newTrObj = tableObj.insertRow(rowIndex);

for(var i=0;i

var cellObj = newTrObj.insertCell(i);

//判断传入参数不为空,添加对象

if(htmlArr[i]!=undefined && htmlArr[i]!=null){

if(htmlArr[i].constructor == Array){

var childHtmlArr = htmlArr[i];

for(var k=0;k

if(typeof(childHtmlArr[k])=='object'){

cellObj.appendChild(childHtmlArr[k]);

}

}

}else{

if(typeof(htmlArr[i])=='object'){

cellObj.appendChild(htmlArr[i]);

}else{

cellObj.innerHTML = htmlArr[i];

}

}

}

if(htmlCols[i]!=undefined && htmlCols[i]!="" && htmlCols[i]!="1"){ cell.colSpan=htmlCols[i];

}

}

isSuccess = true;

}

return isSuccess;

}

/**

* 对表格新增一行

*

* tableObj 被新增的表格对象

* htmlArr 添加内容对象数组,

* htmlRows 每个td的元素对应的rowSpan参数,为空则获取之前的Td信息,否则根

据htmlRows生成

* colIndex 行号默认方式在最后一列新增列(此处的指定列进行插入,在表格中存在rowSpan!=1的情况下会有有问题),从零开始

*

*返回新增成功、失败

*/

function insertTableCol(){

//表格对象

var tableObj = arguments[0];

//增加对象集

var htmlArr = arguments[1];

//元素的TD的rowSpan属性

var htmlRows = arguments[2]==undefined?new Array():arguments[2];

//增加的列位置

var colIndex = arguments[3];

//alert(colIndex);

var baseHtmlCols = doFetchBaseCols(tableObj,colIndex);

//判断返回为undefined,则表示当前不可进行插入操作

if(baseHtmlCols==undefined){

return false;

}

//新增行成功标志,默认失败

var isSuccess = doCheckPara(tableObj,htmlArr,htmlRows,colIndex,false,baseHtmlCols);

if(isSuccess){

//新增行

var rowSpanCount = 0;

var rowIndex = 0;

//alert("htmlArr.length="+htmlArr.length);

for(var

i=0,rowIndex=0;rowIndex

var index = baseHtmlCols[rowIndex];

var cellObj = trObj.insertCell(index);

//判断传入参数不为空,添加对象

if(htmlArr[i]!=undefined && htmlArr[i]!=null){

if(htmlArr[i].constructor == Array){

var childHtmlArr = htmlArr[i];

for(var k=0;k

if(typeof(childHtmlArr[k])=='object'){

cellObj.appendChild(childHtmlArr[k]);

}

}

}else{

if(typeof(htmlArr[i])=='object'){

cellObj.appendChild(htmlArr[i]);

}else{

cellObj.innerHTML = htmlArr[i];

}

}

}

if(htmlRows[i]!=undefined && htmlRows[i]!="" && htmlRows[i]!="1"){ cellObj.rowSpan=htmlRows[i];

}

//alert(htmlRows[0]+"\n"+htmlRows[1]+"\n"+htmlRows[2]+"\n"+htmlRows[3]+"\n");

//跳过已经被合并的行

rowIndex = rowIndex + (htmlRows[i]!=undefined?parseFloat(htmlRows[i]):1);

//alert(rowIndex);

}

isSuccess = true;

}

return isSuccess;

}

/**

*获取表格中一行的元素,对象数组,返回单元格对象数组、单元格的第一个子对象数组

*

* tableObj 表格对象

* rowIndex 获取的行号,从零开始

* isCopy 获取copy对象,默认为false,不进行copy

* isCellObj 获取单元格对象数组标志,,默认为false,返回单元格的子对象

*/

function doGetRowObj(){

var objArr = new Array();

//表格对象

var tableObj = arguments[0];

//增加对象集

var rowIndex = arguments[1];

//是否获取COPY对象

var isCopy = arguments[2]==undefined?false:arguments[2];

//是否为单元格对象

var isCellObj = arguments[3]==undefined?false:arguments[3];

//c判断为当前为拷贝时

if(isCopy){

//var copyTable = document.body.createTextRange();

//copyTable.moveToElementText(tableObj);

var memeoryTable = tableObj.cloneNode(true);

tableObj = memeoryTable;

}

//判断对象为空或者不是一个表格对象时

if(tableObj==undefined || tableObj.tagName!="TABLE"){

alert("传入表格(tableObj)不是一个对象或表格!");

return objArr;

}

//判断表格内容为空时

if(tableObj.rows==undefined||tableObj.rows.length==0){

alert("当前表格对象为空!");

return objArr;

}

//判断要读取的行参数为空

if(rowIndex==undefined){

alert("未指名获取的行号!");

return objArr;

}

//判断当前要获取的行超过表格对象的范围

if(rowIndex<0 || rowIndex>=tableObj.rows.length){

alert("要获取的行号不在当前的表格对象内!");

return objArr;

}

//进行行内容提取,返回对象

var rowObj = tableObj.rows[rowIndex];

for(var i=0;i

var cellObj = rowObj.cells[i];

var objCopy;

//返回当前单元格

if(isCellObj){

objCopy = cellObj;

}

else{

objCopy = cellObj.childNodes!=undefined?cellObj.childNodes[0]:undefined;

}

objArr[i] = objCopy;

}

return objArr;

}

/**

*进行列或者行插入前的check,如果默认的colSpan与rowSpan不存在则根据行去前一行、列取前一列的思路获取默认值

*

* tableObj 表格对象

* htmlArr 内容对象数组,

* htmlSpan 元素的TD的colSpan、rowSpan属性

* index 行号增加的行、列位置,从零开始

*/

function doCheckPara(){

//表格对象

var tableObj = arguments[0];

//增加对象集

var htmlArr = arguments[1];

//元素的TD的colSpan、rowSpan属性

var htmlSpan = arguments[2];

//增加的行、列位置

var index = arguments[3];

//alert("tableObj="+tableObj+"\nhtmlArr.length="+htmlArr.length+"\nhtmlSpan.leng

th="+htmlSpan.length+"\nindex="+index);

//新增列、行标志,默认为行追加

var isRowInsert = arguments[4]==undefined?true:false;

var baseHtmlCols = arguments[5];

//新增行成功标志,默认失败

var isSuccess = false;

if(tableObj==undefined||tableObj.tagName!="TABLE"){

alert("传入表格(tableObj)不是一个对象或表格!");

return isSuccess;

}

//传入的为表格

else{

//验证逻辑上的错误

if(htmlArr==undefined){

alert("传入的对象数组(htmlArr)为空或未定义!");

return isSuccess;

}else if(htmlSpan.length>0 && htmlSpan.length!=htmlArr.length){

alert("传入的属性(htmlCols)与增加对象集(htmlArr)的长度不等!"); return isSuccess;

}

//行追加

if(isRowInsert){

var tableRowLength = tableObj.rows!=undefined?tableObj.rows.length:0;

//设置初始值

//设置元素对应的colSpan的属性,默认取当前要插入行的前一行的属性

if(htmlSpan.length==0 && index>0 && index

//获取临近一行对象

var lastTrObj = tableObj.rows[index-1];

//获取默认TD样式与当前存入元素不对应,无法插入

if(lastTrObj.childNodes.length!=htmlArr.length){

alert("插入失败,获取默认单元格的colSpan属性的个数与传入

对象的个数不相等!");

return isSuccess;

}else {

for(var i=0;i

var cellObj = lastTrObj.childNodes[i];

//列属性

htmlSpan[i] = cellObj.colSpan!=undefined?cellObj.colSpan:"1";

}

}

}

}

//列追加时

else{

var tableRowLength = tableObj.rows!=undefined?tableObj.rows.length:0;

if(index!=undefined && index>0 && htmlSpan.length==0){

for(var i=0,k=0;i

if(baseHtmlCols[i]!=undefined && baseHtmlCols[i]>0){ var lastTrObj = tableObj.rows[i];

//alert("baseHtmlCols[i]="+baseHtmlCols[i]);

//alert("lastTrObj.cells.length="+lastTrObj.cells.length);

var lastTdRowSpan = lastTrObj.cells[parseInt(baseHtmlCols[i])-1].rowSpan;

htmlSpan[k++] = lastTdRowSpan;

}

}

if(htmlSpan.length!=htmlArr.length){

alert("插入失败,获取默认单元格的rowSpan属性的个数与传入对象的个数不相等!");

return isSuccess;

}

}

}

}

isSuccess = true;

return isSuccess;

}

/**

*获取表格在指定列在实际行中位置

*

*tableObj 表格对象(必须项)

*index 指定的列,数值(必须项),从零开始

项目管理常用表格模板[1]1

项目需求建议书(RFP) A. 项目信息 提供关于项目名称、客户名称、项目经理以及项目发起人姓名等方面的一般信息 项目名称:客户名称:项目经理:文件起草人:项目发起人:日期: B. 项目目标 描述完成项目的时间、质量要求等方面的信息 C. 工作描述(SOW) 描述执行项目的具体工作 D. 可交付结果 描述执行项目的阶段,完成项目任务的主要交付结果等方面的信息 E. 合同类型 描述使用哪种性质的合同

F. 付款方式 描述付款的时间、金额、币种、方式等 G. 建议书的内容 描述建议书应包括的具体内容 H. 建议书的评价标准 描述评价建议书的主要标准,包括价格、技术方案、项目管理方法、经验与资质等方面 I. 提交建议书的时间、地点要求 描述建议书的截止日期、提交的地点等信息

A. 项目信息 提供项目名称、客户名称、项目经理以及项目发起人姓名等与项目相关的一般信息 项目名称:客户名称:项目经理:授权书起草人:项目发起人:日期: B. 项目授权书 描述项目的工作任务,被任命的项目经理的姓名,项目经理的职责、权力等方面的信息

A. 项目信息 提供项目名称、客户名称、项目经理以及项目发起人姓名等与项目相关的一般信息 项目名称:客户名称:项目经理:文件起草人:项目发起人:日期: 项目关系人名单 列出项目执行过程中涉及的相关人员的信息

公司名称: B. 项目概述 提供关于项目需要解决的问题、项目的工作任务、项目目标、项目管理采用的方法等的信息业务需求/难题 工作描述 项目目标

项目管理方法 C. 技术要求 提供关于项目的技术参数、性能指标、设计要求、实施规范以及技术方面的培训计划等的信息 D. 相关人员签名

项目管理工具表格

目录 项目目标管理的模型/ 1 项目目标管理的SMART原则/ 3 项目策划书模板/ 5 项目立项书(见表4-1)/ 8 项目申请表(见表4-2)/ 9 项目需求分析表(见表4-3)/ 11 项目需求调查表(见表4-4)/ 12 项目范围说明书(见表4-5)/ 13 项目任务书(见表4-6)/ 14 项目内部验收报告(见表4-7)/ 15 项目外部验收报告(见表4-8)/ 16 项目成果移交报告(见表4-9)/ 17 撰写项目进度报告/ 18 项目进度控制/ 20 工作计划管理表(见表7-1)/ 28 项目模块设计计划书(见表7-2)/ 29 项目进度计划书(见表7-3)/ 30 项目进度执行情况考核表(见表7-4)/ 31 项目关键性阶段计划及执行情况表(见表7-5)/ 32 项目完成情况表(见表7-6)/ 33 项目工作周报表(见表7-7)/ 34 项目工作月报表(见表7-8)/ 35 项目管理跟踪报告表(见表7-9)/ 36 偏差状态跟踪表(见表7-10)/ 37 项目进度偏差分析表(见表7-11)/ 38 项目重大缺陷详单(见表7-12)/ 39 项目变动报告(见表7-13)/ 40 项目变更状态统计表(见表7-4)/ 41 项目变更影响因素分析表(见表7-15)/ 42 编制项目成本预算/ 43 预算调整控制的方法/ 45 项目成本核算制度范本/ 47 项目成本估算表(见表12-1)/ 49 基于费用的成本估算表(见表12-2)/ 50 基于模块的成本估算表(见表12-3)/ 51 项目目标成本预算基本表(见表12-4)/ 52 项目成本偏差控制表(见表12-5)/ 53 固定资产折旧提取表(见表12-6)/ 54

施工管理常用表格

中国石油(土库曼斯坦)阿姆河天然气公司 寰球工程项目管理(北京)有限公司 编制校核审核

目录 1. 目的............................................................... - 2 - 2. 范围............................................................... - 2 - 3. 编制依据........................................................... - 2 - 4. 常用表格分类....................................................... - 2 - 4.1 A类表(承包商用表) ................................................ - 2 - 4.2 B类表(PMC用表) ................................................... - 2 - 4.3 各方通用表........................................................ - 3 - 5. 表格用词用语说明................................................... - 3 -

施工管理常用表格 1. 目的 规范土库曼斯坦巴格德雷合同区域二期地面工程建设的施工管理常用表格的使用,使二期地面工程建设的各相关方施工管理过程有据可依,规范管理人员和参建承包商的施工行为,保证工程的施工活动有序开展。 2. 范围 本表格适用于土库曼斯坦巴格德雷合同区域二期地面工程项目。 3. 编制依据 1)项目质量管理手册。 2)国家、行业现行施工及验收技术标准、规范。 3)国家、行业现行工程质量检验评定标准。 4)建设工程监理规范。 4. 常用表格分类 4.1 A类表(承包商用表) A1 工程开工/复工报审表 A2-1 施工组织设计报审表 A2-2 施工方案报审表 A3 分包单位资格报审表 A4 报验申请表 A5 专业工程师通知回复单 A6 工程临时延期申请表 A7 费用索赔申请表 A8 工程材料构配件/设备报审表 A9 工程竣工报验单 4.2 B类表(PMC用表) B1 专业工程师通知单 B2 工程暂停令 B3 工程临时延期审批表

建筑工程项目管理表格大全(382页-直接套用)

工程项目 管理表格大全

说明 此表格是专为项目管理人员尤其是工程项目管理人员配备的全套项目管理表格。这套表格是《工程项目管理实务:范式、方法与管理表格》的作者从事多年项目管理研究并从实际企业运作中总结出来的。 具体应用时,可根据自己管理的项目的具体情况进行修改、调整。

表格目录 I项目经理部15项目部人员任职审批表 (16) 分部及部门会签单 (17) 部门职责分配表 (18) 会议签到表 (19) 职务说明书(一) (20) 职务说明书(二) (21) 工作内容说明书 (22) 职务调整说明书 (23) 职位说明书 (24) 综合工作情况表 (25) 职务分配表 (26) 部门工作分类表 (27) 部门工作分配表 (28) 临时工雇用资料表 (29) 出差申请单 (30) 出差旅费清单 (31) 出差旅费报销单 (32) 员工调动、退场移交手续清单 (33) 员工花名册 (34) 员工工时记录簿 (35) 工人加班申请单 (36) 加班费申请单 (37) 员工辞职申请书 (38) 员工离职通知书 (39) 内部员工调配单 (40) 员工教育培训计划 (41) 月度(月)劳务用工工资计划核定表 (42) 员工登记表 (43) 临时(协议)工考核表 (44)

员工持证上岗登记表 (45) 员工考核表 (46) 特种作业人员培训发证登记表 (47) 员工招聘申请书 (48) 员工考核评分表 (49) 中层管理干部月度(月)考核表 (50) 管理、技术、后勤岗位员工月度(月)考核表 (51) 生产班组员工日清考核表 (53) 生产班组员工月度()月考核表 (54) 当日部门人员的行动及工作情况表 (55) 一天的业务管理检查表 (56) 持续改进(或存在的问题点改正)表 (57) 当日最重要的业务重点 (58) 每日行动管理表 (59) 合理化建议 (60) 合理化建议方案采用通知单 (61) 合理化建议(提案)登记表 (62) 合理化建议(提案)改进成果报告表 (64) 合理化建议(提案)改进登记表 (65) II项目进度控制 (64) 项目施工生产完成情况 (65) 月度(月)建筑安装施工作业计划 (66) 季度(第季度)建筑安装施工作业计划 (67) 年度(年)建筑安装施工作业计划 (68) 工程项目施工作业总进度计划 (69) 施工组织设计报审表 (70) 承包人申报表 (71) 工程开工申请单 (72) 承包人每周工作计划 (73) 周完成统计表 (74) 设计变更申报表 (75) 延长工期申报表 (76)

项目管理表格

01 项目组成员表 Project Team Members 一、项目基本情况I. Project Basic Info 项目名称project name:T客户考察公司项目编号project code:T0808 制作人prepared by:张三审核人reviewed by:李四 项目经理project manager:张三制作日期data:2005-7-8 二、项目组成员II. Project Team Directory 成员姓名Name 项目角色 Project Role 所在部门 https://www.sodocs.net/doc/a913141617.html, 职责 Reponsibility 项目起止日 期Data 投入频度及 工作量Time 联系电话 Tel No. 主管经理 Supervisor 李四项目赞助人 Sponsor A国代表处项目赞助 张三项目经理 Manager VIP客户接 待策划处 总体负责 王五项目核心成员 Core team A国代表处客户关系 赵六项目核心成员 Core team GTS重大项目部 吴丹项目核心成员 Core team 供应链管理 部 供应链支持 刘峰项目核心成员 Core team PSMT固网 产品线 研发支持 张芳项目核心成员 Core team 客户工程部客户接待 XXX 项目非核心成员 extended team VIP客户接 待策划处 接待策划 XXX 项目非核心成员 extended team 固网产品国 际行销部 产品技术支 持 XXX 项目非核心成员 extended team GTS重大项 目部 技术服务支 持 XXX 项目非核心成员 extended team 供应链管理 部 供应链支持 XXX 项目其他人员 Other personel A国代表处客户关系 XXX 项目其他人员 Other personel 客户工程部客户接待 签字signature:日期date: 项目赞助人Sponsor 李四2005-7-8 项目经理project manager 张三2005-7-8

公司项目管理制度及表格表格.格式

项目管理制度 (VER:01-11-01) 第一章总则 第一条贯彻公司以市场为中心的基本思想,理顺项目管理中人、财、物的关系,明确工作责任,充分体现人尽其才,物尽其用的原则,遵照国家有关规定和公司其他有关规定,特制定本制度。 第二章定义 第二条遵循项目经理负责制的原则,通过项目经理和项目组织的努力,运用系统的理论和方法对特定项目及其相关可利用资源进行计划、组织、协调、控制,以实现项目的预定目标。 第三条适用范围 1、硬件工程:除纯硬件销售之外的硬件项目,包括网络设备安装工程、综合 布线工程、监控产品的安装工程等。 2、软件工程:凡公司自行开发及代理软件项目,包括OA系统、MIS系统, 电子商务软件,企业的MRP、MRPII、ERP等。 3、综合性工程:划分为硬件分项工程、软件分项工程实施管理。 4、其他应该实行项目管理的工程。 第四条名词解释 1、项目业务经理:在项目签约以前的项目经理,主要负责完成项目的前期需 求调研及总体设计方案,从项目的前期公关、跟踪,直至项目的签约。 2、项目实施经理:在项目签约之后的项目经理,主要负责项目的详细调研及 详细设计方案,从实施计划的制定、执行,直至项目的完工验收。 3、责任业务员:按公司有关规定,与项目成败具有直接利益关系的人员。

第三章流程 第五条 第六条 第七条 第八条 第九条 第十条适用范围:销售中心 第十一条业务信息的管理 1、任务:项目信息调研,收集、汇总项目业务信息 2、工作流程:业务员每日部门经理汇报 部门经理每日市场总监汇报 市场总监每周总经理汇报 3、形式:口头、书面、随时报告;晨会、行政例会 4、报表:《意向客户日报表》、《意向客户周报表》

关于项目管理的管理表格

关于项目管理的管理表格 工作任务分解表(WBS ) 项目经理: 日期: 简要说明:1。工作细化的程度根据实际可操作性(有利于估算时间、便于估算成本、有利于责任分配落实、有利于形成里程碑或可交付物)2.所列出的工作应该至少影响到如下因素之一:成本、时间、质量,一些常规性的如会议、一个工作包内的再设计、再实验等不必列出。 注:类似形式的表格可以作“项目成本分解估算表” “产品功能分解表”。 工作任务说明表 项目名称: 制订时间: 工作包(WP )任务分派表

项目人力资源及责任矩阵表 项目经理:时间:符号说明:○---满荷工作◎—间断性工作□---具体工作日期待此工作开始时确定 注:此表格仅仅是个示意的形式,具体的条目、形式、标记及其意义由项目经理根据实际方便性来具体的确定。 项目计划综合图 项目经理:财务:批准: 时间:时间:时间: 注解:本表格是Gantt图的加强形式,任务中有紧前、紧后关系的要用首尾连接线连之并标上箭头方向;经费标尺主要标明项目按时间累计花费的金额数及到某日一共花费了多少(或说需要多少)用符号打上点标并标明数额然后用直线连接。里程碑标尺点和会议也在相应日期上打上标记并标上代号,然后对会议、里程碑代号做详细说明(会议详细说明表、里程碑详细说明表) 重要会议详细说明表 项目名称:制订日期:

项目经理:时间 里程碑详细说明表 项目经理:时间: ××××项目里程碑跟踪图(例,可用Visio画之) □A里程碑和代号;×预期与更改后预期的里程碑日期; ○实际里程碑日期计划时间差计划网络图(略) 失效模式和影响分析法(FMEA)用表(供参考)

项目管理制度及表格

第一章总则 第一条贯彻公司以市场为中心的基本思想,理顺项目管理中人、财、物的关系,明确工作责任,充分体现人尽其才,物尽其用的原则,遵照国家有关规定和公司其他有关规定,特制定本制度。 (VER:01-11-01) 项目管理制度 第二章定义 第二条遵循项目经理负责制的原则,通过项目经理和项目组织的努力,运用系统的理论和方法对特定项目及其相关可利用资源进行计划、组织、协调、控制,以实现项目的预定目标。 第三条适用范围 1、硬件工程:除纯硬件销售之外的硬件项目,包括网络设备安装工程、 综合布线工程、监控产品的安装工程等。 2、软件工程:凡公司自行开发及代理软件项目,包括OA系统、MIS 系统,电子商务软件,企业的MRP、MRPII、ERP等。 3、综合性工程:划分为硬件分项工程、软件分项工程实施管理。 4、其他应该实行项目管理的工程。 第四条名词解释 1、项目业务经理:在项目签约以前的项目经理,主要负责完成项目的 前期需求调研及总体设计方案,从项目的前期公关、跟踪,直至项 目的签约。 2、项目实施经理:在项目签约之后的项目经理,主要负责项目的详细 调研及详细设计方案,从实施计划的制定、执行,直至项目的完工 验收。 3、责任业务员:按公司有关规定,与项目成败具有直接利益关系的人

员。

第三章流程 第五条项目准备 1、业务信息的管理 2、意向客户的确定 第六条项目立项 1、立项 2、跟踪 3、签约 第七条项目实施 1、确定实施小组 2、制定实施计划 3、编制项目预算 4、执行实施计划 5、协助项目决算 6、项目内部评审 7、完成竣工验收 8、提交竣工文档 第八条项目终止 第九条项目文件归档 第四章项目准备 第十条适用范围:销售中心 第十一条业务信息的管理 1、任务:项目信息调研,收集、汇总项目业务信息 2、工作流程:业务员每日部门经理汇报 部门经理每日市场总监汇报 市场总监每周总经理汇报 3、形式:口头、书面、随时报告;晨会、行政例会 4、报表:《意向客户日报表》、《意向客户周报表》

项目管理表格模板(全面完整版)

项目管理表格模板完整版 2020年 [66页]

第一章启动过程组表格 (3) 项目章程 (3) 干系人登记簿 (6) 干系人分析矩阵 (7) 第二章规划过程组表格 (8) 范围管理计划书 (10) 需求管理计划 (11) 需求文件 (12) 需求跟踪矩阵 (13) 内部需求跟踪矩阵 (13) 项目范围说明书 (14) 假设和制约日志 (14) WBS (15) WBS 词典 (15) 进度管理计划 (16) 活动清单 (16) 活动属性 (17) 里程碑清单 (17) 网络图 (17) 活动资源需求表 (18) 资源分解结构 (18) 活动持续时间估算 (19) 活动持续时间估算工作表 (19) 项目进度计划 (20) 成本管理计划 (20) 活动成本估算 (20) 成本估算工作表 (21) 自下而上成本估算工作表 (21) 成本基准 (22) 质量管理计划 (22) 质量测量指标 (22) 过程改进计划 (23) 责任分配矩阵 (24) 角色和职责 (25) 人力资源管理计划 (25) 沟通管理计划 (26) 风险管理计划 (26) 风险登记册 (28)

风险概率和影响评估 (29) 概率和影响矩阵 (31) 风险数据表 (32) 采购管理计划 (33) 供方选择标准 (34) 干系人管理计划 (35) 变更管理计划 (36) 第三章执行过程组表格 (37) 团队成员状态报告 (37) 变更请求 (38) 变更日志 (40) 决策日志 (41) 质量审计 (42) 团队名录 (42) 团队运作协议 (43) 团队绩效评价 (44) 团队成员绩效评估 (45) 问题日志 (46) 第四章监控过程组表格 (47) 项目绩效报告 (47) 偏差分析 (48) 挣值状态报告 (49) 风险审计 (50) 合同方状态报告 (51) 正式验收表 (53) 第五章收尾过程组表格 (54) 采购审计 (54) 合同签收 (55) 项目签收 (56) 经验教训 (58)

项目管理表模板

项目管理表模板 ________________________________________________ A. 项目信息 提供关于项目名称、客户名称、项目经理以及项目发起人姓名等方面的一般信息 项目名称:客户名称: 项目经理:文件起草人: 项目发起人:日期: B. 项目目标 描述完成项目的时间、质量要求等方面的信息 C. 工作描述(SOW) 描述执行项目的具体工作 D. 可交付结果 描述执行项目的阶段,完成项目任务的主要交付结果等方面的信息 E. 合同类型 描述使用哪种性质的合同

F. 付款方式 描述付款的时间、金额、币种、方式等 G. 建议书的内容 描述建议书应包括的具体内容 H. 建议书的评价标准 描述评价建议书的主要标准,包括价格、技术方案、项目管理方法、经验与资质等方面 I. 提交建议书的时间、地点要求 描述建议书的截止日期、提交的地点等信息

项目授权书 A. 项目信息 提供项目名称、客户名称、项目经理以及项目发起人姓名等与项目相关的一般信息 项目名称:客户名称:项目经理:授权书起草人:项目发起人:日期: B. 项目授权书 描述项目的工作任务,被任命的项目经理的姓名,项目经理的职责、权力等方面的信息授权书发出人姓名:职务: 授权书接受人姓名:职务: 抄送人:职务: 项目任务描述 项目经理的职责 项目经理的权力

授权人职务:签字: 项目计划文件 A. 项目信息 提供项目名称、客户名称、项目经理以及项目发起人姓名等与项目相关的一般信息 项目名称:客户名称: 项目经理:文件起草人: 项目发起人:日期: 请回答如下问题并做出选择 这是更新后的项目计划吗?如果是,更新的原因是: 是否项目的年度预算是否提供?如果是,每年度是多少? 预算额:年度:资金到位了吗? 是否预算额:年度:资金到位了吗? 是否预算额:年度:资金到位了吗? 是否 项目关系人名单 列出项目执行过程中涉及的相关人员的信息 职务姓名电话E-mail 项目经理 项目发起人 技术总负责人 采购负责人 项目小组成员 项目小组成员 项目小组成员 项目小组成员 项目小组成员 项目小组成员 项目小组成员 客户代表

相关主题