diff --git a/application/admin/view/default/articlecategory/index.html b/application/admin/view/default/articlecategory/index.html index 7c865f2cce121ae39acc54530f32c5423f131f5e..d39548b7484249a9b7e747e599b153cab1d4aeb7 100755 --- a/application/admin/view/default/articlecategory/index.html +++ b/application/admin/view/default/articlecategory/index.html @@ -18,7 +18,7 @@
-
+
@@ -40,11 +40,8 @@ -
-
- -

处理中...

-
+
+ {{include file="public/loading" /}}
@@ -54,6 +51,14 @@ {{include file="public/footer" /}} - \ No newline at end of file diff --git a/application/admin/view/default/brandcategory/index.html b/application/admin/view/default/brandcategory/index.html index 7ed94b5d0b89fb1c1fe60db1d4aae796a4f67596..b00eead142d9ca59f0ac50f8f1fc1f4bf290b519 100755 --- a/application/admin/view/default/brandcategory/index.html +++ b/application/admin/view/default/brandcategory/index.html @@ -18,7 +18,7 @@
- +
@@ -40,11 +40,8 @@ -
-
- -

处理中...

-
+
+ {{include file="public/loading" /}}
@@ -54,6 +51,14 @@ {{include file="public/footer" /}} - \ No newline at end of file diff --git a/application/admin/view/default/express/index.html b/application/admin/view/default/express/index.html index 28f45172de6e78a6f3051e0b2f8cdd029c132535..6694cad76535420736786412f072e8810adaa202 100755 --- a/application/admin/view/default/express/index.html +++ b/application/admin/view/default/express/index.html @@ -18,7 +18,7 @@
- +
    @@ -51,11 +51,8 @@ -
    -
    - -

    处理中...

    -
    +
    + {{include file="public/loading" /}}
    @@ -65,6 +62,14 @@ {{include file="public/footer" /}} - \ No newline at end of file diff --git a/application/admin/view/default/goodscategory/index.html b/application/admin/view/default/goodscategory/index.html index fb2b2274753fcffbebcd8db0fd2dde9cb08c860c..24f83955a7beba7fc63f01b9bc58cab3cfc8d6f3 100755 --- a/application/admin/view/default/goodscategory/index.html +++ b/application/admin/view/default/goodscategory/index.html @@ -18,7 +18,7 @@
- +
@@ -41,11 +41,8 @@ -
-
- -

处理中...

-
+
+ {{include file="public/loading" /}}
@@ -55,6 +52,14 @@ {{include file="public/footer" /}} - \ No newline at end of file diff --git a/application/admin/view/default/screeningprice/index.html b/application/admin/view/default/screeningprice/index.html index 96f51589fd8bef1d9a27524df9007adbbfe8b0f9..e238c5aa380b2b3279fb07bd8d1e9c0573629666 100755 --- a/application/admin/view/default/screeningprice/index.html +++ b/application/admin/view/default/screeningprice/index.html @@ -19,7 +19,7 @@
规则举例
最小价格0 - 最大价格100 则是小于100
最小价格1000 - 最大价格0 则是大于1000
最小价格100 - 最大价格500 则是大于等于100并且小于500
- +
@@ -49,11 +49,8 @@ -
-
- -

处理中...

