版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MES订单管理系统开发案例实训指导书一、实训目的本课程的教学目的是让学生掌握工业生产系统中订单管理系统开发案例的开发流程和关键技术。从系统的需求分析出发,了解到开发需要实现和满足的实际业务功能点;然后根据功能点之间的逻辑关系,使用Modelfirst工具绘制数据库表之间的ER关系图。再根据每一个功能点,绘制对应的功能界面以及使用VisualStudio2019开发工具补充对应的后台逻辑,最后形成一个完整的订单管理系统功能。通过综合实训帮助学生全面牢固地掌握教学内容、培养学生的实践动手能力,提高学生综合运用专业知识和专业技能解决实际问题的能力,强化课堂教学与实践教学相结合,锻炼学生的职业能力。二、实训准备1、掌握C#编程开发技能。2、了解工业生产系统工艺路线、工单等相关的业务知识。3、事先学习基于SIE开发包的单表、主从表的开发课程。4、安装好实训开发环境,下载实训工程源代码。三、实训环境Windows10操作系统、Visual
Studio2019开发工具安装、安装ODAC、安装Oracle客户端、安装PLSQL、安装EAP.Modelfirst四、实训步骤详细开发步骤本实训让学生体验一个完整项目从设计到开发的全过程,包括系统的需求分析到功能设计、数据库设计、页面设计、及功能实现等。通过本指导书展开详细的开发步骤。任务一:订单管理系统的实体建模和项目启动双击打开ModelFirst工具,右边的项目总管的命名层级与VS解决方案的项目工程一致,见图1-1。图1-1ModelFirst工具项目总管MES订单管理系统的八张表的建模以及之间的关系如下:物料表以及枚举类、之间的关系UML建模如图1-2,目录层级如图1-3工序表以及枚举类、之间的关系UML建模如图1-4,目录层级如图1-5工艺路线表相关的UML建模如图1-6,目录层级如图1-7工单表相关的UML建模如图1-8,目录层级如图1-9附加子表-工艺路线UML建模如右图1-10,目录层级同1-9附加子表-报工记录UML建模如右图1-11,目录层级同1-9附加子表-工单状态日志UML建模如右图1-12,目录层级同1-9附加子表-任务单列表UML建模如右图1-13,目录层级同1-9图1-2物料表UML建模 图1-3物料表建模目录层级图1-4工序表UML建模 图1-5工序表建模目录层级图1-6工艺路线表UML建模 图1-7工艺路线建模目录层级图1-8工单表UML建模图1-10附加子表-工艺路线UML建模 图1-9工单建模目录层级图1-11附加子表-报工记录UML建模图1-12附加子表-工单状态日志UML建模图1-13附加子表-任务单列表UML建模MES订单管理系统代码生成:实体类代码生成:鼠标右键选中需要生成代码的实体类,点击生成代码(图1-14),在弹窗中选中2018下面的模板(Entity.mft和WebViewConfig.mft),点击“Generate”生成代码即可生成完毕(图1-15)枚举类代码生成:鼠标右键选中需要生成代码的枚举类,点击生成代码(图1-16)。在弹窗中选中2018下面的模板(Entity.mft),点击“Generate”生成代码即可生成完毕(1-17)图1-14实体类代码生成 图1-15实体类代码生成选择的模板图1-16枚举类代码生成 图1-17枚举类代码生成选择的模板将生成的代码放入指定文件夹,并解决报错:将生成的”实体类.cs”文件连同文件夹(实体类s)一起放在SIE.Demo工程下面,并且在”实体类s”文件夹下创建Enum文件夹,并把生成的枚举类放入其中。将生成的”实体类ViewConfig.cs”文件连同文件夹(实体类s)一起放在SIE.Web.Demo工程下面。点击SIE.Demo工程下的”实体类s”文件夹下的”实体类.cs”,导入枚举类相关的包、DataEntity相关的包从而解决报错。注意:上述代码生成会产生四个文件夹(Items、Processes、ProcessRoutes、WorkOrders),其中工单和其附加子表都放在WorkOrders文件夹中。配置视图以及代码段添加字段:物料表:点击物料表的视图类ItemViewConfig.cs,配置列表视图和下拉视图见1-18,并且在物料表实体类Item.cs的类上加上”[DisplayMember(nameof(Code))]”标记,从而实现下拉物料回显物料编码。工序表:点击工序视图类ProcessViewConfig.cs,配置列表视图和下拉视图见1-19,并且在工序表实体类Process.cs类中加上”[DisplayMember(nameof(Name))]”标记,从而实现下拉工序回显工序名称。工艺路线表:点击工艺路线实体类ProcessRoute.cs,通过代码段(PFViewProperty)添加”产品名称”视图属性由Item.Name带出(见图1-20)。然后点击工艺路线表视图类ProcessRouteViewConfig.cs,配置列表视图(见图1-21)。工单表:点击工单实体类WorkOrder.cs,通过代码段(PFViewProperty)添加”产品名称”视图属性由Item.Name带出(可以参考图1-20)。然后点击工单视图类WorkOrderViewConfig.cs,在配置列表视图中添加Item的下拉编辑器带出产品名称,同图1-21中的红色标注部分。修改附加子表与父表的关系:将工单的附加子表(OrderRoute.cs、ReportingJournal.cs、TaskList.cs、WorkJournal.cs)实体类中的工单外键(WorkOrder)的WorkOrderIdProperty属性的ReferenceType从Normal(一般外键引用)改成Parent(父实体的引用),见图1-22。附加子表添加字段:在OrderRoute.cs实体类中通过代码段(PFProperty)添加两个string类型的字段(图1-23),并配置不映射数据库(图1-24);在WorkJournal.cs实体类中通过代码段(PFProperty)添加一个工单状态的枚举字段,名为”改变后工单状态”见图1-25;在TaskList.cs实体类中通过代码段(PFViewProperty)添加string类型的视图属性”ProcessName工序名称”,由工序外键带出(见图1-26),并添加员工表(SIE.Common.Employees.Employee)外键。然后添加一些报工需要的字段(见图1-27),配置上述员工外键和报工字段(图1-27中的所有字段)不映射数据库。配置附加子表的列表视图:配置WorkJournalViewConfig.cs视图类的列表视图(图1-28);配置ReportingJournalViewConfig.cs视图类的列表视图(图1-29);配置TaskListViewConfig.cs视图类的列表视图(图1-30)配置初始菜单,并启动项目生成数据库:在SIE.Web.Demo的DemoUiModule.cs中配置初始菜单(见图1-31),运行项目找到菜单功能,配置菜单,并点击实体元数据(数据字典)生成数据库。做完上述第一个任务就完成了,下面就进入到了每个功能的细化开发了。图1-18物料表配置列表视图(左)、配置下拉视图(右)图1-19工序表配置列表视图(左)、配置下拉视图(右)图1-20工艺路线实体类添加视图属性 图1-21工艺路线配置列表视图图1-22改变工单的四个附加子表中的工单外键关系 图1-24字段不映射数据库图1-23OrderRoute.cs实体类中通过代码段添加字段 图1-25WorkJournal.cs类中添加的枚举字段图1-26TaskList.cs类中代码段添加的视图属性 图1-27TaskList.cs类中代码段添加的报工字段图1-28WorkJournalViewConfig.cs类列表视图 图1-29ReportingJournalViewConfig.cs类列表视图图1-30TaskListViewConfig.cs类列表视图 图1-31在DemoUiModule.cs类中配置初始菜单任务二:物料表的开发启用禁用的实现:点击Item.cs类,在类中使用代码段(PFProperty)添加”State状态”字段,这个字段类型是SIE.Domain.State下的枚举类(见图2-1)。在Item.cs类中,实现IStateEntity接口(SIE.Domain.IStateEntity)图2-1Item.cs类中通过代码段添加的”状态”字段字段的校验:被引用不允许删除的校验:在SIE.Demo项目的Items文件夹下面创建一个物料规则校验类(ItemRule.cs),该类继承:NoReferencedRule<T>,泛型T指定为我们的Item实体类(代码见图2-2)。标准规则进行校验:在Item.cs类中的ItemConfig类下面重写AddValidations,在重写的方法内进行标准规则校验,具体见图2-3图2-2ItemRule.cs类被引用不允许删除 图2-3Item.cs实体类的参数校验重写查询实现模糊查询:见重写查询专栏重写添加命令给物料赋初值(可用):在SIE.Web.Demo的Items文件夹下创建Commands文件夹,在Commands文件夹下面创建添加命令的js类。命名规范:命令名称+类名.js。然后鼠标右键这个命令,点击属性->生成操作->嵌入的资源。重写的添加命令(见图2-4)在ItemViewConfig.cs中的配置列表视图中替换框架的添加命令为我们刚刚创建的添加命令(见图2-5)图2-4重写Item表的添加命令图2-5替换掉框架默认的添加命令任务三:工序表的开发字段的校验被引用不允许删除的校验:在SIE.Demo项目的Processes文件夹下面创建一个工序规则校验类(ProcessRule.cs),该类继承:NoReferencedRule<T>,泛型T指定为我们的Process实体类(代码见图3-1)标准规则进行校验:在Process.cs类中的ProcessConfig类下面重写AddValidations方法,在重写的方法内进行标准规则校验,具体见图3-2图3-1ProcessRule.cs类被引用不允许删除 图3-2Process.cs实体类的参数校验重写查询实现模糊查询:见重写查询专栏任务四:工艺路线表的开发字段的校验标准规则进行校验:在ProcessRoute.cs类中的ProcessRouteConfig类下面重写AddValidations方法,在这里面进行标准规则的校验。具体代码见附录”工艺路线标准规则校验”。重写保存命令进行校验:在SIE.Web.Demo工程下的ProcessRoutes文件夹下创建Commands文件夹用于存放命令文件,然后重写保存命令,记得嵌入资源。保存命令的js文件如图4-1,cs文件见附录”工艺路线保存命令cs”,该cs文件所调用的Controller内的方法见图4-2。然后在ProcessRouteViewConfig.cs类中替换框架默认的保存命令为我们刚刚重写的保存命令。图4-1工艺路线保存命令js图4-2工艺路线保存命令后端调用的controller的方法重写查询实现模糊查询:见重写查询专栏任务五:工单相关功能的开发字段的校验点击SIE.Demo模块下的WorkOrders文件夹中的WorkOrder.cs类,在WorkOrderConfig类中下面重写AddValidations方法,具体见附录”工单标准规则校验”。配置项自动生成工单号的实现在SIE.Web.Demo项目的WorkOrders文件夹下创建Commands文件夹在Commands文件夹下面创建添加命令的js类。命名规范:命令名称+类名.js。然后鼠标右键这个命令,点击属性->生成操作->嵌入的资源。命令的js代码见附录”AddWorkOrderCommand.js”在SIE.Demo项目的WorkOrders文件夹下创建WorkOrderController.cs类,该类继承DomainController,并写一个获取工单配置项规则自动生成工单号的方法(GetOrderNumber()方法),如图5-1。在第一步的Commands文件夹下创建一个与第一步的添加命令同名的cs类,该类继承ViewCommand,并重写Excute方法,在Excute方法内调用第二步中的GetOrderNumber()方法获取配置项自动生成的工单号。在SIE.Web.Demo模块中的WorkOrderViewConfig.cs类中的配置列表视图中替换添加命令,注意这里使用typeof指定我们刚刚开发的添加命令的cs类(顺便提醒一下js别忘记了嵌入资源)。记得开启表单编辑模式(View.FormEdit())如图5-2,然后顺便配置一下明细视图,因为表单编辑是走明细视图的。在SIE.Demo模块的WorkOrder.cs类中使用框架自带的配置项生成规则(注意,等项目跑起来了可以在工单页面的配置项中配置工单的生成规则,只要配置好了之后,就可以注释掉这个标记,防止配置项命令出现在工单中)如图5-3在SIE.Web.Demo模块的WorkOrders文件夹中创建Behaviors文件夹,并且创建AddWorkOrderBehavior.js行为,重写:onCreated()方法,并且在WorkOrderViewConfig的配置明细视图中使用该行为。如图5-4、5-5启动项目,在系统自带的配置项功能中配置一下工单号的生成算法。配置完成之后就能在添加工单的时候,在新的tap页中有系统自动生成的工单号了,然后就可以注释掉工单实体类上的那个配置项标记(参考5-3)。图5-1工单controller中获取配置项生成的工单号的方法图5-2WorkOrderViewConfig.cs中使用添加命令图5-3WorkOrder.cs中开启系统配置项规则的标记图5-4在Behaviors文件夹中定义添加工单的行为图5-5在WorkOrderViewConfig的配置明细视图中使用行为工艺路线附加到工单SIE.Demo中的WorkOrders文件夹下创建扩展文件夹(Extention),并在该文件夹下创建工单扩展类(WorkOrderExtention.cs),然后通过代码段(PFPropertyExtensionList)添加附加列表属性。记得在扩展类上加[SIE.ManagedProperty.CompiledPropertyDeclarer]标记。见图5-6在OrderRouteViewConfig.cs类中定义视图常量OrderRouteViewGroup,并且配置该视图(见图5-7)。在工单的视图配置类WorkOrderViewConfig中的配置列表视图和配置明细视图中使用AssociateChildrenProperty属性进行附加子表,其中列表视图要指定视图为OrderRouteViewConfig类下定义的OrderRouteViewGroup视图常量,明细视图不要指定。列表视图的附加如图5-8所示,其中用到的controller的方法见5-9。点击OrderRouteViewConfig.cs类,配置工艺路线附加表的列表视图(见图5-10)。其中用到的controller内的方法见图(5-11)。对附加子表中的属性进行校验:点击OrderRoute.cs类,重写AddValidations方法进行参数校验,代码见附录”附加子表-工艺路线标准规则校验”图5-6工艺路线扩展属性图5-7定义附加子表-工艺路线的视图图5-8工单列表视图-工艺路线附加到工单图5-9上一张图中调用的方法:获取附加子表-工艺路线图5-10配置OrderRouteViewConfig.cs列表视图 图5-11左图中调用的方法工单属性变更事件在之前开发的AddWorkOrderBehavior.js行为中重写onViewReady()方法,注册属性变更事件,并定义实现该事件(图5-12)。当ItemId或者WorkOrderType发生改变触发相应的处理函数,在函数中发送请求获取数据(发送请求需导入myAjax函数,见附录”myAjax”),并映射到页面中(图5-13)。第二步的函数发送请求走的是DataQueryer类,所以我们在SIE.Web.Demo项目下创建DataQuerys文件夹,并创建WorkOrderDataQuery.cs类,该类继承DataQueryer类,并定义第二步中请求接收的方法GetOrderRouteListByArgs,在该方法内我们处理相应业务逻辑(见附录”WorkOrderDataQuery”)。其中该方法调用的controller中的方法附录”ProcessRouteController”。图5-12注册并实现工单的物料和工单类型的属性变更事件图5-13属性变更发送请求并执行回调函数重写工单保存命令为什么重写工单的保存命令:为了实现保存后自动关闭工单页面、并且校验附加的子表-工艺路线是否满足顺序条件、是否满足需求文档上的各种条件。工单保存命令js文件如图5-14。保存命令的cs文件的开发:继承FormSaveCommand,并且类名要和上一步的js文件一致,重写DoSave方法,目的是为了在进行保存的时候给一些字段赋初值,重写Excute方法为了校验子表数据是否满足需求。代码见附件”SaveWorkOrderCommand”。图5-14重写工单保存命令重写工单修改命令需求分析:需求文档上要求只能修改:发放暂停、生产中暂停状态下的工单,并且两种状态的工单能修改的东西是不一样的,因此需要重写修改命令。重写修改命令的canExecute方法,该方法判断中判断工单状态,如果是发放暂停或者是生产中暂停,返回true让按钮亮起,否则则返会false让按钮置灰(图5-15)。在WorkOrderViewConfig的配置明细视图中,根据工单状态设置字段的Readonly属性(如图5-16)。在AddWorkOrderBehavior行为中去除修改生产中暂停的工单的附加子表-工艺路线的操作命令,如图(5-17)。在WorkOrderViewConfig的配置列表视图中使用我们刚刚重写的修改命令。图5-15重写工单修改命令图5-16配置工单明细视图图5-17行为中移除指定视图中的命令工单复制新增的实现重写复制新增命令(继承SIE.cmd.Copy),在_setCopyEntity方法中发送非异步请求(发送请求记得导入附件的”myAjax”函数)到后端获取一个配置项自动生成的工单号,并给一些字段赋初值(代码见附件”CopyWorkOrderCommand”)。注意:CopyWorkOrderCommand中发送请求给WorkOrderDataQuery中的GetOrderNumber方法,源码见附件”WorkOrderDataQuery”。解决一个很奇怪的bug:在AddWorkOrderBehavior里面重写onDataLoaded方法,该方法会在view数据加载后执行,在该方法内判断view.getCurrent()[0]的工单状态是否和view.getCurrent().data的工单状态相同,不相同则把工单状态设置为4(发放暂停)。Bug复现:复制新增一笔工单,然后暂停工单(后面会开发),再去修改工单(比如修改一下计划数量),点击保存之后,工单状态会变成发放。Bug产生的原因当作小练习,第三步只是避免这个bug的一种方式。工单数据导入的实现在工单的Commands文件夹下创建一个导入命令的js类(图5-18)并嵌入资源,再创建一个cs类(如图5-19),两个类的名字一定要相同。在后端的WorkOrders文件夹下创建WorkOrderImportHandle.cs类,实现IDisposable,IBusinessImport接口,并且加上[Services.Service(FallbackType=typeof(WorkOrderImportHandle),ServiceLifeStyle=Services.ServiceLifeStyle.Transient)]标记。代码见附件”WorkOrderImportHandle”,里面注释写的比较清晰。在WorkOrderViewConfig中重写ConfigImportView方法,配置导入模板的表头。在WorkOrderViewConfig的配置列表视图中使用我们重写的导入命令。图5-18重写工单导入命令js图5-19重写工单导入命令cs查看工单的实现在工单的Commands文件夹下面创建一个WatchWorkOrderCommand命令,继承修改命令,重写showView,在showView方法内配置视图组(图5-20)。在WorkOrderViewConfig中定义、授权、使用、配置查看工单的视图组(图5-21),工单的视图配置类见附件”WorkOrderViewConfig”。在WorkOrderViewConfig的配置列表视图中使用我们刚刚开发的查看工单命令。图5-20查看工单命令图5-21定义、授权查看工单视图组工单状态日志附加到工单点击后端WorkOrders文件夹下的Extention文件下的WorkOrderExtention.cs类,代码段(PFPropertyExtensionList)添加工单日志的扩展列表属性(图5-22)。将工单状态日志附加到查看工单视图:点击工单视图配置类WorkOrderViewConfig,在WatchWorkOrderView方法内将工单操作日志附加上去(图5-23),附加内调用的WorkOrderController见附件”WorkOrderController”。图5-22工单状态日志扩展列表属性图5-23工单状态日志附加到工单的查看工单视图暂停工单的实现在WorkOrder实体类中用代码段(PFProperty)添加两个string类型的字段Reason(原因)、IsPause(是否暂停),并且配置不映射数据库。在工单的Commands文件夹下创建命令PauseWorkOrderCommand.js,继承修改命令,重写canExecute判断什么状态的工单可以暂停,重写setDialogAttribute方法设置弹窗大小,重写showView弹框处理后续逻辑。代码见附件”PauseWorkOrderCommand”。补充说明:PauseWorkOrderCommand.js中的saveWorkOrderJournal_1方法发送了请求到WorkOrderDataQuery,在WorkOrderDataQuery中调用了WorkOrderController中的方法,具体见附件”WorkOrderDataQuery”和”WorkOrderController”。在WorkOrderViewConfig的配置列表视图中使用上述开发的命令,记得嵌入资源哦。在工单视图配置类WorkOrderViewConfig中定义并授权暂停弹窗命令中使用的视图组PurchaseOrderView,图5-21中可以看到。然后配置一下上述视图(见图5-24)图5-24配置暂停工单的弹窗视图(后续恢复和强制关闭也是走这个视图)恢复工单的实现在工单的Commands文件夹下创建命令WorkOrderLaunchCommand.js,继承修改命令,重写canExecute判断什么状态的工单可以恢复,重写setDialogAttribute设置弹窗大小,重写showView弹框处理后续逻辑。代码见附件”WorkOrderLaunchCommand”。在WorkOrderViewConfig的配置列表视图中使用上述开发的命令,记得嵌入资源哦。该命令实现步骤类似暂停工单,可去暂停工单的实现查看。强制关闭工单的实现在工单的Commands文件夹下创建命令ShutWorkOrderCommand.js,继承修改命令,重写canExecute判断什么状态的工单可以关闭,重写setDialogAttribute设置弹窗大小,重写showView弹框处理后续逻辑。代码见附件”ShutWorkOrderCommand”。在WorkOrderViewConfig的配置列表视图中使用上述开发的命令,记得嵌入资源哦。该命令实现步骤类似暂停工单,可去暂停工单的实现查看。附加任务单列表到工单打开后端的WorkOrders文件夹下的Extention文件夹的WorkOrderExtention.cs类,添加任务单列表扩展列表属性(代码段:PFPropertyExtensionList)见图5-25。打开WorkOrderViewConfig,在工单的配置列表视图中附加任务单列表(图5-26),其中调用的WorkOrderController中的方法参考附件,注意,列表视图请把工艺路线放前面,不然复制新增命令复制不到工艺路线。图5-25附加子表-任务单列表扩展属性图5-26任务单列表附加到工单列表视图中附加报工记录到工单打开后端的WorkOrders文件夹下的Extention文件夹的WorkOrderExtention.cs类,添加报工记录扩展列表属性(代码段:PFPropertyExtensionList)见图5-27。打开WorkOrderViewConfig,在工单的配置列表视图中附加报工记录(图5-28),其中调用的WorkOrderController中的方法参考附件,注意,列表视图请把工艺路线放前面,不然复制新增命令复制不到工艺路线。图5-27附加子表-报工记录扩展属性图5-28报工记录附加到工单列表视图中生成任务单的实现在工单的Commands文件夹下创建GenerateTaskCommand.js,并嵌入资源。继承编辑命令,重写canExecute判断工单是否生成过任务单,重写showView方法处理确认之后的回调逻辑,具体代码见附件”GenerateTaskCommand”。补充:在GenerateTaskCommand.js中调用了WorkOrderDataQuery中的GenerateTaskList方法,GenerateTaskList方法调用了WorkOrderController的GenerateTaskList方法,这几个文件之前已经给过了,见附录。在WorkOrderViewConfig中的配置列表视图中使用刚刚开发的生成任务单命令。下达功能的实现需求说明:点击没有生成过任务单的工单,生成任务单按钮亮起,点击生成任务单按钮弹出对话框询问是否确认,点击确认则按该工单的工艺路线来生成任务单,任务数量与工单计划数量一致,并且进行派工(工号为SMDC的员工)在工单的Commands文件夹下创建ReleaseTaskCommand.js文件,并嵌入资源。继承编辑命令,重写canExecute判断工单是否生成过任务单,重写showView方法处理确认之后的回调逻辑。源码见附录”ReleaseTaskCommand”。补充:在ReleaseTaskCommand.js中调用了WorkOrderDataQuery中的GenTaskAndExpatriateMDC方法,GenTaskAndExpatriateMDC方法调用了WorkOrderController的GenTaskAndExpatriateMDC方法,这几个文件之前已经给过了,见附录。在WorkOrderViewConfig中的配置列表视图中使用刚刚开发的下达命令,然后启动项目测试效果。派工功能的实现需求说明:点击状态为待派工的任务单,派工按钮亮起。点击派工,弹出弹窗下拉选择员工,然后点击确定则成功派工,派工之后要改变任务单状态、记录任务执行对象。在工单的Commands文件夹下创建ExpatriateTaskListCommand.js文件,并嵌入资源。继承编辑命令,重写canExecute方法判断工单是否生成过任务单,重写showView方法处理确认之后的回调逻辑,重写setDialogAttribute方法设置弹窗大小。源码见附录中的”ExpatriateTaskListCommand”文件。补充:在ExpatriateTaskListCommand.js中调用了WorkOrderDataQuery中的DoExpatriate方法,DoExpatriate方法调用了WorkOrderController的DoExpatriate方法,这几个文件之前已经给过了,见附录。在TaskListViewConfig.cs中的配置列表视图中使用刚刚开发的派工命令。在TaskListViewConfig中的定义派工视图,并授权和配置派工视图。具体可以见图5-29、5-30。图5-29定义任务单列表中的派工视图图5-30配置任务单列表中的派工视图报工功能的实现需求说明:点击状态为发放或生产中的工单下的状态为已派工、执行中的任务单,报工按钮亮起。点击报工,弹出弹窗显示一些数量,并且可用填写一些值,点击确定则走报工逻辑,具体请看需求文档。在工单的Commands文件夹下创建ReportingTaskListCommand.js文件,并嵌入资源。继承编辑命令,重写canExecute判断工单状态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 感谢老师的发言稿15篇
- 心理健康观后感
- 易错题31 语言文字运用之词语效果题-不结合文意分析词语效果高考语文备战2025年高考易错题(新高考专用)含解析
- 愚人节日记资料
- 怦然心动观后感(集合15篇)
- 投资管理公司介绍
- 怦然心动观后感6篇
- 初级会计经济法基础-初级会计《经济法基础》点睛试卷13
- 中国发光二极管(LED)行业市场发展前景研究报告-智研咨询发布
- 智研咨询发布:2024年中国异丙醇行业竞争格局及发展前景研究报告
- 2025年度厨师职业培训学院合作办学合同4篇
- 《组织行为学》第1章-组织行为学概述
- 市场营销试题(含参考答案)
- 2024年山东省泰安市高考物理一模试卷(含详细答案解析)
- 护理指南手术器械台摆放
- 肿瘤患者管理
- 四川省成都市高新区2024年七年级上学期语文期末试卷【含答案】
- 2025年中国航空部附件维修行业市场竞争格局、行业政策及需求规模预测报告
- 国土空间生态修复规划
- 1-1《送瘟神》课件-高教版中职语文职业模块
- (高清版)DZT 0399-2022 矿山资源储量管理规范
评论
0/150
提交评论