function initMyBookManager(){Ext.getDom("my-book-content").innerTHML="";var a=null;var j=null;var e=new Ext.data.DWRJsonReader({totalProperty:"results",root:"rows"},new Ext.data.Record.create([{name:"id",mapping:"id"},{name:"input",mapping:"input"},{name:"equip_id",mapping:"equip_id"},{name:"equip_name",mapping:"equip_name"},{name:"equip_no",mapping:"equip_no"},{name:"type",mapping:"type"},{name:"user_name",mapping:"user_name"},{name:"user_id",mapping:"user_id"},{name:"start",mapping:"start"},{name:"end",mapping:"end"},{name:"expired",mapping:"expired"},{name:"charge",mapping:"charge"},{name:"action",mapping:"action"},{name:"teacher",mapping:"teacher"},{name:"content",mapping:"content"},{name:"sample",mapping:"sample"},{name:"fee",mapping:"fee"},{name:"exp_time",mapping:"exp_time"},{name:"remark",mapping:"remark"},{name:"appd",mapping:"appd"},{name:"appt1",mapping:"appt1"},{name:"appt2",mapping:"appt2"},{name:"status",mapping:"status"}]));j=new Ext.data.Store({proxy:new Ext.data.DWRProxy({dwrFunction:Book.getBooksInfoByUserId,listeners:{beforeload:function(n,o){o[n.loadArgsKey]=[o.start,o.limit]}}}),reader:e});var k=new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),{header:"填写日期",width:100,sortable:true,dataIndex:"input"},{header:"设备名称",width:100,sortable:true,dataIndex:"equip_name"},{header:"设备编号",width:100,hidden:true,sortable:true,dataIndex:"equip_no"},{header:"是否收费",width:70,sortable:true,hidden:true,dataIndex:"charge",renderer:function(n){if(n){return"<font color='red'>是</font>"}else{return"<font color='green'>否</font>"}}},{header:"类别",width:100,hidden:true,sortable:true,dataIndex:"type",renderer:function(n){if(equipArray[n]){return equipArray[n]}else{return"其他"}}},{header:"申请人",width:80,sortable:true,dataIndex:"user_name"},{header:"导师",width:80,sortable:true,dataIndex:"teacher"},{header:"样品/数量",width:120,sortable:true,dataIndex:"sample"},{header:"实验时长",width:60,sortable:true,dataIndex:"exp_time"},{header:"实验/应收费用",width:100,sortable:true,dataIndex:"fee"},{header:"审批情况",width:80,sortable:true,dataIndex:"action",renderer:function(n){if(n==0){return"<font color=blue>待批准</font>"}else{if(n==2){return"<font color=red>已删除</font>"}else{return"<font color=green>已批准</font>"}}}},{header:"起始日期",width:100,sortable:true,dataIndex:"start"},{header:"中止日期",width:100,sortable:true,dataIndex:"end"},{header:"是否过期",width:70,sortable:true,dataIndex:"expired",renderer:function(n){if(n){return"<font color='red'>是</font>"}else{return"<font color='green'>否</font>"}}},{header:"预约内容",width:150,sortable:true,dataIndex:"content"},{header:"收费备注",width:150,sortable:true,dataIndex:"remark"}]);a=new Ext.grid.GridPanel({id:"my-book",title:"我的预约记录",border:false,store:j,renderTo:"my-book-content",header:false,cm:k,loadMask:true,iconCls:"yuyue",closable:true,listeners:{rowcontextmenu:{fn:function(o,n,p){p.preventDefault();o.getSelectionModel().selectRow(n);g.showAt(p.getXY())},scope:this},rowdblclick:{fn:function(o,n,p){h()},scope:this}},tbar:[{text:"刷新",tooltip:"刷新",iconCls:"table_refresh",onClick:function(){j.reload()}},"-",{text:"以下显示我的预约情况(Tip:请双击选择编辑预约信息或按鼠标右键菜单操作)",xtype:"tbtext"}],bbar:new Ext.PagingToolbar({pageSize:pageSize,store:j,displayInfo:true})});j.load({params:{start:0,limit:pageSize}});var g=new Ext.menu.Menu({id:"mybookequiprightClickCont",items:[{id:"mybookequipEditMenu",handler:h,iconCls:"edit",text:"编辑预约信息"},{id:"mybookequipBookMenu",handler:c,iconCls:"yuyue",text:"重新预约该设备"},{id:"mybookequipDeleteMenu",handler:f,iconCls:"undo",text:"撤销预约"},{id:"mybookequipMessageMenu",handler:b,iconCls:"view",text:"查看预约内容"},{id:"mybookequipQueueMenu",handler:i,iconCls:"tabs",text:"设备预约列表"},{id:"mybookequiplistDetailMenu",handler:l,iconCls:"detail",text:"查看设备详情"}]});tabPanel.add(a).show();function l(){var n=a.getSelectionModel().getSelected();if(!n){return}showDetailWin(n.data.equip_id)}function c(){var n=a.getSelectionModel().getSelected();if(!n){return}showBookWin(n.data.equip_id,n.data.equip_name,n.data.appd,n.data.appt1,n.data.appt2,n.data.status)}function i(){var n=a.getSelectionModel().getSelected();if(!n){return}var o=tabPanel.getItem("queue-eq-content");if(o){tabPanel.remove(o)}o=addQueueTab(n.data.equip_id,n.data.equip_name);tabPanel.setActiveTab(o)}var d;function f(){var n=a.getSelectionModel().getSelected();if(!n){return}if(n.data.action==1){showMsg("已批准的预约记录不能撤销！","error");return}Ext.MessageBox.confirm("确认删除预约申请记录","是否确认删除预约申请记录？",function(o){if("yes"!=o){return}DWRUtil.useLoadingMessage("处理中...");Book.deleteBook(n.data.id,{callback:function(q){cancelLoadingMessage();var p=Ext.decode(q);if(p.result){j.remove(n);showMsg(p.message)}else{Ext.Msg.alert("报告",p.message)}},errorHandler:function(p){Ext.Msg.alert("错误","对不起，程序出现错误!");cancelLoadingMessage()}})})}function b(){var n=a.getSelectionModel().getSelected();if(!n){return}DWRUtil.useLoadingMessage("处理中...");Book.messageBook(n.data.id,{callback:function(o){cancelLoadingMessage();Ext.MessageBox.show({title:"查看预约内容",msg:"以下显示预约内容",width:350,buttons:Ext.MessageBox.OK,multiline:true,value:o})},errorHandler:function(o){Ext.Msg.alert("错误","对不起，程序出现错误!");cancelLoadingMessage()}})}function h(){var n=a.getSelectionModel().getSelected();if(!n){return}if(n.data.action!=0){showMsg("只有待批准的预约记录才能编辑！","error");return}m(n.data.id,n.data.equip_name,n.data.appd,n.data.appt1,n.data.appt2)}function m(p,s,n,q,o){Ext.getDom("my-book-win").innerHTML="";bookWin=null;var r=new Ext.FormPanel({labelAlign:"right",buttonAlign:"left",frame:true,labelWidth:83,waitMsgTarget:true,items:[new Ext.form.Hidden({name:"id"}),new Ext.form.Hidden({name:"bookid"}),new Ext.form.TextField({fieldLabel:"样品名称*",name:"sample_name",width:250,maxLength:100,allowBlank:false,itemCls:"stop-float"}),new Ext.form.NumberField({fieldLabel:"样品总数*",allowDecimals:false,emptyText:"输入数字，样品数量会决定实验时间段",name:"sample_mount",width:250,minValue:1,maxLength:5,allowBlank:false,listeners:{focus:{fn:function(){r.getForm().findField("end").setValue("");r.getForm().findField("compute_fee").setValue("");r.getForm().findField("exp_time").setValue("")},scope:this}},itemCls:"stop-float"}),{xtype:"xdatetime",name:"start",fieldLabel:"预约起始时间*",anchor:"-35",timeWidth:105,timeFormat:"H:i",listeners:{focus:{fn:function(){r.getForm().findField("end").setValue("");r.getForm().findField("compute_fee").setValue("");r.getForm().findField("exp_time").setValue("")},scope:this}},timeConfig:{allowBlank:false,minValue:q,maxValue:o,increment:30},dateFormat:"Y-m-d",dateConfig:{minValue:new Date().format("Y-m-d"),disabledDays:n,width:100,allowBlank:false}},new Ext.form.TextField({fieldLabel:"预约结束时间",name:"end",emptyText:"结束时间由系统自动计算出,按“计算”",readOnly:true,width:250}),new Ext.form.TextField({fieldLabel:"实验时长",name:"exp_time",emptyText:"如果太短，请适当修改样品数量",readOnly:true,width:250}),new Ext.form.TextField({fieldLabel:"预期实验费用",name:"compute_fee",emptyText:"实验费用由系统自动计算出,供参考",readOnly:true,width:250,maxLength:10}),new Ext.form.TextArea({fieldLabel:"预约内容",name:"content",maxLength:300,height:100,width:250})]});d=new Ext.Window({el:"my-book-win",modal:true,layout:"fit",closeAction:"hide",width:400,height:330,items:[r],buttons:[{text:"计算",tooltip:"根据样品数计算预约结束日期和预期费用",handler:function(){r.getForm().findField("start").updateValue();if(r.form.isValid()){var u=r.getForm().findField("start").getValue();var t=r.getForm().findField("sample_mount").getValue();var v=r.getForm().findField("id").getValue();DWRUtil.useLoadingMessage("处理中...");Book.computerEndDateAndFee(v,u.format("Y-m-d H:i"),t,{callback:function(x){cancelLoadingMessage();var w=Ext.decode(x);if(w.result){r.getForm().findField("end").setValue(w.endDate);r.getForm().findField("compute_fee").setValue(w.compute_fee);r.getForm().findField("exp_time").setValue(w.exp_time);if(w.invalid==true){r.getForm().findField("end").markInvalid(w.invalidmsg)}}else{currentMsgBox=Ext.Msg.alert("预约报告: ",w.message)}},errorHandler:function(w){cancelLoadingMessage();Ext.Msg.alert("错误","对不起，程序出现错误!")}})}}},{text:"更新预约",handler:function(){r.getForm().findField("start").updateValue();if(r.form.isValid()){var v=r.getForm().findField("start").getValue();var z=r.getForm().findField("end").getValue();var u=r.getForm().findField("sample_mount").getValue();var t=r.getForm().findField("sample_name").getValue();var y=r.getForm().findField("compute_fee").getValue();var x=r.getForm().findField("content").getValue();var w=r.getForm().findField("bookid").getValue();if(z==""||y==""){Ext.Msg.alert("预约报告","请先按“计算”确定预约结束日期和费用!")}else{d.hide();DWRUtil.useLoadingMessage("处理中...");Book.updateBook(w,v.format("Y-m-d H:i"),z,t,u,y,x,{callback:function(B){cancelLoadingMessage();var A=Ext.decode(B);if(A.result){j.reload();showMsg(A.message)}else{currentMsgBox=Ext.Msg.alert("预约报告: ",A.message)}},errorHandler:function(A){cancelLoadingMessage();Ext.Msg.alert("错误","对不起，程序出现错误!")}})}}}},{text:"重置",handler:function(){r.form.reset()}},{text:"取消",handler:function(){d.hide()}}]});DWRUtil.useLoadingMessage("处理中...");Book.getBookDetailById(p,{callback:function(v){cancelLoadingMessage();if(!v){Ext.Msg.alert("错误","对不起，程序出现错误!");return}var t=Ext.data.Record.create([{name:"id",mapping:"id"}]);var u=new t(Ext.decode(v));d.show();d.setTitle("设备预约: "+s);d.items.last().getForm().loadRecord(u)},errorHandler:function(t){Ext.Msg.alert("错误","对不起，程序出现错误!");cancelLoadingMessage()}})}};
