using Lskj.Business.Impl; using Lskj.Control; using Lskj.Control.Model; using Lskj.Model; using Lskj.Util; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Lskj.ProductSched { public partial class FrmMain : BaseForm { public DynamicProductSchedModel Model; // 动态链接库对象 public FrmMain() { InitializeComponent(); this.Load += OnFrmMainLoad; } /// /// 初始化时 /// /// /// private void OnFrmMainLoad(object sender, EventArgs e) { frmProductSched.OnLoad(Model); } /// /// 获取数据源缓存 /// /// public void GetDataCaches(Dictionary cachesDic) { //全局数据 Task dynamicModelTask = cachesDic.AddTask(this, "DynamicModel", new Task(() => { return Model;//动态链接库对象 })); Task systemDllRowTask = cachesDic.AddTask(this, "SystemDllRow", new Task(() => { return MainImpl.GetSystemdllTab(Model.ModuleCode);//获取单个模块信息 })); Task sysModelTask = cachesDic.AddTask(this, "SysModel", new Task(() => { ModuleModel sysModel = new ModuleModel(systemDllRowTask.Result); return sysModel;//系统模块实体对象 })); Task> detailTask = cachesDic.AddTask(this, "Details", new Task>(() => { DataTable detailPages = BaseModuleImpl.GetBaseDetailPages(Model.ModuleCode);//根据传入的模块编号获得基础档案底部标签的数据 List details = new List();//表格明细对象的集合 foreach (DataRow item in detailPages.Rows) { GridDetailModel gridDetailModel = new GridDetailModel(item, null, GridCustomColumnStruct.BaseDetailGridView); details.Add(gridDetailModel); Task addGridColumnsTask = cachesDic.AddTask(gridDetailModel, "GridColumns", new Task(() => { DataTable gridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");//获取报表明细列 gridDetailModel.GridColumns = gridColumns; return gridColumns; })); } return details; })); Task formTypeTask = cachesDic.AddTask(this, "FormType", new Task(() => { return BaseImpl.GetBaseType(Model.ModuleCode); })); Task privilegeTask = cachesDic.AddTask(this, "Privilege", new Task(() => { return Model.Privilege.Equals("3") ? "1" : Model.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(Model.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(Model.ModuleCode) + "";// 权限(1.有操作权限.0.无权限.2.只读权限.3.右键配置权限全部开放) })); //添加数据到mControl cachesDic.AddTask(frmProductSched, "DynamicModel", dynamicModelTask); cachesDic.AddTask(frmProductSched, "SystemDllRow", systemDllRowTask); cachesDic.AddTask(frmProductSched, "SysModel", sysModelTask); cachesDic.AddTask(frmProductSched, "Details", detailTask); //获取mControl控件的数据 frmProductSched.GetDataCaches(cachesDic); } } }