| <?xml version="1.0" encoding="UTF-8"?> | 
| <ViewConfig> | 
|   <Arguments/> | 
|   <Context/> | 
|   <Model> | 
|     <DataType name="dtTiming"> | 
|       <Property name="creationType">com.ld.igds.models.Timing</Property> | 
|       <PropertyDef name="id"> | 
|         <Property></Property> | 
|         <Property name="label">ID</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="name"> | 
|         <Property></Property> | 
|         <Property name="label">任务名称</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="depotId"> | 
|         <Property></Property> | 
|         <Property name="label">所属仓库</Property> | 
|         <Property name="mapping"> | 
|           <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> | 
|           <Property name="keyProperty">id</Property> | 
|           <Property name="valueProperty">name</Property> | 
|         </Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="companyId"> | 
|         <Property></Property> | 
|         <Property name="label">组织编码</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="type"> | 
|         <Property></Property> | 
|         <Property name="label">检测类型</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="disabledTag"> | 
|         <Property></Property> | 
|         <Property name="label">禁用标志</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="hour"> | 
|         <Property name="dataType">int</Property> | 
|         <Property name="label">执行时间</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="minute"> | 
|         <Property name="dataType">int</Property> | 
|         <Property name="label">执行分钟</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="appointTime"> | 
|         <Property name="dataType">Date</Property> | 
|         <Property name="label">指定时间</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="week"> | 
|         <Property></Property> | 
|         <Property name="label">星期</Property> | 
|         <Property name="mapping"> | 
|           <Property name="mapValues"> | 
|             <Collection> | 
|               <Entity> | 
|                 <Property name="value">周一</Property> | 
|                 <Property name="key">MON</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">周二</Property> | 
|                 <Property name="key">TUE</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">周三</Property> | 
|                 <Property name="key">WED</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">周四</Property> | 
|                 <Property name="key">THU</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">周五</Property> | 
|                 <Property name="key">FIR</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">周六</Property> | 
|                 <Property name="key">SAT</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">周日</Property> | 
|                 <Property name="key">SUN</Property> | 
|               </Entity> | 
|             </Collection> | 
|           </Property> | 
|           <Property name="keyProperty">key</Property> | 
|           <Property name="valueProperty">value</Property> | 
|         </Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="timType"> | 
|         <Property></Property> | 
|         <Property name="label">定时类型</Property> | 
|         <Property name="mapping"> | 
|           <Property name="keyProperty">key</Property> | 
|           <Property name="valueProperty">value</Property> | 
|           <Property name="mapValues"> | 
|             <Collection> | 
|               <Entity> | 
|                 <Property name="value">每周</Property> | 
|                 <Property name="key">week</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">每天</Property> | 
|                 <Property name="key">day</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">指定时间</Property> | 
|                 <Property name="key">hour</Property> | 
|               </Entity> | 
|             </Collection> | 
|           </Property> | 
|         </Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="updateTime"> | 
|         <Property name="dataType">DateTime</Property> | 
|         <Property name="label">更新时间</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="updateUser"> | 
|         <Property></Property> | 
|         <Property name="label">更新人</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="remarks"> | 
|         <Property></Property> | 
|         <Property name="label">备注信息</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="cron"> | 
|         <Property></Property> | 
|         <Property name="label">解析信息</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="job"> | 
|         <Property name="dataType">dtJobDefinition</Property> | 
|       </PropertyDef> | 
|       <Reference name="items"> | 
|         <Property name="dataProvider">timerPR#getTimDepot</Property> | 
|         <Property name="parameter">$${this.id}</Property> | 
|         <Property name="dataType">[dtTimingDepot]</Property> | 
|       </Reference> | 
|     </DataType> | 
|     <DataType name="dtJobDefinition"> | 
|       <Property name="creationType">com.bstek.bdf2.job.model.JobDefinition</Property> | 
|       <PropertyDef name="id"> | 
|         <Property></Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="companyId"> | 
|         <Property></Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="name"> | 
|         <Property></Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="beanId"> | 
|         <Property></Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="cronExpression"> | 
|         <Property></Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="desc"> | 
|         <Property></Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="startDate"> | 
|         <Property name="dataType">Date</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="endDate"> | 
|         <Property name="dataType">Date</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="state"> | 
|         <Property name="label">运行状态</Property> | 
|         <Property name="mapping"> | 
|           <Property name="mapValues"> | 
|             <Collection> | 
|               <Entity> | 
|                 <Property name="value">待命</Property> | 
|                 <Property name="key">ready</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">停止中</Property> | 
|                 <Property name="key">stopping</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">停止</Property> | 
|                 <Property name="key">stop</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">启动中</Property> | 
|                 <Property name="key">running</Property> | 
|               </Entity> | 
|               <Entity> | 
|                 <Property name="value">运行中</Property> | 
|                 <Property name="key">run</Property> | 
|               </Entity> | 
|             </Collection> | 
|           </Property> | 
|           <Property name="keyProperty">key</Property> | 
|           <Property name="valueProperty">value</Property> | 
|         </Property> | 
|       </PropertyDef> | 
|     </DataType> | 
|     <DataType name="dtTimingDepot"> | 
|       <Property name="creationType">com.ld.igds.models.TimingDepot</Property> | 
|       <PropertyDef name="id"> | 
|         <Property></Property> | 
|         <Property name="label">ID</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="depotId"> | 
|         <Property></Property> | 
|         <Property name="label">仓库名称</Property> | 
|         <Property name="mapping"> | 
|           <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> | 
|           <Property name="keyProperty">id</Property> | 
|           <Property name="valueProperty">name</Property> | 
|         </Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="companyId"> | 
|         <Property></Property> | 
|         <Property name="label">组织编码</Property> | 
|       </PropertyDef> | 
|       <PropertyDef name="timId"> | 
|         <Property></Property> | 
|         <Property name="label">定时配置ID</Property> | 
|       </PropertyDef> | 
|     </DataType> | 
|   </Model> | 
|   <View layout="padding:5;regionPadding:5"> | 
|     <ClientEvent name="onReady">/**
 | 
|  * 配置规则渲染说明
 | 
|  * @param {Object} arg
 | 
|  * @param {Object} self
 | 
|  */
 | 
