/** * Created by jinxs on 2016.06.23. */ var webroot = $("#hdWebroot").val(); var rootUrl = webroot + '/dict/dict/'; var itemRoot = webroot + '/dict/dictItem/'; var deleteUrl = rootUrl + 'delete';//删除地址 var deleteItemUrl = itemRoot + 'delete';//删除地址 $(function () { //------------------------属性------------------------------------- var listUrl = rootUrl + 'list';//分页数据地址 var itemUrl = itemRoot + 'list';//分页数据地址 var saveUrl = rootUrl + 'save';//保存添加数据地址 var saveItemUrl = itemRoot + 'save';//保存添加数据地址 var menuUrl = webroot + '/dict/category/list?code=d&self=true'; var dialogSize = {width: 540, height: 240};//弹出窗口大小 var layout = $('#layout'); var menu = $("#ulMenu"); var grid = $('#grid'); var itemGrid = $('#itemGrid'); var grid_form = $('#grid_form'); var itemForm = $('#itemForm'); var selectedNode;//选中的节点 var setting = { data: { simpleData: { enable: true, pIdKey: 'pid', rootPid: 'root' } }, view: { selectedMulti: false, showLine: true }, async: { enable: true, url: menuUrl }, callback: { onAsyncError: function (event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) { alert("加载项目目录失败!" + errorThrown); }, onAsyncSuccess: function (event, treeId, treeNode, msg) { zTree.expandAll(true); }, onClick: function (event, treeId, treeNode) { selectedNode = treeNode; grid.uiGrid('loadData', {queryParams: {category: selectedNode.id}, pageIndex: 1}); itemGrid.uiGrid('setData', []); } } }; var form_setting = $.extend({}, setting, { callback: { onAsyncError: function (event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) { alert("加载项目目录失败!" + errorThrown); }, beforeClick: function (treeId, treeNode, clickFlag) { }, onClick: function (event, treeId, treeNode) { $('#category').uiCombo('setValue', treeNode.id).uiCombo('setText', treeNode.name).uiCombo('hidePanel'); } } }); //-----------------------初始化-------------------------------------- layout.uiLayout(); $('#contentPanel').uiLayout(); $.fn.zTree.init(menu, setting); var zTree = $.fn.zTree.getZTreeObj("ulMenu"); //初始化搜索框 $('#searchbox').uiSearchbox({ prompt: '字典名称|标识', searcher: function (v) { grid.uiGrid('loadData', { queryParams: { key: $.trim(v), category: selectedNode.id }, pageIndex: 1 }); } }); $('#itemSBox').uiSearchbox({ prompt: '项目名称|值', searcher: function (v) { var dictIds = grid.uiGrid('selectedData', 'id'); if(dictIds.length > 0) { itemGrid.uiGrid('loadData', { queryParams: { key: $.trim(v), dictId: dictIds[0] }, pageIndex: 1 }); } } }); //初始化grid grid.uiGrid({ url: listUrl, defaultSortField:'keykey', onSelectRow:function(){ var dictIds = grid.uiGrid('selectedData', 'id'); if(dictIds.length > 0) { itemGrid.uiGrid('loadData', { queryParams: { dictId: dictIds[0] }, pageIndex: 1 }); } } }); itemGrid.uiGrid({ url: itemUrl }); var dialog = $('#dialog').uiDialog({ title: '新建', width: dialogSize.width, height: dialogSize.height, onOpen: function () { var dialogP = $('#dialog').uiDialog('getUserParam'); switch (dialogP.action) { case 'view': case 'edit': grid_form.uiForm('load', grid.uiGrid('selectedData')[0]); break; case 'add': grid_form.uiForm('load'); break; default : break; } }, buttons: [ { id: 'btnOK', label: '保存', style: 'button_submit', icons: {left: 'icon_submit'}, disabled: false, onClick: function () { $('#grid_form').uiForm('submit', { url: saveUrl, onSubmit: function (param) { return this.uiForm('validate'); // 返回false终止表单提交 }, success: function (result) { if (result.success) { dialog.uiDialog('close'); grid.uiGrid('loadData'); } showResult(result.success, result.message); } }); return false; } }, { id: 'btnCancel', label: '关闭', icons: {left: 'icon_cancel'}, disabled: false, style: 'button_cancel', onClick: function () { dialog.uiDialog('close'); } } ] }); var itemDialog = $('#itemDialog').uiDialog({ title: '新建', width: dialogSize.width, height: dialogSize.height, onOpen: function () { var dialogP = $('#itemDialog').uiDialog('getUserParam'); switch (dialogP.action) { case 'view': case 'edit': itemForm.uiForm('load', itemGrid.uiGrid('selectedData')[0]); break; case 'add': itemForm.uiForm('load',{status:1}); break; default : break; } }, buttons: [ { id: 'btnOK', label: '保存', style: 'button_submit', icons: {left: 'icon_submit'}, disabled: false, onClick: function () { $('#itemForm').uiForm('submit', { url: saveItemUrl, onSubmit: function (param) { return this.uiForm('validate'); // 返回false终止表单提交 }, success: function (result) { if (result.success) { itemDialog.uiDialog('close'); itemGrid.uiGrid('loadData'); } showResult(result.success, result.message); } }); return false; } }, { id: 'btnCancel', label: '关闭', icons: {left: 'icon_cancel'}, disabled: false, style: 'button_cancel', onClick: function () { itemDialog.uiDialog('close'); } } ] }); grid_form.uiForm({ template: 'grid_form_temp', onLoadSuccess: function () { var me = $(this); var cg = $('#category').uiCombobox(); var dialogP = $('#dialog').uiDialog('getUserParam'); $('#pn_panel').appendTo(cg.uiCombo('panel')); $.fn.zTree.init($('#pn_tree'), form_setting, zTree.getNodes()); $.fn.zTree.getZTreeObj("pn_tree").expandAll(true); switch (dialogP.action) { case 'view': parentTree_view(); me.uiForm('setReadonly', true); break; case 'edit': parentTree_view(); break; case 'add': parentTree_add(); me.uiForm('setReadonly', false); break; default : break; } function parentTree_add() { if (selectedNode && selectedNode != null) { $('#category').uiCombo('setValue', selectedNode.id).uiCombo('setText', selectedNode.name); } } function parentTree_view() { var data = grid.uiGrid('selectedData')[0]; $('#category').uiCombo('setValue', data.category).uiCombo('setText', data.categoryname); } } }); itemForm.uiForm({ template: 'grid_form_item', onLoadSuccess: function () { var me = $(this); var dialogP = itemDialog.uiDialog('getUserParam'); $('#status').dictCombobox(); switch (dialogP.action) { case 'view': me.uiForm('setReadonly', true); break; case 'edit': break; case 'add': $('#dictId').val(dialogP.id); me.uiForm('setReadonly', false); break; default : break; } } }); template.helper('statusFilter', function(value){ return {0:'停用',1:'启用'}[value]||value; }); addEvents(); //-------------------------------------方法-------------------------------------------------------- function addEvents() { //新建 $('#btn1').bind('click', function () { dialog.uiDialog('setUserParam', {action: 'add', id: 0}); dialog.uiDialog('button', 'btnOK').show(); dialog.uiDialog('open'); dialog.uiDialog('title').html('新增字典'); }); //删除 $('#btn2').bind('click', function () { var ids = grid.uiGrid('selectedData', 'id'); if (ids.length == 0) { showResult(false, '请选择要删除的行!', 'alert'); } else { deleteRow(ids); } }); //新建 $('#btnAddItem').bind('click', function () { var dictIds = grid.uiGrid('selectedData', 'id'); if(dictIds.length==0){ showResult(false, '请先选择字典!'); return; } itemDialog.uiDialog('setUserParam', {action: 'add', id: dictIds[0]}); itemDialog.uiDialog('button', 'btnOK').show(); itemDialog.uiDialog('open'); itemDialog.uiDialog('title').html('新增项目'); }); //删除 $('#btnDeleteItem').bind('click', function () { var ids = itemGrid.uiGrid('selectedData', 'id'); if (ids.length == 0) { showResult(false, '请选择要删除的行!', 'alert'); } else { deleteItem(ids); } }); } }); //查看 function viewRow(id, title) { var dialog = $('#dialog'); title = '-' + title || ''; dialog.uiDialog('setUserParam', {action: 'view', id: id}); dialog.uiDialog('button', 'btnOK').hide(); dialog.uiDialog('open'); dialog.uiDialog('title').html('查看' + title); } //查看 function viewItem(id, title) { var dialog = $('#itemDialog'); title = '-' + title || ''; dialog.uiDialog('setUserParam', {action: 'view', id: id}); dialog.uiDialog('button', 'btnOK').hide(); dialog.uiDialog('open'); dialog.uiDialog('title').html('查看' + title); } //编辑 function editRow(id, title) { var dialog = $('#dialog'); dialog.uiDialog('setUserParam', {action: 'edit', id: id}); dialog.uiDialog('button', 'btnOK').show(); dialog.uiDialog('open'); dialog.uiDialog('title').html('编辑-'+title); } //编辑 function editItem(id, title) { var dialog = $('#itemDialog'); dialog.uiDialog('setUserParam', {action: 'edit', id: id}); dialog.uiDialog('button', 'btnOK').show(); dialog.uiDialog('open'); dialog.uiDialog('title').html('编辑-'+title); } // 删除 function deleteRow(ids) { deleteData("确定要删除所选信息吗?", deleteUrl, {ids: ids}, function (result) { if (result.success) { $('#grid').uiGrid('loadData'); $('#itemGrid').uiGrid('loadData',[]); } }); } // 删除 function deleteItem(ids) { deleteData("确定要删除所选信息吗?", deleteItemUrl, {ids: ids}, function (result) { if (result.success) { $('#itemGrid').uiGrid('loadData'); } }); } //删除 function deleteData(confirmText, url, data, callback) { $.uiMessagebox.confirm({ title: '确认操作', content: confirmText, onClose: function (value) { if (value) { $.ajax({ type: 'post', url: url, data: data, success: function (result) { callback && callback.call(this, result); } }); } } }); }