Browse Source

merge dev

zhuth 7 years ago
parent
commit
f70d2918fc
24 changed files with 336 additions and 99 deletions
  1. 2 0
      framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java
  2. 57 0
      frontend/saas-portal-web/build/utils.js
  3. 8 3
      frontend/saas-portal-web/build/webpack.base.conf.js
  4. 11 6
      frontend/saas-portal-web/build/webpack.dev.conf.js
  5. 22 17
      frontend/saas-portal-web/build/webpack.prod.conf.js
  6. 5 3
      frontend/saas-portal-web/config/dev.env.js
  7. 1 1
      frontend/saas-portal-web/config/index.js
  8. 1 0
      frontend/saas-portal-web/package.json
  9. 25 13
      frontend/saas-portal-web/src/components/conenter/addgongsi.vue
  10. 22 15
      frontend/saas-portal-web/src/components/conenter/company.vue
  11. 5 1
      frontend/saas-portal-web/src/components/conenter/enterprise.vue
  12. 3 3
      frontend/saas-portal-web/src/components/conenter/home.vue
  13. 34 29
      frontend/saas-portal-web/src/components/conenter/qiyexiangxi.vue
  14. 6 6
      frontend/saas-portal-web/src/components/footer/footer.vue
  15. 25 0
      frontend/saas-portal-web/src/pages/cell/cell.html
  16. 0 0
      frontend/saas-portal-web/src/pages/cell/cell.js
  17. 15 0
      frontend/saas-portal-web/src/pages/cell/cell.vue
  18. 51 0
      frontend/saas-portal-web/src/pages/index/index.html
  19. 20 0
      frontend/saas-portal-web/src/pages/index/index.js
  20. 20 0
      frontend/saas-portal-web/src/pages/index/index.vue
  21. 2 2
      frontend/saas-portal-web/static/css/main.css
  22. BIN
      frontend/saas-portal-web/static/img/banner@3x@2x.png
  23. BIN
      frontend/saas-portal-web/static/img/logo.png
  24. 1 0
      frontend/saas-portal-web/static/js/mains.js

+ 2 - 0
framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java