| weekRenderCell = function(arg,self){
 | 
|     var data = arg.data;
 | 
|     var week = data.get("week");
 | 
|     var result = "";
 | 
|     if(data.get("timType")=="day"){
 | 
|         result = "每天:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|     }
 | 
|     if(data.get("timType")=="week"){
 | 
|         if(week == "MON") result = "每周一:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|         if(week == "TUE") result = "每周二:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|         if(week == "WED") result = "每周三:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|         if(week == "THU") result = "每周四:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|         if(week == "FRI") result = "每周五:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|         if(week == "SAT") result = "每周六:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|         if(week == "SUN") result = "每周日:"+data.get("hour")+"点"+data.get("minute")+"分 执行";
 | 
|     }
 | 
|     if (data.get("timType") == "hour") {
 | 
|         if(data.get("appointTime")){
 | 
|             result = "指定时间:"+data.get("appointTime").formatDate("Y年m月d日 H点i分s秒") +" 执行。"
 | 
|         }else{
 | 
|             result = "指定时间:执行。";
 | 
|         }
 | 
|     }
 | 
|     arg.dom.innerHTML = result;
 | 
| };</ClientEvent> | 
|     <Property name="packages">font-awesome,css-common</Property> | 
|     <DataSet id="dataSetTiming"> | 
|       <Property name="dataType">[dtTiming]</Property> | 
|       <Property name="dataProvider">timerPR#getTiming</Property> | 
|       <Property name="parameter"> | 
|         <Entity> | 
|           <Property name="type">grain</Property> | 
|         </Entity> | 
|       </Property> | 
|     </DataSet> | 
|     <ToolBar> | 
|       <Property name="ignored">true</Property> | 
|       <ToolBarLabel> | 
|         <Property name="text">菜单栏:</Property> | 
|       </ToolBarLabel> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var type = "${request.getParameter('type')}";
 | 
| var ds = null;
 | 
| var af = null;
 | 
| if(index == 0){
 | 
|     type = "grain";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| } 
 | 
| if(index == 1){
 | 
|     type = "gas";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| }
 | 
| if(index == 2){
 | 
|     type = "pest";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| }
 | 
| if(index == 3){
 | 
|     type = "storage";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| }
 | 
| ds.insert({
 | 
|     type:type,
 | 
|     disabledTag:"N"
 | 
| });
 | 
| af.show();</ClientEvent> | 
|         <Property name="caption">新增任务</Property> | 
|         <Property name="iconClass">fa fa-plus</Property> | 
|       </ToolBarButton> | 
|       <Separator/> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var cur = null;
 | 
| if (index == 0) {
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }
 | 
| if (index == 1) {
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }
 | 
| if(index == 2){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }
 | 
| if(index == 3){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }</ClientEvent> | 
|         <Property name="caption">修改任务</Property> | 
|         <Property name="iconClass">fa fa-pencil</Property> | 
|         <Property name="exClassName">btn-warm</Property> | 
|       </ToolBarButton> | 
|       <Separator/> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var data = null;
 | 
| if(index == 0) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 1) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 2) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 3) data = view.get("#dataSetTiming.data:#");
 | 
| if(!data){
 | 
|     $alert("没有配置数据,不支持删除!");
 | 
|     return;
 | 
| }
 | 
| var job = data.get("job");
 | 
| if(job){
 | 
|     if (job.get("state") == "stopping" || job.get("state") == "ready") {
 | 
|         $alert("要删除的Job必须为停止或待命状态,否则不能删除");
 | 
|         return;
 | 
|     }
 | 
| }
 | 
| 
 | 
| $confirm("真的要删除当前定时任务么?",function(){
 | 
|     view.get("#ajaxActionDelJob").set("parameter",data.get("id")).execute(function(){
 | 
|         data.remove();
 | 
|     });
 | 
| });</ClientEvent> | 
|         <Property name="caption">删除任务</Property> | 
|         <Property name="iconClass">fa fa-trash-o</Property> | 
|         <Property name="exClassName">btn-warn</Property> | 
|       </ToolBarButton> | 
|       <Separator/> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var data = null;
 | 
