🎉 2.4.0.RELEASE

This commit is contained in:
smallchill 2019-08-04 23:26:08 +08:00
parent d762826a23
commit 1c3fcd7b7e
14 changed files with 44 additions and 34 deletions

View File

@ -1,7 +1,7 @@
<p align="center"> <p align="center">
<img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status"> <img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status">
<img src="https://img.shields.io/badge/Spring%20Cloud-Greenwich.SR1-blue.svg" alt="Coverage Status"> <img src="https://img.shields.io/badge/Spring%20Cloud-Greenwich.SR2-blue.svg" alt="Coverage Status">
<img src="https://img.shields.io/badge/Spring%20Boot-2.1.5.RELEASE-blue.svg" alt="Downloads"> <img src="https://img.shields.io/badge/Spring%20Boot-2.1.6.RELEASE-blue.svg" alt="Downloads">
</p> </p>
## SpringBlade微服务开发平台 ## SpringBlade微服务开发平台
@ -68,6 +68,16 @@ SpringBlade
* 禁止直接将本项目挂淘宝等商业平台出售。 * 禁止直接将本项目挂淘宝等商业平台出售。
* 非界面代码50%以上相似度的二次开源,二次开源需先联系作者。 * 非界面代码50%以上相似度的二次开源,二次开源需先联系作者。
## 如何启动
```
$ git clone https://gitee.com/smallc/Saber.git
$ cd Saber
# 安装
$ yarn install
# 启动
$ yarn run serve
```
# 界面 # 界面
## [BladeX](https://bladex.vip/#/vip) 工作流一览 ## [BladeX](https://bladex.vip/#/vip) 工作流一览

View File

@ -1,6 +1,6 @@
{ {
"name": "saber-admin", "name": "saber-admin",
"version": "2.0.0", "version": "2.4.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",

View File

@ -21,7 +21,7 @@ export default {
'<p>若要商用强烈推荐高度定制的商业化框架,具体授权信息请访问如下地址。️</p>' + '<p>若要商用强烈推荐高度定制的商业化框架,具体授权信息请访问如下地址。️</p>' +
'</br>' + '</br>' +
'<p>BladeX 授权地址:<a target="_blank" href="https://bladex.vip/#/vip">点击授权</a></p>' + '<p>BladeX 授权地址:<a target="_blank" href="https://bladex.vip/#/vip">点击授权</a></p>' +
'<p>AvueX 授权地址:<a target="_blank" href="https://avuex.avue.top/#/vip">点击授权</a></p>', '<p>AvueX 授权地址:<a target="_blank" href="https://avue.top/vip">点击授权</a></p>',
duration: 20000, duration: 20000,
type: "success" type: "success"
}); });

View File

@ -46,12 +46,12 @@ export const getDept = (id) => {
} }
}) })
} }
export const getDeptTree = (tenantCode) => { export const getDeptTree = (tenantId) => {
return request({ return request({
url: '/api/blade-system/dept/tree', url: '/api/blade-system/dept/tree',
method: 'get', method: 'get',
params: { params: {
tenantCode, tenantId,
} }
}) })
} }

View File

@ -66,12 +66,12 @@ export const getRole = (roleIds) => {
}) })
} }
export const getRoleTree = (tenantCode) => { export const getRoleTree = (tenantId) => {
return request({ return request({
url: '/api/blade-system/role/tree', url: '/api/blade-system/role/tree',
method: 'get', method: 'get',
params: { params: {
tenantCode, tenantId,
} }
}) })
} }

View File

