ems-basedata-wdz
Version:
ems-basedata by xianer
62 lines (61 loc) • 1.65 kB
JavaScript
import { GetValueSetByCode } from '../api/server.js';
export default {
data() {
return {
maxlength: 64,
longmaxlength: 512,
langList: [],
defaultLangList: [],
dataSet: {}
};
},
created() {
if (this.langKey) {
this.getLanguage().then(() => {
this.getLanguageThen && this.getLanguageThen();
});
}
},
methods: {
getLanguage() {
return new Promise(resolve => {
const valueSet = JSON.parse(sessionStorage.getItem('valueSet') || '{}');
const code = 'SYSTEM_LANGUAGE';
const key = `$${code}`;
if (valueSet[key]) {
this.setLanguage(valueSet[key]);
resolve();
} else {
GetValueSetByCode({ code }).then(data => {
valueSet[key] = data || [];
sessionStorage.setItem('valueSet', JSON.stringify(valueSet));
this.setLanguage(valueSet[key]);
resolve();
});
}
});
},
setLanguage(langList) {
const defaultLangList = [];
langList.forEach((item, index) => {
defaultLangList.push({ langCode: item.value });
langList[index] = {
langCode: item.value,
...this.langKey
};
});
this.langList = langList;
this.defaultLangList = defaultLangList;
},
handleLangConfig(data, code) {
if (data) {
this.langList.forEach(item => {
item[code] = data[item.langCode] || '';
});
}
},
loadFinish(data, code) {
this.dataSet[code] = data.valueMap;
}
}
};