blob: 151d508642b29ed38e1e091b404299d75aa67eea [file] [log] [blame]
刘洪青e984f3c2021-11-06 09:27:00 +08001
2
3(function () {
4
5 var scopeSonformId = "sonform_colorful_egg_1616843524737_3";
6 var apiSonformId = "sonform_colorful_egg_1616843524737_4";
7
8 //从localStorage中获取currentUser以获取工号
9 var username = JSON.parse(localStorage.currentUser).username; // console.log('username', username);
10 // var username = '20210324';
11
12 //获取表单数据
13 function getData(model){
14 var temp;
15 window.globalBus.$on('getData',function(data){
16 //子表数据返回list
17 if(data.model.indexOf("sonform") != -1){
18 temp = data.sonValues;
19 }else{
20 temp = data.options.value;
21 }
22 });
23 window.globalBus.$emit('findData',model);
24 return temp;
25 }
26
27 function contains(arr, obj) {
28 var i = arr.length;
29 while (i--) {
30 if (arr[i] === obj) {
31 return true;
32 }
33 }
34 return false;
35 }
36
37 function filterScopeSonformDataByServiceAccount(model, sonformData, serviceAccount) {
38
39 var dataList = [];
40 sonformData.forEach(function(item){
41 if(serviceAccount == item.ScopeServiceAccount){
42 dataList.push(item);
43 }
44 });
45
46 window.globalBus.$emit('resetSonFormData',{sonFormModel:model, sonFormData:dataList});
47 }
48
49 function filterApiSonformDataByServiceAccount(model, sonformData, serviceAccount) {
50
51 var dataList = [];
52 sonformData.forEach(function(item){
53 if(serviceAccount == item.ApiServiceAccount){
54 dataList.push(item);
55 }
56 });
57
58 window.globalBus.$emit('resetSonFormData',{sonFormModel:model, sonFormData:dataList});
59 }
60
61 var serviceAccount = username;
62
63 var scopeSonformData = JSON.stringify(getData(scopeSonformId)); // console.log('scopeSonformData', scopeSonformData);
64 filterScopeSonformDataByServiceAccount(scopeSonformId, JSON.parse(scopeSonformData), serviceAccount); // console.log('fieldSonformData', fieldSonformData);
65
66 var apiSonformData = JSON.stringify(getData(apiSonformId)); // console.log('apiSonformData', apiSonformData);
67 filterApiSonformDataByServiceAccount(apiSonformId, JSON.parse(apiSonformData), serviceAccount); // console.log('apiSonformData', apiSonformData);
68
69
70 window.btnBus.$emit('btn',{name:'同意',funcAwaitEmit:true});//禁用默认方法
71 window.btnBus.$emit('btn',{name:'不同意',funcAwaitEmit:true});//禁用默认方法
72 window.btnBus.$on('btnClicked',function(btn){
73
74 // Scope
75 var unselectScopeSonformData = [];
76 var currentScopeSonformData = getData(scopeSonformId);
77 currentScopeSonformData.forEach(function(item){
78 unselectScopeSonformData.push(item.ScopeKey);
79 });
80
81 // Api
82 var unselectApiSonformData = [];
83 var currentApiSonformData = getData(apiSonformId);
84 currentApiSonformData.forEach(function(item){
85 unselectApiSonformData.push(item.ApiKey);
86 });
87
88 // console.log(btn);
89
90 if(btn.c_name=="同意") {
91
92 // Scope
93 var originalScopeSonformData = JSON.parse(scopeSonformData);
94 originalScopeSonformData.forEach(function(item) {
95 if (contains(unselectScopeSonformData, item.ScopeKey)) {
96 item.Selection = true;
97 }
98 });
99 console.log('originalScopeSonformData', originalScopeSonformData);
100 window.globalBus.$emit('resetSonFormData',{sonFormModel:scopeSonformId, sonFormData:originalScopeSonformData});
101
102 // Api
103 var originalApiSonformData = JSON.parse(apiSonformData);
104 originalApiSonformData.forEach(function(item) {
105 if (contains(unselectApiSonformData, item.ApiKey)) {
106 item.Selection = true;
107 }
108 });
109 console.log('originalApiSonformData', originalApiSonformData);
110 window.globalBus.$emit('resetSonFormData',{sonFormModel:apiSonformId, sonFormData:originalApiSonformData});
111
112 window.setTimeout(function(){window.btnBus.$emit('btnFunc',btn);},200);//重启默认方法
113 } else if(btn.c_name=="不同意") {
114
115 // Scope
116 var originalScopeSonformData = JSON.parse(scopeSonformData);
117 originalScopeSonformData.forEach(function(item) {
118 if (contains(unselectScopeSonformData, item.ScopeKey)) {
119 item.Selection = false;
120 }
121 });
122 console.log('originalScopeSonformData', originalScopeSonformData);
123 window.globalBus.$emit('resetSonFormData',{sonFormModel:scopeSonformId, sonFormData:originalScopeSonformData});
124
125 // Api
126 var originalApiSonformData = JSON.parse(apiSonformData);
127 originalApiSonformData.forEach(function(item) {
128 if (contains(unselectApiSonformData, item.ApiKey)) {
129 item.Selection = false;
130 }
131 });
132 console.log('originalApiSonformData', originalApiSonformData);
133 window.globalBus.$emit('resetSonFormData',{sonFormModel:apiSonformId, sonFormData:originalApiSonformData});
134
135 window.setTimeout(function(){window.btnBus.$emit('btnFunc',btn);},200);//重启默认方法
136 }
137
138 });
139
140})();