@ -1,11 +1,11 @@
import request from '@/router/axios'; import request from '@/router/axios';
import {baseUrl} from '@/config/env'; import {baseUrl} from '@/config/env';
export const loginByUsername = (tenantCode, account, password, type) => request({ export const loginByUsername = (tenantId, account, password, type) => request({
url: '/api/blade-auth/token', url: '/api/blade-auth/token',
method: 'post', method: 'post',
params: { params: {
tenantCode, tenantId,
account, account,
password, password,
type type

View File

@ -66,7 +66,7 @@ export default {
login: { login: {
title: 'Login ', title: 'Login ',
info: 'Enterprise Development Platform', info: 'Enterprise Development Platform',
tenantCode: 'Please input tenantCode', tenantId: 'Please input tenantId',
username: 'Please input username', username: 'Please input username',
password: 'Please input a password', password: 'Please input a password',
wechat: 'Wechat', wechat: 'Wechat',

View File

@ -66,7 +66,7 @@ export default {
login: { login: {
title: '登录 ', title: '登录 ',
info: '企业级开发平台', info: '企业级开发平台',
tenantCode: '请输入租户编号', tenantId: '请输入租户ID',
username: '请输入账号', username: '请输入账号',
password: '请输入密码', password: '请输入密码',
wechat: '微信', wechat: '微信',

View File

@ -5,12 +5,12 @@
ref="loginForm" ref="loginForm"
:model="loginForm" :model="loginForm"
label-width="0"> label-width="0">
<el-form-item v-if="tenantMode" prop="tenantCode"> <el-form-item v-if="tenantMode" prop="tenantId">
<el-input size="small" <el-input size="small"
@keyup.enter.native="handleLogin" @keyup.enter.native="handleLogin"
v-model="loginForm.tenantCode" v-model="loginForm.tenantId"
auto-complete="off" auto-complete="off"
:placeholder="$t('login.tenantCode')"> :placeholder="$t('login.tenantId')">
<i slot="prefix" <i slot="prefix"
class="icon-quanxian"></i> class="icon-quanxian"></i>
</el-input> </el-input>
@ -58,14 +58,14 @@
return { return {
tenantMode: website.tenantMode, tenantMode: website.tenantMode,
loginForm: { loginForm: {
tenantCode: "000000", tenantId: "000000",
username: "admin", username: "admin",
password: "admin", password: "admin",
type: "account" type: "account"
}, },
loginRules: { loginRules: {
tenantCode: [ tenantId: [
{ required: false, message: "请输入租户编号", trigger: "blur" } { required: false, message: "请输入租户ID", trigger: "blur" }
], ],
username: [ username: [
{ required: true, message: "请输入用户名", trigger: "blur" } { required: true, message: "请输入用户名", trigger: "blur" }

View File

@ -41,7 +41,7 @@ const user = {
//根据用户名登录 //根据用户名登录
LoginByUsername({ commit }, userInfo) { LoginByUsername({ commit }, userInfo) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
loginByUsername(userInfo.tenantCode, userInfo.username, userInfo.password, userInfo.type).then(res => { loginByUsername(userInfo.tenantId, userInfo.username, userInfo.password, userInfo.type).then(res => {
const data = res.data.data; const data = res.data.data;
commit('SET_TOKEN', data.accessToken); commit('SET_TOKEN', data.accessToken);
commit('SET_USERIFNO', data); commit('SET_USERIFNO', data);

View File

@ -64,7 +64,7 @@
}, },
{ {
label: "所属租户", label: "所属租户",
prop: "tenantCode", prop: "tenantId",
type: "tree", type: "tree",
dicUrl: "/api/blade-system/tenant/select", dicUrl: "/api/blade-system/tenant/select",
addDisplay: false, addDisplay: false,
@ -73,7 +73,7 @@
span: 24, span: 24,
props: { props: {
label: "tenantName", label: "tenantName",
value: "tenantCode" value: "tenantId"
}, },
hide: !website.tenantMode, hide: !website.tenantMode,
search: website.tenantMode, search: website.tenantMode,

View File

@ -97,7 +97,7 @@
}, },
{ {
label: "所属租户", label: "所属租户",
prop: "tenantCode", prop: "tenantId",
type: "tree", type: "tree",
dicUrl: "/api/blade-system/tenant/select", dicUrl: "/api/blade-system/tenant/select",
addDisplay: false, addDisplay: false,
@ -106,7 +106,7 @@
span: 24, span: 24,
props: { props: {
label: "tenantName", label: "tenantName",
value: "tenantCode" value: "tenantId"
}, },
hide: !website.tenantMode, hide: !website.tenantMode,
search: website.tenantMode, search: website.tenantMode,

View File

@ -53,15 +53,15 @@
dialogHeight: 400, dialogHeight: 400,
column: [ column: [
{ {
label: "租户编号", label: "租户ID",
prop: "tenantCode", prop: "tenantId",
search: true, search: true,
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
span: 24, span: 24,
rules: [{ rules: [{
required: true, required: true,
message: "请输入租户编号", message: "请输入租户ID",
trigger: "blur" trigger: "blur"
}] }]
}, },

View File

@ -110,12 +110,12 @@
}, },
{ {
label: "所属租户", label: "所属租户",
prop: "tenantCode", prop: "tenantId",
type: "tree", type: "tree",
dicUrl: "/api/blade-system/tenant/select", dicUrl: "/api/blade-system/tenant/select",
props: { props: {
label: "tenantName", label: "tenantName",
value: "tenantCode" value: "tenantId"
}, },
hide: !website.tenantMode, hide: !website.tenantMode,
addDisplay: website.tenantMode, addDisplay: website.tenantMode,
@ -246,13 +246,13 @@
}; };
}, },
watch: { watch: {
'form.tenantCode'() { 'form.tenantId'() {
if (this.form.tenantCode !== '') { if (this.form.tenantId !== '') {
getDeptTree(this.form.tenantCode).then(res => { getDeptTree(this.form.tenantId).then(res => {
const index = this.$refs.crud.findColumnIndex("deptId"); const index = this.$refs.crud.findColumnIndex("deptId");
this.option.column[index].dicData = res.data.data; this.option.column[index].dicData = res.data.data;
}); });
getRoleTree(this.form.tenantCode).then(res => { getRoleTree(this.form.tenantId).then(res => {
const index = this.$refs.crud.findColumnIndex("roleId"); const index = this.$refs.crud.findColumnIndex("roleId");
this.option.column[index].dicData = res.data.data; this.option.column[index].dicData = res.data.data;
}); });
@ -407,11 +407,11 @@
this.page.total = data.total; this.page.total = data.total;
this.data = data.records; this.data = data.records;
}); });
getDeptTree(this.form.tenantCode).then(res => { getDeptTree(this.form.tenantId).then(res => {
const index = this.$refs.crud.findColumnIndex("deptId"); const index = this.$refs.crud.findColumnIndex("deptId");
this.option.column[index].dicData = res.data.data; this.option.column[index].dicData = res.data.data;
}); });
getRoleTree(this.form.tenantCode).then(res => { getRoleTree(this.form.tenantId).then(res => {
const index = this.$refs.crud.findColumnIndex("roleId"); const index = this.$refs.crud.findColumnIndex("roleId");
this.option.column[index].dicData = res.data.data; this.option.column[index].dicData = res.data.data;
}); });