| if(index == 0) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 1) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 2) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 3) data = view.get("#dataSetTiming.data:#");
 | 
| 
 | 
| if (!data) {
 | 
|     $alert("当前配置没有JOB信息……");
 | 
|     return;
 | 
| }
 | 
| 
 | 
| var job = data.get("job");
 | 
| if(!job){
 | 
|      $alert("当前定时任务没有匹配到系统JBO信息……");
 | 
|     return;
 | 
| }
 | 
| var state = job.get("state");
 | 
| if (state == "running") {
 | 
|     $alert("当前Job正处于启动中状态,不能再次执行启动动作");
 | 
|     return;
 | 
| }
 | 
| if (state == "run") {
 | 
|     $alert("当前Job正处于启动状态,不能再次执行启动动作");
 | 
|     return;
 | 
| }
 | 
| $confirm("确定要启动当前定时任务么?", function(){
 | 
|     var action = view.get("#ajaxActionRunJob");
 | 
|     action.set("parameter", {
 | 
|         jobDefinitionId: data.get("id")
 | 
|     });
 | 
|     action.execute(function(){
 | 
|         job.set("state", "running");
 | 
|         data.setState(dorado.Entity.STATE_NONE);
 | 
|     });
 | 
| });</ClientEvent> | 
|         <Property name="caption">启动任务</Property> | 
|         <Property name="iconClass">fa fa-caret-square-o-right</Property> | 
|         <Property name="exClassName">btn-default</Property> | 
|       </ToolBarButton> | 
|       <Separator/> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var data = null;
 | 
| if(index == 0) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 1) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 2) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 3) data = view.get("#dataSetTiming.data:#");
 | 
| 
 | 
| if(!data){
 | 
|     $alert("当前配置没有JOB信息……");
 | 
|     return;
 | 
| }
 | 
| var job = data.get("job");
 | 
| if(!job){
 | 
|     $alert("当前配置没有系统JOB信息……");
 | 
|     return;
 | 
| }
 | 
| var state = job.get("state");
 | 
| if(state == "stopping"){
 | 
|     $alert("当前Job正处于停止中状态,不能再次执行停止动作");
 | 
|     return;
 | 
| }
 | 
| if(state == "stop"){
 | 
|     $alert("当前Job正处于停止状态,不能再次执行停止动作");
 | 
|     return;
 | 
| }
 | 
| $confirm("真的要停止当前任务?",function(){
 | 
|     var action=view.id("ajaxActionStopJob");
 | 
|     action.set("parameter",{jobDefinitionId:job.get("id")});
 | 
|     action.execute(function(){
 | 
|         job.set("state","stopping");
 | 
|         data.setState(dorado.Entity.STATE_NONE);
 | 
|     });    
 | 
| });</ClientEvent> | 
|         <Property name="caption">停止任务</Property> | 
|         <Property name="iconClass">fa fa-power-off</Property> | 
|         <Property name="exClassName">btn-warn</Property> | 
|       </ToolBarButton> | 
|       <Fill/> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var cur = null;
 | 
| var index = view.get("#tabControlMain").get("currentIndex");
 | 
| if(index == 0){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| } 
 | 
| if(index == 1){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| }
 | 
| if(index == 2){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| }
 | 
| if(index == 3){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| }
 | 
| if(cur){
 | 
|     view.get("#dialogDepot").show();
 | 
| }else{
 | 
|     $notify("请先新增定时配置信息!");
 | 
| }</ClientEvent> | 
|         <Property name="caption">配置仓库</Property> | 
|         <Property name="iconClass">fa fa-plus</Property> | 
|         <Property name="exClassName">btn-normal</Property> | 
|       </ToolBarButton> | 
|       <Separator/> | 
|       <ToolBarButton> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var cur = null;
 | 
| if(index == 0){
 | 
|     cur = view.get("#dgItemsGrain").get("selection");
 | 
| } 
 | 
| if(index == 1){
 | 
|     cur = view.get("#dgItemsGas").get("selection");
 | 
| }
 | 
| if(index == 2){
 | 
|     cur = view.get("#dgItemsPest").get("selection");
 | 
| }
 | 
| if(index == 3){
 | 
|     cur = view.get("#dgItemsStorage").get("selection");
 | 
| }
 | 
| if(cur){
 | 
|     $confirm("确定要删除当前选择数据么?",function(){
 | 
|         view.get("#ajaxActionDelItem").set("parameter",cur.get("id")).execute(function(){
 | 
|             cur.remove();
 | 
|         });
 | 
|     });
 | 
| }else{
 | 
|     $notify("请选择需要删除的数据!");
 | 
| }</ClientEvent> | 
|         <Property name="caption">删除仓库</Property> | 
|         <Property name="iconClass">fa fa-trash-o</Property> | 
|         <Property name="exClassName">btn-warn</Property> | 
|       </ToolBarButton> | 
|     </ToolBar> | 
|     <Container layout="regionPadding:10" layoutConstraint="top"> | 
|       <Property name="exClassName">bg-color</Property> | 
|       <Property name="height">55</Property> | 
|       <Property name="contentOverflow">hidden</Property> | 
|       <Label layoutConstraint="left"> | 
|         <Property name="text">菜单栏:</Property> | 
|       </Label> | 
|       <Button layoutConstraint="left"> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var type = "${request.getParameter('type')}";
 | 
