/Tosouth/WWW/A/controls/UCCategory.ascx
http://lefter.googlecode.com/ · ASP.NET · 508 lines · 474 code · 34 blank · 0 comment · 98 complexity · 8299787faa9acce1982f8831505fce13 MD5 · raw file
- <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UCCategory.ascx.cs" Inherits="A_controls_UCCategory" %>
-
- <script type="text/javascript">
- var fun_uc_cat_add, fun_uc_cat_modified, fun_uc_cat_canceld;
-
- function uc_cat_init_buttons() {
- $('#uc_cat_addAera').hide();
- $('#uc_cat_saveAera').hide();
-
- $("input:text", "#dialog_category").removeAttr('readOnly');
- }
-
- function AddCategory(pid, onadded, oncanceld) {
- fun_uc_cat_add = fun_uc_cat_canceld = null;
-
- if (typeof (onadded) == "function") fun_uc_cat_add = onadded;
- if (typeof (oncanceld) == "function") fun_uc_cat_canceld = onadded;
-
- $('#uc_cat_tbName').val('');
- $('#uc_cat_tbOrder').val('');
-
- uc_cat_init_buttons();
- $('#uc_cat_addAera').show();
- $("#dialog_category").dialog({
- width: 450,
- height: 200,
- modal: true,
- resizable: false,
- title: "????",
- zIndex: 101,
- close: function() {
- if (fun_uc_cat_canceld) {
- fun_uc_cat_canceld.call(this);
- }
- fun_uc_cat_add = null;
- fun_uc_cat_canceld = null;
- }
- });
-
- //set Category
- var slt = $('#uc_cat_sltParent').empty().cascadeselect('clear', false);
- uc_init_category(pid, '#uc_cat_sltParent', '#dialog_category');
- }
-
- function ViewCategory(data) {
- if (!data) return;
-
- $('#tbCId').val(data.CategoryId);
- $('#uc_cat_tbName').val(data.CategoryName);
- $('#uc_cat_tbOrder').val(data.Order);
-
- uc_cat_init_buttons();
- $("#dialog_category").dialog({
- width: 450,
- height: 200,
- modal: true,
- resizable: false,
- title: "????",
- zIndex: 101,
- close: function() {
- if (fun_uc_cat_canceld) {
- fun_uc_cat_canceld.call(this);
- }
- fun_uc_cat_modified = null;
- fun_uc_cat_canceld = null;
- }
- });
-
- //set Category
- var slt = $('#uc_cat_sltParent').empty().cascadeselect('clear', false);
- uc_init_category(data.ParentCategoryId, '#uc_cat_sltParent', '#dialog_category', function() { $('#uc_cat_sltParent', '#dialog_category').cascadeselect('disable'); });
-
- $("input:text", "#dialog_category").attr('readOnly', 'readOnly');
- }
-
- function ModifyCategory(data, onmodified, oncanceld) {
- fun_uc_cat_modified = fun_uc_cat_canceld = null;
- if (!data || !data.CategoryId || data.ParentCategoryId == undefined || data.ParentCategoryId == null) {
- return;
- }
-
- if (typeof (onmodified) == "function") fun_uc_cat_modified = onmodified;
- if (typeof (oncanceld) == "function") fun_uc_cat_canceld = onadded;
-
- $('#tbCId').val(data.CategoryId);
- $('#uc_cat_tbName').val(data.CategoryName);
- $('#uc_cat_tbOrder').val(data.Order);
-
- uc_cat_init_buttons();
- $('#uc_cat_saveAera').show();
- $("#dialog_category").dialog({
- width: 450,
- height: 200,
- modal: true,
- resizable: false,
- title: "????",
- zIndex: 101,
- close: function() {
- if (fun_uc_cat_canceld) {
- fun_uc_cat_canceld.call(this);
- }
- fun_uc_cat_modified = null;
- fun_uc_cat_canceld = null;
- }
- });
-
- //set Category
- var slt = $('#uc_cat_sltParent').empty().cascadeselect('clear', false);
- uc_init_category(data.ParentCategoryId, '#uc_cat_sltParent', '#dialog_category');
- }
-
- function BatchAddCategory(pid, onadded, oncanceld) {
- fun_uc_cat_add = fun_uc_cat_canceld = null;
- if (typeof (onadded) == "function") fun_uc_cat_add = onadded;
- if (typeof (oncanceld) == "function") fun_uc_cat_canceld = onadded;
-
- $('#uc_cat_bat_tbName').val('');
-
- $("#dialog_category_batchadd").dialog({
- width: 450,
- height: 340,
- modal: true,
- resizable: false,
- title: "??????",
- zIndex: 101,
- close: function() {
- if (fun_uc_cat_canceld) {
- fun_uc_cat_canceld.call(this);
- }
- fun_uc_cat_add = null;
- fun_uc_cat_canceld = null;
- }
- });
-
- //set Category
- var slt = $('#uc_cat_bat_sltParent').empty().cascadeselect('clear', false);
- uc_init_category(pid, '#uc_cat_bat_sltParent', '#dialog_category_batchadd');
- }
-
- function DeleteCategory(arr, ondeleted, onerror) {
- fun_uc_cat_deleted = fun_uc_cat_error = null;
- if (!arr || arr.length < 1) {
- if (onerror && typeof (onerror) == 'function')
- onerror.call(this, "CategoryId ?????");
- return; ;
- }
- var idStr = arr.join(',');
- $.ajax({ url: "ajax.aspx?action=deletecategoryies&categoryids=" + idStr,
- async: false,
- dataType: "json",
- type: 'GET',
- success: function(d) {
- d = eval(d);
- if (d.Result) {
- if (ondeleted && typeof (ondeleted) == 'function')
- ondeleted.call(this, d.Result);
- } else if (onerror && typeof (onerror) == 'function') {
- onerror.call(this, d.Error);
- }
- },
- error: function(XMLHttpRequest, textStatus, errorThrown) {
- if (onerror && typeof (onerror) == 'function')
- onerror.call(this, errorThrown);
- }
- });
- }
-
- function uc_cat_add() {
- var data = {};
- data.CategoryName = $('#uc_cat_tbName').val();
- data.ParentCategoryId = $('#uc_cat_sltParent').cascadeselect('getvalue');
- data.Order = $('#uc_cat_tbOrder').val();
- if (data.CategoryName == null || $.trim(data.CategoryName) == '') {
- alert('????????');
- return;
- }
- if (data.ParentCategoryId == null || isNaN(data.ParentCategoryId)) {
- alert('????????');
- return;
- }
- if (data.Order == null || isNaN(data.Order)) {
- alert('???????????');
- return;
- }
-
- $.ajax({
- url: "ajax.aspx?action=addcategory",
- async: false,
- dataType: "json",
- data: data,
- type: 'POST',
- beforeSend: function() {
- $('#dialog_category').masklayer('show', { zIndex: 102, Text: '????????...' });
- },
- success: function(d) {
- d = eval(d);
- if (!d.Error) {
- if (fun_uc_cat_add) {
- fun_uc_cat_add.call(this, data);
- }
- fun_uc_cat_add = fun_uc_cat_canceld = null;
- $("#dialog_category").dialog("close");
- } else {
- alert('??????????' + d.Error);
- }
- },
- error: function(XMLHttpRequest, textStatus, errorThrown) {
- alert('????????????' + errorThrown);
- },
- complete: function() {
- $('#dialog_category').masklayer('hide');
- }
- });
- }
-
- function uc_cat_save() {
- var data = {};
- data.CategoryId = $('#tbCId').val();
- data.CategoryName = $('#uc_cat_tbName').val();
- data.ParentCategoryId = $('#uc_cat_sltParent').cascadeselect('getvalue');
- data.Order = $('#uc_cat_tbOrder').val();
-
- if (!data.CategoryId) {
- alert('????CategoryId?');
- return;
- }
- //alert('?????????????????');
- if (!data.CategoryName || $.trim(data.CategoryName) == '') {
- alert('????????');
- return;
- }
- if (!data.ParentCategoryId || isNaN(data.ParentCategoryId)) {
- alert('????????');
- return;
- }
- if (data.Order == null || isNaN(data.Order)) {
- alert('???????????');
- return;
- }
-
- $.ajax({
- url: "ajax.aspx?action=savecategory",
- async: false,
- dataType: "json",
- data: data,
- type: 'POST',
- beforeSend: function() {
- $('#dialog_category').masklayer('show', { zIndex: 102, Text: '????????...' });
- },
- success: function(d) {
- d = eval(d);
- if (!d.Error) {
- if (fun_uc_cat_modified) {
- fun_uc_cat_modified.call(this, true, (!!d.Result ? eval(d.Result) : data));
- }
- fun_uc_cat_modified = fun_uc_cat_canceld = null;
- $("#dialog_category").dialog("close");
- } else {
- alert('??????????' + d.Error);
- }
- },
- error: function(XMLHttpRequest, textStatus, errorThrown) {
- alert('????????????' + errorThrown);
- },
- complete: function() {
- $('#dialog_category').masklayer('hide');
- }
- });
- }
-
- function uc_cat_bat_add() {
- var name, pid;
- name = $('#uc_cat_bat_tbName').val();
- pid = $('#uc_cat_bat_sltParent').cascadeselect('getvalue');
-
- if (name == null || $.trim(name) == '') {
- alert('????????');
- return;
- }
- if (pid == null || isNaN(pid)) {
- alert('????????');
- return;
- }
-
- $.ajax({
- url: "ajax.aspx?action=bataddcategory",
- async: false,
- dataType: "json",
- data: { 'name': name, 'pid': pid },
- type: 'POST',
- beforeSend: function() {
- $('#dialog_category_batchadd').masklayer('show', { zIndex: 102, Text: '????????...' });
- },
- success: function(d) {
- d = eval(d);
- if (!d.Error) {
- if (fun_uc_cat_add) {
- fun_uc_cat_add.call(this, pid);
- }
- fun_uc_cat_add = fun_uc_cat_canceld = null;
- $("#dialog_category_batchadd").dialog("close");
- } else {
- alert('??????????' + d.Error);
- }
- },
- error: function(XMLHttpRequest, textStatus, errorThrown) {
- alert('????????????' + errorThrown);
- },
- complete: function() {
- $('#dialog_category_batchadd').masklayer('hide');
- }
- });
- }
- function uc_cat_bat_cancel() {
- if (fun_uc_cat_canceld) {
- fun_uc_cat_canceld.call(this);
- }
- fun_uc_cat_add = fun_uc_cat_modified = fun_uc_cat_canceld = null;
- $("#dialog_category_batchadd").dialog("close");
- }
-
- function uc_cat_cancel() {
- if (fun_uc_cat_canceld) {
- fun_uc_cat_canceld.call(this);
- }
- fun_uc_cat_add = fun_uc_cat_modified = fun_uc_cat_canceld = null;
- $("#dialog_category").dialog("close");
- }
-
- function uc_cat_init_category(categoryId, slt, container) {
- $.ajax({
- url: "ajax.aspx?action=getrecursiveparents&cid=" + categoryId,
- //async: false,
- dataType: "json",
- beforeSend: function() {
- $(container).masklayer('show', { zIndex: 102, Text: '??????...' });
- },
- success: function(data) {
- if (data.Result) {
- data = eval(data.Result);
- var hash = [];
- while (data.length > 0) {
- hash.push((data.shift()).CategoryId);
- }
- $.ajax({ url: "ajax.aspx?action=getcategories",
- async: false,
- dataType: "json",
- success: function(data) {
- if (data.Result) {
- data = eval(data.Result);
- if (hash) {
- var sid = hash.shift();
- if (!!sid) {
- var i = 0, len = data.length, str = '';
- while (i < len) {
- str += "<option value='" + data[i].CategoryId + "'";
- if (data[i].CategoryId == sid) {
- str += " selected='selected'";
- }
- str += ">" + data[i].CategoryName + "</options>";
- i++;
- }
- $(slt).append(str);
- } else {
- hash = null;
- }
- $(slt).cascadeselect({
- url: 'ajax.aspx?action=getcategories',
- key: 'pid',
- type: "GET",
- valuedatafield: 'CategoryId',
- textdatafield: 'CategoryName',
- selecteddatafield: 'S', //'Selected',
- unselectedoption: { value: '@', text: '?????' },
- beforebinding: function() {
- $(container).masklayer('show', { zIndex: 102, Text: '??????...' });
- },
- ondatabinding: function(select, data) {
- if (data.Result) {
- data = data.Result;
- if (data.length == 0) {
- $(select).remove();
- hash = null;
- return false;
- }
- if (hash) {
- var sid = hash.shift();
- if (!!sid) {
- var i = 0, len = data.length;
- while (i < len) {
- if (data[i].CategoryId == sid) {
- data[i].S = true;
- }
- i++;
- }
- if (i == len) {
- hash = null;
- }
- } else {
- hash = null;
- }
- }
- return data;
- } else {
- return false;
- }
- },
- oncompleted: function() {
- if (!hash)
- $(container).masklayer('hide');
- }
- });
- }
- }
- }
- });
- }
- },
- complete: function() {
- $(container).masklayer('hide');
- }
- });
- }
- </script>
-
- <div id='dialog_category'>
- <input type="hidden" id="tbCId" />
- <table>
- <colgroup>
- <col width="100px;" />
- <col width="340px;" />
- </colgroup>
- <tr>
- <td>
- ??
- </td>
- <td>
- <input type="text" id="uc_cat_tbName" style="width: 320px;" />
- </td>
- </tr>
- <tr>
- <td>
- ?????
- </td>
- <td>
- <select id='uc_cat_sltParent'>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- ???
- </td>
- <td>
- <input type="text" id="uc_cat_tbOrder" style="width: 40px;" />??1???????????????
- </td>
- </tr>
- <tr>
- <td colspan="2" style="text-align: right;">
- <div id="uc_cat_addAera">
- <button onclick='uc_cat_add();'>
- ? ?</button>
- <button onclick='uc_cat_cancel();'>
- ? ?</button>
- </div>
- <div id="uc_cat_saveAera">
- <button onclick='uc_cat_save();'>
- ? ?</button>
- <button onclick='uc_cat_cancel();'>
- ? ?</button>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id='dialog_category_batchadd'>
- <table>
- <colgroup>
- <col width="100px" />
- <col width="340px" />
- </colgroup>
- <tr>
- <td>
- ?????
- </td>
- <td>
- <select id='uc_cat_bat_sltParent'>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- ?????
- </td>
- <td>
- <textarea id="uc_cat_bat_tbName" cols="40" rows="8"></textarea>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="text-align: right;">
- <button onclick='uc_cat_bat_add();'>
- ? ?</button>
- <button onclick='uc_cat_bat_cancel();'>
- ? ?</button>
- </td>
- </tr>
- </table>
- </div>