@@ -30,6 +30,7 @@ public enum ExceptionCode implements BaseExceptionCode {
 
     // 账户管理相关
     COMPANY_NAME_EXIST(52000, "公司名称已注册"),
+    COMPANY_NAME_HASREGISTER(52000, "企业已开通saas,请联系管理员 %s 将您添加至企业"),
     COMPANY_CODE_EXIST(52001, "公司商业登记证号已注册"),
     COMPANY_DOMAIN_EXIST(52002, "域名已存在"),
     COMPANY_NOT_EXIST(52003, "公司不存在"),
@@ -43,6 +44,7 @@ public enum ExceptionCode implements BaseExceptionCode {
     USER_NOT_ENABLE(53006, "用户禁止使用"),
     ROLE_NOT_EXIST(53020, "角色不存在"),
     MISSING_PERMISSIONS(53030, "权限缺失"),
+    USER_COMPANY_EXIST(53007, "企业已存在账户"),
 
     // 文件相关
     FOLDER_NOT_EXISTS(55000, "文件夹不存在"),

+ 57 - 0
frontend/saas-portal-web/build/utils.js

@@ -83,6 +83,63 @@ exports.styleLoaders = function (options) {
   return output
 }
 
+/* 这里是添加的部分 ---------------------------- 开始 */
+// glob是webpack安装时依赖的一个第三方模块,还模块允许你使用 *等符号, 例如lib/*.js就是获取lib文件夹下的所有js后缀名的文件
+var glob = require('glob')
+// 页面模板
+var HtmlWebpackPlugin = require('html-webpack-plugin')
+// 取得相应的页面路径,因为之前的配置,所以是src文件夹下的pages文件夹
+var PAGE_PATH = path.resolve(__dirname, '../src/pages')
+// 用于做相应的merge处理
+var merge = require('webpack-merge')
+
+
+//多入口配置
+// 通过glob模块读取pages文件夹下的所有对应文件夹下的js后缀文件,如果该文件存在
+// 那么就作为入口处理
+exports.entries = function () {
+    var entryFiles = glob.sync(PAGE_PATH + '/*/*.js')
+    var map = {}
+    entryFiles.forEach((filePath) => {
+        var filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.'))
+        map[filename] = filePath
+    })
+    return map
+}
+
+//多页面输出配置
+// 与上面的多页面入口配置相同,读取pages文件夹下的对应的html后缀文件,然后放入数组中
+exports.htmlPlugin = function () {
+    let entryHtml = glob.sync(PAGE_PATH + '/*/*.html')
+    let arr = []
+    entryHtml.forEach((filePath) => {
+        let filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.'))
+        let conf = {
+            // 模板来源
+            template: filePath,
+            // 文件名称
+            filename: filename + '.html',
+            // 页面模板需要加对应的js脚本,如果不加这行则每个页面都会引入所有的js脚本
+            chunks: ['manifest', 'vendor', filename],
+            inject: true
+        }
+        if (process.env.NODE_ENV === 'production') {
+            conf = merge(conf, {
+                minify: {
+                    removeComments: true,
+                    collapseWhitespace: true,
+                    removeAttributeQuotes: true
+                },
+                chunksSortMode: 'dependency'
+            })
+        }
+        arr.push(new HtmlWebpackPlugin(conf))
+    })
+    return arr
+}
+/* 这里是添加的部分 ---------------------------- 结束 */
+
+
 exports.createNotifierCallback = () => {
   const notifier = require('node-notifier')
 

+ 8 - 3
frontend/saas-portal-web/build/webpack.base.conf.js

@@ -12,9 +12,14 @@ function resolve (dir) {
 
 module.exports = {
   context: path.resolve(__dirname, '../'),
-  entry: {
-    app: './src/main.js'
-  },
+
+ /* 修改部分 ---------------- 开始 */
+ entry: utils.entries(),
+ /* 修改部分 ---------------- 结束 */
+
+  // entry: {
+  //   app: './src/main.js'
+  // },
   output: {
     path: config.build.assetsRoot,
     filename: '[name].js',

+ 11 - 6
frontend/saas-portal-web/build/webpack.dev.conf.js

@@ -52,11 +52,15 @@ const devWebpackConfig = merge(baseWebpackConfig, {
     new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
     new webpack.NoEmitOnErrorsPlugin(),
     // https://github.com/ampedandwired/html-webpack-plugin
-    new HtmlWebpackPlugin({
-      filename: 'index.html',
-      template: 'index.html',
-      inject: true
-    }),
+
+    /* 注释这个区域的文件 ------------- 开始 */
+    // new HtmlWebpackPlugin({
+    //   filename: 'index.html',
+    //   template: 'index.html',
+    //   inject: true
+    // }),
+     /* 注释这个区域的文件 ------------- 结束 */
+
     // copy custom static assets
     new CopyWebpackPlugin([
       {
@@ -65,7 +69,8 @@ const devWebpackConfig = merge(baseWebpackConfig, {
         ignore: ['.*']
       }
     ])
-  ]
+     /* 添加 .concat(utils.htmlPlugin()) ------------------ */
+  ].concat(utils.htmlPlugin())
 })
 
 module.exports = new Promise((resolve, reject) => {

+ 22 - 17
frontend/saas-portal-web/build/webpack.prod.conf.js

@@ -62,22 +62,26 @@ const webpackConfig = merge(baseWebpackConfig, {
     // generate dist index.html with correct asset hash for caching.
     // you can customize output by editing /index.html
     // see https://github.com/ampedandwired/html-webpack-plugin
-    new HtmlWebpackPlugin({
-      filename: process.env.NODE_ENV === 'testing'
-        ? 'index.html'
-        : config.build.index,
-      template: 'index.html',
-      inject: true,
-      minify: {
-        removeComments: true,
-        collapseWhitespace: true,
-        removeAttributeQuotes: true
-        // more options:
-        // https://github.com/kangax/html-minifier#options-quick-reference
-      },
-      // necessary to consistently work with multiple chunks via CommonsChunkPlugin
-      chunksSortMode: 'dependency'
-    }),
+
+    /* 注释这个区域的内容 ---------------------- 开始 */
+    // new HtmlWebpackPlugin({
+    //   filename: process.env.NODE_ENV === 'testing'
+    //     ? 'index.html'
+    //     : config.build.index,
+    //   template: 'index.html',
+    //   inject: true,
+    //   minify: {
+    //     removeComments: true,
+    //     collapseWhitespace: true,
+    //     removeAttributeQuotes: true
+    //     // more options:
+    //     // https://github.com/kangax/html-minifier#options-quick-reference
+    //   },
+    //   // necessary to consistently work with multiple chunks via CommonsChunkPlugin
+    //   chunksSortMode: 'dependency'
+    // }),
+     /* 注释这个区域的内容 ---------------------- 结束 */
+
     // keep module.id stable when vendor modules does not change
     new webpack.HashedModuleIdsPlugin(),
     // enable scope hoisting
@@ -120,7 +124,8 @@ const webpackConfig = merge(baseWebpackConfig, {
         ignore: ['.*']
       }
     ])
-  ]
+     /* 该位置添加 .concat(utils.htmlPlugin()) ------------------- */
+  ].concat(utils.htmlPlugin())
 })
 
 if (config.build.productionGzip) {

+ 5 - 3
frontend/saas-portal-web/config/dev.env.js

@@ -8,9 +8,11 @@ module.exports = merge(prodEnv, {
     // 前端地址
     web: '"http://192.168.0.181"',
     // 后端接口网关
-    // api: '"http://192.168.253.31:8560"',
-    api: '"http://192.168.0.181:8560"',
+    // api: '"http://192.168.0.181:8560"',
+    //api:'"http://192.168.253.58:8560"',
+    api: '"https://saas-api.usoftchina.com"',
     // 账户中心接口
-    sso: '"http://192.168.253.12:32323"'
+    // sso: '"http://192.168.253.12:32323"'
+    sso: '"https://sso.ubtob.com"'
   }
 })

+ 1 - 1
frontend/saas-portal-web/config/index.js

@@ -44,7 +44,7 @@ module.exports = {
     // Paths
     assetsRoot: path.resolve(__dirname, '../dist'),
     assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
+    assetsPublicPath: './',
 
     /**
      * Source Maps

+ 1 - 0
frontend/saas-portal-web/package.json

@@ -42,6 +42,7 @@
     "extract-text-webpack-plugin": "^3.0.0",
     "file-loader": "^1.1.4",
     "friendly-errors-webpack-plugin": "^1.6.1",
+    "glob": "^7.1.3",
     "html-webpack-plugin": "^2.30.1",
     "jest": "^22.0.4",
     "jest-serializer-vue": "^0.3.0",

+ 25 - 13
frontend/saas-portal-web/src/components/conenter/addgongsi.vue

@@ -14,12 +14,13 @@
                     <ul>
                         <li style="margin: 0">
                             <span class="qy-biaoti"><span class="xingxing">*</span>公司名称</span>
-                            <input ref="qyname" @change= "spaceName" type="text">
+                            <input class="inpind" ref="qyname" @change= "spaceName" type="text">
                             <dir class="qy-Tips"><span ref="qyno" style="color:red"></span></dir>
                         </li>
                         <li>
                             <span class="qy-biaoti">所属行业</span>
-                            <select ref="qyindustry" style="width:59%;height: 30px" name="selectAge" id="selectAge">   
+                            <select ref="qyindustry" style="width:59%;height: 30px;padding-left:5px" name="selectAge" id="selectAge">   
+                                <option value="">请选择所属行业</option>
                                 <option value="贸易零售">贸易零售</option>
                                 <option value="制造加工">制造加工</option>
                                 <option value="服务业">服务业</option>
@@ -40,7 +41,7 @@
                             </select>
                         </li>
                         <li style="height:70px;">
-                            <span class="qy-biaoti left">公司地址</span>
+                            <span class="qy-biaoti left"><span class="xingxing">*</span>公司地址</span>
                             <div class="addbiaoqian">
                                 <!-- <v-distpicker @province= 'qyprovince' @city= 'qycity' @area= 'qyarea'></v-distpicker> -->
                                 <v-distpicker @selected= 'selected'></v-distpicker>
@@ -62,13 +63,13 @@
                     <ul>
                         <li style="margin:0">
                             <span class="qy-biaoti"><span class="xingxing">*</span>姓名</span>
-                            <input @change= "yzusername" ref="name" type="text">
+                            <input class="inpind" @change= "yzusername" ref="name" type="text">
                             <div class="qy-Tips Tips-buttom"><span ref="usname" style="color:red"></span></div>
                         </li>
                         <li><span class="qy-biaoti">手机号</span><span>{{mytoken.account.mobile}}</span></li>
                         <li style='margin:0'>
                             <span class="qy-biaoti">邮箱</span>
-                            <input @change="email" ref="email" type="email">
+                            <input class="inpind" @change="email" ref="email" type="email">
                             <div class="qy-Tips Tips-buttom"><span style="color:red">{{Email}}</span></div>
                         </li>
                     </ul>
@@ -93,7 +94,7 @@ import VDistpicker from 'v-distpicker'
                 isaddress: false,//公司地址验证
                 isname: false,//姓名验证
                 isspaceName: false,//公司名验证
-                isemail: false,//邮箱
+                isemail: true,//验证邮箱
                 disabled: true
             }
         },
@@ -133,7 +134,7 @@ import VDistpicker from 'v-distpicker'
                             if (res.data.data.success) {
                                 this.qymingzi = true;
                             } else {
-                                this.$refs.qyno.innerHTML = '企业已注册';
+                                this.$refs.qyno.innerHTML = '企业已在优软云注册';
                                 this.qymingzi = false
                             }
                         })
@@ -176,12 +177,17 @@ import VDistpicker from 'v-distpicker'
             email(){
                 let reg = new RegExp("^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$"); 
                 let email = this.$refs.email.value;//邮箱
-                if (!reg.test(email)) {
-                    this.Email = '请填写正确的邮箱'
-                    this.isemail = false
-                } else {
+                if (email == '') {
+                    this.isemail = true;
                     this.Email = ''
-                    this.isemail = true
+                } else {
+                    if (!reg.test(email)) {
+                        this.Email = '请填写正确的邮箱';
+                        this.isemail = false
+                    } else {
+                        this.Email = '';
+                        this.isemail = true;
+                    }
                 }
             },
             //保存
@@ -219,7 +225,7 @@ import VDistpicker from 'v-distpicker'
                         // console.log("请求失败",err)
                     })
                 } else {
-                    this.$refs.tjtishi.innerHTML = '企业名称姓名不能为空或包含有非法字符'
+                    this.$refs.tjtishi.innerHTML = '企业名称,地址,姓名不能为空或包含有非法字符'
                     setTimeout(() => {
                         this.$refs.tjtishi.innerHTML = ''
                     }, 3000);
@@ -268,6 +274,9 @@ import VDistpicker from 'v-distpicker'
 .addbiaoqian>>>.distpicker-address-wrapper select {
     height: 30px;
 }
+.addbiaoqian>>>.distpicker-address-wrapper {
+    width: 110%
+}
 .qy-Tips {
     margin: 0;
     text-align: left;
@@ -277,4 +286,7 @@ import VDistpicker from 'v-distpicker'
 .Tips-buttom {
     margin-left: 22%;
 }
+.inpind {
+    padding-left: 10px;
+}
 </style>

+ 22 - 15
frontend/saas-portal-web/src/components/conenter/company.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <!-- 遮罩 -->
-    <div class="zhezhao" v-if="issetDefault || isOpensaas || isNoopen"></div>
+    <div class="zhezhao" v-if="issetDefault || isOpensaas || isNoopen || isokopensaas"></div>
     <!-- 设置默认弹窗 -->
     <div class="tanchuang szmoren" v-if="issetDefault">
       <div class="over"><img @click="guanbitc" class="right xs" src="/static/img/qiye/chahao.png" alt=""></div>
@@ -33,12 +33,12 @@
       </div>
     </div>
     <!-- 该企业已开通服务弹窗 -->
-    <div class="tanchuang qy-yikaitong" style="display: none">
+    <div class="tanchuang qy-yikaitong" v-if="isokopensaas">
       <div class="over"><img @click="guanbitc" class="right xs" src="/static/img/qiye/chahao.png" alt=""></div>
       <div>
         <div class="tc-okkaitong"><span>该企业已开通服务,联系管理员邀请加入</span></div>
         <div class="tc-context">
-          <!-- <p><span>管理员:</span><span>{{arr[0].admin}}</span></p> -->
+          <p><span>管理员:</span><span>{{arr[0].admin}}</span></p>
           <p><span>管理员手机号:</span><span>{{mytoken.account.mobile}}</span></p>
           <p><span>管理员邮箱:</span><span></span></p>
         </div>
@@ -73,7 +73,7 @@
                     </div>
                     <div>
                         <span v-if = "d.default_" class="gs-btn2 gs-btn3">默认企业</span>
-                        <span v-else @click="showDefaultWin(i)" class="gs-btn2 xs">设为默认</span>
+                        <span v-if="d.saas_" @click="showDefaultWin(i)" class="gs-btn2 xs">设为默认</span>
                     </div>
                 </div>
             </div>
@@ -94,12 +94,12 @@
                 issetDefault: false,//设置默认
                 isOpensaas: false,//开通saas弹窗
                 isNoopen: false,//开通10个不能继续开通
+                isokopensaas: false,//已开通服务
                 index:0,
                 saasid:null,
                 saasindex:0,
                 ktsass: true,//开通saas
                 isDefault: true,//开通默认
-                comdata: this.$store.state.data,//登录成功后的本地数据
                 isAutoLogin: this.$store.state.isAutoLogin,
                 mytoken: JSON.parse(localStorage.getItem('app-state-session')),//本地储存的用户信息
                 arr: []//企业列表信息
@@ -107,7 +107,8 @@
         },
         computed :{
             setTokenPage() {
-                return this.$url.web + '/set-token.html'
+                return 'http://192.168.253.39/set-token.html'
+                //return this.$url.web + '/set-token.html'
             }
         },
         watch:{
@@ -189,13 +190,13 @@
             },
             //进入服务
             selectServe(id){
-                let token = this.mytoken.token;
+                let token1 = this.mytoken.token;
                 const frame = window.frames[window.frames.length - 1];
                 this.$ajax({
                     url: this.$url.api+'/api/auth/switch/company?companyId='+id,
                     method :'get',
                     headers: {
-                        "Authorization":token
+                        "Authorization":token1
                     }
                 })
                 .then(res=>{
@@ -204,8 +205,10 @@
                     session.account.companyId=id;
                     session.span = session.timestamp - new Date().getTime();
                     session.token=mytoken;
+                    // frame.postMessage(JSON.stringify(session), '*');
+                    // window.location.href = this.$url.web
                     frame.postMessage(JSON.stringify(session), '*');
-                    window.location.href = this.$url.web
+                    window.open('http://192.168.253.39:1841/#main','_blank');
                 })
                 .catch(err=>{
                     // console.log('请求失败',err)
@@ -242,7 +245,7 @@
                 let account = {'realname':name,'email':email,'mobile':mobile, 'uu':uu}
                 // let id = this.saasid;
                 this.$ajax({
-                    url: this.$url.api+"/api/account/accountCenter/companyAccount/save",
+                    url: "http://192.168.253.31:8560/api/account/accountCenter/companyAccount/save",
                     method: 'post',
                     data: {
                         companyRegDTO:company,
@@ -254,20 +257,23 @@
                     }
                 })
                 .then(res=>{
-                    console.log('请求成功',res)
-                    if (res.data.data.success) {
+                    // console.log('请求成功',res)
+                    if (res.data.success) {
                         this.ktsass = false;
+                    } else {
+                        this.isokopensaas = true;
                     }
                 })
                 .catch(err=>{
-                    console.log('请求失败',err)
+                    // console.log('请求失败',err)
                 })
             },
             //进入saas服务
             showServeWin(){
                 let id = this.saasid;
                 this.isOpensaas = false;
-                this.$options.methods.selectServe(id)
+                // this.$options.methods.selectServe(id);
+                this.selectServe(id)
             },
             //查看企业详情
             getEnterpriseInfo(d){
@@ -283,7 +289,8 @@
             guanbitc(){
                 this.issetDefault = false;
                 this.isOpensaas = false;
-                this.isNoopen = false
+                this.isNoopen = false;
+                this.isokopensaas = false
             },
             //没有内容也要有一定的高度
             boxheight(){

+ 5 - 1
frontend/saas-portal-web/src/components/conenter/enterprise.vue

@@ -105,6 +105,7 @@
 
 <script>
 import Session from '@/utils/session'
+import { setTimeout } from 'timers';
     export default {
         data(){
             return{
@@ -133,10 +134,13 @@ import Session from '@/utils/session'
             },
             //退出
             loginout(){
+                this.$router.push({path:'/name'});
+                this.loginout2()
+            },
+            loginout2(){
                 const frame = window.frames[window.frames.length - 1]
                 frame.postMessage('', '*')
                 Session.remove()
-                this.$router.push({name:'name'});
             } 
         },
     }

+ 3 - 3
frontend/saas-portal-web/src/components/conenter/home.vue

@@ -87,8 +87,7 @@
                  data-slice1-scale="2" data-slice2-scale="2">
               <div class="mask-overly"></div>
               <div class="bg-img slider-1">
-                <!-- <img src="/static/img/assets/beijing2x.png" alt=""> -->
-                <img src="../../../static/img/gongneng/Group 32.png" alt="">
+                <img src="/static/img/banner@3x@2x.png" alt="">
               </div>
               <!-- 首页内容 -->
               <div class="my-text">
@@ -431,7 +430,8 @@
                 session.account = account
                 const frame = window.frames[window.frames.length - 1]
                 frame.postMessage(JSON.stringify(session), '*')
-                window.location.href = me.$url.web
+                // window.location.href = me.$url.web
+                    window.open('http://192.168.253.39:1841/#main','_blank');
                 // console.log("请求成功",res)
                 phone = ''
             })

+ 34 - 29
frontend/saas-portal-web/src/components/conenter/qiyexiangxi.vue

@@ -1,17 +1,5 @@
 <template>
     <div>
-        <!-- 遮罩 -->
-        <div class="zhezhao" v-if="isId"></div>
-        <!-- 不是管理员不能修改企业信息 -->
-        <div class="tanchuang nokaitong" v-if="isId">
-            <div class="over"><img @click="guanbitc" class="right xs" src="/static/img/qiye/chahao.png" alt=""></div>
-            <div>
-                <div class="tc-conent"><img src="/static/img/qiye/buneng kaitong@1x.png" alt=""></div>
-                <div class="tc-text">
-                <p>您不是管理员不能修改企业信息</p>
-                </div>
-            </div>
-        </div>
         <span class="Tips" ref="Tips"></span>
         <!-- 企业详细信息 -->
         <div v-if="xiugai">
@@ -19,7 +7,7 @@
                 <div class="qy-title">
                     <span><img @click= "gobick" style="float: left;padding: 20px; cursor:pointer" src="../../../static/img/fanhui.png" alt=""></span>
                     <span>企业基本信息</span>
-                    <span @click="xiugaiqiye" class="qy-xiugai dianji">修改</span>
+                    <span v-if="isxiugaiId" @click="xiugaiqiye" class="qy-xiugai dianji">修改</span>
                 </div>
                 <div class="qy-conent">
                     <ul>
@@ -118,33 +106,50 @@
                 Email: '',
                 mytoken: JSON.parse(localStorage.getItem('app-state-session')),//本地储存的用户信息
                 isId: false,
-                isemail: false,//正则邮箱
+                isemail: true,//正则邮箱
+                isxiugaiId: false
             }
         },
         mounted(){
-
+            //不是管理员隐藏修改按钮
+            if (this.content.adminId == this.mytoken.account.id) {
+                this.isxiugaiId = true;
+            } else {
+                this.isxiugaiId = false
+            }
         },
-        methods: {//修改企业信息
-            xiugaiqiye(){
-                if (this.content.adminId == this.mytoken.account.id) { //如果不是管理员不能修改企业信息
-                    document.documentElement.scrollTop = 0;
-                    this.xiugai = false;
-                } else {
-                    this.isId = true
+        methods: {
+            selects(){
+                let selects = this.$refs.qyindustry
+                let options = selects.options
+                for (let i = 0; i < options.length; i++) {
+                    if (options[i].innerHTML == this.content.type) {
+                        options[i].selected = true
+                    }
                 }
             },
-            guanbitc(){
-                this.isId = false
+            //修改企业信息
+            xiugaiqiye(){
+                document.documentElement.scrollTop = 0;
+                this.xiugai = false;
+                setTimeout(()=>{
+                    this.selects()
+                },10)
             },
             email(){ //验证邮箱
                 let reg = new RegExp("^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-z]{2,}$"); 
                 let email = this.$refs.email.value;//邮箱
-                if (!reg.test(email)) {
-                    this.Email = '请填写正确的邮箱'
-                    this.isemail = false
-                } else {
-                    this.Email = '',
+                if (email == '') {
+                    this.Email = ''
                     this.isemail = true
+                } else {
+                    if (!reg.test(email)) {
+                        this.Email = '请填写正确的邮箱'
+                        this.isemail = false
+                    } else {
+                        this.Email = ''
+                        this.isemail = true
+                    }
                 }
             },
             // 取消修改

+ 6 - 6
frontend/saas-portal-web/src/components/footer/footer.vue

@@ -22,10 +22,10 @@
 						</ul>
 						<ul>
 							<li><span>产品</span></li>
-							<li><a href="#">u企云服</a></li>
-							<li><a href="https://mall.usoftchina.com/" target="_blank">u软商城</a></li>
-							<li><a href="https://fin.yitoa-fintech.com/" target="_blank">u智融</a></li>
-							<li><a href="https://zb.usoftchina.com/" target="_blank">u创客</a></li>
+							<li><a href="#">U企云服</a></li>
+							<li><a href="https://mall.usoftchina.com/" target="_blank">U软商城</a></li>
+							<li><a href="https://fin.yitoa-fintech.com/" target="_blank">U智融</a></li>
+							<li><a href="https://zb.usoftchina.com/" target="_blank">U创客</a></li>
 						</ul>
 					</div>
 					
@@ -55,8 +55,8 @@
 		<div class="friend-link">
 			<ul>
 				<li><span>常用链接:</span></li>
-				<li><a href="https://uas.usoftchina.com/" target="_blank">uas官网</a></li>
-				<li><a href="https://www.usoftchina.com/" target="_blank">u软云</a></li>
+				<li><a href="https://uas.usoftchina.com/" target="_blank">UAS官网</a></li>
+				<li><a href="https://www.usoftchina.com/" target="_blank">U软云</a></li>
 				<li><a href="http://www.yitoa.com/" target="_blank">英唐官网</a></li>
 			</ul>
 		</div>

+ 25 - 0
frontend/saas-portal-web/src/pages/cell/cell.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>Document</title>
+</head>
+<body>
+    <div id="app">hello</div>
+    <script>
+        // iframe接收消息
+        window.addEventListener('message', function(e) {
+            if (e.data == 'removeToken') {
+                if (e.source != window.parent) {
+                    return;
+                }
+                var storeKey = 'app-state-session';
+                localStorage.removeItem(storeKey);
+                window.parent.postMessage("success", "*");
+            }
+        });
+    </script>
+</body>
+</html>

+ 0 - 0
frontend/saas-portal-web/src/pages/cell/cell.js


+ 15 - 0
frontend/saas-portal-web/src/pages/cell/cell.vue

@@ -0,0 +1,15 @@
+<template>
+    <div>
+
+    </div>
+</template>
+
+<script>
+    export default {
+        
+    }
+</script>
+
+<style scoped>
+
+</style>

+ 51 - 0
frontend/saas-portal-web/src/pages/index/index.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <!-- meta character set -->
+		<!-- Always force latest IE rendering engine or request Chrome Frame -->
+        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <!-- Meta Description -->
+        <!-- 网站主要内容 -->
+        <meta name="description" content="SAAS、软件及服务、云ERP、进销存、企业管理、电子行业、任务管理、寻源管理、资金管理、甘特图、项目管理、找供应商、电子元器件、贸易、贸易版、贸易版ERP">
+        <!-- 网页关键词 -->
+        <meta name="keywords" content="SAAS、软件及服务、云ERP、进销存、企业管理、电子行业、任务管理、寻源管理、资金管理、甘特图、项目管理、找供应商、电子元器件、贸易、贸易版、贸易版ERP">
+        <!-- 网页制作作者 -->
+        <meta name="author" content="优软科技">
+        <meta name="Robots" content="all|index|follow">
+        
+        <!-- <link rel="icon" type="image/x-icon" href="./static/img/logo.png"/> -->
+        <link rel="icon" type="image/x-icon" href="../../../static/img/logo.png"/>
+
+        <link rel="stylesheet" href="./static/css/animate.css">
+        <link rel="stylesheet" href="./static/css/bootstrap.min.css">
+        <link rel="stylesheet" href="./static/css/ionicons.min.css">
+        <link rel="stylesheet" href="./static/css/jquery.fancybox.css">
+        <link rel="stylesheet" href="./static/css/owl.carousel.css">
+        <link rel="stylesheet" href="./static/css/slit-slider.css">
+        <link rel="stylesheet" href="./static/css/main.css">
+        <link rel="stylesheet" href="./static/css/gongsi.css">
+
+        <script src="./static/js/modernizr-2.6.2.min.js"></script>
+
+        <script src="./static/js/jquery-1.11.1.min.js"></script>
+        <script src="./static/js/bootstrap.min.js"></script>
+        <script src="./static/js/jquery.singlePageNav.min.js"></script> 
+        <script src="./static/js/jquery.fancybox.pack.js"></script>
+        <script src="./static/js/owl.carousel.min.js"></script>
+        <script src="./static/js/isotope.pkgd.min.js"></script>
+        <script src="./static/js/jquery.easing.min.js"></script>
+        <script src="./static/js/jquery.slitslider.js"></script>
+        <script src="./static/js/jquery.ba-cond.min.js"></script>
+        <script src="./static/js/wow.min.js"></script>
+        <script src="./static/js/mains.js"></script>
+
+        <script src="./static/js/sockjs.min.js"></script>
+        <script src="./static/js/stomp.min.js"></script>
+    <title>优企云服</title>
+  </head>
+  <body>
+    <div id="app"></div>
+  </body>
+</html>

+ 20 - 0
frontend/saas-portal-web/src/pages/index/index.js

@@ -0,0 +1,20 @@
+
+import Vue from 'vue'
+import App from './index.vue'
+import router from '../../router'
+import Axios from 'axios'
+import store from '../../store'
+
+Vue.prototype.$ajax = Axios;
+Vue.config.productionTip = false
+
+// 注入url配置
+Vue.prototype.$url = process.env.BASE_URL
+/* eslint-disable no-new */
+new Vue({
+  el: '#app',
+  router,
+  store,
+  components: { App },
+  template: '<App/>'
+})

+ 20 - 0
frontend/saas-portal-web/src/pages/index/index.vue

@@ -0,0 +1,20 @@
+<template>
+  <div id="app">
+    <router-view/>
+    <footers></footers>
+  </div>
+</template>
+<script>
+// import footers from './components/footer/footer.vue';
+import footers from '../../components/footer/footer.vue';
+export default {
+  name: 'App',
+  components: {
+      footers
+  },
+}
+</script>
+
+<style>
+
+</style>

+ 2 - 2
frontend/saas-portal-web/static/css/main.css

@@ -308,7 +308,7 @@ main > section {
 /* 首页内容 ..........................................*/
 .my-text {
     position: absolute;
-    top: 76%;
+    top: 64%;
     left: 7%;
 }
 .my-tiyan {
@@ -961,7 +961,7 @@ h1.navbar-brand {
 }
 .slider-1 img{
     width: 100%;
-    /* height: 100%; */
+    height: 100%;
 }
 .sl-slider-wrapper {
     width: 100%;

BIN
frontend/saas-portal-web/static/img/banner@3x@2x.png


BIN
frontend/saas-portal-web/static/img/logo.png


+ 1 - 0
frontend/saas-portal-web/static/js/mains.js

@@ -123,6 +123,7 @@ $(document).ready(function(){
 
     $(window).resize(function(){
         $('#home-slider, #slider, .sl-slider, .sl-content-wrapper').css('height',slideHeight);
+        $(".slider-1 img").css("height",slideHeight)
     });
     // $(window).resize(function(){'use strict',
     //     $('#home-slider, #slider, .sl-slider, .sl-content-wrapper').css('height',slideHeight);