| var ds = null;
 | 
| var af = null;
 | 
| if(index == 0){
 | 
|     type = "grain";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| } 
 | 
| if(index == 1){
 | 
|     type = "gas";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| }
 | 
| if(index == 2){
 | 
|     type = "pest";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| }
 | 
| if(index == 3){
 | 
|     type = "storage";
 | 
|     ds = view.get("#dataSetTiming");
 | 
|     af = view.get("#dialogTim");
 | 
| }
 | 
| ds.insert({
 | 
|     type:type,
 | 
|     disabledTag:"N"
 | 
| });
 | 
| af.show();</ClientEvent> | 
|         <Property name="caption">新增任务</Property> | 
|         <Property name="exClassName">btn-normal</Property> | 
|         <Property name="iconClass">fa fa-plus</Property> | 
|       </Button> | 
|       <Button layoutConstraint="left"> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var cur = null;
 | 
| if (index == 0) {
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }
 | 
| if (index == 1) {
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }
 | 
| if(index == 2){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }
 | 
| if(index == 3){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
|     if(cur) view.get("#dialogTim").show();
 | 
| }</ClientEvent> | 
|         <Property name="caption">修改任务</Property> | 
|         <Property name="exClassName">btn-warm</Property> | 
|         <Property name="iconClass">fa fa-pencil</Property> | 
|       </Button> | 
|       <Button layoutConstraint="left"> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var data = null;
 | 
| if(index == 0) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 1) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 2) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 3) data = view.get("#dataSetTiming.data:#");
 | 
| if(!data){
 | 
|     $alert("没有配置数据,不支持删除!");
 | 
|     return;
 | 
| }
 | 
| var job = data.get("job");
 | 
| if(job){
 | 
|     if (job.get("state") == "stopping" || job.get("state") == "ready") {
 | 
|         $alert("要删除的Job必须为停止或待命状态,否则不能删除");
 | 
|         return;
 | 
|     }
 | 
| }
 | 
| $confirm("真的要删除当前定时任务么?",function(){
 | 
|     view.get("#ajaxActionDelJob").set("parameter",data.get("id")).execute(function(){
 | 
|         data.remove();
 | 
|     });
 | 
| });</ClientEvent> | 
|         <Property name="caption">删除任务</Property> | 
|         <Property name="exClassName">btn-warn</Property> | 
|         <Property name="iconClass">fa fa-trash-o</Property> | 
|       </Button> | 
|       <Button layoutConstraint="left"> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var data = null;
 | 
| if(index == 0) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 1) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 2) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 3) data = view.get("#dataSetTiming.data:#");
 | 
| 
 | 
| if (!data) {
 | 
|     $alert("当前配置没有JOB信息……");
 | 
|     return;
 | 
| }
 | 
| 
 | 
| var job = data.get("job");
 | 
| if(!job){
 | 
|      $alert("当前定时任务没有匹配到系统JBO信息……");
 | 
|     return;
 | 
| }
 | 
| var state = job.get("state");
 | 
| if (state == "running") {
 | 
|     $alert("当前Job正处于启动中状态,不能再次执行启动动作");
 | 
|     return;
 | 
| }
 | 
| if (state == "run") {
 | 
|     $alert("当前Job正处于启动状态,不能再次执行启动动作");
 | 
|     return;
 | 
| }
 | 
| $confirm("确定要启动当前定时任务么?", function(){
 | 
|     var action = view.get("#ajaxActionRunJob");
 | 
|     action.set("parameter", {
 | 
|         jobDefinitionId: data.get("id")
 | 
|     });
 | 
|     action.execute(function(){
 | 
|         job.set("state", "running");
 | 
|         data.setState(dorado.Entity.STATE_NONE);
 | 
|     });
 | 
| });</ClientEvent> | 
|         <Property name="caption">启动任务</Property> | 
|         <Property name="exClassName">btn-default</Property> | 
|         <Property name="iconClass">fa fa-caret-square-o-right</Property> | 
|       </Button> | 
|       <Button layoutConstraint="left"> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var data = null;
 | 
| if(index == 0) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 1) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 2) data = view.get("#dataSetTiming.data:#");
 | 
| if(index == 3) data = view.get("#dataSetTiming.data:#");
 | 
| 
 | 
| if(!data){
 | 
|     $alert("当前配置没有JOB信息……");
 | 
|     return;
 | 
| }
 | 
| var job = data.get("job");
 | 
| if(!job){
 | 
|     $alert("当前配置没有系统JOB信息……");
 | 
|     return;
 | 
| }
 | 
| var state = job.get("state");
 | 
