Commit d4ff565ed95c7a48fbf4a804022e14124a11f898

Authored by 徐烜
1 parent 3e28457d

update

src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
@@ -339,6 +339,16 @@ angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', fun @@ -339,6 +339,16 @@ angular.module('ScheduleApp').factory('$$SearchInfoService_g', ['$resource', fun
339 } 339 }
340 } 340 }
341 341
  342 + ),
  343 + cci2: $resource(
  344 + '/cci/:type',
  345 + {},
  346 + {
  347 + list: {
  348 + method: 'GET',
  349 + isArray: true
  350 + }
  351 + }
342 ) 352 )
343 } 353 }
344 }]); 354 }]);
@@ -537,6 +547,10 @@ angular.module('ScheduleApp').directive("saSelect2", [ @@ -537,6 +547,10 @@ angular.module('ScheduleApp').directive("saSelect2", [
537 * datatype(必须):业务数据类型,有字典类型,动态数据类型,暂时写的死点 547 * datatype(必须):业务数据类型,有字典类型,动态数据类型,暂时写的死点
538 * mlp(可选):是否多级属性(这里假设外部model如果多级,内部model也是多级) 548 * mlp(可选):是否多级属性(这里假设外部model如果多级,内部model也是多级)
539 * 549 *
  550 + * 高级属性:
  551 + * dataassociate(可选):数据源是否关联属性(内部数据随外部指定的参数变化而变化)
  552 + * dataparam(可选):数据源关联的外部参数对象
  553 + *
540 */ 554 */
541 angular.module('ScheduleApp').directive("saSelect3", [ 555 angular.module('ScheduleApp').directive("saSelect3", [
542 '$timeout', 556 '$timeout',
@@ -575,6 +589,7 @@ angular.module('ScheduleApp').directive("saSelect3", [ @@ -575,6 +589,7 @@ angular.module('ScheduleApp').directive("saSelect3", [
575 var $datatype_attr = tAttrs["datatype"]; // 内部业务数据类型 589 var $datatype_attr = tAttrs["datatype"]; // 内部业务数据类型
576 var $required_attr = tAttrs["required"]; // 是否需要required验证 590 var $required_attr = tAttrs["required"]; // 是否需要required验证
577 var $mlp_attr = tAttrs["mlp"]; // 是否多级属性 591 var $mlp_attr = tAttrs["mlp"]; // 是否多级属性
  592 + var $dataassociate_attr = tAttrs["dataassociate"]; // 数据源是否关联属性
578 593
579 // controlAs名字 594 // controlAs名字
580 var ctrlAs = "$saSelectCtrl"; 595 var ctrlAs = "$saSelectCtrl";
@@ -680,6 +695,7 @@ angular.module('ScheduleApp').directive("saSelect3", [ @@ -680,6 +695,7 @@ angular.module('ScheduleApp').directive("saSelect3", [
680 // 清空内部数据 695 // 清空内部数据
681 scope[ctrlAs].$$data_real = []; 696 scope[ctrlAs].$$data_real = [];
682 for (var i = 0; i < result.length; i ++) { 697 for (var i = 0; i < result.length; i ++) {
  698 + // TODO:超级大BUG
683 var data = {}; // data是result的一部分属性集合,根据配置来确定 699 var data = {}; // data是result的一部分属性集合,根据配置来确定
684 if ($icname_attr) { 700 if ($icname_attr) {
685 if ($mlp_attr) { 701 if ($mlp_attr) {
@@ -753,6 +769,25 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect3&quot;, [ @@ -753,6 +769,25 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect3&quot;, [
753 //console.log("end"); 769 //console.log("end");
754 }; 770 };
755 771
  772 + /**
  773 + * 判定一个对象是否为空对象。
  774 + * @param Obj
  775 + */
  776 + scope[ctrlAs].$$internal_isEmpty_obj = function(obj) {
  777 + console.log(typeof obj);
  778 +
  779 + if (typeof obj === "object" && !(obj instanceof Array)) {
  780 + for (var prop in obj) {
  781 + if (obj.hasOwnProperty(prop)) {
  782 + return false;
  783 + }
  784 + }
  785 + return true;
  786 + } else {
  787 + throw "必须是对象";
  788 + }
  789 + };
  790 +
756 // 刷新数据 791 // 刷新数据
757 scope[ctrlAs].$$internal_refresh_fn = function(search) { 792 scope[ctrlAs].$$internal_refresh_fn = function(search) {
758 // 绑定的model字段值,此属性是绑定属性,只能在link阶段获取 793 // 绑定的model字段值,此属性是绑定属性,只能在link阶段获取
@@ -768,22 +803,24 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect3&quot;, [ @@ -768,22 +803,24 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect3&quot;, [
768 scope[ctrlAs].$$internalmodel = $dcvalue_attr; 803 scope[ctrlAs].$$internalmodel = $dcvalue_attr;
769 } 804 }
770 } else { // 非字典类型数据源 805 } else { // 非字典类型数据源
771 - $$searchInfoService_g[$datatype_attr].list(  
772 - {type: "all"},  
773 - function(result) {  
774 - //console.log("ok:" + $datatype_attr);  
775 - scope[ctrlAs].$$internal_other_data(result, $dcvalue_attr);  
776 - //console.log("ok2:" + $datatype_attr);  
777 - if ($dcvalue_attr) {  
778 - scope[ctrlAs].$$internalmodel = $dcvalue_attr;  
779 - } 806 + if (!$dataassociate_attr) {
  807 + $$searchInfoService_g[$datatype_attr].list(
  808 + {type: "all"},
  809 + function(result) {
  810 + //console.log("ok:" + $datatype_attr);
  811 + scope[ctrlAs].$$internal_other_data(result, $dcvalue_attr);
  812 + //console.log("ok2:" + $datatype_attr);
  813 + if ($dcvalue_attr) {
  814 + scope[ctrlAs].$$internalmodel = $dcvalue_attr;
  815 + }
780 816
781 - $$data_init = true;  
782 - },  
783 - function(result) { 817 + $$data_init = true;
  818 + },
  819 + function(result) {
784 820
785 - }  
786 - ); 821 + }
  822 + );
  823 + }
787 } 824 }
788 } 825 }
789 826
@@ -825,18 +862,47 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect3&quot;, [ @@ -825,18 +862,47 @@ angular.module(&#39;ScheduleApp&#39;).directive(&quot;saSelect3&quot;, [
825 862
826 // dom全部载入后调用 863 // dom全部载入后调用
827 $timeout(function() { 864 $timeout(function() {
828 - // TODO:  
829 -  
830 console.log("dom全部载入后调用"); 865 console.log("dom全部载入后调用");
831 }, 0); 866 }, 0);
832 // 监控dcvalue model值变换 867 // 监控dcvalue model值变换
833 attr.$observe("dcvalue", function(value) { 868 attr.$observe("dcvalue", function(value) {
834 - // TODO:  
835 -  
836 console.log("监控dc1 model值变换:" + value); 869 console.log("监控dc1 model值变换:" + value);
837 scope[ctrlAs].$$internalmodel = value; 870 scope[ctrlAs].$$internalmodel = value;
838 } 871 }
839 ); 872 );
  873 + // 监控获取数据参数变换
  874 + attr.$observe("dataparam", function(value) {
  875 + // 判定是否空对象
  876 + console.log(value);
  877 + var obj = JSON.parse(value);
  878 + var $dcvalue_attr = attr["dcvalue"];
  879 + if (!scope[ctrlAs].$$internal_isEmpty_obj(obj)) {
  880 + console.log("dataparam:" + obj);
  881 +
  882 + //
  883 +
  884 + obj["type"] = "all";
  885 +
  886 + $$data_init = false;
  887 + $$searchInfoService_g[$datatype_attr].list(
  888 + obj,
  889 + function(result) {
  890 + //console.log("ok:" + $datatype_attr);
  891 + scope[ctrlAs].$$internal_other_data(result, $dcvalue_attr);
  892 + //console.log("ok2:" + $datatype_attr);
  893 + if ($dcvalue_attr) {
  894 + scope[ctrlAs].$$internalmodel = $dcvalue_attr;
  895 + }
  896 +
  897 + $$data_init = true;
  898 + },
  899 + function(result) {
  900 +
  901 + }
  902 + );
  903 + }
  904 + }
  905 + );
840 } 906 }
841 }; 907 };
842 } 908 }
src/main/resources/static/pages/scheduleApp/module/core/busConfig/edit.html
@@ -71,6 +71,8 @@ @@ -71,6 +71,8 @@
71 icname="id" 71 icname="id"
72 icnames="insideCode" 72 icnames="insideCode"
73 datatype="cl" 73 datatype="cl"
  74 + dataassociate="true"
  75 + dataparam="{{ {'businessCode_eq': ctrl.busConfigForSave.xl.company} | json }}"
74 mlp="true" 76 mlp="true"
75 required > 77 required >
76 </sa-Select3> 78 </sa-Select3>
src/main/resources/static/pages/scheduleApp/module/core/busConfig/form.html
@@ -49,6 +49,8 @@ @@ -49,6 +49,8 @@
49 dcvalue="{{ctrl.busConfigForSave.xl.id}}" 49 dcvalue="{{ctrl.busConfigForSave.xl.id}}"
50 dcname="xl.id" 50 dcname="xl.id"
51 icname="id" 51 icname="id"
  52 + dcname2="xl.company"
  53 + icname2="company"
52 icnames="name" 54 icnames="name"
53 datatype="xl" 55 datatype="xl"
54 mlp="true" 56 mlp="true"
@@ -71,6 +73,8 @@ @@ -71,6 +73,8 @@
71 icname="id" 73 icname="id"
72 icnames="insideCode" 74 icnames="insideCode"
73 datatype="cl" 75 datatype="cl"
  76 + dataassociate="true"
  77 + dataparam="{{ {'businessCode_eq': ctrl.busConfigForSave.xl.company} | json }}"
74 mlp="true" 78 mlp="true"
75 required > 79 required >
76 </sa-Select3> 80 </sa-Select3>
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/edit.html
@@ -84,6 +84,8 @@ @@ -84,6 +84,8 @@
84 icname="id" 84 icname="id"
85 icnames="personnelName" 85 icnames="personnelName"
86 datatype="ry" 86 datatype="ry"
  87 + dataassociate="true"
  88 + dataparam="{{ {'companyCode_eq': ctrl.employeeConfigForSave.xl.company} | json }}"
87 mlp="true" 89 mlp="true"
88 required > 90 required >
89 </sa-Select3> 91 </sa-Select3>
@@ -105,6 +107,8 @@ @@ -105,6 +107,8 @@
105 icname="id" 107 icname="id"
106 icnames="personnelName" 108 icnames="personnelName"
107 datatype="ry" 109 datatype="ry"
  110 + dataassociate="true"
  111 + dataparam="{{ {'companyCode_eq': ctrl.employeeConfigForSave.xl.company} | json }}"
108 mlp="true" > 112 mlp="true" >
109 </sa-Select3> 113 </sa-Select3>
110 </div> 114 </div>
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/employeeConfig.js
@@ -21,7 +21,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService&#39;, [&#39;EmployeeConfigS @@ -21,7 +21,7 @@ angular.module(&#39;ScheduleApp&#39;).factory(&#39;EmployeeConfigService&#39;, [&#39;EmployeeConfigS
21 resetSearchCondition: function() { 21 resetSearchCondition: function() {
22 var key; 22 var key;
23 for (key in currentSearchCondition) { 23 for (key in currentSearchCondition) {
24 - currentSearchCondition[key] = null; 24 + currentSearchCondition[key] = undefined;
25 } 25 }
26 }, 26 },
27 /** 27 /**
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/form.html
@@ -49,6 +49,8 @@ @@ -49,6 +49,8 @@
49 dcvalue="{{ctrl.employeeConfigForSave.xl.id}}" 49 dcvalue="{{ctrl.employeeConfigForSave.xl.id}}"
50 dcname="xl.id" 50 dcname="xl.id"
51 icname="id" 51 icname="id"
  52 + dcname2="xl.company"
  53 + icname2="company"
52 icnames="name" 54 icnames="name"
53 datatype="xl" 55 datatype="xl"
54 mlp="true" 56 mlp="true"
@@ -84,6 +86,8 @@ @@ -84,6 +86,8 @@
84 icname="id" 86 icname="id"
85 icnames="personnelName" 87 icnames="personnelName"
86 datatype="ry" 88 datatype="ry"
  89 + dataassociate="true"
  90 + dataparam="{{ {'companyCode_eq': ctrl.employeeConfigForSave.xl.company} | json }}"
87 mlp="true" 91 mlp="true"
88 required > 92 required >
89 </sa-Select3> 93 </sa-Select3>
@@ -105,6 +109,8 @@ @@ -105,6 +109,8 @@
105 icname="id" 109 icname="id"
106 icnames="personnelName" 110 icnames="personnelName"
107 datatype="ry" 111 datatype="ry"
  112 + dataassociate="true"
  113 + dataparam="{{ {'companyCode_eq': ctrl.employeeConfigForSave.xl.company} | json }}"
108 mlp="true" > 114 mlp="true" >
109 </sa-Select3> 115 </sa-Select3>
110 </div> 116 </div>
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/list.html
@@ -23,6 +23,8 @@ @@ -23,6 +23,8 @@
23 dcvalue="{{ctrl.searchCondition()['xl.lineCode_eq']}}" 23 dcvalue="{{ctrl.searchCondition()['xl.lineCode_eq']}}"
24 dcname="xl.lineCode_eq" 24 dcname="xl.lineCode_eq"
25 icname="lineCode" 25 icname="lineCode"
  26 + dcname2="xl.company_eq"
  27 + icname2="company"
26 icnames="name" 28 icnames="name"
27 datatype="xl"> 29 datatype="xl">
28 </sa-Select3> 30 </sa-Select3>
@@ -39,7 +41,9 @@ @@ -39,7 +41,9 @@
39 dcname="jsy.id_eq" 41 dcname="jsy.id_eq"
40 icname="id" 42 icname="id"
41 icnames="personnelName" 43 icnames="personnelName"
42 - datatype="ry"> 44 + datatype="ry"
  45 + dataassociate="true"
  46 + dataparam="{{ {'companyCode_eq': ctrl.searchCondition()['xl.company_eq']} | json }}" >
43 </sa-Select3> 47 </sa-Select3>
44 </div> 48 </div>
45 </td> 49 </td>
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/edit.html
@@ -69,8 +69,10 @@ @@ -69,8 +69,10 @@
69 dcvalue="{{ctrl.scheduleRuleManageForSave.carConfigInfo.id}}" 69 dcvalue="{{ctrl.scheduleRuleManageForSave.carConfigInfo.id}}"
70 dcname="carConfigInfo.id" 70 dcname="carConfigInfo.id"
71 icname="id" 71 icname="id"
72 - icnames="nbbm"  
73 - datatype="cci" 72 + icnames="cl.insideCode"
  73 + datatype="cci2"
  74 + dataassociate="true"
  75 + dataparam="{{ {'xl.id_eq': ctrl.scheduleRuleManageForSave.xl.id} | json }}"
74 mlp="true" 76 mlp="true"
75 required > 77 required >
76 </sa-Select3> 78 </sa-Select3>