diff --git a/src/api/etl/source.js b/src/api/etl/source.js
new file mode 100644
index 0000000..94681ed
--- /dev/null
+++ b/src/api/etl/source.js
@@ -0,0 +1,93 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listSource(query) {
+ return request({
+ url: '/etl/source/list',
+ method: 'get',
+ params: query
+ })
+}
+
+export function dataAssetList(data) {
+ return request({
+ url: '/etl/source/DataAssetList',
+ method: 'post',
+ data
+ })
+}
+
+export function assetModelList(data) {
+ return request({
+ url: '/etl/source/AssetModelList',
+ method: 'post',
+ data
+ })
+}
+
+export function assetsList(data) {
+ return request({
+ url: '/etl/source/AssetsList',
+ method: 'post',
+ data
+ })
+}
+
+export function synchronousData(data) {
+ return request({
+ url: '/etl/source/SynchronousData',
+ method: 'post',
+ data
+ })
+}
+
+export function structureList(data) {
+ return request({
+ url: '/etl/source/StructureList',
+ method: 'post',
+ data
+ })
+}
+
+// 查询【请填写功能名称】详细
+export function getSource(id) {
+ return request({
+ url: '/etl/source/' + id,
+ method: 'get'
+ })
+}
+
+// 新增【请填写功能名称】
+export function addSource(data) {
+ return request({
+ url: '/etl/source',
+ method: 'post',
+ data: data
+ })
+}
+
+// 测试连接
+export function testConnection(data) {
+ return request({
+ url: '/etl/source/TestConnection',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改【请填写功能名称】
+export function updateSource(data) {
+ return request({
+ url: '/etl/source',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除【请填写功能名称】
+export function delSource(id) {
+ return request({
+ url: '/etl/source/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/views/etl/source/index.vue b/src/views/etl/source/index.vue
new file mode 100644
index 0000000..c18ac98
--- /dev/null
+++ b/src/views/etl/source/index.vue
@@ -0,0 +1,523 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 测试连接
+ 同步资产
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+ 基础配置信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MySql
+ Oracle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 数据连接参数
+
+
+
+
+
+
+
+
+ 新增参数
+
+
+ 清空参数
+
+
+
+
+
+
+
+ :
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+ 连接池配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 其他信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/login.vue b/src/views/login.vue
index bdd86d9..5eda208 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -6,7 +6,7 @@
@@ -80,7 +80,7 @@ export default {
},
loginRules: {
username: [
- {required: true, trigger: "blur", message: "请输入您的账号"}
+ {required: true, trigger: "blur", message: "请输入您的账号/邮箱"}
],
password: [
{required: true, trigger: "blur", message: "请输入您的密码"}
diff --git a/src/views/register.vue b/src/views/register.vue
index 9b4dc96..aacc15a 100644
--- a/src/views/register.vue
+++ b/src/views/register.vue
@@ -3,7 +3,7 @@
若依后台管理系统
-
+
@@ -90,7 +90,7 @@ export default {
},
registerRules: {
username: [
- {required: true, trigger: "blur", message: "请输入您的账号"},
+ {required: true, trigger: "blur", message: "请输入您的账号/邮箱"},
{min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur'}
],
password: [
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index a5014a8..a800db6 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -371,9 +371,12 @@ import {
resetUserPwd,
updateUser
} from "@/api/system/user";
+
+import {forceLogout,list} from '@/api/monitor/online';
import {getToken} from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import userInfo from '@/views/system/user/profile/userInfo.vue'
export default {
name: "User",
@@ -381,6 +384,10 @@ export default {
components: {Treeselect},
data() {
return {
+ queryParam: {
+ ipaddr: undefined,
+ userName: undefined
+ },
// 遮罩层
loading: true,
// 选中数组
@@ -624,6 +631,14 @@ export default {
}).then(({value}) => {
resetUserPwd(row.userId, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value);
+ list(this.queryParam).then(res => {
+ const userList = res.data.rows
+ userList.forEach(userInfo => {
+ if(userInfo.userName == row.userName){
+ forceLogout(userInfo.tokenId);
+ }
+ })
+ })
});
}).catch(() => {
});