| if(state == "stopping"){
 | 
|     $alert("当前Job正处于停止中状态,不能再次执行停止动作");
 | 
|     return;
 | 
| }
 | 
| if(state == "stop"){
 | 
|     $alert("当前Job正处于停止状态,不能再次执行停止动作");
 | 
|     return;
 | 
| }
 | 
| $confirm("真的要停止当前任务?",function(){
 | 
|     var action=view.id("ajaxActionStopJob");
 | 
|     action.set("parameter",{jobDefinitionId:job.get("id")});
 | 
|     action.execute(function(){
 | 
|         job.set("state","stopping");
 | 
|         data.setState(dorado.Entity.STATE_NONE);
 | 
|     });    
 | 
| });</ClientEvent> | 
|         <Property name="caption">停止任务</Property> | 
|         <Property name="exClassName">btn-warn</Property> | 
|         <Property name="iconClass">fa fa-power-off</Property> | 
|       </Button> | 
|       <Button layoutConstraint="right"> | 
|         <ClientEvent name="onClick">var index = view.get("#tabControlMain").get("currentIndex");
 | 
| var cur = null;
 | 
| if(index == 0){
 | 
|     cur = view.get("#dgItemsGrain").get("selection");
 | 
| } 
 | 
| if(index == 1){
 | 
|     cur = view.get("#dgItemsGas").get("selection");
 | 
| }
 | 
| if(index == 2){
 | 
|     cur = view.get("#dgItemsPest").get("selection");
 | 
| }
 | 
| if(index == 3){
 | 
|     cur = view.get("#dgItemsStorage").get("selection");
 | 
| }
 | 
| if(cur){
 | 
|     $confirm("确定要删除当前选择数据么?",function(){
 | 
|         view.get("#ajaxActionDelItem").set("parameter",cur.get("id")).execute(function(){
 | 
|             cur.remove();
 | 
|         });
 | 
|     });
 | 
| }else{
 | 
|     $notify("请选择需要删除的数据!");
 | 
| }</ClientEvent> | 
|         <Property name="caption">删除仓库</Property> | 
|         <Property name="exClassName">btn-warn</Property> | 
|         <Property name="iconClass">fa fa-trash-o</Property> | 
|       </Button> | 
|       <Button layoutConstraint="right"> | 
|         <ClientEvent name="onClick">var cur = null;
 | 
| var index = view.get("#tabControlMain").get("currentIndex");
 | 
| if(index == 0){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| } 
 | 
| if(index == 1){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| }
 | 
| if(index == 2){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| }
 | 
| if(index == 3){
 | 
|     cur = view.get("#dataSetTiming.data:#");
 | 
| }
 | 
| if(cur){
 | 
|     view.get("#dialogDepot").show();
 | 
| }else{
 | 
|     $notify("请先新增定时配置信息!");
 | 
| }</ClientEvent> | 
|         <Property name="caption">配置仓库</Property> | 
|         <Property name="exClassName">btn-normal</Property> | 
|         <Property name="iconClass">fa fa-plus</Property> | 
|       </Button> | 
|     </Container> | 
|     <TabControl id="tabControlMain" layoutConstraint="center "> | 
|       <Property name="style"> | 
|         <Property name="padding-top">5px</Property> | 
|       </Property> | 
|       <ControlTab> | 
|         <Property name="name">tabGrain</Property> | 
|         <Property name="caption">粮情定时检测</Property> | 
|         <Property name="iconClass">fa fa-filter</Property> | 
|         <Property name="width">150</Property> | 
|         <SplitPanel> | 
|           <Property name="direction">right</Property> | 
|           <Property name="position">300</Property> | 
|           <MainControl> | 
|             <Container> | 
|               <DataGrid layoutConstraint="padding:5"> | 
|                 <ClientEvent name="onDataRowDoubleClick">var cur = view.get("#dataSetTiming.data:#");
 | 
