李敏
骑士
骑士
  • UID195
  • 粉丝2
  • 关注3
  • 发帖数10
阅读:12469回复:1

DAO.save只传beanName和mode,不传type为什么也能保存?

楼主#
更多 发布于:2016-09-18 11:24
DAO.save只传beanName和mode,不传type为什么也能保存?
[{beanName:'tb_requisition_form',mode:'insert'}].concat(data),这种形式的数据没有传type也能保存。

最新喜欢:

周进周进
周进
风云使者
风云使者
  • UID2
  • 粉丝15
  • 关注12
  • 发帖数264
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
沙发#
发布于:2016-09-18 11:26
1:DAO的save方法中先调用init方法
save: function(C, B) {
        var A = DAO.init(C, B);
        if (A) {
            Seam.Component.getInstance("CommonDao").save(A[0], A[1], function(D) {
                if (B) {
                    B(D)
                }
                TOPBAR.cancel()
            })
        }
    }

2:init方法中先判断type == "data",如果没有设置type,直接以表单方式初始化后台Bean:Seam.Component.newInstance
init: function(H, D) {
        var G = [];
        var B = [];
        if (Object.prototype.toString.apply(H) === "[object Array]") {
            for (var C = 0; C < H.length; C++) {
                if (H[C].beanName) {
                    var F = new Seam.Remoting.Map();
                    F.put("mode", H[C].mode);
                    F.put("ignoreFields", H[C].ignoreFields);
                    F.put("includeFields", H[C].includeFields);
                    G[C] = F;
                   if (H[C].type == "data") {
                        B[C] = DAO.initData_Data(Seam.Component.newInstance(H[C].beanName), H[C].data)
                    } else {
                        B[C] = DAO.initData_Form(Seam.Component.newInstance(H[C].beanName));
                        if (H[C].dataCallBack) {
                            B[C] = H[C].dataCallBack(B[C])
                        }
                    }

                } else {
//后续代码省略。。。
世上本没有路,走的人多了,便变成了路.
游客

返回顶部