Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
total-platform
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
物业总平台
total-platform
Commits
9aff7ca9
提交
9aff7ca9
authored
6月 14, 2023
作者:
宋雄
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
接口对接
上级
c325ceca
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
32 行增加
和
263 行删除
+32
-263
JImageUpload.vue
src/components/jeecg/JImageUpload.vue
+4
-3
UserMenu.vue
src/components/tools/UserMenu.vue
+7
-7
main.js
src/main.js
+0
-4
user.js
src/store/modules/user.js
+18
-14
mutation-types.js
src/store/mutation-types.js
+0
-2
request.js
src/utils/request.js
+1
-12
PropertyDetail.vue
src/views/settled/PropertyDetail.vue
+0
-219
LoginSelectTenant.vue
src/views/user/LoginSelectTenant.vue
+2
-2
没有找到文件。
src/components/jeecg/JImageUpload.vue
浏览文件 @
9aff7ca9
...
...
@@ -32,7 +32,7 @@
<
script
>
import
Vue
from
'vue'
import
{
ACCESS_TOKEN
}
from
"@/store/mutation-types"
import
{
ACCESS_TOKEN
,
TENANT_ID
}
from
"@/store/mutation-types"
import
{
getFileAccessHttpUrl
}
from
'@/api/manage'
const
uidGenerator
=
()
=>
{
...
...
@@ -93,7 +93,7 @@
accept:{
type:[String,null],
required:false,
default:
null
default:
'image/*'
}
//update-end-author:wangshuai date:20201021 for:LOWCOD-969 新增number属性,用于判断上传数量
},
...
...
@@ -115,7 +115,8 @@
},
created(){
const token = Vue.ls.get(ACCESS_TOKEN);
this.headers = {"
X
-
Access
-
Token
":token}
let tenantid = Vue.ls.get(TENANT_ID)
this.headers = {"
X
-
Access
-
Token
":token, "
tenant
-
id
": tenantid}
},
methods:{
initFileList(paths){
...
...
src/components/tools/UserMenu.vue
浏览文件 @
9aff7ca9
...
...
@@ -26,11 +26,11 @@
<!-- update-end author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框 -->
<!-- update-end author:sunjianlei date:20191220 for: 解决全局样式冲突的问题 -->
<!-- update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航 -->
<span
class=
"action"
>
<
!--
<
span
class=
"action"
>
<a
class=
"logout_title"
target=
"_blank"
href=
"http://doc.jeecg.com"
>
<a-icon
type=
"question-circle-o"
></a-icon>
</a>
</span>
</span>
-->
<!--
<header-notice
class=
"action"
/>
-->
<a-dropdown>
<span
class=
"action action-full ant-dropdown-link user-dropdown-menu"
>
...
...
@@ -38,7 +38,7 @@
<span
v-if=
"isDesktop()"
>
欢迎您,
{{
nickname
()
}}
</span>
</span>
<a-menu
slot=
"overlay"
class=
"user-dropdown-menu-wrapper"
>
<a-menu-item
key=
"0"
>
<
!--
<
a-menu-item
key=
"0"
>
<router-link
:to=
"
{ name: 'account-center' }">
<a-icon
type=
"user"
/>
<span>
个人中心
</span>
...
...
@@ -53,15 +53,15 @@
<a-menu-item
key=
"3"
@
click=
"systemSetting"
>
<a-icon
type=
"tool"
/>
<span>
系统设置
</span>
</a-menu-item>
</a-menu-item>
-->
<a-menu-item
key=
"4"
@
click=
"updatePassword"
>
<a-icon
type=
"setting"
/>
<span>
密码修改
</span>
</a-menu-item>
<a-menu-item
key=
"5"
@
click=
"updateCurrentDepart"
>
<
!--
<
a-menu-item
key=
"5"
@
click=
"updateCurrentDepart"
>
<a-icon
type=
"cluster"
/>
<span>
切换部门
</span>
</a-menu-item>
</a-menu-item>
-->
<a-menu-item
key=
"6"
@
click=
"clearCache"
>
<a-icon
type=
"sync"
/>
<span>
清理缓存
</span>
...
...
@@ -185,7 +185,7 @@
return
that
.
Logout
({}).
then
(()
=>
{
// update-begin author:scott date:20211223 for:【JTC-198】退出登录体验不好
//that.$router.push({ path: '/user/login' });
window
.
location
.
reload
()
//
window.location.reload()
// update-end author:scott date:20211223 for:【JTC-198】退出登录体验不好
}).
catch
(
err
=>
{
that
.
$message
.
error
({
...
...
src/main.js
浏览文件 @
9aff7ca9
...
...
@@ -26,8 +26,6 @@ import 'vue-photo-preview/dist/skin.css'
import
SSO
from
'@/cas/sso.js'
import
{
ACCESS_TOKEN
,
PLATFORM_CODE
,
PLATFORM_TYPE
,
DEFAULT_COLOR
,
DEFAULT_THEME
,
DEFAULT_LAYOUT_MODE
,
...
...
@@ -83,8 +81,6 @@ function main() {
store
.
commit
(
'TOGGLE_WEAK'
,
Vue
.
ls
.
get
(
DEFAULT_COLOR_WEAK
,
config
.
colorWeak
))
store
.
commit
(
'TOGGLE_COLOR'
,
Vue
.
ls
.
get
(
DEFAULT_COLOR
,
config
.
primaryColor
))
store
.
commit
(
'SET_TOKEN'
,
Vue
.
ls
.
get
(
ACCESS_TOKEN
))
store
.
commit
(
'SET_TYPE'
,
Vue
.
ls
.
get
(
PLATFORM_CODE
))
store
.
commit
(
'SET_CODE'
,
Vue
.
ls
.
get
(
PLATFORM_TYPE
))
store
.
commit
(
'SET_MULTI_PAGE'
,
Vue
.
ls
.
get
(
DEFAULT_MULTI_PAGE
,
config
.
multipage
))
},
render
:
h
=>
h
(
App
)
...
...
src/store/modules/user.js
浏览文件 @
9aff7ca9
import
Vue
from
'vue'
import
{
login
,
logout
,
phoneLogin
,
thirdLogin
}
from
"@/api/login"
import
{
ACCESS_TOKEN
,
PLATFORM_CODE
,
PLATFORM_TYPE
,
USER_NAME
,
USER_INFO
,
USER_AUTH
,
SYS_BUTTON_AUTH
,
UI_CACHE_DB_DICT_DATA
,
TENANT_ID
,
CACHE_INCLUDED_ROUTES
}
from
"@/store/mutation-types"
import
{
ACCESS_TOKEN
,
USER_NAME
,
USER_INFO
,
USER_AUTH
,
SYS_BUTTON_AUTH
,
UI_CACHE_DB_DICT_DATA
,
TENANT_ID
,
CACHE_INCLUDED_ROUTES
}
from
"@/store/mutation-types"
import
{
welcome
}
from
"@/utils/util"
import
{
queryPermissionsByUser
}
from
'@/api/api'
import
{
getAction
}
from
'@/api/manage'
...
...
@@ -93,8 +93,6 @@ const user = {
Vue
.
ls
.
set
(
USER_NAME
,
userInfo
.
username
,
7
*
24
*
60
*
60
*
1000
)
Vue
.
ls
.
set
(
USER_INFO
,
userInfo
,
7
*
24
*
60
*
60
*
1000
)
Vue
.
ls
.
set
(
UI_CACHE_DB_DICT_DATA
,
result
.
sysAllDictItems
,
7
*
24
*
60
*
60
*
1000
)
Vue
.
ls
.
set
(
PLATFORM_CODE
,
result
.
userInfo
.
platformCode
,
7
*
24
*
60
*
60
*
1000
)
Vue
.
ls
.
set
(
PLATFORM_TYPE
,
result
.
userInfo
.
platformType
,
7
*
24
*
60
*
60
*
1000
)
commit
(
'SET_TOKEN'
,
result
.
token
)
commit
(
'SET_INFO'
,
userInfo
)
commit
(
'SET_NAME'
,
{
username
:
userInfo
.
username
,
realname
:
userInfo
.
realname
,
welcome
:
welcome
()
})
...
...
@@ -186,25 +184,31 @@ const user = {
Logout
({
commit
,
state
})
{
return
new
Promise
((
resolve
)
=>
{
let
logoutToken
=
state
.
token
;
commit
(
'SET_TOKEN'
,
''
)
commit
(
'SET_PERMISSIONLIST'
,
[])
Vue
.
ls
.
remove
(
ACCESS_TOKEN
)
Vue
.
ls
.
remove
(
PLATFORM_CODE
)
Vue
.
ls
.
remove
(
PLATFORM_TYPE
)
Vue
.
ls
.
remove
(
USER_INFO
)
Vue
.
ls
.
remove
(
USER_NAME
)
Vue
.
ls
.
remove
(
UI_CACHE_DB_DICT_DATA
)
Vue
.
ls
.
remove
(
CACHE_INCLUDED_ROUTES
)
Vue
.
ls
.
remove
(
TENANT_ID
)
//console.log('logoutToken: '+ logoutToken)
logout
(
logoutToken
).
then
(()
=>
{
commit
(
'SET_TOKEN'
,
''
)
commit
(
'SET_PERMISSIONLIST'
,
[])
Vue
.
ls
.
remove
(
ACCESS_TOKEN
)
Vue
.
ls
.
remove
(
USER_INFO
)
Vue
.
ls
.
remove
(
USER_NAME
)
Vue
.
ls
.
remove
(
UI_CACHE_DB_DICT_DATA
)
Vue
.
ls
.
remove
(
CACHE_INCLUDED_ROUTES
)
Vue
.
ls
.
remove
(
TENANT_ID
)
if
(
process
.
env
.
VUE_APP_SSO
==
'true'
)
{
let
sevice
=
'http://'
+
window
.
location
.
host
+
'/'
let
serviceUrl
=
encodeURIComponent
(
sevice
)
window
.
location
.
href
=
process
.
env
.
VUE_APP_CAS_BASE_URL
+
'/logout?service='
+
serviceUrl
}
resolve
()
}).
catch
(()
=>
{
}).
finally
(()
=>
{
commit
(
'SET_TOKEN'
,
''
)
commit
(
'SET_PERMISSIONLIST'
,
[])
Vue
.
ls
.
remove
(
ACCESS_TOKEN
)
Vue
.
ls
.
remove
(
USER_INFO
)
Vue
.
ls
.
remove
(
USER_NAME
)
Vue
.
ls
.
remove
(
UI_CACHE_DB_DICT_DATA
)
Vue
.
ls
.
remove
(
CACHE_INCLUDED_ROUTES
)
Vue
.
ls
.
remove
(
TENANT_ID
)
resolve
()
})
})
...
...
src/store/mutation-types.js
浏览文件 @
9aff7ca9
export
const
ACCESS_TOKEN
=
'Access-Token'
export
const
PLATFORM_CODE
=
'platformCode'
export
const
PLATFORM_TYPE
=
'platformType'
export
const
SIDEBAR_TYPE
=
'SIDEBAR_TYPE'
export
const
DEFAULT_THEME
=
'DEFAULT_THEME'
export
const
DEFAULT_LAYOUT_MODE
=
'DEFAULT_LAYOUT_MODE'
...
...
src/utils/request.js
浏览文件 @
9aff7ca9
...
...
@@ -3,7 +3,7 @@ import axios from 'axios'
import
store
from
'@/store'
import
{
VueAxios
}
from
'./axios'
import
router
from
'@/router/index'
import
{
ACCESS_TOKEN
,
PLATFORM_CODE
,
PLATFORM_TYPE
,
TENANT_ID
}
from
"@/store/mutation-types"
import
{
ACCESS_TOKEN
,
TENANT_ID
}
from
"@/store/mutation-types"
/**
* 【指定 axios的 baseURL】
...
...
@@ -105,17 +105,9 @@ const err = (error) => {
// request interceptor
service
.
interceptors
.
request
.
use
(
config
=>
{
const
token
=
Vue
.
ls
.
get
(
ACCESS_TOKEN
)
const
platformCode
=
Vue
.
ls
.
get
(
PLATFORM_CODE
)
const
platformType
=
Vue
.
ls
.
get
(
PLATFORM_TYPE
)
if
(
token
)
{
config
.
headers
[
'X-Access-Token'
]
=
token
// 让每个请求携带自定义 token 请根据实际情况自行修改
}
if
(
platformCode
)
{
config
.
headers
[
'platform_code'
]
=
platformCode
// 让每个请求携带platformCode
}
if
(
platformType
)
{
config
.
headers
[
'platform_type'
]
=
platformType
// 让每个请求携带platformType
}
// update-begin--author:sunjianlei---date:20200723---for 如果当前在low-app环境,并且携带了appId,就向Header里传递appId
const
$route
=
router
.
currentRoute
...
...
@@ -131,9 +123,6 @@ service.interceptors.request.use(config => {
//update-begin-author:taoyan date:2020707 for:多租户
let
tenantid
=
Vue
.
ls
.
get
(
TENANT_ID
)
if
(
!
tenantid
)
{
tenantid
=
0
;
}
config
.
headers
[
'tenant-id'
]
=
tenantid
//update-end-author:taoyan date:2020707 for:多租户
if
(
config
.
method
==
'get'
){
...
...
src/views/settled/PropertyDetail.vue
deleted
100644 → 0
浏览文件 @
c325ceca
<
template
>
<a-card
:bordered=
"false"
>
<!-- 查询区域 -->
<div
class=
"table-page-search-wrapper"
>
<a-form
layout=
"inline"
@
keyup
.
enter
.
native=
"searchQuery"
>
<a-row
:gutter=
"24"
>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"表名"
>
<a-input
placeholder=
"请输入表名"
v-model=
"queryParam.dataTable"
></a-input>
</a-form-item>
</a-col>
<a-col
:md=
"6"
:sm=
"8"
>
<a-form-item
label=
"数据ID"
>
<a-input
placeholder=
"请输入ID"
v-model=
"queryParam.dataId"
></a-input>
</a-form-item>
</a-col>
<span
style=
"float: left;overflow: hidden;"
class=
"table-page-search-submitButtons"
>
<a-col
:md=
"6"
:sm=
"24"
>
<a-button
type=
"primary"
@
click=
"searchQuery"
>
查询
</a-button>
<a-button
style=
"margin-left: 8px"
@
click=
"searchReset"
>
重置
</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div
class=
"table-operator"
>
<a-button
@
click=
"handleAdd"
type=
"primary"
icon=
"plus"
>
新增
</a-button>
<a-button
@
click=
"batchDel"
v-if=
"selectedRowKeys.length > 0"
ghost
type=
"primary"
icon=
"delete"
>
批量删除
</a-button>
</div>
<!-- table区域-begin -->
<div>
<div
class=
"ant-alert ant-alert-info"
style=
"margin-bottom: 16px;"
>
<i
class=
"anticon anticon-info-circle ant-alert-icon"
></i>
已选择
<a
style=
"font-weight: 600"
>
{{
selectedRowKeys
.
length
}}
</a>
项
<a
style=
"margin-left: 24px"
@
click=
"onClearSelected"
>
清空
</a>
</div>
<a-table
:columns=
"columns"
size=
"middle"
:dataSource=
"dataSource"
:loading=
"loading"
:pagination=
"pagination"
:rowSelection=
"
{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"handleEdit(record)"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
<a-dropdown>
<a
class=
"ant-dropdown-link"
>
更多
<a-icon
type=
"down"
/>
</a>
<a-menu
slot=
"overlay"
>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"handleDetail(record)"
>
详情
</a>
</a-menu-item>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"handleAddSub(record)"
>
添加下级
</a>
</a-menu-item>
<a-menu-item>
<a
href=
"javascript:;"
@
click=
"handleDataRule(record)"
>
数据规则
</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm
title=
"确定删除吗?"
@
confirm=
"() => handleDelete(record.id)"
placement=
"topLeft"
>
<a>
删除
</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
<!-- 字符串超长截取省略号显示 -->
<span
slot=
"url"
slot-scope=
"text"
>
<j-ellipsis
:value=
"text"
:length=
"25"
/>
</span>
<!-- 字符串超长截取省略号显示-->
<span
slot=
"component"
slot-scope=
"text"
>
<j-ellipsis
:value=
"text"
/>
</span>
</a-table>
</div>
<!-- table区域-end -->
<!--
<permission-modal
ref=
"modalForm"
@
ok=
"modalFormOk"
></permission-modal>
-->
<!--
<permission-data-rule-list
ref=
"PermissionDataRuleList"
@
ok=
"modalFormOk"
></permission-data-rule-list>
-->
</a-card>
</
template
>
<
script
>
// import PermissionModal from './modules/PermissionModal'
import
{
getPropertyListApi
,
getSystemSubmenu
,
getSystemSubmenuBatch
}
from
'@/api/api'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
// import PermissionDataRuleList from './PermissionDataRuleList'
import
JEllipsis
from
'@/components/jeecg/JEllipsis'
const
columns
=
[
{
title
:
'菜单名称'
,
dataIndex
:
'name'
,
key
:
'name'
},
{
title
:
'菜单类型'
,
dataIndex
:
'menuType'
,
key
:
'menuType'
,
customRender
:
function
(
text
)
{
if
(
text
==
0
)
{
return
'菜单'
}
else
if
(
text
==
1
)
{
return
'菜单'
}
else
if
(
text
==
2
)
{
return
'按钮/权限'
}
else
{
return
text
}
}
},
/*{
title: '权限编码',
dataIndex: 'perms',
key: 'permissionCode',
},*/
{
title
:
'icon'
,
dataIndex
:
'icon'
,
key
:
'icon'
},
{
title
:
'组件'
,
dataIndex
:
'component'
,
key
:
'component'
,
scopedSlots
:
{
customRender
:
'component'
}
},
{
title
:
'路径'
,
dataIndex
:
'url'
,
key
:
'url'
,
scopedSlots
:
{
customRender
:
'url'
}
},
{
title
:
'排序'
,
dataIndex
:
'sortNo'
,
key
:
'sortNo'
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
scopedSlots
:
{
customRender
:
'action'
},
align
:
'center'
,
width
:
150
}
]
export
default
{
name
:
'PermissionListAsync'
,
mixins
:
[
JeecgListMixin
],
components
:
{
// PermissionDataRuleList,
// PermissionModal,
JEllipsis
},
data
()
{
return
{
description
:
'这是菜单管理页面'
,
// 表头
columns
:
columns
,
loading
:
false
,
pagination
:
{},
url
:
{
list
:
'/property/propertySettled/list'
,
delete
:
'/sys/permission/delete'
,
deleteBatch
:
'/sys/permission/deleteBatch'
}
}
},
methods
:
{
loadData
()
{
this
.
loading
=
true
getPropertyListApi
({
pageNo
:
1
,
pageSize
:
10
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
const
pagination
=
{
...
this
.
pagination
};
pagination
.
total
=
res
.
result
.
total
this
.
dataSource
=
res
.
result
.
records
}
}).
finally
(()
=>
{
this
.
loading
=
false
})
},
// 打开数据规则编辑
handleDataRule
(
record
)
{
this
.
$refs
.
PermissionDataRuleList
.
edit
(
record
)
},
handleAddSub
(
record
)
{
this
.
$refs
.
modalForm
.
title
=
"添加子菜单"
;
this
.
$refs
.
modalForm
.
disableSubmit
=
false
;
this
.
$refs
.
modalForm
.
edit
({
status
:
'1'
,
permsType
:
'1'
,
route
:
true
,
'parentId'
:
record
.
id
,
menuType
:
1
});
}
}
}
</
script
>
<
style
scoped
>
@import
'~@assets/less/common.less'
;
</
style
>
\ No newline at end of file
src/views/user/LoginSelectTenant.vue
浏览文件 @
9aff7ca9
...
...
@@ -127,14 +127,14 @@ export default {
},
show
(
loginResult
){
this
.
clear
();
this
.
bizDepart
(
loginResult
);
//
this.bizDepart(loginResult);
let
user
=
Vue
.
ls
.
get
(
USER_INFO
)
this
.
username
=
user
.
username
this
.
bizTenantList
(
loginResult
);
if
(
this
.
visible
===
false
){
this
.
$store
.
dispatch
(
'saveTenant'
,
this
.
tenant_id
);
this
.
$store
.
dispatch
(
'saveTenant'
,
loginResult
.
userInfo
.
platformCode
);
this
.
$emit
(
'success'
)
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论