parent
ee8b8926a2
commit
255a37051e
|
@ -1,4 +1,26 @@
|
|||
|
||||
|
||||
--1¡¢ÏîÄ¿»·¾³ÉèÖÃ
|
||||
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = 'F2601FA2-2C70-44A2-A2B0-2E3A5458AE00')
|
||||
BEGIN
|
||||
--ÏîÄ¿»·¾³ÉèÖÃ
|
||||
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
|
||||
VALUES('F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','ÏîÄ¿½ø¶ÈÉèÖÃ','/SysManage/Schedule.aspx',100,'0','Menu_ProjectSet',0,1,1)
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = 'F2601FA2-2C70-44A2-A2B0-2E3A5458AE00')
|
||||
BEGIN
|
||||
--ÏîÄ¿»·¾³ÉèÖÃ
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('9FE81E00-A0B5-4CCF-8324-8E9D8F683468','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','Ôö¼Ó',1)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('289CA335-8A27-45D6-A45C-576B20396534','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','ÐÞ¸Ä',2)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('5DE2147A-C361-4931-AD0C-AE1866AFC9EB','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','ɾ³ý',3)
|
||||
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
|
||||
VALUES('ADCFE25F-2F13-46A1-A367-70E942D0F1A2','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','±£´æ',4)
|
||||
END
|
||||
GO
|
||||
|
||||
/****** Object: Table [dbo].[Sys_Schedule] Script Date: 2025-4-17 16:33:59 ******/
|
||||
|
|
|
@ -855,6 +855,7 @@
|
|||
<Compile Include="SYHSE\SYHSEData_MajorHazardService.cs" />
|
||||
<Compile Include="SYHSE\SYHSEData_PromiseService.cs" />
|
||||
<Compile Include="SYHSE\SYHSEData_RiskService.cs" />
|
||||
<Compile Include="SysManage\ScheduleService.cs" />
|
||||
<Compile Include="SysManage\ButtonPowerService.cs" />
|
||||
<Compile Include="SysManage\ButtonToMenuService.cs" />
|
||||
<Compile Include="SysManage\DepartService.cs" />
|
||||
|
|
|
@ -4402,6 +4402,10 @@ namespace BLL
|
|||
/// 项目环境设置
|
||||
/// </summary>
|
||||
public const string CQMSSysSetMenuId = "9c62332c-d31f-4575-a323-49537bf335e8";
|
||||
/// <summary>
|
||||
/// 项目进度设置
|
||||
/// </summary>
|
||||
public const string SysSetScheduleMenuId = "F2601FA2-2C70-44A2-A2B0-2E3A5458AE00";
|
||||
#endregion
|
||||
|
||||
#region WBS定制管理
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
using System.Linq;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
public class ScheduleService
|
||||
{
|
||||
public static Model.SUBQHSEDB db = Funs.DB;
|
||||
|
||||
/// <summary>
|
||||
/// 添加
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
public static void Add(Model.Sys_Schedule model)
|
||||
{
|
||||
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
||||
{
|
||||
Model.Sys_Schedule newModel = new Model.Sys_Schedule();
|
||||
newModel.ScheduleId = model.ScheduleId;
|
||||
newModel.ScheduleName = model.ScheduleName;
|
||||
newModel.ScheduleDate = model.ScheduleDate;
|
||||
newModel.ProjectId = model.ProjectId;
|
||||
newModel.SortId = model.SortId;
|
||||
db.Sys_Schedule.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改
|
||||
/// </summary>
|
||||
/// <param name="model"></param>
|
||||
public static void Update(Model.Sys_Schedule model)
|
||||
{
|
||||
using (var db = new Model.SUBQHSEDB(Funs.ConnString))
|
||||
{
|
||||
Model.Sys_Schedule newModel = db.Sys_Schedule.First(e => e.ScheduleId == model.ScheduleId);
|
||||
newModel.ScheduleName = model.ScheduleName;
|
||||
newModel.ScheduleDate = model.ScheduleDate;
|
||||
newModel.ScheduleDate = model.ScheduleDate;
|
||||
newModel.ProjectId = model.ProjectId;
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1251,6 +1251,8 @@
|
|||
<Content Include="res\ol\bd09.js" />
|
||||
<Content Include="res\ol\ol.css" />
|
||||
<Content Include="res\ol\ol.js" />
|
||||
<Content Include="SysManage\Schedule.aspx" />
|
||||
<Content Include="SysManage\ScheduleEdit.aspx" />
|
||||
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSite.aspx" />
|
||||
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSiteEdit.aspx" />
|
||||
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSiteView.aspx" />
|
||||
|
@ -12264,6 +12266,20 @@
|
|||
<Compile Include="ProjectData\LocationSelect.aspx.designer.cs">
|
||||
<DependentUpon>LocationSelect.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SysManage\Schedule.aspx.cs">
|
||||
<DependentUpon>Schedule.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SysManage\Schedule.aspx.designer.cs">
|
||||
<DependentUpon>Schedule.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SysManage\ScheduleEdit.aspx.cs">
|
||||
<DependentUpon>ScheduleEdit.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SysManage\ScheduleEdit.aspx.designer.cs">
|
||||
<DependentUpon>ScheduleEdit.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSite.aspx.cs">
|
||||
<DependentUpon>BenchmarkWorkSite.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Schedule.aspx.cs" Inherits="FineUIPro.Web.SysManage.Schedule" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="智慧进度" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="ScheduleId" EnableColumnLines="true"
|
||||
ClicksToEdit="2" DataIDField="ScheduleId" AllowSorting="true" ForceFit="true"
|
||||
AllowPaging="true" IsDatabasePaging="true"
|
||||
Width="980px" EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:Button ID="btnNew" runat="server" ToolTip="新增" Icon="Add" Text="新增" OnClick="btnMenuAdd_Click"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
<f:Label runat="server" Text="进度每个项目最多添加6条数据,日期必须填写。" CssStyle="color:red"></f:Label>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
|
||||
<f:RenderField Width="200px" ColumnID="ScheduleName" DataField="ScheduleName" FieldType="String" HeaderText="进度名称"
|
||||
HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
|
||||
<f:BoundField Width="100px" DataField="ScheduleDate" DataFormatString="{0:yyyy-MM-dd}" HeaderText="日期" />
|
||||
|
||||
<f:RenderField Width="200px" ColumnID="ProjectName" DataField="ProjectName" FieldType="String" HeaderText="归属项目"
|
||||
HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="新增" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="600px" Height="400px" OnClose="Window1_Close">
|
||||
</f:Window>
|
||||
<f:Menu ID="Menu1" runat="server">
|
||||
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
|
||||
Hidden="true" runat="server" Text="编辑">
|
||||
</f:MenuButton>
|
||||
|
||||
</f:Menu>
|
||||
</form>
|
||||
<script type="text/jscript">
|
||||
var menuID = '<%= Menu1.ClientID %>';
|
||||
// 返回false,来阻止浏览器右键菜单
|
||||
function onRowContextMenu(event, rowId) {
|
||||
F(menuID).show(); //showAt(event.pageX, event.pageY);
|
||||
return false;
|
||||
}
|
||||
|
||||
function reloadGrid() {
|
||||
__doPostBack(null, 'reloadGrid');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,139 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using BLL;
|
||||
|
||||
|
||||
namespace FineUIPro.Web.SysManage
|
||||
{
|
||||
public partial class Schedule : PageBase
|
||||
{
|
||||
public string Projectid
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["Projectid"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["Projectid"] = value;
|
||||
}
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Projectid = CurrUser.LoginProjectId;
|
||||
////权限按钮方法
|
||||
this.GetButtonPower();
|
||||
// 绑定表格
|
||||
this.BindGrid();
|
||||
}
|
||||
}
|
||||
|
||||
#region 获取按钮权限
|
||||
/// <summary>
|
||||
/// 获取按钮权限
|
||||
/// </summary>
|
||||
/// <param name="button"></param>
|
||||
/// <returns></returns>
|
||||
private void GetButtonPower()
|
||||
{
|
||||
if (Request.Params["value"] == "0")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.SysSetScheduleMenuId);
|
||||
if (buttonList.Count() > 0)
|
||||
{
|
||||
if (buttonList.Contains(BLL.Const.BtnAdd))
|
||||
{
|
||||
this.btnNew.Hidden = false;
|
||||
}
|
||||
if (buttonList.Contains(BLL.Const.BtnModify))
|
||||
{
|
||||
this.btnMenuEdit.Hidden = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 绑定表格
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
//查询user表里岗位项目角色是群安员的用户
|
||||
string strSql = @"select ScheduleId,ScheduleName,ScheduleDate,S.ProjectId,J.ProjectName,SortId from Sys_Schedule S
|
||||
left join Base_Project J on S.ProjectId= J.ProjectId
|
||||
WHERE 1=1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
strSql += " AND S.ProjectId=@ProjectId ";
|
||||
listStr.Add(new SqlParameter("@ProjectId", CurrUser.LoginProjectId));
|
||||
strSql += " order by SortId ";
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 关闭弹出窗
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 右键编辑事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Projectid))
|
||||
{
|
||||
string id = Grid1.SelectedRowID;
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleEdit.aspx?ScheduleId={0}", id, "编辑 - ")));
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未获取到当前项目,请刷新页面或重新选择项目", MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
}
|
||||
protected void btnMenuAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
//判断是否已经存在6个
|
||||
if (!string.IsNullOrEmpty(Projectid))
|
||||
{
|
||||
var listSchedule = Funs.DB.Sys_Schedule.Where(x => x.ProjectId == Projectid).ToList();
|
||||
if (listSchedule.Count >= 6)
|
||||
{
|
||||
Alert.ShowInTop("进度节点数据最多添加6条!", MessageBoxIcon.Warning);
|
||||
}
|
||||
else
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleEdit.aspx", "添加 - ")));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInTop("未获取到当前项目,请刷新页面或重新选择项目", MessageBoxIcon.Warning);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.SysManage
|
||||
{
|
||||
|
||||
|
||||
public partial class Schedule
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// btnNew 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnNew;
|
||||
|
||||
/// <summary>
|
||||
/// lblNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
|
||||
/// <summary>
|
||||
/// btnMenuEdit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.MenuButton btnMenuEdit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduleEdit.aspx.cs" Inherits="FineUIPro.Web.SysManage.ScheduleEdit" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
.labcenter {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.f-grid-row.red {
|
||||
background-color: #FF7575;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.fontred {
|
||||
color: #FF7575;
|
||||
background-image: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtScheduleName" runat="server" Label="节点名称" ShowRedStar="true" Required="true" LabelAlign="Right"></f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DatePicker ID="txtScheduleDate" runat="server" Label="节点日期" DateFormatString="yyyy-MM-dd" ShowRedStar="true" Required="true" LabelAlign="Right"
|
||||
EnableEdit="true">
|
||||
</f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtSortId" runat="server" Label="序号" Readonly="true" LabelAlign="Right"></f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
|
||||
</Rows>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:TextBox ID="hdCheckControlCode" runat="server" Hidden="true"></f:TextBox>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1" ToolTip="保存" Text="保存">
|
||||
</f:Button>
|
||||
|
||||
<f:TextBox ID="hdId" runat="server" Hidden="true">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="hdAttachUrl" runat="server" Hidden="true">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
</f:Form>
|
||||
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,102 @@
|
|||
|
||||
using BLL;
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.SysManage
|
||||
{
|
||||
public partial class ScheduleEdit : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
public string ScheduleId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ScheduleId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ScheduleId"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Projectid
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["Projectid"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["Projectid"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
ScheduleId = Request.Params["ScheduleId"];
|
||||
Projectid = CurrUser.LoginProjectId;
|
||||
if (!string.IsNullOrEmpty(ScheduleId))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Projectid))
|
||||
{
|
||||
Model.Sys_Schedule model = Funs.DB.Sys_Schedule.FirstOrDefault(x => x.ScheduleId == ScheduleId && x.ProjectId == Projectid);
|
||||
txtScheduleName.Text = model.ScheduleName;
|
||||
txtScheduleDate.Text = model.ScheduleDate.ToString();
|
||||
txtSortId.Text = model.SortId.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Model.Sys_Schedule model = Funs.DB.Sys_Schedule.OrderByDescending(x => x.SortId).FirstOrDefault(x => x.ProjectId == Projectid);
|
||||
if (model != null)
|
||||
{
|
||||
txtSortId.Text = (model.SortId + 1).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
txtSortId.Text = "1";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
Model.Sys_Schedule model = new Model.Sys_Schedule();
|
||||
model.ScheduleDate = Convert.ToDateTime(txtScheduleDate.Text);
|
||||
model.ScheduleName = txtScheduleName.Text.Trim();
|
||||
model.SortId = Convert.ToInt32(txtSortId.Text);
|
||||
model.ProjectId = Projectid;
|
||||
|
||||
if (!string.IsNullOrEmpty(ScheduleId))
|
||||
{
|
||||
model.ScheduleId = ScheduleId;
|
||||
ScheduleService.Update(model);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
else
|
||||
{
|
||||
model.ScheduleId = SQLHelper.GetNewID(typeof(Model.Sys_Schedule)); ;
|
||||
ScheduleService.Add(model);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.SysManage
|
||||
{
|
||||
|
||||
|
||||
public partial class ScheduleEdit
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// txtScheduleName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtScheduleName;
|
||||
|
||||
/// <summary>
|
||||
/// txtScheduleDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtScheduleDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtSortId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtSortId;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// hdCheckControlCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox hdCheckControlCode;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// hdId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox hdId;
|
||||
|
||||
/// <summary>
|
||||
/// hdAttachUrl 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox hdAttachUrl;
|
||||
}
|
||||
}
|
|
@ -122,7 +122,7 @@
|
|||
<div :class="[checkIdx == 0?'selected':'']" @click="onChangeCheck(0)"><span>安全检查</span></div>
|
||||
<div :class="[checkIdx == 1?'selected':'']" @click="onChangeCheck(1)"><span>质量检查</span></div>
|
||||
</div>
|
||||
<div class="block-main">
|
||||
<div class="block-main" id="hsseCheck" >
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">问题</div>
|
||||
<div class="early-box-value">{{form.hsseCheck.generalNum}}<span>项</span></div>
|
||||
|
@ -140,6 +140,24 @@
|
|||
<div class="early-box-value">{{form.hsseCheck.rectificationRate}}<span>%</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-main" id="cqmsCheck" style="display: none;">
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">问题</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.generalNum}}<span>项</span></div>
|
||||
</div>
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">未完成</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.notClosedNum}}<span>项</span></div>
|
||||
</div>
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">整改闭环</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.closedNum}}<span>项</span></div>
|
||||
</div>
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">整改率</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.rectificationRate}}<span>%</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 风险分级管控 -->
|
||||
<div id="risk" class="block" style="height: 1.675rem;margin-top: 0.25rem;">
|
||||
|
@ -412,7 +430,7 @@
|
|||
<span>质量教育数据</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-main">
|
||||
<div class="block-main" id="hsseEduTrain">
|
||||
<div class="educa-box">
|
||||
<div class="box1">
|
||||
<div class="box1-row">
|
||||
|
@ -461,6 +479,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-main" id="cqmsEduTrain" style="display: none;">
|
||||
<div class="educa-box">
|
||||
<div class="box1 a-box1">
|
||||
<h6>质量教育-培训人数</h6>
|
||||
<p><span>{{form.cqmsTrainPersonNum}}</span><span>人</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 报验记录 -->
|
||||
<div id="byjl" class="block" style="height: 2.5375rem;margin-top: 0.25rem;">
|
||||
|
@ -783,9 +809,25 @@
|
|||
},
|
||||
onChangeEducation(idx) {
|
||||
this.educationIdx = idx;
|
||||
if (this.educationIdx == 0) {
|
||||
$("#hsseEduTrain").show();
|
||||
$("#cqmsEduTrain").hide();
|
||||
}
|
||||
else {
|
||||
$("#hsseEduTrain").hide();
|
||||
$("#cqmsEduTrain").show();
|
||||
}
|
||||
},
|
||||
onChangeCheck(idx) {
|
||||
this.checkIdx = idx;
|
||||
if (this.checkIdx == 0) {
|
||||
$("#hsseCheck").show();
|
||||
$("#cqmsCheck").hide();
|
||||
}
|
||||
else {
|
||||
$("#hsseCheck").hide();
|
||||
$("#cqmsCheck").show();
|
||||
}
|
||||
},
|
||||
// 创建中国地图
|
||||
createChinaMap(data) {
|
||||
|
|
|
@ -19,10 +19,10 @@
|
|||
|
||||
<body class="bg1">
|
||||
<div id="app">
|
||||
<div class="container" style="padding-top: .25rem" v-cloak>
|
||||
<div class="container" style=" padding-top: .25rem" v-cloak>
|
||||
<div class="side">
|
||||
<!-- 组织机构人员 -->
|
||||
<div class="block" style="height: 2.5375rem;">
|
||||
<div class="block" style=" height: 2.5375rem;">
|
||||
<div class="block-tit"><span>组织机构人员</span></div>
|
||||
<div id="org1" class="block-main">
|
||||
<div class="o-box">
|
||||
|
@ -49,7 +49,7 @@
|
|||
<div class="org-row1">
|
||||
<i></i>
|
||||
<div class="row1-inner">
|
||||
<div class="row1-tit" style="width: auto;">安管人员与作业人员配比</div>
|
||||
<div class="row1-tit" style=" width: auto;">安管人员与作业人员配比</div>
|
||||
<h6>{{form.org.projectPersonRatio}}</h6>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -57,7 +57,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 预警警报 -->
|
||||
<div id="Early" class="block" style="height: 2.1rem;margin-top: 0.25rem;">
|
||||
<div id="Early" class="block" style=" height: 2.1rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit"><span>预警警报</span></div>
|
||||
<div class="block-main">
|
||||
<div class="early-box">
|
||||
|
@ -80,12 +81,13 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 安全/质量问题 -->
|
||||
<div id="check" class="block" style="height: 2.1rem;margin-top: 0.25rem;">
|
||||
<div id="check" class="block" style=" height: 2.1rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit">
|
||||
<div :class="[checkIdx == 0?'selected':'']" @click="onChangeCheck(0)"><span>安全检查</span></div>
|
||||
<div :class="[checkIdx == 1?'selected':'']" @click="onChangeCheck(1)"><span>质量检查</span></div>
|
||||
</div>
|
||||
<div class="block-main">
|
||||
<div class="block-main" id="hsseCheck">
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">问题</div>
|
||||
<div class="early-box-value">{{form.hsseCheck.generalNum}}<span>项</span></div>
|
||||
|
@ -103,9 +105,28 @@
|
|||
<div class="early-box-value">{{form.hsseCheck.rectificationRate}}<span>%</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-main" id="cqmsCheck" style="display: none;">
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">问题</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.generalNum}}<span>项</span></div>
|
||||
</div>
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">未完成</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.notClosedNum}}<span>项</span></div>
|
||||
</div>
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">整改闭环</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.closedNum}}<span>项</span></div>
|
||||
</div>
|
||||
<div class="early-box">
|
||||
<div class="early-box-laber">整改率</div>
|
||||
<div class="early-box-value">{{form.cqmsCheck.rectificationRate}}<span>%</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 风险分级管控 -->
|
||||
<div id="risk" class="block" style="height: 1.725rem;margin-top: 0.25rem;">
|
||||
<div id="risk" class="block" style=" height: 1.725rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit"><span>风险分级管控</span></div>
|
||||
<div class="block-main">
|
||||
<div class="box">
|
||||
|
@ -139,12 +160,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 费用、机具及会议 -->
|
||||
<div id="tools" class="block" style="height: 2.15rem;margin-top: 0.25rem;">
|
||||
<div id="tools" class="block" style=" height: 2.15rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit"><span>费用、机具及会议</span></div>
|
||||
<div class="block-main">
|
||||
<div class="t-box">
|
||||
<div class="t-box-tit">
|
||||
<i class="iconfont icon-l10" style="color: #FFBF46;font-size: 20px;"></i>
|
||||
<i class="iconfont icon-l10" style=" color: #FFBF46;
|
||||
font-size: 20px;"></i>
|
||||
<p>安全费用</p>
|
||||
</div>
|
||||
<div class="r-row">
|
||||
|
@ -158,7 +181,8 @@
|
|||
</div>
|
||||
<div class="t-box">
|
||||
<div class="t-box-tit">
|
||||
<i class="iconfont icon-l10" style="color: #00DEFF;font-size: 20px;"></i>
|
||||
<i class="iconfont icon-l10" style=" color: #00DEFF;
|
||||
font-size: 20px;"></i>
|
||||
<p>施工机具设备</p>
|
||||
</div>
|
||||
<div class="r-row">
|
||||
|
@ -172,7 +196,8 @@
|
|||
</div>
|
||||
<div class="t-box">
|
||||
<div class="t-box-tit">
|
||||
<i class="iconfont icon-l10" style="color: #00DEFF;font-size: 20px;"></i>
|
||||
<i class="iconfont icon-l10" style=" color: #00DEFF;
|
||||
font-size: 20px;"></i>
|
||||
<p>会议</p>
|
||||
</div>
|
||||
<div class="r-row">
|
||||
|
@ -187,9 +212,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center" style="grid-template-rows: 1fr 1.8875rem 1.425rem 1.85rem 2.725rem;">
|
||||
<div class="center" style=" grid-template-rows: 1fr 1.8875rem 1.425rem 1.85rem 2.725rem;">
|
||||
|
||||
<div class="infoandvideo" style="height: 2.6rem;">
|
||||
<div class="infoandvideo" style=" height: 2.6rem;">
|
||||
<div class="info">
|
||||
<img src="../res/indexv2/assets/image/index6/center-bg.jpeg" alt="">
|
||||
<div class="info-box">
|
||||
|
@ -216,12 +241,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 项目进度计划 -->
|
||||
<div id="xmjd" class="block4" style="height: 1.8875rem;">
|
||||
<div id="xmjd" class="block4" style=" height: 1.8875rem;">
|
||||
<div class="block4-tit"><span>项目进度计划</span></div>
|
||||
<div class="block4-main" style="width: 10rem; ">
|
||||
<div style="overflow-x: scroll;height: 100%;">
|
||||
<div class="block4-main" style=" width: 10rem;
|
||||
">
|
||||
<div style=" overflow-x: scroll;
|
||||
height: 100%;">
|
||||
<div class="xm-plan">
|
||||
<div v-for="(item,idx) in xmjdData" ::key="idx" :class="['z-plan-item', item.isClosed?'closed':'undone']">
|
||||
<div v-for="(item,idx) in form.xmjdData" ::key="idx" :class="['z-plan-item', item.isClosed?'closed':'undone']">
|
||||
<div class="z-line" >
|
||||
<div class="z-dot"><div class="z-dot-inner"></div></div>
|
||||
</div>
|
||||
|
@ -233,7 +260,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 危大工程管控数据 -->
|
||||
<div id="wd" class="block4" style="height: 1.55rem;">
|
||||
<div id="wd" class="block4" style=" height: 1.55rem;">
|
||||
<div class="block4-tit"><span>危大工程管控数据</span></div>
|
||||
<div class="block4-main">
|
||||
<div class="wd">
|
||||
|
@ -277,8 +304,11 @@
|
|||
</div>
|
||||
<!-- 应急管理数据 / 工程划分 -->
|
||||
<div class="layout"
|
||||
style="height: 1.85rem;display: grid;grid-template-columns: 5.5rem 4.25rem;gap: 0.25rem;">
|
||||
<div id="yjgl" class="block5" style="height: 100%;">
|
||||
style=" height: 1.85rem;
|
||||
display: grid;
|
||||
grid-template-columns: 5.5rem 4.25rem;
|
||||
gap: 0.25rem;">
|
||||
<div id="yjgl" class="block5" style=" height: 100%;">
|
||||
<div class="block5-tit"><span>应急管理数据</span></div>
|
||||
<div class="block5-main">
|
||||
<div class="yjgl">
|
||||
|
@ -305,7 +335,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gchf" class="block6" style="height: 100%;">
|
||||
<div id="gchf" class="block6" style=" height: 100%;">
|
||||
<div class="block6-tit"><span>工程划分</span></div>
|
||||
<div class="block6-main">
|
||||
<div class="gchf">
|
||||
|
@ -329,7 +359,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 质量验收数据 -->
|
||||
<div id="zhl" class="block4" style="height: 2.725rem;">
|
||||
<div id="zhl" class="block4" style=" height: 2.725rem;">
|
||||
<div class="block4-tit"><span>质量验收数据</span></div>
|
||||
<div class="block4-main">
|
||||
<div class="zhl">
|
||||
|
@ -341,7 +371,10 @@
|
|||
</div>
|
||||
<div class="side">
|
||||
<!-- 特种设备质保体系 / 图纸会审/设计交底 -->
|
||||
<div class="layout" style="height: 1.7rem;display: grid;grid-template-columns: 1fr 1fr;gap: 0.25rem;">
|
||||
<div class="layout" style=" height: 1.7rem;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0.25rem;">
|
||||
<div class="block1" id="tzsb">
|
||||
<div class="block-tit1"><span>特种设备质保体系</span></div>
|
||||
<div class="block1-main">
|
||||
|
@ -368,7 +401,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 培训教育 -->
|
||||
<div id="educat" class="block" style="height: 2.2rem;margin-top: 0.25rem;">
|
||||
<div id="educat" class="block" style=" height: 2.2rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit">
|
||||
<div :class="[educationIdx == 0?'selected':'']" @click="onChangeEducation(0)"><span>安全教育</span>
|
||||
</div>
|
||||
|
@ -376,21 +410,21 @@
|
|||
<span>质量教育数据</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-main">
|
||||
<div class="block-main" id="hsseEduTrain">
|
||||
<div class="educa-box">
|
||||
<div class="box1">
|
||||
<div class="box1-row">
|
||||
<div class="educa-row-inner" style="margin-right: 0.125rem;">
|
||||
<div class="educa-row-inner" style=" margin-right: 0.125rem;">
|
||||
<div class="educa-lab"><span>专项培训</span></div>
|
||||
<div class="educa-val" style="text-align: right;"><span>{{form.hsseEduTrain.specialTrainNum}}</span><span>次</span>
|
||||
<div class="educa-val" style=" text-align: right;"><span>{{form.hsseEduTrain.specialTrainNum}}</span><span>次</span>
|
||||
</div>
|
||||
</div>
|
||||
<i></i>
|
||||
</div>
|
||||
<div class="box1-row">
|
||||
<div class="educa-row-inner" style="margin-right: 0.125rem;">
|
||||
<div class="educa-row-inner" style=" margin-right: 0.125rem;">
|
||||
<div class="educa-lab"><span>特种作业培训</span></div>
|
||||
<div class="educa-val" style="text-align: right;"><span>{{form.hsseEduTrain.specialOperationTrainNum}}</span><span>次</span>
|
||||
<div class="educa-val" style=" text-align: right;"><span>{{form.hsseEduTrain.specialOperationTrainNum}}</span><span>次</span>
|
||||
</div>
|
||||
</div>
|
||||
<i></i>
|
||||
|
@ -400,21 +434,21 @@
|
|||
<h6>安全工时</h6>
|
||||
<p><span>{{form.hsseEduTrain.safeWorkingHour}}</span><span>h</span></p>
|
||||
</div>
|
||||
<div class="box1" style="align-items: flex-start;">
|
||||
<div class="box1" style=" align-items: flex-start;">
|
||||
<div class="box1-row">
|
||||
<i></i>
|
||||
<div class="educa-row-inner" style="margin-left: 0.125rem;">
|
||||
<div class="educa-row-inner" style=" margin-left: 0.125rem;">
|
||||
<div class="educa-lab"><span>三级安全教育培训</span></div>
|
||||
<div class="educa-val" style="text-align: left;"><span>{{form.hsseEduTrain.safeTrainNum}}</span><span>次</span>
|
||||
<div class="educa-val" style=" text-align: left;"><span>{{form.hsseEduTrain.safeTrainNum}}</span><span>次</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="box1-row">
|
||||
<i></i>
|
||||
<div class="educa-row-inner" style="margin-left: 0.125rem;">
|
||||
<div class="educa-row-inner" style=" margin-left: 0.125rem;">
|
||||
<div class="educa-lab"><span>安全技术交底</span></div>
|
||||
<div class="educa-val" style="text-align: left;"><span>{{form.designBriefing.safetyTechnicalBriefing}}</span><span>次</span>
|
||||
<div class="educa-val" style=" text-align: left;"><span>{{form.designBriefing.safetyTechnicalBriefing}}</span><span>次</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -422,9 +456,18 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-main" id="cqmsEduTrain" style="display: none;">
|
||||
<div class="educa-box">
|
||||
<div class="box1 a-box1">
|
||||
<h6>质量教育-培训人数</h6>
|
||||
<p><span>{{form.cqmsTrainPersonNum}}</span><span>人</span></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 报验记录 -->
|
||||
<div id="byjl" class="block" style="height: 2.5375rem;margin-top: 0.25rem;">
|
||||
<div id="byjl" class="block" style=" height: 2.5375rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit"><span>报验记录</span></div>
|
||||
<div class="block-main">
|
||||
<div class="byjl">
|
||||
|
@ -435,7 +478,10 @@
|
|||
<div class="row">
|
||||
<h6>合格率</h6>
|
||||
<div class="bar">
|
||||
<div :style="{width: form.inspectionRecord.equipmentRate+'%'}" class="bar-inner"></div>
|
||||
<div :style="
|
||||
{
|
||||
width: form.inspectionRecord.equipmentRate+'%'
|
||||
}" class="bar-inner"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -446,7 +492,10 @@
|
|||
<div class="row">
|
||||
<h6>合格率</h6>
|
||||
<div class="bar">
|
||||
<div :style="{width: form.inspectionRecord.machineRate+'%'}" class="bar-inner"></div>
|
||||
<div :style="
|
||||
{
|
||||
width: form.inspectionRecord.machineRate+'%'
|
||||
}" class="bar-inner"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -457,7 +506,10 @@
|
|||
<div class="row">
|
||||
<h6>合格率</h6>
|
||||
<div class="bar">
|
||||
<div :style="{width: form.inspectionRecord.personRate+'%'}" class="bar-inner"></div>
|
||||
<div :style="
|
||||
{
|
||||
width: form.inspectionRecord.personRate+'%'
|
||||
}" class="bar-inner"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -467,7 +519,11 @@
|
|||
</div>
|
||||
<!-- 施工方案 / 高风险作业许可 -->
|
||||
<div class="layout"
|
||||
style="height: 2.1875rem;margin-top: 0.25rem;display: grid;grid-template-columns: 3.75rem 2.25rem;gap: 0.25rem;">
|
||||
style=" height: 2.1875rem;
|
||||
margin-top: 0.25rem;
|
||||
display: grid;
|
||||
grid-template-columns: 3.75rem 2.25rem;
|
||||
gap: 0.25rem;">
|
||||
<div class="block2" id="sgfa">
|
||||
<div class="block2-tit"><span>施工方案</span></div>
|
||||
<div class="block2-main">
|
||||
|
@ -509,7 +565,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 计量器具数据 -->
|
||||
<div id="jlqj" class="block" style="height: 1.975rem;margin-top: 0.25rem;">
|
||||
<div id="jlqj" class="block" style=" height: 1.975rem;
|
||||
margin-top: 0.25rem;">
|
||||
<div class="block-tit"><span>计量器具数据</span></div>
|
||||
<div class="block-main">
|
||||
<div class="jlqj">
|
||||
|
@ -555,14 +612,6 @@
|
|||
// 当前激活的管理菜单索引
|
||||
manage_idx: 1,
|
||||
// 存储所有数据的主要对象
|
||||
xmjdData: [
|
||||
{ date: '2025-01-01', title: '项目启动', description: '项目正式开始', isClosed: true },
|
||||
{ date: '2025-02-01', title: '需求分析', description: '完成需求分析阶段', isClosed: true },
|
||||
{ date: '2025-03-01', title: '设计阶段', description: '完成系统设计', isClosed: true },
|
||||
{ date: '2025-04-01', title: '开发阶段', description: '开始软件开发', isClosed: true },
|
||||
{ date: '2025-05-01', title: '测试阶段', description: '进行系统测试', isClosed: false },
|
||||
{ date: '2025-06-01', title: '部署阶段', description: '系统部署上线', isClosed: false }
|
||||
],
|
||||
form: {
|
||||
org: {//组织机构人员
|
||||
projectSum: 0, // 项目总人数
|
||||
|
@ -616,6 +665,7 @@
|
|||
projectEndDate: '2049-12-31',//项目到期时间
|
||||
projectEndDays: 0,//合同倒计时
|
||||
},
|
||||
xmjdData: [],//项目进度计划
|
||||
dangerousProject:
|
||||
{//危大工程管控数据
|
||||
approvalCompleted: 0,//审批完成
|
||||
|
@ -701,6 +751,7 @@
|
|||
if (response.d.success) {
|
||||
// 更新数据成功
|
||||
that.form = { ...response.d.data }; // 更新表单数据
|
||||
console.log(that.form)
|
||||
} else {
|
||||
// 更新数据失败
|
||||
alert("加载数据失败:" + response.d.msg);
|
||||
|
@ -730,9 +781,25 @@
|
|||
},
|
||||
onChangeEducation(idx) {
|
||||
this.educationIdx = idx;
|
||||
if (this.educationIdx == 0) {
|
||||
$("#hsseEduTrain").show();
|
||||
$("#cqmsEduTrain").hide();
|
||||
}
|
||||
else {
|
||||
$("#hsseEduTrain").hide();
|
||||
$("#cqmsEduTrain").show();
|
||||
}
|
||||
},
|
||||
onChangeCheck(idx) {
|
||||
this.checkIdx = idx;
|
||||
if (this.checkIdx == 0) {
|
||||
$("#hsseCheck").show();
|
||||
$("#cqmsCheck").hide();
|
||||
}
|
||||
else {
|
||||
$("#hsseCheck").hide();
|
||||
$("#cqmsCheck").show();
|
||||
}
|
||||
},
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -7,6 +7,7 @@ using System.Linq;
|
|||
using System.Web.UI.WebControls;
|
||||
using System.Threading.Tasks;
|
||||
using FineUIPro.Web.ProjectData;
|
||||
using FineUIPro.Web.DataShow;
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
|
@ -87,12 +88,12 @@ namespace FineUIPro.Web.common
|
|||
var inspectionMachineList = (from x in db.Comprehensive_InspectionMachine where x.ProjectId == projectId select x).ToList();
|
||||
|
||||
//质量
|
||||
var cqmsProjectData = (from x in Funs.DB.Project_CQMSData_CQMS
|
||||
var cqmsProjectData = (from x in db.Project_CQMSData_CQMS
|
||||
where x.ProjectId == projectId
|
||||
select x).OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
||||
//质量培训人数
|
||||
//var cqmsTrainPersonNum = cqmsProjectData.TrainPersonNum;
|
||||
var cqmsTrainPersonNum = Funs.DB.Comprehensive_InspectionPerson.Where(x => x.IsTrain == true && x.ProjectId == projectId).Count();
|
||||
var cqmsTrainPersonNum = db.Comprehensive_InspectionPerson.Where(x => x.IsTrain == true && x.ProjectId == projectId).Count();
|
||||
|
||||
//var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
|
||||
// join y in Funs.DB.Check_JointCheck on x.JointCheckId equals y.JointCheckId
|
||||
|
@ -142,6 +143,17 @@ namespace FineUIPro.Web.common
|
|||
double inspectionPersonRate = inspectionPersonIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionPersonIsCheckOk / inspectionPerson)), 2) : 0;
|
||||
double inspectionMachineRate = inspectionMachineIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionMachineIsCheckOk / inspectionMachine)), 2) : 0;
|
||||
|
||||
//项目进度计划
|
||||
var scheduleList = (from x in db.Sys_Schedule
|
||||
where x.ProjectId == projectId
|
||||
orderby x.SortId
|
||||
select new
|
||||
{
|
||||
date = x.ScheduleDate,
|
||||
title = x.ScheduleName,
|
||||
description = x.ScheduleName,
|
||||
isClosed = DateTime.Now > x.ScheduleDate
|
||||
}).ToList();
|
||||
// 构造返回数据
|
||||
var returnData = new
|
||||
{
|
||||
|
@ -203,9 +215,13 @@ namespace FineUIPro.Web.common
|
|||
projectEndDate = string.Format("{0:yyyy-MM-dd}", project.EndDate),//项目到期时间
|
||||
projectEndDays = endDays > 0 ? endDays : 0,//合同倒计时
|
||||
},
|
||||
//xmjdData = new {//项目进度计划【待汇总】
|
||||
|
||||
//},
|
||||
xmjdData = scheduleList.Select(x => new
|
||||
{//项目进度计划
|
||||
x.isClosed,
|
||||
date = ((DateTime)x.date).ToString("yyyy-MM-dd"),
|
||||
x.title,
|
||||
x.description
|
||||
}),
|
||||
dangerousProject = new
|
||||
{//危大工程管控数据
|
||||
approvalCompleted = hsseData.CompletedNum ?? 0,//审批完成
|
||||
|
|
|
@ -2594,6 +2594,9 @@ namespace Model
|
|||
partial void InsertSys_RolePower(Sys_RolePower instance);
|
||||
partial void UpdateSys_RolePower(Sys_RolePower instance);
|
||||
partial void DeleteSys_RolePower(Sys_RolePower instance);
|
||||
partial void InsertSys_Schedule(Sys_Schedule instance);
|
||||
partial void UpdateSys_Schedule(Sys_Schedule instance);
|
||||
partial void DeleteSys_Schedule(Sys_Schedule instance);
|
||||
partial void InsertSys_Set(Sys_Set instance);
|
||||
partial void UpdateSys_Set(Sys_Set instance);
|
||||
partial void DeleteSys_Set(Sys_Set instance);
|
||||
|
@ -9837,6 +9840,14 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
public System.Data.Linq.Table<Sys_Schedule> Sys_Schedule
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.GetTable<Sys_Schedule>();
|
||||
}
|
||||
}
|
||||
|
||||
public System.Data.Linq.Table<Sys_Set> Sys_Set
|
||||
{
|
||||
get
|
||||
|
@ -363803,7 +363814,7 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
|
||||
public string PersonName
|
||||
{
|
||||
get
|
||||
|
@ -403874,6 +403885,164 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_Schedule")]
|
||||
public partial class Sys_Schedule : INotifyPropertyChanging, INotifyPropertyChanged
|
||||
{
|
||||
|
||||
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
|
||||
|
||||
private string _ScheduleId;
|
||||
|
||||
private string _ScheduleName;
|
||||
|
||||
private System.Nullable<System.DateTime> _ScheduleDate;
|
||||
|
||||
private string _ProjectId;
|
||||
|
||||
private System.Nullable<int> _SortId;
|
||||
|
||||
#region 可扩展性方法定义
|
||||
partial void OnLoaded();
|
||||
partial void OnValidate(System.Data.Linq.ChangeAction action);
|
||||
partial void OnCreated();
|
||||
partial void OnScheduleIdChanging(string value);
|
||||
partial void OnScheduleIdChanged();
|
||||
partial void OnScheduleNameChanging(string value);
|
||||
partial void OnScheduleNameChanged();
|
||||
partial void OnScheduleDateChanging(System.Nullable<System.DateTime> value);
|
||||
partial void OnScheduleDateChanged();
|
||||
partial void OnProjectIdChanging(string value);
|
||||
partial void OnProjectIdChanged();
|
||||
partial void OnSortIdChanging(System.Nullable<int> value);
|
||||
partial void OnSortIdChanged();
|
||||
#endregion
|
||||
|
||||
public Sys_Schedule()
|
||||
{
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ScheduleId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
|
||||
public string ScheduleId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._ScheduleId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._ScheduleId != value))
|
||||
{
|
||||
this.OnScheduleIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._ScheduleId = value;
|
||||
this.SendPropertyChanged("ScheduleId");
|
||||
this.OnScheduleIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ScheduleName", DbType="NVarChar(50)")]
|
||||
public string ScheduleName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._ScheduleName;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._ScheduleName != value))
|
||||
{
|
||||
this.OnScheduleNameChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._ScheduleName = value;
|
||||
this.SendPropertyChanged("ScheduleName");
|
||||
this.OnScheduleNameChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ScheduleDate", DbType="DateTime")]
|
||||
public System.Nullable<System.DateTime> ScheduleDate
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._ScheduleDate;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._ScheduleDate != value))
|
||||
{
|
||||
this.OnScheduleDateChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._ScheduleDate = value;
|
||||
this.SendPropertyChanged("ScheduleDate");
|
||||
this.OnScheduleDateChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._ProjectId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._ProjectId != value))
|
||||
{
|
||||
this.OnProjectIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._ProjectId = value;
|
||||
this.SendPropertyChanged("ProjectId");
|
||||
this.OnProjectIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SortId", DbType="Int")]
|
||||
public System.Nullable<int> SortId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._SortId;
|
||||
}
|
||||
set
|
||||
{
|
||||
if ((this._SortId != value))
|
||||
{
|
||||
this.OnSortIdChanging(value);
|
||||
this.SendPropertyChanging();
|
||||
this._SortId = value;
|
||||
this.SendPropertyChanged("SortId");
|
||||
this.OnSortIdChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public event PropertyChangingEventHandler PropertyChanging;
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected virtual void SendPropertyChanging()
|
||||
{
|
||||
if ((this.PropertyChanging != null))
|
||||
{
|
||||
this.PropertyChanging(this, emptyChangingEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void SendPropertyChanged(String propertyName)
|
||||
{
|
||||
if ((this.PropertyChanged != null))
|
||||
{
|
||||
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_Set")]
|
||||
public partial class Sys_Set : INotifyPropertyChanging, INotifyPropertyChanged
|
||||
{
|
||||
|
@ -482650,7 +482819,7 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
|
||||
public string PersonName
|
||||
{
|
||||
get
|
||||
|
@ -486408,7 +486577,7 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
|
||||
public string PersonName
|
||||
{
|
||||
get
|
||||
|
@ -494691,7 +494860,7 @@ namespace Model
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
|
||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
|
||||
public string PersonName
|
||||
{
|
||||
get
|
||||
|
|
Loading…
Reference in New Issue