102 lines
2.7 KiB
JavaScript
102 lines
2.7 KiB
JavaScript
import Vue from 'vue';
|
||
import QueryListPage from '@/components/QueryListPage/QueryListPage';
|
||
import DataForm from '@/components/QueryListPage/DataForm';
|
||
import TurnbackBar from '@/components/TurnbackBar';
|
||
import ConstConfig from '@/scripts/ConstConfig';
|
||
import Dictionary from '@/scripts/DictionaryData';
|
||
import Theme from '@/jmap/theme/factory';
|
||
|
||
// 全局组件
|
||
Vue.component('DataForm', DataForm);
|
||
Vue.component('QueryListPage', QueryListPage);
|
||
Vue.component('TurnbackBar', TurnbackBar);
|
||
|
||
Vue.prototype.$ConstSelect = (function() {
|
||
ConstConfig.ConstSelect.translate = function(value, codeName) {
|
||
if (codeName) {
|
||
const obj = this[codeName].filter(function(item) {
|
||
return item.value === value;
|
||
})[0];
|
||
return obj && obj.label;
|
||
}
|
||
};
|
||
return ConstConfig.ConstSelect;
|
||
})();
|
||
|
||
Vue.prototype.$Dictionary = Dictionary;
|
||
|
||
Vue.prototype.__windowResizeFlag = false;
|
||
Vue.prototype.$addWindowResizeListener = function(cb) {
|
||
window.addEventListener('resize', function() {
|
||
if (!Vue.__windowResizeFlag) {
|
||
Vue.__windowResizeFlag = true;
|
||
setTimeout(function() {
|
||
Vue.__windowResizeFlag = false;
|
||
cb();
|
||
}, 100);
|
||
}
|
||
});
|
||
};
|
||
|
||
Vue.prototype.$theme = new Theme();
|
||
Vue.prototype.$messageBox = function(msge) {
|
||
if (this.$confirm) {
|
||
this.$confirm(`${msge || this.$t('global.processFailure')}!`, this.$t('global.tips'), {
|
||
confirmButtonText: this.$t('global.confirm'),
|
||
type: 'warning',
|
||
showCancelButton: false,
|
||
center: true
|
||
}).then(() => {
|
||
}).catch(() => {
|
||
});
|
||
}
|
||
};
|
||
|
||
Vue.prototype.$convertField = function(fieldValue, enumList, converFormat, isList = false) {
|
||
const arr = [];
|
||
if (enumList && converFormat && converFormat.length >= 2) {
|
||
const value = converFormat[0];
|
||
const label = converFormat[1];
|
||
if (isList) {
|
||
enumList.forEach((element, i) => {
|
||
fieldValue.forEach((v, j) => {
|
||
if ('' + fieldValue[j] === '' + enumList[i][value]) {
|
||
arr.push(enumList[i][label]);
|
||
}
|
||
});
|
||
});
|
||
} else {
|
||
for (let i = 0; i < enumList.length; i++) {
|
||
if ('' + fieldValue === '' + enumList[i][value]) {
|
||
return enumList[i][label];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return isList ? arr: '';
|
||
};
|
||
|
||
Vue.prototype.$convertSpecifiedField = function(dataDict, enumList, key, value, fieldList) {
|
||
if (dataDict && enumList && fieldList && enumList.length && fieldList.length) {
|
||
fieldList.forEach(field => {
|
||
enumList.forEach(elem => {
|
||
if (elem[key] === dataDict[field]) {
|
||
dataDict[field] = elem[value];
|
||
}
|
||
});
|
||
});
|
||
}
|
||
},
|
||
|
||
Vue.prototype.$convertList = function(FromList, ToList, checktypeFunction) {
|
||
if (FromList) {
|
||
ToList.length = 0;
|
||
FromList.forEach(elem => {
|
||
if (checktypeFunction(elem)) {
|
||
ToList.push({ value: elem.code, label: elem.name });
|
||
}
|
||
});
|
||
}
|
||
};
|