efview
Version:
A high quality Service UI components Library with Vue.js
254 lines (243 loc) • 6.1 kB
JavaScript
import ViewUI from 'view-design';
import iviewCoustom from './static/iview/coustom';
/** 自定义封装 */
import './styles/components/iconfont/index.js';
import Method from './method/index';
import store from './store/index';
import { Ebutton, Toolbar } from './components/toolbar';
import ComboBox from './components/combobox';
import {
ExpandRow,
EditGrid,
ViewGrid,
ViewGridBase,
BasicGrid,
OcmViewGrid,
OcmEditGrid,
BasicViewGrid,
EditGridCard,
} from './components/grid';
import TextBox from './components/textbox';
import RichTextBox from './components/richtextbox';
import { NumberBox, NumberRangeBox } from './components/numberbox';
import { DateBox, DateRangeBox } from './components/datebox';
import TimePicBox from './components/timebox';
import PopTextBox from './components/poptextbox';
import { ControlBox, ControlBase} from './components/base';
import {
ConditionBox,
QueryConditionBoxBase,
ConditionSelectorBox,
ConditionFilterBox,
} from './components/conditionbox';
import PictureBox from './components/picturebox';
import VideoBox from './components/videobox';
import { CheckBox, CheckGroupBox } from './components/checkbox';
import {
StandardBill,
OcmStandardBill,
LayoutBase,
ReportBase,
} from './components/layout';
import {
FormBox,
FormDetail,
OcmFormDetail,
WorkForm,
BaseForm,
FormCardBox,
FormCardGroupBox,
DetailsBox,
} from './components/form';
import { ShowText } from './components/label';
import { BillImport } from './components/upload';
import { TreeBox, TreeBoxBase } from './components/tree';
import { CommonIcon } from './components/icon';
import BillBox from './components/billbox';
import { library } from '@fortawesome/fontawesome-svg-core';
import { fas } from '@fortawesome/free-solid-svg-icons';
import { far } from '@fortawesome/free-regular-svg-icons';
import { fab } from '@fortawesome/free-brands-svg-icons';
import {
FontAwesomeIcon,
FontAwesomeLayers,
FontAwesomeLayersText,
} from '@fortawesome/vue-fontawesome';
import { RadioGroupBox } from './components/radiobox';
import ColorBox from './components/colorbox';
library.add(fas, far, fab);
import {
MyBar,
MyPie,
MyBarLine,
MyLine,
MyScatter,
MyGauge,
MyRadar,
MyLiquidFill
} from './components/mychart';
import {
BillConditionsBox,
BillExcelImport,
LeftListRightDetails,
LeftTreeRightDetails,
ListDetails,
OperLogGrid,
LayoutTemplate,
LayoutTemplateBase,
PromptMessage,
QuickQueryToolBar,
ButtonToolBar,
BillQueryGrid,
BillDetailForm,
BirtReportBox,
MallMethod,
ContractMethod,
ReportBill,
ContractSearch,
AppendixBox,
UiBase,
Approvalbox,
LevelReport,
BillSingleGrid,
LeftListRightList
} from './components/layouttemplate';
import PopTagBox from './components/poptagbox';
import CascaderBox from './components/cascaderbox';
import {
RowBtnToolbar,
PageCustom,
SimpleViewGrid,
DetailBtnToolbar,
BillTemplate,
SimpleTree
} from './components/masterplate';
const components = {
/*自定义组件*/
Ebutton,
Toolbar,
ComboBox,
ExpandRow,
EditGrid,
ViewGridBase,
ViewGrid,
OcmViewGrid,
OcmEditGrid,
BasicGrid,
BasicViewGrid,
EditGridCard,
TextBox,
RichTextBox,
NumberBox,
NumberRangeBox,
DateBox,
DateRangeBox,
TimePicBox,
PopTextBox,
ControlBox,
ControlBase,
ConditionBox,
QueryConditionBoxBase,
ConditionSelectorBox,
ConditionFilterBox,
FormBox,
FormDetail,
OcmFormDetail,
WorkForm,
FormCardBox,
FormCardGroupBox,
DetailsBox,
PictureBox,
VideoBox,
CheckBox,
CheckGroupBox,
BillBox,
StandardBill,
OcmStandardBill,
LayoutBase,
ShowText,
BillImport,
TreeBoxBase,
TreeBox,
CommonIcon,
FontAwesomeIcon,
FontAwesomeLayers,
FontAwesomeLayersText,
RadioGroupBox,
BaseForm,
MyBar,
MyBarLine,
MyPie,
MyLine,
MyScatter,
MyGauge,
MyRadar,
MyLiquidFill,
ReportBase,
BillConditionsBox,
BillExcelImport,
LeftListRightDetails,
LeftTreeRightDetails,
ListDetails,
LayoutTemplate,
LayoutTemplateBase,
OperLogGrid,
PromptMessage,
QuickQueryToolBar,
ButtonToolBar,
BillQueryGrid,
BillDetailForm,
BirtReportBox,
MallMethod,
ContractMethod,
ReportBill,
PopTagBox,
ContractSearch,
AppendixBox,
UiBase,
Approvalbox,
CascaderBox,
LevelReport,
BillSingleGrid,
LeftListRightList,
ColorBox,
RowBtnToolbar,
PageCustom,
DetailBtnToolbar,
BillTemplate,
SimpleViewGrid,
SimpleTree
};
const iview = {
...components
};
const install = function(Vue, opts = {}) {
if (install.installed) return;
iviewCoustom.initEview(ViewUI);
Vue.use(ViewUI);
Object.keys(iview).forEach(key => {
Vue.component(key, iview[key]);
});
/**自定义方法**/
Vue.prototype.$Method = Method.commonMethod;
Vue.prototype.$Store = store;
Vue.prototype.query = Method.query;
for (let v in Method.caseMethod) {
Vue.prototype[v] = Method.caseMethod[v];
}
};
// auto install
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue);
}
const API = {
version: process.env.VERSION, // eslint-disable-line no-undef
install,
...components
};
/*API.lang = (code) => {
const langObject = window['iview/locale'].default;
if (code === langObject.i.locale) locale.use(langObject);
else console.log(`The ${code} language pack is not loaded.`); // eslint-disable-line no-console
};*/
module.exports.default = module.exports = API; // eslint-disable-line no-undef