book.js
资源名称:ssh+ext.rar [点击查看]
上传用户:ouhalaa
上传日期:2016-03-17
资源大小:10210k
文件大小:32k
源码类别:
Web服务器
开发平台:
Java
- var Book = Ext.data.Record.create([
- {name : 'bookId',mapping : 'bookId',type : 'int'},
- {name : 'bookName', mapping : 'bookName',type : 'string'},
- {name : 'author',mapping : 'author',type : 'string'},
- {name : 'press',mapping : 'press',type : 'string'},
- {name : 'price',mapping : 'price',type : 'string'},
- {name : 'editionNo',mapping : 'editionNo',type : 'string'},
- {name : 'isbn', mapping : 'isbn',type : 'string'},
- {name : 'categoryId',mapping : 'categoryId',type : 'int'},
- {name : 'categoryName', mapping : 'categoryName',type : 'string'},
- {name : 'wordCount',mapping : 'wordCount',type : 'string'},
- {name : 'pageCount',mapping : 'pageCount',type : 'string'},
- {name : 'bookSize', mapping : 'bookSize',type : 'string'},
- {name : 'paper',mapping : 'paper',type : 'string'},
- {name : 'pack', mapping : 'pack',type : 'string'},
- {name : 'imageUrl', mapping : 'imageUrl',type : 'string'},
- {name : 'address',mapping : 'address',type : 'string'},
- {name : 'editorRecommend',mapping : 'editorRecommend', type : 'string'},
- {name : 'description',mapping : 'description',type : 'string'},
- {name : 'authorDesc',mapping : 'authorDesc',type : 'string'},
- {name : 'state',mapping : 'state',type : 'int'}
- ]);
- var categoryId;
- var ds_category_select = new Ext.data.Store({
- url : 'findAllCategoryName.action',
- reader : new Ext.data.JsonReader({
- root : 'root'
- }, [{name : 'categoryId',type : 'int'},
- {name : 'categoryName',type : 'string'}
- ])
- });
- var expander = new Ext.grid.RowExpander({
- tpl : new Ext.Template('<p><table width="480" style="padding-left:20px" border="0" cellspacing="0" cellpadding="0">'
- + '<tr><td width="133" valign="top"><img src="{imageUrl}" onerror='this.src="/bmsh/images/nopic.jpg"'/></td>'
- + '<td width="476" colspan="4"><table width="100%" border="0" cellspacing="6" cellpadding="4">'
- + '<tr><td width="19%" align="right" nowrap="nowrap">作 者:</td>'
- + '<td width="38%" nowrap="nowrap"> {author}</td><td width="15%" align="right" nowrap="nowrap"> </td>'
- + '<td width="28%" nowrap="nowrap"> </td></tr><tr><td align="right" nowrap="nowrap">出 版 社:</td>'
- + '<td nowrap="nowrap">{press}</td><td align="right" nowrap="nowrap"> </td><td nowrap="nowrap"> </td></tr><tr>'
- + '<td align="right" nowrap="nowrap">版 次:</td>'
- + '<td nowrap="nowrap">{editionNo}</td><td align="right" nowrap="nowrap">页 数:</td>'
- + '<td nowrap="nowrap">{pageCount}</td></tr><tr><td align="right" nowrap="nowrap">I S B N:</td>'
- + '<td nowrap="nowrap">{isbn}</td><td align="right" nowrap="nowrap">开 本:</td>'
- + '<td nowrap="nowrap">{bookSize}</td></tr><tr><td align="right" nowrap="nowrap">所属类别:</td>'
- + '<td nowrap="nowrap">{categoryName}</td><td align="right" nowrap="nowrap">纸 张:</td>'
- + '<td nowrap="nowrap">{paper}</td></tr><tr><td align="right" nowrap="nowrap">藏书地址:</td>'
- + '<td nowrap="nowrap">{address}</td><td align="right" nowrap="nowrap">包 装:</td>'
- + '<td nowrap="nowrap">{pack}</td></tr><tr><td align="right" nowrap="nowrap">定 价:</td>'
- + '<td nowrap="nowrap"><strong>¥</strong>{price}</td><td align="right" nowrap="nowrap">字 数:</td>'
- + '<td nowrap="nowrap">{wordCount}</td></tr></table></td></tr><tr><td colspan="5" valign="top"> </td></tr><tr>'
- + '<td colspan="5" valign="top"><h4>编辑推荐</h4></td></tr><tr><td colspan="5" valign="top">{editorRecommend}</td>'
- + '</tr><tr><td colspan="5" valign="top"> </td></tr><tr><td colspan="5" valign="top"><h4>内容简介</h4></td>'
- + '</tr><tr><td colspan="5" valign="top">{description}</td></tr><tr>'
- + '<td colspan="5" valign="top"> </td></tr><tr><td colspan="5" valign="top"><h4>作者简介</h4></td></tr><tr>'
- + '<td colspan="5" valign="top">{authorDesc}</td></tr></table></p>')
- });
- var cm_book = new Ext.grid.ColumnModel([expander,
- {header : '图书名称', width : 120,dataIndex : 'bookName', sortable : true},
- {header : '作者',width : 40, dataIndex : 'author',sortable : true},
- {header : '定价',width : 30, dataIndex : 'price',sortable : true},
- {header : '所属分类', width : 90, sortable : true,dataIndex : 'categoryName'},
- {header : '当前读者',width : 40,dataIndex : 'currentReader',menuDisabled : true},
- {header : '当前状态',width : 40,dataIndex : 'state',renderer : function(v) {return v == 0 ? '已借出' : '未借出'}, menuDisabled : true},
- {header : '藏书地址', width : 90, dataIndex : 'address',id : 'address',sortable : true}]
- );
- var address,_editAddress;// 藏书地址
- var cbb_company_for_book_update = new Ext.form.ComboBox({
- name : '_companyName',
- width : 120,
- valueField : 'companyId',
- displayField : 'companyName',
- editable : false,
- selectOnFocus : true,
- mode : 'remote',
- store : ds_company_select,
- triggerAction : 'all',
- loadingText : '加载中...',
- fieldLabel : '所属分公司',
- listeners : {
- 'select' : function() {
- cbb_dept_for_book_update.reset();
- ds_dept_select.baseParams.companyId = cbb_company_for_book_update.getValue();
- ds_dept_select.reload();
- _editAddress = cbb_company_for_book_update.getEl().dom.value;
- bookEditForm.getForm().findField('address').setValue(_editAddress);
- }
- }
- });
- var cbb_dept_for_book_update = new Ext.form.ComboBox({
- name : '_deptNo',
- editable : false,
- selectOnFocus : true,
- width : 100,
- displayField : 'deptName',
- mode : 'remote',
- store : ds_dept_select,
- triggerAction : 'all',
- loadingText : '加载中...',
- fieldLabel : '所属部门',
- listeners : {
- 'beforequery' : function(queryEvent) {
- if (!cbb_company_for_book_update.getValue()) {
- queryEvent.cancel = true;
- }
- },
- 'select' : function(combo, record, index) {
- _editAddress += cbb_dept_for_book_update.getValue();
- bookEditForm.getForm().findField('address').setValue(_editAddress);
- }
- }
- });
- var cbb_company_for_book = new Ext.form.ComboBox({
- name : 'companyName',
- width : 120,
- valueField : 'companyId',
- displayField : 'companyName',
- editable : false,
- selectOnFocus : true,
- mode : 'remote',
- store : ds_company_select,
- triggerAction : 'all',
- loadingText : '加载中...',
- fieldLabel : '所属分公司',
- listeners : {
- 'select' : function() {
- cbb_dept_for_book.reset();
- ds_dept_select.baseParams.companyId = cbb_company_for_book.getValue();
- ds_dept_select.reload();
- address = cbb_company_for_book.getEl().dom.value;
- bookForm.getForm().findField('book.address').setValue(address);
- }
- }
- });
- var cbb_dept_for_book = new Ext.form.ComboBox({
- name : 'deptNo',
- editable : false,
- selectOnFocus : true,
- width : 100,
- displayField : 'deptName',
- mode : 'remote',
- store : ds_dept_select,
- triggerAction : 'all',
- loadingText : '加载中...',
- fieldLabel : '所属部门',
- listeners : {
- 'beforequery' : function(queryEvent) {
- if (!cbb_company_for_book.getValue()) {
- queryEvent.cancel = true;
- }
- },
- 'select' : function(combo, record, index) {
- address += cbb_dept_for_book.getValue();
- bookForm.getForm().findField('book.address').setValue(address);
- }
- }
- });
- var bookEditForm = new Ext.FormPanel({
- url : 'updateBook.action',
- labelAlign : 'right',
- labelWidth : 70,
- bodyStyle : 'padding:5px',
- border : false,
- fileUpload : true,
- baseCls : 'x-plain',
- items : [{
- layout : 'column',
- border : false,
- baseCls : 'x-plain',
- items : [{
- columnWidth : .5,
- layout : 'form',
- baseCls : 'x-plain',
- border : false,
- defaultType : 'textfield',
- defaults : {anchor : '93%'},
- items : [{
- xtype : 'hidden',
- name : 'bookId'
- },{
- fieldLabel : '图书名称',
- name : 'bookName',
- allowBlank : false,
- maxLength : 50
- }, {
- xtype : 'combo',
- fieldLabel : '所属分类',
- id : 'category_edit',
- hiddenName : 'categoryId',
- valueField : 'categoryId',
- displayField : 'categoryName',
- mode : 'remote',
- store : new Ext.data.Store({
- autoLoad : true,
- proxy : new Ext.data.HttpProxy({
- url : 'findAllCategoryName.action'
- }),
- reader : new Ext.data.JsonReader({
- root : 'root'
- }, [{name : 'categoryId',type : 'int'},
- {name : 'categoryName',type : 'string'}
- ])
- }),
- selectOnFocus : true,
- editable : false,
- triggerAction : 'all',
- loadingText : '加载中...',
- listeners : {
- 'select' : function(combo, record, index) {
- this.ownerCt.ownerCt.ownerCt.form.findField('categoryName').setValue(record.data.categoryName);
- }
- }
- }, {xtype : 'hidden',name : 'categoryName'},
- {xtype : 'hidden',name : 'imageUrl'},
- {fieldLabel : '作者',name : 'author',maxLength : 50},
- {fieldLabel : 'ISBN',name : 'isbn', maxLength : 50},
- {fieldLabel : '字数', name : 'wordCount',maxLength : 25},
- {fieldLabel : '页数',name : 'pageCount',maxLength : 25},
- {fieldLabel : '开本',name : 'bookSize', maxLength : 25},
- {fieldLabel : '封面图片', name : 'upload',inputType : 'file'}]
- }, {
- columnWidth : .5,
- layout : 'form',
- border : false,
- baseCls : 'x-plain',
- defaultType : 'textfield',
- defaults : {anchor : '93%'},
- items : [
- {fieldLabel : '出版社',name : 'press',maxLength : 50},
- {fieldLabel : '定价(元)',xtype : 'numberfield',name : 'price',maxValue : 1000},
- {fieldLabel : '版次',name : 'editionNo',maxLength : 25},
- {fieldLabel : '纸张',name : 'paper',maxLength : 25},
- {fieldLabel : '包装',name : 'pack',maxLength : 25},
- {xtype : 'hidden',name : 'address',maxLength : 50},
- {xtype : 'hidden',value : '1',name : 'state'},
- cbb_company_for_book_update, cbb_dept_for_book_update]
- }]
- },{
- xtype : 'panel',
- baseCls : 'x-plain',
- bodyBorder : false,
- layout : 'form',
- defaultType : 'textarea',
- defaults : {anchor:'95%'},
- items : [{fieldLabel : '内容简介',name : 'description',maxLength : 500},
- {fieldLabel : '编辑推荐',name : 'editorRecommend',maxLength : 500},
- {fieldLabel : '作者简介',name : 'authorDesc',maxLength : 500}]
- }],
- buttonAlign : 'center',
- minButtonWidth : 60,
- buttons : [{
- text : '修改',
- handler : function(btn){
- if (bookEditForm.getForm().isValid()) {
- btn.disable();
- bookEditForm.getForm().submit({
- waitTitle : '请稍候',
- waitMsg : '正在修改数据,请稍候...',
- success : function(form,action) {
- Ext.Msg.show({
- title : '成功提示',
- msg : '数据修改成功!',
- buttons : Ext.Msg.OK,
- fn : function(){btn.enable()},
- icon : Ext.Msg.INFO
- });
- var store = grid_book.getStore();
- var book = new Book({
- bookId : form.findField('bookId').getValue(),
- bookName : form.findField('bookName').getValue(),
- categoryId : form.findField('categoryId').getValue(),
- categoryName : Ext.get('category_edit').dom.value,
- author : form.findField('author').getValue(),
- press : form.findField('press').getValue(),
- price : form.findField('price').getValue(),
- editionNo : form.findField('editionNo').getValue(),
- isbn : form.findField('isbn').getValue(),
- wordCount : form.findField('wordCount').getValue(),
- pageCount : form.findField('pageCount').getValue(),
- bookSize : form.findField('bookSize').getValue(),
- paper : form.findField('paper').getValue(),
- pack : form.findField('pack').getValue(),
- imageUrl : action.result.imageUrl,
- address : form.findField('address').getValue(),
- description : form.findField('description').getValue(),
- editorRecommend : form.findField('editorRecommend').getValue(),
- authorDesc : form.findField('authorDesc').getValue(),
- state : form.findField('state').getValue()
- });
- var index = store.indexOf(grid_book.getSelectionModel().getSelected());
- store.remove(grid_book.getSelectionModel().getSelected());
- store.insert(index,book);
- grid_book.getSelectionModel().selectRow(index);
- },
- failure : function(form, action) {
- Ext.Msg.show({
- title : '错误提示',
- msg : action.result.contentTypeIsValid ? '操作失败' : '操作失败,文件类型不正确!',
- buttons : Ext.Msg.OK,
- fn : function() {btn.enable();},
- icon : Ext.Msg.ERROR
- });
- }
- });
- }
- }
- },{
- text : '重置',
- handler : function() {
- var record = grid_book.getSelectionModel().getSelected();
- if(record){
- bookEditForm.getForm().loadRecord(record);
- bookEditForm.getForm().findField('_companyName').setValue('');
- bookEditForm.getForm().findField('_deptNo').setValue('');
- bookEditForm.getForm().findField('upload').setValue('');
- }
- }
- }, {
- text : '取消',
- handler : function() {this.ownerCt.ownerCt.hide();}
- }]
- });
- var ds_user_select = new Ext.data.Store({
- url : 'findUserByExample.action',
- reader : new Ext.data.JsonReader({
- root : 'root'
- }, [{name : 'userId',type : 'int'},
- {name : 'emplName',type : 'string'}
- ])
- })
- var loanLogForm = new Ext.FormPanel({
- url : 'saveLoanLog.action',
- labelAlign : 'right',
- labelWidth : 80,
- bodyStyle : 'padding:5px',
- border : false,
- baseCls : 'x-plain',
- defaultType : 'combo',
- defaults : {anchor:'95%'},
- items : [
- {xtype : 'hidden',name : 'loanLog.bookId'},
- {xtype : 'hidden',name : 'loanLog.bookName',id:'bookName'},
- {xtype : 'textfield',fieldLabel : '图书名称',name : '_bookName',disabled:true},
- {fieldLabel : '借出天数',
- valueField : 'loanDays',
- displayField : 'loanDays',
- hiddenName : 'loanLog.loanDays',
- mode : 'local',
- triggerAction : 'all',
- editable : false,
- allowBlank : false,
- store : new Ext.data.SimpleStore({
- fields: ['loanDays', 'loanDays'],
- data : [['1','1'],['2','2'],['3','3'],['4','4'],['5','5'],['6','6'],['7','7'],['8','8'],['9','9'],['10','10'],['11','11'],['12','12'],['13','13'],['14','14'],['15','15'],['16','16'],['17','17'],['18','18'],['19','19'],['20','20'],['21','21'],['22','22'],['23','23'],['24','24'],['25','25'],['26','26'],['27','27'],['28','28'],['29','29'],['30','30']]}),
- listeners : {
- 'select': function(combo, record){
- var dt = new Date().add(Date.DAY,new Number(record.data.loanDays));
- loanLogForm.getForm().findField('_preReturnTime').setValue(dt.format('Y-m-d'));
- loanLogForm.getForm().findField('loanLog.preReturnTime').setValue(dt.format('Y-m-d'));
- }
- }},
- {xtype : 'hidden',name : 'loanLog.preReturnTime'},
- {xtype : 'textfield',fieldLabel : '预计还书日期',name:'_preReturnTime',disabled : true},
- {fieldLabel : '所属分公司',
- name : 'companyName',
- editable : false,
- valueField : 'companyId',
- displayField : 'companyName',
- mode : 'remote',
- store : ds_company_select,
- triggerAction : 'all',
- loadingText : '加载中...',
- listeners : {
- 'select': function(combo,record){
- loanLogForm.getForm().findField('deptNo').reset();
- loanLogForm.getForm().findField('loanLog.reader').reset();
- ds_dept_select.baseParams.companyId = record.data.companyId;
- ds_dept_select.reload();
- ds_user_select.removeAll();
- }
- }},
- {fieldLabel : '所属部门',
- name : 'deptNo',
- editable : false,
- valueField : 'deptId',
- displayField : 'deptName',
- mode : 'remote',
- store : ds_dept_select,
- triggerAction : 'all',
- loadingText : '加载中...',
- listeners : {
- 'beforequery' : function(queryEvent) {
- if (!this.ownerCt.form.findField('companyName').getValue()) {
- queryEvent.cancel = true;
- }
- },
- 'select' : function(combo, record) {
- loanLogForm.getForm().findField('loanLog.reader').reset();
- ds_user_select.baseParams['user.deptId'] = record.data.deptId;
- ds_user_select.reload();
- }
- }
- },{xtype:'hidden',name:'loanLog.readerId'},
- {fieldLabel : '借书人',
- hiddenName : 'loanLog.reader',
- editable : false,
- allowBlank : false,
- displayField : 'emplName',
- mode : 'local',
- triggerAction : 'all',
- loadingText : '加载中...',
- store : ds_user_select,
- listeners : {
- 'select' : function(combo,record){
- loanLogForm.getForm().findField('loanLog.readerId').setValue(record.data.userId);
- }
- }
- }
- ],
- buttonAlign : 'right',
- minButtonWidth : 60,
- buttons : [{
- text:'借出',
- handler : function(){
- if(this.ownerCt.getForm().isValid()){
- Ext.Msg.confirm('操作提示','确认借出?',function(btn){
- if('yes' == btn){
- loanLogForm.getForm().submit({
- success: function(form){
- Ext.Msg.show({
- title : '成功提示',
- msg : '[' + form.findField('loanLog.bookName').getValue() + '] 成功借出!',
- icon : Ext.Msg.INFO,
- buttons : Ext.Msg.OK,
- fn:function(){
- window_loan_book.hide();
- var record = grid_book.getSelectionModel().getSelected();
- record.set('state',0);
- grid_book.fireEvent('rowclick',grid_book,grid_book.getStore().indexOf(record));
- }
- });
- },
- failure : function(form,action){
- Ext.Msg.show({
- title : '错误提示',
- msg : '[' + form.findField('loanLog.bookName').getValue() + '] 借出失败!',
- icon : Ext.Msg.ERROR,
- buttons : Ext.Msg.OK
- });
- }
- });
- }
- });
- }
- }
- },{
- text : '取消',
- handler:function(){
- this.ownerCt.ownerCt.hide();
- }
- }]
- });
- var bookForm = new Ext.FormPanel({
- url : 'saveBook.action',
- labelAlign : 'right',
- labelWidth : 70,
- bodyStyle : 'padding:5px',
- border : false,
- fileUpload : true,
- baseCls : 'x-plain',
- items : [{
- layout : 'column',
- border : false,
- baseCls : 'x-plain',
- items : [{
- columnWidth : .5,
- layout : 'form',
- baseCls : 'x-plain',
- border : false,
- defaultType : 'textfield',
- defaults : {anchor : '93%'},
- items : [{
- fieldLabel : '图书名称',
- id : 'book.bookName',
- name : 'book.bookName',
- allowBlank : false,
- maxLength : 50
- }, {
- xtype : 'combo',
- fieldLabel : '所属分类',
- id : 'category',
- hiddenName : 'book.categoryId',
- valueField : 'categoryId',
- displayField : 'categoryName',
- mode : 'remote',
- store : ds_category_select,
- selectOnFocus : true,
- editable : false,
- triggerAction : 'all',
- loadingText : '加载中...',
- listeners : {
- 'select' : function(combo, record, index) {
- this.ownerCt.ownerCt.ownerCt.form.findField('book.categoryName').setValue(record.data.categoryName);
- }
- }
- }, {xtype : 'hidden',name : 'book.categoryName'},
- {fieldLabel : '作者',name : 'book.author',maxLength : 50},
- {fieldLabel : 'ISBN',name : 'book.isbn', maxLength : 50},
- {fieldLabel : '字数', name : 'book.wordCount',maxLength : 25},
- {fieldLabel : '页数',name : 'book.pageCount',maxLength : 25},
- {fieldLabel : '开本',name : 'book.bookSize', maxLength : 25},
- {fieldLabel : '封面图片', name : 'upload',inputType : 'file'}]
- }, {
- columnWidth : .5,
- layout : 'form',
- border : false,
- baseCls : 'x-plain',
- defaultType : 'textfield',
- defaults : {anchor : '93%'},
- items : [
- {fieldLabel : '出版社',name : 'book.press',maxLength : 50},
- {fieldLabel : '定价(元)',xtype : 'numberfield',name : 'book.price',maxValue : 1000},
- {fieldLabel : '版次',name : 'book.editionNo',maxLength : 25},
- {fieldLabel : '纸张',name : 'book.paper',maxLength : 25},
- {fieldLabel : '包装',name : 'book.pack',maxLength : 25},
- {xtype : 'hidden',name : 'book.address',maxLength : 50},
- {xtype : 'hidden',value : '1',name : 'book.state'},
- cbb_company_for_book, cbb_dept_for_book]
- }]
- }, {
- xtype : 'tabpanel',
- plain : true,
- bodyBorder : false,
- activeTab : 0,
- height : 200,
- defaults : {bodyStyle : 'padding:2px'},
- items : [
- {title : '内容简介',layout : 'fit',items : {xtype : 'textarea',name : 'book.description',maxLength : 500}},
- {title : '编辑推荐',layout : 'fit',items : {xtype : 'textarea',name : 'book.editorRecommend',maxLength : 500}},
- {title : '作者简介',layout : 'fit',items : {xtype : 'textarea',name : 'book.authorDesc',maxLength : 500}
- }]
- }],
- buttonAlign : 'center',
- minButtonWidth : 60,
- buttons : [{
- text : '添加',
- handler : function(btn) {
- if (bookForm.getForm().isValid()) {
- btn.disable();
- var bnfield = bookForm.getForm().findField('book.bookName');
- bookForm.getForm().submit({
- waitTitle : '请稍候',
- waitMsg : '正在提交表单数据,请稍候...',
- success : function(form, action) {
- var store = grid_book.getStore();
- if (store.data.length <= 20) {
- var description = '', editorRecommend = '', authorDesc = '';
- if (form.findField('book.description')) {
- description = form.findField('book.description').getValue();
- }
- if (form.findField('book.editorRecommend')) {
- editorRecommend = form.findField('book.editorRecommend').getValue();
- }
- if (form.findField('book.authorDesc')) {
- authorDesc = form.findField('book.authorDesc').getValue();
- }
- var book = new Book({
- bookId : action.result.bookId,
- bookName : bnfield.getValue(),
- categoryId : form.findField('book.categoryId').getValue(),
- categoryName : Ext.get('category').dom.value,
- author : form.findField('book.author').getValue(),
- press : form.findField('book.press').getValue(),
- price : form.findField('book.price').getValue(),
- editionNo : form.findField('book.editionNo').getValue(),
- isbn : form.findField('book.isbn').getValue(),
- wordCount : form.findField('book.wordCount').getValue(),
- pageCount : form.findField('book.pageCount').getValue(),
- bookSize : form.findField('book.bookSize').getValue(),
- paper : form.findField('book.paper').getValue(),
- pack : form.findField('book.pack').getValue(),
- imageUrl : action.result.imageUrl,
- address : form.findField('book.address').getValue(),
- description : description,
- editorRecommend : editorRecommend,
- authorDesc : authorDesc,
- state : form.findField('book.state').getValue()
- });
- store.insert(0, [book]);
- if (store.data.length > 20) {
- store.remove(store.getAt(store.data.length- 1));
- }
- }
- Ext.Msg.show({
- title : '提示',
- msg : '[ ' + bnfield.getValue() + ' ] 添加成功!!',
- buttons : Ext.MessageBox.OK,
- icon : Ext.Msg.INFO
- });
- bnfield.reset();
- btn.enable();
- },
- failure : function(form, action) {
- Ext.Msg.show({
- title : '错误提示',
- msg : action.result.contentTypeIsValid ? '操作失败' : '操作失败,文件类型不正确!',
- buttons : Ext.Msg.OK,
- fn : function() {bnfield.focus(true);btn.enable();},
- icon : Ext.Msg.ERROR
- });
- }
- });
- }
- }
- }, {
- text : '重置',
- handler : function() {this.ownerCt.form.reset();}
- }, {
- text : '取消',
- handler : function() {this.ownerCt.ownerCt.hide();}
- }]
- });
- var window_edit_book = new Ext.Window({
- title : '编辑图书信息',
- width : 620,
- resizable : false,
- autoHeight : true,
- modal : true,
- closeAction : 'hide',
- items : [bookEditForm]
- });
- var window_loan_book = new Ext.Window({
- title : '借书管理',
- width : 400,
- resizable : false,
- autoHeight : true,
- modal : true,
- closeAction : 'hide',
- listeners : {
- 'hide' : function(){
- this.findById('bookName').ownerCt.form.reset();
- }
- },
- items : [loanLogForm]
- });
- var window_add_book = new Ext.Window({
- title : '添加图书',
- width : 600,
- resizable : false,
- autoHeight : true,
- modal : true,
- closeAction : 'hide',
- listeners : {
- 'hide' : function() {
- this.findById('book.bookName').ownerCt.ownerCt.ownerCt.form.reset();
- }
- },
- items : [bookForm]
- });
- var btn_loan_book = new Ext.Button({
- text : '借书管理',
- handler : function(){
- var record = grid_book.getSelectionModel().getSelected();
- if(record){
- window_loan_book.show();
- loanLogForm.getForm().findField('loanLog.bookId').setValue(record.data.bookId);
- loanLogForm.getForm().findField('loanLog.bookName').setValue(record.data.bookName);
- loanLogForm.getForm().findField('_bookName').setValue(record.data.bookName);
- }
- }
- });
- var btn_return_book = new Ext.Button({
- text : '确认还书',
- handler : function(){
- var record = grid_book.getSelectionModel().getSelected();
- if(record){
- var bookId = record.data.bookId;
- Ext.Ajax.request({
- url: 'returnBook.action',
- success: function(){
- Ext.Msg.show({
- title : '成功提示',
- msg : '还书操作成功!',
- buttons : Ext.Msg.OK,
- icon : Ext.Msg.INFO,
- fn : function(){
- record.set('state',1);
- record.set('currentReader',''),
- grid_book.fireEvent('rowclick',grid_book,grid_book.getStore().indexOf(record));
- }
- });
- },
- failure: function(){
- Ext.Msg.show({
- title : '错误提示',
- msg : '还书操作失败!',
- buttons : Ext.Msg.OK,
- icon : Ext.Msg.ERROR
- });
- },
- params: { bookId: bookId}
- });
- }
- }
- });
- var btn_add_book = new Ext.Button({
- text : '添加图书',
- iconCls : 'icon-add',
- handler : function() {
- window_add_book.show();
- }
- });
- var btn_edit_book = new Ext.Button({
- text : '编辑图书',
- iconCls : 'icon-edit',
- handler : function(){
- var record = grid_book.getSelectionModel().getSelected();
- if(record){
- window_edit_book.show();
- bookEditForm.getForm().loadRecord(record);
- }
- }
- })
- var btn_del_book = new Ext.Button({
- text : '删除图书',
- iconCls : 'icon-del',
- handler : function() {
- var record = grid_book.getSelectionModel().getSelected();
- if (record) {
- Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
- if (btn == 'yes') {
- Ext.Ajax.request({
- url : 'deleteBook.action',
- params : {bookId : record.data.bookId},
- success : function() {grid_book.getStore().remove(record);},
- failure : function() {
- Ext.Msg.show({
- title : '错误提示',
- msg : '删除时发生错误!',
- buttons : Ext.Msg.OK,
- icon : Ext.Msg.ERROR
- });
- }
- });
- }
- });
- }
- }
- });
- var searchBook = function() {
- ds_book.baseParams.conditions = text_search_book.getValue();
- ds_book.load({params : {start : 0,limit : 20}
- });
- }
- var ds_book = new Ext.data.Store({
- url : 'findAllBook.action',
- reader : new Ext.data.JsonReader(
- {totalProperty : 'totalProperty',root : 'root'},
- [{name : 'bookId',type : 'int'},
- {name : 'bookName',type : 'string'},
- {name : 'author',type : 'string'},
- {name : 'press',type : 'string'},
- {name : 'price',type : 'string'},
- {name : 'editionNo',type : 'string'},
- {name : 'isbn',type : 'string'},
- {name : 'categoryId',type : 'int'},
- {name : 'categoryName',type : 'string'},
- {name : 'wordCount',type : 'string'},
- {name : 'pageCount',type : 'string'},
- {name : 'bookSize',type : 'string'},
- {name : 'paper',type : 'string'},
- {name : 'pack',type : 'string'},
- {name : 'imageUrl',type : 'string'},
- {name : 'address',type : 'string'},
- {name : 'editorRecommend',type : 'string'},
- {name : 'description',type : 'string'},
- {name : 'authorDesc',type : 'string'},
- {name : 'state',type : 'int'},
- {name : 'currentReaderId',type : 'int'},
- {name : 'currentReader',type : 'string'},
- {name : 'logId',type : 'int'}
- ])
- });
- var btn_search_book = new Ext.Button({
- text : '查询',
- iconCls : 'icon-search',
- handler : searchBook
- });
- var text_search_book = new Ext.form.TextField({
- name : 'textSearchBook',
- width : 200,
- emptyText : '多条件可用逗号或者空格隔开!',
- listeners : {
- 'specialkey' : function(field, e) {
- if (e.getKey() == Ext.EventObject.ENTER) {
- searchBook();
- }
- }
- }
- });
- var grid_book = new Ext.grid.GridPanel({
- region : 'center',
- loadMask : {msg : '数据加载中...'},
- enableColumnMove : false,
- cm : cm_book,
- ds : ds_book,
- sm : new Ext.grid.RowSelectionModel({singleSelect : true}),
- autoExpandColumn : 'address',
- viewConfig : {forceFit : true},
- plugins : expander,
- tbar : [btn_add_book, '-',btn_edit_book, '-', btn_del_book, '-',
- text_search_book,btn_search_book,'->',btn_loan_book,'-',btn_return_book],
- bbar : new Ext.PagingToolbar({
- pageSize : 20,
- store : ds_book,
- displayInfo : true,
- displayMsg : '第 {0} - {1} 条 共 {2} 条',
- emptyMsg : "没有记录"
- }),
- listeners : {
- 'rowdblclick':function(grid, rowIndex){
- ds_loanlog.baseParams.bookId = grid.getStore().getAt(rowIndex).data.bookId;
- ds_loanlog.load({params : {start : 0,limit : 10}});
- },
- 'rowclick':function(grid,rowIndex){
- btn_loan_book.setDisabled(grid.getStore().getAt(rowIndex).data.state == 0 ? true:false);
- btn_return_book.setDisabled(grid.getStore().getAt(rowIndex).data.state == 1 ? true:false);
- }
- }
- });
- var ds_loanlog = new Ext.data.Store({
- url : 'findAllLoanLog.action',
- sortInfo : {field: 'loanTime', direction: 'DESC'},
- reader : new Ext.data.JsonReader(
- {totalProperty : 'totalProperty',root : 'root'},
- [{name : 'logId',type : 'int'},
- {name : 'bookId',type : 'int'},
- {name : 'bookName',type : 'string'},
- {name : 'loanTime'},
- {name : 'loanDays',type : 'int'},
- {name : 'preReturnTime'},
- {name : 'returnTime'},
- {name : 'readerId',type : 'int'},
- {name : 'reader',type : 'string'},
- {name : 'loannerId',type : 'int'},
- {name : 'loanner',type : 'string'}]
- )
- });
- var dateFormat = function(v){
- if(v){
- return v.substring(0,10)
- }
- return '未归还';
- }
- LoanLogPanel = Ext.extend(Ext.grid.GridPanel,{
- constructor:function(){
- LoanLogPanel.superclass.constructor.call(this,{
- loadMask : {msg : '数据加载中...'},
- cm : new Ext.grid.ColumnModel([
- {header : '图书名称', width : 120,dataIndex : 'bookName',id : 'bookName',sortable : true},
- {header : '借书人', width : 90, dataIndex : 'reader',sortable : true},
- {header : '借出时间',width : 100, dataIndex : 'loanTime',renderer: dateFormat,sortable : true},
- {header : '借出天数',width : 100, dataIndex : 'loanDays',sortable : true},
- {header : '预计还书时间', width : 100,dataIndex : 'preReturnTime',renderer: dateFormat,sortable : true},
- {header : '实际还书时间', width : 100,dataIndex : 'returnTime',renderer:dateFormat,sortable : true},
- {header : '管理员', width : 100,dataIndex : 'loanner',menuDisabled : true}]
- ),
- autoExpandColumn : 'bookName',
- ds : ds_loanlog,
- sm : new Ext.grid.RowSelectionModel({singleSelect : true}),
- bbar : new Ext.PagingToolbar({
- pageSize : 10,
- store : ds_loanlog,
- displayInfo : true,
- displayMsg : '第 {0} - {1} 条 共 {2} 条',
- emptyMsg : "没有记录"}
- )
- });
- }
- });
- var book_panel = new Ext.Panel({
- title : '图书管理',
- iconCls : 'icon-plugin',
- region : 'center',
- border : 'layout',
- frame : true,
- layout:'border',
- defaults: {
- collapsible: true,
- split: true
- },
- items: [{
- region:'center',
- layout : 'border',
- items : [grid_book]
- },{
- region: 'south',
- layout :'fit',
- title : '图书借还记录',
- height: 250,
- minSize: 150,
- maxSize: 286,
- items : [new LoanLogPanel()]
- }]
- });
- var p_book = {
- id : 'book-panel',
- border : false,
- layout : 'border',
- items : [book_panel]
- }