Ver Fonte

fix some bug

x1ongzhu há 7 anos atrás
pai
commit
9c12b23e67

+ 1 - 0
src/main/resources/templates/FormTemplate.vm

@@ -159,6 +159,7 @@
     import zh from 'date-fns/locale/zh_cn'
 
     export default {
+        name: '${model.className}',
         created() {
 
             if (this.${esc.d}route.query.column) {

+ 1 - 0
src/main/resources/templates/ListTemplate.vm

@@ -220,6 +220,7 @@
     import zh from 'date-fns/locale/zh_cn'
 
     export default {
+        name: '${model.className}s',
         created() {
             this.getData();
         },

+ 2 - 1
src/main/vue/build/webpack.base.conf.js

@@ -4,6 +4,7 @@ const utils = require('./utils')
 const config = require('../config')
 const vueLoaderConfig = require('./vue-loader.conf')
 const fs = require('fs')
+require('babel-polyfill')
 
 function resolve(dir) {
     return path.join(__dirname, '..', dir)
@@ -14,7 +15,7 @@ let entry = {}
 fs.readdirSync(path.resolve(__dirname, '../src/entries')).forEach(function (file) {
     if (file.endsWith('.html')) {
         var moduleName = file.replace(/\.html$/, '')
-        entry[moduleName] = `./src/entries/${moduleName}.js`
+        entry[moduleName] = ['babel-polyfill', `./src/entries/${moduleName}.js`]
     }
 })
 

+ 23 - 2
src/main/vue/src/components/CropUpload.vue

@@ -6,6 +6,7 @@
             <div v-if="loading" class="loading"><i class="el-icon-loading"></i></div>
         </div>
         <avatar-cropper
+            ref="cropper"
             @submit="loading=true"
             @uploaded="handleUploaded"
             trigger="#upload-wrapper"
@@ -19,22 +20,42 @@
     import AvatarCropper from "vue-avatar-cropper"
 
     export default {
-        props: ['value'],
+        props: {
+            value: {},
+            width: {
+                type: Number,
+                default: 350
+            },
+            height: {
+                type: Number,
+                default: 350
+            },
+        },
         created() {
             if (this.value) {
                 this.src = this.value
             }
         },
+        mounted() {
+            document.body.appendChild(this.$refs.cropper.$el);
+        },
+        beforeDestroy() {
+            document.body.removeChild(this.$refs.cropper.$el);
+        },
         data() {
             return {
                 src: '',
                 cropperOptions: {
                     aspectRatio: 1
                 },
-                outputOptions: {width: 3500, height: 3500},
                 loading: false
             }
         },
+        computed: {
+            outputOptions() {
+                return {width: this.width, height: this.height}
+            }
+        },
         watch: {
             value() {
                 if (this.value) {

+ 4 - 1
src/main/vue/src/components/SingleUpload.vue

@@ -19,6 +19,7 @@
 <script>
     import {imageUrlPrefix} from '../config'
 
+    const baseUrl = process.env.NODE_ENV === 'production' ? '../' : 'http://localhost:8080';
     export default {
         created() {
             this.updateImageUrl(this.value);
@@ -35,7 +36,7 @@
             },
             url: {
                 type: String,
-                default: this.$baseUrl + '/assets/uploadFile'
+                default: baseUrl + '/assets/uploadFile'
             }
         },
         data() {
@@ -92,6 +93,7 @@
         position: relative;
         overflow: hidden;
         background-color: #fbfdff;
+
         &:hover {
             border-color: #409EFF;
         }
@@ -106,6 +108,7 @@
         cursor: pointer;
         position: relative;
         overflow: hidden;
+
         &:hover {
             border-color: #409EFF;
         }

+ 0 - 1
src/main/vue/src/entries/admin.html

@@ -6,7 +6,6 @@
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <title>管理后台</title>
     <link rel="icon" href="/static/favicon.ico"/>
-    <script src="/static/polyfill.min.js"></script>
     <script src="/static/fontawesome-v5.2.0.js"></script>
 </head>
 

+ 4 - 3
src/main/vue/src/entries/admin.js

@@ -8,12 +8,13 @@ import SingleUpload from '../components/SingleUpload'
 import FileUpload from '../components/FileUpload'
 import RichText from '../components/RichText'
 import CropUpload from  '../components/CropUpload'
+import {format} from 'date-fns'
+import zh from 'date-fns/locale/zh_cn'
 
 import 'normalize.css/normalize.css'
 import 'element-ui/lib/theme-chalk/index.css'
-import '../main.less'
-import {format} from 'date-fns'
-import zh from 'date-fns/locale/zh_cn'
+import '../styles/main.less'
+
 
 // import VueI18n from 'vue-i18n'
 // import VueAMap from 'vue-amap'

+ 2 - 0
src/main/vue/src/pages/Login.vue

@@ -71,6 +71,7 @@
         background-size: cover;
         background-position: center;
         background-repeat: no-repeat;
+        position: relative;
     }
 
     .login-wrapper {
@@ -85,6 +86,7 @@
         right: 100px;
         top: 100px;
         width: 400px;
+
         .title {
             color: #20a0ff;
             font-weight: bold;

+ 13 - 3
src/main/vue/src/main.less → src/main/vue/src/styles/main.less

@@ -2,18 +2,26 @@
 
 }
 
-html, body {
+html {
     width: 100%;
     height: 100%;
+    min-width: 1200px;
     font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
     margin: 0;
     padding: 0;
+    background: white;
 }
 
-html {
-    background: white;
+body {
+    width: 100%;
+    height: 100%;
+    font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    margin: 0;
+    padding: 0;
 }
 
 a {
@@ -55,6 +63,7 @@ ul, li {
     i {
         color: #BFCBD9;
     }
+
     .svg-inline--fa {
         margin-right: 6px;
     }
@@ -72,6 +81,7 @@ ul, li {
         margin-right: 10px;
         margin-left: 0;
     }
+
     .filter-item.el-input {
         width: 200px;
     }