');
+ cc.push('');
+ }
+ }
+ return cc.join('');
+ },
+
+ insertRow: function(target, index, row){
+ var opts = $.data(target, 'datagrid').options;
+ var dc = $.data(target, 'datagrid').dc;
+ var panel = $(target).datagrid('getPanel');
+ var view1 = dc.view1;
+ var view2 = dc.view2;
+
+ var isAppend = false;
+ var rowLength = $(target).datagrid('getRows').length;
+ if (rowLength == 0){
+ $(target).datagrid('loadData',{total:1,rows:[row]});
+ return;
+ }
+
+ if (index == undefined || index == null || index >= rowLength) {
+ index = rowLength;
+ isAppend = true;
+ this.canUpdateDetail = false;
+ }
+
+ $.fn.datagrid.defaults.view.insertRow.call(this, target, index, row);
+
+ _insert(true);
+ _insert(false);
+
+ this.canUpdateDetail = true;
+
+ function _insert(frozen){
+ var tr = opts.finder.getTr(target, index, 'body', frozen?1:2);
+ if (isAppend){
+ var detail = tr.next();
+ var newDetail = tr.next().clone();
+ tr.insertAfter(detail);
+ } else {
+ var newDetail = tr.next().next().clone();
+ }
+ newDetail.insertAfter(tr);
+ newDetail.hide();
+ if (!frozen){
+ newDetail.find('div.datagrid-row-detail').html(opts.detailFormatter.call(target, index, row));
+ }
+ }
+ },
+
+ deleteRow: function(target, index){
+ var opts = $.data(target, 'datagrid').options;
+ var dc = $.data(target, 'datagrid').dc;
+ var tr = opts.finder.getTr(target, index);
+ tr.next().remove();
+ $.fn.datagrid.defaults.view.deleteRow.call(this, target, index);
+ dc.body2.triggerHandler('scroll');
+ },
+
+ updateRow: function(target, rowIndex, row){
+ var dc = $.data(target, 'datagrid').dc;
+ var opts = $.data(target, 'datagrid').options;
+ var cls = $(target).datagrid('getExpander', rowIndex).attr('class');
+ $.fn.datagrid.defaults.view.updateRow.call(this, target, rowIndex, row);
+ $(target).datagrid('getExpander', rowIndex).attr('class',cls);
+
+ // update the detail content
+ if (opts.autoUpdateDetail && this.canUpdateDetail){
+ var row = $(target).datagrid('getRows')[rowIndex];
+ var detail = $(target).datagrid('getRowDetail', rowIndex);
+ detail.html(opts.detailFormatter.call(target, rowIndex, row));
+ }
+ },
+
+ bindEvents: function(target){
+ var state = $.data(target, 'datagrid');
+
+ if (state.ss.bindDetailEvents){return;}
+ state.ss.bindDetailEvents = true;
+
+ var dc = state.dc;
+ var opts = state.options;
+ var body = dc.body1.add(dc.body2);
+ var clickHandler = ($.data(body[0],'events')||$._data(body[0],'events')).click[0].handler;
+ body.unbind('click').bind('click', function(e){
+ var tt = $(e.target);
+ var tr = tt.closest('tr.datagrid-row');
+ if (!tr.length){return}
+ if (tt.hasClass('datagrid-row-expander')){
+ var rowIndex = parseInt(tr.attr('datagrid-row-index'));
+ if (tt.hasClass('datagrid-row-expand')){
+ $(target).datagrid('expandRow', rowIndex);
+ } else {
+ $(target).datagrid('collapseRow', rowIndex);
+ }
+ $(target).datagrid('fixRowHeight');
+
+ } else {
+ clickHandler(e);
+ }
+ e.stopPropagation();
+ });
+ },
+
+ onBeforeRender: function(target){
+ var state = $.data(target, 'datagrid');
+ var opts = state.options;
+ var dc = state.dc;
+ var t = $(target);
+ var hasExpander = false;
+ var fields = t.datagrid('getColumnFields',true).concat(t.datagrid('getColumnFields'));
+ for(var i=0; i');
+ if ($('tr',t).length == 0){
+ td.wrap('
').parent().appendTo($('tbody',t));
+ } else if (opts.rownumbers){
+ td.insertAfter(t.find('td:has(div.datagrid-header-rownumber)'));
+ } else {
+ td.prependTo(t.find('tr:first'));
+ }
+ }
+
+ // if (!state.bindDetailEvents){
+ // state.bindDetailEvents = true;
+ // var that = this;
+ // setTimeout(function(){
+ // that.bindEvents(target);
+ // },0);
+ // }
+ },
+
+ onAfterRender: function(target){
+ var that = this;
+ var state = $.data(target, 'datagrid');
+ var dc = state.dc;
+ var opts = state.options;
+ var panel = $(target).datagrid('getPanel');
+
+ $.fn.datagrid.defaults.view.onAfterRender.call(this, target);
+
+ if (!state.onResizeColumn){
+ state.onResizeColumn = opts.onResizeColumn;
+ opts.onResizeColumn = function(field, width){
+ if (!opts.fitColumns){
+ resizeDetails();
+ }
+ var rowCount = $(target).datagrid('getRows').length;
+ for(var i=0; itable.datagrid-btable>tbody>tr>td>div.datagrid-row-detail:visible');
+ // if (details.length){
+ // var ww = 0;
+ // dc.header2.find('.datagrid-header-check:visible,.datagrid-cell:visible').each(function(){
+ // ww += $(this).outerWidth(true) + 1;
+ // });
+ // if (ww != details.outerWidth(true)){
+ // details._outerWidth(ww);
+ // details.find('.easyui-fluid').trigger('_resize');
+ // }
+ // }
+ // }
+ function resizeDetails(){
+ var details = dc.body2.find('>table.datagrid-btable>tbody>tr>td>div.datagrid-row-detail:visible');
+ if (details.length){
+ var ww = 0;
+ // dc.header2.find('.datagrid-header-check:visible,.datagrid-cell:visible').each(function(){
+ // ww += $(this).outerWidth(true) + 1;
+ // });
+ dc.body2.find('>table.datagrid-btable>tbody>tr:visible:first').find('.datagrid-cell-check:visible,.datagrid-cell:visible').each(function(){
+ ww += $(this).outerWidth(true) + 1;
+ });
+ if (ww != details.outerWidth(true)){
+ details._outerWidth(ww);
+ details.find('.easyui-fluid').trigger('_resize');
+ }
+ }
+ }
+
+
+ this.canUpdateDetail = true; // define if to update the detail content when 'updateRow' method is called;
+
+ var footer = dc.footer1.add(dc.footer2);
+ footer.find('span.datagrid-row-expander').css('visibility', 'hidden');
+ $(target).datagrid('resize');
+
+ this.bindEvents(target);
+ var detail = dc.body1.add(dc.body2).find('div.datagrid-row-detail');
+ detail.unbind().bind('mouseover mouseout click dblclick contextmenu scroll', function(e){
+ e.stopPropagation();
+ });
+ }
+});
+
+$.extend($.fn.datagrid.methods, {
+ fixDetailRowHeight: function(jq, index){
+ return jq.each(function(){
+ var opts = $.data(this, 'datagrid').options;
+ if (!(opts.rownumbers || (opts.frozenColumns && opts.frozenColumns.length))){
+ return;
+ }
+ var dc = $.data(this, 'datagrid').dc;
+ var tr1 = opts.finder.getTr(this, index, 'body', 1).next();
+ var tr2 = opts.finder.getTr(this, index, 'body', 2).next();
+ // fix the detail row height
+ if (tr2.is(':visible')){
+ tr1.css('height', '');
+ tr2.css('height', '');
+ var height = Math.max(tr1.height(), tr2.height());
+ tr1.css('height', height);
+ tr2.css('height', height);
+ }
+ dc.body2.triggerHandler('scroll');
+ });
+ },
+ getExpander: function(jq, index){ // get row expander object
+ var opts = $.data(jq[0], 'datagrid').options;
+ return opts.finder.getTr(jq[0], index).find('span.datagrid-row-expander');
+ },
+ // get row detail container
+ getRowDetail: function(jq, index){
+ var opts = $.data(jq[0], 'datagrid').options;
+ var tr = opts.finder.getTr(jq[0], index, 'body', 2);
+ // return tr.next().find('div.datagrid-row-detail');
+ return tr.next().find('>td>div.datagrid-row-detail');
+ },
+ expandRow: function(jq, index){
+ return jq.each(function(){
+ var opts = $(this).datagrid('options');
+ var dc = $.data(this, 'datagrid').dc;
+ var expander = $(this).datagrid('getExpander', index);
+ if (expander.hasClass('datagrid-row-expand')){
+ expander.removeClass('datagrid-row-expand').addClass('datagrid-row-collapse');
+ var tr1 = opts.finder.getTr(this, index, 'body', 1).next();
+ var tr2 = opts.finder.getTr(this, index, 'body', 2).next();
+ tr1.show();
+ tr2.show();
+ $(this).datagrid('fixDetailRowHeight', index);
+ if (opts.onExpandRow){
+ var row = $(this).datagrid('getRows')[index];
+ opts.onExpandRow.call(this, index, row);
+ }
+ }
+ });
+ },
+ collapseRow: function(jq, index){
+ return jq.each(function(){
+ var opts = $(this).datagrid('options');
+ var dc = $.data(this, 'datagrid').dc;
+ var expander = $(this).datagrid('getExpander', index);
+ if (expander.hasClass('datagrid-row-collapse')){
+ expander.removeClass('datagrid-row-collapse').addClass('datagrid-row-expand');
+ var tr1 = opts.finder.getTr(this, index, 'body', 1).next();
+ var tr2 = opts.finder.getTr(this, index, 'body', 2).next();
+ tr1.hide();
+ tr2.hide();
+ dc.body2.triggerHandler('scroll');
+ if (opts.onCollapseRow){
+ var row = $(this).datagrid('getRows')[index];
+ opts.onCollapseRow.call(this, index, row);
+ }
+ }
+ });
+ }
+});
+
+$.extend($.fn.datagrid.methods, {
+ subgrid: function(jq, conf){
+ return jq.each(function(){
+ createGrid(this, conf);
+
+ function createGrid(target, conf, prow){
+ var queryParams = $.extend({}, conf.options.queryParams||{});
+ // queryParams[conf.options.foreignField] = prow ? prow[conf.options.foreignField] : undefined;
+ if (prow){
+ var fk = conf.options.foreignField;
+ if ($.isFunction(fk)){
+ $.extend(queryParams, fk.call(conf, prow));
+ } else {
+ queryParams[fk] = prow[fk];
+ }
+ }
+
+ var plugin = conf.options.edatagrid ? 'edatagrid' : 'datagrid';
+
+ $(target)[plugin]($.extend({}, conf.options, {
+ subgrid: conf.subgrid,
+ view: (conf.subgrid ? detailview : undefined),
+ queryParams: queryParams,
+ detailFormatter: function(index, row){
+ return '
';
+ },
+ onExpandRow: function(index, row){
+ var opts = $(this).datagrid('options');
+ var rd = $(this).datagrid('getRowDetail', index);
+ var dg = getSubGrid(rd);
+ if (!dg.data('datagrid')){
+ createGrid(dg[0], opts.subgrid, row);
+ }
+ rd.find('.easyui-fluid').trigger('_resize');
+ setHeight(this, index);
+ if (conf.options.onExpandRow){
+ conf.options.onExpandRow.call(this, index, row);
+ }
+ },
+ onCollapseRow: function(index, row){
+ setHeight(this, index);
+ if (conf.options.onCollapseRow){
+ conf.options.onCollapseRow.call(this, index, row);
+ }
+ },
+ onResize: function(){
+ var dg = $(this).children('div.datagrid-view').children('table')
+ setParentHeight(this);
+ },
+ onResizeColumn: function(field, width){
+ setParentHeight(this);
+ if (conf.options.onResizeColumn){
+ conf.options.onResizeColumn.call(this, field, width);
+ }
+ },
+ onLoadSuccess: function(data){
+ setParentHeight(this);
+ if (conf.options.onLoadSuccess){
+ conf.options.onLoadSuccess.call(this, data);
+ }
+ }
+ }));
+ }
+ function getSubGrid(rowDetail){
+ var div = $(rowDetail).children('div');
+ if (div.children('div.datagrid').length){
+ return div.find('>div.datagrid>div.panel-body>div.datagrid-view>table.datagrid-subgrid');
+ } else {
+ return div.find('>table.datagrid-subgrid');
+ }
+ }
+ function setParentHeight(target){
+ var tr = $(target).closest('div.datagrid-row-detail').closest('tr').prev();
+ if (tr.length){
+ var index = parseInt(tr.attr('datagrid-row-index'));
+ var dg = tr.closest('div.datagrid-view').children('table');
+ setHeight(dg[0], index);
+ }
+ }
+ function setHeight(target, index){
+ $(target).datagrid('fixDetailRowHeight', index);
+ $(target).datagrid('fixRowHeight', index);
+ var tr = $(target).closest('div.datagrid-row-detail').closest('tr').prev();
+ if (tr.length){
+ var index = parseInt(tr.attr('datagrid-row-index'));
+ var dg = tr.closest('div.datagrid-view').children('table');
+ setHeight(dg[0], index);
+ }
+ }
+ });
+ },
+ getSelfGrid: function(jq){
+ var grid = jq.closest('.datagrid');
+ if (grid.length){
+ return grid.find('>.datagrid-wrap>.datagrid-view>.datagrid-f');
+ } else {
+ return null;
+ }
+ },
+ getParentGrid: function(jq){
+ var detail = jq.closest('div.datagrid-row-detail');
+ if (detail.length){
+ return detail.closest('.datagrid-view').children('.datagrid-f');
+ } else {
+ return null;
+ }
+ },
+ getParentRowIndex: function(jq){
+ var detail = jq.closest('div.datagrid-row-detail');
+ if (detail.length){
+ var tr = detail.closest('tr').prev();
+ return parseInt(tr.attr('datagrid-row-index'));
+ } else {
+ return -1;
+ }
+ }
+});
diff --git a/erp_web/js/easyui-1.3.5/changelog.txt b/erp_web/js/easyui-1.3.5/changelog.txt
new file mode 100644
index 00000000..adcec73e
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/changelog.txt
@@ -0,0 +1,363 @@
+Version 1.3.5
+-------------
+* Bug
+ * searchbox: The 'searcher' function can not offer 'name' parameter value correctly. fixed.
+ * combo: The 'isValid' method can not return boolean value. fixed.
+ * combo: Clicking combo will trigger the 'onHidePanel' event of other combo components that have hidden drop-down panels. fixed.
+ * combogrid: Some methods can not inherit from combo. fixed.
+* Improvement
+ * datagrid: Improve performance on checking rows.
+ * menu: Allows to append a menu separator.
+ * menu: Add 'hideOnUnhover' property to indicate if the menu should be hidden when mouse exits it.
+ * slider: Add 'clear' and 'reset' methods.
+ * tabs: Add 'unselect' method that will trigger 'onUnselect' event.
+ * tabs: Add 'selected' property to specify what tab panel will be opened.
+ * tabs: The 'collapsible' property of tab panel is supported to determine if the tab panel can be collapsed.
+ * tabs: Add 'showHeader' property, 'showHeader' and 'hideHeader' methods.
+ * combobox: The 'disabled' property can be used to disable some items.
+ * tree: Improve loading performance.
+ * pagination: The 'layout' property can be used to customize the pagination layout.
+ * accordion: Add 'unselect' method that will trigger 'onUnselect' event.
+ * accordion: Add 'selected' and 'multiple' properties.
+ * accordion: Add 'getSelections' method.
+ * datebox: Add 'sharedCalendar' property that allows multiple datebox components share one calendar component.
+
+Version 1.3.4
+-------------
+* Bug
+ * combobox: The onLoadSuccess event fires when parsing empty local data. fixed.
+ * form: Calling 'reset' method can not reset datebox field. fixed.
+* Improvement
+ * mobile: The context menu and double click features are supported on mobile devices.
+ * combobox: The 'groupField' and 'groupFormatter' options are available to display items in groups.
+ * tree: When append or insert nodes, the 'data' parameter accepts one or more nodes data.
+ * tree: The 'getChecked' method accepts a single 'state' or an array of 'state'.
+ * tree: Add 'scrollTo' method.
+ * datagrid: The 'multiSort' property is added to support multiple column sorting.
+ * datagrid: The 'rowStyler' and column 'styler' can return CSS class name or inline styles.
+ * treegrid: Add 'load' method to load data and navigate to the first page.
+ * tabs: Add 'tabWidth' and 'tabHeight' properties.
+ * validatebox: The 'novalidate' property is available to indicate whether to perform the validation.
+ * validatebox: Add 'enableValidation' and 'disableValidation' methods.
+ * form: Add 'enableValidation' and 'disableValidation' methods.
+ * slider: Add 'onComplete' event.
+ * pagination: The 'buttons' property accepts the existing element.
+
+Version 1.3.3
+-------------
+* Bug
+ * datagrid: Some style features are not supported by column styler function. fixed.
+ * datagrid: IE 31 stylesheet limit. fixed.
+ * treegrid: Some style features are not supported by column styler function. fixed.
+ * menu: The auto width of menu item displays incorrect in ie6. fixed.
+ * combo: The 'onHidePanel' event can not fire when clicked outside the combo area. fixed.
+* Improvement
+ * datagrid: Add 'scrollTo' and 'highlightRow' methods.
+ * treegrid: Enable treegrid to parse data from element.
+ * combo: Add 'selectOnNavigation' and 'readonly' options.
+ * combobox: Add 'loadFilter' option to allow users to change data format before loading into combobox.
+ * tree: Add 'onBeforeDrop' callback event.
+ * validatebox: Dependent on tooltip plugin now, add 'deltaX' property.
+ * numberbox: The 'filter' options can be used to determine if the key pressed was accepted.
+ * linkbutton: The group button is available.
+ * layout: The 'minWidth','maxWidth','minHeight','maxHeight' and 'collapsible' properties are available for region panel.
+* New Plugins
+ * tooltip: Display a popup message when moving mouse over an element.
+
+Version 1.3.2
+-------------
+* Bug
+ * datagrid: The loading message window can not be centered when changing the width of datagrid. fixed.
+ * treegrid: The 'mergeCells' method can not work normally. fixed.
+ * propertygrid: Calling 'endEdit' method to stop editing a row will cause errors. fixed.
+ * tree: Can not load empty data when 'lines' property set to true. fixed.
+* Improvement
+ * RTL feature is supported now.
+ * tabs: Add 'scrollBy' method to scroll the tab header by the specified amount of pixels
+ * tabs: Add 'toolPosition' property to set tab tools to left or right.
+ * tabs: Add 'tabPosition' property to define the tab position, possible values are: 'top','bottom','left','right'.
+ * datagrid: Add a column level property 'order' that allows users to define different default sort order per column.
+ * datagrid: Add a column level property 'halign' that allows users to define how to align the column header.
+ * datagrid: Add 'resizeHandle' property to define the resizing column position, by grabbing the left or right edge of the column.
+ * datagrid: Add 'freezeRow' method to freeze some rows that will always be displayed at the top when the datagrid is scrolled down.
+ * datagrid: Add 'clearChecked' method to clear all checked records.
+ * datagrid: Add 'data' property to initialize the datagrid data.
+ * linkbutton: Add 'iconAlgin' property to define the icon position, supported values are: 'left','right'.
+ * menu: Add 'minWidth' property.
+ * menu: The menu width can be automatically calculated.
+ * tree: New events are available including 'onBeforeDrag','onStartDrag','onDragEnter','onDragOver','onDragLeave',etc.
+ * combo: Add 'height' property to allow users to define the height of combo.
+ * combo: Add 'reset' method.
+ * numberbox: Add 'reset' method.
+ * spinner: Add 'reset' method.
+ * spinner: Add 'height' property to allow users to define the height of spinner.
+ * searchbox: Add 'height' property to allow users to define the height of searchbox.
+ * form: Add 'reset' method.
+ * validatebox: Add 'delay' property to delay validating from the last inputting value.
+ * validatebox: Add 'tipPosition' property to define the tip position, supported values are: 'left','right'.
+ * validatebox: Multiple validate rules on a field is supported now.
+ * slider: Add 'reversed' property to determine if the min value and max value will switch their positions.
+ * progressbar: Add 'height' property to allow users to define the height of progressbar.
+
+Version 1.3.1
+-------------
+* Bug
+ * datagrid: Setting the 'pageNumber' property is not valid. fixed.
+ * datagrid: The id attribute of rows isn't adjusted properly while calling 'insertRow' or 'deleteRow' method.
+ * dialog: When load content from 'href', the script will run twice. fixed.
+ * propertygrid: The editors that extended from combo can not accept its changed value. fixed.
+* Improvement
+ * droppable: Add 'disabled' property.
+ * droppable: Add 'options','enable' and 'disable' methods.
+ * tabs: The tab panel tools can be changed by calling 'update' method.
+ * messager: When show a message window, the user can define the window position by applying 'style' property.
+ * window: Prevent script on window body from running twice.
+ * window: Add 'hcenter','vcenter' and 'center' methods.
+ * tree: Add 'onBeforeCheck' callback event.
+ * tree: Extend the 'getChecked' method to allow users to get 'checked','unchecked' or 'indeterminate' nodes.
+ * treegrid: Add 'update' method to update a specified node.
+ * treegrid: Add 'insert' method to insert a new node.
+ * treegrid: Add 'pop' method to remove a node and get the removed node data.
+
+Version 1.3
+-----------
+* Bug
+ * combogrid: When set to 'remote' query mode, the 'queryParams' parameters can't be sent to server. fixed.
+ * combotree: The tree nodes on drop-down panel can not be unchecked while calling 'clear' method. fixed.
+ * datetimebox: Setting 'showSeconds' property to false cannot hide seconds info. fixed.
+ * datagrid: Calling 'mergeCells' method can't auto resize the merged cell while header is hidden. fixed.
+ * dialog: Set cache to false and load data via ajax, the content cannot be refreshed. fixed.
+* Improvement
+ * The HTML5 'data-options' attribute is available for components to declare all custom options, including properties and events.
+ * More detailed documentation is available.
+ * panel: Prevent script on panel body from running twice.
+ * accordion: Add 'getPanelIndex' method.
+ * accordion: The tools can be added on panel header.
+ * datetimebox: Add 'timeSeparator' option that allows users to define the time separator.
+ * pagination: Add 'refresh' and 'select' methods.
+ * datagrid: Auto resize the column width to fit the contents when the column width is not defined.
+ * datagrid: Double click on the right border of columns to auto resize the columns to the contents in the columns.
+ * datagrid: Add 'autoSizeColumn' method that allows users to adjust the column width to fit the contents.
+ * datagrid: Add 'getChecked' method to get all rows where the checkbox has been checked.
+ * datagrid: Add 'selectOnCheck' and 'checkOnSelect' properties and some checking methods to enhance the row selections.
+ * datagrid: Add 'pagePosition' property to allow users to display pager bar at either top,bottom or both places of the grid.
+ * datagrid: The buffer view and virtual scroll view are supported to display large amounts of records without pagination.
+ * tabs: Add 'disableTab' and 'enableTab' methods to allow users to disable or enable a tab panel.
+
+Version 1.2.6
+-------------
+* Bug
+ * tabs: Call 'add' method with 'selected:false' option, the added tab panel is always selected. fixed.
+ * treegrid: The 'onSelect' and 'onUnselect' events can't be triggered. fixed.
+ * treegrid: Cannot display zero value field. fixed.
+* Improvement
+ * propertygrid: Add 'expandGroup' and 'collapseGroup' methods.
+ * layout: Allow users to create collapsed layout panels by assigning 'collapsed' property to true.
+ * layout: Add 'add' and 'remove' methods that allow users to dynamically add or remove region panel.
+ * layout: Additional tool icons can be added on region panel header.
+ * calendar: Add 'firstDay' option that allow users to set first day of week. Sunday is 0, Monday is 1, ...
+ * tree: Add 'lines' option, true to display tree lines.
+ * tree: Add 'loadFilter' option that allow users to change data format before loading into the tree.
+ * tree: Add 'loader' option that allow users to define how to load data from remote server.
+ * treegrid: Add 'onClickCell' and 'onDblClickCell' callback function options.
+ * datagrid: Add 'autoRowHeight' property that allow users to determine if set the row height based on the contents of that row.
+ * datagrid: Improve performance to load large data set.
+ * datagrid: Add 'loader' option that allow users to define how to load data from remote server.
+ * treegrid: Add 'loader' option that allow users to define how to load data from remote server.
+ * combobox: Add 'onBeforeLoad' callback event function.
+ * combobox: Add 'loader' option that allow users to define how to load data from remote server.
+ * Add support for other loading mode such as dwr,xml,etc.
+* New Plugins
+ * slider: Allows the user to choose a numeric value from a finite range.
+
+Version 1.2.5
+-------------
+* Bug
+ * tabs: When add a new tab panel with href property, the content page is loaded twice. fixed.
+ * form: Failed to call 'load' method to load form input with complex name. fixed.
+ * draggable: End drag in ie9, the cursor cannot be restored. fixed.
+* Improvement
+ * panel: The tools can be defined via html markup.
+ * tabs: Call 'close' method to close specified tab panel, users can pass tab title or index of tab panel. Other methods such 'select','getTab' and 'exists' are similar to 'close' method.
+ * tabs: Add 'getTabIndex' method.
+ * tabs: Users can define mini tools on tabs.
+ * tree: The mouse must move a specified distance to begin drag and drop operation.
+ * resizable: Add 'options','enable' and 'disable' methods.
+ * numberbox: Allow users to change number format.
+ * datagrid: The subgrid is supported now.
+ * searchbox: Add 'selectName' method to select searching type name.
+
+Version 1.2.4
+-------------
+* Bug
+ * menu: The menu position is wrong when scroll bar appears. fixed.
+ * accordion: Cannot display the default selected panel in jQuery 1.6.2. fixed.
+ * tabs: Cannot display the default selected tab panel in jQuery 1.6.2. fixed.
+* Improvement
+ * menu: Allow users to disable or enable menu item.
+ * combo: Add 'delay' property to set the delay time to do searching from the last key input event.
+ * treegrid: The 'getEditors' and 'getEditor' methods are supported now.
+ * treegrid: The 'loadFilter' option is supported now.
+ * messager: Add 'progress' method to display a message box with a progress bar.
+ * panel: Add 'extractor' option to allow users to extract panel content from ajax response.
+* New Plugins
+ * searchbox: Allow users to type words into box and do searching operation.
+ * progressbar: To display the progress of a task.
+
+Version 1.2.3
+-------------
+* Bug
+ * window: Cannot resize the window with iframe content. fixed.
+ * tree: The node will be removed when dragging to its child. fixed.
+ * combogrid: The onChange event fires multiple times. fixed.
+ * accordion: Cannot add batch new panels when animate property is set to true. fixed.
+* Improvement
+ * treegrid: The footer row and row styler features are supported now.
+ * treegrid: Add 'getLevel','reloadFooter','getFooterRows' methods.
+ * treegrid: Support root nodes pagination and editable features.
+ * datagrid: Add 'getFooterRows','reloadFooter','insertRow' methods and improve editing performance.
+ * datagrid: Add 'loadFilter' option that allow users to change original source data to standard data format.
+ * draggable: Add 'onBeforeDrag' callback event function.
+ * validatebox: Add 'remote' validation type.
+ * combobox: Add 'method' option.
+* New Plugins
+ * propertygrid: Allow users to edit property value in datagrid.
+
+Version 1.2.2
+-------------
+* Bug
+ * datagrid: Apply fitColumns cannot work fine while set checkbox column. fixed.
+ * datagrid: The validateRow method cannot return boolean type value. fixed.
+ * numberbox: Cannot fix value in chrome when min or max property isn't defined. fixed.
+* Improvement
+ * menu: Add some crud methods.
+ * combo: Add hasDownArrow property to determine whether to display the down arrow button.
+ * tree: Supports inline editing.
+ * calendar: Add some useful methods such as 'resize', 'moveTo' etc.
+ * timespinner: Add some useful methods.
+ * datebox: Refactoring based on combo and calendar plugin now.
+ * datagrid: Allow users to change row style in some conditions.
+ * datagrid: Users can use the footer row to display summary information.
+* New Plugins
+ * datetimebox: Combines datebox with timespinner component.
+
+Version 1.2.1
+-------------
+* Bug
+ * easyloader: Some dependencies cannot be loaded by their order. fixed.
+ * tree: The checkbox is setted incorrectly when removing a node. fixed.
+ * dialog: The dialog layout incorrectly when 'closed' property is setted to true. fixed.
+* Improvement
+ * parser: Add onComplete callback function that can indicate whether the parse action is complete.
+ * menu: Add onClick callback function and some other methods.
+ * tree: Add some useful methods.
+ * tree: Drag and Drop feature is supported now.
+ * tree: Add onContextMenu callback function.
+ * tabs: Add onContextMenu callback function.
+ * tabs: Add 'tools' property that can create buttons on right bar.
+ * datagrid: Add onHeaderContextMenu and onRowContextMenu callback functions.
+ * datagrid: Custom view is supported.
+ * treegrid: Add onContextMenu callback function and append,remove methods.
+
+Version 1.2
+-------------
+* Improvement
+ * tree: Add cascadeCheck,onlyLeafCheck properties and select event.
+ * combobox: Enable multiple selection.
+ * combotree: Enable multiple selection.
+ * tabs: Remember the trace of selection, when current tab panel is closed, the previous selected tab will be selected.
+ * datagrid: Extend from panel, so many properties defined in panel can be used for datagrid.
+* New Plugins
+ * treegrid: Represent tabular data in hierarchical view, combines tree view and datagrid.
+ * combo: The basic component that allow user to extend their combo component such as combobox,combotree,etc.
+ * combogrid: Combines combobox with drop-down datagrid component.
+ * spinner: The basic plugin to create numberspinner,timespinner,etc.
+ * numberspinner: The numberbox that allow user to change value by clicking up and down spin buttons.
+ * timespinner: The time selector that allow user to quickly inc/dec a time.
+
+Version 1.1.2
+-------------
+* Bug
+ * messager: When call show method in layout, the message window will be blocked. fixed.
+* Improvement
+ * datagrid: Add validateRow method, remember the current editing row status when do editing action.
+ * datagrid: Add the ability to create merged cells.
+ * form: Add callback functions when loading data.
+ * panel,window,dialog: Add maximize,minimize,restore,collapse,expand methods.
+ * panel,tabs,accordion: The lazy loading feature is supported.
+ * tabs: Add getSelected,update,getTab methods.
+ * accordion: Add crud methods.
+ * linkbutton: Accept an id option to set the id attribute.
+ * tree: Enhance tree node operation.
+
+Version 1.1.1
+-------------
+* Bug
+ * form: Cannot clear the value of combobox and combotree component. fixed.
+* Improvement
+ * tree: Add some useful methods such as 'getRoot','getChildren','update',etc.
+ * datagrid: Add editable feature, improve performance while loading data.
+ * datebox: Add destroy method.
+ * combobox: Add destroy and clear method.
+ * combotree: Add destroy and clear method.
+
+Version 1.1
+-------------
+* Bug
+ * messager: When call show method with timeout property setted, an error occurs while clicking the close button. fixed.
+ * combobox: The editable property of combobox plugin is invalid. fixed.
+ * window: The proxy box will not be removed when dragging or resizing exceed browser border in ie. fixed.
+* Improvement
+ * menu: The menu item can use markup to display a different page.
+ * tree: The tree node can use markup to act as a tree menu.
+ * pagination: Add some event on refresh button and page list.
+ * datagrid: Add a 'param' parameter for reload method, with which users can pass query parameter when reload data.
+ * numberbox: Add required validation support, the usage is same as validatebox plugin.
+ * combobox: Add required validation support.
+ * combotree: Add required validation support.
+ * layout: Add some method that can get a region panel and attach event handlers.
+* New Plugins
+ * droppable: A droppable plugin that supports drag drop operation.
+ * calendar: A calendar plugin that can either be embedded within a page or popup.
+ * datebox: Combines a textbox with a calendar that let users to select date.
+ * easyloader: A JavaScript loader that allows you to load plugin and their dependencies into your page.
+
+Version 1.0.5
+* Bug
+ * panel: The fit property of panel performs incorrectly. fixed.
+* Improvement
+ * menu: Add a href attribute for menu item, with which user can display a different page in the current browser window.
+ * form: Add a validate method to do validation for validatebox component.
+ * dialog: The dialog can read collapsible,minimizable,maximizable and resizable attribute from markup.
+* New Plugins
+ * validatebox: A validation plugin that checks to make sure the user's input value is valid.
+
+Version 1.0.4
+-------------
+* Bug
+ * panel: When panel is invisible, it is abnormal when resized. fixed.
+ * panel: Memory leak in method 'destroy'. fixed.
+ * messager: Memory leak when messager box is closed. fixed.
+ * dialog: No onLoad event occurs when loading remote data. fixed.
+* Improvement
+ * panel: Add method 'setTitle'.
+ * window: Add method 'setTitle'.
+ * dialog: Add method 'setTitle'.
+ * combotree: Add method 'getValue'.
+ * combobox: Add method 'getValue'.
+ * form: The 'load' method can load data and fill combobox and combotree field correctly.
+
+Version 1.0.3
+-------------
+* Bug
+ * menu: When menu is show in a DIV container, it will be cropped. fixed.
+ * layout: If you collpase a region panel and then expand it immediately, the region panel will not show normally. fixed.
+ * accordion: If no panel selected then the first one will become selected and the first panel's body height will not set correctly. fixed.
+* Improvement
+ * tree: Add some methods to support CRUD operation.
+ * datagrid: Toolbar can accept a new property named 'disabled' to disable the specified tool button.
+* New Plugins
+ * combobox: Combines a textbox with a list of options that users are able to choose from.
+ * combotree: Combines combobox with drop-down tree component.
+ * numberbox: Make input element can only enter number char.
+ * dialog: rewrite the dialog plugin, dialog can contains toolbar and buttons.
diff --git a/erp_web/js/easyui-1.3.5/demo/accordion/_content.html b/erp_web/js/easyui-1.3.5/demo/accordion/_content.html
new file mode 100644
index 00000000..99674027
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/accordion/_content.html
@@ -0,0 +1,18 @@
+
+
+
+
+ AJAX Content
+
+
+
Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/accordion/ajax.html b/erp_web/js/easyui-1.3.5/demo/accordion/ajax.html
new file mode 100644
index 00000000..c3371b8f
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/accordion/ajax.html
@@ -0,0 +1,31 @@
+
+
+
+
+ Loading Accordion Content with AJAX - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Loading Accordion Content with AJAX
+
+
+
Click AJAX panel header to load content via AJAX.
+
+
+
+
+
Accordion for jQuery
+
Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.
+
+
+
The accordion allows you to provide multiple panels and display one or more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/accordion/basic.html b/erp_web/js/easyui-1.3.5/demo/accordion/basic.html
new file mode 100644
index 00000000..57fdd0c7
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/accordion/basic.html
@@ -0,0 +1,55 @@
+
+
+
+
+ Basic Accordion - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Basic Accordion
+
+
+
Click on panel header to show its content.
+
+
+
+
+
Accordion for jQuery
+
Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.
+
+
+
The accordion allows you to provide multiple panels and display one or more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.
Keep a expandable panel and prevent it from collapsing.
+
+
+
+
+
+
+
+
Accordion for jQuery
+
Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.
+
+
+
Content1
+
+
+
Content2
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/accordion/multiple.html b/erp_web/js/easyui-1.3.5/demo/accordion/multiple.html
new file mode 100644
index 00000000..36f97785
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/accordion/multiple.html
@@ -0,0 +1,37 @@
+
+
+
+
+ Multiple Accordion Panels - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Multiple Accordion Panels
+
+
+
Enable 'multiple' mode to expand multiple panels at one time.
+
+
+
+
+
A programming language is a formal language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.
+
+
+
Java (Indonesian: Jawa) is an island of Indonesia. With a population of 135 million (excluding the 3.6 million on the island of Madura which is administered as part of the provinces of Java), Java is the world's most populous island, and one of the most densely populated places in the world.
+
+
+
C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.
+
+
+
A dynamic, reflective, general-purpose object-oriented programming language.
+
+
+
Fortran (previously FORTRAN) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing.
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/accordion/tools.html b/erp_web/js/easyui-1.3.5/demo/accordion/tools.html
new file mode 100644
index 00000000..7246e58c
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/accordion/tools.html
@@ -0,0 +1,51 @@
+
+
+
+
+ Accordion Tools - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Accordion Tools
+
+
+
Click the tools on top right of panel to perform actions.
+
+
+
+
+
Accordion for jQuery
+
Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.
+
+
+
The accordion allows you to provide multiple panels and display one ore more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.
+
+
+
+
+
+
Item ID
+
Product ID
+
List Price
+
Unit Cost
+
Attribute
+
Status
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/calendar/basic.html b/erp_web/js/easyui-1.3.5/demo/calendar/basic.html
new file mode 100644
index 00000000..c38de4d1
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/calendar/basic.html
@@ -0,0 +1,22 @@
+
+
+
+
+ Basic Calendar - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Basic Calendar
+
+
+
Click to select date.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/calendar/firstday.html b/erp_web/js/easyui-1.3.5/demo/calendar/firstday.html
new file mode 100644
index 00000000..b7437e2f
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/calendar/firstday.html
@@ -0,0 +1,33 @@
+
+
+
+
+ First Day of Week - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
First Day of Week
+
+
+
Choose the first day of the week.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/combo/basic.html b/erp_web/js/easyui-1.3.5/demo/combo/basic.html
new file mode 100644
index 00000000..ab546eba
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/combo/basic.html
@@ -0,0 +1,42 @@
+
+
+
+
+ Basic Combo - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Basic Combo
+
+
+
Click the right arrow button to show drop down panel that can be filled with any content.
+
+
+
+
Select a language
+ Java
+ C#
+ Ruby
+ Basic
+ Fortran
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/combobox/actions.html b/erp_web/js/easyui-1.3.5/demo/combobox/actions.html
new file mode 100644
index 00000000..e0a00a85
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/combobox/actions.html
@@ -0,0 +1,89 @@
+
+
+
+
+ ComboBox Actions - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Try jQuery EasyUI to build your modern, interactive, javascript applications.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/_content.html b/erp_web/js/easyui-1.3.5/demo/tabs/_content.html
new file mode 100644
index 00000000..99674027
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/_content.html
@@ -0,0 +1,18 @@
+
+
+
+
+ AJAX Content
+
+
+
Here is the content loaded via AJAX.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modern, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/autoheight.html b/erp_web/js/easyui-1.3.5/demo/tabs/autoheight.html
new file mode 100644
index 00000000..51c4fb4e
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/autoheight.html
@@ -0,0 +1,39 @@
+
+
+
+
+ Auto Height for Tabs - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Auto Height for Tabs
+
+
+
The tabs height is auto adjusted according to tab panel content.
+
+
+
+
+
jQuery EasyUI framework helps you build your web pages easily.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modem, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
+
+
+
+ This is the help content.
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/basic.html b/erp_web/js/easyui-1.3.5/demo/tabs/basic.html
new file mode 100644
index 00000000..8bbe09ea
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/basic.html
@@ -0,0 +1,39 @@
+
+
+
+
+ Basic Tabs - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Basic Tabs
+
+
+
Click tab strip to swap tab panel content.
+
+
+
+
+
jQuery EasyUI framework helps you build your web pages easily.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modem, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
+
+
+
+ This is the help content.
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/dropdown.html b/erp_web/js/easyui-1.3.5/demo/tabs/dropdown.html
new file mode 100644
index 00000000..8615feb4
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/dropdown.html
@@ -0,0 +1,58 @@
+
+
+
+
+ Tabs with DropDown - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Tabs with DropDown
+
+
+
This sample shows how to add a dropdown menu over a tab strip.
+
+
+
+
+
jQuery EasyUI framework helps you build your web pages easily.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modem, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
+
+
+
+ This is the help content.
+
+
+
+
Welcome
+
Help Contents
+
Search
+
Dynamic Help
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/fixedwidth.html b/erp_web/js/easyui-1.3.5/demo/tabs/fixedwidth.html
new file mode 100644
index 00000000..703bfd1e
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/fixedwidth.html
@@ -0,0 +1,40 @@
+
+
+
+
+ Fixed Tab Width - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Fixed Tab Width
+
+
+
The tab strips have fixed width and height.
+
+
+
+
+
Home Content.
+
+
+
Maps Content.
+
+
+
Journal Content.
+
+
+
History Content.
+
+
+
References Content.
+
+
+
Contact Content.
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/hover.html b/erp_web/js/easyui-1.3.5/demo/tabs/hover.html
new file mode 100644
index 00000000..4ff71c16
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/hover.html
@@ -0,0 +1,49 @@
+
+
+
+
+ Hover Tabs - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Hover Tabs
+
+
+
Move mouse over the tab strip to open the tab panel.
+
+
+
+
+
jQuery EasyUI framework helps you build your web pages easily.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modem, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
+
+
+
+ This is the help content.
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/images/modem.png b/erp_web/js/easyui-1.3.5/demo/tabs/images/modem.png
new file mode 100644
index 00000000..be5a2eb2
Binary files /dev/null and b/erp_web/js/easyui-1.3.5/demo/tabs/images/modem.png differ
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/images/pda.png b/erp_web/js/easyui-1.3.5/demo/tabs/images/pda.png
new file mode 100644
index 00000000..1458d9bf
Binary files /dev/null and b/erp_web/js/easyui-1.3.5/demo/tabs/images/pda.png differ
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/images/scanner.png b/erp_web/js/easyui-1.3.5/demo/tabs/images/scanner.png
new file mode 100644
index 00000000..974635d9
Binary files /dev/null and b/erp_web/js/easyui-1.3.5/demo/tabs/images/scanner.png differ
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/images/tablet.png b/erp_web/js/easyui-1.3.5/demo/tabs/images/tablet.png
new file mode 100644
index 00000000..fa871f54
Binary files /dev/null and b/erp_web/js/easyui-1.3.5/demo/tabs/images/tablet.png differ
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/nestedtabs.html b/erp_web/js/easyui-1.3.5/demo/tabs/nestedtabs.html
new file mode 100644
index 00000000..d1afc760
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/nestedtabs.html
@@ -0,0 +1,57 @@
+
+
+
+
+ Nested Tabs - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Nested Tabs
+
+
+
The tab panel can contain sub tabs or other components.
+
+
+
+
+
+
Content 1
+
Content 2
+
Content 3
+
+
+
+
+
+
+
+
+
+
+
Title1
+
Title2
+
Title3
+
+
+
+
+
d11
+
d12
+
d13
+
+
+
d21
+
d22
+
d23
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/striptools.html b/erp_web/js/easyui-1.3.5/demo/tabs/striptools.html
new file mode 100644
index 00000000..c72e2611
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/striptools.html
@@ -0,0 +1,42 @@
+
+
+
+
+ Tabs Strip Tools - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Tabs Strip Tools
+
+
+
Click the mini-buttons on the tab strip to perform actions.
+
+
+
+
+
jQuery EasyUI framework helps you build your web pages easily.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modem, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
+ This is the help content.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/tabimage.html b/erp_web/js/easyui-1.3.5/demo/tabs/tabimage.html
new file mode 100644
index 00000000..d99a3aa0
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/tabimage.html
@@ -0,0 +1,44 @@
+
+
+
+
+ Tabs with Images - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Tabs with Images
+
+
+
The tab strip can display big images.
+
+
+
+
+
A modem (modulator-demodulator) is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information.
+
+
+
In computing, an image scanner—often abbreviated to just scanner—is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image.
+
+
+
A personal digital assistant (PDA), also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. PDAs are largely considered obsolete with the widespread adoption of smartphones.
+
+
+
A tablet computer, or simply tablet, is a one-piece mobile computer. Devices typically have a touchscreen, with finger or stylus gestures replacing the conventional computer mouse.
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/tabposition.html b/erp_web/js/easyui-1.3.5/demo/tabs/tabposition.html
new file mode 100644
index 00000000..62a5f507
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/tabposition.html
@@ -0,0 +1,48 @@
+
+
+
+
+ Tab Position - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Tab Position
+
+
+
Click the 'position' drop-down list and select an item to change the tab position.
+
+
+ Position:
+
+
+
+
+
jQuery EasyUI framework helps you build your web pages easily.
+
+
easyui is a collection of user-interface plugin based on jQuery.
+
easyui provides essential functionality for building modem, interactive, javascript applications.
+
using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
+
complete framework for HTML5 web page.
+
easyui save your time and scales while developing your products.
+
easyui is very easy but powerful.
+
+
+
+
+
+
+ This is the help content.
+
+
+
+
+
\ No newline at end of file
diff --git a/erp_web/js/easyui-1.3.5/demo/tabs/tabstools.html b/erp_web/js/easyui-1.3.5/demo/tabs/tabstools.html
new file mode 100644
index 00000000..93ecc0e6
--- /dev/null
+++ b/erp_web/js/easyui-1.3.5/demo/tabs/tabstools.html
@@ -0,0 +1,44 @@
+
+
+
+
+ Tabs Tools - jQuery EasyUI Demo
+
+
+
+
+
+
+
+
Tabs Tools
+
+
+
Click the buttons on the top right of tabs header to add or remove tab panel.
+ jDigiClock is a jQuery plugin inspired from HTC Hero Clock Widget.
+
+
+
Examples
+
+
+
+
Getting started
+
+ To use the jDigiClock plugin, include the jQuery
+ library, the jDigiClock source file and jDigiClock core stylesheet file inside the <head> tag
+ of your HTML document:
+