| if(cur) view.get("#dialogTim").show();</ClientEvent> | 
|                 <Property name="dataSet">dataSetTiming</Property> | 
|                 <Property name="readOnly">true</Property> | 
|                 <RowNumColumn/> | 
|                 <DataColumn> | 
|                   <Property name="property">name</Property> | 
|                   <Property name="name">name</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="week"> | 
|                   <ClientEvent name="onRenderCell">weekRenderCell(arg,self);</ClientEvent> | 
|                   <Property name="property">week</Property> | 
|                   <Property name="caption">定时说明</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="remarks"> | 
|                   <Property name="property">remarks</Property> | 
|                 </DataColumn> | 
|                 <DataColumn> | 
|                   <Property name="property">job.state</Property> | 
|                   <Property name="name">job.state</Property> | 
|                   <Property name="width">100</Property> | 
|                   <Property name="align">center</Property> | 
|                   <Editor/> | 
|                 </DataColumn> | 
|                 <DataColumn name="updateTime"> | 
|                   <Property name="property">updateTime</Property> | 
|                   <Property name="width">135</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="updateUser"> | 
|                   <Property name="property">updateUser</Property> | 
|                   <Property name="width">135</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|               </DataGrid> | 
|             </Container> | 
|           </MainControl> | 
|           <SideControl> | 
|             <Container> | 
|               <DataGrid id="dgItemsGrain" layoutConstraint="padding:5"> | 
|                 <Property name="dataSet">dataSetTiming</Property> | 
|                 <Property name="dataPath">#.items</Property> | 
|                 <Property name="selectionMode">singleRow</Property> | 
|                 <RowSelectorColumn/> | 
|                 <DataColumn name="depotId"> | 
|                   <Property name="align">center</Property> | 
|                   <Property name="readOnly">true</Property> | 
|                   <Property name="caption">生效仓库</Property> | 
|                 </DataColumn> | 
|               </DataGrid> | 
|             </Container> | 
|           </SideControl> | 
|         </SplitPanel> | 
|       </ControlTab> | 
|       <ControlTab> | 
|         <Property name="name">tabGas</Property> | 
|         <Property name="iconClass">fa fa-flask</Property> | 
|         <Property name="caption">气体定时检测</Property> | 
|         <Property name="width">150</Property> | 
|         <SplitPanel> | 
|           <Property name="direction">right</Property> | 
|           <Property name="position">300</Property> | 
|           <MainControl> | 
|             <Container> | 
|               <DataGrid layoutConstraint="padding:5"> | 
|                 <ClientEvent name="onDataRowDoubleClick">var cur = view.get("#dataSetTiming.data:#");
 | 
| if(cur) view.get("#dialogTim").show();</ClientEvent> | 
|                 <Property name="dataSet">dataSetTiming</Property> | 
|                 <Property name="readOnly">true</Property> | 
|                 <RowNumColumn/> | 
|                 <DataColumn> | 
|                   <Property name="property">name</Property> | 
|                   <Property name="name">name</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="week"> | 
|                   <ClientEvent name="onRenderCell">weekRenderCell(arg,self);</ClientEvent> | 
|                   <Property name="property">week</Property> | 
|                   <Property name="caption">定时说明</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="remarks"> | 
|                   <Property name="property">remarks</Property> | 
|                 </DataColumn> | 
|                 <DataColumn> | 
|                   <Property name="property">job.state</Property> | 
|                   <Property name="name">job.state</Property> | 
|                   <Property name="width">100</Property> | 
|                   <Property name="align">center</Property> | 
|                   <Editor/> | 
|                 </DataColumn> | 
|                 <DataColumn name="updateTime"> | 
|                   <Property name="property">updateTime</Property> | 
|                   <Property name="width">135</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="updateUser"> | 
|                   <Property name="property">updateUser</Property> | 
|                   <Property name="width">135</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|               </DataGrid> | 
|             </Container> | 
|           </MainControl> | 
|           <SideControl> | 
|             <Container> | 
|               <DataGrid id="dgItemsGas" layoutConstraint="padding:5"> | 
|                 <Property name="dataSet">dataSetTiming</Property> | 
|                 <Property name="dataPath">#.items</Property> | 
|                 <Property name="selectionMode">singleRow</Property> | 
|                 <RowSelectorColumn/> | 
|                 <DataColumn name="depotId"> | 
|                   <Property name="property">depotId</Property> | 
|                   <Property name="align">center</Property> | 
|                   <Property name="readOnly">true</Property> | 
|                   <Property name="caption">生效仓库</Property> | 
|                 </DataColumn> | 
|               </DataGrid> | 
|             </Container> | 
|           </SideControl> | 
|         </SplitPanel> | 
|       </ControlTab> | 
|       <ControlTab> | 
|         <Property name="name">tabPest</Property> | 
|         <Property name="iconClass">fa fa-bug</Property> | 
|         <Property name="caption">虫害定时检测</Property> | 
|         <Property name="width">150</Property> | 
|         <SplitPanel> | 
|           <Property name="direction">right</Property> | 
|           <Property name="position">300</Property> | 
|           <MainControl> | 
|             <Container> | 
|               <DataGrid layoutConstraint="padding:5"> | 
|                 <ClientEvent name="onDataRowDoubleClick">var cur = view.get("#dataSetTiming.data:#");
 | 
