Parcourir la source

修改关键字

hanfucheng il y a 1 an
Parent
commit
08d0c34cef

+ 5 - 5
README.md

@@ -1,12 +1,12 @@
 # rsbi-vue
 
-睿思bi开源版前端框架-基于VUE  <br/>
+首佳bi开源版前端框架-基于VUE  <br/>
 ⚠️ 此项目后端框架基于springboot, 地址:https://github.com/ruisibi/rsbi-os  ⚠️<br/>
 
-“睿思BI”商业智能系统是由[成都睿思商智科技有限公司](https://www.ruisitech.com)自主研发的企业数据分析系统。 开源版包含数据建模、数据报表、多维分析、权限管理等功能模块,方便用户快速建立一套易用,灵活、免费的数据分析平台,实现数据的快速分析及可视化。 <br>
+“首佳BI”商业智能系统是由[长春首佳科技有限公司]自主研发的企业数据分析系统。 开源版包含数据建模、数据报表、多维分析、权限管理等功能模块,方便用户快速建立一套易用,灵活、免费的数据分析平台,实现数据的快速分析及可视化。 <br>
 
 # 产品特点:<br>
-1.轻量级BI, 支持快速建模,快速可视化数据。 <br> 
+1.轻量级BI, 支持快速建模,快速可视化数据。 <br>
 2.多维分析功能强大,支持下钻/上卷/排序/筛选/计算/聚合等多种操作方式。<br>
 3.报表使用简单,功能强大,通过拖放等方式构建分析界面, 0代码编写。 <br>
 4.开放源码,采用apache2.0开源协议,用户可任意使用而不需我公司授权(企业版除外)。<br>
@@ -18,7 +18,7 @@
 4.权限管理  <br>
 
 # 技术支持:<br/>
-请加QQ群 648548832, 此群为睿思bi技术交流。<br/>
+
 <p/>
 
 文档地址: http://www.ruisibi.cn/book.htm <br/>
@@ -45,4 +45,4 @@ npm run dev
 
 # build for production with minification
 npm run build
-```
+```

+ 2 - 2
config/index.js

@@ -12,7 +12,7 @@ module.exports = {
     assetsPublicPath: '/',
     proxyTable: {
       "/": {
-        target: "http://localhost:8080/",
+        target: "http://192.168.4.12:8080/",
         // changeOrigin: true,
         // pathRewrite: {
         //   '^/': '/rsbi-os-4.7/'
@@ -21,7 +21,7 @@ module.exports = {
     },
 
     // Various Dev Server settings
-    host: 'localhost', // can be overwritten by process.env.HOST
+    host: '192.168.4.12', // can be overwritten by process.env.HOST
     port: 8085, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
     autoOpenBrowser: false,
     errorOverlay: true,

+ 1 - 1
index.html

@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <title>睿思BI开源版</title>
+    <title>首佳BI开源版</title>
   </head>
   <body>
     <div id="app"></div>

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "rsbi-vue",
   "version": "1.0.0",
-  "description": "睿思bi开源版前端项目",
+  "description": "首佳bi开源版前端项目",
   "author": "rsbi <huangqin_bj@163.com>",
   "private": true,
   "scripts": {

BIN
src/assets/image/logo1.png


BIN
src/assets/image/logo2.png


+ 28 - 28
src/common/biConfig.js

@@ -1,22 +1,22 @@
 /**
  * 配置编译环境和线上环境之间的切换
- * 
+ *
  * baseUrl: 域名地址
- * 
+ *
  */
 import $ from 'jquery'
-import { Message } from 'element-ui'
+import {Message} from 'element-ui'
 
-const baseUrl = 'http://localhost:8080/';
+const baseUrl = 'http://192.168.4.12:8080/'
 //const baseUrl = "http://112.124.13.251:8081/";
 
 export {
-	baseUrl
+  baseUrl
 }
 /**
  * 封装Ajax请求
- * @param {*} cfg 
- * @param {*} ts 
+ * @param {*} cfg
+ * @param {*} ts
  * @param {*} loadingObj   loading对象,如果有
  */
 export const ajax = (cfg, ts, loadingObj) => {
@@ -86,7 +86,7 @@ export const newGuid = ()=>
       //if((i==8)||(i==12)||(i==16)||(i==20))
       //  guid += "-";
     }
-    return guid;    
+    return guid;
 }
 //在textarea光标处插入文本
 export const insertText2focus = (obj,str) => {
@@ -110,7 +110,7 @@ export const insertText2focus = (obj,str) => {
 
 /**
  * list 转 String
- * @param {*} ls 
+ * @param {*} ls
  */
 export const list2string = (ls)=>{
 	if(!ls){
@@ -121,24 +121,24 @@ export const list2string = (ls)=>{
 
 /**
  * 解析图形JSON中的f$标志为字符串
- * @param json 
+ * @param json
  */
-export const loopChartJson = (json)=>{
-	const exec = (jsons)=>{
-		for(let key in jsons) {
-			let o = jsons[key];
-			if(typeof o  === 'object'){
-				exec(o);  //如果是Object则递归
-			}else if(typeof o === 'string'){
-				if(o.indexOf&&o.indexOf('f$')>-1){  //吧f$字符串解析成函数
-					jsons[key] = eval("("+o.replace("f$", "")+")");
-				}
-			}
-			//else if(typeof o === 'number'){
+export const loopChartJson = (json) => {
+  const exec = (jsons) => {
+    for (let key in jsons) {
+      let o = jsons[key]
+      if (typeof o === 'object') {
+        exec(o)  //如果是Object则递归
+      } else if (typeof o === 'string') {
+        if (o.indexOf && o.indexOf('f$') > -1) {  //吧f$字符串解析成函数
+          jsons[key] = eval('(' + o.replace('f$', '') + ')')
+        }
+      }
+      //else if(typeof o === 'number'){
 
-			//}
-		}
-	}
-	exec(json);
-	return json;
-}
+      //}
+    }
+  }
+  exec(json)
+  return json
+}

+ 107 - 96
src/components/FrameTop.vue

@@ -1,147 +1,158 @@
 <template>
   <div class="frameTop">
-   <nav class="navbar navbar-static-top">
-    <div class="navbar-head" style="width:220px;">
-      <img src="../assets/image/log2.png">
-    </div>
-    <div class="navbar-head myhead">
-      <button class="btn btn-default btn-xs uinfo-btn" type="button" :class="swatchcls" @click="swatch" title="切换菜单" style="margin-top:15px;"><i class="fa fa-bars"></i></button>
-    </div>
-    <ul class="navbar-right-my">
-      <li>
-        <a>
-          <el-dropdown @command="handleCommand" menu-align='start'>
+    <nav class="navbar navbar-static-top">
+      <div class="navbar-head" style="width:220px;">
+        <img src="../assets/image/log2.png">
+      </div>
+      <div class="navbar-head myhead">
+        <button class="btn btn-default btn-xs uinfo-btn" type="button" :class="swatchcls" @click="swatch" title="切换菜单"
+                style="margin-top:15px;"><i class="fa fa-bars"></i></button>
+      </div>
+      <ul class="navbar-right-my">
+        <li>
+          <a>
+            <el-dropdown @command="handleCommand" menu-align='start'>
             <span class="avator" @mouseover="mover" @mouseout="mout">
               <i class="fa fa-user"></i> demo <span :class="userbtnstyle" class="glyphicon"></span>
             </span>
-            <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item command="grxx">个人信息</el-dropdown-item>
-              <el-dropdown-item command="xgmm">修改密码</el-dropdown-item>
-              <el-dropdown-item command="wtfk">问题反馈</el-dropdown-item>
-              <el-dropdown-item command="sysc">使用手册</el-dropdown-item>
-              <el-dropdown-item command="signout">退出登录</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </a>
-      </li>
-    </ul>
-	</nav>
-  <userInfo ref="uinfo"></userInfo>
-  <password ref="psd"></password>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="grxx">个人信息</el-dropdown-item>
+                <el-dropdown-item command="xgmm">修改密码</el-dropdown-item>
+                <!--<el-dropdown-item command="wtfk">问题反馈</el-dropdown-item>
+                <el-dropdown-item command="sysc">使用手册</el-dropdown-item>-->
+                <el-dropdown-item command="signout">退出登录</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </a>
+        </li>
+      </ul>
+    </nav>
+    <userInfo ref="uinfo"></userInfo>
+    <password ref="psd"></password>
   </div>
 </template>
 
 <script>
-import {baseUrl} from '@/common/biConfig'
-import $ from 'jquery'
-import userInfo from '@/components/UserInfo'
-import password from '@/components/Password'
+  import {baseUrl} from '@/common/biConfig'
+  import $ from 'jquery'
+  import userInfo from '@/components/UserInfo'
+  import password from '@/components/Password'
 
-export default {
-  name: 'FrameTOp',
-  data () {
-    return {userbtnstyle:'glyphicon-menu-up',swatchcls:''}
-  },
-  components: {
-		userInfo,password
-	},
-  methods:{
-    mover:function(){
-      this.userbtnstyle = "glyphicon-menu-down";
+  export default {
+    name: 'FrameTOp',
+    data () {
+      return {userbtnstyle: 'glyphicon-menu-up', swatchcls: ''}
     },
-    mout:function(){
-      this.userbtnstyle = "glyphicon-menu-up";
+    components: {
+      userInfo, password
     },
-    swatch:function(){
-      if(this.swatchcls === ''){
-        this.swatchcls = 'swatchBtn';
-        this.$parent.isShowMenu = false;
-        window.setTimeout(()=>{
-          $(".page-wrapper").css({"margin": "0", "width":"100%"})
-          $(window).trigger("resize");
-        }, 200);
-      }else{
-        this.swatchcls = '';
-        this.$parent.isShowMenu = true;
-        window.setTimeout(()=>{
-          $(".page-wrapper").css({"margin": "0 0 0 220px", "width":"calc(100% - 220px)"});
-           $(window).trigger("resize");
-        }, 200);
-      }
-    },
-    handleCommand:function(cmd){
-        let ts = this;
-        if(cmd === 'signout'){
+    methods: {
+      mover: function () {
+        this.userbtnstyle = 'glyphicon-menu-down'
+      },
+      mout: function () {
+        this.userbtnstyle = 'glyphicon-menu-up'
+      },
+      swatch: function () {
+        if (this.swatchcls === '') {
+          this.swatchcls = 'swatchBtn'
+          this.$parent.isShowMenu = false
+          window.setTimeout(() => {
+            $('.page-wrapper').css({'margin': '0', 'width': '100%'})
+            $(window).trigger('resize')
+          }, 200)
+        } else {
+          this.swatchcls = ''
+          this.$parent.isShowMenu = true
+          window.setTimeout(() => {
+            $('.page-wrapper').css({'margin': '0 0 0 220px', 'width': 'calc(100% - 220px)'})
+            $(window).trigger('resize')
+          }, 200)
+        }
+      },
+      handleCommand: function (cmd) {
+        let ts = this
+        if (cmd === 'signout') {
           $.ajax({
-            url:baseUrl + "frame/Logout.action",
-            data:{},
-            dataType:'json',
+            url: baseUrl + 'frame/Logout.action',
+            data: {},
+            dataType: 'json',
             xhrFields: {withCredentials: true},
             crossDomain: true,
-            success:function(){
-                ts.$notify.success({
-                  title: '退出成功',
-                  offset: 50
-                });
-               ts.$router.push('/'); 
+            success: function () {
+              ts.$notify.success({
+                title: '退出成功',
+                offset: 50
+              })
+              ts.$router.push('/')
             }
-          });
-        }else if(cmd === 'grxx'){
-          this.$refs['uinfo'].show = true;
-        }else if(cmd === 'xgmm'){
-          this.$refs['psd'].show = true;
-        }else if(cmd === 'wtfk'){
-          window.open("http://www.ruisitech.com/suggest.html");
-        }else if(cmd === 'sysc'){
-          window.open("http://book.ruisitech.com");
+          })
+        } else if (cmd === 'grxx') {
+          this.$refs['uinfo'].show = true
+        } else if (cmd === 'xgmm') {
+          this.$refs['psd'].show = true
+        } else if (cmd === 'wtfk') {
+          window.open('http://www.ruisitech.com/suggest.html')
+        } else if (cmd === 'sysc') {
+          window.open('http://book.ruisitech.com')
         }
+      }
     }
   }
-}
 </script>
 
 <style scoped lang="less">
   @import '../style/mixin';
+
   .frameTop {
     height: 50px;
     background-color: #034d8f;
   }
+
   .navbar-head {
     float: left;
   }
+
   .navbar-right-my {
-    float:right;
+    float: right;
+
     a {
       display: inline-block;
       height: 50px;
     }
+
     .avator {
-       display:inline-block;
-       padding: 13px;
-       font-size: 16px;
-       color: white;
-       &:hover {
-          background-color: white;
-          color: black;
-       }
+      display: inline-block;
+      padding: 13px;
+      font-size: 16px;
+      color: white;
+
+      &:hover {
+        background-color: white;
+        color: black;
+      }
     }
   }
+
   @media (max-width: 512px) {
     .myhead {
       display: none;
     }
   }
+
   .swatchBtn {
-    transform:rotate(90deg);
-    -ms-transform:rotate(90deg); 	/* IE 9 */
-    -moz-transform:rotate(90deg); 	/* Firefox */
-    -webkit-transform:rotate(90deg); /* Safari 和 Chrome */
-    -o-transform:rotate(90deg); 	/* Opera */
+    transform: rotate(90deg);
+    -ms-transform: rotate(90deg); /* IE 9 */
+    -moz-transform: rotate(90deg); /* Firefox */
+    -webkit-transform: rotate(90deg); /* Safari 和 Chrome */
+    -o-transform: rotate(90deg); /* Opera */
   }
+
   li {
     list-style-type: none;
   }
+
   ul {
-    margin-bottom:0px;
+    margin-bottom: 0px;
   }
 </style>

+ 8 - 8
src/components/NavMenu.vue

@@ -1,5 +1,5 @@
 <!--
- * Copyright 2021 本系统版权归成都睿思商智科技有限公司所有
+ * Copyright 2021 本系统版权归长春首佳科技有限公司所有
  * 用户不能删除系统源码上的版权信息, 使用许可证地址:
  * https://www.ruisitech.com/licenses/index.html
  -->
@@ -13,7 +13,7 @@
                           <div @click.stop="closemenu(item.url)" v-if="item.closeBtn === true" class="closer fa fa-close"></div>
                      </li>
                   </template>
-                
+
             </ul>
             </div>
             <div class="tabpanel_header_ref">
@@ -25,7 +25,7 @@
                         <i class="fa fa-exchange"></i>
                         </span>
                         <el-dropdown-menu slot="dropdown">
-                           
+
                         <el-dropdown-item command="flash">刷新当前页面</el-dropdown-item>
                          <!--
                         <el-dropdown-item command="fullScreem">全屏当前页面</el-dropdown-item>
@@ -126,14 +126,14 @@ export default {
                   if(b.active === 'active'){  //删除的刚好是active
                     let provNode = ts.menus[a - 1]; //前一个节点
                     provNode.active = 'active';
-                    
+
                     //点击X按钮后,需要移除缓存的 路由对象
                     if(b.url === '/etl/imp/DbImp' || b.url === '/etl/imp/CsvImp' || b.url === '/etl/imp/XlsImp'){
                         var p = ts.$parent.clearPage;
                         if(p.indexOf(b.url) < 0){
                             p.push(b.url);
                         }
-                    }                   
+                    }
                     ts.$router.push(provNode.url);
                   }
                   ts.menus.splice(a, 1);
@@ -183,7 +183,7 @@ export default {
                this.$router.push(this.menus[0].url);
            }else if(cmd === 'flash'){
                location.reload();
-               /** 
+               /**
                $(this.menus).each((a, b)=>{
                    if(b.active === 'active'){
                        //this.$router.go(0);
@@ -213,7 +213,7 @@ export default {
     color: inherit;
 }
 .tabpanel_header_ref {
-	width: 80px; 
+	width: 80px;
 	float: right;
 	margin-top:5px;
 }
@@ -261,7 +261,7 @@ export default {
 .J_mainContent2 {
 	height: calc(100% - 30px);
     overflow: hidden;
-} 
+}
 .tabpanel_content .html_content {
 	width: 100%;
     height: 100%;

+ 1 - 1
src/components/UserInfo.vue

@@ -6,7 +6,7 @@
       <dt>用户名:</dt>
       <dd>{{user.loginName}}</dd>
       <dt>所属企业:</dt>
-      <dd>成都睿思商智科技有限公司</dd>
+      <dd>长春首佳科技有限公司</dd>
       <dt>账号状态:</dt>
       <dd>{{ user.state==1?"启用":"停用" }}</dd>
       <dt>登录次数:</dt>

+ 4 - 3
src/view/Login.vue

@@ -36,10 +36,11 @@
 
 		<div align="center" class="bottomtxt">
 
-			<div class="txt" align="center">
-				 <a href='https://www.ruisitech.com' target="_blank">睿思BI</a> - <a href='https://www.ruisitech.com/productent.html' target="_blank">企业版</a> - <a href='https://www.ruisitech.com/opensource.html' target="_blank">开源版</a> - <a href='https://www.ruisitech.com/yun.html' target="_blank">睿思云</a> - <a href='http://book.ruisitech.com/' target="_blank">使用手册</a> - <a href='https://www.ruisitech.com/suggest.html' target="_blank">问题反馈</a> </div>
+       <!-- <div class="txt" align="center">
+           <a href='https://www.ruisitech.com' target="_blank">首佳BI</a> - <a href='https://www.ruisitech.com/productent.html' target="_blank">企业版</a> - <a href='https://www.ruisitech.com/opensource.html' target="_blank">开源版</a> - <a href='https://www.ruisitech.com/yun.html' target="_blank">首佳</a> - <a href='http://book.ruisitech.com/' target="_blank">使用手册</a> - <a href='https://www.ruisitech.com/suggest.html' target="_blank">问题反馈</a>
+        </div>-->
 
-               ©成都睿思商智科技有限公司 2020 版权所有
+               ©长春首佳科技有限公司 2024 版权所有
 		</div>
   	</div>
 </template>

+ 5 - 8
src/view/Welcome.vue

@@ -2,9 +2,9 @@
   	<div class="wrapper-content">
 		  <div class="ibox">
 			  <div class="ibox-content">
-		<p>	<b>“睿思BI”</b>商业智能系统是由<a href="http://www.ruisitech.com">成都睿思商智科技有限公司</a>自主研发的,具有自主知识产权的企业数据分析系统。系统包含数据导入、数据填报、数据建模、多维分析、数据查询、报表、移动BI等功能模块,方便企业快速建立一套易用,灵活、低成本的商业能平台,通过数据掌握企业经营情况,以数据支撑决策。 
+		<p>	<b>“首佳BI”</b>商业智能系统是由长春首佳科技有限公司自主研发的,具有自主知识产权的企业数据分析系统。系统包含数据导入、数据填报、数据建模、多维分析、数据查询、报表、移动BI等功能模块,方便企业快速建立一套易用,灵活、低成本的商业能平台,通过数据掌握企业经营情况,以数据支撑决策。
 		</p>
-		
+
 		<h2>开源版功能模块</h2>
 
 <p>1.数据建模</p>
@@ -15,10 +15,7 @@
 
 <p>4.权限管理</p>
 
-<br/>
-<p class="text-warning">如果您需要更多功能,可以<button class="btn btn-primary btn-sm" onclick="window.open('https://www.ruisitech.com/product.html')">购买企业版</button></p>
 
-<p class="text-info">技术交流QQ群:648548832</p> 
 			  </div>
 		  </div>
   	</div>
@@ -31,15 +28,15 @@
 	export default {
 	    data(){
 			return {
-				
+
 			}
 		},
 		mounted(){
-			
+
 		},
 		computed: {
 		},
-		methods: {				
+		methods: {
 		},
 		watch: {
 		}