Blame view

public/js/vcCore/vc-core.js 2.95 KB
809d9ffa   wuxw   流程设计页面组件没法和vue兼容只...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  /**
   初始化vue 对象
   @param vc vue component对象
   @param vmOptions Vue参数
   **/
  (function (vc, vmOptions) {
      console.log("vmOptions:", vmOptions);
      vc.component = new Vue(vmOptions);
  })(window.vc, window.vc.vmOptions);
  
  
  /**
   vc监听事件
   **/
  (function (vc) {
      /**
       事件监听
       **/
      vc.on = function () {
          var _namespace = "";
          var _componentName = "";
          var _value = "";
          var _callback = undefined;
          if (arguments.length == 4) {
              _namespace = arguments[0];
              _componentName = arguments[1];
              _value = arguments[2];
              _callback = arguments[3];
          } else if (arguments.length == 3) {
              _componentName = arguments[0];
              _value = arguments[1];
              _callback = arguments[2];
          } else {
              console.error("执行on 异常,vc.on 参数只能是3个 或4个");
              return;
          }
          if (vc.notNull(_namespace)) {
              vc.component.$on(_namespace + "_" + _componentName + '_' + _value,
                  function (param) {
                      if (vc.debug) {
                          console.log("监听ON事件", _namespace, _componentName, _value, param);
                      }
                      _callback(param);
                  }
              );
              return;
          }
  
          vc.component.$on(_componentName + '_' + _value,
              function (param) {
                  if (vc.debug) {
                      console.log("监听ON事件", _componentName, _value, param);
                  }
                  _callback(param);
              }
          );
      };
  
      /**
       事件触发
       **/
      vc.emit = function () {
          var _namespace = "";
          var _componentName = "";
          var _value = "";
          var _param = undefined;
          if (arguments.length == 4) {
              _namespace = arguments[0];
              _componentName = arguments[1];
              _value = arguments[2];
              _param = arguments[3];
          } else if (arguments.length == 3) {
              _componentName = arguments[0];
              _value = arguments[1];
              _param = arguments[2];
          } else {
              console.error("执行on 异常,vc.on 参数只能是3个 或4个");
              return;
          }
          if (vc.debug) {
              console.log("监听emit事件", _namespace, _componentName, _value, _param);
          }
          if (vc.notNull(_namespace)) {
              vc.component.$emit(_namespace + "_" + _componentName + '_' + _value, _param);
              return;
          }
          vc.component.$emit(_componentName + '_' + _value, _param);
      };
  
  })(window.vc);
  
  /**
   * vue对象 执行初始化方法
   */
  (function (vc) {
      vc.initEvent.forEach(function (eventMethod) {
          eventMethod();
      });
      vc.initMethod.forEach(function (callback) {
          callback();
      });
      vc.namespace.forEach(function (_param) {
          vc[_param.namespace] = vc.component[_param.namespace];
      });
  })(window.vc);