| if(cur) view.get("#dialogTim").show();</ClientEvent> | 
|                 <Property name="dataSet">dataSetTiming</Property> | 
|                 <Property name="readOnly">true</Property> | 
|                 <RowNumColumn/> | 
|                 <DataColumn> | 
|                   <Property name="property">name</Property> | 
|                   <Property name="name">name</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="week"> | 
|                   <ClientEvent name="onRenderCell">weekRenderCell(arg,self);</ClientEvent> | 
|                   <Property name="property">week</Property> | 
|                   <Property name="caption">定时说明</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="remarks"> | 
|                   <Property name="property">remarks</Property> | 
|                 </DataColumn> | 
|                 <DataColumn> | 
|                   <Property name="property">job.state</Property> | 
|                   <Property name="name">job.state</Property> | 
|                   <Property name="width">100</Property> | 
|                   <Property name="align">center</Property> | 
|                   <Editor/> | 
|                 </DataColumn> | 
|                 <DataColumn name="updateTime"> | 
|                   <Property name="property">updateTime</Property> | 
|                   <Property name="width">135</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|                 <DataColumn name="updateUser"> | 
|                   <Property name="property">updateUser</Property> | 
|                   <Property name="width">135</Property> | 
|                   <Property name="align">center</Property> | 
|                 </DataColumn> | 
|               </DataGrid> | 
|             </Container> | 
|           </MainControl> | 
|           <SideControl> | 
|             <Container> | 
|               <DataGrid id="dgItemsPest" layoutConstraint="padding:5"> | 
|                 <Property name="dataSet">dataSetTiming</Property> | 
|                 <Property name="dataPath">#.items</Property> | 
|                 <Property name="selectionMode">singleRow</Property> | 
|                 <RowSelectorColumn/> | 
|                 <DataColumn name="depotId"> | 
|                   <Property name="property">depotId</Property> | 
|                   <Property name="align">center</Property> | 
|                   <Property name="readOnly">true</Property> | 
|                   <Property name="caption">生效仓库</Property> | 
|                 </DataColumn> | 
|               </DataGrid> | 
|             </Container> | 
|           </SideControl> | 
|         </SplitPanel> | 
|       </ControlTab> | 
|     </TabControl> | 
|     <Dialog id="dialogTim"> | 
|       <ClientEvent name="onHide">var data = view.get("#dataSetTiming.data:#");
 | 
| if(data) data.cancel();</ClientEvent> | 
|       <Property name="height">400</Property> | 
|       <Property name="width">700</Property> | 
|       <Property name="closeable">false</Property> | 
|       <Property name="caption">粮情定时检测配置</Property> | 
|       <Property name="iconClass">fa fa-building-o</Property> | 
|       <Buttons> | 
|         <Button> | 
|           <ClientEvent name="onClick">var cur = view.get("#dataSetTiming.data:#");
 | 
