Commit d4ff565ed95c7a48fbf4a804022e14124a11f898
1 parent
3e28457d
update
Showing
8 changed files
with
110 additions
and
22 deletions
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('ScheduleApp').directive("saSelect3", [ | @@ -753,6 +769,25 @@ angular.module('ScheduleApp').directive("saSelect3", [ | ||
| 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('ScheduleApp').directive("saSelect3", [ | @@ -768,22 +803,24 @@ angular.module('ScheduleApp').directive("saSelect3", [ | ||
| 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('ScheduleApp').directive("saSelect3", [ | @@ -825,18 +862,47 @@ angular.module('ScheduleApp').directive("saSelect3", [ | ||
| 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('ScheduleApp').factory('EmployeeConfigService', ['EmployeeConfigS | @@ -21,7 +21,7 @@ angular.module('ScheduleApp').factory('EmployeeConfigService', ['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> |