-
+
+ {{include file="public/loading" /}}
@@ -63,6 +60,14 @@ {{include file="public/footer" /}} - \ No newline at end of file diff --git a/application/service/ArticleService.php b/application/service/ArticleService.php index f5be4ba6b92f1ad38c1b67ec1fd567faf4661e4a..514fc4f5e2e9764d676eb9367017f8241429694e 100755 --- a/application/service/ArticleService.php +++ b/application/service/ArticleService.php @@ -382,8 +382,6 @@ class ArticleService foreach($data as &$v) { $v['is_son'] = (Db::name('ArticleCategory')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no'; - $v['ajax_url'] = MyUrl('admin/articlecategory/getnodeson', array('id'=>$v['id'])); - $v['delete_url'] = MyUrl('admin/articlecategory/delete'); $v['json'] = json_encode($v); } return DataReturn('操作成功', 0, $data); @@ -428,19 +426,22 @@ class ArticleService if(empty($params['id'])) { $data['add_time'] = time(); - if(Db::name('ArticleCategory')->insertGetId($data) > 0) + $data['id'] = Db::name('ArticleCategory')->insertGetId($data); + if($data['id'] <= 0) { - return DataReturn('添加成功', 0); + return DataReturn('添加失败', -100); } - return DataReturn('添加失败', -100); + } else { $data['upd_time'] = time(); - if(Db::name('ArticleCategory')->where(['id'=>intval($params['id'])])->update($data)) + if(Db::name('ArticleCategory')->where(['id'=>intval($params['id'])])->update($data) === false) { - return DataReturn('编辑成功', 0); + return DataReturn('编辑失败', -100); + } else { + $data['id'] = $params['id']; } - return DataReturn('编辑失败', -100); } + return DataReturn('操作成功', 0, json_encode($data)); } /** diff --git a/application/service/ExpressService.php b/application/service/ExpressService.php index 8124068ce2ad9ab6a8ef250d87f18ce126094b89..ea5581a64c799e5624b48cd620289a5525e3b8fc 100755 --- a/application/service/ExpressService.php +++ b/application/service/ExpressService.php @@ -85,8 +85,6 @@ class ExpressService foreach($data as &$v) { $v['is_son'] = (Db::name('Express')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no'; - $v['ajax_url'] = MyUrl('admin/express/getnodeson', array('id'=>$v['id'])); - $v['delete_url'] = MyUrl('admin/express/delete'); $v['icon_url'] = ResourcesService::AttachmentPathViewHandle($v['icon']); $v['json'] = json_encode($v); } @@ -141,19 +139,21 @@ class ExpressService if(empty($params['id'])) { $data['add_time'] = time(); - if(Db::name('Express')->insertGetId($data) > 0) + $data['id'] = Db::name('Express')->insertGetId($data); + if($data['id'] <= 0) { - return DataReturn('添加成功', 0); + return DataReturn('添加失败', -100); } - return DataReturn('添加失败', -100); } else { $data['upd_time'] = time(); - if(Db::name('Express')->where(['id'=>intval($params['id'])])->update($data)) + if(Db::name('Express')->where(['id'=>intval($params['id'])])->update($data) === false) { - return DataReturn('编辑成功', 0); + return DataReturn('编辑失败', -100); + } else { + $data['id'] = $params['id']; } - return DataReturn('编辑失败', -100); } + return DataReturn('操作成功', 0, json_encode($data)); } /** diff --git a/application/service/GoodsService.php b/application/service/GoodsService.php index 079e08b456942aa394434f138606c36226381533..ad4819fe9e2f86926e68da5dd3d3cefc6e3690fa 100755 --- a/application/service/GoodsService.php +++ b/application/service/GoodsService.php @@ -2163,8 +2163,6 @@ class GoodsService foreach($data as &$v) { $v['is_son'] = (Db::name('GoodsCategory')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no'; - $v['ajax_url'] = MyUrl('admin/goodscategory/getnodeson', array('id'=>$v['id'])); - $v['delete_url'] = MyUrl('admin/goodscategory/delete'); $v['icon_url'] = ResourcesService::AttachmentPathViewHandle($v['icon']); $v['big_images_url'] = ResourcesService::AttachmentPathViewHandle($v['big_images']); $v['json'] = json_encode($v); @@ -2266,36 +2264,28 @@ class GoodsService } // 添加/编辑 - $msg = '操作失败'; - $code = -100; if(empty($params['id'])) { $data['add_time'] = time(); - if(Db::name('GoodsCategory')->insertGetId($data) > 0) + $data['id'] = Db::name('GoodsCategory')->insertGetId($data); + if($data['id'] <= 0) { - $code = 0; - $msg = '添加成功'; - } else { - $msg = '添加失败'; + return DataReturn('添加失败', -100); } } else { $data['upd_time'] = time(); - if(Db::name('GoodsCategory')->where(['id'=>intval($params['id'])])->update($data)) + if(Db::name('GoodsCategory')->where(['id'=>intval($params['id'])])->update($data) === false) { - $code = 0; - $msg = '编辑成功'; + return DataReturn('编辑失败', -100); } else { - $msg = '编辑失败'; + $data['id'] = $params['id']; } } - // 状态 - if($code == 0) - { - // 删除大分类缓存 - cache(config('shopxo.cache_goods_category_key'), null); - } - return DataReturn($msg, $code); + // 删除大分类缓存 + cache(config('shopxo.cache_goods_category_key'), null); + + return DataReturn('操作成功', 0, json_encode($data)); } /** diff --git a/application/service/RegionService.php b/application/service/RegionService.php index cedc675ed9cc37ecadcadb4eb4d4aeb96e6a4022..bf8942e65bf0b476772ec8ecb87b865a98196133 100755 --- a/application/service/RegionService.php +++ b/application/service/RegionService.php @@ -93,8 +93,6 @@ class RegionService foreach($data as &$v) { $v['is_son'] = (Db::name('Region')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no'; - $v['ajax_url'] = MyUrl('admin/region/getnodeson', array('id'=>$v['id'])); - $v['delete_url'] = MyUrl('admin/region/delete'); $v['json'] = json_encode($v); } return DataReturn('操作成功', 0, $data); @@ -139,19 +137,21 @@ class RegionService if(empty($params['id'])) { $data['add_time'] = time(); - if(Db::name('Region')->insertGetId($data) > 0) + $data['id'] = Db::name('Region')->insertGetId($data); + if($data['id'] <= 0) { - return DataReturn('添加成功', 0); + return DataReturn('添加失败', -100); } - return DataReturn('添加失败', -100); } else { $data['upd_time'] = time(); - if(Db::name('Region')->where(['id'=>intval($params['id'])])->update($data)) + if(Db::name('Region')->where(['id'=>intval($params['id'])])->update($data) === false) { - return DataReturn('编辑成功', 0); + return DataReturn('编辑失败', -100); + } else { + $data['id'] = $params['id']; } - return DataReturn('编辑失败', -100); } + return DataReturn('操作成功', 0, json_encode($data)); } /** @@ -183,19 +183,47 @@ class RegionService return DataReturn($ret, -1); } - // 是否还有子数据 - $temp_count = Db::name('Region')->where(['pid'=>$params['id']])->count(); - if($temp_count > 0) - { - return DataReturn('请先删除子数据', -10); - } + // 获取分类下所有分类id + $ids = self::RegionItemsIds([$params['id']]); + $ids[] = $params['id']; // 开始删除 - if(Db::name('Region')->where(['id'=>$params['id']])->delete()) + if(Db::name('Region')->where(['id'=>$ids])->delete()) { return DataReturn('删除成功', 0); } return DataReturn('删除失败', -100); } + + /** + * 获取地区下的所有子级id + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2018-08-29 + * @desc description + * @param [array] $ids [id数组] + * @param [int] $is_enable [是否启用 null, 0否, 1是] + * @param [string] $order_by [排序, 默认sort asc] + */ + public static function RegionItemsIds($ids = [], $is_enable = null, $order_by = 'sort asc') + { + $where = ['pid'=>$ids]; + if($is_enable !== null) + { + $where['is_enable'] = $is_enable; + } + $data = Db::name('Region')->where($where)->order($order_by)->column('id'); + if(!empty($data)) + { + $temp = self::RegionItemsIds($data, $is_enable, $order_by); + if(!empty($temp)) + { + $data = array_merge($data, $temp); + } + } + $data = empty($data) ? $ids : array_unique(array_merge($ids, $data)); + return $data; + } } ?> \ No newline at end of file diff --git a/application/service/ScreeningPriceService.php b/application/service/ScreeningPriceService.php index ea5a3374c135455b9b32bcdc2f5fd4d30d558587..d9f0e2859e991f388f6e2688205ff4eb5d0e77b8 100755 --- a/application/service/ScreeningPriceService.php +++ b/application/service/ScreeningPriceService.php @@ -43,8 +43,6 @@ class ScreeningPriceService foreach($data as &$v) { $v['is_son'] = (Db::name('ScreeningPrice')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no'; - $v['ajax_url'] = MyUrl('admin/screeningprice/getnodeson', array('id'=>$v['id'])); - $v['delete_url'] = MyUrl('admin/screeningprice/delete'); $v['json'] = json_encode($v); } return DataReturn('操作成功', 0, $data); @@ -91,19 +89,21 @@ class ScreeningPriceService if(empty($params['id'])) { $data['add_time'] = time(); - if(Db::name('ScreeningPrice')->insertGetId($data) > 0) + $data['id'] = Db::name('ScreeningPrice')->insertGetId($data); + if($data['id'] <= 0) { - return DataReturn('添加成功', 0); + return DataReturn('添加失败', -100); } - return DataReturn('添加失败', -100); } else { $data['upd_time'] = time(); - if(Db::name('ScreeningPrice')->where(['id'=>intval($params['id'])])->update($data)) + if(Db::name('ScreeningPrice')->where(['id'=>intval($params['id'])])->update($data) === false) { - return DataReturn('编辑成功', 0); + return DataReturn('编辑失败', -100); + } else { + $data['id'] = $params['id']; } - return DataReturn('编辑失败', -100); } + return DataReturn('操作成功', 0, json_encode($data)); } /** diff --git a/public/static/admin/default/css/common.css b/public/static/admin/default/css/common.css index c2a5a86787ee5748068aef1bee5a449b0d014cdf..b99f949e4c3c2a3a2cf5305524c7c7966a283c0b 100755 --- a/public/static/admin/default/css/common.css +++ b/public/static/admin/default/css/common.css @@ -565,6 +565,9 @@ table.am-table .am-btn-danger:hover { #tree table.am-table td button.am-btn { vertical-align: unset; } +#tree table.am-table tr.tree-change-item td { + border: 1px dashed #FF9800; +} /** * 警告框下表单最后一个去掉虚线 diff --git a/public/static/common/js/common.js b/public/static/common/js/common.js index eef279efcf1fe34cd8b4263c8626d0b6ce6ac301..fc93ec2fe4963c31df6011ba52f1e275d1fc5bd4 100755 --- a/public/static/common/js/common.js +++ b/public/static/common/js/common.js @@ -581,78 +581,22 @@ function Tree(id, url, level, is_add_node, is_delete_all) { if(result.code == 0 && result.data.length > 0) { - html = (id != 0) ? '' : ''; - is_add_node = is_add_node || 0; - var is_astrict_rank = parseInt($('#tree').attr('data-rank')) || 0; + html = ''; for(var i in result.data) { - // 获取class - var class_name = $('#data-list-'+id).attr('class') || ''; - - // 数据 start - var is_active = (result.data[i]['is_enable'] == 0) ? 'am-active' : ''; - html += ''; + html += TreeItemHtmlHandle(result.data[i], id, level, is_add_node, is_delete_all) } - html += (id != 0) ? '' : '
'; - tmp_level = (id != 0) ? parseInt(level)+20 : parseInt(level); - var son_css = ''; - if(result.data[i]['is_son'] == 'ok') - { - html += ''; - } else { - son_css = 'padding-left:'+tmp_level+'px;'; - } - html += ''; - if((result.data[i]['icon_url'] || null) != null) - { - html += ''; - } - html += ''+(result.data[i]['name_alias'] || result.data[i]['name'])+''; - html += ''; - // 数据 end - - // 操作项 start - html += '
'; - - // 新增 - var rank = tmp_level/20+1; - if(is_add_node == 1 && (is_astrict_rank == 0 || rank < is_astrict_rank)) - { - html += ''; - } - - // 编辑 - html += ''; - if(result.data[i]['is_son'] != 'ok' || is_delete_all == 1) - { - // 是否需要删除子数据 - var pid_class = is_delete_all == 1 ? '.tree-pid-'+result.data[i]['id'] : ''; - - // 删除 - html += ''; - } - html += '
'; - // 操作项 end - - html += '
'; - // 防止网络慢的情况下重复添加 - if($('#data-list-'+id).find('.tree-submit').attr('state') != 'ok') + // 是否首次 + if(id == 0) { - if(id == 0) - { - $('#tree').html(html); - } else { - $('#data-list-'+id).after(html); - $('#data-list-'+id).find('.tree-submit').attr('state', 'ok'); - $('#data-list-'+id).find('.tree-submit').removeClass('am-icon-plus'); - $('#data-list-'+id).find('.tree-submit').addClass('am-icon-minus-square'); - } + html = ''+html+'
'; + $('#tree').html(html); + } else { + $('.tree-pid-'+id).remove(); + $('#data-list-'+id).after(html); + $('#data-list-'+id).find('.tree-submit').removeClass('am-icon-plus'); + $('#data-list-'+id).find('.tree-submit').addClass('am-icon-minus-square'); } } else { $('#tree').find('p').text(result.msg); @@ -667,6 +611,207 @@ function Tree(id, url, level, is_add_node, is_delete_all) }); } +/** + * tree列表数据处理 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2020-11-19 + * @desc description + * @param {[boject]} item [数据] + * @param {[int]} id [节点id] + * @param {[int]} level [层级] + * @param {[int]} is_add_node [是否开启新增子级按钮] + * @param {[int]} is_delete_all [是否所有开启删除按钮] + */ +function TreeItemHtmlHandle(item, id, level, is_add_node, is_delete_all) +{ + // 基础参数处理 + is_add_node = is_add_node || 0; + is_delete_all = is_delete_all || 0; + var is_astrict_rank = parseInt($('#tree').attr('data-rank')) || 0; + var delete_url = $('#tree').data('del-url'); + var class_name = $('#data-list-'+id).attr('class') || ''; + class_name = class_name.replace('tree-change-item', '').replace('am-active', ''); + var popup_tag = $('#tree').data('popup-tag') || ''+popup_tag+''; + + // 数据 start + var is_active = (item['is_enable'] == 0) ? 'am-active' : ''; + html = ''; + tmp_level = (id != 0) ? parseInt(level)+20 : parseInt(level); + var son_css = ''; + if(item['is_son'] == 'ok') + { + html += ''; + } else { + son_css = 'padding-left:'+tmp_level+'px;'; + } + html += ''; + if((item['icon_url'] || null) != null) + { + html += ''; + } + html += ''+(item['name_alias'] || item['name'])+''; + html += ''; + // 数据 end + + // 操作项 start + html += '
'; + + // 新增 + var rank = tmp_level/20+1; + if(is_add_node == 1 && (is_astrict_rank == 0 || rank < is_astrict_rank)) + { + html += ''; + } + + // 编辑 + html += ''; + if(item['is_son'] != 'ok' || is_delete_all == 1) + { + // 是否需要删除子数据 + var pid_class = is_delete_all == 1 ? '.tree-pid-'+item['id'] : ''; + + // 删除 + html += ''; + } + html += '
'; + // 操作项 end + + html += ''; + return html; +} + +/** + * tree数据保存回调处理 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2020-11-19 + * @desc description + * @param {[boject]} e [当前回调数据] + */ +function TreeFormSaveBackHandle(e) +{ + $.AMUI.progress.done(); + $('form.form-validation').find('button[type="submit"]').button('reset'); + if(e.code == 0) + { + Prompt(e.msg, 'success'); + var $popup = $($('#tree').data('popup-tag') || ''+popup_tag+''); + + // 数据处理 + if((e.data || null) != null) + { + var json = JSON.parse(decodeURIComponent(e.data)); + if((json.id || null) != null) + { + // 是否存在pid节点数据 + var pid_arr = []; + if($popup.find('select[name="pid"]').length > 0) + { + $popup.find('select[name="pid"] option').each(function() + { + var value = $(this).val(); + if(value != '') + { + pid_arr.push(value); + } + }); + } + + // 存在数据编辑、则添加 + var $obj = $('#data-list-'+json.id); + if($obj.length > 0) + { + // 原始json数据 + var json_old = JSON.parse(decodeURIComponent($obj.find('.submit-edit').attr('data-json'))); + + // 名称更新 + $obj.find('td>span>span').text(json.name_alias || json.name); + + // 状态处理 + if(json.is_enable != json_old.is_enable) + { + if($obj.hasClass('am-active')) + { + $obj.removeClass('am-active'); + } else { + $obj.addClass('am-active'); + } + } + + // 属性json数据更新 + $obj.find('.submit-edit').attr('data-json', encodeURIComponent(e.data)); + + // pid改变后不可再次操作 + if(pid_arr.length > 0) + { + if(json_old.pid != json.pid) + { + // 移出操作项(由于修改父级后,数据可能已经不在当前节点下、禁止再次编辑) + $obj.find('.submit').remove(); + + // 更新记录样式 + $obj.addClass('tree-change-item'); + + // 存在父节点数据则移出当前的元素option + // 防止交叉关联导致造成垃圾数据残留在数据库中 + // 移出当前存在父节点中的数据 + $popup.find('select[name="pid"] option[value="'+json['id']+'"]').remove(); + // 多选插件事件更新 + if($('.chosen-select').length > 0) + { + $('.chosen-select').trigger('chosen:updated'); + } + } else { + // 是否未启用 + if(json.is_enable != 1) + { + $obj.find('.tree-submit-add-node').hide(); + } else { + $obj.find('.tree-submit-add-node').show(); + } + + // 如果当前节点id不存在pid节点中则隐藏新增操作按钮 + if(pid_arr.indexOf(json.id) == -1) + { + $obj.find('.tree-submit-add-node').hide(); + } + } + } + } else { + // 存在pid直接拉取下级数据,则追加新数据 + if(json.pid > 0) + { + Tree(json.pid, $('#tree').data('node-url'), 1, 1, 1); + } else { + json['json'] = e.data; + var html = TreeItemHtmlHandle(json, 0, 1, 1); + $('#tree table tbody').append(html); + // 刚刚创建的数据不支持新增操作 + // 因为级数据还不在父级选择节点数据中 + // 需要刷新页面重新加载数据 + // 如果当前节点id不存在pid节点中则隐藏新增操作按钮 + if(pid_arr.indexOf(json.id) == -1) + { + $('#data-list-'+json.id).find('.tree-submit-add-node').hide(); + } + } + } + } + } + $popup.modal('close'); + } else { + Prompt(e.msg); + } +} + /** * [ImageFileUploadShow 图片上传预览] * @param {[string]} class_name [class名称] @@ -1484,8 +1629,11 @@ function FunSaveWinAdditional(data, type) */ function TreeFormInit() { + // popup窗口 + var $popup = $($('#tree').data('popup-tag') || ''+popup_tag+''); + // 更改窗口名称 - $title = $('#data-save-win').find('.am-popup-title'); + var $title = $popup.find('.am-popup-title'); $title.text($title.attr('data-add-title')); // 填充数据 @@ -1498,10 +1646,10 @@ function TreeFormInit() FormDataFill(data); // 移除菜单禁止状态 - $('form select[name="pid"]').removeAttr('disabled'); + $popup.find('form select[name="pid"]').removeAttr('disabled'); // 校验成功状态增加失去焦点 - $('form').find('.am-field-valid').each(function() + $popup.find('form').find('.am-field-valid').each(function() { $(this).blur(); }); @@ -2054,9 +2202,10 @@ $(function() $title = $('#'+tag).find('.am-popup-title'); $title.text($title.attr('data-edit-title')); } - + // 填充数据 - var data = FunSaveWinAdditional($(this).data('json'), 'edit'); + var json = JSON.parse(decodeURIComponent($(this).attr('data-json'))); + var data = FunSaveWinAdditional(json, 'edit'); // 开始填充数据 FormDataFill(data, '#'+tag); @@ -2069,14 +2218,14 @@ $(function() * @version 0.0.1 * @datetime 2016-12-25T22:12:10+0800 */ - $('#tree').on('click', '.tree-submit-add-node', function() + $(document).on('click', '#tree .tree-submit-add-node', function() { // 清空表单数据 TreeFormInit(); // 父节点赋值 var id = parseInt($(this).attr('data-id')) || 0; - $('#data-save-win').find('input[name="pid"], select[name="pid"]').val(id); + $($(this).parents('#tree').data('popup-tag') || ''+popup_tag+'').find('input[name="pid"], select[name="pid"]').val(id); // 多选插件事件更新 if($('.chosen-select').length > 0) @@ -2092,11 +2241,11 @@ $(function() * @version 0.0.1 * @datetime 2016-12-25T22:12:10+0800 */ - $('#tree').on('click', '.tree-submit', function() + $(document).on('click', '#tree .tree-submit', function() { var id = parseInt($(this).attr('data-id')) || 0; // 状态 - if($('#data-list-'+id).find('.tree-submit').attr('state') == 'ok') + if($('.tree-pid-'+id).length > 0) { if($(this).hasClass('am-icon-plus')) { @@ -2109,7 +2258,7 @@ $(function() $('.tree-pid-'+id).css('display', 'none'); } } else { - var url = $(this).attr('data-url') || ''; + var url = $(this).parents('#tree').data('node-url') || ''; var level = parseInt($(this).attr('data-level')) || 0; var is_add_node = parseInt($(this).attr('data-is_add_node')) || 0; var is_delete_all = parseInt($(this).attr('data-is_delete_all')) || 0;