blob: 151d508642b29ed38e1e091b404299d75aa67eea [file] [log] [blame]
(function () {
var scopeSonformId = "sonform_colorful_egg_1616843524737_3";
var apiSonformId = "sonform_colorful_egg_1616843524737_4";
//从localStorage中获取currentUser以获取工号
var username = JSON.parse(localStorage.currentUser).username; // console.log('username', username);
// var username = '20210324';
//获取表单数据
function getData(model){
var temp;
window.globalBus.$on('getData',function(data){
//子表数据返回list
if(data.model.indexOf("sonform") != -1){
temp = data.sonValues;
}else{
temp = data.options.value;
}
});
window.globalBus.$emit('findData',model);
return temp;
}
function contains(arr, obj) {
var i = arr.length;
while (i--) {
if (arr[i] === obj) {
return true;
}
}
return false;
}
function filterScopeSonformDataByServiceAccount(model, sonformData, serviceAccount) {
var dataList = [];
sonformData.forEach(function(item){
if(serviceAccount == item.ScopeServiceAccount){
dataList.push(item);
}
});
window.globalBus.$emit('resetSonFormData',{sonFormModel:model, sonFormData:dataList});
}
function filterApiSonformDataByServiceAccount(model, sonformData, serviceAccount) {
var dataList = [];
sonformData.forEach(function(item){
if(serviceAccount == item.ApiServiceAccount){
dataList.push(item);
}
});
window.globalBus.$emit('resetSonFormData',{sonFormModel:model, sonFormData:dataList});
}
var serviceAccount = username;
var scopeSonformData = JSON.stringify(getData(scopeSonformId)); // console.log('scopeSonformData', scopeSonformData);
filterScopeSonformDataByServiceAccount(scopeSonformId, JSON.parse(scopeSonformData), serviceAccount); // console.log('fieldSonformData', fieldSonformData);
var apiSonformData = JSON.stringify(getData(apiSonformId)); // console.log('apiSonformData', apiSonformData);
filterApiSonformDataByServiceAccount(apiSonformId, JSON.parse(apiSonformData), serviceAccount); // console.log('apiSonformData', apiSonformData);
window.btnBus.$emit('btn',{name:'同意',funcAwaitEmit:true});//禁用默认方法
window.btnBus.$emit('btn',{name:'不同意',funcAwaitEmit:true});//禁用默认方法
window.btnBus.$on('btnClicked',function(btn){
// Scope
var unselectScopeSonformData = [];
var currentScopeSonformData = getData(scopeSonformId);
currentScopeSonformData.forEach(function(item){
unselectScopeSonformData.push(item.ScopeKey);
});
// Api
var unselectApiSonformData = [];
var currentApiSonformData = getData(apiSonformId);
currentApiSonformData.forEach(function(item){
unselectApiSonformData.push(item.ApiKey);
});
// console.log(btn);
if(btn.c_name=="同意") {
// Scope
var originalScopeSonformData = JSON.parse(scopeSonformData);
originalScopeSonformData.forEach(function(item) {
if (contains(unselectScopeSonformData, item.ScopeKey)) {
item.Selection = true;
}
});
console.log('originalScopeSonformData', originalScopeSonformData);
window.globalBus.$emit('resetSonFormData',{sonFormModel:scopeSonformId, sonFormData:originalScopeSonformData});
// Api
var originalApiSonformData = JSON.parse(apiSonformData);
originalApiSonformData.forEach(function(item) {
if (contains(unselectApiSonformData, item.ApiKey)) {
item.Selection = true;
}
});
console.log('originalApiSonformData', originalApiSonformData);
window.globalBus.$emit('resetSonFormData',{sonFormModel:apiSonformId, sonFormData:originalApiSonformData});
window.setTimeout(function(){window.btnBus.$emit('btnFunc',btn);},200);//重启默认方法
} else if(btn.c_name=="不同意") {
// Scope
var originalScopeSonformData = JSON.parse(scopeSonformData);
originalScopeSonformData.forEach(function(item) {
if (contains(unselectScopeSonformData, item.ScopeKey)) {
item.Selection = false;
}
});
console.log('originalScopeSonformData', originalScopeSonformData);
window.globalBus.$emit('resetSonFormData',{sonFormModel:scopeSonformId, sonFormData:originalScopeSonformData});
// Api
var originalApiSonformData = JSON.parse(apiSonformData);
originalApiSonformData.forEach(function(item) {
if (contains(unselectApiSonformData, item.ApiKey)) {
item.Selection = false;
}
});
console.log('originalApiSonformData', originalApiSonformData);
window.globalBus.$emit('resetSonFormData',{sonFormModel:apiSonformId, sonFormData:originalApiSonformData});
window.setTimeout(function(){window.btnBus.$emit('btnFunc',btn);},200);//重启默认方法
}
});
})();