public static void GetProjectContent(string pssid, ref string isConstruction, out string stageName, out string pname, out string psid, out string sDateStr, out string eDateStr, out string showContent, out string showItem, out string frozencolumns, out string column) { stageName = ""; pname = ""; psid = ""; sDateStr = ""; eDateStr = ""; showContent = ""; showItem = ""; frozencolumns = ""; column = ""; DataSet ds; DataTable dt = new DataTable(); ds = new BLL.Common().GetList("select project.sid as psid, project_name,project_code,stage_name,Convert(varchar(10),begin_date,120) begin_date,Convert(varchar(10),end_date,120) end_date,project_stage.is_system,project.v1,dbo.getUserNames_fu(project.v1) as v1Users,project.v2,dbo.getUserNames_fu(project.v2) as v2Users from project_stage left outer join project on project_stage.p_sid=project.sid where project_stage.sid='" + pssid + "'"); string user = ""; DataTable userdt = new BLL.Common().GetList("select UserName,Name from baseuser where Permissions=1 order by name ").Tables[0]; DataRow newdr = userdt.NewRow(); newdr["UserName"] = ""; newdr["Name"] = "请选择"; userdt.Rows.InsertAt(newdr, 0); user = DBUtility.JsonHelper.DataTable2Json_Combo(userdt).Replace('\"', '\''); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } if (dt.Rows.Count > 0) { isConstruction = dt.Rows[0]["is_system"].ToString().Trim(); stageName = dt.Rows[0]["stage_name"].ToString().Trim(); pname = dt.Rows[0]["project_name"].ToString().Trim(); psid = dt.Rows[0]["psid"].ToString().Trim(); //动态添加实施列 //主管审核人 string dnyV1 = ""; dnyV1 = ",{title: '',field:'v1',width:80, halign:'center', align:'center',formatter:function(value,row){return row.header;},editor:{type:'combobox', options: { data: " + user + ", valueField: 'UserName', editable: false, textField: 'Name',required: true, missingMessage: '必填'}}}"; //总审人 string dnyV2 = ""; dnyV2 = ",{title: '',field:'v2',width:80, halign:'center', align:'center',formatter:function(value,row){return row.finaler;},editor:{type:'combobox', options: { data: " + user + ", valueField: 'UserName', editable: false, textField: 'Name',required: true, missingMessage: '必填'}}}"; //工作种类及人员 string dynImp = "", dynImpUser = "", dynDay = "", dynWeek = ""; DataTable impDT = new DataTable(); DataSet impDS = new BLL.project_implement().GetList(" s_sid='" + pssid + "' order by sequence"); if (impDS.Tables.Count > 0) { impDT = impDS.Tables[0]; for (int i = 0; i < impDT.Rows.Count; i++) { string[] dynImpUserArr = impDT.Rows[i]["impUsers"].ToString().Trim().Split(','); string[] dynImpUidArr = impDT.Rows[i]["implementers_sid"].ToString().Trim().Split(','); dynImp += ",{title:'" + impDT.Rows[i]["implement_name"].ToString().Trim() + "',rowspan:2,colspan:" + (dynImpUserArr.Length > 0 ? dynImpUserArr.Length : 1) + "}"; dynImpUser += ",{title: '" + impDT.Rows[i]["impUsers"].ToString().Trim() + "',field:'imp_" + impDT.Rows[i]["sid"].ToString().Trim() + "',width:80, halign:'center', align:'center',formatter:function(value,row){return row.Abbr_imp_" + impDT.Rows[i]["sid"].ToString().Trim() + ";},editor:{type:'combobox', options: { data: " + user + ", valueField: 'UserName', editable: false, textField: 'Name'}}}"; } } else { dynImp = ",{title:'',rowspan:2}"; dynImpUser = "******"; } //工作日历 string cols = "1"; string monthstr = ""; string tmp = dt.Rows[0]["begin_date"].ToString().Trim(); if (dt.Rows[0]["begin_date"].ToString().Trim() != "" && dt.Rows[0]["end_date"].ToString().Trim() != "" && dt.Rows[0]["begin_date"] != null && dt.Rows[0]["end_date"] != null) { sDateStr = dt.Rows[0]["begin_date"].ToString().Trim(); eDateStr = dt.Rows[0]["end_date"].ToString().Trim(); DateTime sDate = DateTime.Parse(dt.Rows[0]["begin_date"].ToString().Trim()); DateTime eDate = DateTime.Parse(dt.Rows[0]["end_date"].ToString().Trim()); TimeSpan ts = eDate.AddDays(1).Subtract(sDate); if (sDate.Month == eDate.Month) { monthstr = sDate.Month.ToString() + "月"; } else { monthstr = sDate.Month.ToString() + "-" + eDate.Month.ToString() + "月"; } cols = ts.Days.ToString(); for (int i = 0; i < ts.Days; i++) { dynDay += ",{title: '" + sDate.AddDays(i).Day.ToString() + "'}"; string w = ""; switch (sDate.AddDays(i).DayOfWeek) { case DayOfWeek.Sunday: w = "日"; break; case DayOfWeek.Monday: w = "一"; break; case DayOfWeek.Tuesday: w = "二"; break; case DayOfWeek.Wednesday: w = "三"; break; case DayOfWeek.Thursday: w = "四"; break; case DayOfWeek.Friday: w = "五"; break; case DayOfWeek.Saturday: w = "六"; break; } dynWeek += ",{title:'" + w + "',field:'flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "',width:30,halign:'center',align:'center',styler: function(value,row,index){if(row['flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==null)return '';var font='';if(row['flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "'].length>3)font='font-size:8px;';if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==1){return 'background-color:yellow;'+font}else if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==2){return 'background-color:green;'+font}else{return ''}},editor:'text'}"; } } else { monthstr = ""; dynDay = ",{title: '',rowspan:1}"; dynWeek = ",{title: '',field:'w'}"; } //int work_width = 200; //int showCount = 15; //if (int.Parse(cols) * 30 > 200) //{ // work_width = int.Parse(cols) * 30; // if (work_width > 200) // { // showCount = showCount + ((work_width - 200) * 3 / 30); // } //} int work_width = 30; int showCount = 2; if (int.Parse(cols) * 30 > 30) { work_width = int.Parse(cols) * 30; if (work_width > 30) { showCount = showCount + ((work_width - 30) * 2 / 30); } } //string calendarStr = ""; string showGroup = "true"; string showWorkTitle = ""; string widthContent = "200"; string widthItem = "200"; switch (isConstruction) { case "1": showContent = "空间"; showItem = "图纸及索引号"; string flow = ""; DataTable tmpDT = new DataTable(); DataSet tmpDS = new BLL.project_work_flow().GetList(" s_sid='" + pssid + "'"); if (tmpDS.Tables.Count > 0) { tmpDT = tmpDS.Tables[0]; } for (int i = 0; i < tmpDT.Rows.Count; i++) { flow += (i + 1).ToString() + "." + tmpDT.Rows[i]["work_flow_name"].ToString().Trim() + ","; } string workTitle = monthstr + "(施工图立面框架" + flow + "(计划表中实际完成时间将用绿色色块做的标志))"; showWorkTitle = ""; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } break; case "0": showContent = "工作内容"; showItem = "细目"; showGroup = "false"; workTitle = monthstr + "(黄色色块代表完成这项工作所需要的完成时间,计划表中实际完成时间将用绿色色块做标记)"; showWorkTitle = ""; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } break; case "2": showContent = "货物类别"; showItem = "工作细目"; showWorkTitle = monthstr; break; case "3": showContent = "商品类别"; showItem = "细目"; workTitle = "智创产品逐个跟踪+" + pname; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } break; case "4": showContent = "加工类别"; showItem = "工作细目"; workTitle = monthstr + "(进程计划)"; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } widthContent = "80"; break; default: break; } if (isConstruction != "3") { frozencolumns += "[["; frozencolumns += "{ title: '小组', field: 'group_name', width: 60, rowspan:3, halign: 'center', align: 'center',hidden:" + showGroup + ",editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '" + showContent + "', field: 'contentName', width: " + widthContent + ", rowspan:3,halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';},editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '" + showItem + "', field: 'itemName', width: " + widthItem + ",rowspan:3, halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';},editor:'text'}"; frozencolumns += "]]"; column += "[["; column += "{ title: '月'}"; column += ",{ title: '" + showWorkTitle + "',colspan:" + cols + "}"; column += dynImp; //column += ",{ title: '组长审核', rowspan:2,colspan:"+(v1UidArr.Length>0?v1UidArr.Length:1)+", halign: 'center', align: 'center'}"; column += ",{ title: '组长审核', rowspan:2,colspan:1, halign: 'center', align: 'center'}"; column += ",{ title: '未完成的原因', field: 'unfinished_reason', width: 60,rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; column += ",{ title: '解决的办法', field: 'solution', width: 60, rowspan:3, halign:'center', align:'center',editor:{type:'diseditText'}}"; column += ",{ title: '解决的结果', field: 'reviewed', width: 60, rowspan:3, halign:'center', align:'center',editor:{type:'diseditText'}}"; //column += ",{ title: '总审', rowspan:2,colspan:" + (v2UidArr.Length > 0 ? v2UidArr.Length : 1) + ", halign: 'center', align: 'center'}"; column += ",{ title: '总审', rowspan:2,colspan:1, halign: 'center', align: 'center'}"; column += ",{ title: '备注', field: 'remark', width: 60, rowspan:3,halign: 'center', editor: 'text',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += "],"; column += "["; column += "{ title: '日'}"; column += dynDay; column += "],["; column += "{ title: '星期', field: 'week',width:40,halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';},editor:{type:'diseditText'}}"; column += dynWeek; column += dynImpUser; column += dnyV1; column += dnyV2; column += "]]"; } else { frozencolumns += "[["; frozencolumns += "{ title: '编号', field: 'number', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '细目', rowspan:1, colspan:3, halign: 'center', align: 'center'}"; frozencolumns += ",{ title: '漆面颜色', field: 'paintColor', width: 100, rowspan:3, halign: 'center', align: 'center',editor:{type:'text'}}"; frozencolumns += ",{ title: '应用空间', field: 'useSpace', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '应用数量', field: 'spaceCount', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '安装位置', field: 'install', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '应用部位', field: 'usePart', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '单位', field: 'unit', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '数量', field: 'amount', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '油漆色板编号', field: 'paintPaletteNumber', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '加工类别', field: 'contentName', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '备注', field: 'remark', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'text'}}"; frozencolumns += ",{ title: '工作明细', field: 'itemName', width: 60, rowspan:3, halign: 'center', align: 'center',editor:{type:'text'}}"; frozencolumns += "]"; frozencolumns += ",["; frozencolumns += "{ title: '项目产品名称', field: 'productName', width: 100, rowspan:2, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '图片', field: 'productPic', width: 100, rowspan:2,halign: 'center', align: 'center'," + "formatter: function (value, rowData, rowIndex) {" + "if (value != '') {" + " return \\\"<a path='../ProductPic/\\\" + value + \\\"' class='preview'><img alt='' height='45px' src='/ProductPic/\\\" + value + \\\"'></a>\\\";" + "}" + "}}"; frozencolumns += ",{ title: '规格', field: 'Specifications', width: 60, rowspan:2,halign: 'center', align: 'center',editor:{type:'diseditText'}}"; frozencolumns += "]]"; column += "[["; column += "{ title: '月'}"; column += ",{ title: '" + showWorkTitle + "',colspan:" + cols + "}"; column += dynImp; //column += ",{ title: '组长审核', rowspan:2,colspan:"+(v1UidArr.Length>0?v1UidArr.Length:1)+", halign: 'center', align: 'center'}"; column += ",{ title: '组长审核', rowspan:2,colspan:1, halign: 'center', align: 'center'}"; column += ",{ title: '未完成的原因', field: 'unfinished_reason', width: 60,rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; column += ",{ title: '解决的办法', field: 'solution', width: 60, rowspan:3, halign:'center', align:'center',editor:{type:'diseditText'}}"; column += ",{ title: '解决的结果', field: 'reviewed', width: 60, rowspan:3, halign:'center', align:'center',editor:{type:'diseditText'}}"; //column += ",{ title: '总审', rowspan:2,colspan:" + (v2UidArr.Length > 0 ? v2UidArr.Length : 1) + ", halign: 'center', align: 'center'}"; column += ",{ title: '总审', rowspan:2,colspan:1, halign: 'center', align: 'center'}"; column += ",{ title: '备注', field: 'remark', width: 60, rowspan:3,halign: 'center', editor: 'text',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += "],"; column += "["; column += "{ title: '日'}"; column += dynDay; column += "],["; column += "{ title: '星期', field: 'week',width:40,halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';},editor:{type:'diseditText'}}"; column += dynWeek; column += dynImpUser; column += dnyV1; column += dnyV2; column += "]]"; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { type = Request.Params["type"] == null ? "" : Request.Params["type"].Trim(); pssid = Request.Params["ps_sid"] == null ? "" : Request.Params["ps_sid"].Trim(); DataTable dt = new DataTable(); DataSet ds = new BLL.Common().GetList("select project.sid as psid, project_name,project_code,stage_name,begin_date,end_date,project_stage.is_system from project_stage left outer join project on project_stage.p_sid=project.sid where project_stage.sid='" + pssid + "'"); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } if (dt.Rows.Count > 0) { isConstruction = dt.Rows[0]["is_system"].ToString().Trim(); pname = dt.Rows[0]["project_name"].ToString().Trim(); pcode = dt.Rows[0]["project_code"].ToString().Trim(); stageName = dt.Rows[0]["stage_name"].ToString().Trim(); pModel = new BLL.project().GetModel(int.Parse(dt.Rows[0]["psid"].ToString().Trim())); string str0 = "", str1 = "", str2 = "", str3 = "", str4 = ""; DataTable impDT = new DataTable(); DataSet impDS = new BLL.Common().GetList("select * from project_implement where s_sid='" + pssid + "' order by sequence asc"); if (impDS.Tables.Count > 0) { impDT = impDS.Tables[0]; for (int i = 0; i < impDT.Rows.Count; i++) { str0 += "<th >" + new BLL.Common().GetList("select dbo.get_SNs_zxf('" + impDT.Rows[i]["v1"].ToString().Trim() + "')").Tables[0].Rows[0][0].ToString() + "</th>"; if (isConstruction == "1") { str1 += "<th colspan='1'>" + impDT.Rows[i]["implement_name"].ToString().Trim() + "</th>"; } else { str1 += "<th colspan='1' rowspan='2' >" + impDT.Rows[i]["implement_name"].ToString().Trim() + "</th>"; } //str1 += "{title:'" + impDT.Rows[i]["implement_name"].ToString().Trim() + "',rowspan:2},"; //str1 += "<th colspan='1' rowspan='2' ></th>"; //str2 += "<th data-options=\"field:'imp" + impDT.Rows[i]["sid"].ToString().Trim() + "',width:100, halign:'center', align:'center'\" >" + new BLL.Common().GetList("select dbo.getUserAbbr_fu('"+impDT.Rows[i]["implementers_sid"].ToString().Trim()+"')").Tables[0].Rows[0][0] + "</th>"; str2 += "<th data-options=\"field:'imp" + impDT.Rows[i]["sid"].ToString().Trim() + "',width:100, halign:'center', align:'center'\" >" + new BLL.Common().GetList("select dbo.getUserName_fu('" + impDT.Rows[i]["implementers_sid"].ToString().Trim() + "')").Tables[0].Rows[0][0] + "</th>"; //str2 += "<th data-options=\"field:'imp" + impDT.Rows[i]["sid"].ToString().Trim() + "',width:100, halign:'center', align:'center'\" >" + impDT.Rows[i]["implementers"].ToString().Trim() + "</th>"; //str2 += "{field:'imp" + impDT.Rows[i]["sid"].ToString().Trim() + "',title:'" + impDT.Rows[i]["implementers"].ToString().Trim() + "',width:100, halign:'center', align:'center'},"; } } else { str0 += "<th ></th>"; if (isConstruction == "1") { str1 += "<th colspan='1'></th>"; } else { str1 += "<th colspan='1' rowspan='2'></th>"; } str2 += "<th data-options=\"field:''\"></th>"; } string monthstr = ""; string cols = "1"; if (dt.Rows[0]["begin_date"].ToString().Trim() != "" && dt.Rows[0]["end_date"].ToString().Trim() != "" && dt.Rows[0]["begin_date"] != null && dt.Rows[0]["end_date"] != null) { DateTime sDate = DateTime.Parse(dt.Rows[0]["begin_date"].ToString().Trim()); DateTime eDate = DateTime.Parse(dt.Rows[0]["end_date"].ToString().Trim()); TimeSpan ts = eDate.AddDays(1).Subtract(sDate); if (sDate.Month == eDate.Month) { monthstr = sDate.Month.ToString() + "月"; } else { monthstr = sDate.Month.ToString() + "-" + eDate.Month.ToString() + "月"; } cols = ts.Days.ToString(); //string widthstr = (int.Parse(cols) * 30).ToString(); for (int i = 0; i < ts.Days; i++) { str3 += "<th colspan='1' >" + sDate.AddDays(i).Day.ToString() + "</th>"; //str3 += "{title:'" + sDate.AddDays(i).Day.ToString() + "'},"; string w = ""; switch (sDate.AddDays(i).DayOfWeek) { case DayOfWeek.Sunday: w = "日"; break; case DayOfWeek.Monday: w = "一"; break; case DayOfWeek.Tuesday: w = "二"; break; case DayOfWeek.Wednesday: w = "三"; break; case DayOfWeek.Thursday: w = "四"; break; case DayOfWeek.Friday: w = "五"; break; case DayOfWeek.Saturday: w = "六"; break; } //str4 += "<th data-options=\"field:'" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "',width:30,halign:'center',align:'center',styler: function(value,row,index){if(value==1){return 'background-color:yellow;'}else{return ''};},formatter: function(value,row,index){return '';}\" style='white-space:pre-wrap; word-wrap:break-word;'>" + w + "</th>"; str4 += "<th data-options=\"field:'flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "',width:30,halign:'center',align:'center',styler: function(value,row,index){var font='';if(row['flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "'].length>3){font='font-size:8px;';}if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==1){return 'background-color:yellow;'+font}else if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==2){return 'background-color:green;'+font}else{return ''}}\" style='white-space:pre-wrap; word-wrap:break-word;'>" + w + "</th>"; } } else { monthstr = ""; str3 = "<th data-options=\"title: '',rowspan:1\"}/>"; str4 = "<th data-options=\"title:'',field:'w',width:300\"}/>"; } //int work_width = 200; //int showCount = 15; //if (int.Parse(cols) * 30 > 200) //{ // work_width = int.Parse(cols) * 30; // if (work_width > 200) // { // showCount = showCount + ((work_width - 200) * 3 / 30); // } //} int work_width = 30; int showCount = 2; if (int.Parse(cols) * 30 > 30) { work_width = int.Parse(cols) * 30; if (work_width > 30) { showCount = showCount + ((work_width - 30) * 2 / 30); } } string content = ""; string item = ""; bool showContent = true; bool showItem = true; bool showGroup = true; bool showStage = true; string showWorkTitle = ""; string widthContent = "200"; string widthItem = "200"; switch (isConstruction) { case "0": content = "工作内容"; item = "细目"; string workTitle = monthstr + "(黄色色块代表完成这项工作所需要的完成时间,计划表中实际完成时间将用绿色色块做标记)"; showWorkTitle = ""; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } break; case "1": content = "空间"; item = "图纸及索引号"; showGroup = false; string flow = ""; DataTable tmpDT = new DataTable(); DataSet tmpDS = new BLL.project_work_flow().GetList(" s_sid='" + pssid + "'"); if (tmpDS.Tables.Count > 0) { tmpDT = tmpDS.Tables[0]; } for (int i = 0; i < tmpDT.Rows.Count; i++) { flow += (i + 1).ToString() + "." + tmpDT.Rows[i]["work_flow_name"].ToString().Trim() + ","; } workTitle = monthstr + "(施工图立面框架" + flow + "(计划表中实际完成时间将用绿色色块做的标志))"; showWorkTitle = ""; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } break; case "2": showGroup = false; content = "货物类别"; item = "工作细目"; showWorkTitle = monthstr; break; case "3": content = "商品类别"; item = "细目"; workTitle = "智创产品逐个跟踪+" + pname; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } showStage = false; showGroup = false; showContent = false; widthItem = "100"; break; case "4": content = "加工类别"; item = "工作细目"; workTitle = monthstr + "(进程计划)"; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } showStage = false; showGroup = false; widthContent = "80"; widthItem = "100"; break; default: break; } trStr += "<thead data-options='frozen:true'>"; trStr += "<tr>"; if (isConstruction == "3") { trStr += "<th rowspan='3' data-options='field:\"number\",width:60, halign:\"center\", align:\"center\"'>图纸编号 </th>"; trStr += "<th rowspan='1' colspan='4' style='width:200px'>细目</th>"; trStr += "<th rowspan='3' data-options='field:\"useSpace\",width:60, halign:\"center\", align:\"center\"'>应用空间 </th>"; trStr += "<th rowspan='3' data-options='field:\"spaceCount\",width:60, halign:\"center\", align:\"center\"'>应用数量</th>"; trStr += "<th rowspan='3' data-options='field:\"install\",width:60, halign:\"center\", align:\"center\"'>安装位置</th>"; trStr += "<th rowspan='3' data-options='field:\"usePart\",width:60, halign:\"center\", align:\"center\"'>应用部位</th>"; trStr += "<th rowspan='3' data-options='field:\"unit\",width:60, halign:\"center\", align:\"center\"'>单位 </th>"; trStr += "<th rowspan='3' data-options='field:\"amount\",width:60, halign:\"center\", align:\"center\"'>数量</th>"; trStr += "<th rowspan='3' data-options='field:\"paintPaletteNumber\",width:60, halign:\"center\", align:\"center\"'>油漆色板编号 </th>"; trStr += "<th rowspan='3' data-options='field:\"ppiRemark\",width:60, halign:\"center\", align:\"center\"'>备注</th>"; } if (isConstruction == "4") { trStr += "<th rowspan='3' data-options='field:\"number\",width:60, halign:\"center\", align:\"center\"'>图纸编号 </th>"; trStr += "<th rowspan='1' colspan='4' style='width:200px'>细目</th>"; trStr += "<th rowspan='3' data-options='field:\"useSpace\",width:60, halign:\"center\", align:\"center\"'>应用空间 </th>"; trStr += "<th rowspan='3' data-options='field:\"usePart\",width:60, halign:\"center\", align:\"center\"'>应用部位</th>"; trStr += "<th rowspan='3' data-options='field:\"unit\",width:60, halign:\"center\", align:\"center\"'>单位 </th>"; trStr += "<th rowspan='3' data-options='field:\"amount\",width:60, halign:\"center\", align:\"center\"'>数量</th>"; trStr += "<th rowspan='3' data-options='field:\"EndProduct\",width:60, halign:\"center\", align:\"center\"'>成品</th>"; trStr += "<th rowspan='3' data-options='field:\"ppiRemark\",width:60, halign:\"center\", align:\"center\"'>备注</th>"; } if (showGroup) { trStr += "<th data-options=\"field:'group_name',width:50, halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:white;';}\" rowspan='3'>小组</th>"; } if (showContent) { trStr += "<th data-options='field:\"contentName\",width:" + widthContent + ", halign: \"center\", styler: function(value,row,index){return \"background-color:white;\";},formatter: function (value, rowData, rowIndex) {var str=\"<a class=\\\"a_black\\\" title=\\\"\" + value + \"\\\"><span class=\\\"mlength\\\">\" + value + \"</span></a>\";return str;}' rowspan='3' >" + content + "</th>"; } trStr += "<th data-options='field:\"itemName\",width:" + widthItem + ", halign: \"center\" ,formatter: function (value, rowData, rowIndex) {var str=\"<a class=\\\"a_black\\\" title=\\\"\" + value + \"\\\"><span class=\\\"mlength\\\">\" + value + \"</span></a>\";return str;}' rowspan='3'>" + item + "</th>"; trStr += "</tr>"; if (isConstruction == "3") { trStr += "<tr>"; trStr += "<th colspan='1' rowspan='2' data-options='field:\"productName\",width:60, halign:\"center\", align:\"center\"'>项目产品名称 </th>"; trStr += "<th colspan='1' rowspan='2' data-options='field:\"productPic\",width:45, halign:\"center\", align:\"center\",formatter: function (value, rowData, rowIndex) {if (value != \"\") { return \"<a path=\\\"/ProductPic/\" + value +\"\\\" class=\\\"preview\\\"><img alt=\\\"\\\" height=\\\"45px\\\" src=\\\"/ProductPic/\" + value + \"\\\"></a>\";}}'>图片 </th>"; trStr += "<th colspan='1' rowspan='2' data-options='field:\"Specifications\",width:55, halign:\"center\", align:\"center\"'>图纸规格 </th>"; trStr += "<th rowspan='2' data-options='field:\"paintColor\",width:60, halign:\"center\", align:\"center\"'>漆面颜色 </th>"; trStr += "</tr>"; } if (isConstruction == "4") { trStr += "<tr>"; trStr += "<th colspan='1' rowspan='2' data-options='field:\"productName\",width:60, halign:\"center\", align:\"center\"'>项目产品名称 </th>"; trStr += "<th colspan='1' rowspan='2' data-options='field:\"productPic\",width:45, halign:\"center\", align:\"center\",formatter: function (value, rowData, rowIndex) {if (value != \"\") { return \"<a path=\\\"/ProductPic/\" + value +\"\\\" class=\\\"preview\\\"><img alt=\\\"\\\" height=\\\"45px\\\" src=\\\"/ProductPic/\" + value + \"\\\"></a>\";}}'>图片 </th>"; trStr += "<th colspan='1' rowspan='2' data-options='field:\"Specifications\",width:55, halign:\"center\", align:\"center\"'>图纸规格 </th>"; trStr += "<th rowspan='2' data-options='field:\"paintColor\",width:60, halign:\"center\", align:\"center\"'>漆面颜色 </th>"; trStr += "</tr>"; } trStr += "</thead>"; trStr += "<thead>"; trStr += "<tr>"; trStr += "<th colspan='1'>月</th>"; trStr += "<th colspan='" + cols + "' >" + showWorkTitle + "</th>"; trStr += str1; trStr += "<th data-options='field:\"header\",width:150, halign:\"center\", align:\"center\"' rowspan='3'>组长审核人</th>"; trStr += "<th data-options='field:\"review_results\",width:150, halign:\"center\", align:\"center\",formatter:function(value,rowData,rowIndex){var str=\"\";var s=rowData[\"reviewer\"]; switch(value){case\"0\":str+=\"<div style=\\\"color:Red;\\\">未完成(\"+s+\")</div>\";break;case\"1\":str+=\"<div style=\\\"color:Green;\\\">完成(\"+s+\")</div>\";break;} return str;}' rowspan='3'>组长审核结果</th>"; trStr += "<th data-options=\"field:'unfinished_reason',width:150, halign: 'center', align: 'center'\" rowspan='3'>未完成的原因</th>"; trStr += "<th data-options=\"field:'solution',width:150, halign: 'center', align: 'center'\" rowspan='3'>解决的办法</th>"; trStr += "<th data-options=\"field:'reviewed',width:150, halign: 'center', align: 'center'\" rowspan='3'>解决的结果</th>"; trStr += "<th data-options='field:\"finaler\",width:150, halign:\"center\", align:\"center\"' rowspan='3'>总审人</th>"; trStr += "<th data-options='field:\"reviews\",width:150, halign: \"center\",formatter: function (value, rowData, rowIndex) {var arr=value.split(\",\"); var ReviewDates = rowData[\"ReviewDates\"].split(\",\");var str=\"\";for(var i=0;i<arr.length;i++){switch (arr[i]) {case \"0\":break;case \"1\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:优\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_green.png\\\"/> \";break;case \"2\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:良\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_yellow.png\\\" /> \";break;case \"3\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:差\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_orange.png\\\" /> \";break;case \"4\":str+=\"<img title=\"+ReviewDates[i]+\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_red.png\\\" /> \";break;case \"5\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:不及格\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_error.png\\\"/> \";break;default:break;}} return str;}' rowspan='3'>总审结果</th>"; trStr += "<th data-options=\"field:'wtype9',width:150, halign: 'center', align: 'center'\" rowspan='3'>备注</th>"; trStr += "</tr>"; trStr += "<tr>"; trStr += "<th colspan='1'>日</th>"; trStr += str3; trStr += "</tr>"; trStr += "<tr>"; trStr += "<th data-options=\"field:'wtype11',width:35, halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';}\">星期</th>"; trStr += str4; trStr += str2; trStr += "</tr>"; trStr += "</thead>"; //if (isConstruction=="1") //{ // string flow = ""; // DataTable tmpDT = new DataTable(); // DataSet tmpDS = new BLL.project_work_flow().GetList(" s_sid='" + pssid + "'"); // if (tmpDS.Tables.Count > 0) // { // tmpDT = tmpDS.Tables[0]; // } // for (int i = 0; i < tmpDT.Rows.Count; i++) // { // flow += (i + 1).ToString() + "." + tmpDT.Rows[i]["work_flow_name"].ToString().Trim() + ","; // } // string workTitle = monthstr + "(施工图立面框架" + flow + "(计划表中实际完成时间将用绿色色块做的标志))"; // string showWorkTitle = ""; // for (int i = 0; i < workTitle.Length; i++) // { // showWorkTitle += workTitle[i]; // if ((i + 1) % showCount == 0) // { // showWorkTitle += "<br/>"; // } // } // trStr += "<thead data-options='frozen:true'>"; // trStr += "<tr>"; // trStr += "<th data-options='field:\"contentName\",width:150, halign: \"center\", styler: function(value,row,index){return \"background-color:white;\";},formatter: function (value, rowData, rowIndex) {var str=\"<a class=\\\"a_black\\\" title=\\\"\" + value + \"\\\"><span class=\\\"mlength\\\">\" + value + \"</span></a>\";return str;}' rowspan='3' >空间</th>"; // trStr += "<th data-options='field:\"itemName\",width:150, halign: \"center\" ,formatter: function (value, rowData, rowIndex) {var str=\"<a class=\\\"a_black\\\" title=\\\"\" + value + \"\\\"><span class=\\\"mlength\\\">\" + value + \"</span></a>\";return str;}' rowspan='3'>图纸及索引</th>"; // trStr += "</tr>"; // trStr += "</thead>"; // trStr += "<thead>"; // trStr += "<tr>"; // trStr += "<th colspan='1'>月</th>"; // trStr += "<th colspan='" + cols + "'>" + showWorkTitle + "</th>"; // trStr += str1; // trStr += "<th data-options='field:\"header\",width:150, halign:\"center\", align:\"center\"' rowspan='3'>组长审核人</th>"; // trStr += "<th data-options='field:\"review_results\",width:150, halign:\"center\", align:\"center\",formatter:function(value,rowData,rowIndex){var str=\"\";var s=rowData[\"reviewer\"]; switch(value){case\"0\":str+=\"<div style=\\\"color:Red;\\\">未完成(\"+s+\")</div>\";break;case\"1\":str+=\"<div style=\\\"color:Green;\\\">完成(\"+s+\")</div>\";break;} return str;}' rowspan='3'>组长审核结果</th>"; // trStr += "<th data-options=\"field:'unfinished_reason',width:150, halign: 'center', align: 'center'\" rowspan='3'>未完成的原因</th>"; // trStr += "<th data-options=\"field:'solution',width:150, halign: 'center', align: 'center'\" rowspan='3'>解决的办法</th>"; // trStr += "<th data-options=\"field:'reviewed',width:150, halign: 'center', align: 'center'\" rowspan='3'>解决的结果</th>"; // trStr += "<th data-options='field:\"finaler\",width:150, halign:\"center\", align:\"center\"' rowspan='3'>总审人</th>"; // trStr += "<th data-options='field:\"reviews\",width:150, halign: \"center\",formatter: function (value, rowData, rowIndex) {var arr=value.split(\",\"); var ReviewDates = rowData[\"ReviewDates\"].split(\",\");var str=\"\";for(var i=0;i<arr.length;i++){switch (arr[i]) {case \"0\":break;case \"1\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:优\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_green.png\\\"/> \";break;case \"2\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:良\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_yellow.png\\\" /> \";break;case \"3\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:差\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_orange.png\\\" /> \";break;case \"4\":str+=\"<img title=\"+ReviewDates[i]+\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_red.png\\\" /> \";break;case \"5\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:不及格\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_error.png\\\"/> \";break;default:break;}} return str;}' rowspan='3'>总审结果</th>"; // trStr += "<th data-options=\"field:'wtype9',width:150, halign: 'center', align: 'center'\" rowspan='3'>备注</th>"; // trStr += "</tr>"; // trStr += "<tr>"; // trStr += "<th colspan='1'>日</th>"; // trStr += str3; // trStr += str0; // trStr += "</tr>"; // trStr += "<tr>"; // trStr += "<th data-options=\"field:'wtype11',width:35, halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';}\">星期</th>"; // trStr += str4; // trStr += str2; // trStr += "</tr>"; // trStr += "</thead>"; //} //else //{ // string workTitle = monthstr + "(黄色色块代表完成这项工作所需要的完成时间,计划表中实际完成时间将用绿色色块做标记)"; // string showWorkTitle = ""; // for (int i = 0; i < workTitle.Length; i++) // { // showWorkTitle += workTitle[i]; // if ((i + 1) % showCount == 0) // { // showWorkTitle += "<br/>"; // } // } // trStr += "<thead data-options='frozen:true'>"; // trStr += "<tr>"; // trStr += "<th data-options=\"field:'group_name',width:50, halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:white;';}\" rowspan='3'>小组</th>"; // trStr += "<th data-options='field:\"contentName\",width:150, halign: \"center\", styler: function(value,row,index){return \"background-color:white;\";},formatter: function (value, rowData, rowIndex) {var str=\"<a class=\\\"a_black\\\" title=\\\"\" + value + \"\\\"><span class=\\\"mlength\\\">\" + value + \"</span></a>\";return str;}' rowspan='3' >工作内容</th>"; // trStr += "<th data-options='field:\"itemName\",width:150, halign: \"center\" ,formatter: function (value, rowData, rowIndex) {var str=\"<a class=\\\"a_black\\\" title=\\\"\" + value + \"\\\"><span class=\\\"mlength\\\">\" + value + \"</span></a>\";return str;}' rowspan='3'>细目</th>"; // trStr += "</tr>"; // trStr += "</thead>"; // trStr += "<thead>"; // trStr += "<tr>"; // trStr += "<th colspan='1'>月</th>"; // trStr += "<th colspan='" + cols + "' >" + showWorkTitle + "</th>"; // trStr += str1; // trStr += "<th data-options='field:\"header\",width:150, halign:\"center\", align:\"center\"' rowspan='3'>组长审核人</th>"; // trStr += "<th data-options='field:\"review_results\",width:150, halign:\"center\", align:\"center\",formatter:function(value,rowData,rowIndex){var str=\"\";var s=rowData[\"reviewer\"]; switch(value){case\"0\":str+=\"<div style=\\\"color:Red;\\\">未完成(\"+s+\")</div>\";break;case\"1\":str+=\"<div style=\\\"color:Green;\\\">完成(\"+s+\")</div>\";break;} return str;}' rowspan='3'>组长审核结果</th>"; // trStr += "<th data-options=\"field:'unfinished_reason',width:150, halign: 'center', align: 'center'\" rowspan='3'>未完成的原因</th>"; // trStr += "<th data-options=\"field:'solution',width:150, halign: 'center', align: 'center'\" rowspan='3'>解决的办法</th>"; // trStr += "<th data-options=\"field:'reviewed',width:150, halign: 'center', align: 'center'\" rowspan='3'>解决的结果</th>"; // trStr += "<th data-options='field:\"finaler\",width:150, halign:\"center\", align:\"center\"' rowspan='3'>总审人</th>"; // trStr += "<th data-options='field:\"reviews\",width:150, halign: \"center\",formatter: function (value, rowData, rowIndex) {var arr=value.split(\",\"); var ReviewDates = rowData[\"ReviewDates\"].split(\",\");var str=\"\";for(var i=0;i<arr.length;i++){switch (arr[i]) {case \"0\":break;case \"1\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:优\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_green.png\\\"/> \";break;case \"2\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:良\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_yellow.png\\\" /> \";break;case \"3\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:差\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_orange.png\\\" /> \";break;case \"4\":str+=\"<img title=\"+ReviewDates[i]+\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_red.png\\\" /> \";break;case \"5\":str+=\"<img title=\\\"审核时间:\"+ReviewDates[i]+\" 结果:不及格\\\" width=\\\"16px\\\" height=\\\"16px\\\" src=\\\"../Images/point/bullet_error.png\\\"/> \";break;default:break;}} return str;}' rowspan='3'>总审结果</th>"; // trStr += "<th data-options=\"field:'wtype9',width:150, halign: 'center', align: 'center'\" rowspan='3'>备注</th>"; // trStr += "</tr>"; // trStr += "<tr>"; // trStr += "<th colspan='1'>日</th>"; // trStr += str3; // trStr += "</tr>"; // trStr += "<tr>"; // trStr += "<th data-options=\"field:'wtype11',width:35, halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';}\">星期</th>"; // trStr += str4; // trStr += str2; // trStr += "</tr>"; // trStr += "</thead>"; //} } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { pssid = Request.Params["ps_sid"] == null ? "" : Request.Params["ps_sid"].Trim(); //isConstruction = Request.Params["isConstruction"] == null ? "" : Request.Params["isConstruction"].Trim(); //stageName = DBUtility.DbHelperSQL.GetSingle("select stage_name from project_stage where sid=" + pssid).ToString().Trim(); DataTable dt = new DataTable(); DataSet ds = new BLL.Common().GetList("select project.sid as psid, project_name,project_code,stage_name,Convert(varchar(10),begin_date,120) begin_date,Convert(varchar(10),end_date,120) end_date,project_stage.is_system from project_stage left outer join project on project_stage.p_sid=project.sid where project_stage.sid='" + pssid + "'"); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } if (dt.Rows.Count > 0) { isConstruction = dt.Rows[0]["is_system"].ToString().Trim(); stageName = dt.Rows[0]["stage_name"].ToString().Trim(); pname = dt.Rows[0]["project_name"].ToString().Trim(); psid = dt.Rows[0]["psid"].ToString().Trim(); //动态添加实施列 string dynImp = "", dynImpUser = "", dynDay = "", dynWeek = ""; DataTable impDT = new DataTable(); DataSet impDS = new BLL.project_implement().GetList(" s_sid='" + pssid + "' order by sequence"); if (impDS.Tables.Count > 0) { impDT = impDS.Tables[0]; for (int i = 0; i < impDT.Rows.Count; i++) { dynImp += ",{title:'" + impDT.Rows[i]["implement_name"].ToString().Trim() + "',rowspan:2}"; dynImpUser += ",{title: '" + impDT.Rows[i]["implementers"].ToString().Trim() + "',field:'impAbbr_" + impDT.Rows[i]["sid"].ToString().Trim() + "',width:80, halign:'center', align:'center'}"; } } else { dynImp = ",{title:'',rowspan:2}"; dynImpUser = "******"; } string cols = "1"; string monthstr = ""; string tmp = dt.Rows[0]["begin_date"].ToString().Trim(); if (dt.Rows[0]["begin_date"].ToString().Trim() != "" && dt.Rows[0]["end_date"].ToString().Trim() != "" && dt.Rows[0]["begin_date"] != null && dt.Rows[0]["end_date"] != null) { sDateStr = dt.Rows[0]["begin_date"].ToString().Trim(); eDateStr = dt.Rows[0]["end_date"].ToString().Trim(); DateTime sDate = DateTime.Parse(dt.Rows[0]["begin_date"].ToString().Trim()); DateTime eDate = DateTime.Parse(dt.Rows[0]["end_date"].ToString().Trim()); TimeSpan ts = eDate.AddDays(1).Subtract(sDate); if (sDate.Month == eDate.Month) { monthstr = sDate.Month.ToString() + "月"; } else { monthstr = sDate.Month.ToString() + "-" + eDate.Month.ToString() + "月"; } cols = ts.Days.ToString(); for (int i = 0; i < ts.Days; i++) { dynDay += ",{title: '" + sDate.AddDays(i).Day.ToString() + "'}"; string w = ""; switch (sDate.AddDays(i).DayOfWeek) { case DayOfWeek.Sunday: w = "日"; break; case DayOfWeek.Monday: w = "一"; break; case DayOfWeek.Tuesday: w = "二"; break; case DayOfWeek.Wednesday: w = "三"; break; case DayOfWeek.Thursday: w = "四"; break; case DayOfWeek.Friday: w = "五"; break; case DayOfWeek.Saturday: w = "六"; break; } dynWeek += ",{title:'" + w + "',field:'flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "',width:30,halign:'center',align:'center',styler: function(value,row,index){var font='';if(row['flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "'].length>3)font='font-size:8px;';if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==1){return 'background-color:yellow;'+font}else if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==2){return 'background-color:green;'+font}else{return ''}}}"; } } else { monthstr = ""; dynDay = ",{title: '',rowspan:1}"; dynWeek = ",{title: '',field:'w'}"; } int work_width = 200; int showCount = 15; if (int.Parse(cols) * 30 > 200) { work_width = int.Parse(cols) * 30; if (work_width > 200) { showCount = showCount + ((work_width - 200) * 3 / 30); } } if (isConstruction == "1") { showContent = "空间"; showItem = "图纸及索引号"; string flow = ""; DataTable tmpDT = new DataTable(); DataSet tmpDS = new BLL.project_work_flow().GetList(" s_sid='" + pssid + "'"); if (tmpDS.Tables.Count > 0) { tmpDT = tmpDS.Tables[0]; } for (int i = 0; i < tmpDT.Rows.Count; i++) { flow += (i + 1).ToString() + "." + tmpDT.Rows[i]["work_flow_name"].ToString().Trim() + ","; } string workTitle = monthstr + "(施工图立面框架" + flow + "(计划表中实际完成时间将用绿色色块做的标志))"; string showWorkTitle = ""; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } column += "[["; column += "{ title: '空间', field: 'contentName', width: 80, rowspan:3,halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += ",{ title: '图纸及索引号', field: 'itemName', width: 200,rowspan:3, halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += ",{ title: '月'}"; //column += ",{ title: '" + monthstr + "(施工图立面框架" + flow + "(计划表中实际完成时间将用绿色色块做的标志))',rowspan:1,colspan:" + cols + "}"; column += ",{ title: '" + showWorkTitle + "',rowspan:1,colspan:" + cols + "}"; column += dynImp; column += ",{ title: '主管审核', field: 'header', width: 60,rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '未完成的原因', field: 'unfinished_reason', width: 60,rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '解决的办法', field: 'solution', width: 60, rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '解决的结果', field: 'reviewed', width: 60, rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '总审', field: 'finaler', width: 60, rowspan:3,halign: 'center', align: 'center'}"; column += ",{ title: '备注', field: 'remark', width: 60, rowspan:3,halign: 'center', editor: 'text',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += "],"; column += "["; column += "{ title: '日'}"; column += dynDay; column += "],["; column += "{ title: '星期', field: 'week',width:40,halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';}}"; column += dynWeek; column += dynImpUser; column += "]]"; } else { showContent = "工作内容"; showItem = "细目"; column += "[["; column += "{ title: '小组', field: 'group_name', width: 60, rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '工作内容', field: 'contentName', width: 200, rowspan:3,halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += ",{ title: '细目', field: 'itemName', width: 200,rowspan:3, halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += ",{ title: '月'}"; column += ",{ title: '" + monthstr + "(黄色色块代表完成这项工作所需要的完成时间,<br/>计划表中实际完成时间将用绿色色块做标记)',colspan:" + cols + "}"; column += dynImp; column += ",{ title: '主管审核', field: 'header', width: 60,rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '未完成的原因', field: 'unfinished_reason', width: 60,rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '解决的办法', field: 'solution', width: 60, rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '解决的结果', field: 'reviewed', width: 60, rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '总审', field: 'finaler', width: 60, rowspan:3, halign: 'center', align: 'center'}"; column += ",{ title: '备注', field: 'remark', width: 60, rowspan:3,halign: 'center', editor: 'text',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += "],"; column += "["; column += "{ title: '日'}"; column += dynDay; column += "],["; column += "{ title: '星期', field: 'week',width:40,halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';}}"; column += dynWeek; column += dynImpUser; column += "]]"; } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { pssid = Request.Params["ps_sid"] == null ? "" : Request.Params["ps_sid"].Trim(); DataTable dt = new DataTable(); DataSet ds = new BLL.Common().GetList("select project.sid as psid, project_name,project_code,stage_name,Convert(varchar(10),begin_date,120) begin_date,Convert(varchar(10),end_date,120) end_date,project_stage.is_system,project.v1,dbo.getUserNames_fu(project.v1) as v1Users,project.v2,dbo.getUserNames_fu(project.v2) as v2Users from project_stage left outer join project on project_stage.p_sid=project.sid where project_stage.sid='" + pssid + "'"); if (ds.Tables.Count > 0) { dt = ds.Tables[0]; } if (dt.Rows.Count > 0) { isConstruction = dt.Rows[0]["is_system"].ToString().Trim(); stageName = dt.Rows[0]["stage_name"].ToString().Trim(); pname = dt.Rows[0]["project_name"].ToString().Trim(); psid = dt.Rows[0]["psid"].ToString().Trim(); //动态添加实施列 //主管审核人 string dnyV1 = ""; string[] v1UserArr = dt.Rows[0]["v1Users"].ToString().Trim().Split(','); string[] v1UidArr = dt.Rows[0]["v1"].ToString().Trim().Split(','); for (int j = 0; j < v1UserArr.Length; j++) { if (v1UidArr[j].Trim() != "") { dnyV1 += ",{title: '" + v1UserArr[j].ToString().Trim() + "',field:'v1_" + v1UidArr[j] + "',width:60, halign:'center', align:'center',editor:'text'}"; } else { dnyV1 += ",{title: '" + v1UserArr[j].ToString().Trim() + "',field:'v1_" + v1UidArr[j] + "',width:60, halign:'center', align:'center',editor:{type:'diseditText'}}"; } //dnyV1 += ",{title: '" + v1UserArr[j].ToString().Trim() + "',field:'v1_" + v1UidArr[j] + "',width:60, halign:'center', align:'center',formatter: function(value,row,index){},editor:'text'}"; } if (v1UserArr.Length == 0) { dnyV1 = ",{title: '',field:'v1_',width:60, halign:'center', align:'center'}"; } //总审人 string dnyV2 = ""; string[] v2UserArr = dt.Rows[0]["v2USers"].ToString().Trim().Split(','); string[] v2UidArr = dt.Rows[0]["v2"].ToString().Trim().Split(','); for (int j = 0; j < v2UserArr.Length; j++) { if (v2UidArr[j].Trim() != "") { dnyV2 += ",{title: '" + v2UserArr[j].ToString().Trim() + "',field:'v2_" + v2UidArr[j] + "',width:60, halign:'center', align:'center',editor:'text'}"; } else { dnyV2 += ",{title: '" + v2UserArr[j].ToString().Trim() + "',field:'v2_" + v2UidArr[j] + "',width:60, halign:'center', align:'center',editor:{type:'diseditText'}}"; } } if (v2UserArr.Length == 0) { dnyV2 = ",{title: '',field:'v2_',width:60, halign:'center', align:'center'}"; } //工作种类及人员 string dynImp = "", dynImpUser = "", dynDay = "", dynWeek = ""; DataTable impDT = new DataTable(); DataSet impDS = new BLL.project_implement().GetList(" s_sid='" + pssid + "' order by sequence"); if (impDS.Tables.Count > 0) { impDT = impDS.Tables[0]; for (int i = 0; i < impDT.Rows.Count; i++) { string[] dynImpUserArr = impDT.Rows[i]["impUsers"].ToString().Trim().Split(','); string[] dynImpUidArr = impDT.Rows[i]["implementers_sid"].ToString().Trim().Split(','); dynImp += ",{title:'" + impDT.Rows[i]["implement_name"].ToString().Trim() + "',rowspan:2,colspan:" + (dynImpUserArr.Length > 0 ? dynImpUserArr.Length : 1) + "}"; for (int j = 0; j < dynImpUserArr.Length; j++) { if (dynImpUserArr[j].Trim() != "") { dynImpUser += ",{title: '" + dynImpUserArr[j].ToString().Trim() + "',field:'impAbbr_" + impDT.Rows[i]["sid"].ToString().Trim() + "_" + dynImpUidArr[j] + "',width:80, halign:'center', align:'center',editor:'text'}"; } else { dynImpUser += ",{title: '" + dynImpUserArr[j].ToString().Trim() + "',field:'impAbbr_" + impDT.Rows[i]["sid"].ToString().Trim() + "_" + dynImpUidArr[j] + "',width:80, halign:'center', align:'center',editor:{type:'diseditText'}}"; } } if (dynImpUserArr.Length == 0) { dynImpUser = "******"; } } } else { dynImp = ",{title:'',rowspan:2}"; dynImpUser = "******"; } //工作日历 string cols = "1"; string monthstr = ""; string tmp = dt.Rows[0]["begin_date"].ToString().Trim(); if (dt.Rows[0]["begin_date"].ToString().Trim() != "" && dt.Rows[0]["end_date"].ToString().Trim() != "" && dt.Rows[0]["begin_date"] != null && dt.Rows[0]["end_date"] != null) { sDateStr = dt.Rows[0]["begin_date"].ToString().Trim(); eDateStr = dt.Rows[0]["end_date"].ToString().Trim(); DateTime sDate = DateTime.Parse(dt.Rows[0]["begin_date"].ToString().Trim()); DateTime eDate = DateTime.Parse(dt.Rows[0]["end_date"].ToString().Trim()); TimeSpan ts = eDate.AddDays(1).Subtract(sDate); if (sDate.Month == eDate.Month) { monthstr = sDate.Month.ToString() + "月"; } else { monthstr = sDate.Month.ToString() + "-" + eDate.Month.ToString() + "月"; } cols = ts.Days.ToString(); for (int i = 0; i < ts.Days; i++) { dynDay += ",{title: '" + sDate.AddDays(i).Day.ToString() + "'}"; string w = ""; switch (sDate.AddDays(i).DayOfWeek) { case DayOfWeek.Sunday: w = "日"; break; case DayOfWeek.Monday: w = "一"; break; case DayOfWeek.Tuesday: w = "二"; break; case DayOfWeek.Wednesday: w = "三"; break; case DayOfWeek.Thursday: w = "四"; break; case DayOfWeek.Friday: w = "五"; break; case DayOfWeek.Saturday: w = "六"; break; } dynWeek += ",{title:'" + w + "',field:'flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "',width:30,halign:'center',align:'center',styler: function(value,row,index){if(row['flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==null);return;var font='';if(row['flow_" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "'].length>3)font='font-size:8px;';if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==1){return 'background-color:yellow;'+font}else if(row['" + sDate.AddDays(i).ToString("yyyy-MM-dd") + "']==2){return 'background-color:green;'+font}else{return ''}},editor:'text'}"; } } else { monthstr = ""; dynDay = ",{title: '',rowspan:1}"; dynWeek = ",{title: '',field:'w'}"; } int work_width = 200; int showCount = 15; if (int.Parse(cols) * 30 > 200) { work_width = int.Parse(cols) * 30; if (work_width > 200) { showCount = showCount + ((work_width - 200) * 3 / 30); } } //string calendarStr = ""; string showGroup = "true"; string showWorkTitle = ""; switch (isConstruction) { case "1": showContent = "空间"; showItem = "图纸及索引号"; string flow = ""; DataTable tmpDT = new DataTable(); DataSet tmpDS = new BLL.project_work_flow().GetList(" s_sid='" + pssid + "'"); if (tmpDS.Tables.Count > 0) { tmpDT = tmpDS.Tables[0]; } for (int i = 0; i < tmpDT.Rows.Count; i++) { flow += (i + 1).ToString() + "." + tmpDT.Rows[i]["work_flow_name"].ToString().Trim() + ","; } string workTitle = monthstr + "(施工图立面框架" + flow + "(计划表中实际完成时间将用绿色色块做的标志))"; showWorkTitle = ""; for (int i = 0; i < workTitle.Length; i++) { showWorkTitle += workTitle[i]; if ((i + 1) % showCount == 0) { showWorkTitle += "<br/>"; } } break; case "0": showContent = "工作内容"; showItem = "细目"; showGroup = "false"; showWorkTitle = monthstr + "(黄色色块代表完成这项工作所需要的完成时间,<br/>计划表中实际完成时间将用绿色色块做标记)"; break; case "2": showContent = "货物类别"; showItem = "工作细目"; showWorkTitle = monthstr; break; default: break; } frozencolumns += "[["; frozencolumns += "{ title: '小组', field: 'group_name', width: 60, rowspan:3, halign: 'center', align: 'center',hidden:" + showGroup + ",editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '" + showContent + "', field: 'contentName', width: 200, rowspan:3,halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';},editor:{type:'diseditText'}}"; frozencolumns += ",{ title: '" + showItem + "', field: 'itemName', width: 200,rowspan:3, halign: 'center',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';},editor:'text'}"; frozencolumns += "]]"; column += "[["; column += "{ title: '月'}"; column += ",{ title: '" + showWorkTitle + "',colspan:" + cols + "}"; column += dynImp; column += ",{ title: '主管审核', rowspan:2,colspan:" + (v1UidArr.Length > 0?v1UidArr.Length:1) + ", halign: 'center', align: 'center'}"; column += ",{ title: '未完成的原因', field: 'unfinished_reason', width: 60,rowspan:3, halign: 'center', align: 'center',editor:{type:'diseditText'}}"; column += ",{ title: '解决的办法', field: 'solution', width: 60, rowspan:3, halign:'center', align:'center',editor:{type:'diseditText'}}"; column += ",{ title: '解决的结果', field: 'reviewed', width: 60, rowspan:3, halign:'center', align:'center',editor:{type:'diseditText'}}"; column += ",{ title: '总审', rowspan:2,colspan:" + (v2UidArr.Length > 0 ? v2UidArr.Length : 1) + ", halign: 'center', align: 'center'}"; column += ",{ title: '备注', field: 'remark', width: 60, rowspan:3,halign: 'center', editor: 'text',formatter: function (value, rowData, rowIndex) {return '<a class=\\\"a_black\\\" title=\\\"' + value + '\\\"><span class=\\\"mlength\\\">' + value + '</span></a>';}}"; column += "],"; column += "["; column += "{ title: '日'}"; column += dynDay; column += "],["; column += "{ title: '星期', field: 'week',width:40,halign: 'center', align: 'center',styler: function(value,row,index){return 'background-color:lightgray;color:lightgray;';},editor:{type:'diseditText'}}"; column += dynWeek; column += dynImpUser; column += dnyV1; column += dnyV2; column += "]]"; } } }