| if(cur.validate() == "ok"){
 | 
|     view.get("#uaSaveTim").execute(function(){
 | 
|         self.get("parent").hide();
 | 
|         view.get("#dataSetTiming").flushAsync();
 | 
|     });
 | 
| }else{
 | 
|     $alert("数据校验失败,请核查!")
 | 
| }</ClientEvent> | 
|           <Property name="caption">确定</Property> | 
|           <Property name="width">80</Property> | 
|           <Property name="iconClass">fa fa-check-circle</Property> | 
|         </Button> | 
|         <Button> | 
|           <ClientEvent name="onClick">self.get("parent").hide();</ClientEvent> | 
|           <Property name="caption">取消</Property> | 
|           <Property name="width">80</Property> | 
|           <Property name="iconClass">fa fa-times-circle</Property> | 
|         </Button> | 
|       </Buttons> | 
|       <Children> | 
|         <AutoForm layoutConstraint="padding:5"> | 
|           <Property name="dataSet">dataSetTiming</Property> | 
|           <Property name="cols">200,10,120,20,120,*</Property> | 
|           <Property name="labelSeparator">:</Property> | 
|           <Property name="labelAlign">right</Property> | 
|           <Property name="labelWidth">110</Property> | 
|           <AutoFormElement layoutConstraint="colSpan:6"> | 
|             <Property name="name">name</Property> | 
|             <Property name="property">name</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <AutoFormElement layoutConstraint="colSpan:6"> | 
|             <Property name="name">timType</Property> | 
|             <Property name="property">timType</Property> | 
|             <Property name="editorType">RadioGroup</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <AutoFormElement> | 
|             <Property name="name">week</Property> | 
|             <Property name="property">week</Property> | 
|             <Property name="label">每周</Property> | 
|             <Property name="tags">week</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <Label/> | 
|           <AutoFormElement> | 
|             <Property name="name">hour</Property> | 
|             <Property name="property">hour</Property> | 
|             <Property name="showLabel">false</Property> | 
|             <Property name="trigger">lddHour</Property> | 
|             <Property name="tags">day</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <Label> | 
|             <Property name="text">点</Property> | 
|           </Label> | 
|           <AutoFormElement> | 
|             <Property name="name">minute</Property> | 
|             <Property name="property">minute</Property> | 
|             <Property name="showLabel">false</Property> | 
|             <Property name="trigger">lddMinute</Property> | 
|             <Property name="tags">day</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <Label> | 
|             <Property name="text">分,执行。</Property> | 
|           </Label> | 
|           <AutoFormElement layoutConstraint="colSpan:3"> | 
|             <Property name="name">appointTime</Property> | 
|             <Property name="property">appointTime</Property> | 
|             <Property name="tags">hour</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <Label layoutConstraint="colSpan:3"> | 
|             <Property name="text">执行。</Property> | 
|           </Label> | 
|           <AutoFormElement layoutConstraint="colSpan:6"> | 
|             <Property name="name">remarks</Property> | 
|             <Property name="property">remarks</Property> | 
|             <Property name="editorType">TextArea</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <AutoFormElement layoutConstraint="colSpan:3"> | 
|             <Property name="name">updateTime</Property> | 
|             <Property name="property">updateTime</Property> | 
|             <Property name="readOnly">true</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|           <AutoFormElement layoutConstraint="colSpan:3"> | 
|             <Property name="name">updateUser</Property> | 
|             <Property name="property">updateUser</Property> | 
|             <Property name="readOnly">true</Property> | 
|             <Editor/> | 
|           </AutoFormElement> | 
|         </AutoForm> | 
|       </Children> | 
|       <Tools/> | 
|     </Dialog> | 
|     <ListDropDown id="lddHour"> | 
|       <Property name="items">0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23</Property> | 
|     </ListDropDown> | 
|     <ListDropDown id="lddMinute"> | 
|       <Property name="items">0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59</Property> | 
|     </ListDropDown> | 
|     <UpdateAction id="uaSaveTim"> | 
|       <Property name="dataResolver">timerPR#saveTimer</Property> | 
|       <UpdateItem> | 
|         <Property name="dataSet">dataSetTiming</Property> | 
|         <Property name="dataPath">[#current]</Property> | 
|       </UpdateItem> | 
|     </UpdateAction> | 
|     <AjaxAction id="ajaxActionRunJob"> | 
|       <Property name="service">bdf2.jobMaintain#runJob</Property> | 
|       <Property name="successMessage">操作成功</Property> | 
|     </AjaxAction> | 
|     <AjaxAction id="ajaxActionStopJob"> | 
|       <Property name="service">bdf2.jobMaintain#stopJob</Property> | 
|       <Property name="successMessage">操作成功</Property> | 
|     </AjaxAction> | 
|     <AjaxAction id="ajaxActionDelJob"> | 
|       <Property name="service">timerPR#delTimer</Property> | 
|       <Property name="successMessage">操作成功</Property> | 
|     </AjaxAction> | 
|     <AjaxAction id="ajaxActionDelItem"> | 
|       <Property name="service">timerPR#delDepotById</Property> | 
|     </AjaxAction> | 
|     <Dialog id="dialogDepot"> | 
|       <Property name="width">50%</Property> | 
|       <Property name="caption">仓库选择</Property> | 
|       <Property name="height">80%</Property> | 
|       <Property name="iconClass">fa fa-cube</Property> | 
|       <Buttons> | 
|         <Button> | 
|           <ClientEvent name="onClick">var selection = view.get("#dgSelectDepot").get("selection");
 | 
| var cur = view.get("#dataSetTiming.data:#");
 | 
| var ua = view.get("#uaSaveTim");
 | 
| if(selection.length == 0) return;
 | 
| 
 | 
| var items = cur.get("items");
 | 
| var tag = true;
 | 
| selection.each(function(entity){
 | 
|     tag = true;
 | 
|     items.each(function(data){
 | 
|         if(data.get("depotId") == entity.get("id")) tag = false;
 | 
|     });
 | 
|     if(tag){
 | 
|         items.insert({
 | 
|             depotId:entity.get("id"),
 | 
|             timId:cur.get("id"),
 | 
|             companyId:cur.get("companyId")
 | 
|         });
 | 
|     }
 | 
| });    
 | 
| ua.execute(function(){
 | 
|     self.get("parent").hide();
 | 
|     view.get("#dgSelectDepot").set("selection",null);
 | 
| });
 | 
| </ClientEvent> | 
|           <Property name="caption">确认选择</Property> | 
|           <Property name="iconClass">fa fa-check-circle</Property> | 
|         </Button> | 
|         <Button> | 
|           <ClientEvent name="onClick">self.get("parent").hide();
 | 
| view.get("#dgSelectDepot").set("selection",null);
 | 
| </ClientEvent> | 
|           <Property name="caption">取消操作</Property> | 
|           <Property name="iconClass">fa fa-times-circle</Property> | 
|         </Button> | 
|       </Buttons> | 
|       <Children> | 
|         <DataSet id="dataSetDepot"> | 
|           <Property name="dataProvider">depotPR#getData</Property> | 
|           <Property name="dataType">[dtDepot]</Property> | 
|         </DataSet> | 
|         <DataGrid id="dgSelectDepot"> | 
|           <Property name="dataSet">dataSetDepot</Property> | 
|           <Property name="selectionMode">multiRows</Property> | 
|           <Property name="readOnly">true</Property> | 
|           <RowSelectorColumn> | 
|             <Property name="width">50</Property> | 
|             <Property name="caption">操作</Property> | 
|           </RowSelectorColumn> | 
|           <DataColumn name="name"> | 
|             <Property name="property">name</Property> | 
|             <Property name="align">center</Property> | 
|           </DataColumn> | 
|           <DataColumn name="depotType"> | 
|             <Property name="property">depotType</Property> | 
|             <Property name="align">center</Property> | 
|           </DataColumn> | 
|           <DataColumn name="foodType"> | 
|             <Property name="property">foodType</Property> | 
|             <Property name="align">center</Property> | 
|           </DataColumn> | 
|         </DataGrid> | 
|       </Children> | 
|       <Tools/> | 
|     </Dialog> | 
|   </View> | 
| </ViewConfig> |