Commit 5f9e046c by lanyulei

fix: fix bug.

parent 68caf24f
......@@ -51,7 +51,7 @@
"echarts": "^4.8.0",
"element-ui": "^2.13.2",
"file-saver": "2.0.1",
"form-making": "1.2.8",
"form-making": "^1.2.11",
"fuse.js": "3.4.4",
"js-cookie": "2.2.0",
"jsonlint": "1.6.3",
......@@ -73,7 +73,7 @@
"vue-codemirror-lite": "^1.0.4",
"vue-count-to": "1.0.13",
"vue-cropper": "^0.5.0",
"vue-i18n": "5.0.3",
"vue-i18n": "^8.27.2",
"vue-loader": "^15.9.3",
"vue-particles": "^1.0.9",
"vue-quill-editor": "^3.0.6",
......
......@@ -15,7 +15,7 @@
@start="handleMoveStart"
>
<template v-for="(item, index) in basicComponents">
<li v-if="basicFields.indexOf(item.type)>=0" :key="index" class="form-edit-widget-label" :class="{'no-put': item.type == 'divider'}">
<li v-if="basicFields.indexOf(item.type)>=0" :key="index" class="form-edit-widget-label" :class="{'no-put': item.type === 'divider'}">
<a>
<i class="icon iconfont" :class="item.icon" />
<span>{{ item.name }}</span>
......@@ -37,7 +37,7 @@
@start="handleMoveStart"
>
<template v-for="(item, index) in advanceComponents">
<li v-if="advanceFields.indexOf(item.type) >= 0" :key="index" class="form-edit-widget-label" :class="{'no-put': item.type == 'table'}">
<li v-if="advanceFields.indexOf(item.type) >= 0" :key="index" class="form-edit-widget-label" :class="{'no-put': item.type === 'table'}">
<a>
<i class="icon iconfont" :class="item.icon" />
<span>{{ item.name }}</span>
......@@ -82,7 +82,7 @@
<el-button v-if="generateJson" type="text" size="medium" icon="el-icon-tickets" @click="handleGenerateJson">{{ $t('fm.actions.json') }}</el-button>
<el-button v-if="generateCode" type="text" size="medium" icon="el-icon-document" @click="handleGenerateCode">{{ $t('fm.actions.code') }}</el-button>
</el-header>
<el-main :class="{'widget-empty': widgetForm.list.length == 0}">
<el-main :class="{'widget-empty': widgetForm.list.length === 0}">
<widget-form v-if="!resetJson" ref="widgetForm" :data="widgetForm" :select.sync="widgetFormSelect" />
</el-main>
......@@ -91,12 +91,12 @@
<el-aside class="widget-config-container" style="width: 305px;">
<el-container>
<el-header height="45px">
<div class="config-tab" :class="{active: configTab=='widget'}" @click="handleConfigSelect('widget')">{{ $t('fm.config.widget.title') }}</div>
<div class="config-tab" :class="{active: configTab=='form'}" @click="handleConfigSelect('form')">{{ $t('fm.config.form.title') }}</div>
<div class="config-tab" :class="{active: configTab==='widget'}" @click="handleConfigSelect('widget')">{{ $t('fm.config.widget.title') }}</div>
<div class="config-tab" :class="{active: configTab==='form'}" @click="handleConfigSelect('form')">{{ $t('fm.config.form.title') }}</div>
</el-header>
<el-main class="config-content">
<widget-config v-if="widgetFormSelect!==null" v-show="configTab=='widget'" :data="widgetFormSelect" />
<form-config v-show="configTab=='form'" :data="widgetForm.config" />
<widget-config v-if="widgetFormSelect!==null" v-show="configTab==='widget'" :data="widgetFormSelect" />
<form-config v-show="configTab==='form'" :data="widgetForm.config" />
</el-main>
</el-container>
......@@ -301,7 +301,7 @@ export default {
handler: function(val) {
}
},
'$lang': function(val) {
'$i18n.locale': function(val) {
this._loadComponents()
}
},
......
......@@ -22,9 +22,21 @@ const loadLang = function(Vue, lang, locale, i18n) {
i18n.locale = lang
} else {
Vue.use(VueI18n)
Vue.locale('en-US', { ...Vue.locale('en-US'), ...enUS })
Vue.locale('zh-CN', { ...Vue.locale('zh-CN'), ...zhCN })
Vue.config.lang = lang
const localI18n = new VueI18n({
locale: lang,
messages: {
'en-US': { ...enUS },
'zh-CN': { ...zhCN }
}
})
const init = Vue.prototype._init
Vue.prototype._init = function(options) {
init.call(this, {
i18n: localI18n,
...options
})
}
}
}
......@@ -56,6 +68,13 @@ const install = function(Vue, opts = {
locale: null,
i18n: null
}) {
opts = {
lang: 'zh-CN',
locale: null,
i18n: null,
...opts
}
loadLang(Vue, opts.lang, opts.locale, opts.i18n)
components.forEach(component => {
Vue.component(component.name, component)
......
......@@ -3,8 +3,6 @@
</template>
<script>
import Vue from 'vue'
export default {
watch: {
'$route.params.lang': function(val) {
......@@ -17,10 +15,12 @@ export default {
methods: {
loadLanguage() {
if (this.$route.params.lang === 'zh-CN') {
Vue.config.lang = 'zh-CN'
// Vue.config.lang = 'zh-CN'
this.$i18n.locale = 'zh-CN'
localStorage.setItem('language', 'zh-CN')
} else if (this.$route.params.lang === 'en-US') {
Vue.config.lang = 'en-US'
// Vue.config.lang = 'en-US'
this.$i18n.locale = 'en-US'
localStorage.setItem('language', 'en-US')
} else {
this.$router.replace({ name: this.$route.name, params: { lang: navigator.language === 'zh-CN' ? 'zh-CN' : 'en-US' }})
......
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import Cookies from 'js-cookie'
......@@ -39,7 +40,9 @@ Vue.use(VueEditor)
import iconPicker from 'e-icon-picker'
import 'e-icon-picker/dist/index.css'// 基础样式
import 'e-icon-picker/dist/main.css' // fontAwesome 图标库样式
import 'e-icon-picker/dist/main.css'
import enLocale from 'element-ui/lib/locale/lang/en'
import zhLocale from 'element-ui/lib/locale/lang/zh-CN' // fontAwesome 图标库样式
Vue.use(iconPicker)
// 全局方法挂载
......@@ -66,9 +69,48 @@ Vue.prototype.msgInfo = function(msg) {
Vue.use(permission)
Vue.use(Element, {
i18n: (key, value) => i18n.t(key, value),
size: Cookies.get('size') || 'medium' // set element-ui default size
})
const messages = {
'en-US': {
header: {
title: 'FormMaking',
document: 'Docs',
pricing: 'Pricing',
advanced: 'Advanced'
}
},
'zh-CN': {
header: {
title: '表单设计器',
document: '使用文档',
pricing: '商业授权',
advanced: '高级版本'
}
}
}
const i18n = new VueI18n({
messages: {
'en-US': {
...enLocale, ...messages['en-US']
},
'zh-CN': {
...zhLocale, ...messages['zh-CN']
}
}
})
// import 'form-making/dist/FormMaking.css'
// import FormMaking from 'form-making'
import FormMaking from './components/VueFormMaking/index'
// Vue.use(FormMaking)
Vue.use(FormMaking, {
i18n
})
// register global utility filters
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
......@@ -78,6 +120,7 @@ Vue.config.productionTip = false
new Vue({
el: '#app',
i18n,
router,
store,
render: h => h(App)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment